<?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>144848</bug_id>
          
          <creation_ts>2015-05-10 15:01:24 -0700</creation_ts>
          <short_desc>Introduce UniquedStringImpl and SymbolImpl to separate symbolic strings from AtomicStringImpl</short_desc>
          <delta_ts>2015-05-23 11:42:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145109</dependson>
          <blocked>145002</blocked>
    
    <blocked>145350</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>alecflett</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jsbell</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093597</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-10 15:01:24 -0700</bug_when>
    <thetext>The current AtomicStringImpl accidentally means the symbol OR atomic StringImpl.
It&apos;s not correct to its name and it&apos;s error prone.

In this issue, we&apos;ll introduce new 2 classes into WTF.

1. UniquedStringImpl

It&apos;s derived class from StringImpl. And it represents symbol || atomic StringImpl.
Since it contains symbol string, prohibiting the operator== for the other strings is preferable I think.
Only pointer based comparison is accepted. (due to its uniqueness)

2. SymbolImpl

It&apos;s derived class from UniquedStringImpl. Only symbol strings can become this.
It ensures the given StringImpl is symbol in compile time.


And changing AtomicStringImpl.

3. AtomicStringImpl

It&apos;s derived class from UniquedStringImpl. Only atomic (non-normal &amp;&amp; non-symbol) strings can become this.
It ensures the given StringImpl is atomic in compile time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093616</commentid>
    <comment_count>1</comment_count>
      <attachid>252830</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-10 17:21:20 -0700</bug_when>
    <thetext>Created attachment 252830
Prototype

JSC &amp; WTF fix. WebCore and the others still remain</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093655</commentid>
    <comment_count>2</comment_count>
      <attachid>252840</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-10 22:51:47 -0700</bug_when>
    <thetext>Created attachment 252840
Prototype

OSX remains</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093658</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-10 22:55:53 -0700</bug_when>
    <thetext>Attachment 252840 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/TypeSet.cpp:337:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/JavaScriptCore/runtime/TypeSet.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 3 in 78 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>1093667</commentid>
    <comment_count>4</comment_count>
      <attachid>252840</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-05-10 23:43:40 -0700</bug_when>
    <thetext>Comment on attachment 252840
Prototype

Attachment 252840 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5711213828767744

New failing tests:
fast/dom/named-items-with-symbol-name.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093668</commentid>
    <comment_count>5</comment_count>
      <attachid>252842</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-05-10 23:43:42 -0700</bug_when>
    <thetext>Created attachment 252842
Archive of layout-test-results from ews102 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-mavericks  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093672</commentid>
    <comment_count>6</comment_count>
      <attachid>252840</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-05-11 00:17:47 -0700</bug_when>
    <thetext>Comment on attachment 252840
Prototype

Attachment 252840 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6274163782189056

New failing tests:
fast/dom/named-items-with-symbol-name.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093673</commentid>
    <comment_count>7</comment_count>
      <attachid>252844</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-05-11 00:17:51 -0700</bug_when>
    <thetext>Created attachment 252844
Archive of layout-test-results from ews104 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093676</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-11 00:36:49 -0700</bug_when>
    <thetext>We need to create UniquedString, SymbolString in addition to AtomicString...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093771</commentid>
    <comment_count>9</comment_count>
      <attachid>252830</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-11 09:15:00 -0700</bug_when>
    <thetext>Comment on attachment 252830
Prototype

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

Comments on an older version of the patch.

&gt; Source/JavaScriptCore/builtins/BuiltinNames.h:97
&gt; +inline bool BuiltinNames::isPrivateName(SymbolImpl* uid) const
&gt; +{
&gt; +    return m_privateToPublicMap.contains(uid);
&gt; +}

This can’t work with null -- hash table operations just assert with null -- so the argument should be a reference, not a pointer.

&gt; Source/JavaScriptCore/builtins/BuiltinNames.h:101
&gt; +inline bool BuiltinNames::isPrivateName(UniquedStringImpl* uid) const
&gt;  {
&gt;      if (!uid-&gt;isSymbol())

This doesn’t work with null -- we dereference the pointer right away -- so the argument should be a reference, not a pointer.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:3813
&gt; +            return String(static_pointer_cast&lt;StringImpl&gt;(ptr-&gt;key));

I don’t understand the need to cast here.

&gt; Source/JavaScriptCore/runtime/Identifier.h:178
&gt; +    Identifier(SymbolImpl* uid) : m_string(uid) { ASSERT(m_string.impl()-&gt;isSymbol()); }

Should this constructor be explicit? Since this won’t work with null, this should take a reference, not a pointer. I don’t think the assertion makes sense now that the type is specific.

&gt; Source/JavaScriptCore/runtime/MapData.h:118
&gt; +    typedef HashMap&lt;SymbolImpl*, int32_t, typename WTF::DefaultHash&lt;SymbolImpl*&gt;::Hash, WTF::HashTraits&lt;SymbolImpl*&gt;, IndexTraits&gt; SymbolKeyedMap;

I think PtrHash would be clearer than DefaultHash here.

&gt; Source/JavaScriptCore/runtime/PrivateName.h:30
&gt;  #include &lt;wtf/text/StringImpl.h&gt;
&gt; +#include &lt;wtf/text/SymbolImpl.h&gt;

Do we need both? I think that SymbolImpl.h must include StringImpl.h so we should just include it.

&gt; Source/JavaScriptCore/runtime/PropertyMapHashTable.h:33
&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;

Should not need to add this include, since AtomicStringImpl has to include UniquedStringImpl.

&gt; Source/JavaScriptCore/runtime/PropertyName.h:40
&gt;          ASSERT(!m_impl || m_impl-&gt;isAtomic() || m_impl-&gt;isSymbol());

Assertion seems unneeded now that the type indicates this at runtime.

&gt; Source/JavaScriptCore/runtime/SymbolTable.h:43
&gt;  #include &lt;wtf/text/StringImpl.h&gt;
&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;

Don’t think we need both of these includes.

&gt; Source/WTF/wtf/PrintStream.h:75
&gt;  inline void printInternal(PrintStream&amp; out, const AtomicStringImpl* value) { printInternal(out, bitwise_cast&lt;const StringImpl*&gt;(value)); }
&gt; +inline void printInternal(PrintStream&amp; out, const UniquedStringImpl* value) { printInternal(out, bitwise_cast&lt;const StringImpl*&gt;(value)); }

Can’t we just do the StringImpl* one and leave out the overloads for derived classes from StringImpl?

&gt; Source/WTF/wtf/text/AtomicStringImpl.h:24
&gt;  #include &lt;wtf/text/StringImpl.h&gt;

Should not need this include.

&gt; Source/WTF/wtf/text/AtomicStringImpl.h:35
&gt;  public:
&gt; -    AtomicStringImpl() : StringImpl(0) {}
&gt; +    AtomicStringImpl()
&gt; +        : UniquedStringImpl()
&gt; +    {
&gt; +    }

Should be able to just delete all of this.

&gt; Source/WTF/wtf/text/StringImpl.h:137
&gt; +    friend class UniquedStringImpl;
&gt;      friend class AtomicStringImpl;
&gt; +    friend class SymbolImpl;

Alphabetic sorting please? Why would AtomicStringImpl need to be a friend any more?

&gt; Source/WTF/wtf/text/UniquedStringImpl.h:36
&gt; +        : StringImpl(0)

Should be nullptr, not 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093772</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-11 09:16:03 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; We need to create UniquedString, SymbolString in addition to AtomicString...

We should not. We should just use RefPtr&lt;UniquedStringImpl&gt; and Ref&lt;UniquedStringImpl&gt; where we would otherwise use UniquedString. Same for SymbolStringImpl. Later we might rename the underlying classes to not have Impl in their names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094083</commentid>
    <comment_count>11</comment_count>
      <attachid>252830</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-11 23:20:29 -0700</bug_when>
    <thetext>Comment on attachment 252830
Prototype

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

&gt;&gt; Source/JavaScriptCore/builtins/BuiltinNames.h:97
&gt;&gt; +}
&gt; 
&gt; This can’t work with null -- hash table operations just assert with null -- so the argument should be a reference, not a pointer.

OK, I&apos;ve changed it to reference.

&gt;&gt; Source/JavaScriptCore/builtins/BuiltinNames.h:101
&gt;&gt;      if (!uid-&gt;isSymbol())
&gt; 
&gt; This doesn’t work with null -- we dereference the pointer right away -- so the argument should be a reference, not a pointer.

Fixed.

&gt;&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:3813
&gt;&gt; +            return String(static_pointer_cast&lt;StringImpl&gt;(ptr-&gt;key));
&gt; 
&gt; I don’t understand the need to cast here.

Because there&apos;s no implict conversion from RefPtr&lt;Derived&gt; to RefPtr&lt;Base&gt;.
Here, I&apos;ll use ptr-&gt;key.get().

&gt;&gt; Source/JavaScriptCore/runtime/Identifier.h:178
&gt;&gt; +    Identifier(SymbolImpl* uid) : m_string(uid) { ASSERT(m_string.impl()-&gt;isSymbol()); }
&gt; 
&gt; Should this constructor be explicit? Since this won’t work with null, this should take a reference, not a pointer. I don’t think the assertion makes sense now that the type is specific.

Yeah! I&apos;ve added explicit. (BTW, this constructor is private, and only called from the factory function.)
And drop the nonsense assert, it&apos;s now asserted in the compile phase by types!

&gt;&gt; Source/JavaScriptCore/runtime/MapData.h:118
&gt;&gt; +    typedef HashMap&lt;SymbolImpl*, int32_t, typename WTF::DefaultHash&lt;SymbolImpl*&gt;::Hash, WTF::HashTraits&lt;SymbolImpl*&gt;, IndexTraits&gt; SymbolKeyedMap;
&gt; 
&gt; I think PtrHash would be clearer than DefaultHash here.

Make sense!

&gt;&gt; Source/JavaScriptCore/runtime/PrivateName.h:30
&gt;&gt; +#include &lt;wtf/text/SymbolImpl.h&gt;
&gt; 
&gt; Do we need both? I think that SymbolImpl.h must include StringImpl.h so we should just include it.

Make sense. Just include SymbolImpl.h.

&gt;&gt; Source/JavaScriptCore/runtime/PropertyMapHashTable.h:33
&gt;&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;
&gt; 
&gt; Should not need to add this include, since AtomicStringImpl has to include UniquedStringImpl.

Fixed

&gt;&gt; Source/JavaScriptCore/runtime/PropertyName.h:40
&gt;&gt;          ASSERT(!m_impl || m_impl-&gt;isAtomic() || m_impl-&gt;isSymbol());
&gt; 
&gt; Assertion seems unneeded now that the type indicates this at runtime.

Yeah. Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/SymbolTable.h:43
&gt;&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;
&gt; 
&gt; Don’t think we need both of these includes.

Change it to only including UniquedStringImpl.h.

&gt;&gt; Source/WTF/wtf/PrintStream.h:75
&gt;&gt; +inline void printInternal(PrintStream&amp; out, const UniquedStringImpl* value) { printInternal(out, bitwise_cast&lt;const StringImpl*&gt;(value)); }
&gt; 
&gt; Can’t we just do the StringImpl* one and leave out the overloads for derived classes from StringImpl?

It raises the compile error since this is routed to the definition
template&lt;typename T&gt;
void printInternal(PrintStream&amp; out, const T&amp; value)
{
    value.dump(out);
}

To avoid it, I think we need to clean up this printInternal mechanism.
To make the patch simple I think using the current system in this patch is preferable; just adding UniquedStringImpl case such like AtomicStringImpl.

&gt;&gt; Source/WTF/wtf/text/AtomicStringImpl.h:24
&gt;&gt;  #include &lt;wtf/text/StringImpl.h&gt;
&gt; 
&gt; Should not need this include.

Fixed.

&gt;&gt; Source/WTF/wtf/text/AtomicStringImpl.h:35
&gt;&gt; +    }
&gt; 
&gt; Should be able to just delete all of this.

Yes, dropped.

&gt;&gt; Source/WTF/wtf/text/StringImpl.h:137
&gt;&gt; +    friend class SymbolImpl;
&gt; 
&gt; Alphabetic sorting please? Why would AtomicStringImpl need to be a friend any more?

This is because ~StringImpl() is private.
So I&apos;ll change these system.
1. Drop these friend classes
2. Drop these class&apos; constructors

&gt;&gt; Source/WTF/wtf/text/UniquedStringImpl.h:36
&gt;&gt; +        : StringImpl(0)
&gt; 
&gt; Should be nullptr, not 0.

Dropped these constructors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094092</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-11 23:45:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; We need to create UniquedString, SymbolString in addition to AtomicString...
&gt; 
&gt; We should not. We should just use RefPtr&lt;UniquedStringImpl&gt; and
&gt; Ref&lt;UniquedStringImpl&gt; where we would otherwise use UniquedString. Same for
&gt; SymbolStringImpl. Later we might rename the underlying classes to not have
&gt; Impl in their names.

I think it would make the patch very large.
Since we cannot change AtomicString to RefPtr&lt;UniqueStringImpl&gt; mechanically, because at least operator== should be considered.
So I suggest the following scenario.

1. In the separate patch, use RefPtr&lt;UniqueStringImpl&gt; instead of AtomicString.
2. In this patch, rename AtomicString into UniquedString.
3. AtomicString table related operations should be moved from AtomicString to AtomicStringImpl. (This makes sense because these static functions return StringImpl :D)
4. And UniquedString accept UniquedStringImpl without atomization.

When StringImpl / const char*, LChar* etc. are passed to UniquedString, it will be interned. But when UniquedStringImpl* comes, it will not interned. This design is correct to the name *uniqued*. And the change becomes simple. But we can introduce UniquedStringImpl, SymbolImpl and AtomicStringImpl. And this change paves the way to drop AtomicString and use UniqueStringImpl directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094123</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 03:45:11 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; We need to create UniquedString, SymbolString in addition to AtomicString...
&gt; &gt; 
&gt; &gt; We should not. We should just use RefPtr&lt;UniquedStringImpl&gt; and
&gt; &gt; Ref&lt;UniquedStringImpl&gt; where we would otherwise use UniquedString. Same for
&gt; &gt; SymbolStringImpl. Later we might rename the underlying classes to not have
&gt; &gt; Impl in their names.
&gt; 
&gt; I think it would make the patch very large.
&gt; Since we cannot change AtomicString to RefPtr&lt;UniqueStringImpl&gt;
&gt; mechanically, because at least operator== should be considered.
&gt; So I suggest the following scenario.
&gt; 
&gt; 1. In the separate patch, use RefPtr&lt;UniqueStringImpl&gt; instead of
&gt; AtomicString.
&gt; 2. In this patch, rename AtomicString into UniquedString.
&gt; 3. AtomicString table related operations should be moved from AtomicString
&gt; to AtomicStringImpl. (This makes sense because these static functions return
&gt; StringImpl :D)
&gt; 4. And UniquedString accept UniquedStringImpl without atomization.
&gt; 
&gt; When StringImpl / const char*, LChar* etc. are passed to UniquedString, it
&gt; will be interned. But when UniquedStringImpl* comes, it will not interned.
&gt; This design is correct to the name *uniqued*. And the change becomes simple.
&gt; But we can introduce UniquedStringImpl, SymbolImpl and AtomicStringImpl. And
&gt; this change paves the way to drop AtomicString and use UniqueStringImpl
&gt; directly.

Still it requires significantly large changes.
So in this time, I just accept UniqueStringImpl in AtomicString.

As the result,

1. Now AtomicStringImpl issue is fixed. Its SymbolImpl is separated and UniquedStringImpl is introduced.
2. But AtomicString still have both symbol and atomic strings.

But I think it could be the first step to fix the things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094124</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 03:46:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; We need to create UniquedString, SymbolString in addition to AtomicString...
&gt; 
&gt; We should not. We should just use RefPtr&lt;UniquedStringImpl&gt; and
&gt; Ref&lt;UniquedStringImpl&gt; where we would otherwise use UniquedString. Same for
&gt; SymbolStringImpl. Later we might rename the underlying classes to not have
&gt; Impl in their names.

And how to handle WTFString and StringImpl?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094126</commentid>
    <comment_count>15</comment_count>
      <attachid>252955</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 04:08:52 -0700</bug_when>
    <thetext>Created attachment 252955
Patch

OSX remains</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094157</commentid>
    <comment_count>16</comment_count>
      <attachid>252963</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 07:30:47 -0700</bug_when>
    <thetext>Created attachment 252963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094158</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 07:34:05 -0700</bug_when>
    <thetext>Attachment 252963 did not pass style-queue:


ERROR: Source/WTF/wtf/text/AtomicString.h:45:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:47:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:48:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:49:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:50:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:60:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:166:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:169:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WTF/wtf/text/WTFString.h:121:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:122:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:123:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.cpp:337:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 15 in 91 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>1094159</commentid>
    <comment_count>18</comment_count>
      <attachid>252964</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 07:41:49 -0700</bug_when>
    <thetext>Created attachment 252964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094160</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 07:45:43 -0700</bug_when>
    <thetext>Attachment 252964 did not pass style-queue:


ERROR: Source/WTF/wtf/text/AtomicString.h:45:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:47:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:48:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:49:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:50:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:60:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:166:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:169:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WTF/wtf/text/WTFString.h:121:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:122:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:123:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.cpp:337:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 15 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>1094162</commentid>
    <comment_count>20</comment_count>
      <attachid>252965</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 07:56:21 -0700</bug_when>
    <thetext>Created attachment 252965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094164</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 07:59:04 -0700</bug_when>
    <thetext>Attachment 252965 did not pass style-queue:


ERROR: Source/WTF/wtf/text/AtomicString.h:45:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:47:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:48:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:49:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:50:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:60:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:166:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/AtomicString.h:169:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WTF/wtf/text/WTFString.h:121:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:122:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/WTFString.h:123:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/runtime/TypeSet.cpp:337:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 15 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>1094165</commentid>
    <comment_count>22</comment_count>
      <attachid>252965</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-12 08:28:01 -0700</bug_when>
    <thetext>Comment on attachment 252965
Patch

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

Added comments

&gt; Source/WTF/wtf/text/AtomicString.h:50
&gt; +    AtomicString(const UChar* s) : m_string(AtomicStringImpl::add(s)) { }

They are originaly written in one line. But style checker raises errors.
What do you think about it? Is it preferable to extract it such as the following?

AtomicString(const char* s)
    : m_string(add(s))
{
}

&gt; Source/WTF/wtf/text/AtomicStringImpl.h:48
&gt; +    }

They are renamed from `find` to `lookup`. Because C++ spec doesn&apos;t allow the static &amp; non-static member functions that have the same signature.
StringImpl (the base class) already has non-static member function `find(StringImpl* string)`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094447</commentid>
    <comment_count>23</comment_count>
      <attachid>252965</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-13 02:10:14 -0700</bug_when>
    <thetext>Comment on attachment 252965
Patch

Ah, ok. ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095513</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-17 12:22:39 -0700</bug_when>
    <thetext>I&apos;ll split the AtomicStringImpl table part to the separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095518</commentid>
    <comment_count>25</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-17 12:40:35 -0700</bug_when>
    <thetext>Separated issue is opened. https://bugs.webkit.org/show_bug.cgi?id=145109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096155</commentid>
    <comment_count>26</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-19 21:25:19 -0700</bug_when>
    <thetext>Now, AtomicStringImpl table operation part is landed in the separate patch.
I&apos;ll rebase this patch now...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096276</commentid>
    <comment_count>27</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-20 10:22:20 -0700</bug_when>
    <thetext>*** Bug 144440 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096279</commentid>
    <comment_count>28</comment_count>
      <attachid>253445</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-20 10:24:26 -0700</bug_when>
    <thetext>Created attachment 253445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096280</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-20 10:26:37 -0700</bug_when>
    <thetext>Attachment 253445 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/TypeSet.cpp:337:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/runtime/TypeSet.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 82 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>1096290</commentid>
    <comment_count>30</comment_count>
      <attachid>253448</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-20 11:03:11 -0700</bug_when>
    <thetext>Created attachment 253448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096291</commentid>
    <comment_count>31</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-20 11:04:12 -0700</bug_when>
    <thetext>OK, the patch is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096589</commentid>
    <comment_count>32</comment_count>
      <attachid>253448</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-21 09:39:26 -0700</bug_when>
    <thetext>Comment on attachment 253448
Patch

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

Nice job.

I prefer auto or auto* or even possibly const auto* to stating the type when we just want to get something and don’t want to express an opinion about the type it should have. I don’t know if we have consensus about that, though.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:2026
&gt; +                    UniquedStringImpl* uid = ident.impl();

I think auto is better here than naming a class. I also think it’s not helpful to put this into a local variable. I also think auto is better for the iterator type below.

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:453
&gt; +        typedef HashMap&lt;UniquedStringImpl*, GetterSetterPair, IdentifierRepHash&gt; GetterSetterMap;

Behavior change here. Will this be a performance improvement?

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:-3638
&gt; -            AtomicStringImpl* uid;
&gt; +            UniquedStringImpl* uid = nullptr;
&gt;              if (identifierNumber != UINT_MAX)
&gt;                  uid = m_graph.identifiers()[identifierNumber];
&gt; -            else
&gt; -                uid = nullptr;

Not sure that initializing to null is an improvement. Rationale for the change?

&gt; Source/JavaScriptCore/dfg/DFGDesiredIdentifiers.cpp:74
&gt; +        UniquedStringImpl* rep = m_addedIdentifiers[i];

auto is better

&gt; Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:962
&gt; +                UniquedStringImpl* uid = m_graph.identifiers()[node-&gt;identifierNumber()];

auto is better

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:909
&gt; +                static_cast&lt;const AtomicStringImpl*&gt;(string-&gt;tryGetValueImpl()));

Does not look good! Why is this a safe cast? I don’t see a type check. May require a comment.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2092
&gt; +        UniquedStringImpl* uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];

auto

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4816
&gt; +                const AtomicStringImpl* str = static_cast&lt;const AtomicStringImpl*&gt;(string-&gt;tryGetValueImpl());

auto

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:5739
&gt; +        UniquedStringImpl* uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];

auto

&gt; Source/JavaScriptCore/parser/Nodes.h:1565
&gt; -        bool captures(StringImpl* uid) { return m_capturedVariables.contains(uid); }
&gt; +        bool captures(UniquedStringImpl* uid) { return m_capturedVariables.contains(uid); }

This function won’t work on null pointers because it uses the pointer as a key in hash table functions, so it should definitely take a reference, not a pointer, in the future.

&gt; Source/JavaScriptCore/parser/Nodes.h:1613
&gt; +        Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; m_closedVariables;

Seems like this should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

&gt; Source/JavaScriptCore/parser/Parser.h:108
&gt;  struct ScopeLabelInfo {
&gt; -    ScopeLabelInfo(StringImpl* ident, bool isLoop)
&gt; +    ScopeLabelInfo(UniquedStringImpl* ident, bool isLoop)
&gt;          : m_ident(ident)
&gt;          , m_isLoop(isLoop)
&gt;      {
&gt;      }
&gt;  
&gt; -    StringImpl* m_ident;
&gt; +    UniquedStringImpl* m_ident;
&gt;      bool m_isLoop;
&gt;  };

Wrong coding style for structs. Data member names should not have m_ prefix. Should not have a constructor; should use ScopeLabeInfo { identifier, isLoop } syntax instead when constructing.

&gt; Source/JavaScriptCore/parser/Parser.h:890
&gt; +    Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; m_closedVariables;

Should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

&gt; Source/JavaScriptCore/parser/SourceProviderCacheItem.h:45
&gt; +    Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; usedVariables;
&gt; +    Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; writtenVariables;

Should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

&gt; Source/JavaScriptCore/runtime/Identifier.h:181
&gt; +    explicit Identifier(SymbolImpl* uid)
&gt; +        : m_string(uid)
&gt; +    {
&gt; +    }

Is null allowed? If not, this should change to take a SymbolImpl&amp;.

&gt; Source/JavaScriptCore/runtime/Identifier.h:277
&gt; +    UniquedStringImpl* uid = identifier.impl();

auto

&gt; Source/JavaScriptCore/runtime/IdentifierInlines.h:77
&gt; +    return Identifier(static_cast&lt;SymbolImpl*&gt;(uid));

Surprised that Identifier() is needed. I would expect that just static_cast&lt;SymbolImpl*&gt;(uid) would work.

&gt; Source/JavaScriptCore/runtime/IdentifierInlines.h:87
&gt; +    return Identifier(name.uid());

Surprised that Identifier() is needed. I would expect that just name.uid() would work.

&gt; Source/JavaScriptCore/runtime/Lookup.h:103
&gt; +        UniquedStringImpl* uid = propertyName.uid();

auto

&gt; Source/JavaScriptCore/runtime/ObjectConstructor.cpp:245
&gt; +        UniquedStringImpl* impl = properties[i].impl();

auto

&gt; Source/JavaScriptCore/runtime/PrivateName.h:40
&gt; +    explicit PrivateName(SymbolImpl* uid)

If null is not allowed, this should be a reference, not a pointer.

&gt; Source/JavaScriptCore/runtime/PropertyName.h:37
&gt; +    PropertyName(UniquedStringImpl* propertyName)

If null is not allowed, this should be a reference, not a pointer.

&gt; Source/JavaScriptCore/runtime/PropertyName.h:118
&gt; +    UniquedStringImpl* uid = propertyName.uid();

auto

&gt; Source/JavaScriptCore/runtime/PropertyNameArray.h:72
&gt; +    void add(UniquedStringImpl*);
&gt; +    void addKnownUnique(UniquedStringImpl*);

Null is not allowed, so these arguments should be reference, not pointers.

&gt; Source/JavaScriptCore/runtime/Structure.cpp:885
&gt; +    UniquedStringImpl* rep = propertyName.uid();

auto

&gt; Source/JavaScriptCore/runtime/Structure.cpp:904
&gt; +    UniquedStringImpl* rep = propertyName.uid();

auto

&gt; Source/JavaScriptCore/runtime/Structure.h:51
&gt; -#include &lt;wtf/text/AtomicStringImpl.h&gt;
&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;

Does this file really require including that header? Would a forward declaration suffice? I don’t see code below actually operating on these objects, just moving pointers around.

&gt; Source/JavaScriptCore/runtime/StructureTransitionTable.h:134
&gt;      inline void add(VM&amp;, Structure*);
&gt; -    inline bool contains(AtomicStringImpl* rep, unsigned attributes) const;
&gt; -    inline Structure* get(AtomicStringImpl* rep, unsigned attributes) const;
&gt; +    inline bool contains(UniquedStringImpl* rep, unsigned attributes) const;
&gt; +    inline Structure* get(UniquedStringImpl* rep, unsigned attributes) const;

inline here has no effect and should be removed. Argument name &quot;rep&quot; adds nothing. Arguments should probably be reference not pointer.

&gt; Source/JavaScriptCore/runtime/SymbolConstructor.cpp:112
&gt; +    Ref&lt;SymbolImpl&gt; uid = exec-&gt;vm().symbolRegistry().symbolForKey(string);
&gt; +    return JSValue::encode(Symbol::create(exec-&gt;vm(), &amp;uid.get()));

Would read better as a one-liner.

&gt; Source/JavaScriptCore/runtime/TypeSet.cpp:353
&gt; +    for (auto key : m_fields) {

Should be auto&amp;, not auto.

&gt; Source/JavaScriptCore/runtime/TypeSet.h:59
&gt; +    void addProperty(Ref&lt;UniquedStringImpl&gt;);

Wrong type here. This should just be UniquedStringImpl&amp; or Ref&amp;&amp;; we get no value out of requiring the caller to pass in a Ref.

&gt; Source/WTF/wtf/text/AtomicString.h:63
&gt; +    // FIXME: AtomicString may have either SymbolImpl or AtomicStringImpl.

That FIXME is unclear. I would write:

    // FIXME: AtomicString doesn’t always have AtomicStringImpl, so one of those two names needs to change.

&gt; Source/WTF/wtf/text/StringImpl.cpp:118
&gt; +        symbolRegistry()-&gt;remove(*static_cast&lt;SymbolImpl*&gt;(this));

I would write static_cast&lt;SymbolImpl&amp;)(*this)

&gt; Source/WTF/wtf/text/SymbolImpl.h:29
&gt; +#include &lt;wtf/text/StringImpl.h&gt;

No reason for this include. Please don’t do it.

&gt; Source/WTF/wtf/text/SymbolImpl.h:34
&gt; +class SymbolImpl : public UniquedStringImpl {

Needs a comment to explain what this class is for and how it differs from AtomicStringImpl.

&gt; Source/WTF/wtf/text/SymbolImpl.h:54
&gt; +#if !ASSERT_DISABLED
&gt; +// SymbolImpls created from StaticASCIILiteral will ASSERT
&gt; +// in the generic ValueCheck&lt;T&gt;::checkConsistency
&gt; +// as they are not allocated by fastMalloc.
&gt; +// We don&apos;t currently have any way to detect that case
&gt; +// so we ignore the consistency check for all SymbolImpls*.
&gt; +template&lt;&gt; struct
&gt; +ValueCheck&lt;SymbolImpl*&gt; {
&gt; +    static void checkConsistency(const SymbolImpl*) { }
&gt; +};
&gt; +
&gt; +template&lt;&gt; struct
&gt; +ValueCheck&lt;const SymbolImpl*&gt; {
&gt; +    static void checkConsistency(const SymbolImpl*) { }
&gt; +};
&gt; +#endif

Annoying that we are cut and pasted this code into three different header files. Would be good to find a nicer way to do this later.

&gt; Source/WTF/wtf/text/SymbolRegistry.h:86
&gt; +    WTF_EXPORT_PRIVATE String keyForSymbol(SymbolImpl&amp; uid);

Argument name should be omitted here.

&gt; Source/WTF/wtf/text/SymbolRegistry.h:88
&gt; +    void remove(SymbolImpl&amp; uid);

Argument name should be omitted here.

&gt; Source/WTF/wtf/text/UniquedStringImpl.h:33
&gt; +class UniquedStringImpl : public StringImpl {

Needs a comment to explain what this class is for and how it differs from StringImpl.

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:309
&gt; +        ASSERT(!propertyName.isSymbol());

What guarantees this? Comment needs to say why we think this will be true.

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:310
&gt; +        AtomicStringImpl* atomicPropertyName = static_cast&lt;AtomicStringImpl*&gt;(propertyName.impl());

auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097107</commentid>
    <comment_count>33</comment_count>
      <attachid>253448</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-23 11:28:16 -0700</bug_when>
    <thetext>Comment on attachment 253448
Patch

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

Thank you.
Almost all comments are fixed. But I think changing RefPtr =&gt; Ref should be done in a separate patch because it involves too much code fix since it involves IdentifierSet etc.
In the separate patch, we should consider about storing Ref to hash maps instead of RefPtr.

&gt;&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:2026
&gt;&gt; +                    UniquedStringImpl* uid = ident.impl();
&gt; 
&gt; I think auto is better here than naming a class. I also think it’s not helpful to put this into a local variable. I also think auto is better for the iterator type below.

OK, here, just use `ident.impl()` directly.

&gt;&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:453
&gt;&gt; +        typedef HashMap&lt;UniquedStringImpl*, GetterSetterPair, IdentifierRepHash&gt; GetterSetterMap;
&gt; 
&gt; Behavior change here. Will this be a performance improvement?

Yeah. This should improve performance because this map doesn&apos;t check the content of the StringImpl*.
It just checks the pointer values.

&gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:-3638
&gt;&gt; -                uid = nullptr;
&gt; 
&gt; Not sure that initializing to null is an improvement. Rationale for the change?

Personally, uninitialized local variable is not good I think.
But in this time, it&apos;s not important for this patch. So just using the previous code.

&gt;&gt; Source/JavaScriptCore/dfg/DFGDesiredIdentifiers.cpp:74
&gt;&gt; +        UniquedStringImpl* rep = m_addedIdentifiers[i];
&gt; 
&gt; auto is better

OK, use `auto`.

&gt;&gt; Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:962
&gt;&gt; +                UniquedStringImpl* uid = m_graph.identifiers()[node-&gt;identifierNumber()];
&gt; 
&gt; auto is better

Fixed.

&gt;&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:909
&gt;&gt; +                static_cast&lt;const AtomicStringImpl*&gt;(string-&gt;tryGetValueImpl()));
&gt; 
&gt; Does not look good! Why is this a safe cast? I don’t see a type check. May require a comment.

This path is checked with the if statement. `if (string-&gt;tryGetValueImpl() &amp;&amp; string-&gt;tryGetValueImpl()-&gt;isAtomic()) {`.
So when reaching here, it is guaranteed that the result of `string-&gt;tryGetValueImpl()` is always `AtomicStringImpl*`.
OK, I&apos;ve added comment.

&gt;&gt; Source/JavaScriptCore/parser/Nodes.h:1565
&gt;&gt; +        bool captures(UniquedStringImpl* uid) { return m_capturedVariables.contains(uid); }
&gt; 
&gt; This function won’t work on null pointers because it uses the pointer as a key in hash table functions, so it should definitely take a reference, not a pointer, in the future.

I think it is better to fix these things in the separate patch because it involves so many changes across the code.

&gt;&gt; Source/JavaScriptCore/parser/Nodes.h:1613
&gt;&gt; +        Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; m_closedVariables;
&gt; 
&gt; Seems like this should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

ditto. At that time, we should consider about storing Ref&lt;UniquedStringImpl&gt; in hash tables.

&gt;&gt; Source/JavaScriptCore/parser/Parser.h:108
&gt;&gt;  };
&gt; 
&gt; Wrong coding style for structs. Data member names should not have m_ prefix. Should not have a constructor; should use ScopeLabeInfo { identifier, isLoop } syntax instead when constructing.

Fixed.

&gt;&gt; Source/JavaScriptCore/parser/Parser.h:890
&gt;&gt; +    Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; m_closedVariables;
&gt; 
&gt; Should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

Ditto. This involves all IdentifierSet changes.

&gt;&gt; Source/JavaScriptCore/parser/SourceProviderCacheItem.h:45
&gt;&gt; +    Vector&lt;RefPtr&lt;UniquedStringImpl&gt;&gt; writtenVariables;
&gt; 
&gt; Should be Vector&lt;Ref&gt;, not Vector&lt;RefPtr&gt;.

ditto.

&gt;&gt; Source/JavaScriptCore/runtime/Identifier.h:181
&gt;&gt; +    }
&gt; 
&gt; Is null allowed? If not, this should change to take a SymbolImpl&amp;.

Nice catch. Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/Identifier.h:277
&gt;&gt; +    UniquedStringImpl* uid = identifier.impl();
&gt; 
&gt; auto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/IdentifierInlines.h:77
&gt;&gt; +    return Identifier(static_cast&lt;SymbolImpl*&gt;(uid));
&gt; 
&gt; Surprised that Identifier() is needed. I would expect that just static_cast&lt;SymbolImpl*&gt;(uid) would work.

OK, dropping `explicit` in private Identifier(SymbolImpl&amp;).

&gt;&gt; Source/JavaScriptCore/runtime/IdentifierInlines.h:87
&gt;&gt; +    return Identifier(name.uid());
&gt; 
&gt; Surprised that Identifier() is needed. I would expect that just name.uid() would work.

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/Lookup.h:103
&gt;&gt; +        UniquedStringImpl* uid = propertyName.uid();
&gt; 
&gt; auto

Done.

&gt;&gt; Source/JavaScriptCore/runtime/ObjectConstructor.cpp:245
&gt;&gt; +        UniquedStringImpl* impl = properties[i].impl();
&gt; 
&gt; auto

Done.

&gt;&gt; Source/JavaScriptCore/runtime/PrivateName.h:40
&gt;&gt; +    explicit PrivateName(SymbolImpl* uid)
&gt; 
&gt; If null is not allowed, this should be a reference, not a pointer.

Changed it to SymbolImpl&amp;.

&gt;&gt; Source/JavaScriptCore/runtime/PropertyName.h:37
&gt;&gt; +    PropertyName(UniquedStringImpl* propertyName)
&gt; 
&gt; If null is not allowed, this should be a reference, not a pointer.

Here, since it involves too much code change, changing it in this patch is not good I think.
I&apos;ll fix it in the separate patch.

&gt;&gt; Source/JavaScriptCore/runtime/PropertyName.h:118
&gt;&gt; +    UniquedStringImpl* uid = propertyName.uid();
&gt; 
&gt; auto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/PropertyNameArray.h:72
&gt;&gt; +    void addKnownUnique(UniquedStringImpl*);
&gt; 
&gt; Null is not allowed, so these arguments should be reference, not pointers.

Ditto.

&gt;&gt; Source/JavaScriptCore/runtime/Structure.cpp:885
&gt;&gt; +    UniquedStringImpl* rep = propertyName.uid();
&gt; 
&gt; auto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/Structure.cpp:904
&gt;&gt; +    UniquedStringImpl* rep = propertyName.uid();
&gt; 
&gt; auto

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/Structure.h:51
&gt;&gt; +#include &lt;wtf/text/UniquedStringImpl.h&gt;
&gt; 
&gt; Does this file really require including that header? Would a forward declaration suffice? I don’t see code below actually operating on these objects, just moving pointers around.

Changed it to forward declaration.

&gt;&gt; Source/JavaScriptCore/runtime/StructureTransitionTable.h:134
&gt;&gt; +    inline Structure* get(UniquedStringImpl* rep, unsigned attributes) const;
&gt; 
&gt; inline here has no effect and should be removed. Argument name &quot;rep&quot; adds nothing. Arguments should probably be reference not pointer.

Yeah, that&apos;s reasonable. Dropped inline and `rep`. And dropped `inline` in Structure.cpp.

&gt;&gt; Source/JavaScriptCore/runtime/SymbolConstructor.cpp:112
&gt;&gt; +    return JSValue::encode(Symbol::create(exec-&gt;vm(), &amp;uid.get()));
&gt; 
&gt; Would read better as a one-liner.

Fixed.

&gt;&gt; Source/JavaScriptCore/runtime/TypeSet.cpp:353
&gt;&gt; +    for (auto key : m_fields) {
&gt; 
&gt; Should be auto&amp;, not auto.

Oops, thank you!

&gt;&gt; Source/JavaScriptCore/runtime/TypeSet.h:59
&gt;&gt; +    void addProperty(Ref&lt;UniquedStringImpl&gt;);
&gt; 
&gt; Wrong type here. This should just be UniquedStringImpl&amp; or Ref&amp;&amp;; we get no value out of requiring the caller to pass in a Ref.

Fixed!

&gt;&gt; Source/WTF/wtf/text/AtomicString.h:63
&gt;&gt; +    // FIXME: AtomicString may have either SymbolImpl or AtomicStringImpl.
&gt; 
&gt; That FIXME is unclear. I would write:
&gt; 
&gt;     // FIXME: AtomicString doesn’t always have AtomicStringImpl, so one of those two names needs to change.

Looks very nice. Changed.

&gt;&gt; Source/WTF/wtf/text/StringImpl.cpp:118
&gt;&gt; +        symbolRegistry()-&gt;remove(*static_cast&lt;SymbolImpl*&gt;(this));
&gt; 
&gt; I would write static_cast&lt;SymbolImpl&amp;)(*this)

Fixed.

&gt;&gt; Source/WTF/wtf/text/SymbolImpl.h:29
&gt;&gt; +#include &lt;wtf/text/StringImpl.h&gt;
&gt; 
&gt; No reason for this include. Please don’t do it.

Oops. Dropped.

&gt;&gt; Source/WTF/wtf/text/SymbolImpl.h:34
&gt;&gt; +class SymbolImpl : public UniquedStringImpl {
&gt; 
&gt; Needs a comment to explain what this class is for and how it differs from AtomicStringImpl.

Added comment.

&gt;&gt; Source/WTF/wtf/text/SymbolImpl.h:54
&gt;&gt; +#endif
&gt; 
&gt; Annoying that we are cut and pasted this code into three different header files. Would be good to find a nicer way to do this later.

Yeah, something like StringHasher.h is needed for these traits.

&gt;&gt; Source/WTF/wtf/text/SymbolRegistry.h:86
&gt;&gt; +    WTF_EXPORT_PRIVATE String keyForSymbol(SymbolImpl&amp; uid);
&gt; 
&gt; Argument name should be omitted here.

Fixed.

&gt;&gt; Source/WTF/wtf/text/SymbolRegistry.h:88
&gt;&gt; +    void remove(SymbolImpl&amp; uid);
&gt; 
&gt; Argument name should be omitted here.

Fixed.

&gt;&gt; Source/WTF/wtf/text/UniquedStringImpl.h:33
&gt;&gt; +class UniquedStringImpl : public StringImpl {
&gt; 
&gt; Needs a comment to explain what this class is for and how it differs from StringImpl.

Added comment.

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:309
&gt;&gt; +        ASSERT(!propertyName.isSymbol());
&gt; 
&gt; What guarantees this? Comment needs to say why we think this will be true.

This propertyName is generated from `Identifier::from`. This function generates Identifier from String and it always returns non-symbol Identifier.

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:310
&gt;&gt; +        AtomicStringImpl* atomicPropertyName = static_cast&lt;AtomicStringImpl*&gt;(propertyName.impl());
&gt; 
&gt; auto

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097112</commentid>
    <comment_count>34</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-23 11:42:13 -0700</bug_when>
    <thetext>Committed r184828: &lt;http://trac.webkit.org/changeset/184828&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252830</attachid>
            <date>2015-05-10 17:21:20 -0700</date>
            <delta_ts>2015-05-10 22:51:43 -0700</delta_ts>
            <desc>Prototype</desc>
            <filename>bug-144848-20150511092000.patch</filename>
            <type>text/plain</type>
            <size>114826</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmM0ZmFiN2JhOGU0MDU5Y2ZiYmIyNjBmMDc4MWJiNmU5ZDkzMjZlLi4yMmY5ODFjZDNkNGE5YTJj
ODljMjczNWYxYjcxYzdmNzA1YjQ3MWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjggQEAKKzIwMTUtMDUtMTAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ1aWx0aW5z
L0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5h
bWUpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpuYW1lRm9yUmVn
aXN0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwOgorICAgICAg
ICAoSlNDOjpDb21wbGV4R2V0U3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKiBieXRlY29k
ZS9Db21wbGV4R2V0U3RhdHVzLmg6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAg
ICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6R2V0
QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmg6CisgICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAg
ICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlND
OjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KToKKyAgICAgICAgKEpTQzo6a2V5Rm9yQ2hh
cmFjdGVyU3dpdGNoKToKKyAgICAgICAgKEpTQzo6cHJlcGFyZUp1bXBUYWJsZUZvclN0cmluZ1N3
aXRjaCk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJz
ZXI6OklubGluZVN0YWNrRW50cnk6OklubGluZVN0YWNrRW50cnkpOgorICAgICAgICAqIGRmZy9E
RkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVu
dGlmaWVyczo6YWRkTGF6aWx5KToKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkSWRlbnRpZmll
cnM6OmF0KToKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkSWRlbnRpZmllcnM6OnJlYWxseUFk
ZCk6CisgICAgICAgICogZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oOgorICAgICAgICAoSlND
OjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6b3BlcmF0b3JbXSk6CisgICAgICAgICogZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmlzU3RyaW5n
UHJvdG90eXBlTWV0aG9kU2FuZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5Lmg6CisgICAgICAgICogaml0L0pJVE9w
ZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgICog
cGFyc2VyL05vZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6UHJvZ3JhbU5vZGU6OnNldENsb3NlZFZh
cmlhYmxlcyk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6OlNjb3Bl
Tm9kZTo6Y2FwdHVyZXMpOgorICAgICAgICAoSlNDOjpTY29wZU5vZGU6OnNldENsb3NlZFZhcmlh
Ymxlcyk6CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpjbG9zZWRWYXJpYWJsZXMpOgorICAg
ICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpkaWRGaW5p
c2hQYXJzaW5nKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RyaWN0
T2JqZWN0TGl0ZXJhbCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpTY29wZUxhYmVsSW5mbzo6U2NvcGVMYWJlbEluZm8pOgorICAgICAgICAoSlNDOjpTY29wZTo6
ZGVjbGFyZUNhbGxlZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpkZWNsYXJlVmFyaWFibGUpOgor
ICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZVBhcmFtZXRlcik6CisgICAgICAgIChKU0M6OlNj
b3BlOjpkZWNsYXJlQm91bmRQYXJhbWV0ZXIpOgorICAgICAgICAoSlNDOjpTY29wZTo6dXNlVmFy
aWFibGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6Y29weUNhcHR1cmVkVmFyaWFibGVzVG9WZWN0
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmNsb3NlZFZhcmlhYmxlcyk6CisgICAgICAgICog
cGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmg6CisgICAgICAgIChKU0M6OlNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtOjp1c2VkVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OndyaXR0ZW5WYXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6Q29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5h
bWUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBy
dW50aW1lL0lkZW50aWZpZXIuaDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6aW1wbCk6Cisg
ICAgICAgIChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpwYXJz
ZUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6CisgICAgICAg
IChKU0M6OklkZW50aWZpZXI6OmZyb21VaWQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRT
dHJ1Y3R1cmVDaGFpbi5jcHA6CisgICAgICAgIChKU0M6OkludGVuZGVkU3RydWN0dXJlQ2hhaW46
Om1heUludGVyY2VwdFN0b3JlVG8pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1
cmVDaGFpbi5oOgorICAgICAgICAqIHJ1bnRpbWUvTWFwRGF0YS5oOgorICAgICAgICAqIHJ1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3Rv
ckdldE93blByb3BlcnR5U3ltYm9scyk6CisgICAgICAgICogcnVudGltZS9Qcml2YXRlTmFtZS5o
OgorICAgICAgICAoSlNDOjpQcml2YXRlTmFtZTo6UHJpdmF0ZU5hbWUpOgorICAgICAgICAoSlND
OjpQcml2YXRlTmFtZTo6dWlkKToKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRh
YmxlLmg6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU5hbWUuaDoKKyAgICAgICAgKEpTQzo6
UHJvcGVydHlOYW1lOjpQcm9wZXJ0eU5hbWUpOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWU6
OnVpZCk6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFtZTo6cHVibGljTmFtZSk6CisgICAgICAg
IChKU0M6OnBhcnNlSW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXku
Y3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKToKKyAgICAgICAgKiBy
dW50aW1lL1Byb3BlcnR5TmFtZUFycmF5Lmg6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFtZUFy
cmF5OjphZGRLbm93blVuaXF1ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpnZXQpOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5n
U3RydWN0dXJlQ29uY3VycmVudGx5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpnZXRDb25j
dXJyZW50bHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZCk6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZTo6cmVtb3ZlKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAg
ICAgICAoSlNDOjpQcm9wZXJ0eU1hcEVudHJ5OjpQcm9wZXJ0eU1hcEVudHJ5KToKKyAgICAgICAg
KiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpn
ZXRDb25jdXJyZW50bHkpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6SGFzaDo6aGFz
aCk6CisgICAgICAgICogcnVudGltZS9TeW1ib2wuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2w6
OlN5bWJvbCk6CisgICAgICAgICogcnVudGltZS9TeW1ib2wuaDoKKyAgICAgICAgKiBydW50aW1l
L1N5bWJvbENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6c3ltYm9sQ29uc3RydWN0b3JG
b3IpOgorICAgICAgICAoSlNDOjpzeW1ib2xDb25zdHJ1Y3RvcktleUZvcik6CisgICAgICAgICog
cnVudGltZS9TeW1ib2xUYWJsZS5jcHA6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjp1bmlx
dWVJREZvclZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U3ltYm9sVGFibGU6Omdsb2JhbFR5cGVT
ZXRGb3JWYXJpYWJsZSk6CisgICAgICAgICogcnVudGltZS9TeW1ib2xUYWJsZS5oOgorCiAyMDE1
LTA1LTEwICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW5uZWNlc3NhcnkgQXRvbWljU3RyaW5nSW1wbCogaGFzaCBzcGVjaWZpY2F0aW9uIGluIFBy
b3BlcnR5TmFtZUFycmF5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCBhNjUxMzNhN2YwNWFhZDc0OGIwNzc3Yjg3Mjk0OTg3Yzc1
YTYyMmRlLi5iYmRkNWQwNDFjM2FlYWM5OWJiNDkyNmNkODIwOTFkOTY4N2Y0MjllIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMwIEBACisyMDE1LTA1LTEwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9s
SW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUHJp
bnRTdHJlYW0uY3BwOgorICAgICAgICAqIHd0Zi9QcmludFN0cmVhbS5oOgorICAgICAgICAoV1RG
OjpwcmludEludGVybmFsKToKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg6
CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OkF0b21pY1N0cmluZ0ltcGwpOgorICAg
ICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBs
Ojp+U3RyaW5nSW1wbCk6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbCk6
CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbEVtcHR5KToKKyAgICAgICAg
KiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9sSW1wbC5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5o
LgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBsOjpTeW1ib2xJbXBsKToKKyAgICAgICAgKiB3dGYv
dGV4dC9TeW1ib2xSZWdpc3RyeS5jcHA6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5Ojpz
eW1ib2xGb3JLZXkpOgorICAgICAgICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9s
KToKKyAgICAgICAgKFdURjo6U3ltYm9sUmVnaXN0cnk6OnJlbW92ZSk6CisgICAgICAgICogd3Rm
L3RleHQvU3ltYm9sUmVnaXN0cnkuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9VbmlxdWVkU3RyaW5n
SW1wbC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRl
TmFtZS5oLgorICAgICAgICAoV1RGOjpVbmlxdWVkU3RyaW5nSW1wbDo6VW5pcXVlZFN0cmluZ0lt
cGwpOgorCiAyMDE1LTA1LTA5ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCiAgICAgICAg
IFJlbW92ZSB0aGUgUElDVFVSRV9TSVpFUyBidWlsZCBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKaW5kZXggNzlhY2MxNGRiMTQ4M2EyZmZhYjIx
OGI0ZjNjMzIwODY2NjNjMzQ4My4uOWUxN2ZjZTI3YTRkOTUwODExY2UwYTY1NDRhMjk2YzY2ZTk4
YjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5O
YW1lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
aApAQCAtNjQsNyArNjQsOCBAQCBjbGFzcyBCdWlsdGluTmFtZXMgewogICAgICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVNF
X1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQogICAgIH0KIAotICAgIGJvb2wgaXNQcml2YXRlTmFt
ZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0OworICAgIGJvb2wgaXNQcml2YXRlTmFtZShTeW1ib2xJ
bXBsKiB1aWQpIGNvbnN0OworICAgIGJvb2wgaXNQcml2YXRlTmFtZShVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKSBjb25zdDsKICAgICBib29sIGlzUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYp
IGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldFByaXZhdGVOYW1lKGNvbnN0IElkZW50
aWZpZXImKSBjb25zdDsKICAgICBjb25zdCBJZGVudGlmaWVyJiBnZXRQdWJsaWNOYW1lKGNvbnN0
IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTc4LDcgKzc5LDcgQEAgY2xhc3MgQnVpbHRpbk5hbWVz
IHsKICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9CVUlMVElO
X05BTUVTKQogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZ
X05BTUUoREVDTEFSRV9CVUlMVElOX05BTUVTKQogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQot
ICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIq
LCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOworICAgIHR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmll
clJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNU
b1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwog
fTsKQEAgLTkwLDcgKzkxLDEyIEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAjdW5kZWYgSU5JVElB
TElTRV9CVUlMVElOX1NZTUJPTFMKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VT
U09SCiAKLWlubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTdHJpbmdJbXBs
KiB1aWQpIGNvbnN0CitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUoU3lt
Ym9sSW1wbCogdWlkKSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5j
b250YWlucyh1aWQpOworfQorCitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5h
bWUoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkgY29uc3QKIHsKICAgICBpZiAoIXVpZC0+aXNTeW1i
b2woKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQyYmY0MDQ0
MWQxM2Y0MDU2Li40NWQyZDBhNjM2YmJiOGYyMzVhYTFhNWQzNGZhNTJkZmM3YjQ5ZTlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtNjYsNiAr
NjYsNyBAQAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJMRShERkdfSklUKQog
I2luY2x1ZGUgIkRGR09wZXJhdGlvbnMuaCIKQEAgLTIwMDUsNyArMjAwNiw3IEBAIGNsYXNzIFB1
dFRvU2NvcGVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgewogICAgICAgICAgICAgICAg
IGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocGNbMl0udS5vcGVyYW5kKSAhPSBVSU5UX01BWCkg
ewogICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChkaWRDbG9uZVN5bWJvbFRhYmxl
KTsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlm
aWVyKHBjWzJdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIHVp
ZCA9IGlkZW50LmltcGwoKTsKKyAgICAgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCA9IGlkZW50LmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExv
Y2tlciBsb2NrZXIobV9zeW1ib2xUYWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAg
U3ltYm9sVGFibGU6Ok1hcDo6aXRlcmF0b3IgaXRlciA9IG1fc3ltYm9sVGFibGUtPmZpbmQobG9j
a2VyLCB1aWQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRlciAhPSBtX3N5bWJvbFRh
YmxlLT5lbmQobG9ja2VyKSk7CkBAIC0zODA5LDcgKzM4MTAsNyBAQCBTdHJpbmcgQ29kZUJsb2Nr
OjpuYW1lRm9yUmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlcikKICAgICAg
ICAgaWYgKHB0ci0+dmFsdWUudmFyT2Zmc2V0KCkgPT0gVmFyT2Zmc2V0KHZpcnR1YWxSZWdpc3Rl
cikpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsgZnJvbSB0aGUgY29t
cGlsYXRpb24gdGhyZWFkLgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNTMwMAotICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwdHItPmtl
eSk7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHN0YXRpY19wb2ludGVyX2Nhc3Q8U3RyaW5n
SW1wbD4ocHRyLT5rZXkpKTsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAodmlydHVhbFJlZ2lz
dGVyID09IHRoaXNSZWdpc3RlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwCmluZGV4IDA0MmRjZWM3N2VmZGMyMGMxMzI1ZWQy
N2M4ZDc5OWU3Mzc3ZjY0OTcuLmQ4MTNhM2Q2NTdlY2FjZDk3ZDhmMTBlMDg2MDY0MzY3NjFiY2U1
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0
U3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdl
dFN0YXR1cy5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogQ29tcGxleEdldFN0YXR1cyBDb21wbGV4
R2V0U3RhdHVzOjpjb21wdXRlRm9yKAogICAgIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3Ry
dWN0dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sCi0gICAgdW5zaWdu
ZWQgY2hhaW5Db3VudCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorICAgIHVuc2lnbmVkIGNoYWlu
Q291bnQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBhc3NlcnQgdGhhdCB3ZSBuZXZlciBzZWUgYSBzdHJ1Y3R1cmUgdGhhdAogICAgIC8vIGhhc0lt
cHVyZUdldE93blByb3BlcnR5U2xvdCgpIGJ1dCBmb3Igd2hpY2ggd2UgZG9uJ3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5oCmluZGV4IDEx
NWJmM2NlNDFmNTA4YzE2N2Q4MGQxNGFkMWU4NGE4ZWY5MDBjMzMuLjI2MjA0MDVhOTZmOTc5ODUw
MTM0MTM4MDZjNmM0MjUxZWU0ZDNkMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaApAQCAtOTgsNyArOTgsNyBAQCBjbGFzcyBDb21w
bGV4R2V0U3RhdHVzIHsKICAgICAKICAgICBzdGF0aWMgQ29tcGxleEdldFN0YXR1cyBjb21wdXRl
Rm9yKAogICAgICAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZSogaGVhZFN0
cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLAotICAgICAgICB1bnNpZ25lZCBjaGFpbkNv
dW50LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgICAgICB1bnNpZ25lZCBjaGFpbkNvdW50
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAKICAgICBLaW5kIGtpbmQoKSBjb25zdCB7
IHJldHVybiBtX2tpbmQ7IH0KICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1
cm4gbV9hdHRyaWJ1dGVzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0QnlJZFN0YXR1cy5jcHAKaW5kZXggYmYyOGM1NTlhNmIwOTY2ZWVhZWNlZGRlMjE0NTQ1ZGQ3
ODVlOGMxYy4uMzBjMjIwNDdlMjVjNDE1ZjI2ODZmNTU5ODQzOTAwN2RiMTY3OTMzOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcApAQCAt
NjYsNyArNjYsNyBAQCBib29sIEdldEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1
cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcgogfQogI2VuZGlmCiAKLUdldEJ5
SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2Zp
bGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkK
K0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sq
IHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAgIFVOVVNFRF9Q
QVJBTShieXRlY29kZUluZGV4KTsKQEAgLTkxLDcgKzkxLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRC
eUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5z
aWduZWQKICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhTaW1wbGUsIGZhbHNlLCBHZXRCeUlkVmFy
aWFudChTdHJ1Y3R1cmVTZXQoc3RydWN0dXJlKSwgb2Zmc2V0KSk7CiB9CiAKLUdldEJ5SWRTdGF0
dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0
dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sq
IHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgs
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2Nr
ZXIocHJvZmlsZWRCbG9jay0+bV9sb2NrKTsKIApAQCAtMTE4LDcgKzExOCw3IEBAIEdldEJ5SWRT
dGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IFN0dWJJbmZvTWFwJiBtCiAKICNpZiBFTkFCTEUoSklUKQogR2V0QnlJZFN0YXR1cyBHZXRCeUlk
U3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCi0gICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tl
ciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgQXRvbWljU3RyaW5nSW1wbCogdWlkLAorICAgIGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsCiAgICAgQ2FsbExpbmtTdGF0dXM6
OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVEYXRhKQogewogICAgIGlmICghc3R1YkluZm8gfHwg
IXN0dWJJbmZvLT5zZWVuKQpAQCAtMjI0LDcgKzIyNCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJ
ZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBDb2RlQmxvY2sq
IGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsCi0gICAgU3R1YkluZm9NYXAmIGRm
Z01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAg
U3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdfSklUKQogICAgIGlmIChkZmdCbG9jaykgewpA
QCAtMjYyLDcgKzI2Miw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZv
cigKICAgICByZXR1cm4gY29tcHV0ZUZvcihwcm9maWxlZEJsb2NrLCBiYXNlbGluZU1hcCwgY29k
ZU9yaWdpbi5ieXRlY29kZUluZGV4LCB1aWQpOwogfQogCi1HZXRCeUlkU3RhdHVzIEdldEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3IoY29uc3QgU3RydWN0dXJlU2V0JiBzZXQsIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihjb25zdCBT
dHJ1Y3R1cmVTZXQmIHNldCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICAvLyBGb3Ig
bm93IHdlIG9ubHkgaGFuZGxlIHRoZSBzdXBlciBzaW1wbGUgc2VsZiBhY2Nlc3MgY2FzZS4gV2Ug
Y291bGQgaGFuZGxlIHRoZQogICAgIC8vIHByb3RvdHlwZSBjYXNlIGluIHRoZSBmdXR1cmUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuaAppbmRleCAy
N2JmYjg4ZjRjMTJkNzZiNjI5Mjg1ZjFjYWQyM2YyNmNhYmQ1ZWM4Li43ZDRlYmIyMmNmZDVhOGFj
OGViYWIwY2JlNWI1MmY1NDYzMTY4MmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKQEAgLTY3LDEwICs2NywxMCBAQCBjbGFzcyBHZXRCeUlk
U3RhdHVzIHsKICAgICAgICAgbV92YXJpYW50cy5hcHBlbmQodmFyaWFudCk7CiAgICAgfQogICAg
IAotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1Yklu
Zm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwot
ICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoY29uc3QgU3RydWN0dXJlU2V0Jiwg
QXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRl
Rm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZv
cihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAKLSAg
ICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9j
aywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5m
b01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0
YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBD
b2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFw
JiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAg
IFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAgIApAQCAtOTcsOSAr
OTcsOSBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICNpZiBFTkFCTEUoSklUKQogICAgIHN0YXRp
YyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5mbygKICAgICAgICAgY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1Yklu
Zm8qLAotICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0
U2l0ZURhdGEpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1
czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1
dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3Ry
aW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50
KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFudChjb25zdCBHZXRCeUlkVmFyaWFudCYp
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5
SWRTdGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCmluZGV4IDdlYzBiYTQzMGU2NmY3NDE4MzM5ZDk4MzRmNWY2MmFiMWM2ZTlmOTAuLjI0
ZDdiNDRlNDU3YmE2YTYwNWEzYzFjMmM1Zjk3ZTc4MTRlYjY3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAgYm9vbCBQdXRCeUlkU3RhdHVzOjpoYXNFeGl0U2l0ZShjb25zdCBDb25jdXJyZW50SklUTG9j
a2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHIKIH0KICNlbmRpZgogCi1QdXRCeUlkU3RhdHVzIFB1
dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3Rh
dHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJs
b2NrLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIFVOVVNFRF9QQVJBTShwcm9maWxlZEJsb2NrKTsKICAgICBVTlVTRURfUEFSQU0oYnl0ZWNv
ZGVJbmRleCk7CkBAIC0xMDUsNyArMTA1LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQKICAg
ICByZXR1cm4gUHV0QnlJZFZhcmlhbnQ6OnRyYW5zaXRpb24oc3RydWN0dXJlLCBuZXdTdHJ1Y3R1
cmUsIGludGVuZGVkQ2hhaW4uZ2V0KCksIG9mZnNldCk7CiB9CiAKLVB1dEJ5SWRTdGF0dXMgUHV0
QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZv
TWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkK
K1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2Zp
bGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIocHJv
ZmlsZWRCbG9jay0+bV9sb2NrKTsKICAgICAKQEAgLTEzNCw3ICsxMzQsNyBAQCBQdXRCeUlkU3Rh
dHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBT
dHViSW5mb01hcCYgbQogI2lmIEVOQUJMRShKSVQpCiBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3JTdHViSW5mbygKICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBs
b2NrZXIsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRl
RGF0YSBjYWxsRXhpdFNpdGVEYXRhKQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIENhbGxM
aW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEgY2FsbEV4aXRTaXRlRGF0YSkKIHsKICAgICBpZiAoIXN0
dWJJbmZvIHx8ICFzdHViSW5mby0+c2VlbikKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMo
KTsKQEAgLTI3NCw3ICsyNzQsNyBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTdHViSW5mbygKIH0KICNlbmRpZgogCi1QdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6
OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2Nr
LCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmln
aW4gY29kZU9yaWdpbiwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorUHV0QnlJZFN0YXR1cyBQdXRC
eUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2Nr
KiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFw
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAjaWYg
RU5BQkxFKERGR19KSVQpCiAgICAgaWYgKGRmZ0Jsb2NrKSB7CkBAIC0zMDgsNyArMzA4LDcgQEAg
UHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxp
bmVCbG9jaywgQ29kZUJsb2NrKiBkZmcKICAgICByZXR1cm4gY29tcHV0ZUZvcihiYXNlbGluZUJs
b2NrLCBiYXNlbGluZU1hcCwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCB1aWQpOwogfQogCi1Q
dXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlU2V0JiBzZXQsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCwgYm9vbCBpc0RpcmVjdCkKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgYm9vbCBpc0RpcmVjdCkKIHsKICAgICBpZiAocGFyc2VJ
bmRleCgqdWlkKSkKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoVGFrZXNTbG93UGF0aCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaAppbmRl
eCBmNTUzNjJlMTNkOTNiNzdhOGJjZGYzZWZiZDlmMWZlMTVjNmU3YTRhLi4wNDYxZGM0ZDZmZDJm
MzVjODY3NDFiMDc0MmY1YzY5MmYyY2IxM2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKQEAgLTcwLDEwICs3MCwxMCBAQCBjbGFzcyBQdXRC
eUlkU3RhdHVzIHsKICAgICAgICAgbV92YXJpYW50cy5hcHBlbmQodmFyaWFudCk7CiAgICAgfQog
ICAgIAotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1
YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQp
OwotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqLCBj
b25zdCBTdHJ1Y3R1cmVTZXQmLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3Qp
OworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1Yklu
Zm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsK
KyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiwgY29u
c3QgU3RydWN0dXJlU2V0JiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgYm9vbCBpc0RpcmVjdCk7
CiAgICAgCi0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJh
c2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1h
cCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgQXRvbWljU3RyaW5nSW1wbCogdWlk
KTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxp
bmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBT
dHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsK
ICAgICAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KICAgICAK
QEAgLTk2LDEwICs5NiwxMCBAQCBjbGFzcyBQdXRCeUlkU3RhdHVzIHsKICNlbmRpZgogI2lmIEVO
QUJMRShKSVQpCiAgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvclN0dWJJbmZvKAot
ICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsCisgICAgICAgIGNvbnN0IENvbmN1cnJl
bnRKSVRMb2NrZXImLCBDb2RlQmxvY2sqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQsCiAgICAgICAgIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOwogI2Vu
ZGlmCi0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sq
LCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0
YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgYm9vbCBh
cHBlbmRWYXJpYW50KGNvbnN0IFB1dEJ5SWRWYXJpYW50Jik7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IGMzY2U4NzU1OTFhMzI5ZjczZWE1ZGIyNjA2YmY1NjY5OGEyNWYxYTYuLmRmOWY1OTIy
MDE3ZWMwODI2ZjExY2YxZTM0NGUzMWRmNzQyOTY0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0y
MTAsNyArMjEwLDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkK
ICAgICBib29sIHNob3VsZENhcHR1cmVBbGxPZlRoZVRoaW5ncyA9IG1fc2hvdWxkRW1pdERlYnVn
SG9va3MgfHwgY29kZUJsb2NrLT51c2VzRXZhbCgpOwogICAgIGJvb2wgbmVlZHNBcmd1bWVudHMg
PSBmdW5jdGlvbk5vZGUtPnVzZXNBcmd1bWVudHMoKSB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCk7
CiAgICAgCi0gICAgYXV0byBjYXB0dXJlcyA9IFsmXSAoU3RyaW5nSW1wbCogdWlkKSAtPiBib29s
IHsKKyAgICBhdXRvIGNhcHR1cmVzID0gWyZdIChVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSAtPiBi
b29sIHsKICAgICAgICAgaWYgKHNob3VsZENhcHR1cmVBbGxPZlRoZVRoaW5ncykKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXNob3VsZENhcHR1cmVTb21lT2ZUaGVUaGlu
Z3MpCkBAIC0yMjQsNyArMjI0LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6Omdl
bmVyYXRlKCkKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZnVuY3Rpb25Ob2RlLT5jYXB0dXJl
cyh1aWQpOwogICAgIH07Ci0gICAgYXV0byB2YXJLaW5kID0gWyZdIChTdHJpbmdJbXBsKiB1aWQp
IC0+IFZhcktpbmQgeworICAgIGF1dG8gdmFyS2luZCA9IFsmXSAoVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkgLT4gVmFyS2luZCB7CiAgICAgICAgIHJldHVybiBjYXB0dXJlcyh1aWQpID8gVmFyS2lu
ZDo6U2NvcGUgOiBWYXJLaW5kOjpTdGFjazsKICAgICB9OwogCkBAIC0zMTQsNyArMzE0LDcgQEAg
UGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgU2NvcGVPZmZzZXQgb2Zmc2V0ID0gbV9zeW1ib2xUYWJsZS0+dGFrZU5leHRTY29w
ZU9mZnNldCgpOwogICAgICAgICAgICAgICAgIG1fc3ltYm9sVGFibGUtPnNldEFyZ3VtZW50T2Zm
c2V0KHZtLCBpLCBvZmZzZXQpOwotICAgICAgICAgICAgICAgIGlmIChTdHJpbmdJbXBsKiBuYW1l
ID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoVW5pcXVlZFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFt
ZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkgewogICAgICAgICAgICAgICAgICAgICBWYXJPZmZzZXQg
dmFyT2Zmc2V0KG9mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlRW50cnkg
ZW50cnkodmFyT2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRvIHRoZXNl
IHZhcmlhYmxlcyB2aWEgdGhlIFNjb3BlZEFyZ3VtZW50cyBvYmplY3Qgd2lsbCBub3QgZG8KQEAg
LTM0Miw3ICszNDIsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUo
KQogICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gcHV0IGFsbCBwYXJhbWV0ZXJzIGludG8g
dGhlIERpcmVjdEFyZ3VtZW50cyBvYmplY3QuIEZpcnN0IGVuc3VyZQogICAgICAgICAgICAgLy8g
dGhhdCB0aGUgc3ltYm9sIHRhYmxlIGtub3dzIHRoYXQgdGhpcyBpcyBoYXBwZW5pbmcuCiAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5zaXplKCk7ICsraSkg
ewotICAgICAgICAgICAgICAgIGlmIChTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQ
YXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSkpCisgICAgICAgICAgICAgICAgaWYgKFVuaXF1ZWRT
dHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChp
KSkpCiAgICAgICAgICAgICAgICAgICAgIG1fc3ltYm9sVGFibGUtPnNldChuYW1lLCBTeW1ib2xU
YWJsZUVudHJ5KFZhck9mZnNldChEaXJlY3RBcmd1bWVudHNPZmZzZXQoaSkpKSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAKQEAgLTM1Myw3ICszNTMsNyBAQCBQYXJzZXJFcnJvciBCeXRl
Y29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICAvLyBDcmVhdGUgdGhlIGZvcm1hbCBw
YXJhbWV0ZXJzIHRoZSBub3JtYWwgd2F5LiBBbnkgb2YgdGhlbSBjb3VsZCBiZSBjYXB0dXJlZCwg
b3Igbm90LiBJZgogICAgICAgICAvLyBjYXB0dXJlZCwgbGlmdCB0aGVtIGludG8gdGhlIHNjb3Bl
LgogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5zaXplKCk7ICsr
aSkgewotICAgICAgICAgICAgU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1l
dGVyKHBhcmFtZXRlcnMuYXQoaSkpOworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG5h
bWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKICAgICAgICAg
ICAgIGlmICghbmFtZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIApA
QCAtNDY1LDcgKzQ2NSw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0
ZSgpCiAgICAgICAgIAogICAgICAgICBib29sIGhhdmVQYXJhbWV0ZXJOYW1lZEFyZ3VtZW50cyA9
IGZhbHNlOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5zaXpl
KCk7ICsraSkgewotICAgICAgICAgICAgU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9y
UGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpOworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKICAg
ICAgICAgICAgIGlmIChuYW1lID09IHByb3BlcnR5TmFtZXMoKS5hcmd1bWVudHMuaW1wbCgpKSB7
CiAgICAgICAgICAgICAgICAgaGF2ZVBhcmFtZXRlck5hbWVkQXJndW1lbnRzID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICBicmVhazsKQEAgLTU0NSw3ICs1NDUsNyBAQCBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6aW5pdGlhbGl6ZU5leHRQYXJhbWV0ZXIoKQogICAgIHJldHVybiAmcGFy
YW1ldGVyOwogfQogCi1TdHJpbmdJbXBsKiBCeXRlY29kZUdlbmVyYXRvcjo6dmlzaWJsZU5hbWVG
b3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSogcGF0dGVybikKK1VuaXF1ZWRT
dHJpbmdJbXBsKiBCeXRlY29kZUdlbmVyYXRvcjo6dmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIoRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSogcGF0dGVybikKIHsKICAgICBpZiAocGF0dGVybi0+aXNC
aW5kaW5nTm9kZSgpKSB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgQmluZGluZ05vZGUqPihwYXR0ZXJuKS0+Ym91bmRQcm9wZXJ0eSgpOwpAQCAt
OTU0LDEzICs5NTQsMTMgQEAgdm9pZCBBTFdBWVNfSU5MSU5FIEJ5dGVjb2RlR2VuZXJhdG9yOjpy
ZXdpbmRVbmFyeU9wKCkKIAogYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6aGFzQ29uc3RhbnQoY29u
c3QgSWRlbnRpZmllciYgaWRlbnQpIGNvbnN0CiB7Ci0gICAgU3RyaW5nSW1wbCogcmVwID0gaWRl
bnQuaW1wbCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBpZGVudC5pbXBsKCk7CiAg
ICAgcmV0dXJuIG1faWRlbnRpZmllck1hcC5jb250YWlucyhyZXApOwogfQogCiB1bnNpZ25lZCBC
eXRlY29kZUdlbmVyYXRvcjo6YWRkQ29uc3RhbnQoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiB7
Ci0gICAgU3RyaW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOworICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiByZXAgPSBpZGVudC5pbXBsKCk7CiAgICAgSWRlbnRpZmllck1hcDo6QWRkUmVzdWx0IHJl
c3VsdCA9IG1faWRlbnRpZmllck1hcC5hZGQocmVwLCBtX2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVu
dGlmaWVycygpKTsKICAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIG1fY29kZUJs
b2NrLT5hZGRJZGVudGlmaWVyKGlkZW50KTsKQEAgLTI1ODksNyArMjU4OSw3IEBAIHN0YXRpYyBp
bnQzMl90IGtleUZvckNoYXJhY3RlclN3aXRjaChFeHByZXNzaW9uTm9kZSogbm9kZSwgaW50MzJf
dCBtaW4sIGludDMyX3QKIHsKICAgICBVTlVTRURfUEFSQU0obWF4KTsKICAgICBBU1NFUlQobm9k
ZS0+aXNTdHJpbmcoKSk7Ci0gICAgU3RyaW5nSW1wbCogY2xhdXNlID0gc3RhdGljX2Nhc3Q8U3Ry
aW5nTm9kZSo+KG5vZGUpLT52YWx1ZSgpLmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
Y2xhdXNlID0gc3RhdGljX2Nhc3Q8U3RyaW5nTm9kZSo+KG5vZGUpLT52YWx1ZSgpLmltcGwoKTsK
ICAgICBBU1NFUlQoY2xhdXNlLT5sZW5ndGgoKSA9PSAxKTsKICAgICAKICAgICBpbnQzMl90IGtl
eSA9ICgqY2xhdXNlKVswXTsKQEAgLTI2MjIsNyArMjYyMiw3IEBAIHN0YXRpYyB2b2lkIHByZXBh
cmVKdW1wVGFibGVGb3JTdHJpbmdTd2l0Y2goVW5saW5rZWRTdHJpbmdKdW1wVGFibGUmIGp1bXBU
YWJsZSwKICAgICAgICAgQVNTRVJUKCFsYWJlbHNbaV0tPmlzRm9yd2FyZCgpKTsKICAgICAgICAg
CiAgICAgICAgIEFTU0VSVChub2Rlc1tpXS0+aXNTdHJpbmcoKSk7Ci0gICAgICAgIFN0cmluZ0lt
cGwqIGNsYXVzZSA9IHN0YXRpY19jYXN0PFN0cmluZ05vZGUqPihub2Rlc1tpXSktPnZhbHVlKCku
aW1wbCgpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogY2xhdXNlID0gc3RhdGljX2Nhc3Q8
U3RyaW5nTm9kZSo+KG5vZGVzW2ldKS0+dmFsdWUoKS5pbXBsKCk7CiAgICAgICAgIGp1bXBUYWJs
ZS5vZmZzZXRUYWJsZS5hZGQoY2xhdXNlLCBsYWJlbHNbaV0tPmJpbmQoc3dpdGNoQWRkcmVzcywg
c3dpdGNoQWRkcmVzcyArIDMpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYjgxNTYzMjAw
OWNkOGZkY2ZlNDljZGIzYzZiMzEwOTIxY2ZjYmE3YS4uM2ViNDc0NzU5MjJlZjVjOWYzNWFiOWZi
ODAyYjFkODA2OTljMTAzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNjE4LDcgKzYxOCw3IEBACiAgICAg
ICAgIHZvaWQgZW1pdENvbXBsZXhQb3BTY29wZXMoUmVnaXN0ZXJJRCosIENvbnRyb2xGbG93Q29u
dGV4dCogdG9wU2NvcGUsIENvbnRyb2xGbG93Q29udGV4dCogYm90dG9tU2NvcGUpOwogCiAgICAg
ICAgIHR5cGVkZWYgSGFzaE1hcDxkb3VibGUsIEpTVmFsdWU+IE51bWJlck1hcDsKLSAgICAgICAg
dHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNo
PiBJZGVudGlmaWVyU3RyaW5nTWFwOworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VW5pcXVlZFN0
cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5n
TWFwOwogICAgICAgICAKICAgICAgICAgLy8gSGVscGVyIGZvciBlbWl0Q2FsbCgpIGFuZCBlbWl0
Q29uc3RydWN0KCkuIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgc2V0IG9mCiAgICAgICAgIC8vIGV4
cGVjdGVkIGZ1bmN0aW9ucyBoYXZlIGlkZW50aWNhbCBiZWhhdmlvciBmb3IgYm90aCBjYWxsIGFu
ZCBjb25zdHJ1Y3QKQEAgLTY0MSw3ICs2NDEsNyBAQAogCiAgICAgICAgIC8vIEluaXRpYWxpemVz
IHRoZSBzdGFjayBmb3JtIHRoZSBwYXJhbWV0ZXI7IGRvZXMgbm90aGluZyBmb3IgdGhlIHN5bWJv
bCB0YWJsZS4KICAgICAgICAgUmVnaXN0ZXJJRCogaW5pdGlhbGl6ZU5leHRQYXJhbWV0ZXIoKTsK
LSAgICAgICAgU3RyaW5nSW1wbCogdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuTm9kZSopOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdmlzaWJsZU5hbWVG
b3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSopOwogICAgICAgICAKICAgICAg
ICAgUmVnaXN0ZXJJRCYgcmVnaXN0ZXJGb3IoVmlydHVhbFJlZ2lzdGVyIHJlZykKICAgICAgICAg
ewpAQCAtNzE4LDcgKzcxOCw3IEBACiAKICAgICAgICAgLy8gU29tZSBvZiB0aGVzZSBvYmplY3Rz
IGtlZXAgcG9pbnRlcnMgdG8gb25lIGFub3RoZXIuIFRoZXkgYXJlIGFycmFuZ2VkCiAgICAgICAg
IC8vIHRvIGVuc3VyZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gb3JkZXIgdGhhdCBhdm9pZHMgcmVmZXJl
bmNlcyB0byBmcmVlZCBtZW1vcnkuCi0gICAgICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+
LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9mdW5jdGlvbnM7CisgICAgICAgIEhhc2hTZXQ8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+IG1fZnVuY3Rpb25zOwogICAg
ICAgICBSZWdpc3RlcklEIG1faWdub3JlZFJlc3VsdFJlZ2lzdGVyOwogICAgICAgICBSZWdpc3Rl
cklEIG1fdGhpc1JlZ2lzdGVyOwogICAgICAgICBSZWdpc3RlcklEIG1fY2FsbGVlUmVnaXN0ZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmlu
ZGV4IGFiYzUxZDQ2YTA1MTk3ZGY0MTNjM2IzNmRmMTY5NmQzOWJjY2FhMDEuLjI0N2U2NDA4MmM4
Y2EyYThlNTk1NjI2YzFmNjkzNzZhM2Q1MzgzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zMTAwLDcgKzMxMDAsNyBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAg
Tm9kZSogYmFzZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUu
b3BlcmFuZCkpOwogICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG1faW5s
aW5lU3RhY2tUb3AtPm1faWRlbnRpZmllclJlbWFwW2N1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmRdOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQg
PSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CisgICAgICAgICAgICBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJO
dW1iZXJdOwogICAgICAgICAgICAgR2V0QnlJZFN0YXR1cyBnZXRCeUlkU3RhdHVzID0gR2V0QnlJ
ZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICAgICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5t
X3Byb2ZpbGVkQmxvY2ssIG1fZGZnQ29kZUJsb2NrLAogICAgICAgICAgICAgICAgIG1faW5saW5l
U3RhY2tUb3AtPm1fc3R1YkluZm9zLCBtX2RmZ1N0dWJJbmZvcywKQEAgLTM0NjEsNyArMzQ2MSw3
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAg
ICAgICAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKICAgICAg
ICAgICAgIGludCBzY29wZSA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9p
ZGVudGlmaWVyUmVtYXBbY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZF07Ci0gICAgICAg
ICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRp
Zmllck51bWJlcl07CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgUmVzb2x2ZVR5
cGUgcmVzb2x2ZVR5cGUgPSBSZXNvbHZlTW9kZUFuZFR5cGUoY3VycmVudEluc3RydWN0aW9uWzRd
LnUub3BlcmFuZCkudHlwZSgpOwogCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IDA7CkBAIC0zNjAzLDExICszNjAzLDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9j
ayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgICAgICBpZGVudGlmaWVyTnVtYmVyID0gbV9p
bmxpbmVTdGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBbaWRlbnRpZmllck51bWJlcl07CiAgICAg
ICAgICAgICB1bnNpZ25lZCB2YWx1ZSA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7
CiAgICAgICAgICAgICBSZXNvbHZlVHlwZSByZXNvbHZlVHlwZSA9IFJlc29sdmVNb2RlQW5kVHlw
ZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kKS50eXBlKCk7Ci0gICAgICAgICAgICBB
dG9taWNTdHJpbmdJbXBsKiB1aWQ7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
ID0gbnVsbHB0cjsKICAgICAgICAgICAgIGlmIChpZGVudGlmaWVyTnVtYmVyICE9IFVJTlRfTUFY
KQogICAgICAgICAgICAgICAgIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVy
TnVtYmVyXTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB1aWQgPSBudWxscHRy
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxw
dHI7CiAgICAgICAgICAgICBXYXRjaHBvaW50U2V0KiB3YXRjaHBvaW50cyA9IG51bGxwdHI7CkBA
IC00MDIwLDcgKzQwMTgsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpidWlsZE9wZXJhbmRNYXBz
SWZOZWNlc3NhcnkoKQogICAgICAgICBtX3N3aXRjaFJlbWFwLnJlc2l6ZShjb2RlQmxvY2stPm51
bWJlck9mU3dpdGNoSnVtcFRhYmxlcygpKTsKIAogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGNvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpOyArK2kpIHsKLSAgICAgICAgICAg
IEF0b21pY1N0cmluZ0ltcGwqIHJlcCA9IGNvZGVCbG9jay0+aWRlbnRpZmllcihpKS5pbXBsKCk7
CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gY29kZUJsb2NrLT5pZGVudGlm
aWVyKGkpLmltcGwoKTsKICAgICAgICAgICAgIEJvcnJvd2VkSWRlbnRpZmllck1hcDo6QWRkUmVz
dWx0IHJlc3VsdCA9IGJ5dGVDb2RlUGFyc2VyLT5tX2lkZW50aWZpZXJNYXAuYWRkKHJlcCwgYnl0
ZUNvZGVQYXJzZXItPm1fZ3JhcGguaWRlbnRpZmllcnMoKS5udW1iZXJPZklkZW50aWZpZXJzKCkp
OwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAgICAgICAgICAgIGJ5
dGVDb2RlUGFyc2VyLT5tX2dyYXBoLmlkZW50aWZpZXJzKCkuYWRkTGF6aWx5KHJlcCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAK
aW5kZXggNjVjMzAxZGJlZTE2ZDNmNzRiNTQyN2I3YTBmNjkyNDg4NDFjNGUzMi4uNTUxNDVlMGUz
ZmE2ZWM2MmFhMmUzOWU2MmEyNmE2N2NlOGE1MjQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcApAQCAtNTIsMTQgKzUyLDE0
IEBAIHVuc2lnbmVkIERlc2lyZWRJZGVudGlmaWVyczo6bnVtYmVyT2ZJZGVudGlmaWVycygpCiAg
ICAgcmV0dXJuIG1fY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZpZXJzKCkgKyBtX2FkZGVkSWRl
bnRpZmllcnMuc2l6ZSgpOwogfQogCi12b2lkIERlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5
KEF0b21pY1N0cmluZ0ltcGwqIHJlcCkKK3ZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjphZGRMYXpp
bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCkKIHsKICAgICBtX2FkZGVkSWRlbnRpZmllcnMuYXBw
ZW5kKHJlcCk7CiB9CiAKLUF0b21pY1N0cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVyczo6YXQo
dW5zaWduZWQgaW5kZXgpIGNvbnN0CitVbmlxdWVkU3RyaW5nSW1wbCogRGVzaXJlZElkZW50aWZp
ZXJzOjphdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKIHsKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBy
ZXN1bHQ7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlc3VsdDsKICAgICBpZiAoaW5kZXggPCBt
X2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpKQogICAgICAgICByZXN1bHQgPSBtX2Nv
ZGVCbG9jay0+aWRlbnRpZmllcihpbmRleCkuaW1wbCgpOwogICAgIGVsc2UKQEAgLTcxLDcgKzcx
LDcgQEAgQXRvbWljU3RyaW5nSW1wbCogRGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBp
bmRleCkgY29uc3QKIHZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjpyZWFsbHlBZGQoVk0mIHZtLCBD
b21tb25EYXRhKiBjb21tb25EYXRhKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X2FkZGVkSWRlbnRpZmllcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgU3RyaW5nSW1wbCogcmVw
ID0gbV9hZGRlZElkZW50aWZpZXJzW2ldOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVw
ID0gbV9hZGRlZElkZW50aWZpZXJzW2ldOwogICAgICAgICBBU1NFUlQocmVwLT5oYXNBdExlYXN0
T25lUmVmKCkpOwogICAgICAgICBjb21tb25EYXRhLT5kZmdJZGVudGlmaWVycy5hcHBlbmQoSWRl
bnRpZmllcjo6ZnJvbVVpZCgmdm0sIHJlcCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oCmluZGV4IGY5Y2UzODFmY2UwZjIx
NWY1ODczNTU0YmUyNTQ4ZWRjNmUxNzdiMjcuLjNhMmEzNDg1N2YzYjBmNzJlZTFjOWFmMzE2NGYy
ZTQ5NDQzY2E2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVz
aXJlZElkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNp
cmVkSWRlbnRpZmllcnMuaApAQCAtNDUsMTcgKzQ1LDE3IEBAIGNsYXNzIERlc2lyZWRJZGVudGlm
aWVycyB7CiAgICAgfkRlc2lyZWRJZGVudGlmaWVycygpOwogICAgIAogICAgIHVuc2lnbmVkIG51
bWJlck9mSWRlbnRpZmllcnMoKTsKLSAgICB2b2lkIGFkZExhemlseShBdG9taWNTdHJpbmdJbXBs
Kik7CisgICAgdm9pZCBhZGRMYXppbHkoVW5pcXVlZFN0cmluZ0ltcGwqKTsKICAgICAKLSAgICBB
dG9taWNTdHJpbmdJbXBsKiBhdCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisgICAgVW5pcXVlZFN0
cmluZ0ltcGwqIGF0KHVuc2lnbmVkIGluZGV4KSBjb25zdDsKICAgICAKLSAgICBBdG9taWNTdHJp
bmdJbXBsKiBvcGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBhdChpbmRl
eCk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogb3BlcmF0b3JbXSh1bnNpZ25lZCBpbmRleCkg
Y29uc3QgeyByZXR1cm4gYXQoaW5kZXgpOyB9CiAgICAgCiAgICAgdm9pZCByZWFsbHlBZGQoVk0m
LCBDb21tb25EYXRhKik7CiAgICAgCiBwcml2YXRlOgogICAgIENvZGVCbG9jayogbV9jb2RlQmxv
Y2s7Ci0gICAgVmVjdG9yPEF0b21pY1N0cmluZ0ltcGwqPiBtX2FkZGVkSWRlbnRpZmllcnM7Cisg
ICAgVmVjdG9yPFVuaXF1ZWRTdHJpbmdJbXBsKj4gbV9hZGRlZElkZW50aWZpZXJzOwogfTsKIAog
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAKaW5kZXggYTNlMGEwMmY3YzJiMTMzN2JhNzNhZWY1N2JhMTZhMjk4MGRh
MTQ4Zi4uZmNkMTJlMTBmN2I4YmRmOGI3MTBjNWEzYzhlMTA2ZDJkMTllZjA4NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNDk2LDcgKzE0OTYs
NyBAQCBjbGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICB9CiAgICAgCiAgICAg
Ym9vbCBpc1N0cmluZ1Byb3RvdHlwZU1ldGhvZFNhbmUoCi0gICAgICAgIEpTT2JqZWN0KiBzdHJp
bmdQcm90b3R5cGUsIFN0cnVjdHVyZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCisgICAgICAgIEpTT2JqZWN0KiBzdHJpbmdQcm90b3R5cGUsIFN0cnVj
dHVyZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ICAgIHsKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlc1VudXNlZDsKICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0ID0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAppbmRleCBiOWU2ZTBkZDI0ZmRlYmYwYzFjZDdkMjE0YmZjZWVjZGZmZTU3NGQ5
Li4yYmIxYTc5MjM3ODdkNjE1ZmYzZjZjNWJiMjJiNjNmMmU5Mzg2M2NlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTc5LDcgKzExNzks
NyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
KGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
SV9KSVRPcGVyYXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcx
KQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVF9KSVRPcGVyYXRpb25fRUpz
cyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAgIHsKICAgICAgICAg
bV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwogICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9z
aXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oCmluZGV4IDRiMjhkMzU2MjVhNzMyN2MxMjljNjFhMGI3ODU3MzBiODI5NTI2M2QuLmE1Yjhm
NzMxY2UyYzIxMWQ5ZmE0NGEzYTczNDIwM2EyM2QzYWVhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCkBAIC03Myw3ICs3Myw3
IEBACiAgICAgbWFjcm8oQ19KSVRPcGVyYXRpb25fRVN0WlosIGZ1bmN0aW9uVHlwZShpbnRQdHIs
IGludFB0ciwgaW50UHRyLCBpbnQzMiwgaW50MzIpKSBcCiAgICAgbWFjcm8oQ19KSVRPcGVyYXRp
b25fRVosIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCiAgICAgbWFjcm8o
RF9KSVRPcGVyYXRpb25fRCwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUpKSBc
Ci0gICAgbWFjcm8oSV9KSVRPcGVyYXRpb25fRUpzcywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50
UHRyLCBpbnRQdHIpKSBcCisgICAgbWFjcm8oVF9KSVRPcGVyYXRpb25fRUpzcywgZnVuY3Rpb25U
eXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25f
RSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRp
b25fRUEsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8o
Sl9KSVRPcGVyYXRpb25fRUFaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBp
bnQzMikpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDk4ZDg3NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYwMjk4MTU0MDA3MTMuLjIyN2M0ZmJmMGIz
NzM1MTJlMWYwZDE2OTlkMGI3MmFhYjdlMDlkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIGludDMyX3QgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNoZWNrKEV4ZWNTdGF0ZSogZXhlYykKICAg
ICByZXR1cm4gbWlzc2luZ0FyZ0NvdW50OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK0VuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKQEAgLTE1OCw3ICsxNTgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
bwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZVZhbHVlLmdldChleGVjLCBpZGVudCwg
c2xvdCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK0VuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE3Niw3ICsxNzYsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoaGFzUmVzdWx0
PyBzbG90LmdldFZhbHVlKGV4ZWMsIGlkZW50KSA6IGpzVW5kZWZpbmVkKCkpOwogfQogCi1FbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAg
ICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cih2bSwgZXhlYyk7CkBAIC0xOTUsNyArMTk1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUK
IAogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEpTQ2VsbCogYmFz
ZSwgU3RyaW5nSW1wbCoga2V5KQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZv
LCBKU0NlbGwqIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
CkBAIC0yMjEsNyArMjIxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgSlNDZWxsKiBiYXNlLCBTdHJpbmdJbXBsKiBrZXkpCitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
LCBKU0NlbGwqIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
CkBAIC0yNDMsNyArMjQzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZW5lcmljSW4oRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGJhc2UsIEUKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihDb21tb25TbG93UGF0aHM6Om9wSW4oZXhlYywgSlNW
YWx1ZTo6ZGVjb2RlKGtleSksIGJhc2UpKSk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBT
dHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmlj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRQogICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlk
ZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI2Myw3ICsy
NjMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKgogICAgIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwg
c2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQp
Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bgogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3Qo
ZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsK
IH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3Qo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3Zv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1
CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChl
eGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwog
fQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1
aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMzA3LDcgKzMwNyw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQor
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTMzMSw3ICszMzEsNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlUwogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkK
K3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0zNTUsNyArMzU1LDcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHUKICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVlOwogfQogCi12
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXpl
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBs
KiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmlj
dE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMzc5LDcgKzM3OSw3
IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1CiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1
ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0lt
cGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRM
aXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtNDAwLDcgKzQwMCw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1CiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlVmFs
dWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKIH0KIAot
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVp
ZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlCiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlVmFsdWUs
IHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKIH0KIAotdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVp
ZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRM
aXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtNDQyLDcgKzQ0Miw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0CiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlT2Jq
ZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7CiB9CiAKLXZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBs
KiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmlj
dEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNGM4MWQ4NTQ3YzhjZjY3MDZmMDhkZjA2
MTdjZDlhOTE2ODhlZjk2NS4uNWY2OWFkYWViYzU0NmU4NTBhYzIzNDFjZjkyZjUwZGEwYTlhNzVh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTY0LDcg
KzY0LDcgQEAKICAgICBFOiBFeGVjU3RhdGUqCiAgICAgRjogQ2FsbEZyYW1lKgogICAgIEc6IEpT
R2xvYmFsT2JqZWN0KgotICAgIEk6IFN0cmluZ0ltcGwqCisgICAgSTogVW5pcXVlZFN0cmluZ0lt
cGwqCiAgICAgSWNmOiBJbmxpbmVDYWxsRnJhbWUqCiAgICAgSWRjOiBjb25zdCBJZGVudGlmaWVy
KgogICAgIEo6IEVuY29kZWRKU1ZhbHVlCkBAIC04Myw2ICs4Myw3IEBACiAgICAgU3NpOiBTdHJ1
Y3R1cmVTdHViSW5mbyoKICAgICBTdDogU3RydWN0dXJlKgogICAgIFN5bXRhYjogU3ltYm9sVGFi
bGUqCisgICAgVDogU3RyaW5nSW1wbCoKICAgICBWOiB2b2lkCiAgICAgVm06IFZNKgogICAgIFdz
OiBXYXRjaHBvaW50U2V0KgpAQCAtOTcsMTIgKzk4LDEyIEBACiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQWFwSmNwWikoRXhlY1N0YXRlKiwg
QXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqLCBpbnQzMl90KTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDKShFeGVj
U3RhdGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSlNDZWxsKik7Ci10eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0kpKEV4
ZWNTdGF0ZSosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwg
VW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUNaKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VEQSkoRXhlY1N0YXRlKiwgZG91
YmxlLCBKU0FycmF5Kik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FRSkoRXhlY1N0YXRlKiwgRXhlY1N0YXRlKik7Ci10eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSSkoRXhlY1N0YXRlKiwg
U3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUkpKEV4ZWNTdGF0ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSikoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRUpaKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgaW50
MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FSkMpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqKTsKQEAgLTExNyw4
ICsxMTgsOCBAQAogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwotdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJ
KShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsK
LXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VT
c2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3Ry
aW5nSW1wbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCos
IFVuaXF1ZWRTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50
MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FWkljZlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIElubGluZUNhbGxGcmFtZSosIGludDMy
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVpaKShFeGVjU3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsKQEAgLTE4NCw3ICsxODUsNyBA
QAogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FQ0MpKEV4ZWNT
dGF0ZSosIEpTQ2VsbCosIEpTQ2VsbCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpW
X0pJVE9wZXJhdGlvbl9FWlN5bXRhYkopKEV4ZWNTdGF0ZSosIGludDMyX3QsIFN5bWJvbFRhYmxl
KiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9w
ZXJhdGlvbl9FSikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUpOwotdHlwZWRlZiB2b2lkIEpJ
VF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSkNJKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNW
YWx1ZSwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwordHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04g
KCpWX0pJVE9wZXJhdGlvbl9FSkNJKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxs
KiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9K
SVRPcGVyYXRpb25fRUpJZEpKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSWRlbnRpZmll
ciosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZvaWQgSklUX09Q
RVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKSkopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVS
QVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSlBQKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwg
dm9pZCosIHZvaWQqKTsKQEAgLTE5NCw3ICsxOTUsNyBAQAogdHlwZWRlZiB2b2lkIEpJVF9PUEVS
QVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FT1pKKShFeGVjU3RhdGUqLCBKU09iamVjdCosIGludDMy
X3QsIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRP
cGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiB2b2lkIEpJ
VF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FUFpKKShFeGVjU3RhdGUqLCB2b2lkKiwgaW50
MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwotdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJ
VE9wZXJhdGlvbl9FU3NpSkpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwordHlwZWRlZiB2b2lkIEpJ
VF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FU3NpSkpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVdz
KShFeGVjU3RhdGUqLCBXYXRjaHBvaW50U2V0Kik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgdm9p
ZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVpKKShFeGVjU3RhdGUqLCBpbnQzMl90
LCBFbmNvZGVkSlNWYWx1ZSk7CkBAIC0yMTgsNyArMjE5LDcgQEAKIHR5cGVkZWYgY2hhciogSklU
X09QRVJBVElPTiAoKlBfSklUT3BlcmF0aW9uX0VTdFNTKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
LCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9w
ZXJhdGlvbl9FU3RaKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90KTsKIHR5cGVkZWYg
Y2hhciogSklUX09QRVJBVElPTiAoKlBfSklUT3BlcmF0aW9uX0VaWikoRXhlY1N0YXRlKiwgaW50
MzJfdCwgaW50MzJfdCk7Ci10eXBlZGVmIFN0cmluZ0ltcGwqIEpJVF9PUEVSQVRJT04gKCpJX0pJ
VE9wZXJhdGlvbl9FSnNzKShFeGVjU3RhdGUqLCBKU1N0cmluZyopOwordHlwZWRlZiBTdHJpbmdJ
bXBsKiBKSVRfT1BFUkFUSU9OICgqVF9KSVRPcGVyYXRpb25fRUpzcykoRXhlY1N0YXRlKiwgSlNT
dHJpbmcqKTsKIHR5cGVkZWYgSlNTdHJpbmcqIEpJVF9PUEVSQVRJT04gKCpKc3NfSklUT3BlcmF0
aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIAogLy8gVGhpcyBtZXRob2QgaXMgdXNlZCB0
byBsb29rdXAgYW4gZXhjZXB0aW9uIGhhbmRlciwga2V5ZWQgYnkgZmF1bHRMb2NhdGlvbiwgd2hp
Y2ggaXMKQEAgLTIzMSwyNCArMjMyLDI0IEBACiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
VGhyb3dTdGFja092ZXJmbG93RXJyb3IoRXhlY1N0YXRlKiwgQ29kZUJsb2NrKikgV1RGX0lOVEVS
TkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxBcml0eUNoZWNrKEV4ZWNT
dGF0ZSopIFdURl9JTlRFUk5BTDsKIGludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db25z
dHJ1Y3RBcml0eUNoZWNrKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZf
SU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRP
cHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBT
dHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxs
KiwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uSW4oRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBT
dHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lO
VEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0
aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5p
cXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBK
U0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4oRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2VuZXJpY0luKEV4ZWNTdGF0ZSosIEpTQ2VsbCos
IEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0lt
cGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5v
blN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZf
SU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmlj
dChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7
Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXpl
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsK
LXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsK
LXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVp
bGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
Owordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXpl
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZf
SU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwq
KSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7
Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxk
TGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblJlYWxsb2NhdGVTdG9y
YWdlQW5kRmluaXNoUHV0KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgU3RydWN0dXJlKiwgUHJvcGVy
dHlPZmZzZXQsIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5jcHAKaW5kZXggNzIwOTY5ZTVmOGUyN2NiZTNkZmFhOTA1NmM1MTQz
NzgxZDc4OGRjMy4uZmY5YWE0NGFkMTQ3OGFiNzA5MWRhYjQ4MTY1NDAyNGQxMWZhMDUzYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBT
dGF0ZW1lbnROb2RlKiBTY29wZU5vZGU6OnNpbmdsZVN0YXRlbWVudCgpIGNvbnN0CiB7CiB9CiAK
LXZvaWQgUHJvZ3JhbU5vZGU6OnNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKK3ZvaWQgUHJvZ3JhbU5vZGU6OnNldENsb3NlZFZh
cmlhYmxlcyhWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJs
ZXMpCiB7CiAgICAgbV9jbG9zZWRWYXJpYWJsZXMgPSBXVEY6Om1vdmUoY2xvc2VkVmFyaWFibGVz
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCBkMmNmMmVlNGYzOTJj
MTJhYzI2NTNjMmYwODJmZGM0NGU4ODBhYWFlLi5kNzU0OGQwNzQzNTFlOWY2OWI3MTNmMTEzOWMx
YWNiYTlmNzY2YjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC03Niw3
ICs3Niw3IEBACiAgICAgfTsKICAgICBpbmxpbmUgRmFsbFRocm91Z2hNb2RlIGludmVydChGYWxs
VGhyb3VnaE1vZGUgZmFsbFRocm91Z2hNb2RlKSB7IHJldHVybiBzdGF0aWNfY2FzdDxGYWxsVGhy
b3VnaE1vZGU+KCFmYWxsVGhyb3VnaE1vZGUpOyB9CiAKLSAgICB0eXBlZGVmIEhhc2hTZXQ8UmVm
UHRyPFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclNldDsKKyAgICB0
eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhh
c2g+IElkZW50aWZpZXJTZXQ7CiAKICAgICBuYW1lc3BhY2UgRGVjbGFyYXRpb25TdGFja3Mgewog
ICAgICAgICBlbnVtIFZhckF0dHJzIHsgSXNDb25zdGFudCA9IDEsIEhhc0luaXRpYWxpemVyID0g
MiB9OwpAQCAtMTU0Niw3ICsxNTQ2LDcgQEAKICAgICAgICAgYm9vbCBoYXNDYXB0dXJlZFZhcmlh
YmxlcygpIGNvbnN0IHsgcmV0dXJuICEhbV9jYXB0dXJlZFZhcmlhYmxlcy5zaXplKCk7IH0KICAg
ICAgICAgc2l6ZV90IGNhcHR1cmVkVmFyaWFibGVDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fw
dHVyZWRWYXJpYWJsZXMuc2l6ZSgpOyB9CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXJTZXQmIGNh
cHR1cmVkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlczsgfQot
ICAgICAgICBib29sIGNhcHR1cmVzKFN0cmluZ0ltcGwqIHVpZCkgeyByZXR1cm4gbV9jYXB0dXJl
ZFZhcmlhYmxlcy5jb250YWlucyh1aWQpOyB9CisgICAgICAgIGJvb2wgY2FwdHVyZXMoVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkgeyByZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlcy5jb250YWlucyh1
aWQpOyB9CiAgICAgICAgIGJvb2wgY2FwdHVyZXMoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpIHsg
cmV0dXJuIGNhcHR1cmVzKGlkZW50LmltcGwoKSk7IH0KIAogICAgICAgICBWYXJTdGFjayYgdmFy
U3RhY2soKSB7IHJldHVybiBtX3ZhclN0YWNrOyB9CkBAIC0xNTYzLDcgKzE1NjMsNyBAQAogCiAg
ICAgICAgIHZvaWQgZW1pdFN0YXRlbWVudHNCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJl
Z2lzdGVySUQqIGRlc3RpbmF0aW9uKTsKICAgICAgICAgCi0gICAgICAgIHZvaWQgc2V0Q2xvc2Vk
VmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpIHsgfQorICAgICAgICB2b2lk
IHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJikg
eyB9CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIGludCBtX3N0YXJ0TGluZU51bWJlcjsKQEAg
LTE1ODksMTIgKzE1ODksMTIgQEAKIAogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzY29wZUlz
RnVuY3Rpb24gPSBmYWxzZTsKIAotICAgICAgICB2b2lkIHNldENsb3NlZFZhcmlhYmxlcyhWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmKTsKLSAgICAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxT
dHJpbmdJbXBsPj4mIGNsb3NlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2xvc2VkVmFy
aWFibGVzOyB9CisgICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+PiYmKTsKKyAgICAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+JiBjbG9zZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX2Nsb3Nl
ZFZhcmlhYmxlczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lkIGVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7Ci0g
ICAgICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOworICAg
ICAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7
CiAgICAgICAgIHVuc2lnbmVkIG1fc3RhcnRDb2x1bW47CiAgICAgICAgIHVuc2lnbmVkIG1fZW5k
Q29sdW1uOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5k
ZXggZmQ0MjQ0NTZkYzRlNjcxNDJmZGQ3OTNhODZhYTBhNzM0YjA0ZTgxNC4uZGMzMzMxZjFjZjY1
ZDEwYmQ1N2E5NGE5ZWZjNWIzNjQxMDcxYTVkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBACiAgICAgICAgIGZlYXR1cmVzIHw9IE1v
ZGlmaWVkUGFyYW1ldGVyRmVhdHVyZTsKICAgICBpZiAobW9kaWZpZWRBcmd1bWVudHMpCiAgICAg
ICAgIGZlYXR1cmVzIHw9IE1vZGlmaWVkQXJndW1lbnRzRmVhdHVyZTsKLSAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiBjbG9zZWRWYXJpYWJsZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+IGNsb3NlZFZhcmlhYmxlczsKICAgICBpZiAobV9wYXJzaW5nQnVpbHRp
bikgewogICAgICAgICBJZGVudGlmaWVyU2V0IHVzZWRWYXJpYWJsZXM7CiAgICAgICAgIHNjb3Bl
LT5nZXRVc2VkVmFyaWFibGVzKHVzZWRWYXJpYWJsZXMpOwpAQCAtMzI1LDcgKzMyNSw3IEBACiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpk
aWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cywgRGVjbGFyYXRp
b25TdGFja3M6OlZhclN0YWNrJiB2YXJTdGFjaywgCi0gICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1
bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29u
c3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQorICAgIERlY2xhcmF0aW9uU3RhY2tzOjpG
dW5jdGlvblN0YWNrJiBmdW5jU3RhY2ssIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNv
bnN0YW50cywgSWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMpCiB7CiAgICAgbV9zb3VyY2VF
bGVtZW50cyA9IHNvdXJjZUVsZW1lbnRzOwogICAgIG1fdmFyRGVjbGFyYXRpb25zLnN3YXAodmFy
U3RhY2spOwpAQCAtMjE4Nyw3ICsyMTg3LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgYm9vbCBp
c1VuYXJ5T3AoSlNUb2tlblR5cGUgdG9rZW4pCiAgICAgVHJlZVByb3BlcnR5IHByb3BlcnR5ID0g
cGFyc2VQcm9wZXJ0eShjb250ZXh0LCB0cnVlKTsKICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwg
IkNhbm5vdCBwYXJzZSBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eSIpOwogICAgIAotICAgIHR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIHVuc2lnbmVkLCBJZGVudGlmaWVyUmVwSGFz
aD4gT2JqZWN0VmFsaWRhdGlvbk1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1
ZWRTdHJpbmdJbXBsPiwgdW5zaWduZWQsIElkZW50aWZpZXJSZXBIYXNoPiBPYmplY3RWYWxpZGF0
aW9uTWFwOwogICAgIE9iamVjdFZhbGlkYXRpb25NYXAgb2JqZWN0VmFsaWRhdG9yOwogICAgIC8v
IEFkZCB0aGUgZmlyc3QgcHJvcGVydHkKICAgICBpZiAoIW1fc3ludGF4QWxyZWFkeVZhbGlkYXRl
ZCAmJiBjb250ZXh0LmdldE5hbWUocHJvcGVydHkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKaW5kZXggM2RmZjhlNDliMzA1N2M0OTkxNDQ1ZjZmYzRlZDQyYzlmMzQ2NWFjOC4u
NTA3NGU0ZDJlYzAzZjE0MTA4NDk4NWI0ZjY3NjIzYTRjNzIxNTg4YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC05NywxMyArOTcsMTMgQEAgZW51bSBEZWNvbnN0cnVj
dGlvbktpbmQgewogdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFdmFsTm9kZTxFdmFsTm9kZT4o
KSB7IHJldHVybiB0cnVlOyB9CiAKIHN0cnVjdCBTY29wZUxhYmVsSW5mbyB7Ci0gICAgU2NvcGVM
YWJlbEluZm8oU3RyaW5nSW1wbCogaWRlbnQsIGJvb2wgaXNMb29wKQorICAgIFNjb3BlTGFiZWxJ
bmZvKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudCwgYm9vbCBpc0xvb3ApCiAgICAgICAgIDogbV9p
ZGVudChpZGVudCkKICAgICAgICAgLCBtX2lzTG9vcChpc0xvb3ApCiAgICAgewogICAgIH0KIAot
ICAgIFN0cmluZ0ltcGwqIG1faWRlbnQ7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1faWRlbnQ7
CiAgICAgYm9vbCBtX2lzTG9vcDsKIH07CiAKQEAgLTE5MywxNCArMTkzLDE0IEBAIHN0cnVjdCBT
Y29wZSB7CiAKICAgICB2b2lkIGRlY2xhcmVDYWxsZWUoY29uc3QgSWRlbnRpZmllciogaWRlbnQp
CiAgICAgewotICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5nKCku
aW1wbCgpKTsKKyAgICAgICAgbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7
CiAgICAgfQogCiAgICAgYm9vbCBkZWNsYXJlVmFyaWFibGUoY29uc3QgSWRlbnRpZmllciogaWRl
bnQpCiAgICAgewogICAgICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRz
ICE9ICppZGVudDsKICAgICAgICAgbV9pc1ZhbGlkU3RyaWN0TW9kZSA9IG1faXNWYWxpZFN0cmlj
dE1vZGUgJiYgaXNWYWxpZFN0cmljdE1vZGU7Ci0gICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMu
YWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVz
LmFkZChpZGVudC0+aW1wbCgpKTsKICAgICAgICAgcmV0dXJuIGlzVmFsaWRTdHJpY3RNb2RlOwog
ICAgIH0KIApAQCAtMjI2LDkgKzIyNiw5IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgYm9vbCBkZWNs
YXJlUGFyYW1ldGVyKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAgICAgYm9v
bCBpc0FyZ3VtZW50cyA9IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaWRlbnQ7
Ci0gICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBtX2RlY2xhcmVkVmFyaWFibGVzLmFk
ZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKS5pc05ld0VudHJ5ICYmIG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgIT0gKmlkZW50ICYmICFpc0FyZ3VtZW50czsKKyAgICAgICAgYm9vbCBpc1ZhbGlk
U3RyaWN0TW9kZSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpLmlzTmV3
RW50cnkgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJndW1l
bnRzOwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9pc1ZhbGlkU3RyaWN0TW9kZSAm
JiBpc1ZhbGlkU3RyaWN0TW9kZTsKLSAgICAgICAgbV9kZWNsYXJlZFBhcmFtZXRlcnMuYWRkKGlk
ZW50LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVkUGFyYW1ldGVycy5hZGQo
aWRlbnQtPmltcGwoKSk7CiAKICAgICAgICAgaWYgKGlzQXJndW1lbnRzKQogICAgICAgICAgICAg
bV9zaGFkb3dzQXJndW1lbnRzID0gdHJ1ZTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBzdHJ1Y3QgU2Nv
cGUgewogICAgIEJpbmRpbmdSZXN1bHQgZGVjbGFyZUJvdW5kUGFyYW1ldGVyKGNvbnN0IElkZW50
aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAgICAgYm9vbCBpc0FyZ3VtZW50cyA9IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaWRlbnQ7Ci0gICAgICAgIGJvb2wgbmV3RW50cnkg
PSBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKS5pc05ld0Vu
dHJ5OworICAgICAgICBib29sIG5ld0VudHJ5ID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRl
bnQtPmltcGwoKSkuaXNOZXdFbnRyeTsKICAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9
IG5ld0VudHJ5ICYmIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlkZW50ICYmICFpc0Fy
Z3VtZW50czsKICAgICAgICAgbV9pc1ZhbGlkU3RyaWN0TW9kZSA9IG1faXNWYWxpZFN0cmljdE1v
ZGUgJiYgaXNWYWxpZFN0cmljdE1vZGU7CiAgICAgCkBAIC0yNjIsNyArMjYyLDcgQEAgc3RydWN0
IFNjb3BlIHsKICAgICB2b2lkIHVzZVZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXIqIGlkZW50LCBi
b29sIGlzRXZhbCkKICAgICB7CiAgICAgICAgIG1fdXNlc0V2YWwgfD0gaXNFdmFsOwotICAgICAg
ICBtX3VzZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBt
X3VzZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgIH0KIAogICAgIHZvaWQgc2V0
TmVlZHNGdWxsQWN0aXZhdGlvbigpIHsgbV9uZWVkc0Z1bGxBY3RpdmF0aW9uID0gdHJ1ZTsgfQpA
QCAtMzM3LDcgKzMzNyw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0
TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZFN0cmljdE1vZGU7IH0KICAgICBib29sIHNo
YWRvd3NBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd3NBcmd1bWVudHM7IH0KIAot
ICAgIHZvaWQgY29weUNhcHR1cmVkVmFyaWFibGVzVG9WZWN0b3IoY29uc3QgSWRlbnRpZmllclNl
dCYgY2FwdHVyZWRWYXJpYWJsZXMsIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiB2ZWN0b3Ip
CisgICAgdm9pZCBjb3B5Q2FwdHVyZWRWYXJpYWJsZXNUb1ZlY3Rvcihjb25zdCBJZGVudGlmaWVy
U2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+
JiB2ZWN0b3IpCiAgICAgewogICAgICAgICBJZGVudGlmaWVyU2V0OjppdGVyYXRvciBlbmQgPSBj
YXB0dXJlZFZhcmlhYmxlcy5lbmQoKTsKICAgICAgICAgZm9yIChJZGVudGlmaWVyU2V0OjppdGVy
YXRvciBpdCA9IGNhcHR1cmVkVmFyaWFibGVzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewpA
QCAtNDM2LDcgKzQzNiw3IEBAIGNsYXNzIFBhcnNlciB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBh
cnNlZE5vZGU+IHBhcnNlKFBhcnNlckVycm9yJik7CiAKICAgICBKU1RleHRQb3NpdGlvbiBwb3Np
dGlvbkJlZm9yZUxhc3ROZXdsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9sZXhlci0+cG9zaXRpb25C
ZWZvcmVMYXN0TmV3bGluZSgpOyB9Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBj
bG9zZWRWYXJpYWJsZXMoKSB7IHJldHVybiBXVEY6Om1vdmUobV9jbG9zZWRWYXJpYWJsZXMpOyB9
CisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVz
KCkgeyByZXR1cm4gV1RGOjptb3ZlKG1fY2xvc2VkVmFyaWFibGVzKTsgfQogCiBwcml2YXRlOgog
ICAgIHN0cnVjdCBBbGxvd0luT3ZlcnJpZGUgewpAQCAtNTYzLDcgKzU2Myw3IEBAIGNsYXNzIFBh
cnNlciB7CiAgICAgU3RyaW5nIHBhcnNlSW5uZXIoKTsKIAogICAgIHZvaWQgZGlkRmluaXNoUGFy
c2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYsIAotICAg
ICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYsIENvZGVGZWF0dXJlcywgaW50
LCBJZGVudGlmaWVyU2V0JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJik7Cisg
ICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29kZUZlYXR1cmVzLCBp
bnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
Pj4mJik7CiAKICAgICAvLyBVc2VkIHRvIGRldGVybWluZSB0eXBlIG9mIGVycm9yIHRvIHJlcG9y
dC4KICAgICBib29sIGlzRnVuY3Rpb25Cb2R5Tm9kZShTY29wZU5vZGUqKSB7IHJldHVybiBmYWxz
ZTsgfQpAQCAtODg0LDcgKzg4NCw3IEBAIGNsYXNzIFBhcnNlciB7CiAgICAgRGVjbGFyYXRpb25T
dGFja3M6OlZhclN0YWNrIG1fdmFyRGVjbGFyYXRpb25zOwogICAgIERlY2xhcmF0aW9uU3RhY2tz
OjpGdW5jdGlvblN0YWNrIG1fZnVuY0RlY2xhcmF0aW9uczsKICAgICBJZGVudGlmaWVyU2V0IG1f
Y2FwdHVyZWRWYXJpYWJsZXM7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gbV9jbG9z
ZWRWYXJpYWJsZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+IG1fY2xv
c2VkVmFyaWFibGVzOwogICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1cmVzOwogICAgIGludCBtX251
bUNvbnN0YW50czsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcy
Zjc2MTZkY2I1OTIxYTgyOTQ0Li41ZTNmZGZmZGRhMmE2YzdkMjFjYTQzYzZkNTUyZDk5NjI4ZDc0
MTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQ
cm92aWRlckNhY2hlSXRlbS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJQYXJzZXJU
b2tlbnMuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5p
cXVlZFN0cmluZ0ltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00MCw4ICs0MSw4IEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwog
ICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOwotICAgIFZlY3RvcjxSZWZQ
dHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJ
bXBsPj4gd3JpdHRlblZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJ
bXBsPj4gdXNlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
Pj4gd3JpdHRlblZhcmlhYmxlczsKIH07CiAKICNpZiBDT01QSUxFUihNU1ZDKQpAQCAtODIsMTMg
KzgzLDEzIEBAIGNsYXNzIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtIHsKICAgICB1bnNpZ25lZCB1
c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50Owog
Ci0gICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9j
YXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9Ci0gICAgU3RyaW5nSW1wbCoqIHdyaXR0
ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1f
dmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwq
KiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxVbmlxdWVkU3RyaW5n
SW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCoqIHdyaXR0ZW5W
YXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKio+
KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCiBwcml2YXRlOgogICAgIFNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAKLSAgICBTdHJpbmdJbXBsKiBtX3ZhcmlhYmxlc1swXTsKKyAgICBV
bmlxdWVkU3RyaW5nSW1wbCogbV92YXJpYWJsZXNbMF07CiB9OwogCiBpbmxpbmUgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06On5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpCkBAIC0xMDAsNyArMTAx
LDcgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp+U291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0oKQogaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4g
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICAgICBzaXplX3QgdmFyaWFi
bGVDb3VudCA9IHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkgKyBwYXJhbWV0ZXJz
LnVzZWRWYXJpYWJsZXMuc2l6ZSgpOwotICAgIHNpemVfdCBvYmplY3RTaXplID0gc2l6ZW9mKFNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtKSArIHNpemVvZihTdHJpbmdJbXBsKikgKiB2YXJpYWJsZUNv
dW50OworICAgIHNpemVfdCBvYmplY3RTaXplID0gc2l6ZW9mKFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtKSArIHNpemVvZihVbmlxdWVkU3RyaW5nSW1wbCopICogdmFyaWFibGVDb3VudDsKICAgICB2
b2lkKiBzbG90ID0gZmFzdE1hbGxvYyhvYmplY3RTaXplKTsKICAgICByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPihuZXcgKHNsb3QpIFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKHBhcmFtZXRlcnMpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAppbmRleCBjZWFiZDI1MmQwZDhjYzJhMzhh
NzY4OTBjNjhkMjgzOTRhNjY3ZGZiLi4wMGY0OWExY2E1Nzg4ZDY5NjM3M2JlYjBlZGY2ZTUxMmZj
NThlZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuY3BwCkBAIC01Miw3ICs1MiwxMiBAQAogewogfQogCi1ib29sIENvbW1vbklk
ZW50aWZpZXJzOjppc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3QKK2Jvb2wgQ29t
bW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCogdWlkKSBjb25zdAorewor
ICAgIHJldHVybiBtX2J1aWx0aW5OYW1lcy0+aXNQcml2YXRlTmFtZSh1aWQpOworfQorCitib29s
IENvbW1vbklkZW50aWZpZXJzOjppc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5pc1ByaXZhdGVOYW1lKHVpZCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaAppbmRleCA3OTA2OWVhOTY0ZDYwNjE1NDFlOTVkZDdmMWM5MzMwZjNlOGMyODJlLi41ZmFk
Mjg4ZGYwYjY1NjVlZmM5MGM5NWY1OWI4OWE0NGM3MmIwMTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTMyMSw3ICszMjEs
OCBAQAogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tO
T1dOX1NZTUJPTChKU0NfSURFTlRJRklFUl9ERUNMQVJFX1BSSVZBVEVfV0VMTF9LTk9XTl9TWU1C
T0xfR0xPQkFMKQogI3VuZGVmIEpTQ19JREVOVElGSUVSX0RFQ0xBUkVfUFJJVkFURV9XRUxMX0tO
T1dOX1NZTUJPTF9HTE9CQUwKIAotICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoU3RyaW5nSW1w
bCogdWlkKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN5bWJvbEltcGwqIHVp
ZCkgY29uc3Q7CisgICAgICAgIGJvb2wgaXNQcml2YXRlTmFtZShVbmlxdWVkU3RyaW5nSW1wbCog
dWlkKSBjb25zdDsKICAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXIm
KSBjb25zdDsKIAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBnZXRQcml2YXRlTmFtZShjb25z
dCBJZGVudGlmaWVyJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JZGVudGlmaWVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVu
dGlmaWVyLmgKaW5kZXggZTI5YzQ5Nzc0YjUzZTgzMzQ1NzFkOTM1ZWEyNGUzYTljYTJlNGFkYi4u
NzNjZTZlYTg5MzQ5ZGVlY2JjNGZjNzQ2MDg0NTU3OWY3ZmMxNDY4MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1
ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtOTIsNyArOTMsNyBAQCBjbGFzcyBJZGVudGlmaWVyIHsKICAgICBJZGVu
dGlmaWVyKEVtcHR5SWRlbnRpZmllckZsYWcpIDogbV9zdHJpbmcoU3RyaW5nSW1wbDo6ZW1wdHko
KSkgeyBBU1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc0F0b21pYygpKTsgfQogCiAgICAgY29uc3Qg
U3RyaW5nJiBzdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZzsgfQotICAgIEF0b21pY1N0
cmluZ0ltcGwqIGltcGwoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJ
bXBsKj4obV9zdHJpbmcuaW1wbCgpKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBpbXBsKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqPihtX3N0cmluZy5p
bXBsKCkpOyB9CiAKICAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcubGVu
Z3RoKCk7IH0KIApAQCAtMTIzLDggKzEyNCw4IEBAIGNsYXNzIElkZW50aWZpZXIgewogICAgIHN0
YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJik7CiAg
ICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVN0cmluZyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKik7
CiAKLSAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKFZNKiwgU3RyaW5nSW1wbCogdWlkKTsK
LSAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqIHVp
ZCk7CisgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChWTSosIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpOworICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoRXhlY1N0YXRlKiwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChjb25zdCBQ
cml2YXRlTmFtZSYpOwogCiAgICAgc3RhdGljIElkZW50aWZpZXIgY3JlYXRlTENoYXJGcm9tVUNo
YXIoVk0qIHZtLCBjb25zdCBVQ2hhciogcywgaW50IGxlbmd0aCkgeyByZXR1cm4gSWRlbnRpZmll
cih2bSwgYWRkOCh2bSwgcywgbGVuZ3RoKSk7IH0KQEAgLTE3NCw4ICsxNzUsNyBAQCBjbGFzcyBJ
ZGVudGlmaWVyIHsKICAgICBJZGVudGlmaWVyKFZNKiB2bSwgY29uc3QgU3RyaW5nJiBzdHJpbmcp
IDogbV9zdHJpbmcoYWRkKHZtLCBzdHJpbmcuaW1wbCgpKSkgeyBBU1NFUlQobV9zdHJpbmcuaW1w
bCgpLT5pc0F0b21pYygpKTsgfQogICAgIElkZW50aWZpZXIoVk0qIHZtLCBTdHJpbmdJbXBsKiBy
ZXApIDogbV9zdHJpbmcoYWRkKHZtLCByZXApKSB7IEFTU0VSVChtX3N0cmluZy5pbXBsKCktPmlz
QXRvbWljKCkpOyB9CiAKLSAgICBlbnVtIFVuaXF1ZUlkZW50aWZpZXJGbGFnIHsgVW5pcXVlSWRl
bnRpZmllciB9OwotICAgIElkZW50aWZpZXIoVW5pcXVlSWRlbnRpZmllckZsYWcsIFN0cmluZ0lt
cGwqIHVpZCkgOiBtX3N0cmluZyh1aWQpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNTeW1i
b2woKSk7IH0KKyAgICBJZGVudGlmaWVyKFN5bWJvbEltcGwqIHVpZCkgOiBtX3N0cmluZyh1aWQp
IHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSk7IH0KIAogICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyVHlwZT4KICAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyB1aW50MzJfdCB0
b1VJbnQzMkZyb21DaGFyYWN0ZXJzKGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25l
ZCBsZW5ndGgsIGJvb2wmIG9rKTsKQEAgLTI3MSw3ICsyNzEsNyBAQCBpbmxpbmUgYm9vbCBJZGVu
dGlmaWVyOjplcXVhbChjb25zdCBTdHJpbmdJbXBsKiByLCBjb25zdCBVQ2hhciogcywgdW5zaWdu
ZWQgbGVuZwogCiBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPHVpbnQzMl90PiBwYXJzZUluZGV4KGNv
bnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiB7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlk
ID0gaWRlbnRpZmllci5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50
aWZpZXIuaW1wbCgpOwogICAgIGlmICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAg
ICBpZiAodWlkLT5pc1N5bWJvbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKaW5kZXggNDA2MjIxYTYzYWFkOTY1ZjQ3MzBlNDY4ODM0
NzM2N2MzYjI2NzA0Yi4uMjkzMzU2Y2NiYTAzNTZiMzk5NDQ4YTRhMzc4MzExZGQ3MTUzZTU4YSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5l
cy5oCkBAIC03MCwyMSArNzAsMjEgQEAgaW5saW5lIElkZW50aWZpZXI6OklkZW50aWZpZXIoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykKICAgICByZXR1cm4gKkF0
b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoKnZtLCByKTsKIH0KIAotaW5s
aW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChWTSogdm0sIFN0cmluZ0ltcGwqIHVp
ZCkKK2lubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0qIHZtLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIGlmICghdWlkIHx8ICF1aWQtPmlzU3ltYm9sKCkpCiAg
ICAgICAgIHJldHVybiBJZGVudGlmaWVyKHZtLCB1aWQpOwotICAgIHJldHVybiBJZGVudGlmaWVy
KFVuaXF1ZUlkZW50aWZpZXIsIHVpZCk7CisgICAgcmV0dXJuIElkZW50aWZpZXIoc3RhdGljX2Nh
c3Q8U3ltYm9sSW1wbCo+KHVpZCkpOwogfQogCi1pbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVy
Ojpmcm9tVWlkKEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nSW1wbCogdWlkKQoraW5saW5lIElkZW50
aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpCiB7CiAgICAgcmV0dXJuIGZyb21VaWQoJmV4ZWMtPnZtKCksIHVpZCk7CiB9CiAK
IGlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoY29uc3QgUHJpdmF0ZU5hbWUm
IG5hbWUpCiB7Ci0gICAgcmV0dXJuIElkZW50aWZpZXIoVW5pcXVlSWRlbnRpZmllciwgbmFtZS51
aWQoKSk7CisgICAgcmV0dXJuIElkZW50aWZpZXIobmFtZS51aWQoKSk7CiB9CiAKIHRlbXBsYXRl
PHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKaW5kZXggYzI0MzIwNmUz
NGNiMGViOTA2MWRlYTY3ZTU3YzQ3NjRjMTg3MmI2ZC4uZDczZjc0OGUzYWY1NzRlMTJiZmZhMTNk
MjdhM2EwNjZhOTc2OWZhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCBi
b29sIEludGVuZGVkU3RydWN0dXJlQ2hhaW46Om1hdGNoZXMoU3RydWN0dXJlQ2hhaW4qIGNoYWlu
KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEludGVuZGVkU3RydWN0dXJlQ2hh
aW46Om1heUludGVyY2VwdFN0b3JlVG8oQXRvbWljU3RyaW5nSW1wbCogdWlkKQorYm9vbCBJbnRl
bmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fdmVjdG9yLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgKaW5kZXggM2Mw
MTkxNzdkYTY1M2U5ZTc1ZjYzZTgwMWM1MTY0NDRkNDYxZDRlYi4uYTBmNTU2NWJkMTFmZWU4Yzgz
NzExZjBmNTYwNTJmMjE0MzIyOWU1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaApAQCAtNDksNyArNDksNyBAQCBj
bGFzcyBJbnRlbmRlZFN0cnVjdHVyZUNoYWluIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZW5kZWRT
dHJ1Y3R1cmVDaGFpbj4gewogICAgIAogICAgIGJvb2wgaXNTdGlsbFZhbGlkKCkgY29uc3Q7CiAg
ICAgYm9vbCBtYXRjaGVzKFN0cnVjdHVyZUNoYWluKikgY29uc3Q7Ci0gICAgYm9vbCBtYXlJbnRl
cmNlcHRTdG9yZVRvKEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgYm9vbCBtYXlJbnRlcmNl
cHRTdG9yZVRvKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIGJvb2wgaXNOb3JtYWxpemVk
KCk7CiAgICAgCiAgICAgYm9vbCB0YWtlc1Nsb3dQYXRoSW5ERkdGb3JJbXB1cmVQcm9wZXJ0eSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCmluZGV4IDM5MzRhNWI1YzQ1
NWE1OTc4MTc1ZTczOWUwYTFiYTJkMzAwZjUyOWMuLmUyYzhhMTczMDI4NTkyMTBlZTRhZDFhOGI4
N2E1ZDQ5NWE2ODY4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hcERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRhLmgK
QEAgLTExNSw3ICsxMTUsNyBAQCBjbGFzcyBNYXBEYXRhSW1wbCB7CiAgICAgdHlwZWRlZiBIYXNo
TWFwPEpTQ2VsbCosIGludDMyX3QsIHR5cGVuYW1lIFdURjo6RGVmYXVsdEhhc2g8SlNDZWxsKj46
Okhhc2gsIFdURjo6SGFzaFRyYWl0czxKU0NlbGwqPiwgSW5kZXhUcmFpdHM+IENlbGxLZXllZE1h
cDsKICAgICB0eXBlZGVmIEhhc2hNYXA8RW5jb2RlZEpTVmFsdWUsIGludDMyX3QsIEVuY29kZWRK
U1ZhbHVlSGFzaCwgRW5jb2RlZEpTVmFsdWVIYXNoVHJhaXRzLCBJbmRleFRyYWl0cz4gVmFsdWVL
ZXllZE1hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIGludDMyX3QsIHR5cGVu
YW1lIFdURjo6RGVmYXVsdEhhc2g8U3RyaW5nSW1wbCo+OjpIYXNoLCBXVEY6Okhhc2hUcmFpdHM8
U3RyaW5nSW1wbCo+LCBJbmRleFRyYWl0cz4gU3RyaW5nS2V5ZWRNYXA7Ci0gICAgdHlwZWRlZiBI
YXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6OkRlZmF1bHRI
YXNoPEF0b21pY1N0cmluZ0ltcGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJhaXRzPEF0b21pY1N0cmlu
Z0ltcGwqPiwgSW5kZXhUcmFpdHM+IFN5bWJvbEtleWVkTWFwOworICAgIHR5cGVkZWYgSGFzaE1h
cDxTeW1ib2xJbXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxTeW1ib2xJ
bXBsKj46Okhhc2gsIFdURjo6SGFzaFRyYWl0czxTeW1ib2xJbXBsKj4sIEluZGV4VHJhaXRzPiBT
eW1ib2xLZXllZE1hcDsKIAogICAgIHNpemVfdCBjYXBhY2l0eUluQnl0ZXMoKSB7IHJldHVybiBt
X2NhcGFjaXR5ICogc2l6ZW9mKEVudHJ5KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZDdiNTE2YTQzM2Q4MjBj
ZThlNGUwZjcxZWY4NTBlYmQ4Y2VlZDgyYS4uYWRiMzY5MzljNmNhMjk3YTcxYzRiNTEzOGE1MTQw
ZWJmNjFmNTQwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2Jq
ZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdENvbnN0cnVjdG9yLmNwcApAQCAtMjQyLDcgKzI0Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eVN5bWJvbHMoRXhlY1N0
YXRlKiBlCiAgICAgSlNBcnJheSogbmFtZXMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDAp
OwogICAgIHNpemVfdCBudW1Qcm9wZXJ0aWVzID0gcHJvcGVydGllcy5zaXplKCk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBudW1Qcm9wZXJ0aWVzOyBpKyspIHsKLSAgICAgICAgQXRvbWlj
U3RyaW5nSW1wbCogaW1wbCA9IHByb3BlcnRpZXNbaV0uaW1wbCgpOworICAgICAgICBVbmlxdWVk
U3RyaW5nSW1wbCogaW1wbCA9IHByb3BlcnRpZXNbaV0uaW1wbCgpOwogICAgICAgICBpZiAoaW1w
bC0+aXNTeW1ib2woKSAmJiAhZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoaW1w
bCkpCiAgICAgICAgICAgICBuYW1lcy0+cHVzaChleGVjLCBTeW1ib2w6OmNyZWF0ZShleGVjLT52
bSgpLCBpbXBsKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJpdmF0ZU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZh
dGVOYW1lLmgKaW5kZXggY2NjY2MzOWZhOTM5MTNiM2ZhNjFjNzUwZTY4ZGM3MjkxNmU1YjcxNC4u
MjViM2U1MGRjNDgwNzJiYzViNzY5OWE0ODdkNTkyNTAxMzE2NzIyZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVm
aW5lIFByaXZhdGVOYW1lX2gKIAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0z
Nyw3ICszOCw3IEBAIGNsYXNzIFByaXZhdGVOYW1lIHsKICAgICB7CiAgICAgfQogCi0gICAgZXhw
bGljaXQgUHJpdmF0ZU5hbWUoU3RyaW5nSW1wbCogdWlkKQorICAgIGV4cGxpY2l0IFByaXZhdGVO
YW1lKFN5bWJvbEltcGwqIHVpZCkKICAgICAgICAgOiBtX2ltcGwodWlkKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKG1faW1wbC0+aXNTeW1ib2woKSk7CkBAIC00OCwxMyArNDksMTMgQEAgY2xhc3Mg
UHJpdmF0ZU5hbWUgewogICAgIHsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQo
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBsLmdl
dCgpKTsgfQorICAgIFN5bWJvbEltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQo
KTsgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikgY29u
c3QgeyByZXR1cm4gdWlkKCkgPT0gb3RoZXIudWlkKCk7IH0KICAgICBib29sIG9wZXJhdG9yIT0o
Y29uc3QgUHJpdmF0ZU5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSAhPSBvdGhlci51
aWQoKTsgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7CisgICAg
UmVmUHRyPFN5bWJvbEltcGw+IG1faW1wbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCmluZGV4IGFjOTVjYTE3
NTYwZWUxNzdmYTNjNmE4ZmI4OTgwNWQ1YzY5ZWY1YjguLmQ3NzNkODg0OGE0ZjAyMmQzNzJmYzBl
M2ExNzU1NjMxZTliMDI1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3Ry
aW5nSW1wbC5oPgogCiAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9TVEFUUyAwCkBAIC0xMzMs
NyArMTM0LDcgQEAgY2xhc3MgUHJvcGVydHlUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewog
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhDZWxsVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0K
IAotICAgIHR5cGVkZWYgQXRvbWljU3RyaW5nSW1wbCogS2V5VHlwZTsKKyAgICB0eXBlZGVmIFVu
aXF1ZWRTdHJpbmdJbXBsKiBLZXlUeXBlOwogICAgIHR5cGVkZWYgUHJvcGVydHlNYXBFbnRyeSBW
YWx1ZVR5cGU7CiAKICAgICAvLyBUaGUgaW4gb3JkZXIgaXRlcmF0b3IgcHJvdmlkZXMgb3Zlcmxv
YWRlZCAqIGFuZCAtPiB0byBhY2Nlc3MgdGhlIFZhbHVlIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1l
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaAppbmRleCA0
ZjJjYTg3MmJlMzcyM2ZjYjcwOWEyMzU4YTY1OGQ5ODI1OTZkNzUwLi5iOTg4MDUzZTZmNGZkNzA2
ODM3NWQ4MzhkYTFiZjlhY2JhNWJiZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU5hbWUuaApAQCAtMzQsMTkgKzM0LDE5IEBACiAKIGNsYXNzIFByb3BlcnR5
TmFtZSB7CiBwdWJsaWM6Ci0gICAgUHJvcGVydHlOYW1lKEF0b21pY1N0cmluZ0ltcGwqIHByb3Bl
cnR5TmFtZSkKKyAgICBQcm9wZXJ0eU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwqIHByb3BlcnR5TmFt
ZSkKICAgICAgICAgOiBtX2ltcGwocHJvcGVydHlOYW1lKQogICAgIHsKICAgICAgICAgQVNTRVJU
KCFtX2ltcGwgfHwgbV9pbXBsLT5pc0F0b21pYygpIHx8IG1faW1wbC0+aXNTeW1ib2woKSk7CiAg
ICAgfQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkK
LSAgICAgICAgOiBQcm9wZXJ0eU5hbWUoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHBy
b3BlcnR5TmFtZS5pbXBsKCkpKQorICAgICAgICA6IFByb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUu
aW1wbCgpKQogICAgIHsKICAgICB9CiAKICAgICBQcm9wZXJ0eU5hbWUoY29uc3QgUHJpdmF0ZU5h
bWUmIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBtX2ltcGwoc3RhdGljX2Nhc3Q8QXRvbWljU3Ry
aW5nSW1wbCo+KHByb3BlcnR5TmFtZS51aWQoKSkpCisgICAgICAgIDogbV9pbXBsKHByb3BlcnR5
TmFtZS51aWQoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2ltcGwpOwogICAgICAgICBBU1NF
UlQobV9pbXBsLT5pc1N5bWJvbCgpKTsKQEAgLTU3LDEyICs1NywxMiBAQCBjbGFzcyBQcm9wZXJ0
eU5hbWUgewogICAgICAgICByZXR1cm4gbV9pbXBsICYmIG1faW1wbC0+aXNTeW1ib2woKTsKICAg
ICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQoKSBjb25zdAorICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1faW1wbDsKICAgICB9
CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBwdWJsaWNOYW1lKCkgY29uc3QKKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCogcHVibGljTmFtZSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gKCFt
X2ltcGwgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKSA/IG51bGxwdHIgOiBtX2ltcGw7CiAgICAgfQpA
QCAtNzYsNyArNzYsNyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBBdG9taWNTdHJpbmdJbXBsKiBtX2ltcGw7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1f
aW1wbDsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oUHJvcGVydHlOYW1lIGEsIGNvbnN0
IElkZW50aWZpZXImIGIpCkBAIC0xMTYsNyArMTE2LDcgQEAgY2xhc3MgUHJvcGVydHlOYW1lIHsK
IAogQUxXQVlTX0lOTElORSBPcHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IHByb3BlcnR5
TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVp
ZCgpOwogICAgIGlmICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICBpZiAodWlk
LT5pc1N5bWJvbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvcGVydHlOYW1lQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
cGVydHlOYW1lQXJyYXkuY3BwCmluZGV4IDk0OTQwNDEwNzRkNTI1ZTFjM2M0Yzc2YjAzMmEyOTlj
YzM5NGQ2Y2UuLmEzNWE1M2UzYWQyMzZkNjdkMzVhY2YzZGU5NzcyZDcyZDZjM2RmZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5j
cHAKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXZvaWQgUHJvcGVydHlO
YW1lQXJyYXk6OmFkZChBdG9taWNTdHJpbmdJbXBsKiBpZGVudGlmaWVyKQordm9pZCBQcm9wZXJ0
eU5hbWVBcnJheTo6YWRkKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlmaWVyKQogewogICAgIEFT
U0VSVChpZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Byb3BlcnR5TmFtZUFycmF5LmgKaW5kZXggODNhNTBhMDk1NWRiMzBhMTYzZWFlZjFiZDM5ZjY0
NTMxZjY0N2Q1Ni4uNGU1ZDk5ZGZmZTFkMjU1NjY5M2E0ZjdkOGUxNGQ2YTFhNTc3MDc0NyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5o
CkBAIC03MSw4ICs3MSw4IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKICAgICB9CiAKICAg
ICB2b2lkIGFkZChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKSB7IGFkZChpZGVudGlmaWVy
LmltcGwoKSk7IH0KLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFkZChBdG9taWNTdHJpbmdJ
bXBsKik7Ci0gICAgdm9pZCBhZGRLbm93blVuaXF1ZShBdG9taWNTdHJpbmdJbXBsKiBpZGVudGlm
aWVyKQorICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkKFVuaXF1ZWRTdHJpbmdJbXBsKik7
CisgICAgdm9pZCBhZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllcikK
ICAgICB7CiAgICAgICAgIG1fc2V0LmFkZChpZGVudGlmaWVyKTsKICAgICAgICAgbV9kYXRhLT5w
cm9wZXJ0eU5hbWVWZWN0b3IoKS5hcHBlbmQoSWRlbnRpZmllcjo6ZnJvbVVpZChtX3ZtLCBpZGVu
dGlmaWVyKSk7CkBAIC05NCw3ICs5NCw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKIAog
cHJpdmF0ZToKICAgICBSZWZQdHI8UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBtX2RhdGE7Ci0gICAg
SGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gbV9zZXQ7CisgICAgSGFzaFNldDxVbmlxdWVkU3Ry
aW5nSW1wbCo+IG1fc2V0OwogICAgIFZNKiBtX3ZtOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggOTk5ODU3ODhiNmNjZDA5ZDM1NjFkNTMy
NGY1YzdjYjRjNWYyM2JlNS4uYjg0NDZmZDU3ZTUzMjU2MmRlZDhmMGVjMGVlZGI5NzllNDM5ZDYz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC02
MCw3ICs2MCw3IEBACiBzdGF0aWMgSGFzaFNldDxTdHJ1Y3R1cmUqPiYgbGl2ZVN0cnVjdHVyZVNl
dCA9ICoobmV3IEhhc2hTZXQ8U3RydWN0dXJlKj4pOwogI2VuZGlmCiAKLWJvb2wgU3RydWN0dXJl
VHJhbnNpdGlvblRhYmxlOjpjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMpIGNvbnN0Citib29sIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFp
bnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKIHsK
ICAgICBpZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1Y3R1cmUqIHRyYW5z
aXRpb24gPSBzaW5nbGVUcmFuc2l0aW9uKCk7CkBAIC02OSw3ICs2OSw3IEBAIGJvb2wgU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2ln
bmVkIGF0dHJpYnV0CiAgICAgcmV0dXJuIG1hcCgpLT5nZXQoc3RkOjptYWtlX3BhaXIocmVwLCBh
dHRyaWJ1dGVzKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZVRyYW5zaXRpb25U
YWJsZTo6Z2V0KEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29u
c3QKK2lubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KFVuaXF1
ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0CiB7CiAgICAgaWYg
KGlzVXNpbmdTaW5nbGVTbG90KCkpIHsKICAgICAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0g
c2luZ2xlVHJhbnNpdGlvbigpOwpAQCAtMzE2LDcgKzMxNiw3IEBAIHZvaWQgU3RydWN0dXJlOjpt
YXRlcmlhbGl6ZVByb3BlcnR5TWFwKFZNJiB2bSkKICAgICBjaGVja09mZnNldENvbnNpc3RlbmN5
KCk7CiB9CiAKLVN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4
aXN0aW5nU3RydWN0dXJlSW1wbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1w
bCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQorU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmVJbXBsKFN0cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIEFTU0VSVCgh
c3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7CiAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmpl
Y3QoKSk7CkBAIC0zMzYsNyArMzM2LDcgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3Bl
cnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiBzdHJ1Y3QKICAgICBy
ZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0
dXJlLCBwcm9wZXJ0eU5hbWUudWlkKCksIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLVN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJl
Q29uY3VycmVudGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCitTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1
cnJlbnRseShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5z
aWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBDb25jdXJy
ZW50SklUTG9ja2VyIGxvY2tlcihzdHJ1Y3R1cmUtPm1fbG9jayk7CiAgICAgcmV0dXJuIGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBh
dHRyaWJ1dGVzLCBvZmZzZXQpOwpAQCAtODQyLDcgKzg0Miw3IEBAIFByb3BlcnR5VGFibGUqIFN0
cnVjdHVyZTo6Y29weVByb3BlcnR5VGFibGVGb3JQaW5uaW5nKFZNJiB2bSkKICAgICByZXR1cm4g
UHJvcGVydHlUYWJsZTo6Y3JlYXRlKHZtLCBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29m
ZnNldCwgbV9pbmxpbmVDYXBhY2l0eSkpOwogfQogCi1Qcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6
OmdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1
dGVzKQorUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25jdXJyZW50bHkoVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJpYnV0ZXMpCiB7CiAgICAgUHJvcGVydHlPZmZz
ZXQgcmVzdWx0ID0gaW52YWxpZE9mZnNldDsKICAgICAKQEAgLTg4Miw3ICs4ODIsNyBAQCBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmFkZChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUsIHVuc2lnbmVkIGF0dHJpYgogICAgIGlmIChhdHRyaWJ1dGVzICYgRG9udEVudW0pCiAgICAg
ICAgIHNldEhhc05vbkVudW1lcmFibGVQcm9wZXJ0aWVzKHRydWUpOwogCi0gICAgQXRvbWljU3Ry
aW5nSW1wbCogcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBpZiAoIXByb3BlcnR5VGFibGUoKSkK
ICAgICAgICAgY3JlYXRlUHJvcGVydHlNYXAobG9ja2VyLCB2bSk7CkBAIC05MDEsNyArOTAxLDcg
QEAgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmUoUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKICAgICAKICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAKLSAgICBBdG9taWNTdHJpbmdJ
bXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJl
cCA9IHByb3BlcnR5TmFtZS51aWQoKTsKIAogICAgIGlmICghcHJvcGVydHlUYWJsZSgpKQogICAg
ICAgICByZXR1cm4gaW52YWxpZE9mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgKaW5kZXggMWI0NGUyYTJiNzI0MDI3MDZjMGY5MDRjOWI5NGM4OGExMTFkYWZi
Ni4uMWE0ZWViNWE1MDQ2NDdhMTBkOTc1MjBlNDUzYThiY2QxN2QzNjg5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAgLTQ4LDcgKzQ4LDcgQEAKICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogCkBAIC03Myw3ICs3Myw3IEBACiBzdGF0aWMgY29uc3QgdW5zaWduZWQgb3V0
T2ZMaW5lR3Jvd3RoRmFjdG9yID0gMjsKIAogc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewotICAg
IEF0b21pY1N0cmluZ0ltcGwqIGtleTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCoga2V5OwogICAg
IFByb3BlcnR5T2Zmc2V0IG9mZnNldDsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwogCkBAIC04
NCw3ICs4NCw3IEBAIHN0cnVjdCBQcm9wZXJ0eU1hcEVudHJ5IHsKICAgICB7CiAgICAgfQogICAg
IAotICAgIFByb3BlcnR5TWFwRW50cnkoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCisgICAgUHJvcGVydHlNYXBFbnRyeShV
bmlxdWVkU3RyaW5nSW1wbCoga2V5LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpCiAgICAgICAgIDoga2V5KGtleSkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQog
ICAgICAgICAsIGF0dHJpYnV0ZXMoYXR0cmlidXRlcykKQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFz
cyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBzdGF0aWMgdm9pZCBkdW1w
U3RhdGlzdGljcygpOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSog
YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYsIFB1dFByb3BlcnR5U2xvdDo6Q29udGV4
dCA9IFB1dFByb3BlcnR5U2xvdDo6VW5rbm93bkNvbnRleHQpOwotICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHko
U3RydWN0dXJlKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRp
b25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiByZW1v
dmVQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogY2hh
bmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBl
KTsKQEAgLTI4OCw4ICsyODgsOCBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlND
ZWxsIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgogICAgIHZvaWQgZm9yRWFjaFBy
b3BlcnR5Q29uY3VycmVudGx5KGNvbnN0IEZ1bmN0b3ImKTsKICAgICAKLSAgICBQcm9wZXJ0eU9m
ZnNldCBnZXRDb25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKLSAgICBQcm9wZXJ0
eU9mZnNldCBnZXRDb25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYg
YXR0cmlidXRlcyk7CisgICAgUHJvcGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpOworICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShVbmlx
dWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcyk7CiAgICAgCiAgICAgVmVj
dG9yPFByb3BlcnR5TWFwRW50cnk+IGdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKTsKICAgICAK
QEAgLTQ4Miw3ICs0ODIsNyBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxs
IHsKIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogICAg
IAotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdT
dHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQ
cm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChTdHJ1Y3R1cmUqLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYp
OwogCiAgICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgc3RydWN0dXJlIHRoYXQgaGFzIGEgdXNh
YmxlIHByb3BlcnR5IHRhYmxlLCB0aGF0IHByb3BlcnR5IHRhYmxlLAogICAgIC8vIGFuZCB0aGUg
bGlzdCBvZiBzdHJ1Y3R1cmVzIHRoYXQgd2UgdmlzaXRlZCBiZWZvcmUgd2UgZ290IHRvIGl0LiBJ
ZiBpdCByZXR1cm5zIGEKQEAgLTU5MCw3ICs1OTAsNyBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwg
OiBwdWJsaWMgSlNDZWxsIHsKIAogICAgIFdyaXRlQmFycmllcjxKU0NlbGw+IG1fcHJldmlvdXNP
clJhcmVEYXRhOwogCi0gICAgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IG1fbmFtZUluUHJldmlv
dXM7CisgICAgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiBtX25hbWVJblByZXZpb3VzOwogCiAg
ICAgY29uc3QgQ2xhc3NJbmZvKiBtX2NsYXNzSW5mbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCmluZGV4IGYxN2JjMWIxN2E0MDFjMGRj
ODkxOGM2ZGI4MzM5YzUzMzEwODUyMzAuLjVjM2FlZDc3MTUxYTliMjM3YjY3NmFhYWRlYzViYzAx
MTYyY2Y3NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVJbmxpbmVzLmgKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFN0cnVjdHVyZTo6Zm9yRWFjaFBy
b3BlcnR5Q29uY3VycmVudGx5KGNvbnN0IEZ1bmN0b3ImIGZ1bmN0b3IpCiAgICAgfQogfQogCi1p
bmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25jdXJyZW50bHkoQXRvbWljU3Ry
aW5nSW1wbCogdWlkKQoraW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3Vy
cmVudGx5KFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRl
c0lnbm9yZWQ7CiAgICAgcmV0dXJuIGdldENvbmN1cnJlbnRseSh1aWQsIGF0dHJpYnV0ZXNJZ25v
cmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlLmgKaW5kZXggMjNjNmNhMzBkZmEzOGU0MDJiOTk1NjhhNjMwMWY1
MzdlODIwNThmZS4uMzJjOTkyZGFmNzE0NDM1Y2I5YjIxOTc3Y2I1NzhlMjM1NGE2NDIyZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlv
blRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJh
bnNpdGlvblRhYmxlLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmRleGluZ1R5cGUu
aCIKICNpbmNsdWRlICJXZWFrR0NNYXAuaCIKICNpbmNsdWRlIDx3dGYvSGFzaEZ1bmN0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtOTMsMTEg
KzkzLDExIEBAIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZSB7CiAKICAgICAKICAgICBz
dHJ1Y3QgSGFzaCB7Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEF0b21pY1N0cmluZ0ltcGwq
LCB1bnNpZ25lZD4gS2V5OworICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxVbmlxdWVkU3RyaW5n
SW1wbCosIHVuc2lnbmVkPiBLZXk7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgdW5zaWduZWQg
aGFzaChjb25zdCBLZXkmIHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBQdHJIYXNo
PEF0b21pY1N0cmluZ0ltcGwqPjo6aGFzaChwLmZpcnN0KSArIHAuc2Vjb25kOworICAgICAgICAg
ICAgcmV0dXJuIFB0ckhhc2g8VW5pcXVlZFN0cmluZ0ltcGwqPjo6aGFzaChwLmZpcnN0KSArIHAu
c2Vjb25kOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgS2V5
JiBhLCBjb25zdCBLZXkmIGIpCkBAIC0xMzAsOCArMTMwLDggQEAgY2xhc3MgU3RydWN0dXJlVHJh
bnNpdGlvblRhYmxlIHsKICAgICB9CiAKICAgICBpbmxpbmUgdm9pZCBhZGQoVk0mLCBTdHJ1Y3R1
cmUqKTsKLSAgICBpbmxpbmUgYm9vbCBjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OwotICAgIGlubGluZSBTdHJ1Y3R1cmUqIGdldChBdG9t
aWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OworICAgIGlubGlu
ZSBib29sIGNvbnRhaW5zKFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpIGNvbnN0OworICAgIGlubGluZSBTdHJ1Y3R1cmUqIGdldChVbmlxdWVkU3RyaW5nSW1wbCog
cmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBib29sIGlz
VXNpbmdTaW5nbGVTbG90KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2wuY3BwCmluZGV4IDZkNzlkMWM0NjE2ZDdjOTYwMzgzNmEyMzVlNTc3MTEyYWNmMGUzNGQuLmFm
NmI2ZDNjZDUyODZiNGMzNzE0ODc5MzRiMGMyNWM5MjAzOTAwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcApAQCAtNDcsNyArNDcsNyBAQAogewogfQogCi1TeW1i
b2w6OlN5bWJvbChWTSYgdm0sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1N5bWJvbDo6U3ltYm9s
KFZNJiB2bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICA6IEJhc2Uodm0sIHZtLnN5bWJv
bFN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1fcHJpdmF0ZU5hbWUodWlkKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCAxOWI2ZjRmMmZjYWJmMDZjMTkyOGY5MGJj
ODg2YWZjMDRhYzNkMTI0Li5mZTc5ODMwOTJmOGRhNGI0NGQwYjEwYWZhZmVmZWFmOGI3NDA5ZDky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAtNjQsNyArNjQsNyBA
QCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHN5
bWJvbDsKICAgICB9CiAKLSAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCisgICAgc3RhdGljIFN5bWJvbCogY3JlYXRlKFZNJiB2bSwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIFN5bWJvbCogc3ltYm9sID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3ltYm9sPih2bS5oZWFwKSkgU3ltYm9sKHZtLCB1aWQpOwog
ICAgICAgICBzeW1ib2wtPmZpbmlzaENyZWF0aW9uKHZtKTsKQEAgLTg1LDcgKzg1LDcgQEAgY2xh
c3MgU3ltYm9sIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAKICAgICBTeW1ib2woVk0mKTsKICAg
ICBTeW1ib2woVk0mLCBjb25zdCBTdHJpbmcmKTsKLSAgICBTeW1ib2woVk0mLCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQpOworICAgIFN5bWJvbChWTSYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCmluZGV4IDUzNjNi
OWI2OTU1YjI0MTUxMTlhNDAyNzY2M2MwYjU4NzM0ZmQ3MTIuLjdkMzZlMjJiNmY1ODM1OWNjZjJh
YmYwOGFhYTgyZTBmNGZhZDA0NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN5bWJvbENvbnN0cnVjdG9yRm9yKEV4ZWNTdGF0ZSogZXhl
YykKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAg
IFJlZjxTdHJpbmdJbXBsPiB1aWQgPSBleGVjLT52bSgpLnN5bWJvbFJlZ2lzdHJ5KCkuc3ltYm9s
Rm9yS2V5KHN0cmluZyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShTeW1ib2w6OmNyZWF0
ZShleGVjLT52bSgpLCBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oJnVpZC5nZXQoKSkp
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKFN5bWJvbDo6Y3JlYXRlKGV4ZWMtPnZtKCks
IHN0YXRpY19jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKj4oJnVpZC5nZXQoKSkpKTsKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC0xMTgsOCArMTE4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKCFzeW1i
b2xWYWx1ZS5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93
VHlwZUVycm9yKGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGFzU3ltYm9s
KHN5bWJvbFZhbHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAgICBBU1NFUlQodWlkLT5pc1N5
bWJvbCgpKTsKKyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1ib2xWYWx1ZSktPnBy
aXZhdGVOYW1lKCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkpCiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAppbmRleCA1OTMyZTYxNDYxMWEw
MzNiMTE2ZGJmOWU1ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFmN2EwNzkxNWM0ZjY0OGNjZTM3
Zjg4Y2FhZmEyMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
eW1ib2xUYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
VGFibGUuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1ib2xUYWJsZTo6cHJlcGFyZUZv
clR5cGVQcm9maWxpbmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgfQogfQogCi1H
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKK0dsb2JhbFZhcmlh
YmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxFQVNF
X0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBH
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvck9mZnNldChjb25zdCBDb25j
dXJyZW50SklUTG9ja2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFi
bGUobG9ja2VyLCBpdGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQogCi1SZWZQdHI8VHlwZVNldD4g
U3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiBsb2NrZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorUmVmUHRyPFR5cGVTZXQ+
IFN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYgbG9ja2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCiB7CiAgICAg
UkVMRUFTRV9BU1NFUlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4OWNhYzYwNDQ0MDQwZGFjYjNm
ZjZlZmZkYzZmZGZkMzU4ZjBjZDVmLi5hY2Y1ZTZhOWVlODM2YjE4MTFmMjQ3M2RkYjBhNDdkZGM1
Y2VlZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xU
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgK
QEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hhc2hU
cmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQyNCwx
MCArNDI1LDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAK
LSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4+LCBTeW1i
b2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8
U3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQsIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJ
RE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBSZWZQdHI8VHlw
ZVNldD4sIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVUeXBlU2V0TWFwOwotICAgIHR5cGVkZWYg
SGFzaE1hcDxWYXJPZmZzZXQsIFJlZlB0cjxTdHJpbmdJbXBsPj4gT2Zmc2V0VG9WYXJpYWJsZU1h
cDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgU3ltYm9s
VGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPj4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBNYXA7CisgICAgdHlwZWRl
ZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQsIElk
ZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJRE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFzaD4g
VW5pcXVlVHlwZVNldE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+PiBPZmZzZXRUb1ZhcmlhYmxlTWFwOwogICAgIHR5cGVkZWYgVmVj
dG9yPFN5bWJvbFRhYmxlRW50cnkqPiBMb2NhbFRvRW50cnlWZWM7CiAKICAgICBzdGF0aWMgU3lt
Ym9sVGFibGUqIGNyZWF0ZShWTSYgdm0pCkBAIC00NTMsMzMgKzQ1NCwzMyBAQCBjbGFzcyBTeW1i
b2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIH0KIAogICAgIC8vIFlvdSBtdXN0
IGhvbGQgdGhlIGxvY2sgdW50aWwgYWZ0ZXIgeW91J3JlIGRvbmUgd2l0aCB0aGUgaXRlcmF0b3Iu
Ci0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJp
bmdJbXBsKiBrZXkpCisgICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
bWFwLmZpbmQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0
IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgTWFwOjpp
dGVyYXRvciBmaW5kKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmZpbmQoa2V5KTsKICAg
ICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGdldChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX21hcC5nZXQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVF
bnRyeSBnZXQoU3RyaW5nSW1wbCoga2V5KQorICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KFVuaXF1
ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxv
Y2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4gZ2V0KGxvY2tlciwga2V5KTsKICAgICB9CiAg
ICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGluZUdldChj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7
CiAgICAgICAgIHJldHVybiBtX21hcC5pbmxpbmVHZXQoa2V5KTsKICAgICB9CiAgICAgCi0gICAg
U3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoU3RyaW5nSW1wbCoga2V5KQorICAgIFN5bWJvbFRh
YmxlRW50cnkgaW5saW5lR2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAg
ICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4gaW5s
aW5lR2V0KGxvY2tlciwga2V5KTsKQEAgLTU1OSw3ICs1NjAsNyBAQCBjbGFzcyBTeW1ib2xUYWJs
ZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gdGFrZU5leHRTY29wZU9m
ZnNldChsb2NrZXIpOwogICAgIH0KICAgICAKLSAgICB2b2lkIGFkZChjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRy
eSkKKyAgICB2b2lkIGFkZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmlu
Z0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwogICAgICAgICBkaWRVc2VWYXJPZmZz
ZXQoZW50cnkudmFyT2Zmc2V0KCkpOwpAQCAtNTY3LDMxICs1NjgsMzEgQEAgY2xhc3MgU3ltYm9s
VGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChyZXN1
bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBhZGQoU3RyaW5n
SW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIGFkZChV
bmlxdWVkU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKICAg
ICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAg
IGFkZChsb2NrZXIsIGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lkIHNldChjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJs
ZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIHNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwg
VW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAg
ICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwogICAgICAgICBk
aWRVc2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwogICAgICAgICBtX21hcC5zZXQoa2V5
LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0KFN0cmluZ0ltcGwqIGtleSwgY29u
c3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoVW5pcXVlZFN0cmluZ0lt
cGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBD
b25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICBzZXQobG9ja2VyLCBr
ZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBjb250YWlucyhjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIGJvb2wgY29udGFpbnMoY29uc3Qg
Q29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV9tYXAuY29udGFpbnMoa2V5KTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBj
b250YWlucyhTdHJpbmdJbXBsKiBrZXkpCisgICAgYm9vbCBjb250YWlucyhVbmlxdWVkU3RyaW5n
SW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9s
b2NrKTsKICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGxvY2tlciwga2V5KTsKQEAgLTY0MSwxMCAr
NjQyLDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAg
Y29uc3QgTG9jYWxUb0VudHJ5VmVjJiBsb2NhbFRvRW50cnkoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYpOwogICAgIFN5bWJvbFRhYmxlRW50cnkqIGVudHJ5Rm9yKGNvbnN0IENvbmN1cnJlbnRK
SVRMb2NrZXImLCBTY29wZU9mZnNldCk7CiAgICAgCi0gICAgR2xvYmFsVmFyaWFibGVJRCB1bmlx
dWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBr
ZXksIFZNJik7CisgICAgR2xvYmFsVmFyaWFibGVJRCB1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0
IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwogICAg
IEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JPZmZzZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFZhck9mZnNldCwgVk0mKTsKICAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNl
dEZvck9mZnNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVmFyT2Zmc2V0LCBWTSYpOwot
ICAgIFJlZlB0cjxUeXBlU2V0PiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKKyAgICBSZWZQdHI8VHlwZVNl
dD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBV
bmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwogCiAgICAgYm9vbCB1c2VzTm9uU3RyaWN0RXZh
bCgpIHsgcmV0dXJuIG1fdXNlc05vblN0cmljdEV2YWw7IH0KICAgICB2b2lkIHNldFVzZXNOb25T
dHJpY3RFdmFsKGJvb2wgdXNlc05vblN0cmljdEV2YWwpIHsgbV91c2VzTm9uU3RyaWN0RXZhbCA9
IHVzZXNOb25TdHJpY3RFdmFsOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0
cmVhbS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKaW5kZXggYmI3ZDM5ZGI5
MTVkNjQ3OTZmZjQyZDU5NDRhYWMxNzc1NzRkNjY0ZS4uMDY4OTMxZTNmMGE3MjdkZDQ1NDg3YTc4
NGI1NzMxNTI1ODhmMjkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0u
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QcmludFN0cmVhbS5oIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAppbmRleCBl
ODE1MzQ5NGY4YmZiMjY4ZjgwYTVmZGYwYTA3M2M1OGFjYzc4MTYwLi5lOGJiYTYzNGIxNjRjZDNj
MmU1ZWU4OGE0OGFkNGI3MGQ2ZTE4MWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Qcmlu
dFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKQEAgLTM4LDYgKzM4
LDcgQEAKIGNsYXNzIENTdHJpbmc7CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBTdHJpbmdJbXBsOwor
Y2xhc3MgVW5pcXVlZFN0cmluZ0ltcGw7CiAKIGNsYXNzIFByaW50U3RyZWFtIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJpbnRTdHJlYW0pOwpA
QCAtNzEsMTEgKzcyLDEzIEBAIGNsYXNzIFByaW50U3RyZWFtIHsKIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJpbmcmKTsKIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJp
bmdJbXBsKik7CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNv
bnN0IEF0b21pY1N0cmluZ0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBiaXR3aXNl
X2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KK2lubGluZSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHZhbHVlKSB7
IHByaW50SW50ZXJuYWwob3V0LCBiaXR3aXNlX2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVl
KSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY2hhciog
dmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPih2YWx1
ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIENTdHJp
bmcmIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBDU3RyaW5n
Jj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBTdHJpbmcmIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBT
dHJpbmcmPih2YWx1ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiBvdXQsIFN0cmluZ0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2Fz
dDxjb25zdCBTdHJpbmdJbXBsKj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5h
bChQcmludFN0cmVhbSYgb3V0LCBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVy
bmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0K
K2lubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgVW5pcXVlZFN0cmlu
Z0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBVbmlx
dWVkU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50
SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBib29sKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBzaWduZWQgY2hhcik7IC8vIE5PVEU6IHRoaXMgcHJp
bnRzIGFzIGEgbnVtYmVyLCBub3QgYXMgYSBjaGFyYWN0ZXI7IHVzZSBDaGFyYWN0ZXJEdW1wIGlm
IHlvdSB3YW50IHRoZSBjaGFyYWN0ZXIKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mLCB1bnNpZ25lZCBjaGFyKTsgLy8gTk9URTogc2VlIGFib3ZlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAppbmRleCA2MmE5MGUwNmU1MzhmNjYz
ZTRiZjBlMDNiZTMyZWI2NDAxN2MyMmMyLi40YjBjZWZiYzIxNDEyOTQ3MDFhMTMyODg5ZDUxNjhk
YTlkMjAxOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0lt
cGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaApAQCAtMjIs
MTMgKzIyLDE3IEBACiAjZGVmaW5lIEF0b21pY1N0cmluZ0ltcGxfaAogCiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBs
Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVibGlj
IFN0cmluZ0ltcGwKK2NsYXNzIEF0b21pY1N0cmluZ0ltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmlu
Z0ltcGwKIHsKIHB1YmxpYzoKLSAgICBBdG9taWNTdHJpbmdJbXBsKCkgOiBTdHJpbmdJbXBsKDAp
IHt9CisgICAgQXRvbWljU3RyaW5nSW1wbCgpCisgICAgICAgIDogVW5pcXVlZFN0cmluZ0ltcGwo
KQorICAgIHsKKyAgICB9CiB9OwogCiAjaWYgIUFTU0VSVF9ESVNBQkxFRApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5jcHAKaW5kZXggNmZkNzc5YzgwYzJiZDhhNDRjNjY3ZTJhMzI2ZjgzOGQ4NWNm
YTFmNS4uNzk3ZWZiYjc4YjhmZDFiNjVhMDRhYzBjMGEyNDM4MWVjNGJjMjJlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8d3RmL1dU
RlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nVmlldy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVVRGOC5oPgpAQCAt
MTE0LDcgKzExNSw3IEBAIHZvaWQgU3RyaW5nU3RhdHM6OnByaW50U3RhdHMoKQogICAgICAgICBB
dG9taWNTdHJpbmc6OnJlbW92ZSh0aGlzKTsKIAogICAgIGlmIChpc1N5bWJvbCgpICYmIHN5bWJv
bFJlZ2lzdHJ5KCkpCi0gICAgICAgIHN5bWJvbFJlZ2lzdHJ5KCktPnJlbW92ZSh0aGlzKTsKKyAg
ICAgICAgc3ltYm9sUmVnaXN0cnkoKS0+cmVtb3ZlKHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih0
aGlzKSk7CiAKICAgICBCdWZmZXJPd25lcnNoaXAgb3duZXJzaGlwID0gYnVmZmVyT3duZXJzaGlw
KCk7CiAKQEAgLTI5MCw3ICsyOTEsNyBAQCB2b2lkIFN0cmluZ0ltcGw6OmRlc3Ryb3koU3RyaW5n
SW1wbCogc3RyaW5nSW1wbCkKICAgICByZXR1cm4gY3JlYXRlKHN0cmluZywgbGVuZ3RoKTsKIH0K
IAotUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChQYXNzUmVmUHRyPFN0
cmluZ0ltcGw+IHJlcCkKK1JlZjxTeW1ib2xJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2wo
UGFzc1JlZlB0cjxTdHJpbmdJbXBsPiByZXApCiB7CiAgICAgU3RyaW5nSW1wbCogb3duZXJSZXAg
PSAocmVwLT5idWZmZXJPd25lcnNoaXAoKSA9PSBCdWZmZXJTdWJzdHJpbmcpID8gcmVwLT5zdWJz
dHJpbmdCdWZmZXIoKSA6IHJlcC5nZXQoKTsKIApAQCAtMzAxLDExICszMDIsMTEgQEAgdm9pZCBT
dHJpbmdJbXBsOjpkZXN0cm95KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCiAgICAgLy8gNC4gdGhl
IHBsYWNlaG9sZGVyIGZvciBzeW1ib2wgYXdhcmUgaGFzaCB2YWx1ZSAoYWxsb2NhdGVkIHNpemUg
aXMgcG9pbnRlciBzaXplLCBidXQgb25seSA0IGJ5dGVzIGFyZSB1c2VkKQogICAgIFN0cmluZ0lt
cGwqIHN0cmluZ0ltcGwgPSBzdGF0aWNfY2FzdDxTdHJpbmdJbXBsKj4oZmFzdE1hbGxvYyhhbGxv
Y2F0aW9uU2l6ZTxTdHJpbmdJbXBsKj4oMykpKTsKICAgICBpZiAocmVwLT5pczhCaXQoKSkKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgKE5vdE51bGwsIHN0cmluZ0ltcGwpIFN0cmluZ0lt
cGwoQ3JlYXRlU3ltYm9sLCByZXAtPm1fZGF0YTgsIHJlcC0+bGVuZ3RoKCksIG93bmVyUmVwKSk7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgKE5vdE51bGwsIHN0cmluZ0ltcGwpIFN0cmluZ0lt
cGwoQ3JlYXRlU3ltYm9sLCByZXAtPm1fZGF0YTE2LCByZXAtPmxlbmd0aCgpLCBvd25lclJlcCkp
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKnN0YXRpY19jYXN0PFN5bWJvbEltcGwqPihuZXcg
KE5vdE51bGwsIHN0cmluZ0ltcGwpIFN0cmluZ0ltcGwoQ3JlYXRlU3ltYm9sLCByZXAtPm1fZGF0
YTgsIHJlcC0+bGVuZ3RoKCksIG93bmVyUmVwKSkpOworICAgIHJldHVybiBhZG9wdFJlZigqc3Rh
dGljX2Nhc3Q8U3ltYm9sSW1wbCo+KG5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1w
bChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhMTYsIHJlcC0+bGVuZ3RoKCksIG93bmVyUmVwKSkp
OwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkoKQor
UmVmPFN5bWJvbEltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbEVtcHR5KCkKIHsKICAgICBy
ZXR1cm4gY3JlYXRlU3ltYm9sKGVtcHR5KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApp
bmRleCBkYzIyYmQwZTdjOTY0MjY5ZmUzZGVkZWM1MWJlZjUxY2U2NmZlM2U5Li45ODc4MjdhODQ5
Yjc0MmI1MjVjN2VjY2E1ZWVkNjRkZjhlZTI4M2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
aApAQCAtNTcsNiArNTcsNyBAQAogc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3I7CiBzdHJ1Y3Qg
VUNoYXJCdWZmZXJUcmFuc2xhdG9yOwogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNzIFJldGFpblB0
cjsKK2NsYXNzIFN5bWJvbEltcGw7CiBjbGFzcyBTeW1ib2xSZWdpc3RyeTsKIAogZW51bSBUZXh0
Q2FzZVNlbnNpdGl2aXR5IHsKQEAgLTEzMSw3ICsxMzIsOSBAQCBjbGFzcyBTdHJpbmdJbXBsIHsK
ICAgICBmcmllbmQgc3RydWN0IFdURjo6TENoYXJCdWZmZXJUcmFuc2xhdG9yOwogICAgIGZyaWVu
ZCBzdHJ1Y3QgV1RGOjpTdWJzdHJpbmdUcmFuc2xhdG9yOwogICAgIGZyaWVuZCBzdHJ1Y3QgV1RG
OjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CisgICAgZnJpZW5kIGNsYXNzIFVuaXF1ZWRTdHJpbmdJ
bXBsOwogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNTdHJpbmdJbXBsOworICAgIGZyaWVuZCBjbGFz
cyBTeW1ib2xJbXBsOwogICAgIGZyaWVuZCBjbGFzcyBKU0M6OkxMSW50OjpEYXRhOwogICAgIGZy
aWVuZCBjbGFzcyBKU0M6OkxMSW50T2Zmc2V0c0V4dHJhY3RvcjsKICAgICAKQEAgLTQyMSw4ICs0
MjQsOCBAQCBjbGFzcyBTdHJpbmdJbXBsIHsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEludGVy
bmFsPFQ+KHJlc3VsdEltcGwsIGxlbmd0aCk7CiAgICAgfQogCi0gICAgV1RGX0VYUE9SVF9TVFJJ
TkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlU3ltYm9sRW1wdHkoKTsKLSAgICBX
VEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBjcmVhdGVTeW1ib2wo
UGFzc1JlZlB0cjxTdHJpbmdJbXBsPiByZXApOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBz
dGF0aWMgUmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbEVtcHR5KCk7CisgICAgV1RGX0VYUE9S
VF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlU3ltYm9sKFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gcmVwKTsKIAogICAgIC8vIFJlYWxsb2NhdGUgdGhlIFN0cmluZ0ltcGwu
IFRoZSBvcmlnaW5hbFN0cmluZyBtdXN0IGJlIG9ubHkgb3duZWQgYnkgdGhlIFBhc3NSZWZQdHIs
CiAgICAgLy8gYW5kIHRoZSBidWZmZXIgb3duZXJzaGlwIG11c3QgYmUgQnVmZmVySW50ZXJuYWwu
IEp1c3QgbGlrZSB0aGUgaW5wdXQgcG9pbnRlciBvZiByZWFsbG9jKCksCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sSW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlMzBhOWE5MjdjMzViMTVlNDYyZTk5MzdiODk5YWYzNjZk
ODQ4MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwu
aApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1
a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3ltYm9sSW1w
bF9oCisjZGVmaW5lIFN5bWJvbEltcGxfaAorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1w
bC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CisKK25hbWVzcGFj
ZSBXVEYgeworCitjbGFzcyBTeW1ib2xJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsK
K3B1YmxpYzoKKyAgICBTeW1ib2xJbXBsKCkKKyAgICAgICAgOiBVbmlxdWVkU3RyaW5nSW1wbCgp
CisgICAgeworICAgIH0KK307CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisvLyBTeW1ib2xJbXBs
cyBjcmVhdGVkIGZyb20gU3RhdGljQVNDSUlMaXRlcmFsIHdpbGwgQVNTRVJUCisvLyBpbiB0aGUg
Z2VuZXJpYyBWYWx1ZUNoZWNrPFQ+OjpjaGVja0NvbnNpc3RlbmN5CisvLyBhcyB0aGV5IGFyZSBu
b3QgYWxsb2NhdGVkIGJ5IGZhc3RNYWxsb2MuCisvLyBXZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBh
bnkgd2F5IHRvIGRldGVjdCB0aGF0IGNhc2UKKy8vIHNvIHdlIGlnbm9yZSB0aGUgY29uc2lzdGVu
Y3kgY2hlY2sgZm9yIGFsbCBTeW1ib2xJbXBscyouCit0ZW1wbGF0ZTw+IHN0cnVjdAorVmFsdWVD
aGVjazxTeW1ib2xJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29u
c3QgU3ltYm9sSW1wbCopIHsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8
Y29uc3QgU3ltYm9sSW1wbCo+IHsKKyAgICBzdGF0aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNv
bnN0IFN5bWJvbEltcGwqKSB7IH0KK307CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV1RGCisK
K3VzaW5nIFdURjo6U3ltYm9sSW1wbDsKKworI2VuZGlmIC8vIFN5bWJvbEltcGxfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcAppbmRleCAxNTZiYTNlNGMyNzRiMWYwMGNiY2Vl
N2ViZmZlZWIyNmNmMjNkMzkwLi4yNTk5YjY4ODA3MTcyODhhMGY2YjNlZmMyMTAxZWZjZjAxOWVi
YWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcApAQCAtMzQsMjYgKzM0
LDI2IEBACiAgICAgICAgIGtleS5pbXBsKCktPnN5bWJvbFJlZ2lzdHJ5KCkgPSBudWxscHRyOwog
fQogCi1SZWY8U3RyaW5nSW1wbD4gU3ltYm9sUmVnaXN0cnk6OnN5bWJvbEZvcktleShjb25zdCBT
dHJpbmcmIHJlcCkKK1JlZjxTeW1ib2xJbXBsPiBTeW1ib2xSZWdpc3RyeTo6c3ltYm9sRm9yS2V5
KGNvbnN0IFN0cmluZyYgcmVwKQogewogICAgIGF1dG8gYWRkUmVzdWx0ID0gbV90YWJsZS5hZGQo
U3ltYm9sUmVnaXN0cnlLZXkocmVwLmltcGwoKSkpOwogICAgIGlmICghYWRkUmVzdWx0LmlzTmV3
RW50cnkpCi0gICAgICAgIHJldHVybiAqYWRkUmVzdWx0Lml0ZXJhdG9yLT5pbXBsKCk7CisgICAg
ICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KGFkZFJlc3VsdC5pdGVyYXRvci0+
aW1wbCgpKTsKIAotICAgIFJlZjxTdHJpbmdJbXBsPiBzeW1ib2wgPSBTdHJpbmdJbXBsOjpjcmVh
dGVTeW1ib2wocmVwLmltcGwoKSk7CisgICAgUmVmPFN5bWJvbEltcGw+IHN5bWJvbCA9IFN0cmlu
Z0ltcGw6OmNyZWF0ZVN5bWJvbChyZXAuaW1wbCgpKTsKICAgICBzeW1ib2wtPnN5bWJvbFJlZ2lz
dHJ5KCkgPSB0aGlzOwogICAgICphZGRSZXN1bHQuaXRlcmF0b3IgPSBTeW1ib2xSZWdpc3RyeUtl
eSgmc3ltYm9sLmdldCgpKTsKICAgICByZXR1cm4gc3ltYm9sOwogfQogCi1TdHJpbmcgU3ltYm9s
UmVnaXN0cnk6OmtleUZvclN5bWJvbChTdHJpbmdJbXBsKiB1aWQpCitTdHJpbmcgU3ltYm9sUmVn
aXN0cnk6OmtleUZvclN5bWJvbChTeW1ib2xJbXBsKiB1aWQpCiB7CiAgICAgQVNTRVJUKHVpZC0+
aXNTeW1ib2woKSk7CiAgICAgQVNTRVJUKHVpZC0+c3ltYm9sUmVnaXN0cnkoKSA9PSB0aGlzKTsK
ICAgICByZXR1cm4gdWlkLT5leHRyYWN0Rm9sZGVkU3RyaW5nSW5TeW1ib2woKTsKIH0KIAotdm9p
ZCBTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgU3ltYm9sUmVn
aXN0cnk6OnJlbW92ZShTeW1ib2xJbXBsKiB1aWQpCiB7CiAgICAgQVNTRVJUKHVpZC0+aXNTeW1i
b2woKSk7CiAgICAgQVNTRVJUKHVpZC0+c3ltYm9sUmVnaXN0cnkoKSA9PSB0aGlzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaCBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaAppbmRleCAxMzZjMzY4YzkwYmJiY2VhMTg4NmI4ZGY3
ODcyYTdmZmRmYmE5OGE2Li5mZWNiZTcwYzc0ODMyMDgwY2Y5YjRkNDM0YjY2YjJkMDk0MDYyODhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtODEsMTAgKzgyLDEwIEBAIGNsYXNz
IFN5bWJvbFJlZ2lzdHJ5IHsKICAgICBTeW1ib2xSZWdpc3RyeSgpID0gZGVmYXVsdDsKICAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgflN5bWJvbFJlZ2lzdHJ5KCk7CiAKLSAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgUmVmPFN0cmluZ0ltcGw+IHN5bWJvbEZvcktleShjb25zdCBTdHJpbmcmKTsKLSAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGtleUZvclN5bWJvbChTdHJpbmdJbXBsKiB1aWQpOwor
ICAgIFdURl9FWFBPUlRfUFJJVkFURSBSZWY8U3ltYm9sSW1wbD4gc3ltYm9sRm9yS2V5KGNvbnN0
IFN0cmluZyYpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3ltYm9sKFN5
bWJvbEltcGwqIHVpZCk7CiAKLSAgICB2b2lkIHJlbW92ZShTdHJpbmdJbXBsKiB1aWQpOworICAg
IHZvaWQgcmVtb3ZlKFN5bWJvbEltcGwqIHVpZCk7CiAKIHByaXZhdGU6CiAgICAgSGFzaFNldDxT
eW1ib2xSZWdpc3RyeUtleT4gbV90YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvVW5pcXVlZFN0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvVW5pcXVlZFN0cmlu
Z0ltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNGM3MDE0YTUwODFhZjU4MzdmNDgwYjIzNjc0MjUzMWQ3MTE4
ZjIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5n
SW1wbC5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtl
IFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBVbmlx
dWVkU3RyaW5nSW1wbF9oCisjZGVmaW5lIFVuaXF1ZWRTdHJpbmdJbXBsX2gKKworI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIFVuaXF1
ZWRTdHJpbmdJbXBsIDogcHVibGljIFN0cmluZ0ltcGwgeworcHVibGljOgorICAgIFVuaXF1ZWRT
dHJpbmdJbXBsKCkKKyAgICAgICAgOiBTdHJpbmdJbXBsKDApCisgICAgeworICAgIH0KK307CisK
KyNpZiAhQVNTRVJUX0RJU0FCTEVECisvLyBVbmlxdWVkU3RyaW5nSW1wbHMgY3JlYXRlZCBmcm9t
IFN0YXRpY0FTQ0lJTGl0ZXJhbCB3aWxsIEFTU0VSVAorLy8gaW4gdGhlIGdlbmVyaWMgVmFsdWVD
aGVjazxUPjo6Y2hlY2tDb25zaXN0ZW5jeQorLy8gYXMgdGhleSBhcmUgbm90IGFsbG9jYXRlZCBi
eSBmYXN0TWFsbG9jLgorLy8gV2UgZG9uJ3QgY3VycmVudGx5IGhhdmUgYW55IHdheSB0byBkZXRl
Y3QgdGhhdCBjYXNlCisvLyBzbyB3ZSBpZ25vcmUgdGhlIGNvbnNpc3RlbmN5IGNoZWNrIGZvciBh
bGwgVW5pcXVlZFN0cmluZ0ltcGxzKi4KK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPFVu
aXF1ZWRTdHJpbmdJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29u
c3QgVW5pcXVlZFN0cmluZ0ltcGwqKSB7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1
ZUNoZWNrPGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNr
Q29uc2lzdGVuY3koY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqKSB7IH0KK307CisjZW5kaWYKKwor
fSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6VW5pcXVlZFN0cmluZ0ltcGw7CisKKyNl
bmRpZiAvLyBVbmlxdWVkU3RyaW5nSW1wbF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252840</attachid>
            <date>2015-05-10 22:51:47 -0700</date>
            <delta_ts>2015-05-12 04:08:46 -0700</delta_ts>
            <desc>Prototype</desc>
            <filename>bug-144848-20150511145026.patch</filename>
            <type>text/plain</type>
            <size>153722</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmM0ZmFiN2JhOGU0MDU5Y2ZiYmIyNjBmMDc4MWJiNmU5ZDkzMjZlLi44NTRkNGE4ODEzZTNhZmZl
ZmZiOTg1ZTEwZjRkMGYxMjQ5OGZmMDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjMgQEAKKzIwMTUtMDUtMTAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAg
ICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZSk6CisgICAgICAgICogYnl0ZWNv
ZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpuYW1lRm9yUmVnaXN0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0Nv
bXBsZXhHZXRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpDb21wbGV4R2V0U3RhdHVzOjpjb21w
dXRlRm9yKToKKyAgICAgICAgKiBieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmg6CisgICAgICAg
ICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0
dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yKToKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZv
KToKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmg6CisgICAgICAgICogYnl0ZWNv
ZGUvSW5zdHJ1Y3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SW5zdHJ1Y3Rpb246Okluc3RydWN0aW9u
KToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6
UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAgICAgIChKU0M6OlB1dEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaDoKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpC
eXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6dmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIpOgorICAgICAgICAoSlNDOjpC
eXRlY29kZUdlbmVyYXRvcjo6aGFzQ29uc3RhbnQpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6YWRkQ29uc3RhbnQpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpQcm9wZXJ0eUxpc3ROb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIGRm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJz
ZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpJbmxp
bmVTdGFja0VudHJ5OjpJbmxpbmVTdGFja0VudHJ5KToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJl
ZElkZW50aWZpZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkSWRlbnRpZmllcnM6
OmFkZExhemlseSk6CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjphdCk6
CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjpyZWFsbHlBZGQpOgorICAg
ICAgICAqIGRmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpE
ZXNpcmVkSWRlbnRpZmllcnM6Om9wZXJhdG9yW10pOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBo
YXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAg
ICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmlzU3RyaW5nUHJvdG90eXBlTWV0aG9kU2FuZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6aWRlbnRpZmllclVJ
RCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgor
ICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjptbUFsbG9j
YXRlRGF0YVNlY3Rpb24pOgorICAgICAgICAqIGZ0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3Iu
aDoKKyAgICAgICAgKEpTQzo6RlRMOjpJbmxpbmVDYWNoZURlc2NyaXB0b3I6OklubGluZUNhY2hl
RGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjp1
aWQpOgorICAgICAgICAoSlNDOjpGVEw6OkdldEJ5SWREZXNjcmlwdG9yOjpHZXRCeUlkRGVzY3Jp
cHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6UHV0QnlJZERlc2NyaXB0b3I6OlB1dEJ5SWREZXNj
cmlwdG9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpDaGVja0luRGVzY3JpcHRvcjo6Q2hlY2tJbkRl
c2NyaXB0b3IpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5Lmg6CisgICAg
ICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dl
ckRGR1RvTExWTTo6Y29tcGlsZVB1dEJ5SWQpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZH
VG9MTFZNOjpjb21waWxlSW4pOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpn
ZXRCeUlkKToKKyAgICAgICAgKiBmdGwvRlRMU2xvd1BhdGhDYWxsLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpjYWxsT3BlcmF0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMU2xvd1BhdGhDYWxsLmg6
CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgICogcGFyc2Vy
L05vZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6UHJvZ3JhbU5vZGU6OnNldENsb3NlZFZhcmlhYmxl
cyk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6OlNjb3BlTm9kZTo6
Y2FwdHVyZXMpOgorICAgICAgICAoSlNDOjpTY29wZU5vZGU6OnNldENsb3NlZFZhcmlhYmxlcyk6
CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpjbG9zZWRWYXJpYWJsZXMpOgorICAgICAgICAq
IHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpkaWRGaW5pc2hQYXJz
aW5nKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RyaWN0T2JqZWN0
TGl0ZXJhbCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29w
ZUxhYmVsSW5mbzo6U2NvcGVMYWJlbEluZm8pOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFy
ZUNhbGxlZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpkZWNsYXJlVmFyaWFibGUpOgorICAgICAg
ICAoSlNDOjpTY29wZTo6ZGVjbGFyZVBhcmFtZXRlcik6CisgICAgICAgIChKU0M6OlNjb3BlOjpk
ZWNsYXJlQm91bmRQYXJhbWV0ZXIpOgorICAgICAgICAoSlNDOjpTY29wZTo6dXNlVmFyaWFibGUp
OgorICAgICAgICAoSlNDOjpTY29wZTo6Y29weUNhcHR1cmVkVmFyaWFibGVzVG9WZWN0b3IpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OmNsb3NlZFZhcmlhYmxlcyk6CisgICAgICAgICogcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmg6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtOjp1c2VkVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJD
YWNoZUl0ZW06OndyaXR0ZW5WYXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmNwcDoKKyAgICAgICAgKEpTQzo6Q29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUpOgor
ICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1l
L0lkZW50aWZpZXIuaDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6aW1wbCk6CisgICAgICAg
IChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpwYXJzZUluZGV4
KToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllclJlcEhhc2g6Omhhc2gpOgorICAgICAgICAqIHJ1
bnRpbWUvSWRlbnRpZmllcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVVpZCk6CisgICAgICAgICogcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcDoKKyAg
ICAgICAgKEpTQzo6SW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6bWF5SW50ZXJjZXB0U3RvcmVUbyk6
CisgICAgICAgICogcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmg6CisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL0xvb2t1cC5oOgorICAgICAgICAoSlNDOjpIYXNo
VGFibGU6OmVudHJ5KToKKyAgICAgICAgKiBydW50aW1lL01hcERhdGEuaDoKKyAgICAgICAgKiBy
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6b2JqZWN0Q29uc3Ry
dWN0b3JHZXRPd25Qcm9wZXJ0eVN5bWJvbHMpOgorICAgICAgICAqIHJ1bnRpbWUvUHJpdmF0ZU5h
bWUuaDoKKyAgICAgICAgKEpTQzo6UHJpdmF0ZU5hbWU6OlByaXZhdGVOYW1lKToKKyAgICAgICAg
KEpTQzo6UHJpdmF0ZU5hbWU6OnVpZCk6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU1hcEhh
c2hUYWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlOYW1lLmg6CisgICAgICAgIChK
U0M6OlByb3BlcnR5TmFtZTo6UHJvcGVydHlOYW1lKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlO
YW1lOjp1aWQpOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWU6OnB1YmxpY05hbWUpOgorICAg
ICAgICAoSlNDOjpwYXJzZUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZUFy
cmF5LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lQXJyYXk6OmFkZCk6CisgICAgICAg
ICogcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5h
bWVBcnJheTo6YWRkS25vd25VbmlxdWUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNw
cDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1w
bCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlz
dGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0
Q29uY3VycmVudGx5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmU6OnJlbW92ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoK
KyAgICAgICAgKEpTQzo6UHJvcGVydHlNYXBFbnRyeTo6UHJvcGVydHlNYXBFbnRyeSk6CisgICAg
ICAgICogcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVy
ZTo6Z2V0Q29uY3VycmVudGx5KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRp
b25UYWJsZS5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6Okhhc2g6
Omhhc2gpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmNwcDoKKyAgICAgICAgKEpTQzo6U3lt
Ym9sOjpTeW1ib2wpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmg6CisgICAgICAgICogcnVu
dGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0cnVj
dG9yRm9yKToKKyAgICAgICAgKEpTQzo6c3ltYm9sQ29uc3RydWN0b3JLZXlGb3IpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6
dW5pcXVlSURGb3JWYXJpYWJsZSk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjpnbG9iYWxU
eXBlU2V0Rm9yVmFyaWFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL1R5cGVTZXQuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFw
ZTo6YWRkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlI
YXNoKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVTZXQuaDoKKwogMjAxNS0wNS0xMCAgQW5kcmVh
cyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5
IEF0b21pY1N0cmluZ0ltcGwqIGhhc2ggc3BlY2lmaWNhdGlvbiBpbiBQcm9wZXJ0eU5hbWVBcnJh
eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKaW5kZXggYTY1MTMzYTdmMDVhYWQ3NDhiMDc3N2I4NzI5NDk4N2M3NWE2MjJkZS4uNTM4YjJj
NzU0NmZiOWJhMTFlNDAwZWQ1N2YxYjIwMjg1NTZkNTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAor
MjAxNS0wNS0xMCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAg
ICAgICBJbnRyb2R1Y2UgVW5pcXVlZFN0cmluZ0ltcGwgYW5kIFN5bWJvbEltcGwgdG8gc2VwYXJh
dGUgc3ltYm9saWMgc3RyaW5ncyBmcm9tIEF0b21pY1N0cmluZ0ltcGwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5n
SW1wbCwgU3ltYm9sSW1wbCBhbmQgQXRvbWljU3RyaW5nSW1wbC4KKworICAgICAgICAqIHd0Zi9Q
cmludFN0cmVhbS5jcHA6CisgICAgICAgICogd3RmL1ByaW50U3RyZWFtLmg6CisgICAgICAgIChX
VEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwu
aDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6QXRvbWljU3RyaW5nSW1wbCk6Cisg
ICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6On5TdHJpbmdJbXBsKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9s
KToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkpOgorICAgICAg
ICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TeW1ib2xJbXBs
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1l
LmguCisgICAgICAgIChXVEY6OlN5bWJvbEltcGw6OlN5bWJvbEltcGwpOgorICAgICAgICAqIHd0
Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdURjo6U3ltYm9sUmVnaXN0cnk6
OnN5bWJvbEZvcktleSk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1i
b2wpOgorICAgICAgICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oOgorICAgICAgICAqIHd0Zi90ZXh0L1VuaXF1ZWRTdHJp
bmdJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZh
dGVOYW1lLmguCisgICAgICAgIChXVEY6OlVuaXF1ZWRTdHJpbmdJbXBsOjpVbmlxdWVkU3RyaW5n
SW1wbCk6CisKIDIwMTUtMDUtMDkgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CiAKICAgICAg
ICAgUmVtb3ZlIHRoZSBQSUNUVVJFX1NJWkVTIGJ1aWxkIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhOGY2
Y2I0ZmUzNDRhYTg3NDE4OTlmZmFjNzE2M2NmNWY2ODM5YjMwLi5jNzczNGRhY2I1OTZjMjJhYjU3
YmNlMWUyMzFlNTI2MjA4M2VlMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUt
MDUtMTAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAg
SW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5
bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNsb3NlZFByb21pc2VTbG90TmFtZSk6CisgICAgICAgICogYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXpl
cjo6d3JpdGUpOgorCiAyMDE1LTA1LTEwICBTdW5nbWFubiBDaG8gIDxzdW5nbWFubi5jaG9AbmF2
ZXJjb3JwLmNvbT4KIAogICAgICAgICBHZXQgcmlkIG9mIHRoZSBwdWJsaWMgaXRlbSBhY2Nlc3Nv
cnMgaW4gQmFja0ZvcndhcmRDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0LmgKaW5kZXggZWE0Y2ZhZmQ3YzNlYjhlYTZjZTczZjIzMTZkNDdkOGVjNGNl
NWU3MS4uMzNiNDI2MmU2MjAxNzRjZDdiY2Q0NzFjNTBhNjkzYTlmNDBiNGEwNSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTEwNyw3ICsxMDcs
NyBAQCBzdHJ1Y3QgSlNDYWxsYmFja09iamVjdERhdGEgewogICAgICAgICB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBXcml0ZUJh
cnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7Cisg
ICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBXcml0ZUJh
cnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CiAg
ICAgICAgIFByaXZhdGVQcm9wZXJ0eU1hcCBtX3Byb3BlcnR5TWFwOwogICAgIH07CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEpTUHJpdmF0ZVByb3BlcnR5TWFwPiBtX3ByaXZhdGVQcm9wZXJ0aWVzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDc5
YWNjMTRkYjE0ODNhMmZmYWIyMThiNGYzYzMyMDg2NjYzYzM0ODMuLmJhZmMzMGMxNmQwNjE2M2Mw
OTE3ZDJhNjQ5MDc0ZGU5M2ZkMGQyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTM3LDcgKzM3LDcgQEAKICAgICBjb25zdCBJZGVudGlm
aWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWU7IH0gXAogICAg
IGNvbnN0IElkZW50aWZpZXImIG5hbWUjI1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8j
I25hbWUjI1ByaXZhdGVOYW1lOyB9CiAKLSNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJP
TFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9s
KElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAj
bmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElB
TElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZy
b21VaWQoUHJpdmF0ZU5hbWUoUHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwo
IlN5bWJvbC4iICNuYW1lKSkpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1l
KSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkgY29uc3QgSWRlbnRpZmllciBtXyMjbmFtZSMj
U3ltYm9sOwogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKG5hbWUpIFwK
ICAgICBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUihuYW1lKSBcCkBAIC02NCw3
ICs2NCw4IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJU0VfUFVCTElDX1RP
X1BSSVZBVEVfRU5UUlkpCiAgICAgfQogCi0gICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0lt
cGwqIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN5bWJvbEltcGwqIHVpZCkg
Y29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIGNv
bnN0OwogICAgIGJvb2wgaXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAg
ICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNv
bnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGdldFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmll
ciYpIGNvbnN0OwpAQCAtNzgsNyArNzksNyBAQCBjbGFzcyBCdWlsdGluTmFtZXMgewogICAgIEpT
Q19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAg
ICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShERUNM
QVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VB
Q0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCi0gICAgdHlwZWRl
ZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4g
QnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1h
cDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CiB9OwpAQCAtOTAs
NyArOTEsMTIgQEAgY2xhc3MgQnVpbHRpbk5hbWVzIHsKICN1bmRlZiBJTklUSUFMSVNFX0JVSUxU
SU5fU1lNQk9MUwogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IKIAotaW5s
aW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29u
c3QKK2lubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1
aWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZVRvUHVibGljTWFwLmNvbnRhaW5zKHVp
ZCk7Cit9CisKK2lubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKSBjb25zdAogewogICAgIGlmICghdWlkLT5pc1N5bWJvbCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAppbmRleCA4MzFiYzY2OGRiOTQz
NzU2NjM5YmI0Y2ZmMWIzNDczN2M4YmUyYjRiLi44N2E1NzhjMTZjMzBhMzM0NzAxNDUxNTZlNWQx
YzdiN2JhMTMyZTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xh
c3MgQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSB7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgQ29t
bW9uSWRlbnRpZmllcnMmIG1fcHJvcGVydHlOYW1lczsKLSAgICBIYXNoTWFwPFJlZlB0cjxTdHJp
bmdJbXBsPiwgRW1pdHRlclR5cGUsIElkZW50aWZpZXJSZXBIYXNoPiBtX2J5dGVjb2RlSW50cmlu
c2ljTWFwOworICAgIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgRW1pdHRlclR5
cGUsIElkZW50aWZpZXJSZXBIYXNoPiBtX2J5dGVjb2RlSW50cmluc2ljTWFwOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCmluZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEzZjQwNTYuLjQ1
ZDJkMGE2MzZiYmI4ZjIzNWFhMWE1ZDM0ZmE1MmRmYzdiNDllOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC02Niw2ICs2Niw3IEBACiAjaW5j
bHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9V
bmlxdWVkU3RyaW5nSW1wbC5oPgogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAjaW5jbHVkZSAiREZH
T3BlcmF0aW9ucy5oIgpAQCAtMjAwNSw3ICsyMDA2LDcgQEAgY2xhc3MgUHV0VG9TY29wZUZpcmVE
ZXRhaWwgOiBwdWJsaWMgRmlyZURldGFpbCB7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihwY1syXS51Lm9wZXJhbmQpICE9IFVJTlRfTUFYKSB7CiAgICAgICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGRpZENsb25lU3ltYm9sVGFibGUpOwogICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIocGNbMl0udS5v
cGVyYW5kKTsKLSAgICAgICAgICAgICAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gaWRlbnQuaW1w
bCgpOworICAgICAgICAgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gaWRlbnQu
aW1wbCgpOwogICAgICAgICAgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlciht
X3N5bWJvbFRhYmxlLT5tX2xvY2spOwogICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZTo6
TWFwOjppdGVyYXRvciBpdGVyID0gbV9zeW1ib2xUYWJsZS0+ZmluZChsb2NrZXIsIHVpZCk7CiAg
ICAgICAgICAgICAgICAgICAgIEFTU0VSVChpdGVyICE9IG1fc3ltYm9sVGFibGUtPmVuZChsb2Nr
ZXIpKTsKQEAgLTM4MDksNyArMzgxMCw3IEBAIFN0cmluZyBDb2RlQmxvY2s6Om5hbWVGb3JSZWdp
c3RlcihWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyKQogICAgICAgICBpZiAocHRyLT52
YWx1ZS52YXJPZmZzZXQoKSA9PSBWYXJPZmZzZXQodmlydHVhbFJlZ2lzdGVyKSkgewogICAgICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgd29uJ3Qgd29yayBmcm9tIHRoZSBjb21waWxhdGlvbiB0aHJl
YWQuCiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE1MzAwCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHB0ci0+a2V5KTsKKyAgICAgICAg
ICAgIHJldHVybiBTdHJpbmcoc3RhdGljX3BvaW50ZXJfY2FzdDxTdHJpbmdJbXBsPihwdHItPmtl
eSkpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmICh2aXJ0dWFsUmVnaXN0ZXIgPT0gdGhpc1Jl
Z2lzdGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29t
cGxleEdldFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxl
eEdldFN0YXR1cy5jcHAKaW5kZXggMDQyZGNlYzc3ZWZkYzIwYzEzMjVlZDI3YzhkNzk5ZTczNzdm
NjQ5Ny4uZDgxM2EzZDY1N2VjYWNkOTdkOGYxMGUwODYwNjQzNjc2MWJjZTU3YiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcApA
QCAtMzIsNyArMzIsNyBAQAogCiBDb21wbGV4R2V0U3RhdHVzIENvbXBsZXhHZXRTdGF0dXM6OmNv
bXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmUqIGhlYWRT
dHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwKLSAgICB1bnNpZ25lZCBjaGFpbkNvdW50
LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgdW5zaWduZWQgY2hhaW5Db3VudCwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0
IHdlIG5ldmVyIHNlZSBhIHN0cnVjdHVyZSB0aGF0CiAgICAgLy8gaGFzSW1wdXJlR2V0T3duUHJv
cGVydHlTbG90KCkgYnV0IGZvciB3aGljaCB3ZSBkb24ndApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmgKaW5kZXggMTE1YmYzY2U0MWY1MDhj
MTY3ZDgwZDE0YWQxZTg0YThlZjkwMGMzMy4uMjYyMDQwNWE5NmY5Nzk4NTAxMzQxMzgwNmM2YzQy
NTFlZTRkM2QyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
bXBsZXhHZXRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29t
cGxleEdldFN0YXR1cy5oCkBAIC05OCw3ICs5OCw3IEBAIGNsYXNzIENvbXBsZXhHZXRTdGF0dXMg
ewogICAgIAogICAgIHN0YXRpYyBDb21wbGV4R2V0U3RhdHVzIGNvbXB1dGVGb3IoCiAgICAgICAg
IENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1
Y3R1cmVDaGFpbiogY2hhaW4sCi0gICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIEF0b21pY1N0
cmluZ0ltcGwqIHVpZCk7CisgICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIAogICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2lu
ZDsgfQogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0
ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmNwcAppbmRleCBiZjI4YzU1OWE2YjA5NjZlZWFlY2VkZGUyMTQ1NDVkZDc4NWU4YzFjLi4zMGMy
MjA0N2UyNWM0MTVmMjY4NmY1NTk4NDM5MDA3ZGIxNjc5MzM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCkBAIC02Niw3ICs2Niw3IEBA
IGJvb2wgR2V0QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tl
ciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByCiB9CiAjZW5kaWYKIAotR2V0QnlJZFN0YXR1cyBHZXRC
eUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5z
aWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1
cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9j
aywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAg
ICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2Rl
SW5kZXgpOwpAQCAtOTEsNyArOTEsNyBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNv
bXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25lZAogICAgIHJl
dHVybiBHZXRCeUlkU3RhdHVzKFNpbXBsZSwgZmFsc2UsIEdldEJ5SWRWYXJpYW50KFN0cnVjdHVy
ZVNldChzdHJ1Y3R1cmUpLCBvZmZzZXQpKTsKIH0KIAotR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3Rh
dHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1h
cCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJ
ZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9j
aywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihwcm9maWxlZEJs
b2NrLT5tX2xvY2spOwogCkBAIC0xMTgsNyArMTE4LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlk
U3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAm
IG0KIAogI2lmIEVOQUJMRShKSVQpCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTdHViSW5mbygKLSAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIENv
ZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQsCisgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2Vy
LCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwKICAgICBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRh
IGNhbGxFeGl0U2l0ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNl
ZW4pCkBAIC0yMjQsNyArMjI0LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yU3R1YkluZm8oCiAKIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZv
cigKICAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0
dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwKLSAgICBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKKyAgICBTdHViSW5mb01hcCYg
ZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgaWYgKGRmZ0Jsb2NrKSB7CkBAIC0yNjIsNyArMjYy
LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAogICAgIHJldHVy
biBjb21wdXRlRm9yKHByb2ZpbGVkQmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVj
b2RlSW5kZXgsIHVpZCk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0
ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0
QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKGNvbnN0IFN0cnVjdHVyZVNldCYg
c2V0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIC8vIEZvciBub3cgd2Ugb25seSBo
YW5kbGUgdGhlIHN1cGVyIHNpbXBsZSBzZWxmIGFjY2VzcyBjYXNlLiBXZSBjb3VsZCBoYW5kbGUg
dGhlCiAgICAgLy8gcHJvdG90eXBlIGNhc2UgaW4gdGhlIGZ1dHVyZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCmluZGV4IDI3YmZiODhmNGMxMmQ3
NmI2MjkyODVmMWNhZDIzZjI2Y2FiZDVlYzguLjdkNGViYjIyY2ZkNWE4YWM4ZWJhYjBjYmU1YjUy
ZjU0NjMxNjgyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5
SWRTdGF0dXMuaApAQCAtNjcsMTAgKzY3LDEwIEBAIGNsYXNzIEdldEJ5SWRTdGF0dXMgewogICAg
ICAgICBtX3ZhcmlhbnRzLmFwcGVuZCh2YXJpYW50KTsKICAgICB9CiAgICAgCi0gICAgc3RhdGlj
IEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHViSW5mb01hcCYsIHVuc2ln
bmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAgc3RhdGljIEdl
dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2Nr
KiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKGNvbnN0IFN0cnVj
dHVyZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAotICAgIHN0YXRpYyBHZXRC
eUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sq
IGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAs
IENvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIEdldEJ5SWRT
dGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZn
QmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29k
ZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgU3RhdGUgc3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05Nyw5ICs5Nyw5IEBAIGNsYXNz
IEdldEJ5SWRTdGF0dXMgewogI2lmIEVOQUJMRShKSVQpCiAgICAgc3RhdGljIEdldEJ5SWRTdGF0
dXMgY29tcHV0ZUZvclN0dWJJbmZvKAogICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2Vy
JiwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyosCi0gICAgICAg
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSk7Cisg
ICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURh
dGEpOwogI2VuZGlmCi0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChD
b2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQp
OworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwg
dW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAg
ICAgYm9vbCBhcHBlbmRWYXJpYW50KGNvbnN0IEdldEJ5SWRWYXJpYW50Jik7CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4IGI0MmU0Mjkx
OGFhZjc0NmM5Mzk2MDliOWJkMWUyZjk5ZDA2YjRmOTcuLmMyMGE0ZjcyODRlYzFjNTgxODg0ODYw
MjJiMDliZDY0MGMyMzExNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9JbnN0cnVjdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnN0cnVjdGlvbi5oCkBAIC0xMDAsNyArMTAwLDcgQEAgc3RydWN0IEluc3RydWN0aW9uIHsKICAg
ICBJbnN0cnVjdGlvbihPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSogcHJvZmlsZSkgeyB1Lm9iamVj
dEFsbG9jYXRpb25Qcm9maWxlID0gcHJvZmlsZTsgfQogICAgIEluc3RydWN0aW9uKFdyaXRlQmFy
cmllcjxVbmtub3duPiogdmFyaWFibGVQb2ludGVyKSB7IHUudmFyaWFibGVQb2ludGVyID0gdmFy
aWFibGVQb2ludGVyOyB9CiAgICAgSW5zdHJ1Y3Rpb24oU3BlY2lhbDo6UG9pbnRlciBwb2ludGVy
KSB7IHUuc3BlY2lhbFBvaW50ZXIgPSBwb2ludGVyOyB9Ci0gICAgSW5zdHJ1Y3Rpb24oU3RyaW5n
SW1wbCogdWlkKSB7IHUudWlkID0gdWlkOyB9CisgICAgSW5zdHJ1Y3Rpb24oVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCkgeyB1LnVpZCA9IHVpZDsgfQogICAgIEluc3RydWN0aW9uKGJvb2wqIHByZWRp
Y2F0ZVBvaW50ZXIpIHsgdS5wcmVkaWNhdGVQb2ludGVyID0gcHJlZGljYXRlUG9pbnRlcjsgfQog
CiAgICAgdW5pb24gewpAQCAtMTE0LDcgKzExNCw3IEBAIHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAg
ICAgICAgIFNwZWNpYWw6OlBvaW50ZXIgc3BlY2lhbFBvaW50ZXI7CiAgICAgICAgIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jIGdldHRlckZ1bmM7CiAgICAgICAgIExMSW50Q2FsbExpbmtJbmZv
KiBjYWxsTGlua0luZm87Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZDsKKyAgICAgICAgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZDsKICAgICAgICAgVmFsdWVQcm9maWxlKiBwcm9maWxlOwogICAgICAg
ICBBcnJheVByb2ZpbGUqIGFycmF5UHJvZmlsZTsKICAgICAgICAgQXJyYXlBbGxvY2F0aW9uUHJv
ZmlsZSogYXJyYXlBbGxvY2F0aW9uUHJvZmlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAppbmRleCA3ZWMwYmE0MzBlNjZmNzQxODMzOWQ5
ODM0ZjVmNjJhYjFjNmU5ZjkwLi4yNGQ3YjQ0ZTQ1N2JhNmE2MDVhM2MxYzJjNWY5N2U3ODE0ZWI2
NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0
YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCkBAIC02Miw3ICs2Miw3IEBAIGJvb2wgUHV0QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUo
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByCiB9CiAjZW5k
aWYKIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5n
SW1wbCogdWlkKQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50
KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAg
ICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwpAQCAtMTA1LDcgKzEwNSw3IEBAIFB1dEJ5
SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2Zp
bGVkQmxvY2ssIHVuc2lnbmVkCiAgICAgcmV0dXJuIFB1dEJ5SWRWYXJpYW50Ojp0cmFuc2l0aW9u
KHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBpbnRlbmRlZENoYWluLmdldCgpLCBvZmZzZXQpOwog
fQogCi1QdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBw
cm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFwLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBB
dG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFwLCB1bnNpZ25l
ZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIENvbmN1cnJl
bnRKSVRMb2NrZXIgbG9ja2VyKHByb2ZpbGVkQmxvY2stPm1fbG9jayk7CiAgICAgCkBAIC0xMzQs
NyArMTM0LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICNpZiBFTkFCTEUoSklUKQogUHV0
QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiAgICAgY29uc3Qg
Q29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIENh
bGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEgY2FsbEV4aXRTaXRlRGF0YSkKKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0
ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4pCiAgICAgICAg
IHJldHVybiBQdXRCeUlkU3RhdHVzKCk7CkBAIC0yNzQsNyArMjc0LDcgQEAgUHV0QnlJZFN0YXR1
cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiB9CiAjZW5kaWYKIAotUHV0QnlJ
ZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9j
aywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5m
b01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCkKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJh
c2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1h
cCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdfSklUKQogICAgIGlmIChkZmdCbG9jaykg
ewpAQCAtMzA4LDcgKzMwOCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0
ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnCiAgICAgcmV0dXJu
IGNvbXB1dGVGb3IoYmFzZWxpbmVCbG9jaywgYmFzZWxpbmVNYXAsIGNvZGVPcmlnaW4uYnl0ZWNv
ZGVJbmRleCwgdWlkKTsKIH0KIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0
LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpCitQdXRCeUlkU3RhdHVzIFB1
dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29u
c3QgU3RydWN0dXJlU2V0JiBzZXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJl
Y3QpCiB7CiAgICAgaWYgKHBhcnNlSW5kZXgoKnVpZCkpCiAgICAgICAgIHJldHVybiBQdXRCeUlk
U3RhdHVzKFRha2VzU2xvd1BhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmgKaW5kZXggZjU1MzYyZTEzZDkzYjc3YThiY2RmM2VmYmQ5ZjFmZTE1
YzZlN2E0YS4uMDQ2MWRjNGQ2ZmQyZjM1Yzg2NzQxYjA3NDJmNWM2OTJmMmNiMTNmMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCkBAIC03MCwx
MCArNzAsMTAgQEAgY2xhc3MgUHV0QnlJZFN0YXR1cyB7CiAgICAgICAgIG1fdmFyaWFudHMuYXBw
ZW5kKHZhcmlhbnQpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21w
dXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwg
QXRvbWljU3RyaW5nSW1wbCogdWlkKTsKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRl
Rm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1w
bCogdWlkLCBib29sIGlzRGlyZWN0KTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRl
Rm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZv
cihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cnVjdHVyZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQsIGJvb2wgaXNEaXJlY3QpOwogICAgIAotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNv
bXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBT
dHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4s
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0
ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJ
bmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05NiwxMCArOTYsMTAgQEAgY2xhc3MgUHV0QnlJZFN0
YXR1cyB7CiAjZW5kaWYKICNpZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVz
IGNvbXB1dGVGb3JTdHViSW5mbygKLSAgICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYs
IENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLAor
ICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLAogICAgICAgICBDYWxsTGlua1N0YXR1
czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1
dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3Ry
aW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50
KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFudChjb25zdCBQdXRCeUlkVmFyaWFudCYp
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBjM2NlODc1NTkxYTMyOWY3M2VhNWRiMjYwNmJm
NTY2OThhMjVmMWE2Li44NzYxZDVlMTc1MjA4NTc5MmY5ODAwMDAxMmQyZTZjY2Y3OTUwYmQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcApAQCAtMjEwLDcgKzIxMCw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2Rl
R2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgYm9vbCBzaG91bGRDYXB0dXJlQWxsT2ZUaGVUaGlu
Z3MgPSBtX3Nob3VsZEVtaXREZWJ1Z0hvb2tzIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwoKTsKICAg
ICBib29sIG5lZWRzQXJndW1lbnRzID0gZnVuY3Rpb25Ob2RlLT51c2VzQXJndW1lbnRzKCkgfHwg
Y29kZUJsb2NrLT51c2VzRXZhbCgpOwogICAgIAotICAgIGF1dG8gY2FwdHVyZXMgPSBbJl0gKFN0
cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CisgICAgYXV0byBjYXB0dXJlcyA9IFsmXSAoVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CiAgICAgICAgIGlmIChzaG91bGRDYXB0dXJlQWxs
T2ZUaGVUaGluZ3MpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKCFzaG91
bGRDYXB0dXJlU29tZU9mVGhlVGhpbmdzKQpAQCAtMjI0LDcgKzIyNCw3IEBAIFBhcnNlckVycm9y
IEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IGZ1bmN0aW9uTm9kZS0+Y2FwdHVyZXModWlkKTsKICAgICB9OwotICAgIGF1dG8gdmFyS2luZCA9
IFsmXSAoU3RyaW5nSW1wbCogdWlkKSAtPiBWYXJLaW5kIHsKKyAgICBhdXRvIHZhcktpbmQgPSBb
Jl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIC0+IFZhcktpbmQgewogICAgICAgICByZXR1cm4g
Y2FwdHVyZXModWlkKSA/IFZhcktpbmQ6OlNjb3BlIDogVmFyS2luZDo6U3RhY2s7CiAgICAgfTsK
IApAQCAtMzE0LDcgKzMxNCw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZSgpCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5z
aXplKCk7ICsraSkgewogICAgICAgICAgICAgICAgIFNjb3BlT2Zmc2V0IG9mZnNldCA9IG1fc3lt
Ym9sVGFibGUtPnRha2VOZXh0U2NvcGVPZmZzZXQoKTsKICAgICAgICAgICAgICAgICBtX3N5bWJv
bFRhYmxlLT5zZXRBcmd1bWVudE9mZnNldCh2bSwgaSwgb2Zmc2V0KTsKLSAgICAgICAgICAgICAg
ICBpZiAoU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRl
cnMuYXQoaSkpKSB7CisgICAgICAgICAgICAgICAgaWYgKFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1l
ID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSkpIHsKICAgICAgICAg
ICAgICAgICAgICAgVmFyT2Zmc2V0IHZhck9mZnNldChvZmZzZXQpOwogICAgICAgICAgICAgICAg
ICAgICBTeW1ib2xUYWJsZUVudHJ5IGVudHJ5KHZhck9mZnNldCk7CiAgICAgICAgICAgICAgICAg
ICAgIC8vIFN0b3JlcyB0byB0aGVzZSB2YXJpYWJsZXMgdmlhIHRoZSBTY29wZWRBcmd1bWVudHMg
b2JqZWN0IHdpbGwgbm90IGRvCkBAIC0zNDIsNyArMzQyLDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHB1
dCBhbGwgcGFyYW1ldGVycyBpbnRvIHRoZSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0LiBGaXJzdCBl
bnN1cmUKICAgICAgICAgICAgIC8vIHRoYXQgdGhlIHN5bWJvbCB0YWJsZSBrbm93cyB0aGF0IHRo
aXMgaXMgaGFwcGVuaW5nLgogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBh
cmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBpZiAoU3RyaW5nSW1wbCog
bmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKQorICAgICAg
ICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFy
YW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKQogICAgICAgICAgICAgICAgICAgICBtX3N5bWJvbFRh
YmxlLT5zZXQobmFtZSwgU3ltYm9sVGFibGVFbnRyeShWYXJPZmZzZXQoRGlyZWN0QXJndW1lbnRz
T2Zmc2V0KGkpKSkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0zNTMsNyArMzUz
LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAg
Ly8gQ3JlYXRlIHRoZSBmb3JtYWwgcGFyYW1ldGVycyB0aGUgbm9ybWFsIHdheS4gQW55IG9mIHRo
ZW0gY291bGQgYmUgY2FwdHVyZWQsIG9yIG5vdC4gSWYKICAgICAgICAgLy8gY2FwdHVyZWQsIGxp
ZnQgdGhlbSBpbnRvIHRoZSBzY29wZS4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0cmluZ0ltcGwqIG5hbWUg
PSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKKyAgICAgICAgICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1l
dGVycy5hdChpKSk7CiAgICAgICAgICAgICBpZiAoIW5hbWUpCiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAKQEAgLTQ2NSw3ICs0NjUsNyBAQCBQYXJzZXJFcnJvciBCeXRl
Y29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICAKICAgICAgICAgYm9vbCBoYXZlUGFy
YW1ldGVyTmFtZWRBcmd1bWVudHMgPSBmYWxzZTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0cmluZ0ltcGwq
IG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKKyAgICAg
ICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIo
cGFyYW1ldGVycy5hdChpKSk7CiAgICAgICAgICAgICBpZiAobmFtZSA9PSBwcm9wZXJ0eU5hbWVz
KCkuYXJndW1lbnRzLmltcGwoKSkgewogICAgICAgICAgICAgICAgIGhhdmVQYXJhbWV0ZXJOYW1l
ZEFyZ3VtZW50cyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC01NDUsNyArNTQ1
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmluaXRpYWxpemVOZXh0UGFyYW1l
dGVyKCkKICAgICByZXR1cm4gJnBhcmFtZXRlcjsKIH0KIAotU3RyaW5nSW1wbCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5v
ZGUqIHBhdHRlcm4pCitVbmlxdWVkU3RyaW5nSW1wbCogQnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2li
bGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqIHBhdHRlcm4pCiB7
CiAgICAgaWYgKHBhdHRlcm4tPmlzQmluZGluZ05vZGUoKSkgewogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBpZGVudCA9IHN0YXRpY19jYXN0PGNvbnN0IEJpbmRpbmdOb2RlKj4ocGF0dGVybikt
PmJvdW5kUHJvcGVydHkoKTsKQEAgLTk1NCwxMyArOTU0LDEzIEBAIHZvaWQgQUxXQVlTX0lOTElO
RSBCeXRlY29kZUdlbmVyYXRvcjo6cmV3aW5kVW5hcnlPcCgpCiAKIGJvb2wgQnl0ZWNvZGVHZW5l
cmF0b3I6Omhhc0NvbnN0YW50KGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAogewotICAg
IFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
cmVwID0gaWRlbnQuaW1wbCgpOwogICAgIHJldHVybiBtX2lkZW50aWZpZXJNYXAuY29udGFpbnMo
cmVwKTsKIH0KIAogdW5zaWduZWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KGNvbnN0
IElkZW50aWZpZXImIGlkZW50KQogewotICAgIFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwo
KTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOwogICAgIElkZW50
aWZpZXJNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBtX2lkZW50aWZpZXJNYXAuYWRkKHJlcCwgbV9j
b2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgaWYgKHJlc3VsdC5pc05ld0Vu
dHJ5KQogICAgICAgICBtX2NvZGVCbG9jay0+YWRkSWRlbnRpZmllcihpZGVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKaW5kZXggYjgxNTYzMjAwOWNkOGZkY2ZlNDljZGIzYzZiMzEwOTIxY2ZjYmE3YS4uM2ViNDc0
NzU5MjJlZjVjOWYzNWFiOWZiODAyYjFkODA2OTljMTAzOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNjE4
LDcgKzYxOCw3IEBACiAgICAgICAgIHZvaWQgZW1pdENvbXBsZXhQb3BTY29wZXMoUmVnaXN0ZXJJ
RCosIENvbnRyb2xGbG93Q29udGV4dCogdG9wU2NvcGUsIENvbnRyb2xGbG93Q29udGV4dCogYm90
dG9tU2NvcGUpOwogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxkb3VibGUsIEpTVmFsdWU+IE51
bWJlck1hcDsKLSAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBKU1N0cmluZyos
IElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOworICAgICAgICB0eXBlZGVm
IEhhc2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNo
PiBJZGVudGlmaWVyU3RyaW5nTWFwOwogICAgICAgICAKICAgICAgICAgLy8gSGVscGVyIGZvciBl
bWl0Q2FsbCgpIGFuZCBlbWl0Q29uc3RydWN0KCkuIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgc2V0
IG9mCiAgICAgICAgIC8vIGV4cGVjdGVkIGZ1bmN0aW9ucyBoYXZlIGlkZW50aWNhbCBiZWhhdmlv
ciBmb3IgYm90aCBjYWxsIGFuZCBjb25zdHJ1Y3QKQEAgLTY0MSw3ICs2NDEsNyBAQAogCiAgICAg
ICAgIC8vIEluaXRpYWxpemVzIHRoZSBzdGFjayBmb3JtIHRoZSBwYXJhbWV0ZXI7IGRvZXMgbm90
aGluZyBmb3IgdGhlIHN5bWJvbCB0YWJsZS4KICAgICAgICAgUmVnaXN0ZXJJRCogaW5pdGlhbGl6
ZU5leHRQYXJhbWV0ZXIoKTsKLSAgICAgICAgU3RyaW5nSW1wbCogdmlzaWJsZU5hbWVGb3JQYXJh
bWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSopOworICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSop
OwogICAgICAgICAKICAgICAgICAgUmVnaXN0ZXJJRCYgcmVnaXN0ZXJGb3IoVmlydHVhbFJlZ2lz
dGVyIHJlZykKICAgICAgICAgewpAQCAtNzE4LDcgKzcxOCw3IEBACiAKICAgICAgICAgLy8gU29t
ZSBvZiB0aGVzZSBvYmplY3RzIGtlZXAgcG9pbnRlcnMgdG8gb25lIGFub3RoZXIuIFRoZXkgYXJl
IGFycmFuZ2VkCiAgICAgICAgIC8vIHRvIGVuc3VyZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gb3JkZXIg
dGhhdCBhdm9pZHMgcmVmZXJlbmNlcyB0byBmcmVlZCBtZW1vcnkuCi0gICAgICAgIEhhc2hTZXQ8
UmVmUHRyPFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9mdW5jdGlvbnM7CisgICAg
ICAgIEhhc2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+
IG1fZnVuY3Rpb25zOwogICAgICAgICBSZWdpc3RlcklEIG1faWdub3JlZFJlc3VsdFJlZ2lzdGVy
OwogICAgICAgICBSZWdpc3RlcklEIG1fdGhpc1JlZ2lzdGVyOwogICAgICAgICBSZWdpc3RlcklE
IG1fY2FsbGVlUmVnaXN0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMzliMDNjZGRjZmIyMzEwMzM0YTFkNjNjODNm
OGYzODUzZDE2YzZmYy4uYzU4ZDM4ZDVlNTZmNjhjYWJhYzJlYTM5MmYyNmVmYjJlMmQ5ZWQ4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcApAQCAtMzgzLDcgKzM4Myw3IEBAIFJlZ2lzdGVySUQqIFByb3BlcnR5TGlzdE5vZGU6
OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlCiAgICAg
Ly8gV2VyZSB0aGVyZSBhbnkgZ2V0L3NldCBwcm9wZXJ0aWVzPwogICAgIGlmIChwKSB7CiAgICAg
ICAgIHR5cGVkZWYgc3RkOjpwYWlyPFByb3BlcnR5Tm9kZSosIFByb3BlcnR5Tm9kZSo+IEdldHRl
clNldHRlclBhaXI7Ci0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgR2V0dGVy
U2V0dGVyUGFpcj4gR2V0dGVyU2V0dGVyTWFwOworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VW5p
cXVlZFN0cmluZ0ltcGwqLCBHZXR0ZXJTZXR0ZXJQYWlyLCBJZGVudGlmaWVyUmVwSGFzaD4gR2V0
dGVyU2V0dGVyTWFwOwogICAgICAgICBHZXR0ZXJTZXR0ZXJNYXAgbWFwOwogCiAgICAgICAgIC8v
IEJ1aWxkIGEgbWFwLCBwYWlyaW5nIGdldC9zZXQgdmFsdWVzIHRvZ2V0aGVyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBhYmM1MWQ0
NmEwNTE5N2RmNDEzYzNiMzZkZjE2OTZkMzliY2NhYTAxLi4yNDdlNjQwODJjOGNhMmE4ZTU5NTYy
NmMxZjY5Mzc2YTNkNTM4M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzEwMCw3ICszMTAwLDcgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5vZGUqIGJhc2Ug
PSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKTsK
ICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGluZVN0YWNrVG9w
LT5tX2lkZW50aWZpZXJSZW1hcFtjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kXTsKICAg
ICAgICAgICAgIAotICAgICAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5p
ZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOworICAgICAgICAgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKICAg
ICAgICAgICAgIEdldEJ5SWRTdGF0dXMgZ2V0QnlJZFN0YXR1cyA9IEdldEJ5SWRTdGF0dXM6OmNv
bXB1dGVGb3IoCiAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJs
b2NrLCBtX2RmZ0NvZGVCbG9jaywKICAgICAgICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5t
X3N0dWJJbmZvcywgbV9kZmdTdHViSW5mb3MsCkBAIC0zNDYxLDcgKzM0NjEsNyBAQCBib29sIEJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgaW50
IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQg
c2NvcGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciA9IG1faW5saW5lU3RhY2tUb3AtPm1faWRlbnRpZmllclJl
bWFwW2N1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmRdOwotICAgICAgICAgICAgQXRvbWlj
U3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJd
OworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmll
cnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKICAgICAgICAgICAgIFJlc29sdmVUeXBlIHJlc29sdmVU
eXBlID0gUmVzb2x2ZU1vZGVBbmRUeXBlKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQp
LnR5cGUoKTsKIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSAwOwpAQCAtMzYw
MywxMSArMzYwMyw5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQg
bGltaXQpCiAgICAgICAgICAgICAgICAgaWRlbnRpZmllck51bWJlciA9IG1faW5saW5lU3RhY2tU
b3AtPm1faWRlbnRpZmllclJlbWFwW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgdW5z
aWduZWQgdmFsdWUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwogICAgICAgICAg
ICAgUmVzb2x2ZVR5cGUgcmVzb2x2ZVR5cGUgPSBSZXNvbHZlTW9kZUFuZFR5cGUoY3VycmVudElu
c3RydWN0aW9uWzRdLnUub3BlcmFuZCkudHlwZSgpOwotICAgICAgICAgICAgQXRvbWljU3RyaW5n
SW1wbCogdWlkOworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG51bGxwdHI7
CiAgICAgICAgICAgICBpZiAoaWRlbnRpZmllck51bWJlciAhPSBVSU5UX01BWCkKICAgICAgICAg
ICAgICAgICB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07Ci0g
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdWlkID0gbnVsbHB0cjsKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwogICAgICAg
ICAgICAgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludHMgPSBudWxscHRyOwpAQCAtNDAyMCw3ICs0
MDE4LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6YnVpbGRPcGVyYW5kTWFwc0lmTmVjZXNzYXJ5
KCkKICAgICAgICAgbV9zd2l0Y2hSZW1hcC5yZXNpemUoY29kZUJsb2NrLT5udW1iZXJPZlN3aXRj
aEp1bXBUYWJsZXMoKSk7CiAKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb2RlQmxv
Y2stPm51bWJlck9mSWRlbnRpZmllcnMoKTsgKytpKSB7Ci0gICAgICAgICAgICBBdG9taWNTdHJp
bmdJbXBsKiByZXAgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIoaSkuaW1wbCgpOworICAgICAgICAg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IGNvZGVCbG9jay0+aWRlbnRpZmllcihpKS5pbXBs
KCk7CiAgICAgICAgICAgICBCb3Jyb3dlZElkZW50aWZpZXJNYXA6OkFkZFJlc3VsdCByZXN1bHQg
PSBieXRlQ29kZVBhcnNlci0+bV9pZGVudGlmaWVyTWFwLmFkZChyZXAsIGJ5dGVDb2RlUGFyc2Vy
LT5tX2dyYXBoLmlkZW50aWZpZXJzKCkubnVtYmVyT2ZJZGVudGlmaWVycygpKTsKICAgICAgICAg
ICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgICAgICAgICBieXRlQ29kZVBhcnNl
ci0+bV9ncmFwaC5pZGVudGlmaWVycygpLmFkZExhemlseShyZXApOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCmluZGV4IDY1YzMw
MWRiZWUxNmQzZjc0YjU0MjdiN2EwZjY5MjQ4ODQxYzRlMzIuLjU1MTQ1ZTBlM2ZhNmVjNjJhYTJl
MzllNjJhMjZhNjdjZThhNTI0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKQEAgLTUyLDE0ICs1MiwxNCBAQCB1bnNpZ25l
ZCBEZXNpcmVkSWRlbnRpZmllcnM6Om51bWJlck9mSWRlbnRpZmllcnMoKQogICAgIHJldHVybiBt
X2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpICsgbV9hZGRlZElkZW50aWZpZXJzLnNp
emUoKTsKIH0KIAotdm9pZCBEZXNpcmVkSWRlbnRpZmllcnM6OmFkZExhemlseShBdG9taWNTdHJp
bmdJbXBsKiByZXApCit2b2lkIERlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5KFVuaXF1ZWRT
dHJpbmdJbXBsKiByZXApCiB7CiAgICAgbV9hZGRlZElkZW50aWZpZXJzLmFwcGVuZChyZXApOwog
fQogCi1BdG9taWNTdHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGlu
ZGV4KSBjb25zdAorVW5pcXVlZFN0cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVyczo6YXQodW5z
aWduZWQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogcmVzdWx0OworICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiByZXN1bHQ7CiAgICAgaWYgKGluZGV4IDwgbV9jb2RlQmxvY2st
Pm51bWJlck9mSWRlbnRpZmllcnMoKSkKICAgICAgICAgcmVzdWx0ID0gbV9jb2RlQmxvY2stPmlk
ZW50aWZpZXIoaW5kZXgpLmltcGwoKTsKICAgICBlbHNlCkBAIC03MSw3ICs3MSw3IEBAIEF0b21p
Y1N0cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVyczo6YXQodW5zaWduZWQgaW5kZXgpIGNvbnN0
CiB2b2lkIERlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5QWRkKFZNJiB2bSwgQ29tbW9uRGF0YSog
Y29tbW9uRGF0YSkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9hZGRlZElkZW50
aWZpZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHJlcCA9IG1fYWRkZWRJ
ZGVudGlmaWVyc1tpXTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IG1fYWRkZWRJ
ZGVudGlmaWVyc1tpXTsKICAgICAgICAgQVNTRVJUKHJlcC0+aGFzQXRMZWFzdE9uZVJlZigpKTsK
ICAgICAgICAgY29tbW9uRGF0YS0+ZGZnSWRlbnRpZmllcnMuYXBwZW5kKElkZW50aWZpZXI6OmZy
b21VaWQoJnZtLCByZXApKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaAppbmRleCBmOWNlMzgxZmNlMGYyMTVmNTg3MzU1NGJl
MjU0OGVkYzZlMTc3YjI3Li4zYTJhMzQ4NTdmM2IwZjcyZWUxYzlhZjMxNjRmMmU0OTQ0M2NhNjI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlm
aWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZp
ZXJzLmgKQEAgLTQ1LDE3ICs0NSwxNyBAQCBjbGFzcyBEZXNpcmVkSWRlbnRpZmllcnMgewogICAg
IH5EZXNpcmVkSWRlbnRpZmllcnMoKTsKICAgICAKICAgICB1bnNpZ25lZCBudW1iZXJPZklkZW50
aWZpZXJzKCk7Ci0gICAgdm9pZCBhZGRMYXppbHkoQXRvbWljU3RyaW5nSW1wbCopOworICAgIHZv
aWQgYWRkTGF6aWx5KFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAgICAgCi0gICAgQXRvbWljU3RyaW5n
SW1wbCogYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBh
dCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAgCi0gICAgQXRvbWljU3RyaW5nSW1wbCogb3Bl
cmF0b3JbXSh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gYXQoaW5kZXgpOyB9CisgICAg
VW5pcXVlZFN0cmluZ0ltcGwqIG9wZXJhdG9yW10odW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0
dXJuIGF0KGluZGV4KTsgfQogICAgIAogICAgIHZvaWQgcmVhbGx5QWRkKFZNJiwgQ29tbW9uRGF0
YSopOwogICAgIAogcHJpdmF0ZToKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2NrOwotICAgIFZl
Y3RvcjxBdG9taWNTdHJpbmdJbXBsKj4gbV9hZGRlZElkZW50aWZpZXJzOworICAgIFZlY3RvcjxV
bmlxdWVkU3RyaW5nSW1wbCo+IG1fYWRkZWRJZGVudGlmaWVyczsKIH07CiAKIH0gfSAvLyBuYW1l
c3BhY2UgSlNDOjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwCmluZGV4IGEzZTBhMDJmN2MyYjEzMzdiYTczYWVmNTdiYTE2YTI5ODBkYTE0OGYuLjQ0ZDYy
YzY4NTk0NWY0YjM0Mjk4NjJlYjBmYzNhYzcyNDExZGZiNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtOTY0LDE2ICs5NjQsMTYgQEAgY2xhc3Mg
Rml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICBpZiAoIW1fZ3JhcGguaGFz
RXhpdFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBCYWRDYWNoZSkKICAgICAgICAgICAgICAg
ICAmJiAhbV9ncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIEJhZEluZGV4
aW5nVHlwZSkKICAgICAgICAgICAgICAgICAmJiAhbV9ncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5v
cmlnaW4uc2VtYW50aWMsIEV4b3RpY09iamVjdE1vZGUpKSB7Ci0gICAgICAgICAgICAgICAgU3Ry
aW5nSW1wbCogaW1wbCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtub2RlLT5pZGVudGlmaWVyTnVt
YmVyKCldOwotICAgICAgICAgICAgICAgIGlmIChpbXBsID09IHZtKCkucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLmltcGwoKSkgeworICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQg
PSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKKyAgICAg
ICAgICAgICAgICBpZiAodWlkID09IHZtKCkucHJvcGVydHlOYW1lcy0+bGVuZ3RoLmltcGwoKSkg
ewogICAgICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0QXJyYXlMZW5ndGgobm9kZSk7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGguaW1wbCgp
KSB7CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5dGVM
ZW5ndGguaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHRUb01ha2VHZXRUeXBl
ZEFycmF5Qnl0ZUxlbmd0aChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChpbXBsID09IHZtKCkucHJvcGVydHlO
YW1lcy0+Ynl0ZU9mZnNldC5pbXBsKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAodWlkID09IHZt
KCkucHJvcGVydHlOYW1lcy0+Ynl0ZU9mZnNldC5pbXBsKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgYXR0ZW1wdFRvTWFrZUdldFR5cGVkQXJyYXlCeXRlT2Zmc2V0KG5vZGUpOwogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CkBAIC0xNDk2LDcgKzE0OTYsNyBA
QCBjbGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICB9CiAgICAgCiAgICAgYm9v
bCBpc1N0cmluZ1Byb3RvdHlwZU1ldGhvZFNhbmUoCi0gICAgICAgIEpTT2JqZWN0KiBzdHJpbmdQ
cm90b3R5cGUsIFN0cnVjdHVyZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQpCisgICAgICAgIEpTT2JqZWN0KiBzdHJpbmdQcm90b3R5cGUsIFN0cnVjdHVy
ZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlc1VudXNlZDsKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKaW5kZXggZmEzN2E3MTE0MmUyODU5ZjVlY2U0NzRiNTA2ZmEzMWIwNmM5ZDE0
NC4uMTc2OWI3MzY5NTNiMWIwNzFmZGE5ZTlhMzI0ODQwMmE2NTY4ZWJkZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTkwNiw3ICs5
MDYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW4oTm9kZSogbm9kZSkKICAgICAg
ICAgICAgIGF1dG8gc2xvd1BhdGggPSBzbG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAganVt
cC5tX2p1bXAsIHRoaXMsIG9wZXJhdGlvbkluT3B0aW1pemUsCiAgICAgICAgICAgICAgICAgSlNW
YWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlc3VsdEdQUiksIHN0dWJJbmZvLCBiYXNlR1BSLAotICAg
ICAgICAgICAgICAgIHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkpOworICAgICAgICAgICAgICAg
IHN0YXRpY19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmctPnRyeUdldFZhbHVl
SW1wbCgpKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN0dWJJbmZvLT5jb2RlT3JpZ2lu
ID0gbm9kZS0+b3JpZ2luLnNlbWFudGljOwogICAgICAgICAgICAgc3R1YkluZm8tPnBhdGNoLmJh
c2VHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJhc2VHUFIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IGI5ZTZlMGRkMjRmZGViZjBjMWNk
N2QyMTRiZmNlZWNkZmZlNTc0ZDkuLmI2NjY0MmVhYzhlZjA5NWZiNDBmNWVjOTg2MTgxODI4OGY3
YzQxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKQEAgLTU1Niw3ICs1NTYsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgYm9vbCBp
c0tub3duTm90TnVtYmVyKE5vZGUqIG5vZGUpIHsgcmV0dXJuICEobV9zdGF0ZS5mb3JOb2RlKG5v
ZGUpLm1fdHlwZSAmIFNwZWNGdWxsTnVtYmVyKTsgfQogICAgIGJvb2wgaXNLbm93bk5vdENlbGwo
Tm9kZSogbm9kZSkgeyByZXR1cm4gIShtX3N0YXRlLmZvck5vZGUobm9kZSkubV90eXBlICYgU3Bl
Y0NlbGwpOyB9CiAgICAgCi0gICAgU3RyaW5nSW1wbCogaWRlbnRpZmllclVJRCh1bnNpZ25lZCBp
bmRleCkKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllclVJRCh1bnNpZ25lZCBpbmRl
eCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX2ppdC5ncmFwaCgpLmlkZW50aWZpZXJzKClbaW5k
ZXhdOwogICAgIH0KQEAgLTExNzksNyArMTE3OSw3IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHMoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihJX0pJVE9wZXJhdGlvbl9FSnNzIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihUX0pJVE9wZXJhdGlvbl9FSnNzIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
R1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTEyNDAsNyArMTI0MCw3IEBAIGNsYXNz
IFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHModmFsdWUpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHQpOwpAQCAtMTI4NSwxMiArMTI4NSwxMiBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmluZ0ltcGwqIHVp
ZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VT
c2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgR1BSUmVnIGFyZzEsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHVi
SW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9
Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3Np
Skkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBhcmcxLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CkBAIC0xNDQ1LDcgKzE0NDUsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJ
VCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcy
LCBUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFN0cmluZ0ltcGwq
IHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9u
X0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBh
cmcxLCBHUFJSZWcgYXJnMiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZv
KSwgYXJnMSwgYXJnMiwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKQEAgLTE1NDUsNyArMTU0NSw3IEBA
IGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25D
aGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAg
fQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUkg
b3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RyaW5n
SW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9h
ZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBh
eWxvYWQsIHJlc3VsdFRhZyk7CkBAIC0xNjExLDE3ICsxNjExLDE3IEBAIGNsYXNzIFNwZWN1bGF0
aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7
CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxv
YWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmlu
Z0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQ
YXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1t
UHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQotICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwg
U3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJl
c3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcs
IEdQUlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJ
bmZvKSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZv
LCBpbnQzMl90IGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgU3RyaW5nSW1wbCogdWlkKQor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJ
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgaW50MzJfdCBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxv
YWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2Fk
LCBUcnVzdGVkSW1tMzIoYXJnMVRhZyksIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKQEAgLTE3NTQsNyArMTc1NCw3IEBAIGNsYXNzIFNwZWN1
bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVB
QklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBhcmcyLCBUcnVzdGVkSW1t
UHRyKHBvaW50ZXIpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2sob3BlcmF0aW9uKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlBh
eWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJlZyBhcmcy
UGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMVBh
eWxvYWQsIGFyZzFUYWcsIGFyZzJQYXlsb2FkLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRh
ZyksIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbXBpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21w
aWxlLmNwcAppbmRleCAzY2U4MTE4OGJmMThmYmZmNGVkMzdhMjYzNDc4NzI2ZTBiYjI0NDAzLi5j
YjVlNzU0NDYyNDkzY2ZhOWE3NmViM2ZjZGJmY2I5NmIzYmVmOWIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKQEAgLTUxNSw3ICs1MTUsNyBAQCBzdGF0aWMgdm9p
ZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAKICAgICAgICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBzbG93Q2FsbCA9IGNhbGxPcGVyYXRpb24oCiAgICAgICAgICAgICAgICAg
ICAgIHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBzbG93UGF0aEpJVCwgY2hlY2tJbi5jb2RlT3JpZ2lu
KCksICZleGNlcHRpb25UYXJnZXQsCi0gICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbkluT3B0
aW1pemUsIHJlc3VsdCwgc3R1YkluZm8sIG9iaiwgY2hlY2tJbi5tX2lkKTsKKyAgICAgICAgICAg
ICAgICAgICAgb3BlcmF0aW9uSW5PcHRpbWl6ZSwgcmVzdWx0LCBzdHViSW5mbywgb2JqLCBjaGVj
a0luLm1fdWlkKTsKIAogICAgICAgICAgICAgICAgIGNoZWNrSW4ubV9zbG93UGF0aERvbmUuYXBw
ZW5kKHNsb3dQYXRoSklULmp1bXAoKSk7CiAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3IuaAppbmRleCA4
MmI2MjM4Y2MzNGRlM2IyNDQ4OTQ4NTkzMzUzNDNhOGE1OTVmNDU1Li44YzE0M2QxZmI3ZGUwYTM5
ZmE0YmIyOThlMzJjMDdlNDkyZTNlMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNp
bmNsdWRlICJKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1i
bGVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRM
IHsKIApAQCAtMzksNyArNDAsNyBAQCBjbGFzcyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogcHVi
bGljOgogICAgIElubGluZUNhY2hlRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAgIElubGluZUNh
Y2hlRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IFN0cmluZ0ltcGwqIHVpZCkKKyAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IodW5zaWduZWQgc3Rh
Y2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ICAgICAgICA6IG1fc3RhY2ttYXBJRChzdGFja21hcElEKQogICAgICAgICAsIG1fY29kZU9yaWdp
bihjb2RlT3JpZ2luKQogICAgICAgICAsIG1fdWlkKHVpZCkKQEAgLTQ4LDEyICs0OSwxMiBAQCBj
bGFzcyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogICAgIAogICAgIHVuc2lnbmVkIHN0YWNrbWFw
SUQoKSBjb25zdCB7IHJldHVybiBtX3N0YWNrbWFwSUQ7IH0KICAgICBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4oKSBjb25zdCB7IHJldHVybiBtX2NvZGVPcmlnaW47IH0KLSAgICBTdHJpbmdJbXBsKiB1
aWQoKSBjb25zdCB7IHJldHVybiBtX3VpZDsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQo
KSBjb25zdCB7IHJldHVybiBtX3VpZDsgfQogICAgIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBt
X3N0YWNrbWFwSUQ7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47Ci0gICAgU3RyaW5nSW1w
bCogbV91aWQ7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdWlkOwogICAgIAogcHVibGljOgog
ICAgIFZlY3RvcjxNYWNyb0Fzc2VtYmxlcjo6SnVtcD4gbV9zbG93UGF0aERvbmU7CkBAIC02Myw3
ICs2NCw3IEBAIGNsYXNzIEdldEJ5SWREZXNjcmlwdG9yIDogcHVibGljIElubGluZUNhY2hlRGVz
Y3JpcHRvciB7CiBwdWJsaWM6CiAgICAgR2V0QnlJZERlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAg
ICBHZXRCeUlkRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4sIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHZXRCeUlkRGVzY3JpcHRvcih1bnNpZ25lZCBz
dGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
CiAgICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmlnaW4s
IHVpZCkKICAgICB7CiAgICAgfQpAQCAtNzYsNyArNzcsNyBAQCBjbGFzcyBQdXRCeUlkRGVzY3Jp
cHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogICAgIFB1dEJ5SWREZXNjcmlw
dG9yKCkgeyB9CiAgICAgCiAgICAgUHV0QnlJZERlc2NyaXB0b3IoCi0gICAgICAgIHVuc2lnbmVk
IHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5nSW1wbCogdWlkLAorICAg
ICAgICB1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQsCiAgICAgICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQdXRLaW5kIHB1dEtp
bmQpCiAgICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmln
aW4sIHVpZCkKICAgICAgICAgLCBtX2VjbWFNb2RlKGVjbWFNb2RlKQpAQCAtMTExLDE0ICsxMTIs
MTQgQEAgY2xhc3MgQ2hlY2tJbkRlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5lQ2FjaGVEZXNjcmlw
dG9yIHsKIHB1YmxpYzoKICAgICBDaGVja0luRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAgIENo
ZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdp
biwgY29uc3QgU3RyaW5nSW1wbCogaWQpCisgICAgQ2hlY2tJbkRlc2NyaXB0b3IodW5zaWduZWQg
c3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2Rl
T3JpZ2luLCBudWxscHRyKQotICAgICAgICAsIG1faWQoaWQpCisgICAgICAgICwgbV91aWQodWlk
KQogICAgIHsKICAgICB9CiAKICAgICAKLSAgICBjb25zdCBTdHJpbmdJbXBsKiBtX2lkOworICAg
IGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICBWZWN0b3I8Q2hlY2tJbkdlbmVy
YXRvcj4gbV9nZW5lcmF0b3JzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCA0YjI4ZDM1NjI1YTczMjdjMTI5YzYx
YTBiNzg1NzMwYjgyOTUyNjNkLi5hNWI4ZjczMWNlMmMyMTFkOWZhNDRhM2E3MzQyMDNhMjNkM2Fl
YTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1Jl
cG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1Jl
cG9zaXRvcnkuaApAQCAtNzMsNyArNzMsNyBAQAogICAgIG1hY3JvKENfSklUT3BlcmF0aW9uX0VT
dFpaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50MzIsIGludDMyKSkg
XAogICAgIG1hY3JvKENfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQ
dHIsIGludDMyKSkgXAogICAgIG1hY3JvKERfSklUT3BlcmF0aW9uX0QsIGZ1bmN0aW9uVHlwZShk
b3VibGVUeXBlLCBkb3VibGVUeXBlKSkgXAotICAgIG1hY3JvKElfSklUT3BlcmF0aW9uX0VKc3Ms
IGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKFRfSklU
T3BlcmF0aW9uX0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAog
ICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyKSkg
XAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VBLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0
ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VBWiwgZnVuY3Rpb25UeXBl
KGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDRhODM3Yzc0YmJjYWQ2MGUyMzA1
Y2EyMDQ0YWFmZmZjMmJkMjBjNDAuLjZmOTZiODQwN2VjMTllYWRjOTk5MzViNjY1OTIxYmJlZGNm
Yzk1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwCkBAIC0yMDg3LDcgKzIwODcsNyBAQCBjbGFzcyBMb3dlckRGR1RvTExWTSB7CiAgICAg
ICAgIAogICAgICAgICBMVmFsdWUgYmFzZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CiAg
ICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgIFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVttX25vZGUtPmlkZW50
aWZpZXJOdW1iZXIoKV07CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBo
LmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOwogCiAgICAgICAgIC8v
IEFyZ3VtZW50czogaWQsIGJ5dGVzLCB0YXJnZXQsIG51bUFyZ3MsIGFyZ3MuLi4KICAgICAgICAg
dW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKQEAgLTQ4MTEsNyArNDgxMSw3
IEBAIGNsYXNzIExvd2VyREZHVG9MTFZNIHsKICAgICAgICAgaWYgKEpTU3RyaW5nKiBzdHJpbmcg
PSBtX25vZGUtPmNoaWxkMSgpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5nKj4oKSkgewog
ICAgICAgICAgICAgaWYgKHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkgJiYgc3RyaW5nLT50cnlH
ZXRWYWx1ZUltcGwoKS0+aXNBdG9taWMoKSkgewogCi0gICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nSW1wbCogc3RyID0gc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKTsKKyAgICAgICAgICAgICAg
ICBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBzdHIgPSBzdGF0aWNfY2FzdDxjb25zdCBBdG9taWNT
dHJpbmdJbXBsKj4oc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSk7CiAgICAgICAgICAgICAgICAg
dW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgIExWYWx1ZSBjYWxsID0gbV9vdXQuY2FsbCgKQEAgLTU3NTAsNyArNTc1MCw3
IEBAIGNsYXNzIExvd2VyREZHVG9MTFZNIHsKICAgICAKICAgICBMVmFsdWUgZ2V0QnlJZChMVmFs
dWUgYmFzZSkKICAgICB7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRp
ZmllcnMoKVttX25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVt
YmVyKCldOwogCiAgICAgICAgIC8vIEFyZ3VtZW50czogaWQsIGJ5dGVzLCB0YXJnZXQsIG51bUFy
Z3MsIGFyZ3MuLi4KICAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMr
KzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmNwcAppbmRl
eCAxZmQ4YzgzZjRlNTZjOTJhNGExOTU2YTk4N2I1ZDM2ZjRhZDA3NDZhLi5mZmJkNDc0YjYyMmFh
N2U3OTBjMjZlYjFiODEzNGE3M2QxNzZhZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExTbG93UGF0aENhbGwuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgdm9pZCBzdG9yZUNv
ZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9yaWdpbiBjb2Rl
T3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3Rl
cnMsIENDYWxsSGVscGVycyYgaml0LAogICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgTWFjcm9B
c3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAgSl9KSVRPcGVyYXRpb25f
RVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLAotICAgIEdQUlJlZyBvYmplY3QsIGNvbnN0IFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHUFJS
ZWcgb2JqZWN0LCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHN0b3JlQ29k
ZU9yaWdpbihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4dCBjb250ZXh0
KHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0xOTAsNyArMTkwLDcg
QEAgdm9pZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJT
ZXQmIHVzZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LAogICAgIENvZGVPcmlnaW4gY29k
ZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAg
Sl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLAotICAgIEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkK
KyAgICBHUFJSZWcgb2JqZWN0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHN0b3Jl
Q29kZU9yaWdpbihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4dCBjb250
ZXh0KHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0yMDQsNyArMjA0
LDcgQEAgdm9pZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGpp
dCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0
ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LCAKICAgICBDb2RlT3JpZ2lu
IGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAog
ICAgIFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEdQUlJlZyB2YWx1ZSwKLSAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgR1BSUmVnIG9iamVjdCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBz
dG9yZUNvZGVPcmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQg
Y29udGV4dChzdGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA1LCBJbnZhbGlkR1BSUmVnKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCmluZGV4IDZlNGQ1ZjZl
MTU5YTVmYTMyMDU2ZjcxYTc4NDc0ODllYzExOGUzZjYuLjgxOGVmNjQ2NGM3YjFjZmFmNmY1Zjky
YjBkMDFjMGJkMGUxMWI1MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMU2xvd1BhdGhDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93
UGF0aENhbGwuaApAQCAtNjAsMTUgKzYwLDE1IEBAIGNsYXNzIFNsb3dQYXRoQ2FsbCB7CiBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAogICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0
ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0
KiwKICAgICBKX0pJVE9wZXJhdGlvbl9FU3NpQ0ksIEdQUlJlZywgU3RydWN0dXJlU3R1YkluZm8q
LCBHUFJSZWcsCi0gICAgY29uc3QgU3RyaW5nSW1wbCopOworICAgIGNvbnN0IFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbigKICAgICBT
dGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdpbiwgQ0Nh
bGxIZWxwZXJzOjpKdW1wTGlzdCosCiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBHUFJSZWcg
cmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyBvYmplY3QsCi0gICAgU3RyaW5nSW1w
bCogdWlkKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxs
SGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3QqLAogICAgIFZfSklU
T3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnIHZhbHVlLCBHUFJS
ZWcgb2JqZWN0LAotICAgIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhkNjVkMjFjOS4uMTMxZmEw
MDE5ZjYxMGM3ZDk0ODllNThjZTgzZWJjYzBiZDUyNWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCkBAIC02OTQsOSArNjk0LDkgQEAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQywgSlNDZWxsKik7CiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUosIGludCwgR1BSUmVn
KTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFdpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGludCwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25f
RVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBVbmlxdWVkU3RyaW5nSW1w
bCopOwogI2Vsc2UKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihX
aXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgR1BSUmVnLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNz
aUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBHUFJSZWcsIFVuaXF1ZWRTdHJp
bmdJbXBsKik7CiAjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSklkYywgaW50LCBHUFJSZWcsIGNvbnN0IElkZW50aWZpZXIq
KTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwpAQCAtNzM0LDkgKzczNCw5IEBACiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUpJ
ZEpKLCBSZWdpc3RlcklELCBjb25zdCBJZGVudGlmaWVyKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJ
RCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FRkpaWiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwg
aW50MzJfdCwgUmVnaXN0ZXJJRCk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBSZWdp
c3RlcklELCBSZWdpc3RlcklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1
YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2Vs
c2UKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJh
dGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQs
IFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVy
SUQsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSkpKLCBSZWdpc3RlcklELCBSZWdp
c3RlcklELCBSZWdpc3RlcklEKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSlpKLCBSZWdpc3RlcklELCBpbnQzMl90LCBSZWdpc3Rl
cklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDky
MjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYjcxNjlmNTQ4N2M5NWUwZThkNzA4NmZk
ZjZlODhiNjcyZjVmNjI5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgK
QEAgLTM4Nyw3ICszODcsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJ
VDo6Y2FsbE9wZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FRkpaWiBvcGVyYQogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9u
X0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lzdGVy
SUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09wMiwgU3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lO
TElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRp
b25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0
ZXJJRCByZWdPcDEsIFJlZ2lzdGVySUQgcmVnT3AyLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZv
KSwgcmVnT3AxLCByZWdPcDIsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKQEAgLTQwNSw3ICs0MDUsNyBAQCBB
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJ
VE9wZXJhdGlvbl9FWkogb3BlcmF0aQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9u
X0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
R1BSUmVnIGFyZzEsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3Bl
cmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgR1BSUmVnIGFyZzEsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVz
dGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0SlNWYWx1ZVJlc3VsdFdpdGhQcm9maWxlKG9wZXJhdGlvbiwgZHN0KTsKQEAgLTU0Niw3ICs1
NDYsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSiBvcGVyYXRpbwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKLUFM
V0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6
V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3Qs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcx
UGF5bG9hZCwgU3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRp
b25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZv
LCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0
dWJJbmZvKSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0V2l0aFBy
b2ZpbGUob3BlcmF0aW9uLCBkc3QpOwpAQCAtNjA2LDcgKzYwNiw3IEBAIEFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0Va
U3ltdGFiSiBvCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0
aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVySUQgcmVnT3AxUGF5
bG9hZCwgUmVnaXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3AyUGF5bG9hZCwgU3Ry
aW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNh
bGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVySUQgcmVnT3Ax
UGF5bG9hZCwgUmVnaXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3AyUGF5bG9hZCwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHJlZ09wMVBheWxvYWQsIHJlZ09wMVRhZywgcmVn
T3AyUGF5bG9hZCwgcmVnT3AyVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNk
YmQ3ODM2MDI5ODE1NDAwNzEzLi4yMjdjNGZiZjBiMzczNTEyZTFmMGQxNjk5ZDBiNzJhYWI3ZTA5
ZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAg
LTE0Nyw3ICsxNDcsNyBAQCBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29uc3RydWN0
QXJpdHlDaGVjayhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIG1pc3NpbmdBcmdDb3VudDsK
IH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBTdHJp
bmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0xNTgsNyAr
MTU4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8KICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGJhc2VWYWx1ZS5nZXQoZXhlYywgaWRlbnQsIHNsb3QpKTsKIH0KIAotRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBTdHJp
bmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7CkBAIC0xNzYsNyArMTc2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXIKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVu
dCkgOiBqc1VuZGVmaW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTk1LDcgKzE5
NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0ltcGwqIGtleSkKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgSlNDZWxsKiBiYXNlLCBVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjIxLDcgKzIyMSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4o
cmVzdWx0KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4o
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCogYmFzZSwgU3RyaW5n
SW1wbCoga2V5KQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiBiYXNlLCBVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjQzLDcgKzI0Myw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2VuZXJpY0luKEV4ZWNTdGF0ZSogZXhl
YywgSlNDZWxsKiBiYXNlLCBFCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4o
Q29tbW9uU2xvd1BhdGhzOjpvcEluKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShrZXkpLCBiYXNlKSkp
OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBA
IC0yNTMsNyArMjUzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJp
Y3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEUKICAgICBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1w
bCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHVi
SW5mbyoKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNzMsNyAr
MjczLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3Qo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW4KICAgICBhc09iamVjdChKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI4Myw3ICsy
ODMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmlj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKQEAgLTMwNyw3ICszMDcsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogICAgICAgICBz
dHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
CkBAIC0zMzEsNyArMzMxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRO
b25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAgICAgICAgc3R1
YkluZm8tPnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwpAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRC
eUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1CiAgICAgICAg
IHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKQEAgLTM3OSw3ICszNzksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBW
TSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZt
LCBleGVjKTsKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogICAg
IGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90
LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKQEAgLTQyMSw3ICs0MjEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogICAgIGJ1
aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAq
c3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBW
TSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZt
LCBleGVjKTsKQEAgLTQ0Miw3ICs0NDIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdAogICAg
IGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xv
dCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5o
CmluZGV4IDRjODFkODU0N2M4Y2Y2NzA2ZjA4ZGYwNjE3Y2Q5YTkxNjg4ZWY5NjUuLjVmNjlhZGFl
YmM1NDZlODUwYWMyMzQxY2Y5MmY1MGRhMGE5YTc1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBACiAgICAgRTogRXhlY1N0YXRl
KgogICAgIEY6IENhbGxGcmFtZSoKICAgICBHOiBKU0dsb2JhbE9iamVjdCoKLSAgICBJOiBTdHJp
bmdJbXBsKgorICAgIEk6IFVuaXF1ZWRTdHJpbmdJbXBsKgogICAgIEljZjogSW5saW5lQ2FsbEZy
YW1lKgogICAgIElkYzogY29uc3QgSWRlbnRpZmllcioKICAgICBKOiBFbmNvZGVkSlNWYWx1ZQpA
QCAtODMsNiArODMsNyBAQAogICAgIFNzaTogU3RydWN0dXJlU3R1YkluZm8qCiAgICAgU3Q6IFN0
cnVjdHVyZSoKICAgICBTeW10YWI6IFN5bWJvbFRhYmxlKgorICAgIFQ6IFN0cmluZ0ltcGwqCiAg
ICAgVjogdm9pZAogICAgIFZtOiBWTSoKICAgICBXczogV2F0Y2hwb2ludFNldCoKQEAgLTk3LDEy
ICs5OCwxMiBAQAogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUFhcEpjcFopKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBj
b25zdCBKU1ZhbHVlKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQykoRXhlY1N0YXRlKiwgSlNDZWxsKik7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0MpKEV4ZWNT
dGF0ZSosIEpTQ2VsbCosIEpTQ2VsbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNJKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBTdHJpbmdJ
bXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FQ0kpKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0opKEV4
ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDWikoRXhlY1N0YXRlKiwgSlNDZWxs
KiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FREEpKEV4ZWNTdGF0ZSosIGRvdWJsZSwgSlNBcnJheSopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUUpKEV4ZWNTdGF0
ZSosIEV4ZWNTdGF0ZSopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUkpKEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VJKShFeGVjU3RhdGUq
LCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsKIHR5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKWiko
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpDKShFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSwgSlNDZWxsKik7CkBAIC0xMTcsOCArMTE4LDggQEAKIHR5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwg
SW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4
ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRl
KiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwordHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJ
KShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVk
U3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVpJY2ZaKShFeGVjU3RhdGUqLCBp
bnQzMl90LCBJbmxpbmVDYWxsRnJhbWUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaWikoRXhlY1N0YXRlKiwgaW50MzJf
dCwgaW50MzJfdCk7CkBAIC0xODQsNyArMTg1LDcgQEAKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFU
SU9OICgqVl9KSVRPcGVyYXRpb25fRUNDKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0NlbGwqKTsK
IHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVpTeW10YWJKKShF
eGVjU3RhdGUqLCBpbnQzMl90LCBTeW1ib2xUYWJsZSosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVk
ZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlKTsKLXR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRp
b25fRUpDSSkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFN0cmluZ0ltcGwq
KTsKK3R5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpDSSkoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0
eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKSWRKSikoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUsIElkZW50aWZpZXIqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9F
SkpKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpQ
UCkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIHZvaWQqLCB2b2lkKik7CkBAIC0xOTQsNyAr
MTk1LDcgQEAKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRU9a
SikoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwg
SW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRp
b25fRVBaSikoRXhlY1N0YXRlKiwgdm9pZCosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsKLXR5
cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVNzaUpKSSkoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUs
IFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRp
b25fRVNzaUpKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIHZvaWQgSklU
X09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VXcykoRXhlY1N0YXRlKiwgV2F0Y2hwb2ludFNl
dCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FWikoRXhl
Y1N0YXRlKiwgaW50MzJfdCk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3Bl
cmF0aW9uX0VaSikoRXhlY1N0YXRlKiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwpAQCAtMjE4
LDcgKzIxOSw3IEBACiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlv
bl9FU3RTUykoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRl
ZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVN0WikoRXhlY1N0YXRlKiwg
U3RydWN0dXJlKiwgaW50MzJfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJ
VE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwotdHlwZWRlZiBT
dHJpbmdJbXBsKiBKSVRfT1BFUkFUSU9OICgqSV9KSVRPcGVyYXRpb25fRUpzcykoRXhlY1N0YXRl
KiwgSlNTdHJpbmcqKTsKK3R5cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJBVElPTiAoKlRfSklU
T3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKik7CiB0eXBlZGVmIEpTU3RyaW5n
KiBKSVRfT1BFUkFUSU9OICgqSnNzX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50MzJf
dCk7CiAKIC8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbG9va3VwIGFuIGV4Y2VwdGlvbiBoYW5k
ZXIsIGtleWVkIGJ5IGZhdWx0TG9jYXRpb24sIHdoaWNoIGlzCkBAIC0yMzEsMjQgKzIzMiwyNCBA
QAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93U3RhY2tPdmVyZmxvd0Vycm9yKEV4
ZWNTdGF0ZSosIENvZGVCbG9jayopIFdURl9JTlRFUk5BTDsKIGludDMyX3QgSklUX09QRVJBVElP
TiBvcGVyYXRpb25DYWxsQXJpdHlDaGVjayhFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CiBpbnQz
Ml90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVjayhFeGVjU3RhdGUq
KSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdl
dEJ5SWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3Ry
aW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsK
LUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1Zh
bHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVS
TkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwq
KSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbklu
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0lt
cGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkdlbmVyaWNJbihFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVS
TkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRl
KiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
U3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBV
bmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwor
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6
ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWls
ZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3Ry
aWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25SZWFsbG9jYXRlU3RvcmFnZUFuZEZpbmlzaFB1dChFeGVjU3RhdGUq
LCBKU09iamVjdCosIFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LCBFbmNvZGVkSlNWYWx1ZSkg
V1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdU
Rl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVl
KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwCmluZGV4
IDcyMDk2OWU1ZjhlMjdjYmUzZGZhYTkwNTZjNTE0Mzc4MWQ3ODhkYzMuLmZmOWFhNDRhZDE0Nzhh
YjcwOTFkYWI0ODE2NTQwMjRkMTFmYTA1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgU3RhdGVtZW50Tm9kZSogU2NvcGVOb2RlOjpz
aW5nbGVTdGF0ZW1lbnQoKSBjb25zdAogewogfQogCi12b2lkIFByb2dyYW1Ob2RlOjpzZXRDbG9z
ZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMp
Cit2b2lkIFByb2dyYW1Ob2RlOjpzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fY2xvc2VkVmFyaWFi
bGVzID0gV1RGOjptb3ZlKGNsb3NlZFZhcmlhYmxlcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKaW5kZXggZDJjZjJlZTRmMzkyYzEyYWMyNjUzYzJmMDgyZmRjNDRlODgwYWFh
ZS4uZDc1NDhkMDc0MzUxZTlmNjliNzEzZjExMzljMWFjYmE5Zjc2NmI0YSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtNzYsNyArNzYsNyBAQAogICAgIH07CiAgICAgaW5s
aW5lIEZhbGxUaHJvdWdoTW9kZSBpbnZlcnQoRmFsbFRocm91Z2hNb2RlIGZhbGxUaHJvdWdoTW9k
ZSkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RmFsbFRocm91Z2hNb2RlPighZmFsbFRocm91Z2hNb2Rl
KTsgfQogCi0gICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPiwgSWRlbnRpZmll
clJlcEhhc2g+IElkZW50aWZpZXJTZXQ7CisgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU2V0OwogCiAgICAg
bmFtZXNwYWNlIERlY2xhcmF0aW9uU3RhY2tzIHsKICAgICAgICAgZW51bSBWYXJBdHRycyB7IElz
Q29uc3RhbnQgPSAxLCBIYXNJbml0aWFsaXplciA9IDIgfTsKQEAgLTE1NDYsNyArMTU0Niw3IEBA
CiAgICAgICAgIGJvb2wgaGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiAhIW1f
Y2FwdHVyZWRWYXJpYWJsZXMuc2l6ZSgpOyB9CiAgICAgICAgIHNpemVfdCBjYXB0dXJlZFZhcmlh
YmxlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLnNpemUoKTsgfQog
ICAgICAgICBjb25zdCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXM7IH0KLSAgICAgICAgYm9vbCBjYXB0dXJlcyhTdHJp
bmdJbXBsKiB1aWQpIHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFpbnModWlkKTsg
fQorICAgICAgICBib29sIGNhcHR1cmVzKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIHsgcmV0dXJu
IG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFpbnModWlkKTsgfQogICAgICAgICBib29sIGNhcHR1
cmVzKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSB7IHJldHVybiBjYXB0dXJlcyhpZGVudC5pbXBs
KCkpOyB9CiAKICAgICAgICAgVmFyU3RhY2smIHZhclN0YWNrKCkgeyByZXR1cm4gbV92YXJTdGFj
azsgfQpAQCAtMTU2Myw3ICsxNTYzLDcgQEAKIAogICAgICAgICB2b2lkIGVtaXRTdGF0ZW1lbnRz
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiBkZXN0aW5hdGlvbik7CiAg
ICAgICAgIAotICAgICAgICB2b2lkIHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFN0
cmluZ0ltcGw+PiYmKSB7IH0KKyAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9y
PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICBpbnQgbV9zdGFydExpbmVOdW1iZXI7CkBAIC0xNTg5LDEyICsxNTg5LDEyIEBACiAKICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2NvcGVJc0Z1bmN0aW9uID0gZmFsc2U7CiAKLSAgICAg
ICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJik7
Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiBjbG9zZWRWYXJpYWJs
ZXMoKSBjb25zdCB7IHJldHVybiBtX2Nsb3NlZFZhcmlhYmxlczsgfQorICAgICAgICB2b2lkIHNl
dENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJik7Cisg
ICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYgY2xvc2VkVmFy
aWFibGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KIAogICAgIHByaXZh
dGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
LCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwotICAgICAgICBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOwogICAgICAgICB1bnNpZ25lZCBtX3N0YXJ0
Q29sdW1uOwogICAgICAgICB1bnNpZ25lZCBtX2VuZENvbHVtbjsKICAgICB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGZkNDI0NDU2ZGM0ZTY3MTQyZmRkNzkz
YTg2YWEwYTczNGIwNGU4MTQuLmRjMzMzMWYxY2Y2NWQxMGJkNTdhOTRhOWVmYzViMzY0MTA3MWE1
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI4Niw3ICsy
ODYsNyBAQAogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmllZFBhcmFtZXRlckZlYXR1cmU7CiAg
ICAgaWYgKG1vZGlmaWVkQXJndW1lbnRzKQogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmllZEFy
Z3VtZW50c0ZlYXR1cmU7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gY2xvc2VkVmFy
aWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBjbG9zZWRWYXJp
YWJsZXM7CiAgICAgaWYgKG1fcGFyc2luZ0J1aWx0aW4pIHsKICAgICAgICAgSWRlbnRpZmllclNl
dCB1c2VkVmFyaWFibGVzOwogICAgICAgICBzY29wZS0+Z2V0VXNlZFZhcmlhYmxlcyh1c2VkVmFy
aWFibGVzKTsKQEAgLTMyNSw3ICszMjUsNyBAQAogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgogdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVt
ZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFyU3Rh
Y2ssIAotICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiBmdW5jU3RhY2ssIENv
ZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cywgSWRlbnRpZmllclNldCYgY2Fw
dHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlh
YmxlcykKKyAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNrLCBD
b2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQmIGNh
cHR1cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYgY2xv
c2VkVmFyaWFibGVzKQogewogICAgIG1fc291cmNlRWxlbWVudHMgPSBzb3VyY2VFbGVtZW50czsK
ICAgICBtX3ZhckRlY2xhcmF0aW9ucy5zd2FwKHZhclN0YWNrKTsKQEAgLTIxODcsNyArMjE4Nyw3
IEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIGJvb2wgaXNVbmFyeU9wKEpTVG9rZW5UeXBlIHRva2Vu
KQogICAgIFRyZWVQcm9wZXJ0eSBwcm9wZXJ0eSA9IHBhcnNlUHJvcGVydHkoY29udGV4dCwgdHJ1
ZSk7CiAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2Ugb2JqZWN0IGxpdGVy
YWwgcHJvcGVydHkiKTsKICAgICAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0lt
cGw+LCB1bnNpZ25lZCwgSWRlbnRpZmllclJlcEhhc2g+IE9iamVjdFZhbGlkYXRpb25NYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIHVuc2lnbmVkLCBJ
ZGVudGlmaWVyUmVwSGFzaD4gT2JqZWN0VmFsaWRhdGlvbk1hcDsKICAgICBPYmplY3RWYWxpZGF0
aW9uTWFwIG9iamVjdFZhbGlkYXRvcjsKICAgICAvLyBBZGQgdGhlIGZpcnN0IHByb3BlcnR5CiAg
ICAgaWYgKCFtX3N5bnRheEFscmVhZHlWYWxpZGF0ZWQgJiYgY29udGV4dC5nZXROYW1lKHByb3Bl
cnR5KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDNkZmY4ZTQ5YjMw
NTdjNDk5MTQ0NWY2ZmM0ZWQ0MmM5ZjM0NjVhYzguLjUwNzRlNGQyZWMwM2YxNDEwODQ5ODViNGY2
NzYyM2E0YzcyMTU4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAt
OTcsMTMgKzk3LDEzIEBAIGVudW0gRGVjb25zdHJ1Y3Rpb25LaW5kIHsKIHRlbXBsYXRlIDw+IGlu
bGluZSBib29sIGlzRXZhbE5vZGU8RXZhbE5vZGU+KCkgeyByZXR1cm4gdHJ1ZTsgfQogCiBzdHJ1
Y3QgU2NvcGVMYWJlbEluZm8gewotICAgIFNjb3BlTGFiZWxJbmZvKFN0cmluZ0ltcGwqIGlkZW50
LCBib29sIGlzTG9vcCkKKyAgICBTY29wZUxhYmVsSW5mbyhVbmlxdWVkU3RyaW5nSW1wbCogaWRl
bnQsIGJvb2wgaXNMb29wKQogICAgICAgICA6IG1faWRlbnQoaWRlbnQpCiAgICAgICAgICwgbV9p
c0xvb3AoaXNMb29wKQogICAgIHsKICAgICB9CiAKLSAgICBTdHJpbmdJbXBsKiBtX2lkZW50Owor
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX2lkZW50OwogICAgIGJvb2wgbV9pc0xvb3A7CiB9Owog
CkBAIC0xOTMsMTQgKzE5MywxNCBAQCBzdHJ1Y3QgU2NvcGUgewogCiAgICAgdm9pZCBkZWNsYXJl
Q2FsbGVlKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKLSAgICAgICAgbV9kZWNsYXJl
ZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFy
ZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgIH0KIAogICAgIGJvb2wgZGVjbGFy
ZVZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAgICAgYm9vbCBp
c1ZhbGlkU3RyaWN0TW9kZSA9IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlkZW50ICYm
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyAhPSAqaWRlbnQ7CiAgICAgICAgIG1faXNW
YWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2Rl
OwotICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgp
KTsKKyAgICAgICAgbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7CiAgICAg
ICAgIHJldHVybiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAgICB9CiAKQEAgLTIyNiw5ICsyMjYsOSBA
QCBzdHJ1Y3QgU2NvcGUgewogICAgIGJvb2wgZGVjbGFyZVBhcmFtZXRlcihjb25zdCBJZGVudGlm
aWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNBcmd1bWVudHMgPSBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmlkZW50OwotICAgICAgICBib29sIGlzVmFsaWRTdHJp
Y3RNb2RlID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSku
aXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiAhaXNB
cmd1bWVudHM7CisgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBtX2RlY2xhcmVkVmFy
aWFibGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5ICYmIG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgIT0gKmlkZW50ICYmICFpc0FyZ3VtZW50czsKICAgICAgICAgbV9pc1ZhbGlkU3Ry
aWN0TW9kZSA9IG1faXNWYWxpZFN0cmljdE1vZGUgJiYgaXNWYWxpZFN0cmljdE1vZGU7Ci0gICAg
ICAgIG1fZGVjbGFyZWRQYXJhbWV0ZXJzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKTsKKyAg
ICAgICAgbV9kZWNsYXJlZFBhcmFtZXRlcnMuYWRkKGlkZW50LT5pbXBsKCkpOwogCiAgICAgICAg
IGlmIChpc0FyZ3VtZW50cykKICAgICAgICAgICAgIG1fc2hhZG93c0FyZ3VtZW50cyA9IHRydWU7
CkBAIC0yNDMsNyArMjQzLDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBCaW5kaW5nUmVzdWx0IGRl
Y2xhcmVCb3VuZFBhcmFtZXRlcihjb25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAg
ICAgIGJvb2wgaXNBcmd1bWVudHMgPSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0g
KmlkZW50OwotICAgICAgICBib29sIG5ld0VudHJ5ID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQo
aWRlbnQtPnN0cmluZygpLmltcGwoKSkuaXNOZXdFbnRyeTsKKyAgICAgICAgYm9vbCBuZXdFbnRy
eSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpLmlzTmV3RW50cnk7CiAg
ICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBuZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxp
ZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwog
ICAgIApAQCAtMjYyLDcgKzI2Miw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgdm9pZCB1c2VWYXJp
YWJsZShjb25zdCBJZGVudGlmaWVyKiBpZGVudCwgYm9vbCBpc0V2YWwpCiAgICAgewogICAgICAg
ICBtX3VzZXNFdmFsIHw9IGlzRXZhbDsKLSAgICAgICAgbV91c2VkVmFyaWFibGVzLmFkZChpZGVu
dC0+c3RyaW5nKCkuaW1wbCgpKTsKKyAgICAgICAgbV91c2VkVmFyaWFibGVzLmFkZChpZGVudC0+
aW1wbCgpKTsKICAgICB9CiAKICAgICB2b2lkIHNldE5lZWRzRnVsbEFjdGl2YXRpb24oKSB7IG1f
bmVlZHNGdWxsQWN0aXZhdGlvbiA9IHRydWU7IH0KQEAgLTMzNyw3ICszMzcsNyBAQCBzdHJ1Y3Qg
U2NvcGUgewogICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2lz
VmFsaWRTdHJpY3RNb2RlOyB9CiAgICAgYm9vbCBzaGFkb3dzQXJndW1lbnRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9zaGFkb3dzQXJndW1lbnRzOyB9CiAKLSAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlh
Ymxlc1RvVmVjdG9yKGNvbnN0IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgdmVjdG9yKQorICAgIHZvaWQgY29weUNhcHR1cmVkVmFy
aWFibGVzVG9WZWN0b3IoY29uc3QgSWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMsIFZl
Y3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYgdmVjdG9yKQogICAgIHsKICAgICAgICAg
SWRlbnRpZmllclNldDo6aXRlcmF0b3IgZW5kID0gY2FwdHVyZWRWYXJpYWJsZXMuZW5kKCk7CiAg
ICAgICAgIGZvciAoSWRlbnRpZmllclNldDo6aXRlcmF0b3IgaXQgPSBjYXB0dXJlZFZhcmlhYmxl
cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKQEAgLTQzNiw3ICs0MzYsNyBAQCBjbGFzcyBQ
YXJzZXIgewogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYXJzZWROb2RlPiBwYXJzZShQYXJzZXJFcnJv
ciYpOwogCiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGV4ZXItPnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKTsgfQotICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKCkgeyByZXR1cm4g
V1RGOjptb3ZlKG1fY2xvc2VkVmFyaWFibGVzKTsgfQorICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6bW92ZShtX2Ns
b3NlZFZhcmlhYmxlcyk7IH0KIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgQWxsb3dJbk92ZXJyaWRl
IHsKQEAgLTU2Myw3ICs1NjMsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIFN0cmluZyBwYXJzZUlu
bmVyKCk7CiAKICAgICB2b2lkIGRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqLCBEZWNs
YXJhdGlvblN0YWNrczo6VmFyU3RhY2smLCAKLSAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1
bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOworICAgICAgICBEZWNsYXJhdGlvblN0YWNrczo6
RnVuY3Rpb25TdGFjayYsIENvZGVGZWF0dXJlcywgaW50LCBJZGVudGlmaWVyU2V0JiwgY29uc3Qg
VmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8gVXNlZCB0byBk
ZXRlcm1pbmUgdHlwZSBvZiBlcnJvciB0byByZXBvcnQuCiAgICAgYm9vbCBpc0Z1bmN0aW9uQm9k
eU5vZGUoU2NvcGVOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTg4NCw3ICs4ODQsNyBAQCBj
bGFzcyBQYXJzZXIgewogICAgIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBtX3ZhckRlY2xh
cmF0aW9uczsKICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBtX2Z1bmNEZWNs
YXJhdGlvbnM7CiAgICAgSWRlbnRpZmllclNldCBtX2NhcHR1cmVkVmFyaWFibGVzOwotICAgIFZl
Y3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKICAgICBDb2RlRmVh
dHVyZXMgbV9mZWF0dXJlczsKICAgICBpbnQgbV9udW1Db25zdGFudHM7CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
LmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uNWUzZmRm
ZmRkYTJhNmM3ZDIxY2E0M2M2ZDU1MmQ5OTYyOGQ3NDE4NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtMjgs
NiArMjgsNyBAQAogCiAjaW5jbHVkZSAiUGFyc2VyVG9rZW5zLmgiCiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDAsOCArNDEs
OCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewog
ICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJv
b2wgc3RyaWN0TW9kZTsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFi
bGVzOwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7Cisg
ICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CisgICAg
VmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9Owog
CiAjaWYgQ09NUElMRVIoTVNWQykKQEAgLTgyLDEzICs4MywxMyBAQCBjbGFzcyBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbSB7CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVu
c2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAotICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFy
aWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFi
bGVzKTsgfQotICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1
cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291
bnRdKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9Cisg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxVbmlxdWVkU3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxl
c0NvdW50XSk7IH0KIAogcHJpdmF0ZToKICAgICBTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25z
dCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCi0gICAgU3Ry
aW5nSW1wbCogbV92YXJpYWJsZXNbMF07CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdmFyaWFi
bGVzWzBdOwogfTsKIAogaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp+U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0oKQpAQCAtMTAwLDcgKzEwMSw3IEBAIGlubGluZSBTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbTo6flNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCkKIGlubGluZSBzdGQ6OnVuaXF1
ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpj
cmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCiB7CiAgICAgc2l6ZV90IHZhcmlhYmxlQ291bnQgPSBwYXJhbWV0ZXJzLndyaXR0
ZW5WYXJpYWJsZXMuc2l6ZSgpICsgcGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKTsKLSAg
ICBzaXplX3Qgb2JqZWN0U2l6ZSA9IHNpemVvZihTb3VyY2VQcm92aWRlckNhY2hlSXRlbSkgKyBz
aXplb2YoU3RyaW5nSW1wbCopICogdmFyaWFibGVDb3VudDsKKyAgICBzaXplX3Qgb2JqZWN0U2l6
ZSA9IHNpemVvZihTb3VyY2VQcm92aWRlckNhY2hlSXRlbSkgKyBzaXplb2YoVW5pcXVlZFN0cmlu
Z0ltcGwqKSAqIHZhcmlhYmxlQ291bnQ7CiAgICAgdm9pZCogc2xvdCA9IGZhc3RNYWxsb2Mob2Jq
ZWN0U2l6ZSk7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hl
SXRlbT4obmV3IChzbG90KSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbShwYXJhbWV0ZXJzKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5jcHAKaW5kZXggY2VhYmQyNTJkMGQ4Y2MyYTM4YTc2ODkwYzY4ZDI4Mzk0YTY2N2RmYi4uMDBm
NDlhMWNhNTc4OGQ2OTYzNzNiZWIwZWRmNmU1MTJmYzU4ZWYyMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcApAQCAtNTIsNyAr
NTIsMTIgQEAKIHsKIH0KIAotYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShT
dHJpbmdJbXBsKiB1aWQpIGNvbnN0Citib29sIENvbW1vbklkZW50aWZpZXJzOjppc1ByaXZhdGVO
YW1lKFN5bWJvbEltcGwqIHVpZCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9idWlsdGluTmFtZXMt
PmlzUHJpdmF0ZU5hbWUodWlkKTsKK30KKworYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2
YXRlTmFtZShVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSBjb25zdAogewogICAgIHJldHVybiBtX2J1
aWx0aW5OYW1lcy0+aXNQcml2YXRlTmFtZSh1aWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNzkwNjllYTk2NGQ2MDYx
NTQxZTk1ZGQ3ZjFjOTMzMGYzZThjMjgyZS4uNWZhZDI4OGRmMGI2NTY1ZWZjOTBjOTVmNTliODlh
NDRjNzJiMDE4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCkBAIC0zMjEsNyArMzIxLDggQEAKICAgICAgICAgSlNDX0NPTU1PTl9Q
UklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSlNDX0lERU5USUZJRVJf
REVDTEFSRV9QUklWQVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTCkKICN1bmRlZiBKU0NfSURF
TlRJRklFUl9ERUNMQVJFX1BSSVZBVEVfV0VMTF9LTk9XTl9TWU1CT0xfR0xPQkFMCiAKLSAgICAg
ICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CisgICAgICAgIGJv
b2wgaXNQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1aWQpIGNvbnN0OworICAgICAgICBib29sIGlz
UHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CiAgICAgICAgIGJvb2wg
aXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCmluZGV4IGUyOWM0OTc3NGI1
M2U4MzM0NTcxZDkzNWVhMjRlM2E5Y2EyZTRhZGIuLmM5Mjc2ZjQwMWYxN2QwMjljYWVlNzRkMWJm
ZTVmMGI0ODY2N2M2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0lkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlm
aWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4K
ICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTkyLDcgKzkzLDcg
QEAgY2xhc3MgSWRlbnRpZmllciB7CiAgICAgSWRlbnRpZmllcihFbXB0eUlkZW50aWZpZXJGbGFn
KSA6IG1fc3RyaW5nKFN0cmluZ0ltcGw6OmVtcHR5KCkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwo
KS0+aXNBdG9taWMoKSk7IH0KIAogICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdHJpbmc7IH0KLSAgICBBdG9taWNTdHJpbmdJbXBsKiBpbXBsKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KG1fc3RyaW5nLmltcGwoKSk7IH0K
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PFVuaXF1ZWRTdHJpbmdJbXBsKj4obV9zdHJpbmcuaW1wbCgpKTsgfQogCiAgICAgaW50IGxlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmxlbmd0aCgpOyB9CiAKQEAgLTEyMyw4ICsxMjQs
OCBAQCBjbGFzcyBJZGVudGlmaWVyIHsKICAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tU3RyaW5n
KEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21T
dHJpbmcoRXhlY1N0YXRlKiwgY29uc3QgY2hhciopOwogCi0gICAgc3RhdGljIElkZW50aWZpZXIg
ZnJvbVVpZChWTSosIFN0cmluZ0ltcGwqIHVpZCk7Ci0gICAgc3RhdGljIElkZW50aWZpZXIgZnJv
bVVpZChFeGVjU3RhdGUqLCBTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBJZGVudGlmaWVy
IGZyb21VaWQoVk0qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgSWRlbnRp
ZmllciBmcm9tVWlkKEV4ZWNTdGF0ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoY29uc3QgUHJpdmF0ZU5hbWUmKTsKIAogICAgIHN0YXRp
YyBJZGVudGlmaWVyIGNyZWF0ZUxDaGFyRnJvbVVDaGFyKFZNKiB2bSwgY29uc3QgVUNoYXIqIHMs
IGludCBsZW5ndGgpIHsgcmV0dXJuIElkZW50aWZpZXIodm0sIGFkZDgodm0sIHMsIGxlbmd0aCkp
OyB9CkBAIC0xNzQsOCArMTc1LDcgQEAgY2xhc3MgSWRlbnRpZmllciB7CiAgICAgSWRlbnRpZmll
cihWTSogdm0sIGNvbnN0IFN0cmluZyYgc3RyaW5nKSA6IG1fc3RyaW5nKGFkZCh2bSwgc3RyaW5n
LmltcGwoKSkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KICAgICBJ
ZGVudGlmaWVyKFZNKiB2bSwgU3RyaW5nSW1wbCogcmVwKSA6IG1fc3RyaW5nKGFkZCh2bSwgcmVw
KSkgeyBBU1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc0F0b21pYygpKTsgfQogCi0gICAgZW51bSBV
bmlxdWVJZGVudGlmaWVyRmxhZyB7IFVuaXF1ZUlkZW50aWZpZXIgfTsKLSAgICBJZGVudGlmaWVy
KFVuaXF1ZUlkZW50aWZpZXJGbGFnLCBTdHJpbmdJbXBsKiB1aWQpIDogbV9zdHJpbmcodWlkKSB7
IEFTU0VSVChtX3N0cmluZy5pbXBsKCktPmlzU3ltYm9sKCkpOyB9CisgICAgSWRlbnRpZmllcihT
eW1ib2xJbXBsKiB1aWQpIDogbV9zdHJpbmcodWlkKSB7IEFTU0VSVChtX3N0cmluZy5pbXBsKCkt
PmlzU3ltYm9sKCkpOyB9CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+CiAgICAg
QUxXQVlTX0lOTElORSBzdGF0aWMgdWludDMyX3QgdG9VSW50MzJGcm9tQ2hhcmFjdGVycyhjb25z
dCBDaGFyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBib29sJiBvayk7CkBAIC0y
NzEsNyArMjcxLDcgQEAgaW5saW5lIGJvb2wgSWRlbnRpZmllcjo6ZXF1YWwoY29uc3QgU3RyaW5n
SW1wbCogciwgY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmcKIAogQUxXQVlTX0lOTElORSBP
cHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVy
KQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGlkZW50aWZpZXIuaW1wbCgpOworICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLmltcGwoKTsKICAgICBpZiAoIXVp
ZCkKICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgaWYgKHVpZC0+aXNTeW1ib2woKSkKQEAg
LTI3OSw5ICsyNzksOSBAQCBpbmxpbmUgYm9vbCBJZGVudGlmaWVyOjplcXVhbChjb25zdCBTdHJp
bmdJbXBsKiByLCBjb25zdCBVQ2hhciogcywgdW5zaWduZWQgbGVuZwogICAgIHJldHVybiBwYXJz
ZUluZGV4KCp1aWQpOwogfQogCi1zdHJ1Y3QgSWRlbnRpZmllclJlcEhhc2ggOiBQdHJIYXNoPFJl
ZlB0cjxTdHJpbmdJbXBsPj4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFJlZlB0
cjxTdHJpbmdJbXBsPiYga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNo
KCk7IH0KLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChTdHJpbmdJbXBsKiBrZXkpIHsgcmV0dXJu
IGtleS0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsgfQorc3RydWN0IElkZW50aWZpZXJSZXBI
YXNoIDogUHRySGFzaDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiB7CisgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3QgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiYga2V5KSB7IHJldHVy
biBrZXktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCk7IH0KKyAgICBzdGF0aWMgdW5zaWduZWQg
aGFzaChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5nU3ltYm9s
QXdhcmVIYXNoKCk7IH0KIH07CiAKIHN0cnVjdCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRz
IDogSGFzaFRyYWl0czxpbnQ+IHsKQEAgLTI4OSw4ICsyODksOCBAQCBzdHJ1Y3QgSWRlbnRpZmll
ck1hcEluZGV4SGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8aW50PiB7CiAgICAgc3RhdGljIGNvbnN0
IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwogfTsKIAotdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxTdHJpbmdJbXBsPiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQ
dHI8U3RyaW5nSW1wbD4+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBJZGVudGlmaWVy
TWFwOwotdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBpbnQsIElkZW50aWZpZXJSZXBIYXNo
LCBIYXNoVHJhaXRzPFN0cmluZ0ltcGwqPiwgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cz4g
Qm9ycm93ZWRJZGVudGlmaWVyTWFwOwordHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3Ry
aW5nSW1wbD4sIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFVuaXF1
ZWRTdHJpbmdJbXBsPj4sIElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHM+IElkZW50aWZpZXJN
YXA7Cit0eXBlZGVmIEhhc2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBpbnQsIElkZW50aWZpZXJS
ZXBIYXNoLCBIYXNoVHJhaXRzPFVuaXF1ZWRTdHJpbmdJbXBsKj4sIElkZW50aWZpZXJNYXBJbmRl
eEhhc2hUcmFpdHM+IEJvcnJvd2VkSWRlbnRpZmllck1hcDsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXJJ
bmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5l
cy5oCmluZGV4IDQwNjIyMWE2M2FhZDk2NWY0NzMwZTQ2ODgzNDczNjdjM2IyNjcwNGIuLjI5MzM1
NmNjYmEwMzU2YjM5OTQ0OGE0YTM3ODMxMWRkNzE1M2U1OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaApAQCAtNzAsMjEgKzcwLDIx
IEBAIGlubGluZSBJZGVudGlmaWVyOjpJZGVudGlmaWVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
QXRvbWljU3RyaW5nJiBzdHJpbmcpCiAgICAgcmV0dXJuICpBdG9taWNTdHJpbmc6OmFkZFdpdGhT
dHJpbmdUYWJsZVByb3ZpZGVyKCp2bSwgcik7CiB9CiAKLWlubGluZSBJZGVudGlmaWVyIElkZW50
aWZpZXI6OmZyb21VaWQoVk0qIHZtLCBTdHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgSWRlbnRpZmll
ciBJZGVudGlmaWVyOjpmcm9tVWlkKFZNKiB2bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBpZiAoIXVpZCB8fCAhdWlkLT5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSWRlbnRp
Zmllcih2bSwgdWlkKTsKLSAgICByZXR1cm4gSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyLCB1
aWQpOworICAgIHJldHVybiBJZGVudGlmaWVyKHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih1aWQp
KTsKIH0KIAotaW5saW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUq
IGV4ZWMsIFN0cmluZ0ltcGwqIHVpZCkKK2lubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZy
b21VaWQoRXhlY1N0YXRlKiBleGVjLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHJl
dHVybiBmcm9tVWlkKCZleGVjLT52bSgpLCB1aWQpOwogfQogCiBpbmxpbmUgSWRlbnRpZmllciBJ
ZGVudGlmaWVyOjpmcm9tVWlkKGNvbnN0IFByaXZhdGVOYW1lJiBuYW1lKQogewotICAgIHJldHVy
biBJZGVudGlmaWVyKFVuaXF1ZUlkZW50aWZpZXIsIG5hbWUudWlkKCkpOworICAgIHJldHVybiBJ
ZGVudGlmaWVyKG5hbWUudWlkKCkpOwogfQogCiB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJz
Q291bnQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRl
ZFN0cnVjdHVyZUNoYWluLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVu
ZGVkU3RydWN0dXJlQ2hhaW4uY3BwCmluZGV4IGMyNDMyMDZlMzRjYjBlYjkwNjFkZWE2N2U1N2M0
NzY0YzE4NzJiNmQuLmQ3M2Y3NDhlM2FmNTc0ZTEyYmZmYTEzZDI3YTNhMDY2YTk3NjlmYTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJl
Q2hhaW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3Ry
dWN0dXJlQ2hhaW4uY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgYm9vbCBJbnRlbmRlZFN0cnVjdHVy
ZUNoYWluOjptYXRjaGVzKFN0cnVjdHVyZUNoYWluKiBjaGFpbikgY29uc3QKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9y
ZVRvKEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK2Jvb2wgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6
bWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZlY3Rvci5zaXplKCk7ICsraSkgewogICAgICAgICB1bnNp
Z25lZCBhdHRyaWJ1dGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oCmluZGV4IDNjMDE5MTc3ZGE2NTNlOWU3NWY2M2U4
MDFjNTE2NDQ0ZDQ2MWQ0ZWIuLmEwZjU1NjViZDExZmVlOGM4MzcxMWYwZjU2MDUyZjIxNDMyMjll
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3Ry
dWN0dXJlQ2hhaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRl
ZFN0cnVjdHVyZUNoYWluLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgSW50ZW5kZWRTdHJ1Y3R1
cmVDaGFpbiA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVuZGVkU3RydWN0dXJlQ2hhaW4+IHsKICAg
ICAKICAgICBib29sIGlzU3RpbGxWYWxpZCgpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhTdHJ1
Y3R1cmVDaGFpbiopIGNvbnN0OwotICAgIGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhBdG9taWNT
dHJpbmdJbXBsKiB1aWQpOworICAgIGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKTsKICAgICBib29sIGlzTm9ybWFsaXplZCgpOwogICAgIAogICAgIGJvb2wg
dGFrZXNTbG93UGF0aEluREZHRm9ySW1wdXJlUHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA3ZDA2ZmE2MDBlYTIw
NWU1NzE5NTBiNGNiODNjN2JlYmY1OGU5YjA1Li4yYjMzZWM5MjI1OTExZjg1ZjRmNjM2OGJhNDNl
YTNiNGE2MmFmN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC00NTYsNyArNDU2LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5hcnJheUl0ZXJhdGlvbktpbmRLZXlQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRl
S2V5KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2
YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxl
dGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5h
bWVzLT5hcnJheUl0ZXJhdGlvbktpbmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJh
eUl0ZXJhdGVLZXlWYWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9y
UHJpdmF0ZU5hbWUsIFN5bWJvbDo6Y3JlYXRlKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRv
clN5bWJvbC5pbXBsKCkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclBy
aXZhdGVOYW1lLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZt
LnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgfTsKICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0ds
b2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3RhdGljR2xvYmFscykpOwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA4NGFhZjhlYWVlZjkyNmI4OGFmYWJlMmEw
OGMxZTBiNDEyZDhhMmM4Li4zNWE1YzYxZGI3OTRiNTE3MGI3NTRiNmQ3MDA4ZTM4ZWRjZjEwZDIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtMTAwLDcgKzEwMCw3
IEBAIHN0cnVjdCBIYXNoVGFibGUgewogICAgICAgICBpZiAocHJvcGVydHlOYW1lLmlzU3ltYm9s
KCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICBTdHJpbmdJbXBsKiB1
aWQgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQg
PSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAgICAgICAgIGlmICghdWlkKQogICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hcERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcERhdGEuaAppbmRl
eCAzOTM0YTViNWM0NTVhNTk3ODE3NWU3MzllMGExYmEyZDMwMGY1MjljLi5lMmM4YTE3MzAyODU5
MjEwZWU0YWQxYThiODdhNWQ0OTVhNjg2OGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXBEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWFwRGF0YS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgY2xhc3MgTWFwRGF0YUltcGwgewogICAg
IHR5cGVkZWYgSGFzaE1hcDxKU0NlbGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6OkRlZmF1bHRI
YXNoPEpTQ2VsbCo+OjpIYXNoLCBXVEY6Okhhc2hUcmFpdHM8SlNDZWxsKj4sIEluZGV4VHJhaXRz
PiBDZWxsS2V5ZWRNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPEVuY29kZWRKU1ZhbHVlLCBpbnQz
Ml90LCBFbmNvZGVkSlNWYWx1ZUhhc2gsIEVuY29kZWRKU1ZhbHVlSGFzaFRyYWl0cywgSW5kZXhU
cmFpdHM+IFZhbHVlS2V5ZWRNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBp
bnQzMl90LCB0eXBlbmFtZSBXVEY6OkRlZmF1bHRIYXNoPFN0cmluZ0ltcGwqPjo6SGFzaCwgV1RG
OjpIYXNoVHJhaXRzPFN0cmluZ0ltcGwqPiwgSW5kZXhUcmFpdHM+IFN0cmluZ0tleWVkTWFwOwot
ICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgaW50MzJfdCwgdHlwZW5hbWUg
V1RGOjpEZWZhdWx0SGFzaDxBdG9taWNTdHJpbmdJbXBsKj46Okhhc2gsIFdURjo6SGFzaFRyYWl0
czxBdG9taWNTdHJpbmdJbXBsKj4sIEluZGV4VHJhaXRzPiBTeW1ib2xLZXllZE1hcDsKKyAgICB0
eXBlZGVmIEhhc2hNYXA8U3ltYm9sSW1wbCosIGludDMyX3QsIHR5cGVuYW1lIFdURjo6RGVmYXVs
dEhhc2g8U3ltYm9sSW1wbCo+OjpIYXNoLCBXVEY6Okhhc2hUcmFpdHM8U3ltYm9sSW1wbCo+LCBJ
bmRleFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7CiAKICAgICBzaXplX3QgY2FwYWNpdHlJbkJ5dGVz
KCkgeyByZXR1cm4gbV9jYXBhY2l0eSAqIHNpemVvZihFbnRyeSk7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IGQ3
YjUxNmE0MzNkODIwY2U4ZTRlMGY3MWVmODUwZWJkOGNlZWQ4MmEuLjhlOWQyODMwOWVkZTEzZjY1
ZTRlY2ZjNjI4N2Q2M2ZkOTNjNWI1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTI0Miw5ICsyNDIsOSBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVydHlT
eW1ib2xzKEV4ZWNTdGF0ZSogZQogICAgIEpTQXJyYXkqIG5hbWVzID0gY29uc3RydWN0RW1wdHlB
cnJheShleGVjLCAwKTsKICAgICBzaXplX3QgbnVtUHJvcGVydGllcyA9IHByb3BlcnRpZXMuc2l6
ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVydGllczsgaSsrKSB7Ci0g
ICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVzW2ldLmltcGwoKTsKKyAg
ICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVzW2ldLmltcGwoKTsKICAg
ICAgICAgaWYgKGltcGwtPmlzU3ltYm9sKCkgJiYgIWV4ZWMtPnByb3BlcnR5TmFtZXMoKS5pc1By
aXZhdGVOYW1lKGltcGwpKQotICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpj
cmVhdGUoZXhlYy0+dm0oKSwgaW1wbCkpOworICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywg
U3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KGltcGwp
KSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUobmFtZXMpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgKaW5kZXggY2NjY2MzOWZhOTM5
MTNiM2ZhNjFjNzUwZTY4ZGM3MjkxNmU1YjcxNC4uODM1OGRjMmFjM2RlMzA2ZDZkNmI1OGJiMDhh
MGY5NGY1ZmQ5NTI1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJpdmF0ZU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRl
TmFtZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFByaXZhdGVOYW1lX2gKIAogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xJbXBs
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zNywyNCArMzgsMjUgQEAgY2xhc3MgUHJpdmF0
ZU5hbWUgewogICAgIHsKICAgICB9CiAKLSAgICBleHBsaWNpdCBQcml2YXRlTmFtZShTdHJpbmdJ
bXBsKiB1aWQpCisgICAgZXhwbGljaXQgUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCogdWlkKQogICAg
ICAgICA6IG1faW1wbCh1aWQpCiAgICAgewogICAgICAgICBBU1NFUlQobV9pbXBsLT5pc1N5bWJv
bCgpKTsKICAgICB9CiAKLSAgICBleHBsaWNpdCBQcml2YXRlTmFtZShjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uKQorICAgIGVudW0gRGVzY3JpcHRpb25UYWcgeyBEZXNjcmlwdGlvbiB9OworICAg
IGV4cGxpY2l0IFByaXZhdGVOYW1lKERlc2NyaXB0aW9uVGFnLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uKQogICAgICAgICA6IG1faW1wbChTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2woZGVzY3Jp
cHRpb24uaW1wbCgpKSkKICAgICB7CiAgICAgfQogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlk
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KG1faW1wbC5n
ZXQoKSk7IH0KKyAgICBTeW1ib2xJbXBsKiB1aWQoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0
KCk7IH0KIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQcml2YXRlTmFtZSYgb3RoZXIpIGNv
bnN0IHsgcmV0dXJuIHVpZCgpID09IG90aGVyLnVpZCgpOyB9CiAgICAgYm9vbCBvcGVyYXRvciE9
KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gdWlkKCkgIT0gb3RoZXIu
dWlkKCk7IH0KIAogcHJpdmF0ZToKLSAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbV9pbXBsOworICAg
IFJlZlB0cjxTeW1ib2xJbXBsPiBtX2ltcGw7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaAppbmRleCBhYzk1Y2Ex
NzU2MGVlMTc3ZmEzYzZhOGZiODk4MDVkNWM2OWVmNWI4Li5kMTg2YjY2ZDdmMjY1NGU1MTUxZTAw
YzU2YzRmZDgwNjYyNDk3YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgKQEAgLTMwLDEyICszMCwxMyBAQAogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVk
U3RyaW5nSW1wbC5oPgogCiAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9TVEFUUyAwCiAjZGVm
aW5lIERVTVBfUFJPUEVSVFlNQVBfQ09MTElTSU9OUyAwCiAKLSNkZWZpbmUgUFJPUEVSVFlfTUFQ
X0RFTEVURURfRU5UUllfS0VZICgoQXRvbWljU3RyaW5nSW1wbCopMSkKKyNkZWZpbmUgUFJPUEVS
VFlfTUFQX0RFTEVURURfRU5UUllfS0VZICgoVW5pcXVlZFN0cmluZ0ltcGwqKTEpCiAKIG5hbWVz
cGFjZSBKU0MgewogCkBAIC0xMzMsNyArMTM0LDcgQEAgY2xhc3MgUHJvcGVydHlUYWJsZSBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhDZWxsVHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAgIHR5cGVkZWYgQXRvbWljU3RyaW5nSW1wbCogS2V5
VHlwZTsKKyAgICB0eXBlZGVmIFVuaXF1ZWRTdHJpbmdJbXBsKiBLZXlUeXBlOwogICAgIHR5cGVk
ZWYgUHJvcGVydHlNYXBFbnRyeSBWYWx1ZVR5cGU7CiAKICAgICAvLyBUaGUgaW4gb3JkZXIgaXRl
cmF0b3IgcHJvdmlkZXMgb3ZlcmxvYWRlZCAqIGFuZCAtPiB0byBhY2Nlc3MgdGhlIFZhbHVlIGF0
IHRoZSBjdXJyZW50IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlOYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm9wZXJ0eU5hbWUuaAppbmRleCA0ZjJjYTg3MmJlMzcyM2ZjYjcwOWEyMzU4YTY1OGQ5ODI1OTZk
NzUwLi4xN2VhYjEzZDI4NmYzYzk5MGNhN2FmNDUwYTE3YThjOTQ5OGEwZTIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaApAQCAtMzQsMTkgKzM0LDE5
IEBACiAKIGNsYXNzIFByb3BlcnR5TmFtZSB7CiBwdWJsaWM6Ci0gICAgUHJvcGVydHlOYW1lKEF0
b21pY1N0cmluZ0ltcGwqIHByb3BlcnR5TmFtZSkKKyAgICBQcm9wZXJ0eU5hbWUoVW5pcXVlZFN0
cmluZ0ltcGwqIHByb3BlcnR5TmFtZSkKICAgICAgICAgOiBtX2ltcGwocHJvcGVydHlOYW1lKQog
ICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2ltcGwgfHwgbV9pbXBsLT5pc0F0b21pYygpIHx8IG1f
aW1wbC0+aXNTeW1ib2woKSk7CiAgICAgfQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBQcm9wZXJ0eU5hbWUoc3RhdGljX2Nhc3Q8
QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS5pbXBsKCkpKQorICAgICAgICA6IFByb3Bl
cnR5TmFtZShwcm9wZXJ0eU5hbWUuaW1wbCgpKQogICAgIHsKICAgICB9CiAKICAgICBQcm9wZXJ0
eU5hbWUoY29uc3QgUHJpdmF0ZU5hbWUmIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBtX2ltcGwo
c3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS51aWQoKSkpCisgICAg
ICAgIDogbV9pbXBsKHByb3BlcnR5TmFtZS51aWQoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVCht
X2ltcGwpOwogICAgICAgICBBU1NFUlQobV9pbXBsLT5pc1N5bWJvbCgpKTsKQEAgLTU3LDE0ICs1
NywxNCBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgICAgICByZXR1cm4gbV9pbXBsICYmIG1f
aW1wbC0+aXNTeW1ib2woKTsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQoKSBj
b25zdAorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQoKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIG1faW1wbDsKICAgICB9CiAKICAgICBBdG9taWNTdHJpbmdJbXBsKiBwdWJsaWNOYW1l
KCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiAoIW1faW1wbCB8fCBtX2ltcGwtPmlzU3lt
Ym9sKCkpID8gbnVsbHB0ciA6IG1faW1wbDsKKyAgICAgICAgcmV0dXJuICghbV9pbXBsIHx8IG1f
aW1wbC0+aXNTeW1ib2woKSkgPyBudWxscHRyIDogc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1w
bCo+KG1faW1wbCk7CiAgICAgfQogCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNv
bnN0CkBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZSB7CiAgICAgfQogCiBwcml2
YXRlOgotICAgIEF0b21pY1N0cmluZ0ltcGwqIG1faW1wbDsKKyAgICBVbmlxdWVkU3RyaW5nSW1w
bCogbV9pbXBsOwogfTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShQcm9wZXJ0eU5hbWUgYSwg
Y29uc3QgSWRlbnRpZmllciYgYikKQEAgLTExNiw3ICsxMTYsNyBAQCBjbGFzcyBQcm9wZXJ0eU5h
bWUgewogCiBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPHVpbnQzMl90PiBwYXJzZUluZGV4KFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkID0gcHJv
cGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBwcm9wZXJ0eU5h
bWUudWlkKCk7CiAgICAgaWYgKCF1aWQpCiAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgIGlm
ICh1aWQtPmlzU3ltYm9sKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm9wZXJ0eU5hbWVBcnJheS5jcHAKaW5kZXggOTQ5NDA0MTA3NGQ1MjVlMWMzYzRjNzZiMDMy
YTI5OWNjMzk0ZDZjZS4uYTM1YTUzZTNhZDIzNmQ2N2QzNWFjZjNkZTk3NzJkNzJkNmMzZGZlNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJy
YXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFy
cmF5LmNwcApAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdm9pZCBQcm9w
ZXJ0eU5hbWVBcnJheTo6YWRkKEF0b21pY1N0cmluZ0ltcGwqIGlkZW50aWZpZXIpCit2b2lkIFBy
b3BlcnR5TmFtZUFycmF5OjphZGQoVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50aWZpZXIpCiB7CiAg
ICAgQVNTRVJUKGlkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaAppbmRleCA4M2E1MGEwOTU1ZGIzMGExNjNlYWVmMWJk
MzlmNjQ1MzFmNjQ3ZDU2Li40ZTVkOTlkZmZlMWQyNTU2NjkzYTRmN2Q4ZTE0ZDZhMWE1NzcwNzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVB
cnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFy
cmF5LmgKQEAgLTcxLDggKzcxLDggQEAgY2xhc3MgUHJvcGVydHlOYW1lQXJyYXkgewogICAgIH0K
IAogICAgIHZvaWQgYWRkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpIHsgYWRkKGlkZW50
aWZpZXIuaW1wbCgpKTsgfQotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkKEF0b21pY1N0
cmluZ0ltcGwqKTsKLSAgICB2b2lkIGFkZEtub3duVW5pcXVlKEF0b21pY1N0cmluZ0ltcGwqIGlk
ZW50aWZpZXIpCisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGQoVW5pcXVlZFN0cmluZ0lt
cGwqKTsKKyAgICB2b2lkIGFkZEtub3duVW5pcXVlKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlm
aWVyKQogICAgIHsKICAgICAgICAgbV9zZXQuYWRkKGlkZW50aWZpZXIpOwogICAgICAgICBtX2Rh
dGEtPnByb3BlcnR5TmFtZVZlY3RvcigpLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlkKG1fdm0s
IGlkZW50aWZpZXIpKTsKQEAgLTk0LDcgKzk0LDcgQEAgY2xhc3MgUHJvcGVydHlOYW1lQXJyYXkg
ewogCiBwcml2YXRlOgogICAgIFJlZlB0cjxQcm9wZXJ0eU5hbWVBcnJheURhdGE+IG1fZGF0YTsK
LSAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiBtX3NldDsKKyAgICBIYXNoU2V0PFVuaXF1
ZWRTdHJpbmdJbXBsKj4gbV9zZXQ7CiAgICAgVk0qIG1fdm07CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAppbmRleCA5OTk4NTc4OGI2Y2NkMDlkMzU2
MWQ1MzI0ZjVjN2NiNGM1ZjIzYmU1Li5iODQ0NmZkNTdlNTMyNTYyZGVkOGYwZWMwZWVkYjk3OWU0
MzlkNjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAK
QEAgLTYwLDcgKzYwLDcgQEAKIHN0YXRpYyBIYXNoU2V0PFN0cnVjdHVyZSo+JiBsaXZlU3RydWN0
dXJlU2V0ID0gKihuZXcgSGFzaFNldDxTdHJ1Y3R1cmUqPik7CiAjZW5kaWYKIAotYm9vbCBTdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5z
aWduZWQgYXR0cmlidXRlcykgY29uc3QKK2Jvb2wgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpj
b250YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25z
dAogewogICAgIGlmIChpc1VzaW5nU2luZ2xlU2xvdCgpKSB7CiAgICAgICAgIFN0cnVjdHVyZSog
dHJhbnNpdGlvbiA9IHNpbmdsZVRyYW5zaXRpb24oKTsKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBT
dHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwg
dW5zaWduZWQgYXR0cmlidXQKICAgICByZXR1cm4gbWFwKCktPmdldChzdGQ6Om1ha2VfcGFpcihy
ZXAsIGF0dHJpYnV0ZXMpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlOjpnZXQoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVz
KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpnZXQo
VW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKIHsKICAg
ICBpZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRp
b24gPSBzaW5nbGVUcmFuc2l0aW9uKCk7CkBAIC0zMTYsNyArMzE2LDcgQEAgdm9pZCBTdHJ1Y3R1
cmU6Om1hdGVyaWFsaXplUHJvcGVydHlNYXAoVk0mIHZtKQogICAgIGNoZWNrT2Zmc2V0Q29uc2lz
dGVuY3koKTsKIH0KIAotU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSogc3RydWN0dXJlLCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQp
CitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgQVNT
RVJUKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICBBU1NFUlQoc3RydWN0dXJlLT5p
c09iamVjdCgpKTsKQEAgLTMzNiw3ICszMzYsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqIHN0cnVjdAog
ICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChz
dHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS51aWQoKSwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0KIAot
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1
Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKK1N0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJl
Q29uY3VycmVudGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIENv
bmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN0cnVjdHVyZS0+bV9sb2NrKTsKICAgICByZXR1cm4g
YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1
aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CkBAIC04NDIsNyArODQyLDcgQEAgUHJvcGVydHlUYWJs
ZSogU3RydWN0dXJlOjpjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoVk0mIHZtKQogICAgIHJl
dHVybiBQcm9wZXJ0eVRhYmxlOjpjcmVhdGUodm0sIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0
KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CiB9CiAKLVByb3BlcnR5T2Zmc2V0IFN0cnVj
dHVyZTo6Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0
dHJpYnV0ZXMpCitQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShVbmlx
dWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcykKIHsKICAgICBQcm9wZXJ0
eU9mZnNldCByZXN1bHQgPSBpbnZhbGlkT2Zmc2V0OwogICAgIApAQCAtODgyLDcgKzg4Miw3IEBA
IFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSwgdW5zaWduZWQgYXR0cmliCiAgICAgaWYgKGF0dHJpYnV0ZXMgJiBEb250RW51bSkK
ICAgICAgICAgc2V0SGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXModHJ1ZSk7CiAKLSAgICBBdG9t
aWNTdHJpbmdJbXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKIAogICAgIGlmICghcHJvcGVydHlUYWJs
ZSgpKQogICAgICAgICBjcmVhdGVQcm9wZXJ0eU1hcChsb2NrZXIsIHZtKTsKQEAgLTkwMSw3ICs5
MDEsNyBAQCBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZShQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQogICAgIAogICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKIAotICAgIEF0b21pY1N0
cmluZ0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1w
bCogcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFwcm9wZXJ0eVRhYmxlKCkp
CiAgICAgICAgIHJldHVybiBpbnZhbGlkT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuaAppbmRleCAxYjQ0ZTJhMmI3MjQwMjcwNmMwZjkwNGM5Yjk0Yzg4YTEx
MWRhZmI2Li4xYTRlZWI1YTUwNDY0N2ExMGQ5NzUyMGU0NTNhOGJjZDE3ZDM2ODlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAtNDgsNyArNDgsNyBAQAog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTczLDcgKzczLDcgQEAKIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBvdXRPZkxpbmVHcm93dGhGYWN0b3IgPSAyOwogCiBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRyeSB7
Ci0gICAgQXRvbWljU3RyaW5nSW1wbCoga2V5OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXk7
CiAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OwogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CiAK
QEAgLTg0LDcgKzg0LDcgQEAgc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewogICAgIHsKICAgICB9
CiAgICAgCi0gICAgUHJvcGVydHlNYXBFbnRyeShBdG9taWNTdHJpbmdJbXBsKiBrZXksIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQgYXR0cmlidXRlcykKKyAgICBQcm9wZXJ0eU1hcEVu
dHJ5KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgdW5zaWdu
ZWQgYXR0cmlidXRlcykKICAgICAgICAgOiBrZXkoa2V5KQogICAgICAgICAsIG9mZnNldChvZmZz
ZXQpCiAgICAgICAgICwgYXR0cmlidXRlcyhhdHRyaWJ1dGVzKQpAQCAtMTMzLDcgKzEzMyw3IEBA
IGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHN0YXRpYyB2b2lk
IGR1bXBTdGF0aXN0aWNzKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0
dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiwgUHV0UHJvcGVydHlTbG90OjpD
b250ZXh0ID0gUHV0UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCk7Ci0gICAgc3RhdGljIFN0
cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJl
bnRseShTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlU
cmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYp
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwg
UHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90
b3R5cGUpOwpAQCAtMjg4LDggKzI4OCw4IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CiAgICAgdm9pZCBmb3JF
YWNoUHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYpOwogICAgIAotICAgIFByb3Bl
cnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIFBy
b3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2ln
bmVkJiBhdHRyaWJ1dGVzKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRDb25jdXJyZW50bHkoVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgUHJvcGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5
KFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKTsKICAgICAKICAg
ICBWZWN0b3I8UHJvcGVydHlNYXBFbnRyeT4gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpOwog
ICAgIApAQCAtNDgyLDcgKzQ4Miw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKik7
CiAgICAgCi0gICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlz
dGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSos
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zm
c2V0Jik7CiAKICAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBzdHJ1Y3R1cmUgdGhhdCBoYXMg
YSB1c2FibGUgcHJvcGVydHkgdGFibGUsIHRoYXQgcHJvcGVydHkgdGFibGUsCiAgICAgLy8gYW5k
IHRoZSBsaXN0IG9mIHN0cnVjdHVyZXMgdGhhdCB3ZSB2aXNpdGVkIGJlZm9yZSB3ZSBnb3QgdG8g
aXQuIElmIGl0IHJldHVybnMgYQpAQCAtNTkwLDcgKzU5MCw3IEBAIGNsYXNzIFN0cnVjdHVyZSBm
aW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgV3JpdGVCYXJyaWVyPEpTQ2VsbD4gbV9wcmV2
aW91c09yUmFyZURhdGE7CiAKLSAgICBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbV9uYW1lSW5Q
cmV2aW91czsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbmFtZUluUHJldmlvdXM7
CiAKICAgICBjb25zdCBDbGFzc0luZm8qIG1fY2xhc3NJbmZvOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKaW5kZXggZjE3YmMxYjE3YTQw
MWMwZGM4OTE4YzZkYjgzMzljNTMzMTA4NTIzMC4uNWMzYWVkNzcxNTFhOWIyMzdiNjc2YWFhZGVj
NWJjMDExNjJjZjc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZUlubGluZXMuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3RydWN0dXJlOjpmb3JF
YWNoUHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKICAgICB9CiB9
CiAKLWlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShBdG9t
aWNTdHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRD
b25jdXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICB1bnNpZ25lZCBhdHRy
aWJ1dGVzSWdub3JlZDsKICAgICByZXR1cm4gZ2V0Q29uY3VycmVudGx5KHVpZCwgYXR0cmlidXRl
c0lnbm9yZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCAyM2M2Y2EzMGRmYTM4ZTQwMmI5OTU2OGE2
MzAxZjUzN2U4MjA1OGZlLi4zMmM5OTJkYWY3MTQ0MzVjYjliMjE5NzdjYjU3OGUyMzU0YTY0MjJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkluZGV4aW5n
VHlwZS5oIgogI2luY2x1ZGUgIldlYWtHQ01hcC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05
MywxMSArOTMsMTEgQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlIHsKIAogICAgIAog
ICAgIHN0cnVjdCBIYXNoIHsKLSAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8QXRvbWljU3RyaW5n
SW1wbCosIHVuc2lnbmVkPiBLZXk7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFVuaXF1ZWRT
dHJpbmdJbXBsKiwgdW5zaWduZWQ+IEtleTsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKGNvbnN0IEtleSYgcCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFB0
ckhhc2g8QXRvbWljU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsgcC5zZWNvbmQ7CisgICAg
ICAgICAgICByZXR1cm4gUHRySGFzaDxVbmlxdWVkU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3Qp
ICsgcC5zZWNvbmQ7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBLZXkmIGEsIGNvbnN0IEtleSYgYikKQEAgLTEzMCw4ICsxMzAsOCBAQCBjbGFzcyBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUgewogICAgIH0KIAogICAgIGlubGluZSB2b2lkIGFkZChWTSYsIFN0
cnVjdHVyZSopOwotICAgIGlubGluZSBib29sIGNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJl
cCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7Ci0gICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0
KEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CisgICAg
aW5saW5lIGJvb2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0
cmlidXRlcykgY29uc3Q7CisgICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0KFVuaXF1ZWRTdHJpbmdJ
bXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGJv
b2wgaXNVc2luZ1NpbmdsZVNsb3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbC5jcHAKaW5kZXggNmQ3OWQxYzQ2MTZkN2M5NjAzODM2YTIzNWU1NzcxMTJhY2YwZTM0
ZC4uMjViM2NhN2M2MWIyZGUxZDZkMDQxNTI5N2FjYzI4NzE5ZDIwN2QwMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCkBAIC00MywxMSArNDMsMTEgQEAKIAogU3lt
Ym9sOjpTeW1ib2woVk0mIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICA6IEJhc2Uodm0s
IHZtLnN5bWJvbFN0cnVjdHVyZS5nZXQoKSkKLSAgICAsIG1fcHJpdmF0ZU5hbWUoc3RyaW5nKQor
ICAgICwgbV9wcml2YXRlTmFtZShQcml2YXRlTmFtZTo6RGVzY3JpcHRpb24sIHN0cmluZykKIHsK
IH0KIAotU3ltYm9sOjpTeW1ib2woVk0mIHZtLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitTeW1i
b2w6OlN5bWJvbChWTSYgdm0sIFN5bWJvbEltcGwqIHVpZCkKICAgICA6IEJhc2Uodm0sIHZtLnN5
bWJvbFN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1fcHJpdmF0ZU5hbWUodWlkKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCAxOWI2ZjRmMmZjYWJmMDZjMTkyOGY5
MGJjODg2YWZjMDRhYzNkMTI0Li43ZDUyY2E5YmMwZGQyMGE5NmMxZTU4Nzc5NzRlYjE1ZTAxODhl
NTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAtNjQsNyArNjQs
NyBAQCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJu
IHN5bWJvbDsKICAgICB9CiAKLSAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQpCisgICAgc3RhdGljIFN5bWJvbCogY3JlYXRlKFZNJiB2bSwgU3lt
Ym9sSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgU3ltYm9sKiBzeW1ib2wgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxTeW1ib2w+KHZtLmhlYXApKSBTeW1ib2wodm0sIHVpZCk7CiAgICAg
ICAgIHN5bWJvbC0+ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBT
eW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIAogICAgIFN5bWJvbChWTSYpOwogICAgIFN5
bWJvbChWTSYsIGNvbnN0IFN0cmluZyYpOwotICAgIFN5bWJvbChWTSYsIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCk7CisgICAgU3ltYm9sKFZNJiwgU3ltYm9sSW1wbCogdWlkKTsKIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAppbmRleCA1MzYzYjliNjk1NWIyNDE1
MTE5YTQwMjc2NjNjMGI1ODczNGZkNzEyLi4wZDJiN2Q4MGE4OGNmZGRkZjM4NTNjNGI5NzRkYWVj
NjViOGEyMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2xDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3lt
Ym9sQ29uc3RydWN0b3IuY3BwCkBAIC02Miw3ICs2Miw3IEBACiB9CiAKICNkZWZpbmUgSU5JVElB
TElaRV9XRUxMX0tOT1dOX1NZTUJPTFMobmFtZSkgXAotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNy
ZWF0ZSh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSMjU3ltYm9sLmltcGwoKSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICNuYW1lKSwgU3ltYm9sOjpjcmVhdGUo
dm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lIyNTeW1i
b2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogdm9pZCBT
eW1ib2xDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTeW1ib2xQcm90b3R5cGUq
IHByb3RvdHlwZSkKIHsKQEAgLTEwOCw4ICsxMDgsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHN5bWJvbENvbnN0cnVjdG9yRm9yKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1wbD4gdWlkID0gZXhlYy0+dm0oKS5zeW1ib2xS
ZWdpc3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1w
bCo+KCZ1aWQuZ2V0KCkpKSk7CisgICAgUmVmPFN5bWJvbEltcGw+IHVpZCA9IGV4ZWMtPnZtKCku
c3ltYm9sUmVnaXN0cnkoKS5zeW1ib2xGb3JLZXkoc3RyaW5nKTsKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKFN5bWJvbDo6Y3JlYXRlKGV4ZWMtPnZtKCksICZ1aWQuZ2V0KCkpKTsKIH0KIAog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVj
U3RhdGUqIGV4ZWMpCkBAIC0xMTgsOCArMTE4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKCFz
eW1ib2xWYWx1ZS5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRo
cm93VHlwZUVycm9yKGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGFzU3lt
Ym9sKHN5bWJvbFZhbHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAgICBBU1NFUlQodWlkLT5p
c1N5bWJvbCgpKTsKKyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1ib2xWYWx1ZSkt
PnByaXZhdGVOYW1lKCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkpCiAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAppbmRleCA1OTMyZTYxNDYx
MWEwMzNiMTE2ZGJmOWU1ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFmN2EwNzkxNWM0ZjY0OGNj
ZTM3Zjg4Y2FhZmEyMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3lt
Ym9sVGFibGUuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1ib2xUYWJsZTo6cHJlcGFy
ZUZvclR5cGVQcm9maWxpbmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgfQogfQog
Ci1HbG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0
IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKK0dsb2JhbFZh
cmlhYmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxF
QVNFX0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAgLTIzOCw3ICsyMzgsNyBA
QCBHbG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvck9mZnNldChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9iYWxUeXBlU2V0Rm9yVmFy
aWFibGUobG9ja2VyLCBpdGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQogCi1SZWZQdHI8VHlwZVNl
dD4gU3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiBsb2NrZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorUmVmUHRyPFR5cGVT
ZXQ+IFN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYgbG9ja2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCiB7CiAg
ICAgUkVMRUFTRV9BU1NFUlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4OWNhYzYwNDQ0MDQwZGFj
YjNmZjZlZmZkYzZmZGZkMzU4ZjBjZDVmLi5hY2Y1ZTZhOWVlODM2YjE4MTFmMjQ3M2RkYjBhNDdk
ZGM1Y2VlZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2xUYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxl
LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hh
c2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQy
NCwxMCArNDI1LDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7
CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7
CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVu
dHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4+LCBT
eW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8U3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQsIElkZW50aWZpZXJSZXBIYXNoPiBVbmlx
dWVJRE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBSZWZQdHI8
VHlwZVNldD4sIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVUeXBlU2V0TWFwOwotICAgIHR5cGVk
ZWYgSGFzaE1hcDxWYXJPZmZzZXQsIFJlZlB0cjxTdHJpbmdJbXBsPj4gT2Zmc2V0VG9WYXJpYWJs
ZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgU3lt
Ym9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFVuaXF1
ZWRTdHJpbmdJbXBsPj4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBNYXA7CisgICAgdHlw
ZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQs
IElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJRE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVm
UHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFz
aD4gVW5pcXVlVHlwZVNldE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBPZmZzZXRUb1ZhcmlhYmxlTWFwOwogICAgIHR5cGVkZWYg
VmVjdG9yPFN5bWJvbFRhYmxlRW50cnkqPiBMb2NhbFRvRW50cnlWZWM7CiAKICAgICBzdGF0aWMg
U3ltYm9sVGFibGUqIGNyZWF0ZShWTSYgdm0pCkBAIC00NTMsMzMgKzQ1NCwzMyBAQCBjbGFzcyBT
eW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIH0KIAogICAgIC8vIFlvdSBt
dXN0IGhvbGQgdGhlIGxvY2sgdW50aWwgYWZ0ZXIgeW91J3JlIGRvbmUgd2l0aCB0aGUgaXRlcmF0
b3IuCi0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBT
dHJpbmdJbXBsKiBrZXkpCisgICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1cnJlbnRK
SVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJu
IG1fbWFwLmZpbmQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNv
bnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgTWFw
OjppdGVyYXRvciBmaW5kKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVk
U3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmZpbmQoa2V5KTsK
ICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGdldChjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX21hcC5nZXQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFi
bGVFbnRyeSBnZXQoU3RyaW5nSW1wbCoga2V5KQorICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KFVu
aXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2Vy
IGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4gZ2V0KGxvY2tlciwga2V5KTsKICAgICB9
CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGluZUdl
dChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBtX21hcC5pbmxpbmVHZXQoa2V5KTsKICAgICB9CiAgICAgCi0g
ICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoU3RyaW5nSW1wbCoga2V5KQorICAgIFN5bWJv
bFRhYmxlRW50cnkgaW5saW5lR2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAg
ICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4g
aW5saW5lR2V0KGxvY2tlciwga2V5KTsKQEAgLTU1OSw3ICs1NjAsNyBAQCBjbGFzcyBTeW1ib2xU
YWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gdGFrZU5leHRTY29w
ZU9mZnNldChsb2NrZXIpOwogICAgIH0KICAgICAKLSAgICB2b2lkIGFkZChjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBl
bnRyeSkKKyAgICB2b2lkIGFkZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwogICAgICAgICBkaWRVc2VWYXJP
ZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwpAQCAtNTY3LDMxICs1NjgsMzEgQEAgY2xhc3MgU3lt
Ym9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChy
ZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBhZGQoU3Ry
aW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIGFk
ZChVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkK
ICAgICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAg
ICAgIGFkZChsb2NrZXIsIGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lkIHNldChj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xU
YWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIHNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2Vy
JiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkp
CiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwogICAgICAg
ICBkaWRVc2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwogICAgICAgICBtX21hcC5zZXQo
a2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0KFN0cmluZ0ltcGwqIGtleSwg
Y29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoVW5pcXVlZFN0cmlu
Z0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAg
ICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICBzZXQobG9ja2Vy
LCBrZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBjb250YWlucyhjb25zdCBDb25j
dXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIGJvb2wgY29udGFpbnMoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewog
ICAgICAgICByZXR1cm4gbV9tYXAuY29udGFpbnMoa2V5KTsKICAgICB9CiAgICAgCi0gICAgYm9v
bCBjb250YWlucyhTdHJpbmdJbXBsKiBrZXkpCisgICAgYm9vbCBjb250YWlucyhVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIo
bV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGxvY2tlciwga2V5KTsKQEAgLTY0MSwx
MCArNjQyLDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgY29uc3QgTG9jYWxUb0VudHJ5VmVjJiBsb2NhbFRvRW50cnkoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYpOwogICAgIFN5bWJvbFRhYmxlRW50cnkqIGVudHJ5Rm9yKGNvbnN0IENvbmN1cnJl
bnRKSVRMb2NrZXImLCBTY29wZU9mZnNldCk7CiAgICAgCi0gICAgR2xvYmFsVmFyaWFibGVJRCB1
bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBs
KiBrZXksIFZNJik7CisgICAgR2xvYmFsVmFyaWFibGVJRCB1bmlxdWVJREZvclZhcmlhYmxlKGNv
bnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwog
ICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JPZmZzZXQoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFZhck9mZnNldCwgVk0mKTsKICAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlw
ZVNldEZvck9mZnNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVmFyT2Zmc2V0LCBWTSYp
OwotICAgIFJlZlB0cjxUeXBlU2V0PiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29u
Y3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKKyAgICBSZWZQdHI8VHlw
ZVNldD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
LCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwogCiAgICAgYm9vbCB1c2VzTm9uU3RyaWN0
RXZhbCgpIHsgcmV0dXJuIG1fdXNlc05vblN0cmljdEV2YWw7IH0KICAgICB2b2lkIHNldFVzZXNO
b25TdHJpY3RFdmFsKGJvb2wgdXNlc05vblN0cmljdEV2YWwpIHsgbV91c2VzTm9uU3RyaWN0RXZh
bCA9IHVzZXNOb25TdHJpY3RFdmFsOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVTZXQuY3BwCmluZGV4IDBmNTdlYzRiNWVkYmIxYjlmNzhkYWU2OWNkNzRlMWM2N2MzNzNjNTUu
LmM2MWRhMmM5MDFjM2NiZTRjMDg5Njk5ZGYzMTE1ZDM3OTY5N2JlMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCkBAIC0zMzQsMTMgKzMzNCwxMyBAQCB2b2lk
IFN0cnVjdHVyZVNoYXBlOjptYXJrQXNGaW5hbCgpCiAgICAgbV9maW5hbCA9IHRydWU7CiB9CiAK
LXZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5KFJlZlB0cjxTdHJpbmdJbXBsPiBpbXBs
KQordm9pZCBTdHJ1Y3R1cmVTaGFwZTo6YWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJ
bXBsPiB1aWQpCiB7CiAgICAgQVNTRVJUKCFtX2ZpbmFsKTsKLSAgICBtX2ZpZWxkcy5hZGQoaW1w
bCk7CisgICAgbV9maWVsZHMuYWRkKHVpZCk7CiB9CiAKLVN0cmluZyBTdHJ1Y3R1cmVTaGFwZTo6
cHJvcGVydHlIYXNoKCkgCitTdHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpCiB7
CiAgICAgQVNTRVJUKG1fZmluYWwpOwogICAgIGlmIChtX3Byb3BlcnR5SGFzaCkKQEAgLTM1MCw5
ICszNTAsOSBAQCBTdHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpCiAgICAgYnVp
bGRlci5hcHBlbmQoJzonKTsKICAgICBidWlsZGVyLmFwcGVuZChtX2NvbnN0cnVjdG9yTmFtZSk7
CiAgICAgYnVpbGRlci5hcHBlbmQoJzonKTsKLSAgICAKLSAgICBmb3IgKGF1dG8gaXRlciA9IG1f
ZmllbGRzLmJlZ2luKCksIGVuZCA9IG1fZmllbGRzLmVuZCgpOyBpdGVyICE9IGVuZDsgKytpdGVy
KSB7Ci0gICAgICAgIFN0cmluZyBwcm9wZXJ0eSA9IFN0cmluZygoKml0ZXIpKTsKKworICAgIGZv
ciAoYXV0byBrZXkgOiBtX2ZpZWxkcykgeworICAgICAgICBTdHJpbmcgcHJvcGVydHkgPSBTdHJp
bmcoc3RhdGljX3BvaW50ZXJfY2FzdDxTdHJpbmdJbXBsPihrZXkpKTsKICAgICAgICAgcHJvcGVy
dHkucmVwbGFjZSgiOiIsICJcXDoiKTsgLy8gRW5zdXJlIHRoYXQgaGFzaCh7ImZvbzoiLCAiYmFy
In0pICE9IGhhc2goeyJmb28iLCAiOmJhciJ9KSBiZWNhdXNlIHdlJ3JlIHVzaW5nIGNvbG9ucyBh
cyBhIHNlcGFyYXRvciBhbmQgY29sb25zIGFyZSBsZWdhbCBjaGFyYWN0ZXJzIGluIGZpZWxkIG5h
bWVzIGluIEpTLgogICAgICAgICBidWlsZGVyLmFwcGVuZChwcm9wZXJ0eSk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCmluZGV4IDIyOTdmMWRiMjQ4NTkwNWE2
NGNhOTMxOTQ2NWRkYWZlODMxZGRiMGEuLjFkMWZiMmE5ZDEyMDRlMDQ5OTIxOTQ3Y2VmYmI2MmUy
ZDA4NTI0Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKQEAgLTU2
LDcgKzU2LDcgQEAgY2xhc3MgU3RydWN0dXJlU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1
Y3R1cmVTaGFwZT4gewogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3RydWN0dXJlU2hhcGUpOyB9CiAgICAgU3RyaW5n
IHByb3BlcnR5SGFzaCgpOwogICAgIHZvaWQgbWFya0FzRmluYWwoKTsKLSAgICB2b2lkIGFkZFBy
b3BlcnR5KFJlZlB0cjxTdHJpbmdJbXBsPik7CisgICAgdm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+KTsKICAgICBTdHJpbmcgc3RyaW5nUmVwcmVzZW50YXRpb24oKTsK
ICAgICBTdHJpbmcgdG9KU09OU3RyaW5nKCkgY29uc3Q7CiAgICAgUmVmPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlJ1bnRpbWU6OlN0cnVjdHVyZURlc2NyaXB0aW9uPiBpbnNwZWN0b3JSZXByZXNlbnRh
dGlvbigpOwpAQCAtNzAsOCArNzAsOCBAQCBjbGFzcyBTdHJ1Y3R1cmVTaGFwZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFN0cnVjdHVyZVNoYXBlPiB7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0
dXJlU2hhcGU+IG1lcmdlKGNvbnN0IFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+LCBjb25zdCBQ
YXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPik7CiAgICAgYm9vbCBoYXNTYW1lUHJvdG90eXBlQ2hh
aW4oUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4pOwogCi0gICAgSGFzaFNldDxSZWZQdHI8U3Ry
aW5nSW1wbD4+IG1fZmllbGRzOwotICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX29w
dGlvbmFsRmllbGRzOworICAgIEhhc2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRl
bnRpZmllclJlcEhhc2g+IG1fZmllbGRzOworICAgIEhhc2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJp
bmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+IG1fb3B0aW9uYWxGaWVsZHM7CiAgICAgUmVmUHRy
PFN0cnVjdHVyZVNoYXBlPiBtX3Byb3RvOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTdHJpbmc+IG1f
cHJvcGVydHlIYXNoOwogICAgIFN0cmluZyBtX2NvbnN0cnVjdG9yTmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3Ry
ZWFtLmNwcAppbmRleCBiYjdkMzlkYjkxNWQ2NDc5NmZmNDJkNTk0NGFhYzE3NzU3NGQ2NjRlLi4w
Njg5MzFlM2YwYTcyN2RkNDU0ODdhNzg0YjU3MzE1MjU4OGYyOTFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJl
YW0uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1w
bC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QcmludFN0cmVhbS5oCmluZGV4IGU4MTUzNDk0ZjhiZmIyNjhmODBhNWZkZjBhMDczYzU4YWNj
NzgxNjAuLmU4YmJhNjM0YjE2NGNkM2MyZTVlZTg4YTQ4YWQ0YjcwZDZlMTgxYzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKKysrIGIvU291cmNlL1dURi93dGYvUHJp
bnRTdHJlYW0uaApAQCAtMzgsNiArMzgsNyBAQAogY2xhc3MgQ1N0cmluZzsKIGNsYXNzIFN0cmlu
ZzsKIGNsYXNzIFN0cmluZ0ltcGw7CitjbGFzcyBVbmlxdWVkU3RyaW5nSW1wbDsKIAogY2xhc3Mg
UHJpbnRTdHJlYW0gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOyBXVEZfTUFLRV9OT05D
T1BZQUJMRShQcmludFN0cmVhbSk7CkBAIC03MSwxMSArNzIsMTMgQEAgY2xhc3MgUHJpbnRTdHJl
YW0gewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYs
IGNvbnN0IFN0cmluZyYpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYsIGNvbnN0IFN0cmluZ0ltcGwqKTsKIGlubGluZSB2b2lkIHByaW50SW50ZXJu
YWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgQXRvbWljU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJp
bnRJbnRlcm5hbChvdXQsIGJpdHdpc2VfY2FzdDxjb25zdCBTdHJpbmdJbXBsKj4odmFsdWUpKTsg
fQoraW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBVbmlx
dWVkU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIGJpdHdpc2VfY2FzdDxj
b25zdCBTdHJpbmdJbXBsKj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYgb3V0LCBjaGFyKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGlj
X2Nhc3Q8Y29uc3QgY2hhcio+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mIG91dCwgQ1N0cmluZyYgdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0
YXRpY19jYXN0PGNvbnN0IENTdHJpbmcmPih2YWx1ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludElu
dGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFN0cmluZyYgdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChv
dXQsIHN0YXRpY19jYXN0PGNvbnN0IFN0cmluZyY+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJ
bnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBp
bmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIEF0b21pY1N0cmluZ0lt
cGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBBdG9taWNT
dHJpbmdJbXBsKj4odmFsdWUpKTsgfQoraW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBVbmlxdWVkU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQs
IHN0YXRpY19jYXN0PGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKj4odmFsdWUpKTsgfQogV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIGJvb2wpOwogV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIHNpZ25lZCBj
aGFyKTsgLy8gTk9URTogdGhpcyBwcmludHMgYXMgYSBudW1iZXIsIG5vdCBhcyBhIGNoYXJhY3Rl
cjsgdXNlIENoYXJhY3RlckR1bXAgaWYgeW91IHdhbnQgdGhlIGNoYXJhY3RlcgogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIHVuc2lnbmVkIGNoYXIp
OyAvLyBOT1RFOiBzZWUgYWJvdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0
b21pY1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5o
CmluZGV4IDYyYTkwZTA2ZTUzOGY2NjNlNGJmMGUwM2JlMzJlYjY0MDE3YzIyYzIuLjRiMGNlZmJj
MjE0MTI5NDcwMWExMzI4ODlkNTE2OGRhOWQyMDE4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRv
bWljU3RyaW5nSW1wbC5oCkBAIC0yMiwxMyArMjIsMTcgQEAKICNkZWZpbmUgQXRvbWljU3RyaW5n
SW1wbF9oCiAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLWNsYXNzIEF0
b21pY1N0cmluZ0ltcGwgOiBwdWJsaWMgU3RyaW5nSW1wbAorY2xhc3MgQXRvbWljU3RyaW5nSW1w
bCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbAogewogcHVibGljOgotICAgIEF0b21pY1N0cmlu
Z0ltcGwoKSA6IFN0cmluZ0ltcGwoMCkge30KKyAgICBBdG9taWNTdHJpbmdJbXBsKCkKKyAgICAg
ICAgOiBVbmlxdWVkU3RyaW5nSW1wbCgpCisgICAgeworICAgIH0KIH07CiAKICNpZiAhQVNTRVJU
X0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3Bw
IGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCA2ZmQ3NzljODBjMmJk
OGE0NGM2NjdlMmEzMjZmODM4ZDg1Y2ZhMWY1Li43OTdlZmJiNzhiOGZkMWI2NWEwNGFjMGMwYTI0
MzgxZWM0YmMyMmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9VVEY4Lmg+CkBAIC0xMTQsNyArMTE1LDcgQEAgdm9pZCBTdHJpbmdTdGF0czo6
cHJpbnRTdGF0cygpCiAgICAgICAgIEF0b21pY1N0cmluZzo6cmVtb3ZlKHRoaXMpOwogCiAgICAg
aWYgKGlzU3ltYm9sKCkgJiYgc3ltYm9sUmVnaXN0cnkoKSkKLSAgICAgICAgc3ltYm9sUmVnaXN0
cnkoKS0+cmVtb3ZlKHRoaXMpOworICAgICAgICBzeW1ib2xSZWdpc3RyeSgpLT5yZW1vdmUoc3Rh
dGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHRoaXMpKTsKIAogICAgIEJ1ZmZlck93bmVyc2hpcCBvd25l
cnNoaXAgPSBidWZmZXJPd25lcnNoaXAoKTsKIApAQCAtMjkwLDcgKzI5MSw3IEBAIHZvaWQgU3Ry
aW5nSW1wbDo6ZGVzdHJveShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIHJldHVybiBjcmVh
dGUoc3RyaW5nLCBsZW5ndGgpOwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3Jl
YXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQorUmVmPFN5bWJvbEltcGw+IFN0
cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCkKIHsKICAg
ICBTdHJpbmdJbXBsKiBvd25lclJlcCA9IChyZXAtPmJ1ZmZlck93bmVyc2hpcCgpID09IEJ1ZmZl
clN1YnN0cmluZykgPyByZXAtPnN1YnN0cmluZ0J1ZmZlcigpIDogcmVwLmdldCgpOwogCkBAIC0z
MDEsMTEgKzMwMiwxMSBAQCB2b2lkIFN0cmluZ0ltcGw6OmRlc3Ryb3koU3RyaW5nSW1wbCogc3Ry
aW5nSW1wbCkKICAgICAvLyA0LiB0aGUgcGxhY2Vob2xkZXIgZm9yIHN5bWJvbCBhd2FyZSBoYXNo
IHZhbHVlIChhbGxvY2F0ZWQgc2l6ZSBpcyBwb2ludGVyIHNpemUsIGJ1dCBvbmx5IDQgYnl0ZXMg
YXJlIHVzZWQpCiAgICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0YXRpY19jYXN0PFN0cmlu
Z0ltcGwqPihmYXN0TWFsbG9jKGFsbG9jYXRpb25TaXplPFN0cmluZ0ltcGwqPigzKSkpOwogICAg
IGlmIChyZXAtPmlzOEJpdCgpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVs
bCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVw
LT5sZW5ndGgoKSwgb3duZXJSZXApKTsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVs
bCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhMTYsIHJl
cC0+bGVuZ3RoKCksIG93bmVyUmVwKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqc3RhdGlj
X2Nhc3Q8U3ltYm9sSW1wbCo+KG5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChD
cmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4obmV3IChOb3ROdWxs
LCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGExNiwgcmVw
LT5sZW5ndGgoKSwgb3duZXJSZXApKSk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBs
OjpjcmVhdGVTeW1ib2xFbXB0eSgpCitSZWY8U3ltYm9sSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRl
U3ltYm9sRW1wdHkoKQogewogICAgIHJldHVybiBjcmVhdGVTeW1ib2woZW1wdHkoKSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IGRjMjJiZDBlN2M5NjQyNjlmZTNkZWRlYzUxYmVm
NTFjZTY2ZmUzZTkuLjk4NzgyN2E4NDliNzQyYjUyNWM3ZWNjYTVlZWQ2NGRmOGVlMjgzYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC01Nyw2ICs1Nyw3IEBACiBzdHJ1Y3QgU3Vic3Ry
aW5nVHJhbnNsYXRvcjsKIHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiB0ZW1wbGF0ZTx0
eXBlbmFtZT4gY2xhc3MgUmV0YWluUHRyOworY2xhc3MgU3ltYm9sSW1wbDsKIGNsYXNzIFN5bWJv
bFJlZ2lzdHJ5OwogCiBlbnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkgewpAQCAtMTMxLDcgKzEzMiw5
IEBAIGNsYXNzIFN0cmluZ0ltcGwgewogICAgIGZyaWVuZCBzdHJ1Y3QgV1RGOjpMQ2hhckJ1ZmZl
clRyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0cnVjdCBXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I7
CiAgICAgZnJpZW5kIHN0cnVjdCBXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKKyAgICBmcmll
bmQgY2xhc3MgVW5pcXVlZFN0cmluZ0ltcGw7CiAgICAgZnJpZW5kIGNsYXNzIEF0b21pY1N0cmlu
Z0ltcGw7CisgICAgZnJpZW5kIGNsYXNzIFN5bWJvbEltcGw7CiAgICAgZnJpZW5kIGNsYXNzIEpT
Qzo6TExJbnQ6OkRhdGE7CiAgICAgZnJpZW5kIGNsYXNzIEpTQzo6TExJbnRPZmZzZXRzRXh0cmFj
dG9yOwogICAgIApAQCAtNDIxLDggKzQyNCw4IEBAIGNsYXNzIFN0cmluZ0ltcGwgewogICAgICAg
ICByZXR1cm4gY29uc3RydWN0SW50ZXJuYWw8VD4ocmVzdWx0SW1wbCwgbGVuZ3RoKTsKICAgICB9
CiAKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBjcmVh
dGVTeW1ib2xFbXB0eSgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN0
cmluZ0ltcGw+IGNyZWF0ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCk7CisgICAg
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlU3ltYm9s
RW1wdHkoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTeW1ib2xJbXBs
PiBjcmVhdGVTeW1ib2woUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiByZXApOwogCiAgICAgLy8gUmVh
bGxvY2F0ZSB0aGUgU3RyaW5nSW1wbC4gVGhlIG9yaWdpbmFsU3RyaW5nIG11c3QgYmUgb25seSBv
d25lZCBieSB0aGUgUGFzc1JlZlB0ciwKICAgICAvLyBhbmQgdGhlIGJ1ZmZlciBvd25lcnNoaXAg
bXVzdCBiZSBCdWZmZXJJbnRlcm5hbC4gSnVzdCBsaWtlIHRoZSBpbnB1dCBwb2ludGVyIG9mIHJl
YWxsb2MoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oIGIv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2UzMGE5YTkyN2Mz
NWIxNWU0NjJlOTkzN2I4OTlhZjM2NmQ4NDgwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBTeW1ib2xJbXBsX2gKKyNkZWZpbmUgU3ltYm9sSW1wbF9oCisKKyNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0
cmluZ0ltcGwuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIFN5bWJvbEltcGwgOiBwdWJs
aWMgVW5pcXVlZFN0cmluZ0ltcGwgeworcHVibGljOgorICAgIFN5bWJvbEltcGwoKQorICAgICAg
ICA6IFVuaXF1ZWRTdHJpbmdJbXBsKCkKKyAgICB7CisgICAgfQorfTsKKworI2lmICFBU1NFUlRf
RElTQUJMRUQKKy8vIFN5bWJvbEltcGxzIGNyZWF0ZWQgZnJvbSBTdGF0aWNBU0NJSUxpdGVyYWwg
d2lsbCBBU1NFUlQKKy8vIGluIHRoZSBnZW5lcmljIFZhbHVlQ2hlY2s8VD46OmNoZWNrQ29uc2lz
dGVuY3kKKy8vIGFzIHRoZXkgYXJlIG5vdCBhbGxvY2F0ZWQgYnkgZmFzdE1hbGxvYy4KKy8vIFdl
IGRvbid0IGN1cnJlbnRseSBoYXZlIGFueSB3YXkgdG8gZGV0ZWN0IHRoYXQgY2FzZQorLy8gc28g
d2UgaWdub3JlIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgYWxsIFN5bWJvbEltcGxzKi4KK3Rl
bXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPFN5bWJvbEltcGwqPiB7CisgICAgc3RhdGljIHZv
aWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9OworCit0ZW1wbGF0
ZTw+IHN0cnVjdAorVmFsdWVDaGVjazxjb25zdCBTeW1ib2xJbXBsKj4geworICAgIHN0YXRpYyB2
b2lkIGNoZWNrQ29uc2lzdGVuY3koY29uc3QgU3ltYm9sSW1wbCopIHsgfQorfTsKKyNlbmRpZgor
Cit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpTeW1ib2xJbXBsOworCisjZW5kaWYg
Ly8gU3ltYm9sSW1wbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJl
Z2lzdHJ5LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCmluZGV4
IDE1NmJhM2U0YzI3NGIxZjAwY2JjZWU3ZWJmZmVlYjI2Y2YyM2QzOTAuLjI1OTliNjg4MDcxNzI4
OGEwZjZiM2VmYzIxMDFlZmNmMDE5ZWJhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3ltYm9sUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVn
aXN0cnkuY3BwCkBAIC0zNCwyNiArMzQsMjYgQEAKICAgICAgICAga2V5LmltcGwoKS0+c3ltYm9s
UmVnaXN0cnkoKSA9IG51bGxwdHI7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTeW1ib2xSZWdpc3Ry
eTo6c3ltYm9sRm9yS2V5KGNvbnN0IFN0cmluZyYgcmVwKQorUmVmPFN5bWJvbEltcGw+IFN5bWJv
bFJlZ2lzdHJ5OjpzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJiByZXApCiB7CiAgICAgYXV0byBh
ZGRSZXN1bHQgPSBtX3RhYmxlLmFkZChTeW1ib2xSZWdpc3RyeUtleShyZXAuaW1wbCgpKSk7CiAg
ICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuICphZGRSZXN1bHQu
aXRlcmF0b3ItPmltcGwoKTsKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Kj4oYWRkUmVzdWx0Lml0ZXJhdG9yLT5pbXBsKCkpOwogCi0gICAgUmVmPFN0cmluZ0ltcGw+IHN5
bWJvbCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChyZXAuaW1wbCgpKTsKKyAgICBSZWY8U3lt
Ym9sSW1wbD4gc3ltYm9sID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOwog
ICAgIHN5bWJvbC0+c3ltYm9sUmVnaXN0cnkoKSA9IHRoaXM7CiAgICAgKmFkZFJlc3VsdC5pdGVy
YXRvciA9IFN5bWJvbFJlZ2lzdHJ5S2V5KCZzeW1ib2wuZ2V0KCkpOwogICAgIHJldHVybiBzeW1i
b2w7CiB9CiAKLVN0cmluZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwq
IHVpZCkKK1N0cmluZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN5bWJvbEltcGwqIHVp
ZCkKIHsKICAgICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlQodWlkLT5zeW1i
b2xSZWdpc3RyeSgpID09IHRoaXMpOwogICAgIHJldHVybiB1aWQtPmV4dHJhY3RGb2xkZWRTdHJp
bmdJblN5bWJvbCgpOwogfQogCi12b2lkIFN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUoU3RyaW5nSW1w
bCogdWlkKQordm9pZCBTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKFN5bWJvbEltcGwqIHVpZCkKIHsK
ICAgICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdp
c3RyeSgpID09IHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xS
ZWdpc3RyeS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCmluZGV4IDEz
NmMzNjhjOTBiYmJjZWExODg2YjhkZjc4NzJhN2ZmZGZiYTk4YTYuLmZlY2JlNzBjNzQ4MzIwODBj
ZjliNGQ0MzRiNjZiMmQwOTQwNjI4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3ltYm9sUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBA
IC04MSwxMCArODIsMTAgQEAgY2xhc3MgU3ltYm9sUmVnaXN0cnkgewogICAgIFN5bWJvbFJlZ2lz
dHJ5KCkgPSBkZWZhdWx0OwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB+U3ltYm9sUmVnaXN0cnko
KTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSBSZWY8U3RyaW5nSW1wbD4gc3ltYm9sRm9yS2V5
KGNvbnN0IFN0cmluZyYpOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3lt
Ym9sKFN0cmluZ0ltcGwqIHVpZCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFJlZjxTeW1ib2xJ
bXBsPiBzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRF
IFN0cmluZyBrZXlGb3JTeW1ib2woU3ltYm9sSW1wbCogdWlkKTsKIAotICAgIHZvaWQgcmVtb3Zl
KFN0cmluZ0ltcGwqIHVpZCk7CisgICAgdm9pZCByZW1vdmUoU3ltYm9sSW1wbCogdWlkKTsKIAog
cHJpdmF0ZToKICAgICBIYXNoU2V0PFN5bWJvbFJlZ2lzdHJ5S2V5PiBtX3RhYmxlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0YzcwMTRhNTA4MWFm
NTgzN2Y0ODBiMjM2NzQyNTMxZDcxMThmMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+Lgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFVuaXF1ZWRTdHJpbmdJbXBsX2gKKyNkZWZpbmUgVW5pcXVlZFN0
cmluZ0ltcGxfaAorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorCituYW1lc3Bh
Y2UgV1RGIHsKKworY2xhc3MgVW5pcXVlZFN0cmluZ0ltcGwgOiBwdWJsaWMgU3RyaW5nSW1wbCB7
CitwdWJsaWM6CisgICAgVW5pcXVlZFN0cmluZ0ltcGwoKQorICAgICAgICA6IFN0cmluZ0ltcGwo
MCkKKyAgICB7CisgICAgfQorfTsKKworI2lmICFBU1NFUlRfRElTQUJMRUQKKy8vIFVuaXF1ZWRT
dHJpbmdJbXBscyBjcmVhdGVkIGZyb20gU3RhdGljQVNDSUlMaXRlcmFsIHdpbGwgQVNTRVJUCisv
LyBpbiB0aGUgZ2VuZXJpYyBWYWx1ZUNoZWNrPFQ+OjpjaGVja0NvbnNpc3RlbmN5CisvLyBhcyB0
aGV5IGFyZSBub3QgYWxsb2NhdGVkIGJ5IGZhc3RNYWxsb2MuCisvLyBXZSBkb24ndCBjdXJyZW50
bHkgaGF2ZSBhbnkgd2F5IHRvIGRldGVjdCB0aGF0IGNhc2UKKy8vIHNvIHdlIGlnbm9yZSB0aGUg
Y29uc2lzdGVuY3kgY2hlY2sgZm9yIGFsbCBVbmlxdWVkU3RyaW5nSW1wbHMqLgordGVtcGxhdGU8
PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8VW5pcXVlZFN0cmluZ0ltcGwqPiB7CisgICAgc3RhdGljIHZv
aWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCopIHsgfQorfTsKKwor
dGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8Y29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqPiB7
CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBVbmlxdWVkU3RyaW5nSW1w
bCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpV
bmlxdWVkU3RyaW5nSW1wbDsKKworI2VuZGlmIC8vIFVuaXF1ZWRTdHJpbmdJbXBsX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA2
OTI0Njc4MzA4NmY2OTk0M2E5ZDIzNzljN2M3OWFkNjQ4NDRiZjYyLi4wZDU3M2ZjY2Y1NDE0MTg1
ZmMxMTM3ZDViNDM2NzljODM3Yjc3MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0zMDYsNyArMzA2LDggQEAgYm9vbCBKU0RP
TVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU09iamVjdCogb2JqZWN0LCBFeGVj
U3RhdGUqIGV4ZWMsIHUKICAgICAvLyBBbGxvdyBzaG9ydGN1dHMgbGlrZSAnSW1hZ2UxJyBpbnN0
ZWFkIG9mIGRvY3VtZW50LmltYWdlcy5JbWFnZTEKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0
aGlzT2JqZWN0LT5pbXBsKCkuZnJhbWUoKS0+ZG9jdW1lbnQoKTsKICAgICBpZiAoaXM8SFRNTERv
Y3VtZW50PigqZG9jdW1lbnQpKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1By
b3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5pbXBsKCk7CisgICAgICAgIEFTU0VSVCghcHJvcGVy
dHlOYW1lLmlzU3ltYm9sKCkpOworICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9w
ZXJ0eU5hbWUgPSBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4ocHJvcGVydHlOYW1lLmlt
cGwoKSk7CiAgICAgICAgIGlmIChhdG9taWNQcm9wZXJ0eU5hbWUgJiYgZG93bmNhc3Q8SFRNTERv
Y3VtZW50PigqZG9jdW1lbnQpLmhhc1dpbmRvd05hbWVkSXRlbSgqYXRvbWljUHJvcGVydHlOYW1l
KSkgewogICAgICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVjdCwgUmVhZE9ubHkgfCBE
b250RGVsZXRlIHwgRG9udEVudW0sIG5hbWVkSXRlbUdldHRlcik7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFi
bGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNS
ZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAKaW5kZXggZDMxZDg4NWIwMWExNGY2OTBkNmRi
MmYzNDVjY2IyZmIzZDY1OTg1MS4uZmY5YWMwZDFmNDk2MDYyYmU5YzFlYmUxZjUxZDU3NTYwZDQ5
NTdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0
cmVhbVJlYWRlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNS
ZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGljIEpT
UHJvbWlzZURlZmVycmVkKiBnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmplY3QoRXhl
Y1N0YXRlKiBleGVjLAogCiBzdGF0aWMgSlNDOjpQcml2YXRlTmFtZSYgY2xvc2VkUHJvbWlzZVNs
b3ROYW1lKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4g
Y2xvc2VkUHJvbWlzZVNsb3ROYW1lKCJjbG9zZWRQcm9taXNlIik7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IGNsb3NlZFByb21pc2VTbG90TmFtZShKU0M6OlBy
aXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgImNsb3NlZFByb21pc2UiKTsKICAgICByZXR1cm4gY2xv
c2VkUHJvbWlzZVNsb3ROYW1lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCBlZTE1YmQ1MGM1MjNmNjExMjU4
NTQ2MmYzNjc5NTFkYTAzZjc3ZGNkLi5hYTBkYWRmMDlkNTQwMzA0ODZmOWM3NzE3NzNjZjIyNjA3
YWJlMThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTk4Myw3ICs5ODMsNyBAQCBjbGFzcyBDbG9uZVNlcmlhbGl6
ZXIgOiBDbG9uZUJhc2UgewogICAgIHZvaWQgd3JpdGUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQp
CiAgICAgewogICAgICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IGlkZW50LnN0cmluZygpOwotICAg
ICAgICBTdHJpbmdDb25zdGFudFBvb2w6OkFkZFJlc3VsdCBhZGRSZXN1bHQgPSBtX2NvbnN0YW50
UG9vbC5hZGQoc3RyLmltcGwoKSwgbV9jb25zdGFudFBvb2wuc2l6ZSgpKTsKKyAgICAgICAgU3Ry
aW5nQ29uc3RhbnRQb29sOjpBZGRSZXN1bHQgYWRkUmVzdWx0ID0gbV9jb25zdGFudFBvb2wuYWRk
KGlkZW50LmltcGwoKSwgbV9jb25zdGFudFBvb2wuc2l6ZSgpKTsKICAgICAgICAgaWYgKCFhZGRS
ZXN1bHQuaXNOZXdFbnRyeSkgewogICAgICAgICAgICAgd3JpdGUoU3RyaW5nUG9vbFRhZyk7CiAg
ICAgICAgICAgICB3cml0ZVN0cmluZ0luZGV4KGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUpOwpA
QCAtMTIxMSw3ICsxMjExLDcgQEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDogQ2xvbmVCYXNlIHsK
ICAgICBPYmplY3RQb29sIG1fb2JqZWN0UG9vbDsKICAgICBPYmplY3RQb29sIG1fdHJhbnNmZXJy
ZWRNZXNzYWdlUG9ydHM7CiAgICAgT2JqZWN0UG9vbCBtX3RyYW5zZmVycmVkQXJyYXlCdWZmZXJz
OwotICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIHVpbnQzMl90LCBJZGVu
dGlmaWVyUmVwSGFzaD4gU3RyaW5nQ29uc3RhbnRQb29sOworICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCB1aW50MzJfdCwgSWRlbnRpZmllclJlcEhhc2g+IFN0
cmluZ0NvbnN0YW50UG9vbDsKICAgICBTdHJpbmdDb25zdGFudFBvb2wgbV9jb25zdGFudFBvb2w7
CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKIH07CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWM4NWRmM2Q0YjJkZWNkOTBiYjAx
ODY3NDcwOWZmZjUwNDcxMTI0MC4uNWFiYjQ1OTZkOGQ5MzQ1Y2UwOTA4NTI2ZWIzYzk4MTUxODJi
ZmRmYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDE1LTA1LTEwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3lt
Ym9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1w
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcDoKKwogMjAxNS0wNS0wOSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGFyZ3VtZW50cyBvZiBy
dW4tYmVuY2htYXJrIG1vcmUgdXNlciBmcmllbmRseQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9TdHJpbmdJbXBsLmNwcAppbmRleCAwOTJjYzQ3ZjkwMTZhZmJkMmI0NjgyYjI2MGVh
NTU4MzA5MzY0NDgzLi4xMWQ5ODNmM2Y3NDBmNjIxYzI1YjVkZTQzZGE1NGM2ODIzM2NlNzVmIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>252842</attachid>
            <date>2015-05-10 23:43:42 -0700</date>
            <delta_ts>2015-05-10 23:43:42 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews102 for mac-mavericks</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>546588</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
eebhsekvFDwCG6gcb2xp+/Qc23xBBLm0ZCklXrZNZKNP0FBxoP6cs6VzyuSU86KNdjcRu6Z8lexK
ee6/R82q/JOTVyJXCygw/zdWXv4NqyrnX776inX5e8f+SOIxRp1CvmU5FlLNoTK50LReEE+BwDgH
Z9M21bFLmFkS5zn55A+tlikA5ltKg7PES1cwbPHzEhNSIVG32YIzaC7umHV8mM/H0z/E6OUlnFSO
OmHxJni8o/CMXy+DxdGjDd34CyHWM/J5PK4S1mPIZ5nB+1g72HvdNrrxBf9BewiiOY/p74baixwj
2Mui436SxOQz1W2lnob8sPHGj5T5txUV9ESx6nqe5imWjqWE7YL4K+G9bdLgai4pb2CKdGT0zYBz
lC5nYxuGGuHWaWh7a4dZfE8JKpj7+wFF0gpzw+rEm87mHFFupCDnqC4uYZWe0OYI/EYJBnc6bO+o
VeUdtLHeI2fet/fLa5MkrZ9Mk4zDni7oWXJrWnyQ1UHRY01ebcItVW1fsXKnpw39meIDhYSgt0eN
8rfPQSZGPUV+ls68jZ/PpuRD1vePWcf3gc+ecu+FW79dg/75dr1+ep0+LNhz7vIJmPl2S9Y7toze
NPRzaRCquNhewUJw2/C+FVjHdpGDkC5LjVWQGXsGaxmkz/e+77LuUS80bcfrxOL+HI7yqKlAOF43
ZyGUp9bbgjOwyuk/bvwkYHl4XjhZeGHq355JfNnTNeMp+OP+6fz1Ie5wQz5uk/CGvGfs4Ia8pb+m
//Z/TN9hbOG0JSW4/8Iae6W21NPVUIQqu44imugowhtJUZoQnc7ha7OxqQRzZkmcpgDqcLDtNgJ3
tFXjYiuevdEe2mQ+H3U69jOmKx8xrP3seua7CKKlttm5MdZLLpdud23JWc/Svboyi7dRdrvxstXk
Lv/Lo2V2zxBCfbMsSvXmR9itsXtydfFYvcngdfB0h5cV7MTG1U1lHdkkvVraSaturWMjAtCMa14I
jXRTVy4ic0ziGfccKIIqQW+aoytCKwaQP8NKIUXw2IXUfnvPQEidwVA+Vxasa3StPu2z1A8XOyzR
dAS3lSOdkHLXWZH3hdAyxnyCLKBMYC+m4Ii23okYjsY873tTSCuBlV/nwgtCVh5xGJRa0VLSNu2a
/L0347OKR9VtG14rpnvS90OF6Kl5EdQkEu32QQTABu4XxUHK7qRunr1H3i1SHmewid4fsIN07WWz
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
t4MQ1EqhBwhdSNqEQ28sYpdvE59RV4670MQUiHpiIwDaqI6o8oPQ6f6Muqh3jcsLvMNj6KjDxhJ5
e3FqP/yoH0iBTO0KdeXf9RGnq/MxGBAWrGrLILV7LAJ+Pl19ZP5n0MP58f0vb68ZpVqnT2YDOAXw
/fcoJ31QTrpRvnt9f++EUBxlDdW3ZO5RnK5F7FxdXTljh0B1ygv8lXFP++Cevgz3x3sVY3/+/pOC
DpUBRyAu7FJBPaqKVNL7dGWm99XtF4f6rvxsHFbWHTbYRQ+DfZf6PFt2G+0Sbu6rd6ASPNQ7GFF/
dZnyuxPoe0iyVs89uyoZpCKPG2m9rF23F3DE88Yyiw5a6oARWB+TaktBN7K6uxzIh3p//dNb/fUb
LSW38pgVFLoNbCQpK8k3z/mAuBMhyrFnzvyWofrVSuarPlZ/9cKkVgY1Rgb7fq++P8l2UaA0wCxS
FfYnufiWYtUK/j4la9ZHu9mBmPq6cOZ94Mz78dNr2fF3UtRLgs88/Px/k9XHfUJ0/OpbOXHcJ6bG
s35OvIN7usmAr9xljPvE2njeN7EjAMo/Dj/9kfl6MvxGfN00puahNCvEH5GzO8zam7NfbK3/B96e
jPpYfvTi9K4xt7RxF3fLud+VuyfnfTQ871/2fwMl2oe6hMO9V/0Tnv8AUEsDBAoAAAAAACa6qkYA
AAAAAAAAAAAAAAAMABwAZmFzdC9pbWFnZXMvVVQJAANnSVBV2UlQVXV4CwABBPUBAAAEUAAAAFBL
AwQUAAIACAAmuqpGIY+9ODIAAAAzAAAALAAcAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9w
LWJveC1zdGRlcnIudHh0VVQJAANnSVBVZ0lQVXV4CwABBPUBAAAEUAAAAHPLSSxJdUlNzk9JtVJI
AdGZeekKqUVF+UVWCpl5yflFRanJJQopiSWJCskZqcnZelwAUEsDBAoAAAAAACa6qkYAAAAAAAAA
AAAAAAAJABwAZmFzdC94c2wvVVQJAANoSVBV2UlQVXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACAAm
uqpGcv1l8oUAAADpAAAAJQAcAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRV
VAkAA2dJUFVnSVBVdXgLAAEE9QEAAARQAAAArU4xDsJADNv7inygZGC7GSbYQHRO21SclLtUuZzU
/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+VGrighdywuvwwIHHW3S8067Vn1y84ELFcSuCxkWr
TS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEhQM00tlFXEKX5T+P9Uc/z90X3AVBLAwQUAAIACAAm
uqpGiR8h/pcAAADAAwAAJwAcAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4
dFVUCQADZ0lQVWdJUFV1eAsAAQT1AQAABFAAAADtjzEOwjAMRfeewhcoHtgywwQbiM5u6opITlwl
jlRuT6BHYENdLNvf/vrPa1yCkAVNwDlrdjAH4W9xiPhQqZELnsgIz8MNBx4vwfBKL61252IFZyqG
axHMXLRm387bZP1IUx/iotn6msOh7UBCYjgCC0dOBpvaNcVtLTioicYWwBREafo1SNJS/fNj0v5E
Or/z7rx/xPsGUEsDBBQAAgAIACa6qkbPj2YOUAAAAKAAAAAkABwAZmFzdC94c2wveHNsdC1jb250
ZW50VHlwZS1zdGRlcnIudHh0VVQJAANnSVBVZ0lQVXV4CwABBPUBAAAEUAAAAK3MsQ3AIAwF0Z4p
/gZR2myDwAhLNkaWiTJ+yA5prrtXTCdLDrYBcje/0FgIEB6EEySkNAK2Yq5IPO4sXLG7CM0cStGt
7ssslb+wp4fK8ZEvUEsDBBQAAgAIACa6qkaBSnetSwAAAKwAAAA0ABwAZmFzdC94c2wveHNsdC10
cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQADaElQVWhJUFV1eAsAAQT1
AQAABFAAAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMnFtA4
6YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAYrqqRrGFnoZyAQAAiAIAABEAHABm
dWxsX3Jlc3VsdHMuanNvblVUCQAD2ElQVdlJUFV1eAsAAQT1AQAABFAAAACVUMGO2jAQ/ZXKp1aK
N3RBHNITEmmFYJdqA6U9RUMyIRZ2YtmTLtGKf+84wO5KPVQ9efT85r03bzaf509ptl1tso8vgtCT
F8mLMFgqCAM5KI6vg1SN3ENTSk+9xruajA5/Dm3rSCTi62q2/CUigSeLBWHJ0PdZljECBXXAZLFZ
PKTr7ebDgJ/P50jURHZwuJmDtQUUNYZ5MppIh77tXIHyWVEtvW6fpQFOcsPvbG3/O0b68y0Dh6jA
U9AoWxOeBrgBqQiNv7r2Zt9qGfC/z35Kv3GH2WL9+G/Tq58/KmsD6X46/RyJpjO5wwNf5FXbcAuM
qYbQuc4OWhVojxeeUUxqDiIZRUJD33aUD9XlpXJsEv9odWfQx3MgiNNdFu9wv1QUrwbuZmg5Er/R
BSuRjC+qFrxHNh5PxyOGrDqhvupiA3v9LkQNPrcOiXreoqIWCbmO8UqdAnG4aXJRrTQcewYi0bF6
fukGKNyYVypww+r505c/UEsDBAoAAAAAACi6qkYAAAAAAAAAAAAAAAAFABwAaHR0cC9VVAkAA2xJ
UFXZSVBVdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAAD26qkYAAAAAAAAAAAAAAAALABwAaHR0cC90
ZXN0cy9VVAkAA5ZJUFXZSVBVdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAACi6qkYAAAAAAAAAAAAA
AAAUABwAaHR0cC90ZXN0cy9hcHBjYWNoZS9VVAkAA2xJUFXZSVBVdXgLAAEE9QEAAARQAAAAUEsD
BBQAAgAIACi6qkbCTcgddAAAAJsAAABDABwAaHR0cC90ZXN0cy9hcHBjYWNoZS80MDQtcmVzb3Vy
Y2Utd2l0aC1zbG93LW1haW4tcmVzb3VyY2UtYWN0dWFsLnR4dFVUCQADbElQVWxJUFV1eAsAAQT1
AQAABFAAAAAljNERwjAMQ/87hSZgiR4TBAYwwSE+0pizU7o+TvnRnaQn3ao4BvsIrTRA2KhLieDv
s/ZB0n0W4i79hSKNcUhr6BqAkddgGQ/Tw9nAX+6QcmZbbGHsultmvJk/jqb0nD9URtCTYjM1aM67
+WVJ93W9prT8AFBLAwQUAAIACAAouqpGje2I7EEBAABOAgAAQQAcAGh0dHAvdGVzdHMvYXBwY2Fj
aGUvNDA0LXJlc291cmNlLXdpdGgtc2xvdy1tYWluLXJlc291cmNlLWRpZmYudHh0VVQJAANsSVBV
bElQVXV4CwABBPUBAAAEUAAAAMWQz04CMRDG7zzF3KF0QRINJxA3HvxD4qqch+6s21i2m85U8O1t
VwmPYHpo+s3Xb34zSinQ797FA7G+Q0Fd7iq9o/2Dlb/rNlpX6xdyhEza4bePooRYVCCOTli3Ir3O
Cmvse4OmJb0oFrnuYzCkjlZaxc4f1QFtd9Hp1JMRqqdyktF4PP5HFDQS0Q0gqxWo2eQKxrPJHFar
kdpsn6vtYwlPZVWt78slrPveWYNifQeb3ANiX6MQNGgd1RPYk8HIBBlnqfVsfj0t0pktb4qiuJCd
u7OuPbHqvKSVWJaMAcZHV0PSUho0JOlDPR3Ba2sZhglBWhRAOGBnmyT8vo3vJE3GuWCZbfcBTYKC
o3VuSDMBuU1egn3wR6YA9EUd2GbQ8lbgzAWfRD2D81jnHGwkubOLQvABvDExcGKq3jabtJvRD1BL
AwQUAAIACAAouqpGKNMVdtgAAAAnAQAARQAcAGh0dHAvdGVzdHMvYXBwY2FjaGUvNDA0LXJlc291
cmNlLXdpdGgtc2xvdy1tYWluLXJlc291cmNlLWV4cGVjdGVkLnR4dFVUCQADbElQVWxJUFV1eAsA
AQT1AQAABFAAAAA1UM1qwzAMvucp9ABrkvaykVsJYZetPWR7ANWWFzHXNpay9vGndAyBQN8fHxrP
p/n8NsH7NM/H12mAYymRHSrnBCO6hWAtHpUgIEfyT3Ahh6sQLKpl6Lr94bntbfbDS9/3HZbiNldX
SfJaHUnnM8kuZd3RnUVbvSu4vEYPhlkaBFIz+Lb5WFhASdT2ggoIV0wcDPi7XU6KnGQjWITTFwTr
BDeO8RHmKspiWoJLzTehCvRDCTg8sKt54b8WfBMVgZjRbzkY1NSbimrNFbJza5W2mT/H0T7T/AJQ
SwMEFAACAAgAKLqqRvpwepUKCAAAvxgAAEkAHABodHRwL3Rlc3RzL2FwcGNhY2hlLzQwNC1yZXNv
dXJjZS13aXRoLXNsb3ctbWFpbi1yZXNvdXJjZS1wcmV0dHktZGlmZi5odG1sVVQJAANsSVBVbElQ
VXV4CwABBPUBAAAEUAAAAKVZa2/jNhb9nl9BJOgGKKKHY2fqODNezDjJLtDXYj3bflxQEmVxQokq
SSXOtP3ve/mSJVlKsmgHHUvkJXkf5557qXlfqJKtT94XBGfwUxKFUVpgIYn6cN6oPFiew7BUz4ys
T1aMVg8XaPVIJVUkQ7+fIPhPkb0KMpJygRXl1QpVvCI3ZirhIiMiSLhSvFyhWb1HGTyT7ObkzxO7
ndsk5YyLFTqL59dmLrynjNzSPHfzCU4fdoI3VRZ40Xyp/3QPsidIzmiGzrIss3M5r1SQ45Ky5xUq
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
tHu2/9lsAJh/BRmDH8M8kNnm3y3+B1BLAwQKAAAAAAA9uqpGAAAAAAAAAAAAAAAAEAAcAGh0dHAv
dGVzdHMvbWlzYy9VVAkAA5ZJUFXZSVBVdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAIAD26qkYVNTWS
egAAALwAAAAqABwAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQJ
AAOWSVBVlklQVXV4CwABBPUBAAAEUAAAAI2OQQ7DIAwE73mFP0Ag7aEVvyHEVSwZjIyR+vwS5QPV
XlY7h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5Ph6PSRM0NpXVuwFQR
noCMBavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAAADO6qkYAAAAAAAAAAAAA
AAAUABwAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAA4FJUFXZSVBVdXgLAAEE9QEAAARQAAAAUEsD
BAoAAAAAADO6qkYAAAAAAAAAAAAAAAAqABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvVVQJAAOBSVBV2UlQVXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACAAzuqpGY6qs
bIIAAACoAAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hz
bC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA4FJUFWBSVBVdXgLAAEE9QEAAARQAAAALY1BCsMwDATv
eYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDI
lxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC
7GpN1PGavlBLAwQUAAIACAAzuqpGY6qsbIIAAACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVy
ci50eHRVVAkAA4FJUFWBSVBVdXgLAAEE9QEAAARQAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBti
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
Pey/Rp/qIj8+zz2xR0aqbPVql/NfLsgh5gm1suYPS7IT3K2JE6xbFPf+zbp3UEsDBBQAAgAIAFy6
qkbUo3bPTwEAAMADAAA2ABwAcmV0cmllcy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJv
bC1uYW1lLWRpZmYudHh0VVQJAAPQSVBV0ElQVXV4CwABBPUBAAAEUAAAAL2QUU/CMBSF3/kV922S
0dVIIk8kQ4VIxMQ4Iw+Eh269g5quJetthH/vthAUAQMvvrTN7TnnnnyMMeDvVvsCHX8QJPhwmvAp
pk+KttedV1ryV9QoHHItNtYTI3TESnRek+MlUqkqfy4ccWkLbkSBkinCwrFPRUvmNkVqNavnDNcr
zAhlRGtqhWH43/tFRl7oZnscA7vpdnoQNmcct2Bm04+qHjy+PU/urdbVW1kzb8HLIElA2qxqaihS
hVigizSaBS2h3+9DF5QDKj0el86SpsJVe96ovZGYK4Ny52J/uQJVLIKT1nA0GE8us7ql9VpCik1C
BFPhIBfaYXSifrCNq9LawRyUcSRMhjZvSI1r0VBj7fjmsE9zoPVPoDX7bq9zC2Fz1uz39SNbFtvI
A/x59edm1/NLqf72BcqsPJ1N9lz7+XR3iTu+deIxwvX8kPAXUEsDBBQAAgAIAFy6qkbJPLcgkwEA
AHgGAAA6ABwAcmV0cmllcy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWV4
cGVjdGVkLnR4dFVUCQAD0ElQVdBJUFV1eAsAAQT1AQAABFAAAAC1k09rg0AQxe/5FIMXGyghpb2m
kKaWFvIPFHooHoyOZsu6m7prxG/f2dSEmMZGAz26zu/NvDe73pop0Ki0ArdMV5LDJpMbzHQJIkhR
QcH0GgIQebrCDGS8O46AaUwVhJJzDDWTQg16vYUAlYchKnULpcwJ5RwUIuEKM0ZihFvLsetaQNIq
SJAqY9KQBUmuSrA8x/Vgspgtp47nWKTZ+5CrT2oBcxnhlCnt94wAfOWYlS6a7jIbc25+DTiKhKYd
jUbwAMZXlmNz+ceP4Zu+vyNyEWHMhPHWlrQjtrWvwO2KJ7xv+8CE0oEIkdJ59WbTZ7Z1OKYo9EGq
KYUEdVWqnkovSOa0mwtJNCHt0rhEt0ikUeL6VN6ZiGRRZVLsPtrZqde2GL4Crh/V/J8cXk01ciTD
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
4XzfHF+v24/D5nwZX/h4fuMXHGPGmei8H/f7w/mx0mwrJfjiaQMTn3SsbpyeP56P9+P2tPm83I5p
88BR+OkoJjs6rfR5uO7Sx35u9/v4geXNwL7Z6TMnfTEtd9pe3w6b50lfD7v79vx2OoAXJIdrn/7Z
4wTXXLsxo5ZXmMDT6Z3inYtfuMX7pMjVn0KKSZUkuX/sdnytXbzEcVGwXmjJA5X8vEBvv6Wqdkf4
2TL76/Ztc3//+njZ/Dre38f9777dWPPylAo1W/Z2OMWTu1zBpVSTYPkkCn6UBSjy4BCnN8raS9Uq
Y/d1u18+vrGcb33gYpV7ErLN7nA6gaVELRm6udQt3qBjPM/L1/123B/G7werEnlLRliMg0PLgpto
NKLcbl7u8UT/OgDhl5MiI8hHR41tfr0fDuCT9bSoyF3E418VPV2iP675V27pPeO3gw+2rQtxOt7u
L5ff3zcJ7rlaZprPFeTl1zl95/Vw3h+uh664qOmaES4s0bdlD3en4+7Pzf5yuMXtvG9eTl/XFXdt
elWCJu4u13N8r/gfH/8e//7reN5HMY8fvrsffyK5IUdjCrtzrtG316RWDtt71FNZKcSjj/9yhbZR
uhJ1Qbch35RxH67FzPZ0l+BF8/GiUa9+bnfH+1/gpQyx/tlPnevS55/KitdDuYq9j3W1anXQpwDr
TJ9ZRurObcfm7brdH9coe7vY/rRQfINrXOz4eX86tPHPWQKvX+fNa9QT8VjePtI1bLt3KlOQR1c/
iXoaVlx2MS2+ud3/ioe7jXonny9axUyrpEyx92SV8l7br/3xEi/J7uuDuxfjUvK5lND5LwVEPJ7j
avfyUreoqPBXmeciiRNvi38zXqdoqq/XtD3x/47R/y1X4nI97bloKq/5INenb0yecZjv1P3yWXYq
/sLpL/SJ/rlSormNBTHVbq3adPFcJtUnB7tY5vP09XY8r9p1Pe26zzUTT3FNCyWJ2qbNj1cJbXuY
hEk9aXf1GlH3ohWmrUlRi11uzfpdnmQgdwsQw1Iqjx/b6Bit2R81HZlM+71SoCQSqOn8UpRll+f3
M/oM6y6NnUQhKcOhXOOP4+/klW5vB3Jv0O5Py+Sp5eX8Hr+/ie5f/vv25/ZYNP8amZgkKzWt8GZ2
bfI7RRP3c3s67rdcKFq+kohXWnU078ePz9PKDzRDveWu6NLtbne43Y4vx1O0OfnJhyN+2B+LN3jL
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
bS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWRpZmYudHh0VVQFAANXSVBVdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAHLqqRsk8tyCTAQAAeAYAADIAGAAAAAAAAQAAAKSB/wEBAGZhc3Qv
ZG9tL25hbWVkLWl0ZW1zLXdpdGgtc3ltYm9sLW5hbWUtZXhwZWN0ZWQudHh0VVQFAANXSVBVdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAHLqqRo4cfCC0CAAAyiMAADYAGAAAAAAAAQAAAKSB/gMB
AGZhc3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtc3ltYm9sLW5hbWUtcHJldHR5LWRpZmYuaHRtbFVU
BQADV0lQVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAACa6qkYAAAAAAAAAAAAAAAAMABgAAAAA
AAAAEADtQSINAQBmYXN0L2ltYWdlcy9VVAUAA2dJUFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAAmuqpGIY+9ODIAAAAzAAAALAAYAAAAAAABAAAApIFoDQEAZmFzdC9pbWFnZXMvcGRmLWFzLWlt
YWdlLWNyb3AtYm94LXN0ZGVyci50eHRVVAUAA2dJUFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAA
AAAmuqpGAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UEADgEAZmFzdC94c2wvVVQFAANoSVBVdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAJrqqRnL9ZfKFAAAA6QAAACUAGAAAAAAAAQAAAKSBQw4B
AGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRVVAUAA2dJUFV1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAmuqpGiR8h/pcAAADAAwAAJwAYAAAAAAABAAAApIEnDwEAZmFzdC94
c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQFAANnSVBVdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgAJrqqRs+PZg5QAAAAoAAAACQAGAAAAAAAAQAAAKSBHxABAGZhc3QveHNsL3hz
bHQtY29udGVudFR5cGUtc3RkZXJyLnR4dFVUBQADZ0lQVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIACa6qkaBSnetSwAAAKwAAAA0ABgAAAAAAAEAAACkgc0QAQBmYXN0L3hzbC94c2x0LXRyYW5z
Zm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAANoSVBVdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgAYrqqRrGFnoZyAQAAiAIAABEAGAAAAAAAAQAAAKSBhhEBAGZ1bGxfcmVzdWx0
cy5qc29uVVQFAAPYSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAKLqqRgAAAAAAAAAAAAAA
AAUAGAAAAAAAAAAQAO1BQxMBAGh0dHAvVVQFAANsSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAA
AAAAPbqqRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BghMBAGh0dHAvdGVzdHMvVVQFAAOWSVBV
dXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAKLqqRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B
xxMBAGh0dHAvdGVzdHMvYXBwY2FjaGUvVVQFAANsSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAKLqqRsJNyB10AAAAmwAAAEMAGAAAAAAAAQAAAKSBFRQBAGh0dHAvdGVzdHMvYXBwY2FjaGUv
NDA0LXJlc291cmNlLXdpdGgtc2xvdy1tYWluLXJlc291cmNlLWFjdHVhbC50eHRVVAUAA2xJUFV1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAouqpGje2I7EEBAABOAgAAQQAYAAAAAAABAAAApIEG
FQEAaHR0cC90ZXN0cy9hcHBjYWNoZS80MDQtcmVzb3VyY2Utd2l0aC1zbG93LW1haW4tcmVzb3Vy
Y2UtZGlmZi50eHRVVAUAA2xJUFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAouqpGKNMVdtgA
AAAnAQAARQAYAAAAAAABAAAApIHCFgEAaHR0cC90ZXN0cy9hcHBjYWNoZS80MDQtcmVzb3VyY2Ut
d2l0aC1zbG93LW1haW4tcmVzb3VyY2UtZXhwZWN0ZWQudHh0VVQFAANsSVBVdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgAKLqqRvpwepUKCAAAvxgAAEkAGAAAAAAAAQAAAKSBGRgBAGh0dHAvdGVz
dHMvYXBwY2FjaGUvNDA0LXJlc291cmNlLXdpdGgtc2xvdy1tYWluLXJlc291cmNlLXByZXR0eS1k
aWZmLmh0bWxVVAUAA2xJUFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAA9uqpGAAAAAAAAAAAA
AAAAEAAYAAAAAAAAABAA7UGmIAEAaHR0cC90ZXN0cy9taXNjL1VUBQADlklQVXV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAD26qkYVNTWSegAAALwAAAAqABgAAAAAAAEAAACkgfAgAQBodHRwL3Rl
c3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAUAA5ZJUFV1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAAAzuqpGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UHOIQEAaHR0cC90ZXN0
cy9zZWN1cml0eS9VVAUAA4FJUFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAzuqpGAAAAAAAA
AAAAAAAAKgAYAAAAAAAAABAA7UEcIgEAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvVVQFAAOBSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAM7qqRmOqrGyCAAAA
qAAAAEAAGAAAAAAAAQAAAKSBgCIBAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA4FJUFV1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACAAzuqpGY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIF8IwEAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTIt
c3RkZXJyLnR4dFVUBQADgUlQVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIADG6qkZgS2YQkQAA
APsBAABFABgAAAAAAAEAAACkgYokAQBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNs
LWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA35JUFV1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACABcuqpG6op8QmEFAAAFDwAACgAYAAAAAAABAAAApIGaJQEAaHR0cGQuY29u
ZlVUBQADz0lQVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAFe6qkYAAAAAAAAAAAAAAAAGABgA
AAAAAAAAEADtQT8rAQBtZWRpYS9VVAUAA8VJUFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAABX
uqpGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UF/KwEAbWVkaWEvdHJhY2svVVQFAAPFSVBVdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAV7qqRmmU0Y3wAAAAdwEAACoAGAAAAAAAAQAAAKSBxSsB
AG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQADxUlQVXV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAFe6qkYNf/iEnAEAAP4CAAAoABgAAAAAAAEAAACkgRktAQBt
ZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWRpZmYudHh0VVQFAAPFSVBVdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAV7qqRgz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSBFy8BAG1lZGlh
L3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZXhwZWN0ZWQudHh0VVQFAAPFSVBVdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAV7qqRgZw1+XSCAAA1yIAADAAGAAAAAAAAQAAAKSBszABAG1lZGlh
L3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQADxUlQVXV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIADu6qkZC23LTYAIAAJUQAAArABgAAAAAAAEAAACkge85AQBw
eXdlYnNvY2tldC53cy5sb2ctMTBNYXkyMDE1LTIzMTYyMS1lcnIudHh0VVQFAAOSSVBVdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAO7qqRgCUe30IAQAAjwIAACsAGAAAAAAAAQAAAKSBtDwBAHB5
d2Vic29ja2V0LndzLmxvZy0xME1heTIwMTUtMjMxNjIxLW91dC50eHRVVAUAA5JJUFV1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACABiuqpGd0xIEqUmAADcpAAADAAYAAAAAAABAAAApIEhPgEAcmVz
dWx0cy5odG1sVVQFAAPYSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAXLqqRgAAAAAAAAAA
AAAAAAgAGAAAAAAAAAAQAO1BDGUBAHJldHJpZXMvVVQFAAPQSVBVdXgLAAEE9QEAAARQAAAAUEsB
Ah4DCgAAAAAAXLqqRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BTmUBAHJldHJpZXMvZmFzdC9V
VAUAA9BJUFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAABcuqpGAAAAAAAAAAAAAAAAEQAYAAAA
AAAAABAA7UGVZQEAcmV0cmllcy9mYXN0L2RvbS9VVAUAA9BJUFV1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACABcuqpGIY7ss6sBAACeBgAAOAAYAAAAAAABAAAApIHgZQEAcmV0cmllcy9mYXN0L2Rv
bS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWFjdHVhbC50eHRVVAUAA9BJUFV1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACABcuqpG1KN2z08BAADAAwAANgAYAAAAAAABAAAApIH9ZwEAcmV0
cmllcy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWRpZmYudHh0VVQFAAPQ
SVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAXLqqRsk8tyCTAQAAeAYAADoAGAAAAAAAAQAA
AKSBvGkBAHJldHJpZXMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1zeW1ib2wtbmFtZS1leHBl
Y3RlZC50eHRVVAUAA9BJUFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABcuqpG85SRKLkIAADS
IwAAPgAYAAAAAAABAAAApIHDawEAcmV0cmllcy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5
bWJvbC1uYW1lLXByZXR0eS1kaWZmLmh0bWxVVAUAA9BJUFV1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACABiuqpGLYdSLJvLBgCZJCcACgAYAAAAAAABAAAApIH0dAEAc3RhdHMuanNvblVUBQAD2ElQ
VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAEW6qkYAAAAAAAAAAAAAAAAEABgAAAAAAAAAEADt
QdNACABzdmcvVVQFAAOhSVBVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAARbqqRgAAAAAAAAAA
AAAAAAsAGAAAAAAAAAAQAO1BEUEIAHN2Zy9zdHJva2UvVVQFAAOhSVBVdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgARbqqRm8FhNx/AAAAjQAAACUAGAAAAAAAAQAAAKSBVkEIAHN2Zy9zdHJva2Uv
emVyby13aWR0aC1oYW5nLXN0ZGVyci50eHRVVAUAA6FJUFV1eAsAAQT1AQAABFAAAABQSwUGAAAA
ADMAMwDSFAAANEIIAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>252844</attachid>
            <date>2015-05-11 00:17:51 -0700</date>
            <delta_ts>2015-05-11 00:17:51 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews104 for mac-mavericks-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>592687</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIAGS8qkYxvDNvSiEBAMxMDgAOABwAYWNjZXNzX2xvZy50eHRVVAkAA5xNUFWwTFBV
dXgLAAEE9QEAAAQUAAAA7D1rb9tIkt/3VwQL2LgDlna/HzkYQeLYSZBkPDP27M7e4RDQFCVxQpEa
kvLjfv11k5ItS02JopoipQkCy7KtsLoeXa+uqoaInwD1D75y1L//geD0q/t4igCkrxF+jfFrRF85
gAPwv6/+/uHi5tWpOx57rjf0TwkgzsiNgr6fZifDbBS++nhz8/MpPIF/f4UAUF8Q/A2ufTwreXwv
9lMnijPHfwgUgBmkOSBqAa8woVvASPw0niSen56mwWgc+ifZQ7aABcQVns9fPr94eP7qJH4vSHwv
C+IoNVKJYbo5hD9SJ1PEcJ4R0D8O3STy0/Tkj3QBCGOUi7p49IL0u7P41kGK+2nmZpPU8eKeb0JN
QbWB2ew348RfxgxBLmpgZpAALc6zn0zSpqFhYgXUgmi/FLpcqmmVnSM2kInEH8dJZqCfkMgGqCcm
xakJSqVdJNZI3zO0QgQ1wGVYFEC4ObAFloyjwSJLMKyLwty6J0niR5mTBSP/xBsEi7oGWACRk8aL
oyyJwyft80bv0TMM0PEkCc/yz7i3odJObtSLR4qSDwrn4fi4+Plb0DuDx/mnvk2fdDae3IaB948j
BEbug+MO/DMI1JKfEVAPf+VYWr9pbW/Uot7/dPM7O/8d/XIhxL8+wQ+LrOedZXxDXIlipYTjxD9W
TPnWElPovz9DwH/7cH598W9ICbPAlL8S+T5f/fPtl8sPP/3+9d3VR/blar/Il/+iTfL9evUZ3fx6
+QF9+Kc8Z1c3P8i3mfTBK/zxRkrwm0S/XH39ukfkG01yD+TODYOem7WrAqU8v5bnH2/O38pfvn79
/IOKdaj4yxciPvNLLC/xL9eX4P0eUdHgHe2YeOyL+PDx4u3HL/h3LK7Y5467Rka3fuBHfqKEUMcV
YxUv5z7ymyDywknPd27j3uMZOJ5EwZ8T/1PvjFNOAYEYEoiOzxUjtGd98zj2zzRdTsehG0TH13mI
eqai1ePzed6fzXmxL0hF6nPKAk4ESMQZVvqE8Po4dQkjyQEiRIWZkOAqGH1xlT76GveCfuD3lIm8
/w9Hq6L/3B6ljotzd1k/l/VRmmxd1ocK3OFA2YZEQ4kIQpgrfq1jlLYpX2LP1em/s9NKKmgrY2EB
Pai1qhSQCGYFOwu4Le7TOtkkG8/ouAbpIOcOfNN1RTBXq2y+TmVzxirAlPuaMZU2ZRLOOaBMiSNW
dlsAtF4meUVB5K9IizgRCiWnRBDMRQWcOrRyATU3JBOCk/rcsMKL6M5NT8fDIAzG+RlMepr6SpCD
7PGkl7j3n0YK0knxMdN2hFzWAGv3LMaMU/HNyRQpM7/nuP3MTxyNkhPkOBmQwZwgK8iYTv+gMnfM
CoeWn82ZlNs+OqdKenrret8HSTyJeiY1ScTfXr/eDsCjH4bx/cLDNRKS2qGOly6RnlVS7+ZnP7NX
ab8H9eWESr87Ohdzkt4Nlo7geWvmqd7eLt0NUBDRpnYHgOpYXGDMqujICsF422ofSabVPmIU8Coo
XTyMA/Xgs69xpNN1EKoXtVb1qlervgH2GtPXQKq3H77eNGwOxm6mVGg0Mwb9IAyvs8fQN9fTSNwi
oZkEkjBGEUbQGqH1etsgdKqM/nd/BalJbVLvS7JZbpFsfvfr9ed/Xf/Kvlz89+frf/0G6ySbt+Ce
CgaCaGDUr5Khurjnrz1npOT4uRDIFC1RbJO8QT9xVWyjKLsAx2mKiImvNr2ReiqWqU+9yPNDp6dg
RQOn7wbhJFHCn7jp0ASKcLQXNv2ZaHFqdtYlQHZo9nQIF8SRk048z/d7fs8EU3C+vQSmWvmlQ9/P
MCC2xK/TWOE8H765r70Db/UQo+AD9FkrKIrC9V/pyKkggP9w5A43mTVVgKNJmAVjZeF1HsZ5GCZG
+4E3dJZ+vro2qD1/NFYyuFy97jT0bJIXQ9c3tvf+7SA8jZNgoJwtL/TdSOugfpyMNO2MXheylMso
27JrQgIoBNzEdoSx54ZzVHRvfUN+BiJEkGW0FEzf2JABKaK1ZXq6ezK1e5xgEMUqnDGZeCNcAIRl
y+7cuj1nfk0GB4bYUD1zBymkQscDoBZCA/tHHi96dlbFNhAItMXjq3dT4Iq1CXJXzRRlgNzbOMmm
EhBH6tX7Xsh8AV9LhZGQqE5ieg1UM6BWM4qQUEYFw8rEgnUmllQswtJMa/UkiSkvmkmEpcRVcKrg
cbaNksKGIwwlkxjWZ5MFJhk2cImsl7RgKXO5gRV+2Qt1MhoTizro5cJ78X0Uxm5Pa4fZ2ku1A66U
aGEVtLhzH2RDJw3j+4XM1bJBhMpr2xzdhhry5C46yjrlyhzSNt5AKGrusq3cv5owNxHCumgVi1bc
8qNU9wSf3rpp4Dn9IFSxSC5yCk4cLUaJtRzL9bAWE/eU1NOu6Z8TN/HV7tAxzpv7YZD5YbCkuyGS
BGxTDFAC5tutr0JH/1secw3jpuEqZ7MA9c0erFWBh3qrTwrMLdbIilwodBS0OP4eKGc6l5JSUURg
G/SUinosikWcidJ2mePqyoXUmR6+FH/RZtSofaHknYyvqlN0acPV2tf5U+dRyn/jTLIgzBMbw/Eb
ZTCSx/4kyicPnClKX8bxef6xpcSGfXxTP+qVChCsU91UGeJiAUytbPzOCYzBuhX43jCeYWvy7XAd
IIs09YZu4nq6qEtvzcJapJNxPjqgjJ1UtpnMxgAKCagEEpWfDlTr/AFVHKHtabh46lVFQBeh2i2P
K3/6C7tXz9CtJ9gzuEkSOvm21q64eboDQlWOeCti9MZzUz+9UOvIgjvfDn4rQfnRdSOgLMRKiw9f
G6iXxrtlk3q4tCEtU5CnL4Ldp+KaQnz8ntaQRttTZxHrA35zYo7h3SK8eRHQNkwvTdDQ2lgXgYlG
NvcKp/XFM1SNZSRoK/329Ght0HU51vJKnj88dpcrQGrSeUMoxZwoa4I7TuJB4peUs2AKG5CbJ5Al
QgMxaxCqA0/0jlqMqetszwV4ebwCzbFKk3R0kC2MqoMktkCOgtR74VuPcqH/Y7zoYmDB4FZi73l6
4XeB68zv9IVzfkt60gDLKBYMNwavbHNRK36tgjYL4KM48ksDAklYY/AWYw8iGjI2jv8wVt/MlWoM
dFblL9NxpDBypzk/f0VUXstuH0oY97TB8oJV537oR07k3gUDN9P+rXuvhDDTv9StPMbyFE4aYtYi
csKKGz2Ox5NxWi4N3DaU5Sl9FvZQkQPqlpuoS59tuYkHkyUxuU3ImttUSS7sa/QcqWGgJ8g9PmmL
WCmOeD5OW32giCGwoXfnTgtyFWJUUbW2nP3keQXnpq4WJlto4WfpGelSjsdnwUl8tYvSzFE73wgU
iN0hXeLiUb6P+q1znG/IJ7OmxoUglBKEAQNlZ/sv1bs76QXx6cuyl610uI2OTSSZiusA47AaEs82
qkNYSAYlxxghIGS56XyJyF3Q87vGDQkJw5hwQAWvxo4uYsEBFxxixQ8MqnKji3tDMIkoFIBJwavi
YXV7bGALGwiRi0PPXjzRjZF/TmI9ZEL5T5NZlZs/ChQ9QrMrJeq5juaj3umBSl51ZJx+IKzDMh/e
wFppyjWQTIeFGGIr9Ev97Hx6TL3sHzp/WU23RKdBV+l0GPb5UCzCYfh8bXtLy/ow9N2k2f03F5M/
mc8sdnpu5pozAbw+YsMsGztKo0wrhPLSkyBy/jDGMKwWpHJRWMLOyln0DjTmUr4yN/d58ia88xPH
G7rRQLkgia8+lriR91ieMBXUtsgUjtbQd3u+uXWUc1qfrH+kuby4US8XllyA4ih8nEqQOTdHQCcz
SHUZuZTIqZL0htXrme7jft95Llw3+ZGVsn+wcZ8LNpadqlgnv56s6eS2vPql/FQL7wT2Elhig60W
jNQG0mpCsqYqXwtVv3fUTvS+r2chJVsIsKcwUaADNyxL3/IqJfS1MaqlstfvxqInf5vzfrhaS8/u
JlnbVMYqRd0lov40ImFW2Gxs/IfbozM7pSlLHzPYaTXsPSZBGAaekuHAmJXGmOyU56AuNCtTPRih
gkqkwqKdHGbC5vqMBWaISRWntoKIfQ97AUJRzjCfhcqR3KIZt54MO9F0eN1iylC0yH5MCRCYQAYo
aoP9JidvXs+U3oHJrcNy9OQXY04XtKlpEMVMQsCoQJtu0E7pGYk5I4BLDGkLaLQRrej51OrNOJtO
dUTO0XtwJC+P3sMjAfT7dxf5K8pf6dzv3+avi4hX6qPZfF1bL4taXlbfDUPtJG29sCaVxJvgbNvl
1dcrM1eySJYUXJwPnXR7hHnSF7PjZdo20vamEyhLhgEkcNVgucb0zEqxjvzsPk42l2rn57fX14v1
zXW4mKant3HS85O5FueSxqFqvWD7hP3aqU3baJu8t4zhLhomzfX5NHmR0Q3jwUCzfvmot1pv4/Zu
XE1fe87LngpUGqgI3lXqMK8c0179mS7bN0n6sReP1FJ6Z2nmJtl8geQTVZrJW5ZakEslUejoXEkd
Pzqn+ft3R+fQiqVoXGnvG9cVe5d4fjx2s+FZ8d+Qof3H6WgO1VoiA1LKieBUyH0OL7gKZBlSIZIQ
qBtpDPs8t7MJ9IFbBcUHUTuaz0Gdir4lYERIQRAEtA25ssPzXBYbMnf2PHckIBaMKX1E91gTMaLU
qZScAyY7EYA0ZJL3ysoJQVTki6EEpAWmaBc8v7vB6bs9veKy2VIU8fqMSJ8rb+JoZSdatY7VlXHE
VpOkS4W25/f9RE9C9O8Ug1Kn54e+YvH9MMivgAnSfCZLMCoZHCeRpQDMREetbdPMH9e556bCLr35
+On62+WnLxff3l9dXH/76erm28Xvn65vSieZMDtZt+okd6C5q5E0i/+LCLUYpSwb3oIrpg9uLz6o
EfHZgI3GlkdU6zR1jUqoaVm2lo5G+YcXc1Fif/Z/w4aoGXGwd5KGMWUqnKAcyb0+s1fhOgAEqVdO
2wx2VSgyVzejW3GCkoEBgnZPWm1xgwLIGZRUsQO2wo2ObztCFWmoioYYaPNEpoqFNE/bruVWWotc
KIKEcn17UJvh5MbmidImoC2beyK7eujSnOraFZ12y/0dHDI3qSlflH/p03l/9QWe0ErF79P48fJR
2ZK0Wr0EOZeACUllF8p+mspRzZ2w5jfVGp4tul23tGAfjTKLUTeroA/UTKXFALq1xRqQY9ZFfVv5
8GIJy50c1O9Ob1sgxIqza7WRBkk8iXqWzq8bXe3swpTp9K29OXDfHVGwJaLYO5cjQiIVhQABOn0E
Wofy2nWyK4vWAj/EMcUYQIlwe9mqKn4NbTP5IpFggmPCINvjQ2Mi9S0Jgqqv/W4n4oxTgQkGgLA9
VRYVC2Q4aMDjKHqEzDf/buXb64uFH5Vz30/ckbmvHpN2HJsma1OauTawYjp8Ktf2gn9rMTnAmEKo
9igEbenMpuzKbjJ7T8KczwXrOenQHTeyq2zcqQIbvbanpU4RrUVydRaPpr2Ws0G7+i/5pLYgcoJy
dYcE7GagMae0s+l9dKVYEIQ6uUd2V3neC/p9Px/loofHpE6cBIP5nlvdgWvMu0Pa1eEYM2MSDRbm
D5rnDdK/pgSsS4UvDbbqJruV6VNf3mSkRXiKkzbFzsg3T+gidYbJ7MYPauT65B+ND13udzyw9vD0
MfKch2Fxa+K0CCyIpsPz/ekFsUaHnrIfIwL2vofnUIZqNG/fS82W2jxGd5tSmwbFeCUnl/XwmKdS
1HNGwch/us79zahgmXG8Wnc9iiooPVjBqAI05auHgZdfPrI7oE9c+y99Fa4S/7NJ1nfEDoE/tAN7
gdrWlzATYRVfJz1n7CbZbFqnjr3dh5IjaoSIFQ9cvXtWZUtagHE7bv66i7aL2sHpMpZuFrenTs2Z
YGhp+sHq0NkYbXK0rdD2JqPRo2EIKbfz4GWR2K4bYIWYr8ouVZujXAEfUyiLD0tpWQdRUO7B0B9m
58nZ0gWkdXbkAlnye7oROBkE/aVb6g6lm3WrndiA5i9hgaGvsQ4PSp5+O1qSeIzQjv28rTixc/N4
MFM7S0RiufCEIvlX7i/qZOvJX3TPWB3LsIqGaGsaKgNxGccFDZe85oZhd5Z/Vkcf7IJ/b6Peu1lO
ZDGKrOJVo60jn5Khs5y2K0M/Nk/VJfTi+0jXAZzeumngOW7qBeaR5ZTsK2bPa5jHcTmcQqBVuam/
XZ836XR7znal+a4LjvZROXVJohQ8ZVZCJ4/7jYkHRK0I7EtALYhsd211q82+B1a6/qO6vKUmzIUN
WvQT5guff+/cuvMZC+PcfVRDo+5tSf4KsunKaj9JX5CvqDY2d1BSO+DmUhVFaXPxB9PpK9wO4rw3
My8VyrVZuiKW2AI1RSr/o5Nmie+OTAArVSmhQ5k/WXHzzjrWNJec6YmB+VIgYU00ZgQzA9dmfu7o
rKDPPG+P8LsjBKYfP8Lvf7u5XDrfwDU0Tj8IfXccnN6G8W1+JbXyVdPJbenhEKsjwTMgcxvFAK68
vYPwjnLhPoiUi5g6UBkpC8zYyZpNJ2N1FmuIdVL146ikZ4RYTn5MYW1zgVsb1D9CKN+66ntXBcbp
x/Gtm6iVW1jhvvb9oENpMUSH0lhdYlM8JbJqzU8GJW+q0Xcol91WCQHmbcrxruf4VfaJktTJs3Fm
T6hSjXC5iUjd27DkplfINkpNm3Werm9+xqDQcZMoO4NLA4Wag4V2CAsvw9pepg2XZ2vZSzPXHKsJ
QXaHYZ1I5lkAZ/Vp90mgdqrGxfFDP/+VcaQsodKOw1IO2Kbv0sQV4ZsoDt0L7id35tHWEEPUDO+M
EYrg9a1J0T4R9fLbHgozov8U6fDETz31kbIKUVYjUmyos2kBShh7bniqEdL4LJbdPCOqe9rjaBks
hoJYxW2LfqrNZDLKj0iNN4RtmJ37+epagXsYhfqBU904R8niFmY97Ekj5/jeMDYcDRDQAsw2fXaO
BedA7X5Wx9c5fqu+o045vYJDRhDXhxxyr713SDEggEHKgNg0mjq+uHEH6sfMG3YII0IpQUj7qRu3
LVnDyMqOxbJNueAqoOMcAoq2kQt7W3elhteDEhwVAPbU7wM3TM2RC28z3JOIMKIDfryjbjr70mjN
w5/n1G4iNDNEtF3sZIWulDaNJd45XUnrELeKEf3ROHtcWahDBLMSFOaQtrnNqnr0ok8j8/RvpH7l
hsH/5c11RkUJBLenn/24bw4FeQubDVs7DdAXRSjMDPuZNw9CtBA+yObRkvuB1tM+7rtBqG/XmYz1
XAVz+ghyRi1upuLSh2JIlBfGqblvr1qjT2OeDlY+jgr4ACOwc67jnBzOF0wsSwanbRZMcISoJFAI
KQ8jKoMcUKL+KdvC252omU9Wc5Vt1NnsMPchdFbvrOhjUsB059xx/se3mSJn/u4yTpb8U4gkAdtn
aDeZAbeyIoO0kMkSbYZUWCJIdBaGSnYQWSWm0BEEIlqjyaURzWlwWZeM3kuhIPUcV3t6RmLdFymU
TPD2ZWJxPmiBXM9wECPrnFVMwjBV8ZAfzb2dHWYtNh6Yr0skdYzc0+zQcZwob2R2uaDjPXrm40Eo
a5yJPNNuHAeR1ohh7H1/8UNxjDB0k8hPDd3USEr76C3PfBC1xWNH4z9LCfviWshJEp6dnGyGftWb
Py2QeIMEQonkBFGkrxZfQU0rUApDXXaGJmr11yzQqyhvcQdlJ5/IUoehSde/mU28zicZ1Bj0tPto
aiX5loUNAt70plqxAktbqgkcy6LSsa4nfFmAbsy/169nsOEYYEKwUCGpwPtdbscwAViFhwK1Gxru
Lqpe6eekWtuucnHqdBNuYUFaLCiUCgiS+kwadCJ6sJcNgUraoaRYUtaqzO/S5ltLxwlOCIWEcX4Y
UTJWClCPQ2Fg46PpRgtnldGPlYJQbmxvkujJapF7Fww0Wl7ipkNr50hltf5T6KYsN6vnUEyrpwNn
5KbGWw5xndOOQRjfuuH0AsWnixR1N3NOrGIQgHKDnm+tN1EOg3ZcXMRQJ53cFQ5oFGdBX1E4jpas
Vk1vc/7un9JnFyWsbZadUUCA5IBRRulhWUTKpGRqDyiPttU0V6W9nAWZOS+EWJsRgVDCSTGQEm4+
Or+jhywqMpCQcbnxnLBuWnqCmHL5qFDb+MD2ry6HBYBAublmgjvYt+NJOkwz9c546QwTFtwJx38Y
KyNlbgVCmP2w7s0IHhYIqVgKII4OQ+lhTAGEuimUk73O7CAl9USC/2fv2nob15H0X9mX009H3SSL
110EB4O5LBbYeVkM5vVAcZTYPY5lSHL6ZH79FiU7vlGKLqSkpD1n0J1Ouk0Wq1g3flUFjFP4XNqO
MUW1Bhu4wecwTEQSIkEYbsTnuEUaCFXIHynoOPgM6GSQsgR3gFTV2qRW2G6YymBAeIMB1/b2ERkV
Pca2y062OEwsdSM+W3W+gWAzrBhnSmmrIkZVDxCuOshwaahtVzqNJg9FmVJGUK4ISDlyJjYURUYq
ooXgYqxxTaEIEUpqbThRms1D6A7K/D5e/OuQEk3LLopRka2enpIseYjuXyP7c3d/BgnBlPrlu5Sc
80oeW+gZiVKCETWbVNN+ACY1IUEctvb48T+S+9Lw7iGV1RCD9CGxE9n/hj/4cqgjv9v/zf+r/uKf
bSGLYypH1P/mnfaju7qDlsHI7ppK/VZg/B5n7bznKhCJz6uHh5rmgrr7khdDPKIied6WTQFKFofn
ald3teoPO9q6PUCgTQajSKv+AI7ROtDR2a+QznWf/hsd+vlNPn0NbA98EsD8ElDH5sFMHoUPh49f
ZGl+0hO/DB+jQ1yZ3n8v4YbL1frB3bNVdDEA18rItXruXL4BTiJAhTFDp7qpqzmi/WLRMuW7ekZP
oikQ1YYE5bizI6GmQ2zBJilsP1nbyHa3jnGt8qQtMPnO4vGu6f5y0M95Yasr3ma8HxotrdOnK50d
XhbrpZAHcQW8QElHVMHeuI7sveL5l21cLO/sP2KOKUrRNBtFPdFGOCmZZnvlyNl2t2e6eCtcFw1b
ID5ltiFcqdLUlPnvHzM1RZPVRNWYpoPp2ePjVkhAOao+Sx6TLHMHpJLrKaXdO+h6apmYrCPX++7K
MsHAoFEWiO7nhO59ncdVYV+W4tcEve/npyh/eXK3qBCy3zonXR+rZf68yhZrVwAFfMCZbdNt+SCG
BOGKVROkbbKxZvJgD3M3YUCncOmY0DN06o4SuC9Cw4+y4ocULCOCignl/yH/ur16NONTZnLHLmeB
zwLmHpj1qMaaTvnMMxXyEz5bfcJEknBt8d40TxFnT+4BJKYXBmD+OMyp3SD/GOCeFHWzrr5S+422
j/m2fY0eWCMelDJqhrpii8oHw6UufTAYlu5fr+tesDkD4kkU9ovUdQpnfkRuP43LkfWFKX2diWDt
Hw+pMbU6nQu+4APU1E7OqqkwuX1ywQdVFR0U4TENXBU9jpQyv95Hmbl3qdJNWtiZZuW3HQrVE7Tp
IU1sf/sCrefqzCpUyQXp1fpEp5WFZ6KsPOEKbuS0cmke10k5Ajhq96pqOA/4RlNtZ1U4t9PnsXPq
rY7yQtfRyYN+iBrPJxPwSbBNQ6yalht0dKOD5ndcu9OeRSGfRUc0kVYHw5Qxh/+WIz0dvp/p0MNV
wN0Of/aZ+I9bW/3pk5MfwjiPeeluW7xt8bbFTlFrvoy3yd5pLYsmXIDnPpUgNxbdtnjb4udzaZ/j
Eq6+D2TRc2lyNAhhN25Nya3jElUlAfLLurMOzIT5aZZo1bfxR7wqomKZbKLTVnrXC04KAPk0seFc
wEZ7FZc8Wxx0dXm3Ge6ypiwK+FD0A7pfmR08cdUJvN286lq1dDY1p+eAnPc+nGnXh+teaM8jbiPN
ktXTJmrCb6CceILyXC5Wg+Mw4vbW/aH6gHpEe12ISKNgQg8L927b4prOQBCEvIu30cu1ywfSPuW/
gZojz4dAVyzdiJ0DGOQaWw/z6/P2fMCq/I8Qn0kN08Oeqh0f3PPl9AbUD944cnIE1M3eBaOMv+N1
7Scm2Bjf3X6GsgGrXGvlfXl7jdvVqrHQxWLf82r62HGtw3fKhhbXw8haQWi5U9nbRll58bpO8mWS
FNHzriirJjFksHYtL7JdTZN86ZewLHHRpbTuR9lldOKi8XpBLoz0s17vaKiz3PWeFcPf0RDHL5Ff
L/F69VBJxib5YZ2CVZZEyyR+cNdRCgUBiLUzSg8/u+YeSC9LOoHqbU09b079LHZZOTexWD0njkmN
lDS24/AlGz7XeJclXgnyqGTfdRklVWqIpTiUopcf75xc6ccOvbeOJML/OjWM4GK+JA11gSqdl9sc
9+Ou2KH6w69QL5yPDebMaCDMNMwn/2v1QXd/Tze//oIbpvgL7h1/tbvH34is9o9f/vff/zGstykf
GsO2QlzytvmAArlqXYtVbg2wq2USEF9UVevsV/0a56urSYXMt9vk9pRUX2E9PMwkWZZmhwaEp8bY
nVk0PY7w2DDj9F6k9R1U4ae/gkMDlpMXoYfkeZuWO91XZNYV4w3Rr9eruPgqDYxHU1+3Ci/hS5IV
q0W8jvAyoINwH+fJerU5AMeOCOaaxqDUqCE+QxOgunSZ3726HsqMahmN1ycrIkt2dJhlWXbwOHDA
fSaqVTe2dzzcd+mO6l1TMH7DlpNF46LAb9UNNZZ9/JYjzaWYISvRIsTrdSkJZdfDr1+/Vf9/jPPi
Iky8X/0ryb/eP2+/PGMsUOqnUmZ/sd8qP+dPxR2pvvpbmt2R69iYAp9YhCsswPMqX5zGOOnzNrYz
07dPX3Dz6Y+SG/hv7y67cIKWVM7kFg6quxgc9X24azcXMWqNLLnt/7b/2/5v+7/t/7b/2/5v+7/t
/7b/2/577799rsEJOmXsxvJ5JY/8AUQoAykoEVDf/Xf4O0a3DGBzAzgi+ITnxSj+x4yQqkc3gMPf
/8sKV8pXVjTujqmu//qFkbcRHL8w9mgftfH34cf/MXNfHrueG02FMtQC9zvyzIPseyPDlioYQQHY
ONXswe6QJIprwyT0mTA72S3yx0hBpNJomEzToMlJqdzGqKztmsnDPjtfj1ExlA/PiGaolA7dBN4m
IV0nXw3tglBpQctvaKV3yZ3t56+IIejqkGnJ8/Z6bxvC73K8QQ/V14mzAzzjgnkTEneBgujOshNU
wBXzyuYTWU03e+ULjXByenlpJk++4Sj8otCFyJaASsqNliMRdA6nCv/MCwO6hHwK76YXl8TZ4qIP
l3qte25X2EjrAjkP5KjHdUvUaFT+EKUlS+JnJ+RoWKyNMp/tthjINCE4lOIjnSY7O032zjQ5fjGt
8aRQOVuhq1Mz9HRfwnqltksT9AVPIb5bp6ghluk1LlSPz16vpilZLNOKUAcyj+mR2AxnbIZB2JQT
gNC1NNegnpjyg+yO7xNb7fvb9cqRvjIcjLOPpBtaUSn9UDm+SzVfFah6dPedWmhm5y3yM2+R9/MW
e6uY7iBE3/bruPZw+9Vf71XnMG/71V/fgTepaljQ+DcjpxH4LltbJGO2ut+5FZ/gwS0l9UNit0XB
p+GyRZRvDdojOxXpWjY18ab5zjT49UpKBDf7PJDZt+dYReBFGmGgvnp8vXjJ+v3qrP1AQLvRL3zS
/9nTtd2OlgVQeLanhaXckXusHkT3lYeLLM6X7uJT1sOct1MO0C9Z0e1U1cwE9kO+UTbwE52zzSpf
3hXZLrkqBVCf//H8k7yDdkoPB8AAdIp07jg9pTkKnvK8E2eJm14LfvQal3JUcGNgdu2h/F7GK8MR
NXWlttXUDKeVK82b880reK7vIgaPvGCI3LVYm7RUJO57aAb63RtcwIcHIWdZ9tMsU7W018oV43qQ
YS2Rfvs36JNGELkrouLe6LXtz37fpMXv7tlXZoB7Vr4klMaqplSQAhUjhk51B9wzjBLveqXnB1BX
htwqhysCn7God+A7yKVUtDstJevyb9+3yVOV2UOC6hpISwLjcKZthksMtZZ1p9vbcor+jp371Z+Y
HqtW4lN1Ao/KYVdIX7Ue8ji3GNxFvFkka/z2/Wv0Pa/piwBDePDz4CnJGX7P9tw1gsHAng3iP+m+
Z8PUkOgT8rjiwlBlUCyH4yynJIRyY4BL4A3x3oy2q5gyUmNArbUYGJ5OSYaUjIDRTDCmfHU0mdPt
sPQprUDwPjO4wxM+wDr5SDp8TFMh3omNqifQtwIYKyBHc3DB7o19Q0yz5Ff8ovyHv26z1QsK2K/P
uzJ43weX+Oea68t6+wM+1BA3EtW/0sBCyfcgszeEVfRzsYpLBZpj/EGF6d7ddhpOTeOxejtyQzVo
9P4U1TzMkXtV/r7I1hyEoJQzUG3JPtytGVEhtVBUAJXK8O66zbJshkShu644o1oS1rkduV+S3rIA
5wOrjnMc0uyiVrQ2o9nvljvSEB23UpNBEurj+RB6Sh9CU1vLIFFrkCEyOb6RQoqysiw8Xn+rsu6P
6WKXR/eJ7e1bm8PhffKZ/vQaCG0UZVLQgXrtA5so2+UfGKVGcOKtk+bsTVpZtkelIdCQNOh4i4JR
7Wpfvlvgb3kZGJ6OfXM1fNQ/RXTQbdBhN/vmp39gMDUmgXDDjNKKhbcaPpVYUJ6VzT/OZyj16e/x
8bd8kK4yfjzbkWuYFdc3Ps6bj8eHvGuOHmrErxk7aazFNUclIg0f4GiVW/gpdc4wxgu4Xejblj+q
Drqx9bblBklEx3W7TR7eHZchKfUQBVWd46KDMbIt5PxAtG4iM4XycgmP3eRu7QSsgeLBZWgwuusm
P7ctfwrFfkQc4kZW6/QlySyKdr8P90gkmPKJEziXFBRjxoyRTPb/xOzlUU0xTrXSWkK4ZLKnSNAj
sFFSQ4zgTNCeCbi5kaSUpIpyDdAazuKFilOM92m2u1kZXJddtBsp2+4hdln32Mr7OAR7UPl2c44p
tw5BvN4uY7f3SjycYtmm4aBkHGfGxzUv14fsod9xsPci23qUEgaKiiFX/AM/FFJbF8wpMN5nEP1k
hzDaXfDnSDApOBWgReeD7nHMs/QjhC2NNgKXknwMWZvlIShOFXBFKRcQ7o3ak+exH+b77a3GFgh1
BtFSegkJsvipnEKwesBfV48rdx8yxkBMbtWqKQTvgqzs362f36almBS+qaQGjK8Ir3cHaycYh0po
7FEJzWLx5lTkBbpbx+M+lNOu06dZbhf3dbXZSpTun37H34sk2zgSkIOu7jGrv7/Ey2S9xZu1Xf92
3VTVhEAanlyCIcNxw7PnKWklS31228APFGHb3MTVTV3O41xKfPqUt6x7tOET1DNQwHumfx3GlwU0
vnjmxcq2rVxtUKluFu4W8VQDmTJis8VmGjBmoRB2Qvi8pNmbKLc0C5fdoc2UOVgtuSbaEMEJ71OF
5ZG942lxf3lMPDhplDKyTwXzpJcJNZEtwUyzaJulRbpI19/iCiG7/0nyEKX33/GLmgYp0suaJ70/
9t8qO+9ed92FdmPYwyHfDUNjQBRlELocyyuf/UU0BnmuiTCyRz3aHAkCQQ1QIzVX3roreKW0Jrt+
0IpOF4IKGcAHe1uyJsSAPr1cHD4YePPBWtriyxb+BqZ0Sw5bbJsAeSOpKiByerBMkvmb4p51E7Os
laYgGeoUUJqT0LXSM3Wv3+R4koDx/FY4+9Q2NXPv4rNUQwKQdc43yCkLIwVXYHAdxoCH764QKA54
swtqbLtwOb7CwE8Rz4BUXFIKmirWsfp+pk4rfqoAg7eemmGVXnOkTkgFgAGoFowMRVDN0kOXRAKa
UyKYDFxpG1aDfc+jh3SxK1PAtl9hiZslUZ7gNh6cuUDgNNS6rHldPmk+BbQmUnKm1JiFmQHE/zO5
tFpKQo3Qikkxbtl/AMb8sY+W0q29DTl6F9zdnnTKi6CBStvYghsK42Jjh524bL4KF2fvaoc8pfvD
mRaEawqG6cA9DuZpcDX+jyphWz3oMdupTCh0PR8Qfd50Y4wEqoEOw655PMKAqYD+eQAnm/9YZvVd
84Uyw8Wn/PR+lZnyHUxlzUcD677rk1xxlaEtpQVZYZvdrYo8WT86G/qLSdsJSW1sB0jDKOmImfcq
7s6UUu0x1rXuokNkeLexFwS982VSOyKUKjJcnJPnbfFqhwnNKY7lEhUg5YIZOhS86t2Q+KAP/Qk0
qkZpxscFgs/zPBjnhitFCRAVGKc7zwOgmqN3T5hgOnTV12iKct9ZtRaFSJmX9Ybor3dt5oEGpzMh
iBcCqgHGFxS09ULDCSQjigtJiBZjVlAEuJ7Wmr7E2WuTJVXQg5c1dWju8jPe+Mb0XsRyToKFktbC
3O0riMel3qTFMZe4h4PTAfHjbM5qhOc1/+fww384UUZCaz7WcRIfGust1cvcLiOFGUtHkzk5Iewy
YFe+TddtrdtaY63lz2QTKplFn0qtxiywHc2hvEnU7aZ4AgEYUIJRKrUZtzb2dlda8/nfSZZG62Tz
VCwjdDvc7qDmt2Pzfz2YQRPCGUD3R59KwDfp7BIshjMpiKRE6ObyW297H5P3jhDHhqJlkrp67HqD
fWzSB2fcyEmrNqcy2Aw6Q4Ar4LpBJ/fyTOYnjHY6IOOcMdWvSsgrVW+iU05Au7etSFcoLwVux/lA
1CdMPa5xFFR3VY9QfZ7o6sPgmiA4UGwazGjsc4Q1qVQmp7y4QqIcG80Jg7FK3uZ3pTVRSA1n1GjP
tUPzo1VwbZBOQIbrsaDk/q3y2+UtpzSXrwjVNGeX0iNm0hsGREu8X6gbxyk1HMUHujz3OuUmpn0G
4bbMU+DNHqd2J+TRe3wq8yfchgiUbAYCTK8KgxCa4Y8oX/07cc+ilcrTNfijXKNO6v2sEt8nX7eb
q5YqDKV6ygBTKEHsk7/QdHgRRn8BaJjAlq/TH9GueNSR3dLX7XVrDowlJ7XB6FxqIXivUek+DzEU
hUAVpVoAp0MrdT6Hh8mkUlRQKoQUo9S+BFCstuvNW1NsZ3EygSlvFaCpt217pQQ1RV1DUL/r/PBr
UTlitqicmUNmOAFCmdTCcBilWMCbtHREd58Jkn8ct4PftR3yOfIceCfASyMapDT7jUXcnA2BrW3i
l9VTXNi8bPwjfo1+LDHyqeQusg0J8dZEq43d2RNuylmQx430cqZdt1LX6WPKpDFGDYIQJm3n+PHL
U2boMympKBiiu5dLeqkS83Yi+8eLb+jkRvFjkWS2F8z+q23qBodxNWVMQ5mw838NuqtkeNnODEUL
KHLeUFCtAaH+SaqqZg7CcQIcRJGw0wyskOxbKVxm4mHaJ1XDNMVrSQxTPgoavF+0I2HlGdqjVHVH
qXwtpMq7HKW7Yrsr3KtVz/xTXmwgmmgQBr26caD53nlr3/TyJHt5BzjMDB2Ggd57CquXpBEHPYCO
fLWI4l2xtJxLNg/RjyzFhRdZUnbRjdfuLqpMGx/yat1CVmKUq2aINSOAOaF9mPW8yhdng9Ve10m+
TJIiOn+Svb4ehk+ah1JGK0XMkI4jA2CHczSUFj6jNZcUxodhzvC1UFo0kSYSCBultmuG4CNGACQh
Soj6VOY/4+z17k+LRYJx1//Gm6cdSsSc0o9KGqql1KL1OCuPBUEzFGtDgHDCBYPuj7JheH36frGN
d7ntLh7li2yFqyTr8ifXDxlcyEntB1pnrZVBCxK+je7Mr5jkSoHA45ANrbc/Gc3CAJOcc9UHCDd3
foKQ1BhlKNVTwMznpzSllkpLpuyI5xGwYuHV7PGZeOHO1qJ/PGXagWrDMG7F3/zV1c/dUQEF6HCh
Suk+Z/CznQVyXkliZxJoGAGpN/PT4JITi1bFX2hXqNHcGU3QLSeEaM7EoIeQubOQMM005ZINfqCf
OaUGVbbimnHKQqM9Zs9zzYUGizIfFQc0d8+ZYywuKN4EGRxuMHftJyVlRisG2owM25n5yVAigUq0
ChTG7d84d4lhUqAXAFJ0bzQ3d8MBTDFFOR0dAuDpYFSwXqaGC2kYVYyFfsib+VFQzinhUhDGR32i
mPmxAPqWkgqgQrGBCZu5UyrxY0FrqpkZJAEzp9Og6UPbZySTZuTnyZmfDDdKciUFJxD8Wa7zUZTv
+rs8yTbxc9LmWHq/1led3cMsfoJXsN+wfQQtmvbw0XeLNLNFw4c/f9nGef4jzR4OPzj8+QJccDFo
8eJTZrbh8nx5dzk/x3ycIDyi3Aoq7tEmt1eLeL1+dYNZWlU4vXswJ0N78z7Yj8dVlhdjLF0hICdU
KEpLKaS0LjUdMA9y9l6k0Rh0Sw7A5Kjv4LN3KRVlVBP0K+nIj12zjzuo5ppaCIhsbj0T8gI4QLO+
kGzBRIoI4IRQraUeNIq6+5FWA5ECnWtVxTGl78dRHoUSpqmhQP8ugPM/7iHrpcUyyXrYZjPQCXL3
oJb9P/UhWSd200uLwT4d0WH/QmR/+mQlatFQrkmpklO6HEpIIi00m8CIk1XnbnCUosoAUVRyOeJo
8tnnPJhWhKLAMDFao6KPcTDK4CUCYowGTzMxR3Ni8k36I8qXtj70JY+2K2e7C064nlJPMSosIkUQ
kCTAYPm5y5co8V6K42/C21TSwBI2mXFsIeJ4SttXj3Le/Va1LbX3Q9vA1aoWU02VTxhhTKl+cXkh
lOGSjjfTdvbpaTsIzHY8AyImGvwaWMM84raiJMvSLEpeLHWVnOId3mP23TXOfFJFTrkWnAGhatQZ
8rNP8WAwLRjRVNMBY9JnT6XkTHAOWunJhv7O3pc2RBNcHozm402MHc3dttrppG9jOa8Sj+OiI4tP
rbivX7LJ4f1p1nYmbtXVtw+JV6t7IdmfzNkxXYZwdCH4REN6Awtg6XR/j1/ivTRUjUCe482rHQ3g
LrxoNZ0tmKWUWhqqMKpWZLJx3aNphZNRDT1bfnVa4qpp+KTBLaW2Abb+f/aubcmN3Mi+71fsi/U0
JSMzgUTCEYqJsb3eS2zsOnZjnyfYZLWaM+wmzWJrJH/9AkX2RWSRIqsAFCi35Ohp0VInrnlD5jkB
0b0/ZW3xr3viNIVOf5RInNTFJ1GNs4Chg09jNAra4jM1aP18LbI2mI+GNNGqvICuBRZlbyHef+6i
SzwPx/WoYZpOAol8dTdpAipJa6imX6ZHYMSN7S/qoW429eznm8ns5+XNL/V003QxhZOKLeHH7fdF
RVsAShjEu9ojcZMWr6+JW2hgzc6NRjCd2P+IfVyPgmK2l3ryMPMO2WSxaIW05XDv3/9++7/bSbN5
QkJ6BVo5n7Z503cBvKdd+/av/A7/Ej5sf9ZPmw+alJLtn/6yXH+AA/5Rf87HjC2UdhxKupyikUgF
iw/5yVjGUFMhlI+8vPgEbuBzAutjYyWjceyVvkghcFDggAyZs1jJriARyj5GcM4xDKKOK95T1iq0
iZCAqIEUXonN5PKhtV+fmmp+f1/P5tsp3vpZ3nWgASnSelRdKggoiKoP9eAAwLTiw9Hwgo7AAZw+
CT1e8ZrF29fQvsdGTGaasfLb1vyhAOMlRQSeT7EAJ4B09iDYnyF1DolXUJEatbjOKu8RY49MWBF7
kOx+ggbFyqHq04P/XS9NaLX1boLVMIziqvy6U2cD4pmyqHIy1BTfhKqN8S4Na+/rR+RqKr/3FgL+
mBL/azQCp0SL1I0B1yaZDywWam+yRi1JQIPiXUfnctLSlN/I53z4ZtGxkxG5nhIt0908DO3L75+J
xn9pXijAn18tbupbP/6jaO3nAacnq5pW6DWmI2vERmMJLN5XMM4oRtGU51ReqUuFlnhrXwyPRvxT
fHbRB4ahH1v6libkSVCtds+mk9UqcDo008lDx8tmKKk7Q4Z8u11wK21LP786qKEnqy4X06VtvWa9
D1Xn9/NNpaptx2E3oRfCEIlPE3uWveNRCZJ+3KeKYBN/cnh6cqMWLIfmwAAAo3qbkGzXIeaTHbTA
kWJjcg3FmrYkcxdU6GHT/osajXej9EXSCqwz6Py1kJxkRqWvizEc8BlILm83iUljU/oyeY/L6xbW
2qjxSEASLdJXIf1q4Q3bXf25CqhDm3ndkYj2wRGQkf4+ScBZCj9+F4tta5qfjWzrnjaHDFc9/1mX
bRZFJ4lT44775czt/38VvPzzzbLFnzrgnMM+W3oZr+1TmeC71WRz96GTMvWpkPAIF6pW9vJBRi1T
zLZluIMJ8z/2q827nT/Mm7ueQDKJt29y09kdjngWVFjiwXVSWm8jkjEVvrFEtO1eT81clWwO5LTu
Qcsak4Ml0Rr1PIRPlN1+cc9h7b7bbFb/dwpesEyt02pkgRFPnlPOAWP7ZSyOMEnGaQfiHIW216y0
fmXepGPXqAj3ip4Ydl/DaLZ36Oi9AcVjamwxIb3rHAuORwuWTCvYUBmLoNCVxvK2N+VfmjZNWr3y
UtbTpg6R0WJVrw8b8UCJ7u+lNvO/v0rQtsXyVftZhZ+74hfSRDEmtfvkcDqIZN0Aj355e7uYP9TV
xG9MNz0YEOjUyurrUXxTZeUdzVF/+Ou/Vx3FbnFkx7zLZDUz22AHr4fQTpIVAKET0Voh8bWQeY5w
mA8VDWsudKjHMh3pQ+bvS1GECJq0Aa1Al8bEmOyxAcFaCS+qzl4P+2CWQxs123NFOiveax8CaqfA
Al8Ny2cysws+UvKOZKgwHYnXMoWDemZ2qmhbScr+M9HbeN/G+zbet/GmGO/kplkuHr2peFwvvE5f
z1fVb3dzP97VZFofWm2Db5v5Nt638b6N92281zLeeEGTQ200k5wCJ83IEv+2L7tCfaMdOtaonLsS
svcr37qmnj6u55vX9fPN3fK3/6lv63W9/vfw9DRGCVrqp5qOaX9c1/UDGvXZqI7iKGfNP0BiOiIS
g2UVyOjB0sDurdILph04g8axMXmbewtfF9Yg2pJwf2rtUcnXkz2Uhm7OAGKjgDJ326ZZmZdH/odW
Ld3umGCqxeRLvQ7UuV0VC/4HDhD1ShkeE3pELQKZKHKfBIZSwDbD8DKEZ+67jkcNpRNJf1g+1J/n
LVXx8wD2kNl7NfRFBEFA8YqSlVPJu+8TH/ST+7A19C8fHOxKZ/VLH2PdbzznHBQZ84GYAjcdABoe
wFRfkun4TvdJRLGA0VpZHlhQXrrJdgHCU1B7BZa6V7B0b1cMKgNATvL2lpbu7SI7owPxux2GDlz6
/itFoKw2xqSudS+9yxotizHeiyfK3ChberUT+wNiOVwJyUjznu7IO2OcJjFMl4KHlI8UEC4zir24
J0xd0Q4KCDFqr5yxL0LxVcwTNGmhoJ+VKYLNPnPgQIHmAQjNxVQPw/obS18X8X6rJSXno26WxIKe
7rhYpxVbq9hlbohNg5uzhxy8405dLX6c1YvJlzBoVZLtsQbJBavKumAq8HTpMFBOrFwASTYQPjnl
suwjmE2bXSdZV65LWR0Dv+xm/vHn+7+996L2m9XO+Omu7NRePJeAtUJ/0oAUXiVRcTLtj1pZH8EJ
I41PVOxOP6m0dYyL+ZH75JXoqCcMxJ9xMqJdLjqC6/DGwRI48R4GwHDU1izH7eBZ7eXgHXlOo7Nw
FHvIC+UR7V+a9dDuybJ8jtFaMKS1yQ/kfR2n3igl1ighizEg3sc+9+EcPj70PolXJ/Hz589XKjQi
w5BGf8m9Z6AwC3tDyjMeEUzVR8vi5VtnxkCJz+Nvrecf5w+VD5jrTbc3b5yLcx9eS6rmR5u15SzG
hJ7yjhh15igiD1HmSOk+2/PtxEZB98RaRdqQBLTxLCwTKS/G14A0L0vSQtLg3u62JQnaxpNyM2nq
LfoNBVE/wr4wg+mEYU5hlFOYjiEsItO6FnFWBW6o/AQGY1ye/f2wRe2HNZra7hg9FD28lPU1OS8X
5xQmOYW5lML2ySh+BHUgjka8Fd6cBww+H9USjMFGk9P7/dvjcjNppzF/eKxn1Wz525Y59/5xsZmv
FnX15Dd2IrkhAPbJ70+fGMTC48Fq0jRhQ/abtlUUz3Q7w910z5poBV1T5bNA/lxWkL9Esz8SKvSJ
huLlmqxWDrRV4ig/0UXmzFS0aOpM2MdoP/0EUmZPGRHbTa0jZq2dpV68UJnPQI+bi12q5DwGqUTj
OaJJvMtZ1j2JyD5Glh07I9ZloZq5inxiaBBFQrCicAyimetYJGILpICROQaD1VVM2hhQiKxCy0UW
QPXrWBW/HNYH58aq00XVkeHhewYLnclzJhjzBUPIsA4UeCz9qp3TLm1UBvrAfWecsn0Lnq9kqggG
xYBFBzIGq8l1nAcG4z0Q0Uycn6ysLB+50x22Y6aWbKDlRE3ob2ye8uxMFuL8PTnWq+/M20PkgAY1
Rej9R1YnmnsKPD+lvDlizjdHzPnmiDnfHDHem+O5wkxOYZxTmM0pTHIKc3mEwfZSq4HS/vrf//uV
OVgtm001eZhVn+r1/PZLdfflZj2fbdXzpr5vPswmm8kffgIkbdj+zv6poHI3IB8PMYW6TYjbiHMl
MYQT9IGStVqM5KpgHyFI736rQzVmRE7GsF97TbZXD8a1xOMtUICw8cudqwkn2dIMVn0/tB/8sf0g
iib8VsCxLXbsfsE1aswHTKdIifaqFwfC0BYQ1j2v8rFgTruygrlvvsN3PsJ7M3nl1yViPhUVG0bx
v/K0sBZxwjtfVI1xCQUeezJVWMyV+q48YsNsvUdMIBKjh+lK3BTrp6uJ/W8yWfpeirjO1Hmd+6SU
IhYMYOhBal9B87cZXkvU5lfIWP/bWBijH6mQw3vMNAB9P6ZhzwX6oWDTwdZa8K4umRNvzDG7f0qP
8/60+0CcgrK2Ci2QhDdRrSl/40neBNBjE3gcuhJA6sKwLPllTnRsjrdEtmtzMkmgZdQqZ6OI/TCc
CAxvyLmWlJkz5MIBuLwLqbPw7VrKWbTWTikrIDpLqejVpAnP0xM/5HcdzlYsV9JsHbGRkJl9QAkO
7BgtU9ei6XwE4wjCGeYx6qD/0TVAST9luDZKUaGkVY4CnXOlRAEF6CsMcwrTOYVFqQY60xZ2ZtB9
zJxudibnUnJOYZJTmM0pzKUUdthvDn36zXsrLVUU5oMgkAkxx/nYTinDiP1VPVutDHCxz5A5Xi50
6zCon1rPwv+3oCya+LGxds6xVfl7sK/Ex9cW2KEicZSno+1qYh9nQVCzsMvfmHIliwRs/PBDkZwx
Y7Q4JdPt/XTh5GY6q3+n/nz78W7+i//v5brwYAif7xd3m413CfyCN5tXI9r2r0/Wm6odWz29W1a3
80XdQoDv0SIPtW1bi9ZUv803d9XTp91dlIozrPNPf/zTn//Fr683N3/513/79//YfjtotU8b872p
n8BE1EIZFmBrdM0f/+s/f2f+vLW8uz+88/fM/9PNzw/1bwHVtPkA+delUF/n/Mv1fKU6cH7gHKCf
/WnczUO2MFB6z7yWm26qX5rqdrm+r5rHm/v5prqp/Z/q6lgXILHLpr52B2mrw1Keqnu/FpPt12q2
nD7eB+Ox3pK7dyqXs6BBOqW8gnz5NJ/Vyw5MmS39g8IIIrZ/Dsq4Q4QViHN8AirVZr58qFTV1H5/
Zt1FoYTZFPLusGxVcsqTc3I58PRymAE6aLVefvRL03hn5tH7Ot2nVEBHUXMHwo7C3I+6wT98wyD9
MMYB6VjO+n61+dJBex0n5m/m96vFPqv25WYpcggT3HIIBBhWX9jDMnyRIlI2WhINBGBc6lLugqYN
2jkKFUBwvMqgoOEyoyInaBBtrOqA4dQRSWjHhijTd83Gh2wf6J0P1D5u7j4ADld2EdEerGMhNiIX
U4gUdBQdCAkIWhCdGrQiqjE55v1Ln4ijw0g9tRGdDNI0F2cQD/nVmvvJYtGbYW24N3T02TzF/f7m
TnY1CVjMc2T6ht7F117sdhKet1Kr4Vu5z0U4v/9YNetpZyJJS9+Qej/Y3cXUld/a6a/PEXYgudl9
/+FEEP4uJBQ/tPHy/Uq/2wQ92v7Y3/s/HoDioOge0c/LgNsh/nWnCg+CZ61h0Km+X36qq6PJS7LO
vZ3kIbri1foeJqD7GLGIr1z+N4KwQhxSUF+Ux+11r0NnxWLOTqwk8XOCs/MNKdVR23ke8EQ6L1yx
IQRwRqvErY4lnWYxgbwQ2Do9rCJ3hHe/sVS6edLoVFIY6SMv5YCdIjGJ+8xKOsBkxFlANqDz9nwO
X4RR3UZO5H78OF3e+4Bl9mHLK3f1q9TDub4ubWaftJnL7Z7qfnmJkQ8Eg7X4PQcs8pxFsVdyIrK/
Ox1Vev6v1OlFVieK5gGM/e7jStKagSyic3n7yGKZs+minqx/rb9sv6n8d9XdoqkmdQMondGRD6NH
XHBkBqd8bIRmUMdxQZ6jKKsFFJIPgHKWKZf0xqtF+1Gy0wOc59L21VpvoUELEeGFnQuRbnfasqd4
CyUAqIED2mBOtIvoOrR5XK2W664VBmv6oADG4h08p/Su24arGM+B1XOhVrenoKyJ5CkcyjtWNeWS
SfzaRSFlozleb7IGxWfesXm5q6G87uf5w6z+/P6eHmXfyyF8W8c3WW+y3mS9yboGWRFfiq33RcWK
MCWGOSooViFko8GQGKGc3Y4lFdyybSn4UF+8BAPBbkqKWTVY0gEm0lDibuD4DzJf+XfT9ZfVRr33
3x70KI64vsYQOme8KNZ5G2ZjYOu04ejmy6Ju7up6U83qVe0d6IeOgNeMmU8gtpoBSMBiL+6Otqk4
QfL82eodiYIpjY09GgPbRPJSeQ8xi4pPKo97f0LU+83+qbbO8KDAcDuBapuMa748TLuTLkixHiO3
j5CPjb89H8NFDU9EGQo6j+7d66kfO5Vxar1uJ7/upL0/nNeoTxjO/1RDjhSCG86sEklXxbNwbIkM
O/FGLgZBQWnzI1ZMAfTWnADAj8lEUNoCCLMCZ8T6kGEMcPvS1gMdiShmjdbmZ0QobTU0ilFagLzl
yAIyH2kBEphP7g+KEJyR9hn+cTZfVpv1ZPprU91Ndh908kT3MWlJJt3XZ0gymMtrpLoctm6om6iO
0VGyDC7Uc24P5fZr9Vt982mzqdqXyl2LU/dLn/cKinzKfl6xzXJVnUDbB5QxPUch4PBSrh3QGLDV
xbki/hdYE+rNJT9NRnGet/aRthijlTMRqcFKyk46ZRRaJB8+DSFlLalZ3VjvL2mnTW8GjaLnh2wt
GABjOCtxWxqUl8eb1jg0J6hETVRJR8yQ5VgoVbtFbA5NKaFycdJqr73YrmILxt6tzqvZbeV9w0/1
rPLesf9Td0INMM5Mbuarm+XqG7UjwDaqtGPJSAIYlIx88XW6q7JEKPKtOV6NBXFvTeeECDDHfMZG
fSIKDKFeRTDZEckHS0rZgQUQQxqGJly/j/Xw/pPxcRKHMvrR2OVKylkpUoAsxmnKSYyY5gX8ldWA
Q6vBBmnMB3CybIGcksuzpTGZl0qqO0HlVbZSgWvp6IokJi94cQU6KYcDjH5k00mDHGg43xXonJCc
5XDA0Pmc6wrA2Tngtgaj9i7vop4GtNNOx807hiXNLlm+w3m9rZX2Gu1yYMg0FypeWsBpYVHGcQ8I
u67k1Nib5bxDKqTJj+MEzUSJIxcrloSsYYhXEFrkTFlbS0ZEWMVj+Cz8ohlAP2HrrHKUGiwy1lrA
N624PmLFVWS7oAcF9BdYcR3NiqdLUA1euEHuQrJEVYHTGpoRg2S1QQzoxCKJy5x6SaNaIqYc/Oag
0rpHj/vFgV7ha+HEWasFNWDqF5HCV0Kz9mEvo/8Cl77nlT41hYICmnFwFrbwmRrNYgz4iXLy7Fli
B+pxNQvTPooQi2DiZCe+EnQIaSNx3I3Hh/aTyc2ifn7365B2Fl8J5Eo8dgralfzcrZebzaKebXmS
wqFsS8FehtEWBa1mt++e/qoPpP2vbY2YX6HFfEsSE94ND2r7RSfZ22dIpmZTx9jorqW/XdcP07tv
uXsavq/D29OxPOu6R3Rad5sT7sX7yWR6sCvOkMRMEnY3F4Eb0UYwOX/7WVnA9FH2oNwKJCtVc9qw
Q7CIiduKS3cYSBnyY1Ci0Qx6fix8nqCYgP0sgfJWJxbvGos2Qow272t86dfCq0dFEphrhhEOJ3aS
83k6b75HoQmzfF7O83ptOzm7qrp0nyxwPGXmLGvLRqv09OlpLnYC9lJI38CRLDlHaNH6UCl7eUo2
tb1rij5WfjHmbSJB4UADYS7mNNmHxyjd2iMba4DYgLoQHLR4v1f7MA9EgdKQF+MkpYbM8WSY9yUv
Yk2fY+NIOdcbPGq/oTfjTqZ0kYrNW+6b5Ol217YDWX78dGAVrJAr0vKfnMkARJNxvKQcKfWIil57
Hc9Goc6JW166/RMnBpg10QmEkARYeolKrdJwKCezRSBijHWaIR86S/HOpmGlnNJ+WfRIfdLFX1rv
jRtUAgIDMOOKPwhOeb8cLTnR+dBZEq3KETLdpt5UzfzvddPNi8xDn9qCJ+6Xp/PH2z71AV2GP3gv
1aflrNPZJxtPyKFXEXg4WI+ZUhPnQKG1pMxIgErFl9N5l0uUI2vERkMNKF5Fs0ajNYmV0XDHyn9z
9I5PIBSCYQgZ5ddQakQ/R0Z2ecGak2UmmmbyMZiz6XrZNNVsGYK+avtxXdWfwgT9wq3C7nRDE1kZ
s8KDg9a21uHl+cyYBRul5V1UMkqfyw5QUz/MOj0Wa/7pD3/oIeVVxqVL3rqe1vNPnVWU3gnt4+yF
hXsltMWFewVG/bDctNtcz3qiUe/PdH5ft1+qcBiq5mF+e9vNhzfmgwmQ14CiyYpWyevqiyyscgIO
xMc1/tdo4A7Fm0ttjCCydxohIjRY+eEuGhRgPsHOmQDXofiKfSsMbLX/j4kG0Vy8Z2ycUYxeVzoZ
EXii+LPBwt6PMz62VKNBTJaf4XfWh6Ho2MmIEEvFWx3lQwLG9stYAA2QjNzVBUQAp+wJmPsEuIbl
rws6Ea0VEl9pP31MuF4fTDKB/2bYQ2D0AHmXMp/cbup15T9YLD92N7z1wYB8Wa+tkIfZ/7N3bc1t
I8v5Pb8iL/EbrOme+1a5tnKS2rzk1KbqVFJ5hUhYxC5FMAAoy/8+PQAlUeSAIoEBBrR311ZJFM3B
9Ezfu7+mi5yu12/g3Z8/37V/DrGkF+nW+drVHk767efH3brO1/kmS9ZfP9NvPjm37JWO/4K/udea
Ff61/sKx/fa3ovwCp0CQfQn2Ady1H+waerqdbwTcbh6Sb3m9StxOk31tQ+OResIGgChwQIngt1Ve
Z+u8qmnJ9XKRlt6IARkIMSPfmqvW5ZMqGnbd3AWPksKScSKQDXV8br7F3GrLOJAcQzs3SJsRG7JJ
54CQaAfXXwZUPJ5KZI/AGTIGwSdK/29X1NkyWazSsspqT8sI8qjl5i6Tp8kbZ9Mg+t/OLdbQmE7C
Ba3mgQ3xmFeLO8EgSddkNW3SOn/KXlTy0cWid/2z1j2vLJkvmyXxQvJYEF2WRVa9BrcPA95vZkFD
i8bMcjkFeiXbVB3YgFKYwTZJ8wzHyzsC3H0tis/0CCdA4kNskrIgE+id4eNtb1Y8jEQ6XS4gTuWA
4/UfJhsnQUaG+VGOrBm085IjI8nzabNdHZnXl407Gs0uREBhGWhQtwowdCmbBWCvgA07WjGHegWa
/9gwN67SgKSnUlLzGbbnhiyE5JxLB9Ylx4YjxvEVLJ7VK1X+QMvsyq4RCNBHwgZMbaKx0uG0M3ub
yErhfBo3TlQCcGvYLfYa4IWWx+GF7DI8TB/OOjE8nMavTgyOvZ90qTHJej6KV8sd+GhdlqQIx/F+
fucTENdLyou0eB9ShiRh523tvKu6pxb42+9/T4qnrCzJTn1pOfGVEsmYhcpoUUihuDlXTT8hkA2O
JXyZlW42hpGKR+pVxtGG5WgrmNKaTVNHGt6J8HHPGzXe8RH/vD1hIBN2CQy1xIUiNXvc1t8/DA9I
wWOyjwWy4qRVUppbBDzq0gbPqzL5Ss9FSuANJceLO65FRPKDZMxoyQwfgCkxVrXTx5rWS+UOdStN
SCPCw1unOcdA9oRvly2WfQeaYZhlB41F/shuORWFFzWf4WjTHcAIzY3q364dFdhmtpfIuywOihv3
VYdtlQD5bc5/yzdP6TpfdmtFrqcg+69B6P5BcNS75zDeT8PX//773/cs859Nj0HbkOOfzcr0xNeq
p8Ba5Y6fv9OSS+LnRZ380c6XckU3SVo55y5hSZWRNFh6u115H9MuIOoMAwWAUil7m1Bdo1GGkU9j
aH09fBB49E7J8Tw/S747cDLM7S2idPjk4267zcpFWmXJa+OSl28Zi0h4Y5gyIIVgWs0D4+28qvER
1QOir/uGutJdvSIS7DsNk1dpDMe/qRozvHh7R9t4V5T5gz8/DBKi+r0ojLHa4cCpWaOOnOt/vO7E
3kjl3pO4t73+uql+ffmBZDQcpbNG0uB4VoNf1LyIo+XstRsdwoBzPscm7vZeuPqH/66yMuL14P2u
x9mnwQ/FS+UGr52TLhfBtQ2iULZYFR5hq2xwYgzj3Kg3Bd/dFAx+U644lah04O/owH9aOuh3dNBH
dAj2UDgrcTam6AgYilZKKy4dSF3UNuzxLkEH2Y2Nmr9kHJgWUsobgWgfLQZsFWoNkgtxO9BakSRW
ALUacBw4WsYNOVRWzm56UGxhEul+nDc3flKinLc9JhZ2nPxL4Vq/UN0QMszPpZsBNAdrmNIAM8OO
v4bW/Bpvus1bvQZqFvQe9y/TtX90nzIs+NOe4+n28Xbl+t2TXRW9CnaHAz/pGJ6HuOro6WH9lafM
BH+uiwX3NGfZ74HGODIeMFA7Hnk6xDUehd1ePmA3Pr9dx1rjPlgHdayOaXFocq5AWC6VuUXAsdHc
F8aZEVwyHFgofUubdrYnudpG0cHOeRTBhPLjIn09djib944C9MzSBZwZJpjWytCV4lPOKIioYc5f
hpvRMA2C0TYt67uXArX80aHkLtM69aLyIsyaR8dOtfDekZjYPAoMFEpliU31pI2KF0K1ROTl85fm
Bnn5YBrYy2vNnnM69ZLYnO5F/vgAX/AZk4cyyzaft5sH9xJ+Se8z98MJgJcAjFmapaRVBg3XHG4I
/HNu0jFAEDQg2+mz0jGiPDhPpp/Pe+RckuJgWnA9h9Edo1V9CWEF+cnkE+qx07GD8MtGcwylUg6z
HyzoHwCJ+ohMm/Qpf2iHZqQb4rIyuU+rfOHv3o7JblozLiQnnXdmau1sZ6F1U/09ctOiWHomlGoJ
MVs3tMtmC81dfXCw0Mjh3R6JoA3i62sT5usITJTsBCM11Io7uilVRZ/p7zXSMY/RIYxK7QYnavgB
YNB9BsU//uc/fivc5CV30C84aZ6TMAoGN9L71srKz9XTsZsgMaaTgBq4MUJxIfjNI/COZ8sB7cIC
10b2GocVTJC1dvEiX2KyzZ8zf/ZRMNsDznCcycDjJSHcvEQEUGZqqI+QZuipfdW02lbJw/2fvrMl
Y/v6RQQTCblOSbUqdutlg0+ZPedVfffOlxT9OkBf5rYeoJzv4ejbwfDbh1/hdORpzJY1DSTwuKL/
ubzFYQ+XWBrNLWrDG/t71XGhXPXo9Wv+UTWnm7wt+PLKtnCHfjKFNmrrmkNPN1ogv35YEAssv7un
HHu5XUJUpBs0ErXV5mqIiaENXSFF7JvK9CtLtNB3gGGQyY9TCusudePHA9BjCSPvQXATM34ABl1P
gWLMyEkbyGcZ1AKUVpIZKQDY8Fk3waRnyAp8A4yO3KIOMVQhnH3/mo5q1MM6rdws1E3iGGaPwuLp
VqerFUQYPBT36eJPf3AvalmxEYCCufGPfOyGiVFUD/dKPCPQQFS31hlGzvsHPn12e35SQUvOjKJ7
prUdfdrZCHGBg6yYu3N3DeSbB3gXzXCcyFXaTlbYZAsnQXzoTEF34YX84oEMlKJeZeWWztFvmITd
yXt4utYGDbvCaSkCKhbXtiLnSykpEKYZaz0/2YJaWTBKGclxevtyfvRQ3M3btNoCmBjxu3El71d6
5M91/fW0IshEZUQrUEmmgJ3Brh1IHpjR9Ehhh06PHOskhBAGpJb2nKkxXlv28Gi1cxRcb9SS9vs1
K8us9E8cjZnbkkJbozWzElmMAFY4GbOf8vpYPGXJt1W+zs5NKlWcBbKLTg85WWXrLZ31qbknbR8X
tKjzr/v6ruquQeFM3ARBd8zJokyrlR/qtEfI2hOqLj21FCCsUUM+/d2WziyEqKc4pWO8VgVhaFfQ
l7T6vll4SGhlTKZXLthvGHEBTlKQNj/bSpKxCUKjEhKnC5eMpHMCIlWCIaXLOHki542fUVXoqcSr
knyTLPPGj6Y1vQUpUTE+OTPMcGmt4NOE3+bHUpxLrdBZbWOWF07EUsdmXF200887wdVF5NJO0JYz
Dep65NEZ2tAeAeCdN6+CWnHvztg/Hw/VJYYPv8D9rXbbbVGSgXAUinJ5S+RxfQIAqVAbyy9Oat+g
rnM7ZGCBy3MlLiPUplxzO+59PVMqrqITVim6IpbxSO1+oW4WPyd1Dn8iytDmnUmflXRcbjpg0uxj
ve5KBuqLSg/4JT5E31Kh275n2g2eVYq7q9avIOkmpBDnBgENIutTdzWDGvIhTORlnKjRX62lYsqZ
8ddLtxE7QINItD39/fk7Jq7/+IDJL3KbXBwSzfBKmukIWq2Kb/4mFW5nNabeGpAY8Xyl4ygkrcWG
QgSML8BCjhVXdKGttQoGVdTOfaNAOtq1UwhlbbQa2JEYPqBi0YzsZuwh4mbRNjQelzggQAWGTTHm
PJ7y/ZZvlq5jiFRG4hAw17nfbzCWRTwN4dpUQQsmmInWMTR3VhYMtJVoSaeZKUO9c2dlWt+6QWz0
hUUrlZw7kVw5A6Ar7BEYoqr6JjjGgBUglBCSxSvsmvvNUNyAC3eYvlHXcffZWaR06JwcFintxyi/
uSmvVUiNj3PnXnopQnKNsyets9ZyNBEPhLgGhEEBRodsgJj7PZRSufwvN5zJiBVBcyeTUEwLTRa9
siZAqjy6Hc6tED1amUIWms5edysgjx6UgjNzPH/kO2+M5HTdrYPMu/6ejIVa8toO9vpd0wrma7eQ
8qJmorHoZ7kWSilNz9GHfqOMfIzqL7gZVWj09Q2U40vWn8/e0VJwi8LNKWYTheGjhy4RSJo5dpy2
EHL2rKklcsuNVEoEo8vo18KnCRrUaX+gzUa9eExwIUEwCEfgKTK6bxu+OKIJgWoV3pocfwXBgaNi
yIXRvVoez25ynT2ki+93y2J3v86SrjQfGUFRQ7UOC8/BBFk9li0x+t0KGGEyXCEZV/0Mq9tRWAoM
COTSCDuBBXlD/qt20oB4wjCcbRIyNpG44VIJl4ZXZo4paa8U7i7/pYNTUalprNRETOB2RjXXIWn/
URFkg3a+L6j2WllKm6jSUjAEB0rJcAIdeUvRPqWJKKBQqcmyULE3bQ1aprUWRpqpdOetBPYQyKQA
I7SVM8w9hRMI5HQZh1SrmYzQUh6fA0gYGm2uSDFOUd0atHHi6eHz8yk0l5GBPv+5CS3DSaMyBndy
Q7i1Z5Z49pStmqBE4r26uS//fDz5/FCH3ECTnKKQCymjurjOchcgLdN9fdxbKYWQ2nKlhLCaj9eA
Fj2DrEFZZNz12f0VfD5Q0pJx5YrJjIGfplpcca6VVVaagGA3k7EIjob8y/uPovsM7TC6ZhBdQjLw
mf6eDKRzP/DDH0THqDquyT4OmJRIsudttqgz73QNHog2XVP3UETtB5HAEBUj2YfzQQroednHmQlx
RPrteveQb6q7RZk5Kj+Z/TpJcf8HXSJ/eAyF6L/S27a61kzyTjAEbnrcXx/ue93VsKYhqi2mjJTM
KIkwWWDpVrS3FsyC0IzMmpn2h8dP4kh6eDf2UMq/yu26ixBAopGg0cJ8m1EGVxdtsvpbUf6ZVDnp
77QuWkQyJ/e+7AViciwQPy2Kx8d0s/xCn5K9DRghKuw29fBnO51W00YM3sEQtOMVbKA8w9tSfZIM
CCLWCdDdJe1YZUeH8Gmb1qsvF8z96Tf15zqSNr/+nhTbBjFwWWz8mRozxCopyMxvYXNa4yBJmyl+
3tOS5p9++WWQPXLNakyGu6Tt1fwA+cMCRLVMQJIj6abVqZn2U4ZMUJ7BNLAyJqQBIuPIlVbsTHHr
j5xSkuTcaS2F1CwmulLAAhMpLQeptFE/XlvMi5R9IHvCzXq/z74WZbbbNMpqSRxWFt+rpH2XF7XF
qkAc3QmqIZUN4c3utWGXGtRRq0I5OZaKk3dwJvI5B5NfXHCQl9aHWuwhpz8eVpxAUmWLz9uTe3RR
4ECcZQ//1Eneg3AXYhH6Z+Mo0X8nR+0NtAZ4pm5IG7W+CpmSCg399xdmxrth4ggcBUcm4CYxw7q5
i5hrL6C/lsVjstluX7VPTY7Wox/4twfnhTP0hBCWMe2qZ24RDUL4xnE50PKm5Wnp0NJfYto+mPmL
gODHor2xkltBJtn1HUtTdGiPtm0gz0I4YCl9+0AboxFJW+2GKpFBZW8ec6JDYDa5znK3rbNlcsY0
uaz66WiNVe6mMzsPe0nbX9TJH1Xi8rpNKXBaVfnDZu8ltBh1vthLH+Fwdt0PF2TXL0hW4q7M6+93
7Ye3cb7W7CKb1d2al0fxm31mwJIHQa2DpdoeJzrML6u63v5y1+bTV0VV/2IYY75/3sya6AzthT6G
VZl9TZizr4vNcsBg3I94/+3b5Cld58tmdX9xnIazQcWPD+AsBYFh3+0cHPGuLN0Z1/lj5imHADbG
KeHZUxJh+aXKyicyF87yi+nhtBymB/Yf7UL0YTiEMyQZPLfL87qICzW7FAQRttpVyf4SeW0xhUFE
Ub7ZFAt3UZ/cvA2vyX1RKOZDz9OjvpJq1xnKN2YQGTduTDj5EEtXk1Tu1ll19qICykg3lR7vH/X3
dXY0lfTqe/rxs7xub/RnufyjGyHBwujUkVYQDEjKPhS7+uBbD9yI6JMJ8tWLlRmZq4vsbcr1Hmui
A+JET212w2HprgItFJM42BsWe4v6mKpjnNyvu3z5ZUf6yyF7vEtzw/ReDByiTBExRTNw+epQz3C6
BduG1cxwY4UWUlzvqM9oI4DMKGYRFXSW7gx/3BdV2eiKpA2LtQExN9+wo9NSmIh0kVw6bChXwszH
CkmGkwfh2FMjt5KcD3Y1xvcVLYUjCEKfOeS3Xcml/nH0/KuEH1VptMmZHjEXn+7/lub1S9zjvtht
lh3j79RRAc+IW/3Uvv5uzIBTlHBUhzWDR7iaK55S8rGKskq+5fUqqb8VibPVK78TBGGu78Gq1e6+
q+RZmfEtn0/rlDZbZ9uTUdB6gMe32abb/FWgJisSOuTM+tse6PyGiZv0PkvIZXaZ5zr1DeG9tPmh
a6n//c3FOn5vZ23fPb8Uou1nbzdLO5g4b+xDh0zYoidhq1RU4wikRa1QCT20fAHnqOwN8SAaUGMi
Ls1w4260h6vqt2TmXN6O6SKT2ZyOTzIhBOOGoQrlms5/14ozK62DdMSxaihmeGO5g4GyoDSYvlWw
gQ6yQ228baxTgZxmCPgAHdxEqBs3Ml/78RAljKYUm8Nc+gePQQ+N9TId8cJ59Q4VLKZzrCXXFpAL
Zfo3ssxNsGhuSaaQakAQQ1jspr1/CYIcPQtCDTvXGyYCoAKjDaK+uFv/pbRiTmqS7FYrDZ2owPFv
8yx1puRuQIvSpDuDWe9j2Ef/9fs/vG7Rcve4beflntT8DnC76lVeLhMXiflO2yj+zLOm2WjrRvOu
84U3FCOwjxfWfHj1LmtXZfW/tS+fKjWybUIsst/Trs7XpMebgABdh/L7191m4ZT3l2W2zups/xjH
2tvGZFkkZ4y0j5I4cDzLjJjQMDd3xSryMQe1b51s6YqgyilrfcQEZ5AAAKy8ZvFp2CCYBUBWs9Ka
k2M80aycGVoAhjFuBRdEAxjPsZ4bp1rJpCHjh0vQUxh/s7QZDBdGSKOZ5pOAPXTe/kESZqgO/IEX
J9H7W1G0ix+vbeJuvH+wIr0vdvXf1unmz9fX2oqa5zpJ13nqTU3oqKF1obhWhvwTJvl4xvncZKzk
DLXQVohpmtnn6JWRZgUyCbnVE4GgzDGcKwTTxijLz4XuXwEIZvTkaMmjlmTQcy4GDaaYk+VjgSvN
LWoWzNwLudGL5PxDmW6Wi1W+XpbZplvqg1SBnuCg7LkNjjcFBs0bknv3juTlafy9vnwSQqyz53yR
erPXqBWLeusUnQX9occYMC1uTsazYpKBRWGtHLtmbp4UkMIa1AAupz5++dw8aaBBgjQSjGDhLLt5
6g2NCkFIZ86MXz8x0xtvLAcFAqQ0Y+fjh1FADtYl3+h32TmNQoatDISZMR70RzhTUCBTJO00Xjzu
9C1CNM+7TB4pIge0MCxnNku5bKxy40EZRzZyudBMXRclhRASjdaDA5wzEETrzQeiyF7/LOHCO8xY
BlqA7dNHMKSSIOjZhKMHZ0Jwy5SybMrikqDUOFBUi1W6eXBdvK3rt8qJFuVi9T3JN0mx6YIzEEr3
BHA5UowtnssexeW0rgzZFGzo9SlR64jXjG6ZlR9MVAlT8TBPNjMoGGOGqHB1DmtQBisoNQ4Qi/b4
9K5J7qmj3hAMi0lw0GBcLSC7uk1uYNJwnhdQWy6FVOQWWgw2h3BG+wMhFFpFptTF4d95b0gyK4SR
Wkophs/mCW0S9uqpOpfElNO1G/XRr3uITYfs7RV2VssBK+9p2LYct62iy7ROmyryZoKNV6Pzi9D4
rljzFdumLl5e71zdMhOT2zXXSkoDwMYuhAnKPyFAS04HDX2MEXIRdw0YXzSa1tLIOBfNJNGRk/Ez
dc8Eo8XR9hhFOKjsZ57U4Ma4CniihhXTpuhn6lVYUqsuws2NnrJqY6YmoALF6IGJVcS0JaLj2Fhe
Df2mlVtjKFu26e0FKRTab56uO/DnOAazvw7XCmaGBewVImOMHsHaM2OxDqFDpz8y/wmBjSxKALQC
cXWNf8/0cBf15+klhGumABRcaSMNmoHDhWcke5UmdpOKK0QMW6o0v71qjoYpB0/Qp9N7nnuSEplB
+iLEVOUh00vfe3Ku/iSF6dS8m2xVlHnHkBVO6mPu4YpLd9sMdTujeEBDzECtJjlIqwNpawhblfOT
KhgO2ijgRCSUvaof5iedhHQjoQGkYSZEgvwnvRn/z97V9jZyI+m/cl92AhygG7JIFosBBou9TT4s
kE2CDQ7BfTrIUttWRlLr9DJj//sjW5ItW+yW1M2X7rkkk/HYnpjdfKl6qvhUPcqCPGUfQiFLQ7To
306iysUxDhSre+K1VijjHEi0yAUFJxKp2IHpnf20nOwW7s2mdmi/lwemRJA7kKDJ06vfsKmnthAk
/kxPx79k5oT2QYBAdefl9dBSMDSGk0ZiPAlto4fBHpAB1K4egtITN/o3H4IAlWbgMmw5eBX9mxHD
OAmnWao7SGN14ND1MBlkLFLXpBiSTM8pTA41/P5XqT65vNd3cTyNqkXdy22/DRW9IifiNgSx7xZU
AyEm5bT4ZAf6cJs+x/nD2sjqoXgvxyAq7YBu033tWBX5QYdeAQixAqH7WXLUAMZuONOKUdVDw4RM
cC4ArW1Kf5veR3BT1Xq7ojjRnWPWx2gfgbtuuqBlEppQD9GJhe7uvolzhQGFO/t0qJlSklk7JUQG
EkSI+bjGc0IszwkD95wiFXb5cwVqVkCnWgEdawX0VcpT8fKxDDg30miNOXhLPTTpUqNi9j/dtSL0
Stpntwuh/d7NcC4DXrAZZhCMkZSFWNlDQgQ6JQYt7LGsh8ZXaE7LvDfBxijp8O/NZeN9fzdABcba
TaA2TSEjvV2zn6RUfpL+RCofTziqrvR3XdwX62LtvQVsw7v0vZp3xH0d8ru3c/pZ0CK306DG4Lpx
e+QYRLR6qO3j6G68KezyPdTcrfKcmIpsVEgkJN5MaLudztZzU2nDfyNQCmhqedCPd76o4bJcPR40
TkZP9+V545m3OH5ePsyW8Y9z1bRUZ83yGCLJOXfcrwT8zZ5veC0VM4wJzTkFCx96/s6oDCplAyZB
LDqxKfLhv3QIPccPqP/jhcO+hACkCaVSCQhc39hqN8Ia17/ID2eYDubO3ot22Zd+Hu17cB++Y9++
0p4svjjteV/Y0K3227HfD0M5eQn7yQ+//PMfi9W8cJS5qpOOt+g7GFR+P/45dlVc8wgAwjf3PgE4
6hronLzioQ3tfbk+n+ZRXcMEABNzk89rGJGdIoYrtvmi2I5dzOC2uLNr3gbwWTuEoZbIjESNcHP3
wEyouHmmN7u7F6tSN+WQtQaEg1I2SCEkZTpSqGInds4t56RGg1goypwg2zf8gZvnNMWMBrwrcGVr
xO0O1rGLGvqe7xXalb9LAoNJeXdXzUsUf/pQbGs9qOqUQGzwoP4OQIZlva4wYDQRCY6xmdpJnVyz
a1uN1+5FN9XfqKo59xVY3h6PCvK53lselNM1D4q3eai78eTzqHhazWeT2bEmZvS3n3765XcvAoMu
j9B4am9/GH6VpDBePscnTbxGm2J+f6oJ4e1ZJmWHgTvu4yow8alHM5Vod/zw48//7T1IWVt/SSEN
Wpdv58EkptsHMnxhj03tKoms/ghchsoYzgVLXCbSd5CmLUpjRksteSe6Ys/f00imXQyNoNMWTvV8
XogJLSVT0FVe7jIluTMsx2RgqM7b8cyoWtiHUJqYEbeWQER2Fj5H7tp/v/cP/sCIYrmpihfw3kVt
Cn+GU5g08MqfY+TBBr/1AHg3ugy9G3bWfC5qFM6wU4/9KGIwiYfDWHfPjAsjiJERXcm8kS3INQdo
N9/OVnP7qPOZfQ9vZ0EFlHG6hWCu75hkrQvw2xGn46xNwKofAkFKKoFpa2J6Pi/KBiSuPZLjQyXm
OafHA/sbZa8HAGkSeb/b71axbS74cINelw7mkomAA3e8t461wyVxZJoDa2Lyv7arjbQtT7z3Sx8e
R0SubrytM5l8Hm1ni6Lc+bUClOo05OvcnQ3uWy9sqYRyMkwxHz8XUzvKQ8XDrj63q7LYPHwSH6bl
0pqP9+8IUV23X1cdoq/kX3mItQxoacJa1JeeUrWNl7RQsWKrysa9fYJ6Y2cwoxFy/DQm7NJrTN2J
O1rOo9XSjL7MJvZ4eHEz6YwrhKi1MJpb+NxB4rnvcA+BwL6nYNjmrmBAL+qSrcCVkva3CErxfX99
AGQERPZMsYT63nkj9Nnyy3g+m7a/+7nZ03uxGqhoQ52DCQh893k/W1sj7QCM14kyndNGk7ExPHJj
PSlLqtmedl/Xo7rjDvcAOxN4H7hPij0t13ugOsXLTQHkm6HtJ+XigCm8G1J8448RKpxuNDCLcrcp
yi/+alDkLJrFfkmnPhbjabF2onnLe2vt/Ow1SVHf+9y4tnnzgN3GiEulSJJUYdvA98qk1W+BcyMn
IYKR8+bwtcrp5zgK4XrMkujeUnQwkNXudS45I8au1nwf4FsKFAal6yEILE279UFMiyZQLiyV1pN2
7xudLZFbr6cueM4cuLDzK42NCI3USXQO+rACZ/681Ro0+Y/HmXvl59FqXW7LrZ1Of/5TpsNPjkF0
iU2tLij53AZTz+agCSYzlgNRvE6KB1NgC1B5eOeXVjOjPzavO/BxXdyP7op7exZGddYAKHSOYC8/
743UNMQb6+yMtRrtqjO2qykKJRYne30ycMOlgjZZbxWISQNM2cdI34p/GHlgDZJcFZhmkKMXfQ/S
ok1Oou5m1Kic+9pwcGqQShmG6dvl37BkManCmd3YurDTPClGzHEKy+XUL6Ircm4TpRyqVa4xpkwi
xpLkMHt84MuiXACaOXmHGl3BujSobq7iCCKDkirieF6OF7PJESgcP7WAYTHaVyPZd/MT9/kFAYzb
kMr5nmgE3lmjTy7AGCQAkK10EyKt7b5zpJcmtSy3s/vnkSMq+fP9MpK5hUZzK+NxpG6pxxWUgixZ
+0Tn3k+zWAa3JuoQWsWJOk5Hrg87yHR64f0R/O3w+a/lfDZ5/ng3L+9Gu/XcIg933Kp6YC80BNPJ
ghbrdbmWTLpmmbNJ6+hYvBthvFq9t1JviiM8TbNGKQ9TLQexTW17wF4hyBRzkn0C0+u/DCKCtJGI
MoSaI7AkkinDSNhrAy5ZD7erqHg0VIbxyorIhhvaWOOfQ5UgV/SxdH9+KLbbGn6AEVHj4MgwwAv/
jj7qbS2d/cK/UVYWsZFSMkFck06iApFmy9XBERtNLWZPxXR0+Bujx9m02Iy+jtfL2dLfY5t41nSs
1sy4bgaC0usuJVqr8vPMSTFuNrOH5SvD2+JGf34osC0q7/5wkZO1Rr8ew95f7v3RNoM4CN37CA1Q
HcKg5XquynVtnC6taNW6/kL7H+LfuIF1Mq0kNUphTA7Vl8ip5+Nan4RIxXY0Hu2/7t++LGtO0c6q
MJJD62KFg45O72lBNv4S1rU3aeskeJ8rTG9jChoMZr0QEOAuRNH+S+2KeG6a3pju5TWrW+tZtMw6
18jtsRSITUqpXdTXUkGZJs0WzbJ6I+tvGQOUpEWaIp64U++DNQ+luzXxY3kd1oAdAskr2gGh7CfO
8e1dfwoV0UQquvXCfAhcVrwq11ctFAkdYBb3H0fbx+L+oOP0x/jLeM9yciGOnyChspZxcjsMESCT
qQqhBoKkHCHA5UdMyBzJkCZAW8wOymnUE0/DME/ksPO2WQvY2l8QkGL8dnJTG62atH79/tiUdbyc
PFo0uy7qCfGszyMFJCC61jNSKX11Y4G3pKOBmB1XpyYYF1IRhahZyhfoOvDh5c1z7DumOj0f5frr
eD0dbUs31MO+itVZjoYiFd6qsbhHe3NdnNetcuuQMMhP76DsWfvDl8X2a7n+PNrMFrv52G7Dqm2R
G++Tm63Z8sG9VSVBNVs8VA/yYVIuFuPl9JOTXHjpwTgpd8vth9V4+/jp4+H/PBnm+DOqoP6P1cP7
OQq8k/3sFQ5csqw36ii0IWV/k0mqkQZiQu34TpXUAYQMdP6hwFvmRB1d4YNS6bnh+fODTbwwkMKo
rPlXhdJNHKJOQshOhmtfZ+SSXx2B3+RCzptpF3IwRspwbEXATZaS9TEBXl/6LRugCvkmm5X3JGDW
XmKSa2WhMGcKc3Dh4y7XEdUcscwhUbZZT2LcTvt2xEHv+qAD4t8BnANG3IonstvuAS7IbifefooB
kFIMO/PUhoSe7KlDAoEWXOag5w1kmoww0rCqAQVPQmcdyrxoNMoCGKG4Ss+EHgpNgXMSNjrRJCgJ
AXEolw6S2V+GhNE6PfMv8CTp23xxubibLYvXctWV+/qshqqmMfgDnDSd3i1Wo7HLEj15EkRX4RB9
fXJlU8yLSZ0uONdaN8Z/+mL85xpI7DmW1V3GSQj4MnJtICghxkIvl46ZYnHeXoX9kPCqyNiFN5+o
hGw1Cec8tdlyWU7codq3Dz5g//1f8yu65LzikZyQUIPFFfVmMs5pDQeniNufq5mkm6+YWd/fTSsy
TpVGom7TRzS2na1szbHU4VDW1nTMkJuOtubNkCeW5prRFeVMOYGWRDbWAxQiB2M3ke9NuVRh3EJV
v1HvFsIk495VeM6POhN2kBbtMfRVPKHN6Ou6XD4c/fK6cHzNYuoew0IgT5kpKB5k5Rfj5ezeXYB5
l/v43TOuQ0Y7a4wUFhjT7QVzLJf+1OVlGN/ZnbZ8OE/wSsg41QjGujRuJ5swWFifKaB4NShfi7uN
MyPbRqvGukLtZCfrNpPyzpYIBlelFSOasW7T3O3ktBEcgkpwCM66oSTatE0+kOkQS7kunIU4luH5
b56YyhpGKIMWoElS4Xo09T28QM6UIFJCiOgMzL7PhRQ2FmcGjdEJ2I45QjN/Ly6MHJJ5jYrWSWKM
urFzuodcP/+yP3hazB+329W6sCdi04xkuuUoD07hpSi7XBX+qgnN4gUkvQxEyGjFOUguuxGr+p6z
0xwIQUumRYKykIwhlw0rg2Dh0JXQsVbWognXe4ZrbfBWFnn2KO6dAWxCxUEM4Nvx/P0QFYbdPbPF
al78x5OnP3XwqZ0W92MbolVTO1vO3eVbg0+5rgVHrH0rUXPNUUgldUcmVM9tr0JpOElCjhSb1JwS
5U7sH7kXReTNd2nFULg4iyVlAUee+ul4O/6vf/308cnO+g8//vyPH3/YS4+5r7smO/bAj95dDG92
d7VFJFq2CAhel+TYqbTKqNjRPzmz+v3Hj65J5fyx3Gy/J8aYz2M/7XeP3Txne2efxmoTKhwnp/aO
/GWW9lf0FpU2SbZBVnOhXSs51KBYbKZ0nC37VZym3xwR4XG8XnoV64gJhjlzEHZ4BFdyok1iDYCe
Oy3rnkmhqyS//ZK/E0058Z5cF1VR33nRmGpzMdj5KrJbnqTBtu715VMgzgYQLyCqB7T+7kDEgtG8
+FLM/fwrFDGZZscUy1f7bQe/i/V2dD+ezT20MxYSiYE/n6Nye3nwe/mMATNTHCUzxjCRuASj5zbf
CA3AhZYCoRNXte++TYAG17dZIt1a9BTn1U78xkO5V4vYlqOqRdBoZUfwC5GyYO4C/Kq6WU8pAVh4
BkyyjuytLFmuveGcfSlcc6mNKxJn3C+5x3PiXy24IQGGZNLKhtyx8itSsMfs/Kv+XiHGBLxCC6Lk
He1SBJkBFwajwdiVQNEN6kmLBfuj3YIfTazbE36IyIKOWFExpq7+YLe0f548ju/m/iaZoENCQuFP
zvH8iR/7W5C8zzU/va0ra2FN/Nkk0jmzSVIopokstotel9V32KcBkdCIzojiG8v1aEGKAzJCStud
PrrtPyq17tuBHTyvE2SzR3Yx22yqSqnXdg1+Op4KaZOlF8qbLneOlen5+fWlK0D6tH0rGrVvy+/P
ComAg5+2ZJhO58XoXMDKPwM54140RhopDW/IAodXUmibYiomj+Vpa4XV/K+bx3I3n/7Pere01vjD
/x6d8sszvHPKl0Y4yDj/sfkw2aw+VVfI9sT++1/Ef9oPryPbT75blsviu/033K/qD2f8CMwaSKJw
3BeHaBOXASVjwbyCH9G7QN4G8UpzKbXEdo3Xk5y5ixjvJE70RodKqShWdDteuyZyl+wncEyRwvDn
iZgJ6SGVN2oBzB21yL4lshUh585tSZRh++zHPHIB6wecLAZX0gCl6YGfxBJdheYe18W9H8tBsDja
i1SFDnUp6gD49g34Xp1rLEDWUnCuAYxSyFmqTuq5fN1pFvSN3/PzXXnOjIYAJQUiY0a21v7pzUn2
a0xknV5mDGdKo1KBu+QPwqsILRkxIQSl6ZDfhxNfzxx89TiTR/tY/gSnviDz2Z2093W2nJZfGw8N
dUqhnIFQ9I7BKD+bwpc6/3ZyDbXJhfF43JRfCHcRHvjyoMkJHLZ1XTEWCpPjzHvDSyYoCTG3aGp8
b0hlDbe4clLfBq5uDfS2JfEg/B/ZEIIbkFIxlkqDZBjAwJpaDcKpgHbjw6bLI793atpPI7rtUP36
y2/JY7rbE1X+PCjPWpeCzLU74FwxFUIGJXF3qVcfqULlmOud5OnOde6xRl+e83gO8ioyMRiek6ej
OCrGBdOSdHrFg2FkCaUNZZ0zk8iTKIrkMe3kjVewW7bOIfuNQ4oVjam2v4Po1LDm6mO4W62K9WS8
Kfz64zkvkCUThhv3j0pcRTSgg8idAAgHpg2kl7AZxBRpstPDDBglZRKRlP+XdIb6FMNfmG7OMoS5
+vCY1RH3tFUjygpXldHaek9DJFopw8TcXN55PdB6/STMoCQu++FpMff0dNCdWv/5wDZGvYUbxlbk
XHI7s64kpGOZwmBcgVFaS+N6F6PIoROU/PD6diJ4diJqkwBsehMlOgnFxnvtrjBoYcBqPVvM3LDe
LGvL1vw1TeLejNeQ3MU25TVXbyXhJ211WdHZppy7uo7fy/V8+nE8f7mmWq1LG6lsa/QHWgVlASMV
IulUoMiwJBo/wwDeghtJIMBoTK/wM4wp0gSahBJcUQjpsPRpkodi+083aDH9+2+//Ws3L/xVr5oF
NX/no9Z7GClyJhNBuU5ygmEAcbjecp+ajPa23Nq3rTHaOVdGoBECBNcGeXoNqWFcWzIGUgulCEwS
+bFEAHmPZY5Y/pWXczkpC/lyNs/FJmLSRvztJW/TKkVDLd/55YHO2gTL20dtAK4tFlsbFugRXgbf
O6nz+Ouq+y5q54+90chVcl10lbl3RuMCOhdtFvP2IM97hSqphTLZuzZTh0162mSKtdCfjYYxDNMC
BdMIkEOTaRhQmwshNGnOuGguR4wrMRUu6HR9p5W0ayTalYAFfk+6uQrLQ0ho4CVwCm+z9uC0ro1v
U8BCrZv6W2RcPBXT6Z2/q3/OG1fipA0Yw1sV8yfdVW9n9zilzbJFosN4SdaVrhV+d83TZw9LCymm
warrA14sMMmtddJdg4bIos1Xmorn1diud0Wr/eq+4vTnqwV/evTaKbA2uRNunC0cLK1W/LRoYLes
vvQ4Xk7nfgupr2p+fg1gveoRRo/FfOV/EsWzkiKElIq79rNt8FAf92YdMXS/LJU477u1qaKbdU33
DbjqqrPD+fC3YbqqUyoNJXj+3kN5CBE6hzsGoAUhCSa0TFN2FfcQhIM5joLBtEIFYWvxEjmoUBJL
seZXGMHQgKRW/b97PfXX5iIWu/l2tpoX1keOp8V643eSKpgVntjn+LzXA/YO1SaVFZCkqBztybpk
Eml6CgzEEIFiAAK0Ugy7l78Efuk2+p+i0v/kbfQ/Y82xMlIrx1Mn1CEKRLIEIcf6xmmxsU/47Af/
LYarFnW8eV5OjjnO1n3UYq2fkYa7cTjxdgWCA7EFHAQ3XJJQKk1JxVDmRWmuHbGGpEpfjZPltE9n
07/Pi/H69+oS/Zc7pxTtlxrmJnZEdQZk6onkdRX3N4VV/NOJ+IWLqzbF/P479x14bZl3Fmap4JlE
v+6D7m9OuE+Dh4skuCElNQimMEcN0GBsJAJq1w9QiSQlLpnM4mblRv2xLsrh0kBWpILMhr52u3KW
g12eNwTerexHN1cvwbDXnIh2JrT+EvGQGi0abg5JRDLblcerlqxGTQR4zg1JUoAr0uVaQvcKj4HY
QqmlEJoLsAFD+orIHLefb3Zh0w2oVDqnL0dymxE0Kt2q9C2rfSu+2Dk+zK27XNkr3I3K5fx5tCin
tSXcYY2du2rxB/8dLVx1d3TRnEnNspozY7jLKXMGIcjyeUDMUcmurj+VyHpIpSSJFk4qCTx9zUZv
TrifEYRxLPbXz14NK9nmujQcXc4wlEpKrVSSiqa8h/ECfZVH2m0HUU/nT8Z35W5rvzBefm4o55Nt
OEzhwkyJ2gbi3DFckpQDDARy2p/JtOJgtMxS4zOQaUIkDRaXK+IyfcFNdgPTwDWFkPza2XK8v4u+
3y0nVZdZxwUqV7vV6CVWnjzO5lN/CoVlpayQsOBOGSaUzsFkHwqBxdiYHi0WBsYGIj92Ld3xMsuR
u5vOIeVzamxDRdbw4w0LwoMNM14+38/mp0smmbRD5AQShpwIreEGEAbZDrU91vPbf4gSWfijipyG
S3FZ9XQTKPpX7x7tpTUYwf6PvGttbttItr/lflC2aitw5v1wlcrlZLN3s+u7SUXZ2vvNBZKQhIQi
eAFQlv797QH4EjkA8ZgBQG8qZVuOouH0PPp0z+nTRDDE6eRYPh12cvlemwVZlP8E35ReiJth9qPS
KjQWGHNO8Vf4gmjlhS+iZQTmWcerB0upKVF4zCQwYkpTuPclllN/kuh6FmpueoHdOfaHZTKD0Z7D
NDadj7PuIqLtK0JOig2skh8YOXvhWC835re6pw2JvXIkyk9gr6XogKS2HVT3zSuC37NDU5A0gmMw
h7MTGVX/wubWgZUvNorjybY8R7/FT5HJhdWstiDU2TEqN/aFBGCjFiWX1vgpykNY3HtYgMcAwVTB
HouKenkxmJlrbiuusXsz16RBsHJVGRU+R8Evdv8XOBoDnND8j72T/ZBHWX7bJ6wlhF7Hca7f12To
fV3OM0vnb1Lou5fa2Wuw5RN2l4ZqtsH317fXt4Rzr2iH3OiavGEDi/pKnnbcUxmc/oqePgx50Uoo
E7hpFC5ejbhmg0yupL1uut/D57B0F8sYJj8Ls3huf6+mXiYcH9W2xisjDVH+RXLaYskOB7mTy3Sr
FFT5HkeJK5f11txWFhvnPjd6NdrC0pk60bZkdteiC1Y1hetk50nswyvUYd4u+sNZPvm7/CXv0CfO
X3IDFS3YicCVD4/e3rZWm6cZnEr3kM7dgyNFmmvGUGu+UOsc85SeWbnAkgnEibP+1VNKplKuOBVS
aOG9lnRKrFYBS8qUYKg9L8ujltMqyesUmy71kGyJQK13cClfPuZjFjeLU/T3FS0LFL3nKI+UAiDs
zIMq/ih15xaSolztklsQLrFpsSsHY24dMFNN6sRgpqnu/BbQzBpcCp9B/D6rUGNcItCQiLDZ0boP
47NmdmPjQyoVMu9fEi7iPi+P3jBkFq4Ws+TFUCCrO0TQUXmwnEqNCWVCqX7vh1NCExwxgMUUdofw
XGs+JZom1RAJaENtZ0NWkk+qOIpjhgXXmA38Gj6pEEIwxoU0arCeq2V9lXxlUZaZzGiToi9JvOaC
Tz6KFQxpd6y5o5bnFodb+Avs6R3F+0wrsNGOxgv/OcvTzRyGr1vwTgQPa06yxNVRIXxd/Plfv366
vZyohGGGMUItRJRXuwvqDnr+GKcLozKWv9ZNX/Z6aJvcod/Nvv5prRN1/cK+i3e9ArIYPEmFsiWW
PoUtDxjZPOHbmgeQMSn7QhOpuQJkwQbtQDslOj4gaYq0wEL3anQ1oSlpjriCjUU5lsNqWUxKkktg
JRUhsrGUwASXUhDFCMQ8gpOeNTUdJqWbOLkv0Sz7v2W9csG45xtRzSj4F5/SbK5NfNmLl3a30zh0
LXzyNWbr2VYnhR+SqrbFtNFDum6HE54uhGHNKITas+Kvbgu3qnP4rFHjVt2a91FQXKyYlnlatbrK
HOnSqqlRBnbwMNLiUrUHyOg6Dvd4I7tzHaaWjyuJJKVD6mn09yMO022ISCY1Y1QMWfbtEq3U3B73
m+UyMK9GwZd4uZiHEJ7XuYFGzHXtjUVApVAQqyGfOoGOgIy7WSuOhZQUD96CdUqnEAAsNr0gtFTD
VtZPyAgAkpAgRk+4o5Z0UW7Wf0JHqHVPcg6zzHBaw8UiC7YU+yDOoyc7yVgMMOgH7GLYCjSUJ+uL
RTe+ruzmtzWWruDYS7YMvv/08w//+PEv9l4QyM2KPqbRvSnvabiROHIPy2Cq714snk8OMsPzXct7
sUVcNgBtu1kf9gpRcA09zIN5GmaP9lpLyp0dzU0Wpf8dZfkmjX6s1KjAWosRb3KptMAEK0QJGkQt
39HNX3057IlPtbfEmLEMgxuZUY2E0Gh4JX5HC+AOUClA0oRQIzDQX9VharMjgjPGOFFSOumaMrX5
MVRoKDEM18gYshBTswccbc0Z5hrJQQTkXV+n1VBkf7HaMEmXHKaL0qL7JJ3Fi0VkXtBfl1H2GEXw
+bIu3NEGiGknKNAwtuiQqN51ql3BaNELjBDC/sGnmlNdiJyN2k7hou3ULx/v7r5ZJKvorAGV4EMY
0hIvKfegcPV7USkXxKtlvIp2tO06PpAgzj/FUZlm8XmCfQ+XM2qEo7imeUhDO8QZxS6bhYtg/him
xVDLOMwqymq7/vyD0c5HMnt5+ze3P939rBTXn8/aqGHueeT7JJmF6VlsoT0Pa2Yb4MGH3eT3n9XZ
qNL3fj2/JmifLMMizMMAnM/2Qng3t1f4KIEGWEUDCwZfRzgvnwGDkG8Lvxvd/h5++xylhp92VvuG
OR3ACn8eZS+D7Z3s5tbT/YxHuTHwKJN9P87+tk7Yuz+AkYMxRw5sfgH7tvcSbvCVZVw8FJir4zWz
MbNu4EQ4wpowrfkwjXxP40SIU3vFicZb/paGq+w+SgsfXbhPI5BrfKgV8KkuC++OiKkFFwz+lQK1
N7lDE7rbRFhi08SFoNYV/E7apE0u9cIYkkoJTeuK8aa4klpjKiTVRLrLwU9zyxKGEFKI6c6qpc43
bBcGV00Xvb2QQ/AYLdd2PQfWBT2/DY7Are0DosqKX6GQf1dr8m51aRNO1QBpE/MpbFmTrviq2OeL
nc6j1Z8JTHoDqLfDBNlmVrmYWI+a5+dUGg/OFVIOu787pYAY/cSD7EG1ztqYMERoMKFUHAnFRuvC
PSGnrRFWVEnOJUIjyopP6T1UGBkcQANMV8M6R0Ld3vw8EqbFoAQHhIfsozwlNIqlEpjCtAjvRJFz
NqVDzAb3Y+lu9pWQJfE7hI1U0Q8T9XnzWCRRFhhEVDxlnf78sn0K7nXlH1bn+PK3Yq5+FLQWWKiu
DEKIznhk9RxmwTrM8yhdwbolTzDqPI1MV6xwGRSEPHvPZh8YsOGTGe2C/ao8eo06ley3S7e9xWAi
Vgtid7Urh/16Rg7b6j1vhaOqhOrH5OloCpiXYc6VbxXIaUavcKVrzU3z3PbagVP32IJrwQGFEaqQ
99WduC0IWIJxIQjhuhdGn/g8AZlwKrQSqvU8T7H31Hc3I5wguMhxX1rWZZZrI1P0KxuMV6tkbqbw
HM/z+Gmr7V2dOaDYMwTYsasfkuT+tbu4fDMfulVWvNQeAA0050O5dNXLB9F9OOWLNHwIFjDZYBHf
30dp0fO8YOXZCey6b8X5fkA71EKOALtVFOkSisdaD7OsdjTLXW/io/4xO2Ume7srNSbyIwSgJ8Ae
CGcHfmiauF/RDEkhBRGkdTHgV20XzJggGuzCKWsp+DJN6M+FJloqpeq6HzpKaPlZ28q3q2rZcaXH
zJRTCb4Gackkw73K3Sd+Vrig8BG4VEjTtmfF81ap95fHD3/Bl0dD/Zgvk5XR5ii1y+3icoJidzmh
OnEa6gR0lY2ADbHFNoombtRo3GOuxrijlFOxdwfs8sAJSxN+Z7YuDJI+w9YIs8B8aW9sgOQg+9Nq
Vq3cmdX8Cud9k9mbWSk25hUjEaaaKqQ0FT01Cyb/8EQlY4iTvrocFwXGJm8JOL2ICs6lYMOKdUze
4SLNmOKSc876t052TayMsnm4LrSYnnacygiullXl24cmo6qhYGweOuFiYcOqoUz+/JmyWIjbFUHI
s0SQJ1McY67NMo/X5m0T0JbZm1+M4AfMKK1Iv+leMmVVb2Y1TDfiG0fkMNfZJq9HFFxOeta//Hxn
h5+1lw7s8tNxmR7K2nXpuF5VoYe07b9+/fT2qyB6ge/aqaQXULbkSRykU+DTLBJr2STmrLeeY7At
Aw6e4zDYP09/gW+wo0vBxnwY1pgorgjnGomR5CymEAjvt+x2f1i5sESOyuE0TUuQQqixFoVFbGCI
By6XTWO9QR/Y80xzwZFkw0k9TD4jLglTVCIiW/cKdacHMvn0uKDUkCMVZcSZKMz0A1JT90EQ11KP
VPvh202cPG7WufGzUgWuhF8HVYeklPaApG4Qfn9DyF8//vQJfkf5Y5zBb9ljslkuivXM4dfH8DmC
32ZRtILfjMHgI8L/dcoT7fLuWyf2XeqouBHtyzaV/FmBXRcYDSnr/ZbaUK+Nor2ImFf1We1F+OwC
/U1LzYco/7hHec/hcmNn2wjShyZQaGrOk6d1mMJFGGZFz5xolcV5/Gwdj7Ph0Fa/cfZyTlvCeZZU
dDumY6JkqWnJ/sOa9E1pTfEp2wjvCACvGCPfTTimaQCYPRWaacEZHq1uevo4HhPEmKnL0n3KV6Y+
TykJopRBzEKx7zTtJE8DYwgGJ7pWsdBDYwU/ryenSOIFHNvHT59+/vePfzHN/szcDmltI12yslfN
CNmAPcDRyIi4xh1XfrZqrLXtApI/hnmwjlKTDM7OjWa1FuIeS7xPCLbr5YfSYp/Tzer2Ncq+mWfr
2wKbgr3+fEO/PxMekY4tdbaF6tpuN6r5qvwQRru6wGdbIU6zH7IgMwtVTQI2zAYve6Mkmq+MukH5
F2AB2CeR0b5fwIVv/zisSRV+4w91fKTzMAVQbioat4XzzU43Zk1oJ62P96X4ofbVgOCeu6RYG9PL
F8wxT9IM5h+Zxzr4myzIk2LnWFdHjfqADK6HIiJYXSeVxurPVwI6FBdUasXhFzaI6PqV2AXGp4JR
TKgaIUV4JUYyOukCY87rqMj+FROmz78QipliVarkkN2yeuHa0wveHcrHSihh2vXUyLe4WdHRUXH3
T9goC1onKqhRJ9z1RgkdftALLJOtOSVqwlitHGUZZ7nZNAWC+vvdbwV2+meyMChuDjP9w+jsFrXo
n7bfac/OMe7iQxylHx/j5eLfgF6+3+R5UlHV5qrqrOhCs/vy0IeGcHSmndVnlgVp/Ie7u1KoIY2e
kgrqBmZ6BCSaHWWy7XBUC7eLXCL1H8xSd997jMjei/J3MNJdeZovrE2zRL63K1sKDJhYAUps3/Fy
JDKlN1sIyZGgxh7DNsyZuFm4YBorpgQWahJl7eOZQuuiq5Ki0r+grh9THLmroyRGDFNJ083aJDlm
r+YKfzAsAvc5y15ZuFVyloQzEK78dnA48MWfVskq+pMlNTfenoHLVTHNsZRatH3jmPhxUFpyjAkD
eDEBBZMekBQ2WZoDjqmAorp7i511Gpk/BgUi3P6lkS8/ayrRRET1dIbWPj6kSx8fpyCrzpqsidTb
BXAV/7VsJH4BWDFKu5t0nSYPMOUsuI9XcWbk7GDkZVUZKOmVfbdfikWJY4Gja2JBITsMXP7kY1E7
83VRfGrRtlW4/wjP8SJKgjzKbD2HECJjRyf/vLNDcypcXTv/+z+f/pbn618juDmzvFkMTLpEbbsN
vC9eLjL2q+RQVlDZlpSotzdFKRXXbtDTZmtVw7+9Aht2T+sU77+1vN3Q6KtOOG1vzaKZ8qVLkyLe
Z889Jc/g7AvXAEfr4SFKi8fdrCLS7uIMHD4KASyTQhKOrkNso6uT7nD30C6ZmQMcyTbzx8KfzLPM
BRxx2BSXSKKExEyocWQwKhfx5WlpGlKm5Sq9uUrXy9eTdpiFJbkYM6xBHAuGtNaIXqVck78kAZWE
YCoZFWQCkjL+zpKQiguElULsCmWpLrjLErKuE7gj04v5dYbQqEdRESIBQyGGJiG8UeUYsvjJlHfX
9p/gaOxYAELZis5SzFM0UJ9+oMhVmm8PyjMj0L4xUkpVsQCXpNeo6/gFlv0hefcQ358hAPF1w+1W
aKxu7anqkcEoMk4Ge5vasLojJ1jPPHICG+s+SlO4KNNCa9MeY+kxfZUkQhgBkd435Nf2uMMoN/3M
ALSo6xAQaXbDxqtwbmqZjFhctkntNzqWYyJoJZAGnEiY0OI6ZKT8vUJLirWiRCs2aHXA1M1CFcdE
ICWUGpRdNhJHqy1Mq0jbKtLPoV3k8YBPcMrjOQcMtiuszKvZm9/hUcMPQTEpb7MpqnN14cq1WpKA
2Nlk/yEw1xhmK/jZiuLHFPOS8q9qbKM9voN2mD/VdEzchwVHEFpKpuR1yyk58jJx6wp8CCbGvHUp
IpJQrvp2ePS9Hg5bQ2EusSC1DYyHkjbyNkvCjJYqR4gJPEjVzlVYRQgkFIZ/OOJT0zLq5CFrU35s
VMIaQ1Rjbf7h166t5cid1+boekH/S9SfPDVSqAUByNo7geuvEWOW6u5b0tBjmuS5KTctSkvNxjWC
obdHC2doHflL/s3uW2+LzftN/nbPnu4e2OY9bPcUv0SL7en4LpwZifvZMlz9scMR8SowhcpBZdZV
MjUGtqmrDlbjhpFKYSWV5loPLfI8yWI6qTB8UE00Z9en/OgxJUYUEowo3Fr5EfXseOwP8mGYEILV
lppct2Zhozf10kiX3tTNEo9J4uBSMk2IoIJeu3xTS/SxMrQH8yd71mLcZzwtOWEE3HtN5w2np/zq
C4vLLkmF84eVvaCwyLrQL37PCmr3Ed97vdwY0ZgzrrdAreSETjDe05qd+OcOnGFYHjiVrwWrLoQf
nZvNZ2g+Rr0EAgB7MpdzPAZau1hBq7skma1PHWev+MFjtFxHqaVYBbcl7JcdAQ6WP2Y27tdg1++h
qLE4H1QqNcDRqCm1YEwOb2otmYdBK4cTSvc5Ud3WVX6Nl7I7cMgRIZRIzvv2PXAvq+Jt0phQrDFT
FO7dK5Qu8odKmcZmHAzhzwT0MpvBfbhdL/FnxahEHK6Z5CbfroR0kVy+lkPGBRheYsb6trFrmGDw
a5fpJg0vQU572yHpHmLB6TQ6mzYvrIlfdLWqbWk1LoHFPCtKojRSjA//Fu73VFTwdLNSZ7OSKiHR
2OFOBbdLM+EcodYdC+wBfh8ZvxqKM96HPlSqtv4tAkibbr+AocxXBo8X3dfsreXU1wjGqw5BDSle
CTFo4IVVh+vevtxHaZg0hptsq+B73mAPIzb6Ka8otiGYjCpswo0sPTKsRv+qWBN9lTDSloYhjxmR
3sWOJmoDw0rnTBKK+FegguqPnUOxkIRoQphuW1U90ZVnklEqMSUQal+7SHBnNa5o/pgEWxhfQIb1
8kOZ2r81X74P12v4P7aC6cGXaPZHnJdPAasoL5q9frtMHuL70pt/A3++/eXj3d1/FTJeRk28RrSr
U71YU/wTPa3zV3ubI+4MXpSEopIWUiE3OibNSxKplNBccUz7Nyj/D3pvK09AdmT4p2T+R1D+dQCb
/AEg3tnTF8N9JVwKPLVOkzwxSQrrE4XoY/C3LbTejhYkz1Fa2RoYojLv2YOalxlO6RRwrD1iJZiO
i2QFwUhr+ARskD5c03PlgknTPldwSdAgzZcmaAKBKAYwIxRHw7dfmmBswxDBcGtpKcXA9eATtYhW
CDMqJMZcuOhH6B4PwM+PVwu4kReLWfmglIWrxSx5sWoakDGLqwTiHHaYJhBCDN8Vorvp8eShGK7e
HEfSwQf8EsHqge2jIhixdyVG6roiKGPtIoA6IKTqGEp5WHUDjADorqIvNf3IMDthrphprFqN/yaF
2mR1zzUlOwFTh6/1SBIMVwH84gx7NWeHjt4NhmukBdGaqVEI/VOEYVJSLTFFuht3/SrWnQqqBTPZ
QIKGSZ5fx3FQWKCi323NcXA/nXYe095viHi+yTvf3LhrSuECDZoy2n50d5Q/I/lClOJKomFeXkbY
cWl0Dx/z8YITLyXIcftRJ8QGqrLHjfh4I/CNFMWv9EbQG0luhL6R6Eay91t2Rp6s3+3OyS3A5qLW
8H2RVLaA6EY8OtykpvFgnKOmrMeFjjXQj/s+ujXJQMqIM8x73AS2iDhPmrRlm9lWnYgEy+g5WtqV
72iHyMY3laDdIc3WhixjO5vC/TVdFh8FiyTKAgghg/D+3qx9pfoRlsTVpod9NStWFuKb6thGinan
zA1Zg+ARXZJgAnGkBEFUjNS/3bd7GmAjuCZoMOOBFJY1Ej4u89o+l8EhZYNCyCkURB+sExfhKmap
IJJEWlIJ6z9S31lPJjpyfMmqaJ103Kds622th5GoEReEY1aopkDwq1zkzwcy8WG6JU0BMPCHE7sG
Pe7UCzSMCu47EcI9gslhwvMmCWGix4z9KDhYCrc6a1jg7IoidJ1Bismhl266qepKIzH1Rtu5Grl9
6NJX2HlIkieV/80etRHqHMqn0UNcNFCYva7DrFQih9NR8Qmk1L7O/TaAsV42umt2oRRngu02C1eL
4HGZBU9RHlZx6zmmwt9ValrHVMwP+XHCefwUJXZNLK3JiFeoxAoRbrio7ambk6Brdtnh7v1o1Yle
JynE5LDhoxVsvLmdiCbRmFhMYAxeXIg6ZuMU+NiOr3xrHQsbM21ABMMQisFSUDkiz8bTejnsGKWZ
RsWLGR6SpOd7H19iRzwkBqUUHInyXjmnzRI0ajIBMQWLQ4TE0hlH2pPVS0xymCngke92eKRoZ/u5
oE+9e6Ibda78N6KRGTO1VlpRLcdjS7lflJOs76WzkIXP0e4UnOfZA9ewYaBc/gkTqnJ+nGlfUGX7
VhRsY8XY+mhERgWsXGmEwQcI2aE70dSdG1G8qCRkirvTsZz6nCXlRlhDMuGR6DP2LCWjWBiOl9Yd
0N1E1vz4mlwn6836Dbc4MJmtzs0bvMGS/2fvSnvcNtL0X9kv7cwslu66j1k0jNhxgMxmMsE6Afab
QUtUN2OKVESq3b2L+e9bVaTUOooURRZZlBNk4FFL3SpW1Xs8740oUZgaAElkl4MfmsKWcT7b25z6
Fnv9m7wqheoO7iuGIZIQCbl0kAk2rrVZuhVf3rA6HhDD/qAE5Y7Bs55k/UGPa0xnEXpd5Ccz0zmD
zLXksUudDpk1u3mQptfJNpGmWjuInjRZ1WT+QUwHh2X6cOtgGaN9MomqrSZxoXgzye0TANu0WSKy
UbzFS8WPgR4V9np1OsGzH2mcT8nahUBqXUAI4us0XPrJAdYrLehllSMyKrv3VMEe6+Bc7tP1qegN
atVCGPFQcuDf1tCxU6isSSQmlDnrHahTqNtzUMogGAqoj3kwHaHLdqrLKrJyrvAatMC6SBtQrnSe
u2yu6yFRzAkQAGMsJlQy0pc8a/IFDqO320aQOoJrxShdArgGoswewnWgQGum8Z+OUz/E83mUBvp9
3XV6EUfJPJhHi3CTFHaO4B2QwxE8avUUFv2NMe4Odk2vhgo/BKaBhQFLn+JU3bgCver9vBb0SuA1
s48iKBHRI+BGcKpcygxN3fsvx1KzdaZkdgOYEmKQ5AVr0oJAPrK6Uc8jDT9Fr1fp/en3dqmD2LLP
Xlqg4ZjvdE5LHhdPx/QAJANDW4jqo7OEgnulWNlzyirk0JgB3m5exgRtq9LhUJXABZ+edw7PON++
VO9XEsY+v4z6c/FIMI5NXZKAVTWKAZ1M2OJkAlQQnwANQqKMCIyBQKR/KPw6zCYuEBeYKoNyvJxu
35tmVHKOCJVC4OHqJ/oEFtrBWsPIb+N7am8PQz0CW8SHywPV1kTNiAWfKR5ACMIo0E3WR0lwGpII
9/DlSnt+zbLBKkpLOjDeYAM7qw/CdRHXetg7VWu+XMN29Ja59tPkKYhHAGd2POazMo5jKIlAGEk+
1WrF3vlEI1aRWuuF9ki/KkW2Sh10nfD4ACOabrEGD1Y9PpsqTC61CNziYji8Tn3/67vg7z/btar0
6funQikZJXgAoz5yjUfxKJ63XY6J1T7pWfqEP7KX3ZoX/4jyXB3rnqWudG8epJskaXARiF7N0BqV
YZYmz2XEoURi1uRKMTxr/vDhn4GiUVTHn9jnteMBoZaVyKnXjgkCAEQ4plQgOZ3q/L7y54D9oiR+
jNbPiufmdvUvhM+0WiQBxwwDzhDyNlB+8nE3JjFGGHLJ4EQbCXhPve/ioN9nlD3QrGN9y/LtINGl
samdc9SdOOLS/ZlXs8dTGxELfl2peg7rRDHGXHAIoNda+0u1/IeHeFF8/PsPH+w6nvr08yBOACWK
+3G3vPeBq3GcYRlX3Bmnj2ESzyvYajrVfcnPJWUKn41OBBRcIikhJqBr7vmw/GQHjU8Pdg8FwGxQ
s6B6rYOYivp0CwSrvGd0eMERliddfWKVHl0cCFbC3ku9MpeQF3GyNdTqbTQukUeuJsShqt8/gH2t
r4+gRucDOUgq3GkjkG1yXHMWP8QAeQ04AqJnz/G+9tOVFoXrzuGS69RNgUedvzeGWFaMON82Epk/
p+Eynunw1TL4pFuqqJ2un+35+tgnYkRKRKj7kIJ3sSgn3XLirCKzt8rqkv1S09q0iBe66Wdq7w2E
vXbb0xFxwCmjyG1q7rQMCz2tbhkVD5nVn8a6BBO7quY3H6u3Pt79+sv3wXHDAtyrx+2+wq6A9yYt
u8yWuVCfwjwKivDe7kb26tNCHAsmMMCcXHlvo6+kzIh6NbixxIBJRITgcqxs4ZE0UqsMRbsRMUIU
VI8kLKWVTVT2TFveBjh2k27UA6TKdgjzPFrb03uET8MJDSqN59lss9R0Pc90c0dnpTvtsI823I29
ZPqPN1VZDhn330mFWb7ak0VvdPLPneOdYO43ICF06QPS8xr7zJL2V3p2YeNNLuSoLbaGIhvklWwE
kRJqLQgBcji/cOpOAkEw0uwCOUFTb1DmLnAjASOUEE7pdXfL6weBB+HiwJEmr4af17t6EWzVeBf5
jK8iNxbDIBclKPHas08QBinTsw29DRQe1W1SVpSeGgKPYbKxXhDj+CIScwvJmdeGdgAATiGSnNCv
oO0r6mU3xGkSK2PxBRLas4Y7yCMLoWqS1CO6DunDVlnbpZXQnipSVnmw77M9JcFWteOoNbr+7v1P
P9T0ddDp2Nk6iu/TykTUgLseb0vhkS8x7LD4iE4yNIiTjBPWY211/d9u5nGRrW/DVK2zNreurjr4
oj6Pdm4SZG/t6TMpHeqenpRBRAkYJQt0WNG376PShL9fll0lQNfNIYAQNYfXW9z+Ebm9UMAmrQa6
HA4yPRnEAeHle3Y4/VdwhBGkApKr73OMhuvgpCx4KgGm3OPQ6P7NMNpptr0SjkMNdqTidOpOnivJ
1zBxvV3/Zscc7Y9SiE5dZkTJd+auaf4w3LEDahoa5Gm8WEQaPczL1zUpYRAx2Os+Xw52HiWROlZ9
wRbljIRPqUgo5lBAJRVB9yL7XGmHqO/U934wvxnfI0FHAEBbWyN61Ido6qE01VkNDsQHRINxavr8
mAKd05RzyJBHgqNCMmWbIsrAgLXoQ1CklbfVurPPtaxN8B/S3ICix9oHNZZxat6PglAxYBaUA8XP
j5nzCzSVuQX0NAGGQPsQWkmxDnFPQ7aXIZyfK5qt3KM9kEjgzrBolq8zRYafuw+8utjbcRpKvMzX
gYCAbjGhfcYU9UntUmEHLihgoqtZVQnrHq7GEeGG9Z4p9ngDWCBGuZ65R1BfCNfDZhtIwZ4Bz10Y
3134VwBKhcCEETJ4jvgkTeIoajKJAaB/RPxDMXaso/tvzV1wCQk9kI0RysTw8n5cWdMI5tv1pb2M
orY5lSbNsmp3mJt4hsJa275iDV0g23W76Url21EYGiRWr+8OnlTdTPXzS1P+Ey+V8CmgAdN5SZwJ
AIfz/w/q/qjNw/3yEKXb960hRib6Y88z0xYEROOo+S7JKu4AFlboCuiWZpKNCnG9BNDbyCSrLCLQ
pyzqKXfG08T93Ip2Z+I4ChAyn6Jc3ShTj4EEov2Y0KmcdidkIBcMYiUUWu9v6luSQiAsKKGYjTtZ
dhi5ue3OvkkXcRrnDybcHc7LmtmietZ5UDU9SBL9vj1yxwX3GrkjkiGKlPEqx/AXTFOhNfrtqOhO
Hkc9Ok2WosnXqn5Br7z9HXsvCp/Oa8okklwIoaT90Ih5+CQZnY+sROrL1m3as1ds8AKSs49qhK5g
yjqaq0uZGcSw26+BS0VYbPI7dQ6vyrTwu+2vammlj2itG9/nu4ktufmz6oe7RZjk+9eivqcL7Gl8
5k4PUnKqT0nKFRbhGAMCseyPSTwmzW7ptexe2igaCXeiOY1LcXvunVSo8GoRAikpI6AzFu2WXj3x
7DGux6hjAYTErGf22MR3ChlkQDsFwMWNANx1Oz4QymRosdC96ra3AbwXevj1v3+0KnEsXaUcWNs6
2/IQ7FWY0AViQU4RSy/QgByBBuQ1aoGVqiYSCCQJHyXraKQ08K8GSkGGsfbTC9w/iD0RMHVBGGfQ
bMB612mRrfaG800+msOQlIorCRGCTTzluBOJWEkDTIE0phXUI3rOBMSECpcpy1OHnJQjqdSoMjoo
duYAH80Hg937YBwWvUD1vRwQAS5P43F+gL3QGnaE1vCVu3hay9+y/3O9/IVdUvv6y98PxtqZltil
DHMpqPqHjJm4P7SGbmuFWn31xGdIlDAOuQLOhBLeUxEOllzYpny0uWgUeQ2HYMqIplrG+JgJRKPp
ZX5GL4+ou3gn3VWsN4eqiw+Q+Vk5n7QfO68cQsv7IF/PrEJBOj+0LidRpmw48s+ZlqwP62ixJdva
yjbs1Y0gJBOEQEqx4J7m6fT3yjocxKkEF9Jam39lkf7VOiuymSbDbLkK1zpapAhUe2nTPC7iR6s0
o13ypPI8KVMhDdtv0jxc6NMv+dIempL9BbPit9guXARzBMxNkK14CMsBCbndq+6zUlQSBrDEhCMI
PNa1DEXKiq72LqOOwuqLHCECXoscpY6AYoYQGmQ+hENhsTvLtz/+891/lXV9GnMmNcEkzDqc7KnS
NspZ2RJ3iziJ/nZ7e1ssV7c/hs/ZpvhFKfH8Vrv+bgvzcu9Zd9En9VcvZFBCo+On7RhWuazOpQI/
Gu2skjf5Q7ZJ5h/Xm/TuOcpf/X6nd6F2t3uIvwkAwAUmcFm0/1v+apav7qq1FLpSJPFNmqXRNyfD
U5lXmSShXgcKCPpkafowuLSTI9gBOX2Xv9/d4Hf6HXXY+r27b2ov8wbAhu/ffevtNzf4/YlC5F3F
4yJaR2udwWVXhdxrcqtSMtodK/h1zoeplV9aIr1ersjBd7J/QwN8J5RIwXWfakxhDAp0Yjme6qj6
0ohwJgoMutgJ3ZP+eL3UrGJXza8rI+ODMPkSPufugPipijxeMVdastSRb8rFT1qrd+mDp85Pt7nd
5aMFpb2RJHqGUqroYm00tFF0T4W9x7joCxD3ZGEJCo4KNE6zMpNMx2/dHKz6LktBCCO4+3HuFZ20
O9hA4abVpgEQI8yHcvwo7KOfqL7UmVHnjpZ6C5Mg3JeclNwygeeKrLSMPBmi4cqJZQaLVfh1dbwX
CXwqcXVtCAlKAaMT7FrfVtDOo0W4SQq7pOVDS9pqdRei1p3ji0ukk7IRpKx/X/4L1PTYAthvxRpG
UjKBECKdRoV0PNdODjUjufPgPtOaBgabtEw1t/GM7IJOlkonh7dlf6pq0Ou2P7G9NQbpbRTh6RlF
gnEOJMccYDHRcfZ9M6WPOdN0xWrCulAMasdvcYIx58/4Ys7Y7k7s9otcSxWgavPs7fxIu5ic8SaZ
VApFIf9+g9+q/3v5lVrnEpFDZnscPuKJY4u6MxJwjZHQKa/neJHKJWl81kUJJE8WQq5K422E2mjD
QuI1SUZQqaQgbOr953I4zpAyz10WBSRYQikxw8IFzh5y040+K/2dweRsL9cpL0gAIpn6T1zu2JyA
o5IpxYVcW+ON3Xwx5Vfhz2pnpL+A4xNrXTA6pItFq+Tz3U6OivMnamZpnn+M1npCi3qpjIHwUxLZ
ZpJI7ByNNjgECIVX5BA40xR4lufNbjlyNJd1eFqhXjtVcSh0H1BEpIATnE89qXgmGDee2douMs3j
H8J0nihscBhwT7P9IHmDHYMQdC5UUvVkNY2/Btd+Zu0zAqWet7FP3s4f72+rtgamH3+Qx/9b4xRi
gLmGLdpSQvaJCHh86NDE/7ibKdhmq1IMsfI6CpPkOegfT8WXsWEW7D4wLSDn2Zf0fh3OaxQg6/UE
bXiz9oEmFRJgBHIKMYGAsqvKJpyKXMOXyh1cJ3cGFwM1K8MhdjnoUi7TNjqLGfvABTiiXOkkSPCp
Hj5oNxs+G26f/5iF847uSzxUbhlnklKs/oP06sf7Nt7D/TqK0g+/b8J19Fp9ctJs6msQheoilvri
k7CuMAET6ZHaMIQCYyG5aPDOTnhIJh4YcGNXCUyLeJ035C9JDDvOtjscjFs75e6U3KG6SPe6o75f
OGnlP+ylNqx9S7ppjM4XrZ44SxuGx+uO9GMLNonGPIHiIV43HIAQ1KPA+4qyFHD/jmaz3N6ZlBN3
QL21v65z7oLVT9cBo5azQrPVs2lOmTxGuW4HYO9ByRDuuMAeQ+n6RXUDv63uTyv9IHMum6vyMrUn
a7IKQUPL55cHcCGjv6oeMLhL8OPMJEQMRlY0jAjHCNoecSVjmIAXCMAmwfFGsXgROREfl5pPl+7A
h2SquvDYw5V8aIFUrT4tacSJEBAixDCe/Bj2i4+pTBwrAwbzLNLOpiKInuJ8P2ZMFALCR11dp2r/
d4XJltQfyb2SHUSCKeIDvAPZ+eoRYRXE6zB/CJabpIhXSRQswmWcPAcL9dCLcFbb6mZ8vNsvYdcK
en3KLU6FIJJyiTn11hZ7aNvqWJLUB8YpGdxJ3iIwfgnXROqq3yfRUt3bT7pgYqW4Bb5+6jj47fzW
ytnGpVlaThQ9jW7QY0PumtzASTb7/KLkkij83NhQDmLEOomhlx3GaZrNNN89xrMiXlr9ntIpgaDX
TzZ3JhAumeyisDcV8MrC3hODFDVOdIXSVqYdWZtZNiPYmgw7JWRsZ0nhMzqDsFBPIaiErFOR3XSj
eeOeI4GCCaZ7SYF6p++QiFTpuaowMEyfg0KtbA8Cod4+xbx4TqL8IYp0H7F5sIyVcjXrWZKPyTAy
2p4zwKaTMzBRDLEjlXX0m5bqW1LRkj4v1kqjB8vMrvOExI4NmFgxyboI77Xpomst7rpBnFdl7nuw
0CUU5rcVXxpTqMxnUUZMmKiF/vJBbTC9f71YZ8t3D+H6ndroX8ATFf+h/sHmn7/+9T/Vn93u/q5T
+Z5f5vGs2M1uq2HLJeyeb/SpK4IL58+6F6u6eiX5qijR/SwIF4oKyok36peW2WOY2EdBY4/SfXJF
S81E1uoC9oJ17a+BSZ9ghQNKqZ62TigddVL2GFCnpexrUoGSutS3DXkWw6fn1eZZXKCDanomXqZr
Ds77le63WDnVTIvHhywv2jjVThSeRWndINZVbdVprdNMwzFSQWBHg7CUS/G8FEqrKJ2Xgqta3xqA
pNB55LOs92qu/KKAjpM+UfsEGMMrtPvPE9Wu/j+J089WIcdcCrmzy3HW225VPwWbPNJ1kxp5KzF0
ar1iBN0T1KdsXZOayMGf4ceBFPmf1ZZ9jUGXBl2jPUfFgMrjssyZ1mKl0Enf4TxbFT+p/QYmEvna
uX9876IqP219tikm1IWE1BuzCMZ2fcgvIrh09RDs6ghN1HS2JZGopKzb//nw4VY7A2Y74jlmgOAP
HMj36OxU13ob5nl8nwarUAElg5YUUDdQMU9qmAFJ3G2plxPaXzQJ07rOawT6VBkS6gi5gixYSh+a
ddAAuWfusVFetinOEx+m9Dp3qx3FZW7JiZHHKenLULtvVy+OvUy43wMHiy9zy9cidt33ECDLproE
dBqGSZzJGKq323QbzGWU5+qw3JQ79lqztNG7nrc6iOfg0zpUawZRPgtXNcKeUtCXCwz4VW+ZC/j9
7v/+5eB6zxq73YdEX68/wSqZAZ4G85x60oZjGodeO03Khj/UHSukoda1GwhUOCXiJEizxkgwZd32
YoxQDVtuV8qyLF6Gx7y5QewGYcipuMFvHWgr6z2d2xfl9M985fYCNnmMdk2SG+uju6Xg1BLolzid
Z1+CbBWldtcbde91MElUzb3KJBrHY22epaYs1U1Sp+vKEU0wm2IhDK63PjkR9IqV4xmaaXZUsVZ0
Q84L05vv4I0gN9+Bm7fA/CvNv2+NeP2e37ynN+/l3c37dzfv36tXx/F/fvlTfIk+hevZg+L6KhG4
DCoGezkYte4zzP2HV5o8rPVbfVl8F6Hc27HFgoC9TlZHU4OVEq9ZOG+O1UHYyjfSZmc1i1qsIzz4
im+YgzXHlhXkaP1VslGcke+7ZBOlw7Y/nvZbY4ihSW2zHgwR53Ylu3znzQMjrA78Ltwyus4h7edU
aMdlqnZ9d9pi+ZVOgbszf3Z72HGZANbKDqq75FwDlEruh6uV8W2WQSV7ljlt4ynuzz2YdROFusTs
dlFdqSk4C7486EmeWi7VDgOBqMcJ7jcJeznLKs61yNbtjrUVgCIDNDXVU0R1V9Nqonq/lqbkIoRV
ksWZRBJCXK3bDMvLh7G3k7uM0bvO4mrX3bsNI8+z2UZXVqgXBrxWUi8wAznsBMgRdcIDB0ByjwkM
1to+iPWUezFhq97mdnkmLl/2zymm3Rh+O1640Q7HdByGr5xXVlIErgCM1XSSxCPJYYAZJgATWU9x
/inl6WHdIkekl27oN3w7zVzP3r58WtJRc+Gy7VmbrnUVGDpA+OWroHgIC4W6FfQ2CKoET3kRJ8kO
Qln62CFEhxTe2aMyPxT43Y1WqBvihAkb8jmaYiUcgQGJcddKoVKpxjA4nb1EKR4FqrQbG0r+iPOM
zqiFBoOWdPHh9RFnupp4HWugGCZ3ymjKo1dnph3sPGY63xB9v/t28/ol2HeDv9+skxv8nRaQN/hb
9bH63+6P1TtaUKq3tk+vXlqf/2iNugbM6EJXwKhkP+4N7R7vum/IVrUVLVfF8+vs/rHDRLDOIj+P
ksXWcA8AtOO5EZyo0IUT1Za9mmWfYx3m0PWuNV0xCGIOpP3Ly+BRidqgXLnGIQO7LrhniW7Wa60Y
CsU/Fu9dF4zfunrT2Sna1Qeyp9HB3izWvjDSPvwWTAKP11WeXYbHDwG4lgPnAHir/T4tE/2Y60hh
mby4LbvubHHKDv+UtqoGPjWRoouiX86Kza3S4pXJCa/4eVuKsIyKULfZ0pMW1VbjR6WN0IeoCN6Z
X1M/qE+rC9EfvSzyi1q9/KW777/94cfyN29PqxMwgOMJfuRM8FuP1bRLO3BUKwxyX9X5hZvc7jHD
wCMIJwxjACBDhIHmHPfyMusBeX9ngrspNVxKRCmhEF5uWPTaRwMk1YJf/aQnCq66Negc1wUipiZy
v0qa7yrJsDOXpB2bBCYQUdPgmmDRa51DpjhZ8dQzhVi37I37RH0HeI30mLH5z/FTlORvw/m363ur
R1dQ1HeVl+StVJugYTrbJ9Pf8mBrGxzaVqZNK4fuPOZVta/R29Vw8bx10Z4QwqXQa3O/krk6efXu
57gIzIflaT+E69TaEhF2Qrq1y94nH/V6HxdK/x9SwDJbR7eLTWrAVt6OGIkQeLyHU7LRmjPFBPav
mPJDzUQIHlIz8ZFP/ZQsZbuK3TNyfCcEdIPo0hlha/7nTua12G8RJ7a5a4zSfgKn5YYxwF3cTCOe
7GVwwBkG2L9QhYF++H/23oTJbSNLEP4rvRvBqpFsVCETtyYq/Mk62u5WW/5ccrenN3YmQDJJwgIB
GgDr8K/fPMALeABxJEBQol3iAZLI690ni5nFb3/49I8PIH/Q1XPjk+2J9vFtQcjR2nuct8A1dmNv
Amf5WnL01T2L5aGWyhJ9Qio8e5PPdyJTHL3IsifVMU/GGViwk2S3bUc6C7TtUzdxeVcL5TGMwGIs
uFv/J6s/pYgIH9FWD6YjqqTlhkvlkV4kyq+/fIC9vViyFSw/5HedFNZAdtfGAcaxkF6F4KGi9D3u
hXBZB7vE9f1deOrNza34Y3jEfRZx1qrJbO7hOslcVtLLDHX4Pd+H0Z0mXr5O7tQrVu0xo07nqkrU
OPA9lOVFcRG2b1ZBroCGjW1NNsR6QUCiInqvUwzpCm4PBxbQ6y3nLKAkmtxdu2O6/6/Gvht8vqbX
QvrliB7CdXW4vm4Pzt1Q9I6E/Zcy5Pz6E8lF2OiyQXRTJJaCjO8FROFBwrDjqryYkVEHXKmEtAgj
xsUUYCpcchCQS+GWORC86Uh7O8JY/O6DF3wWDgGW7y8+GWFNXEoFj/T7DKBH2FZH2GEfa+/eiA/f
3Lp5CNYtVaJdakuPv4vX46WXMAFpX0K7u+eX6ZTZJ/SJ0Xf6NAtFfC59OWZhnGz9m99cMZI484g/
RXc/kUf+7WhJn9h19o7iLH2iQli0+yq+u4rcqRfOo3C9QnczsqTbckU59+TzOHzCd2FwRQUWevfN
FzxXDESJpYvu/kEFWRYsUz7cCL9hK1l4E7YUgZpsBYTPntcTnfIvkIA9icvJOmLvkpA9LLyYPq1Y
YPDVZr0/uKsVCcj0LonWpFH+slFPyhHhb77HtAc3ipkLBnb3G5XKORmlehIFgGOqUiUl0DipqmR0
oCod3xmETRO1OP/jIcIFVtDikGW1AUQUaW/HE58QqtTjz+grDGmTQXLANg/iiraTTeOKKMeuPJ+S
oCJkNsPEmLlCklRyXTyPvVvhwfYC5TBTBqyu6bTY+3JG/Lv74KabWKDx6JpzSlZ8V8CI2fXd5F/V
UJIkcWajiqq0RTGK0fOQxzdndaZqNUWMCnJAEq62g0CKeqX8NuOUkYSc6J0PCrNuAQxv44X7uaTs
o1kTnk50wlW8clWyaQykn4JVFufWIM2WzSthQqlKhCsqxlM5KUzCSehvQ7UmlKjB3mBkdXLy8WZ/
a/hjtUa7UCsyFTeJTG05pnaCMY0TjKlLGHMoXOPlIFnGAWqLCHPQYmdJGpNZ7klEtSA/jFlk0JRw
EyvVt2M4+NrWcFcCJ2xTtyTxR0GceRrFd/w1lWnv4jWPd6UjgczhSFEXo4Vh9GDR3Vj1MeoKMAMq
kFPp2vNAlcTGzWsl8EIM7oIst+l9QKg81m1VMvzvmSdATMg7+7HtnDHxo5/Sv1OSQAhbyHJMpjzU
WOx/QlFgvKbYguHazQ2g4GQVT4yjtQqyZRJqlSvApixk9wKWDtOuI2F2oByWiSti6wmPOvmOC7Ak
ufscerYS5diOJmNYlse9Da0FEoet5oMwS/QOlOC6HaibrcvuFXb6sUeDWGmY0lSdKPxMAoWV+oO1
iTZUZ78+yaYeSUlBHAsjKTjecT0Sox8ffaXTW89mhCqMr5fhmtI00bBOMFe69PE6foZztjRb0qmy
Wf3hl1Y5kiXLNkpeOsLsRN4S/xJPTZqSu1wq2czjngrXv4kfZ8xDxxx2gkuLRK471390n6kM8I5J
iuJmgKCIB26/V53B2u8vXtez9LpWwENY5EStqFMwpVtO6cOCwj83/HuBl3iuvyuRheEM5CYKD8B+
Uo7DGmvCFUuQ3YlhgZLjMEhLNBYbwy3D6M86vDNfljhSG4BYvXrz+8lptbrCtXcOHZiuS/y72HHO
270rdF32pzonVnpr2SAApMnNwjJsySaqdsJLkejCYoVf8TBK9oWRNh67MTH1b3/+4affJ0v/cfrW
WIz/+s/n6Zv5098/PT5M8E/P7m/fqz/P7+6OSS9GtyQZ1IKx0bmYDIrHjdx41Qi0uAArP5p8Vrvz
WoGk17TbnyqrnCvIP1cCYiWtbsDkFqbFFhyu2cqyt0e4WVgreIqoe8qRnmaebKmWdr7k/OXp6PfJ
FeqJ7zEBsZA2INTK7pPDma1IWlwZx0Bmx67lSiU6WxmC9usll+8ALz2jTEngweYE3dJPIb5KDm6Q
Lr9CCCik11MLLhkWdCi2cEfAtSjDzHITuAPgmiqklMIIAvCkpDna3GMekIS3Vrre5DYcSesCFzJd
L5fP3JijGtdH5B7blMxFtkUd4/V44+qDI0o6ZGDwJPLU21YNaXSVscwxmYURKewCZNumTNoqyvqF
K1jG07shZ2WDYjT8GF6Rzcg0igUV4IhCtQkSxCw4dDMSlxnUkfb9xSJ4sQhWO61MpuBv//jwA337
i3j77ok5iAtCUygJsmSrRXsh1wUla7QmMXSZRe7ZA4MZU3dZOAqlC81aGhqdVck8pTu3eJByRzWS
zRqDcM8KxJyVz8FEgYm4JN88WzAFlOhZuF55p1P29o41AHPe88ZgoiWYzR8xfzT4dZxrviOTbXrB
g+t70+blJo+unVLmo/51Cr79+Nc1OPbPHDYBqCjoFcF1vlbv4EleiVhZIaJSw03cHn2u7zKWdLY4
DWIWYz0jyWSx0UQ5paUEbk2oBJYLqjyD5YGLAu2fTbSNijuY37jTmhkAke7Q0MCNBbl0ta33QQQD
vjhmDVDRwAFkL+5ywpJtRQMPULA2tQtBrCANLcOpN3suLKCFNHPgMLERClKJK9cmLF056JKydRni
HgtkJ09U6GKYlk87182L+v+VBASV2M2O4Jlm2GdCQUD+FKz9MjfshRIPgTR6y1UYJfdcQIATTC3r
TICwVw/ySWN9iiL3Dw8zN5hh2biOzFptHIXSMBZoEiQfeXh0ftwmWvZxZ2EmYlnGZGs7D0+5Q8Xi
26bL8RQWgrGkjIOScRUq96zgmD85plNwm8WHCPLp9bNiLCsmJ9s7ZRyyviNF0a22acqO1yxovON0
fHYYMNKZSJI8zsVxN0hysjiWapgrLC+HEDK6279nysOe3rEih1C7xBObKg5Fwb7CIUaqWiUiootw
iJpGudlMglXuKEOIyDJ8gCO8cBOtt94iZ2GYKzHVKVUWyy1mRcjqbXwMV9g6lzTvwQW2C0obBkrK
xQilCo+l5R4QRrKzekBtycByVbKPgaDpENtXcWfshBQwkiZFpboS5ZNFFD5CArwcGMuGPlNoWwe8
dE1xwKipmx2oD8BCRbnaNjxC4DnPGk7pFVsba9AXsSPyQeOoYZfXLTGPpymH0bZqFtDlpoqsZx45
PFHT8H+W7uomeUpylVe04QRnmxWkfkGij3k2qmXmm+V0R8RAFMUHtcuK74Vfbf929UkkFyM5qRg9
uFjio5KzIQGdD/h9SoFZ3MMsZHEtczjZFFuGXPyb0itR+LyN1/pEnuAUH1VrPTBryX1IubieqjVY
0nF6v1fYAK5k4LQYdb/HAmXx94VNs1sTr61o0Tju2azIm7cjAWYm3OCI5IlHu7qvoq17I9HIPE7F
Zu76KaXVCM5ld9oj32G7YF5/ggexxbw5S8LC2HjuyiRcLt2C1Haz/jQ21cIr1A9PzZmVWgGaF1fu
YFy5UgXY72au50MjVVIEy2maeBJE86cw+bQgUUEb+UqdiAoGY3uosIr1yjQk8YbfBWEi4heA4AVD
MiNKm7NQcYjXyy9S4S0LtRj3VAIoSzTt1X7SRJ5iVruIUA2DxcsW5y+janUrjhx9EIKnnwLemFCR
hCXK/1lQLwuhIWOwNskUvE17q0aEafQAAzFMW+IwgGtR1ZocWq0+VwoXlQvOy0bSRt9f6GErVkGX
kCT0OGb6qYovVkNu01ZjzAloQmkcYZyWdOXdCEQ46AhbXhCEE7qEtKQGvVJa/rVSXyizfZKCDjel
UbuhgbDHrslaS0TIMAa1H61j/ASogmFWJaMff/7048ef7kuCeopldU5fF8SdUkHj7ttnqnL63z5R
SZqC8bcU2r79ll7j764EM4A7VuYyf2oZIYcybR3bfe34kiSLcEqn/u3Pv376lu5CrXnaTsV50puf
ao6q00rpOoh4SPsTgwEPRl+cE6AKqnRtHUvT1rMyHVfFmSBFpgqXr7imyK/wehJFO2zYmiTtucJx
MqNgO9FRtE9iqwKDLAaunRxaxRN3Ep5SMamHJ3RNAVR1yHSwdFsTT6oT0BQrLksfLCjK0n5oAH4Z
+hyxAFalubxBdkp5mdUsU/K+oUnw5Eu4EgAMMphDJnI4aNnvJnTyFPg9ikdZXbDhNpUInSJlk9JF
Rhjhmt4IGer5HM3JTkWGHHg+mLfjugt3RXXPJa/fGMLdmTCr2nVO+9MUgNoARRcqNz5Qua2Nym21
U7k7P0lmkGfu5FcrN44fw2j6/5352dbchlkY0uHHJ5nvcY0vP+ftFRZz6XvzRcJJZDrzk6Hoy9Nu
gRCET70HZd/Z2BU2gRkZVO8KxL+0vepVeM2ExxTeJB+5IV94XAf0AJXtF2Cbu0zNJL8orv7UGqHP
MLoj7BmufYPNIWnvhZmHO/V9pNoD0t7LVGhQOFWbWPBqh8o0VGXa4+/5zLRt+ZhaHq56JWAlbstX
N8czA68mqTGm9JSrDrxKxRsqHAxnceonVqi1rULN/NZv/s/jwk3IA4n+b6avaX29ugmcFXgfmNMB
EmO4l0M6g90XtjMfpWE1QnRWWHuMooh+xNJ5uoX50skBCGFoQ3eiXLNM4utTil4gtrAKzO6kKHRO
d04GgXC2ii1TJYLjRAxjYLBtqZ2eQZGfysZWX0TuFPyzVb04llmXJMxpzX3GrE3v5tKdrl7x7Jqb
m9t8196sOqMbqj5EBZI1puJ/xWGqx7pbiTscRLX2lFDVmWiRIZbCVJ9GqYvrBaI+/VzErdw9idQn
L1itk03elQjZP/yAg9ATfSHEzuuffeLGJP0FfXqm02dh/D/+dMOyqa6CMPFmz28pj7lD7EAfX4v5
oFyp4E4p+tZIqEzcyWJbH5lTBGX8XELbkdWE1+zH5qzjRZywnO71ig5IYhFtGcHDYcuRyUqmCks2
UAiDIxaEuOIeNrYF4FodTZYAuRuI7q2/KlisiduZImLC8gCXKx7vL4Kf6QsOo9sTf8Mm8ePeeX//
/IM47bwRUJG0ehEtVHbOmoq7VgkbFqioKJ0JusLiTcfrJCkS09R+QmsNWB1Qna4iFAVtKaMqA4BG
oVNTSBPTBcFQtyXHq9HhsnZvTKma1hDapxErtxMmXKBhJUmWBW2/EWoSSQ0uJV7zw6Z3hRmCZXcR
UNoLSDXKHAW5S7ikE4hjHh8pFlBYRcI27TPHw3M9bs0+mUAK8oc9yZRLleKjNKUylVQ3KfzkyV2u
KFenkHYLi5Lvdz9CjZpcVAJ0ltpVklCOVN08peQq5HeYUOlo8E7ATM/K90M0RO1AmWtBcGdF5ySS
7D/E6XcpO3CyDjo9NfMs5KuSPRo4XS+cOWXj573xcmjzlI7NFGuRxMhEEmXsJRRRwxlc6J91aK+2
cb/9492nHz6+HdjGaXafrGaTbQd2nrDNoXs2sqxl5SaLU7KXRuT+U3oGzalXl6Ldjh9mJbuNvVC+
YKf2S/o2SNDwjORopIIHE15Ihb/+9ZcPd4UatzDlmf1xt1Z7JE0lPeQGm+pvK5e9TQqMu9gerv2j
qW1CjtybQhzdx99JsR9WPUsuMNLe8z6NI+1tnDC7+CnZQoHYLeqWw1m86gVmK1CAUszHCJ+olgWM
WFdewKw4lAEKRpp+SzBT/m5T4ZBFwLxitadu2e++pR9nwobUwxChTVHDvVvmawk3sM525naWdirr
xPO9xCNQV3QH65IIJSsFP/YpLDLmSJQFZXtgIUXzPEkl1tyA3jwaIImkyO2W1kk0UbNwxPiPNb0x
ovRqFczzOqS0ki2H9IoRhfHMC1w4uA2rSD7ZP9zDHA/QTLXrMSHarEnyU2bwgzn595CU4Ujgjn26
/1sc3tDfsQhqYN/b6i2ZYNTyAbfDcBWnUaX+4RhmRfRMv7ZZqwL+8JXyUh1BqFCOSIK4QFB1KqVn
WEfJjjJ5nvigkwvrVv0RjjCUOaUIrLxkSYV2q5IEbtUpOMKXqKA8NdA1WefGC+TxxjKsdsD0WeEB
MmDcYyXh0KpYsQooS4M1y+lmB7GcHWxwWNVpTKXT2iAW6ASwLb0F3Pcu16SkrHdbYAXSwgvyUULG
w/lEudjC2qGmXh5qaLXXXtiS05/Rl7sf0jdHSNRVIVs91FRG2L7n6vcNu8ObhRu94TkOtvpk2CP8
hj5p2yeH/bECBO+Lkh+QYcvGrsIyT02IPYhcdNfmDJap7jSmol/0XOJvw5buSOcxaQVIoPl2rjKR
JBbK4kZI9HAkEFJvglaDoCuntS7Vgu8k3J6BqHCWZ1mOJW3Q4sNGuikfn47HJRmWHIhm2+gGU0oF
Ke4oDySK1zHVcpYhRefCYFuMKlXEq7noYuqBkK034hl73W55gZ5Dl8DW6M8sPAdGngMt+oq7GAVe
NdSora4sclWIYTFP8/atc7tfvhLGuE2r9hvRqv0FwLYasnKZxwJUi254KjDqc+TYJtBn3jdsm9xk
YLtpj6ahrHIYDO4kNsEmR4AlnXc1shEwirOgewy1ArNMXTaNa2/fHgpYF3E1uqk+CebJIi4IveyK
QhnnTigqDYy+ilVaX8Uq7a9ilbpsgp6tPKkwLjkp6P2AUKWEtf4E1T2OswvCyriDb3+7v789dAnT
Nyv69ONMJGwy2ZWQXfshqkDEdD9Y8mjAm/Kx1kR/o5LtfVr6URV3fsF/wnsZ0SfeESlmn/78+v7+
3dsbNuQKMtNoF4GrusDFzsSL3ZH2PRO9mLPDjcnSm4R+GAxe/tIvDEaelLmnlfpeAIYGmbZx4WsX
GeVL595fB8QOgvXQT/iDy9sS8haNaafGeOXSwU/JgnZCXDSZhhPWU3pjBSvuYYXNC1q1F1SVCT3a
z7wupojeL4qmIf7Sm94Jc9EHyrWEiOp+401H2tvd5W9YqAy9suNxFAw3TkKVu/7ecemSypRuXqbU
LHzhCI2oCFhOwSyorua0x1EvYO0Qp+PwiaErS+w/jrHyAjSGcrhqPxIjExOVMOC4CgcPXcTFwSqc
W4Th+v3OWc7iQ3iMCGgTNdEJbel+OPeChk6s7fJWnDAp9F7ch5Vdn/bFEQPnq5CKjcFLxYVFysGK
ci9PHBB7lE6AEfGZsvAdIGwWX7EzDItpjhcWe/SZrpN+8+5amDqBOLX/YFFq37LgNP7w4gUL9H7D
flQgpCKzrUvOpy8eiJCaS2o6Ga3kNBZ2OCdiR5g06IdhzNrPKzz+XUk/B8UJs00Yx148gzBuMz6X
m81k4QbzKpMxmwRGH4GhcPw7D/dxwRZntjp4Jb+Ump06JrYCCK78dUEZHsuQA3v75X6UPUAUIxdX
pcU2koncJdmfJupka5kL/g8f3lqtN7QumQUaiOstQwSK2Yj44qZm6rWAoOtNcdVrd7Wi+CROf9MP
SKQtBCSJJ+6KpJmbPI91e5tl+OCR610B1ibJSdP1cvl8Ez/O2H1u0/zQdLo5toVN/ezJ2qBCco/A
F+sfdDzrp22oO082iNfjFCeLBqpWprQytWGdkVg4T0V5QpMXe3ywXo7rDAn5u2yqWEeDKimYCULz
lNy9dz2/QROqZptdwjmxdia7DEaJPYbRZxLFt0HIBl5FYRJOQpCD2A7q6WR/duNY4skOhIZ2EPVZ
Le5ZNFurx8tl5AaVwttu6Azk5ReqYdQZXpcITJoqlUd4JUxCk84FU9jkriYukov4eRCvbbVjAuaB
FMw5Kz5xBJgnhCofihtF7vN4PZsV9Tkxz2Wnh2ImlJ86XyNXpHaDLUghjuP75JmVazvgaccbaVXQ
teFbi8JSrSgmvWm8ICThFRiUsloThq53xhggrMonoFumeVZiCbh4qr5P44X7mTBN3mcx+yRNiQtI
XBC8f6SSXw+qfBmTqZrEXMk0XNazrZFosoP1h3kavczrYPBsQ9ardBkmpLhYfrWGVVUzz/jIB0PS
WeUa0rbVMlY+izfijVR4cRWPgtkcrpVjVbLE2k0FEr5esQXSBK+BCPsDKY9QSVih5zIGgbuSpdCu
RdV4xRKwsEylnip2DbguhOpqKGS3YlV8T3NnSJl921XuBsqud+XCDAJj+cc4o6I0K5q/K2lS0vnJ
qpQeXvFoK/V+snELsnWcE5TmtliVHLV2r0w5S2iP8uS0RGITmzi9SAF/UyyxkFnbbTjLYGj7ae3h
dUhUTILpcbVU7YxSLN0nkYEK1+TTcWckObfy/G6jJjh7SJYpEhBRcUjQKd4SEfY7atJYADyqguBK
83qXwhxsULK6gycvXrqsX9vGXljWehCZZsfo9OCRx+YKwvDp3EkqFcjBd340+RngVnw6KySwgiFH
zKtYNfDQJIMhaujFpC9mxhhWGUhYN+lmMyGQbrwbL+DSV44kUjv23eBzw74Edh3tPwdIgAVA1bqj
qoyfsEQCCh4l9FQ9Ul261ZKViRdNfIIha2aXKJsfDmtnT7wHk/U8CCyA6GKF2rCGibteYQr0EBA6
3WJ7JRW+rXWGwk7o+0JGdWeUXXFJVSF/rL0HpsrTPVoom+prijelj97Mo1/DsDxn6F3Ic4WGMNXs
VlqBrUWO1vHRVxGdVa2BTrjf00DUKHbHYQQnpam61YiXyKnACpZdPeij1EO9Vcv8EtjMoDKcK0CN
t+lvlLYPEc3byBSmObo0kpNHxiA8LnNVywmoQ4PEs1Lf42jZdndiWHndINvUpKMKmLlrgQu31M74
QLXTAExXyOoSLumWBSl6lEgHhn1CxfYIHgPFRa8pN1onr7hStzFUp1/IEecmduoqaCdiDOD60Nr5
sINTEvUjnZOKuyVdbZsqYcO8ClaLTHdE8y+4YxajgSxG75y8pJEtJapOhzInIycF9lnk9LPyPOTZ
+Ava81qr11S9if3qvABuvZpHlG2VMq8GmRldNG3THdVWL4BwJjRgS+5ZRKCSRO7ks5BjRcoj6Pmz
DeuyzV8vqW1nMZ+4q4Rb6bjalGknLMhbzKOSJ+E6SO7UrJ3l64W9XndfoH+u3ba87c+zuVVEViSY
UgYUrP2CnoeGeTn9Hk//PycR4UZsqk11CAs9H8aplMztRM8g+kC+nNW9oUQrNJQcs45Y6kWguaz+
svrL6i+rv6z+TKSXCiwRjiazL1t+1qvPq06PURjMqzhfja/8AGroT0EYkHg9WbC2eHs30qn0q2Hj
zGmHMPmy0kI88HSvxhmPQgVDB4yLd+Oy+jOJ7Rm0ts1mGgb+szIJw88eAarTVBvLzDhzvHiSi9KM
qRyQH0CzTWTWIYaZe0/CJU/T/H01B+/cGWECPV/I7uxgvpv4xI3ypi91gPaPQutHmv64nbFIfzxm
E3FwNxEjsbdc+XCiPGqAYVnWjBpEnXDonkbuXAkf6Ay3G/zg+t40TTgthj9LM6WEVbtjkpE10gQf
aUmFHL4oQD+IxtA8ShkMjbM11I1iAmcSdq6QpDCXp+m6js82ZvXUYUsMachyTGFJsBouQoTrxPce
SKzMJ9zLQN8LzGFhxt3GwG/wle2DF6zdInhzmhQveFr67CAi8seajsgmoLirVXyrqnCWqtokZ2u3
pW/YlhVUBdBkbxgJJuF001kXXI2mNqaqIYmDMCFPXpxkSbWmdh0xX50mnZZvlkAXLwHMonEaVGo6
Od2KDwjXSHu/qSE5AMK1SrZyHsSUkCaVA+41a2SZnyJlieFdAV3UHKlECpeIXXYT/XJvE2eeL5L3
p27ighbHmnlHor5nVuVYkMlnZR2wOLSpGNMLJv6axQtQ7WA7PtBVRDe62ErFBRJpkWTSvHTjz0JY
Y3nCPMMnJtFDQd0LSzs/orCRZk5JESoc9ljOYe+hDSUDcCE8B9un5ItHKZVglT++/+X1P95tWOXu
R6/S1DJzhLUnbIy077GNeC+UHLRKxpW9orss6yRyJwmLZ4G2uFqVx8bUPXn0JiLDX4hWcCaW1pjs
slREKkEd2nWYSGXLZRrg3llNSoGUDAJhliZ1hAkwgjF0Snkd+2R2fXo56YnFBCcizzmdgOK7wXzN
VD537npBnIgEaID12vqQSBmMloDkP8J4j6Cxnhi3I2yor2uUD8H4iJpQrVaTUxXINVi5rkRjnNrn
vnR9JnCRKXDmSEV6/UGbnyKcg1TJgFV9d4u0MDQoNaywFDUsco1U5yX9gvjrldL0tPENAHvtJx7T
k/JwbVWSrp32Obs26ICrFGxbeV912GhlO13sKrSZplPKGJyTMgatGmPohCvYUo+5EH3MFrBMB5j7
m0qiEXEzVUU34bgiL34XQA6aOVgHyiaAcOA2EUMejAXwpYqOFAmb2yv/g0sDN0XkmfvgTZhPMS6u
Fq7bqOHdd6eWjnNDH/IeAfVMbq88BFNlGUsbpWfJgNnLhOUlfbXXgo6y+B3cUSWelWY29RF+M12+
f/7xh7/5E+2f8fTNa+fHv/7y8F/aP5N//8tQPyyn/vTdP+N//wv54+CXN+RX//Pf30yf//3bT2j8
w/8f/P1Tsnm9/vfSf55ov7x1/+rH/35jrMf4F/+fy/fx9F+/zn++/377vf/67Rd1sqT6/W+/+JNn
I/j3b798/C96/3+/89V//0sN/6b94hN273sD/9e/ntC/P1Fh520ja25lzDfg2lK2NEoWJ24kj4TV
JNwwnZa8g4W002pKuCjKKDN3wszCWzFOiQl3cjMTKqvdA9apsNCARZHKKmoHokjzo4iWom0hSype
+QWFRC0dDYlEwkYY4nMjzIVAtqArvBYrS+sMj6aWa441PCIK+qMgIM8PprVSGo9Six2dgEP9kVSl
ESwm5ehSNRZLMAY39pq0JiqkRhQUWIm8revf9wJYtFXbiG2PXjClgEceWFyVwkMHy/rUaXZ7MIzX
IotX1Pqjo8HrcnSZh2QXhLzYQ6fnxbYwFtrxldD54Qg7WfIFyDn7e0+PzUJUzmH/02eLnsamjuU0
nKwZINwIdOO1KnMCjdrUGC4mn+bLT9eRaJReUPYM4dbqZYrUcPEVqYgsk9o2sXU6zTPUmjJNeFdl
uguQWlBtHLWCvymZuVSvYRijTD3WEoAZWYv5i+bUsrFm5ZvcmIXJIY0iEjusesciKHRd6oEWqqsD
IqfHSaiIzfiPDLF80TCGsRqk8mYHJUBqSbDGyQZVZzi9Y18eyicnc9HlS2GzyF4mdio8thcUOm2Z
zAoh2HpjSeUVYcDD2P/6/d95DFHzcEYIZOckIJHLrFEbF5kXxHRLqXoyhmMzNQ1L3UJOx+iN+2H5
vWFG36kQlTccF+U5nZBrQCB+xV7FJLmjVzMsRHz9bvTG+liFk5SaFNW2zr6Fy4pX7WnZcKdIuWfY
FdIUHo0XKKy8eEE7Mr2VTQmyUawKmhrYmn2eNOHlMKkBHKSlOUMgBxmYS/tFPMwFSm97PgCUQZAC
NYf8By20+Bt+txxNkMvAKVRQqsR6glBQSp43xmdYQWrAXDNiz3JFctUhNHymWHNiNtrR1p7mxCBz
B2wYYDmocvF/iwkMOv5gvkKBFXfc65dth6eWN7tTjQ7wE1YFtcHjDWAyloUu1UDg48+ffvz4032O
y+w5wA7Leo6p0MLIIZn53nyRiD7QSkKXHa4TXuyT5VJxc8v2S2/Ydz6lX4G6BVab68+/fjrpPDX7
lHx1D9DzRhmOjDlMvH3/+scPt4foyFz7x6Tq9joieBjCjZo5ErifjaoN3fVzgLm6rtEzKfEG0S8c
dtsC50ivV8Juu4GIc9AfmTAv83LF0x7LcKFha88q1Hs5p5KisPyUG0faOFAbKHp9ks0et766UDEl
dCITt6DVlG6bvVHrmtuD9aHOTNe6JKg8LgXStg1Hml7PqzNBpienVrBbvU3fW17eU6KdSMktoluA
xWs53wbXqYjrt/x3lU1fAF+WtmSUVVn0QZprOQiwwDlWPfH6lMrkbjHcvOEGUwaZvn/gXRR/DMTT
hOIMwKfiZ+byVir9Pb7i93xPgUS9McWb18mderWk3/j0vCJ3LDjslkeHtWcOlUkMTF10+ZIAmwKP
ri0SB7R6eT4N6A1Malr5tzjAxOuYdaOAC37Z3RzelAQe3cwqErd6vBOG/oqBGYwTQO+m4w0mWotT
Yn2NTiy/mOobCjNCc4j0MxQNOhgFFUGK6V16JKX5na5adQGUOBzTOjnjz5OpHMd/o41e63s8XzB5
FmSWfmIBHN4qMTAcBdgWuFJj0PL9FIvLiRYNYCRHP3kiA1xuyJYEgj4rer3ZtcKQD0s1uyEuvOc2
K8BNZZ2S8kqOjSoeWEOqCs3jEGwMFihhaPW34RhisRFf37/58UeOWXg/Bqe4slWriXRGeVf8Tgq9
a9Y9Qp5csafhkr4T3zslOa4CmztQSLUyN34OJnA1REsmOm7YQkkRetvoFh/Y2hlOFImHinTwg8wy
2xIZypLAZdFMU624EQ0MIMc2wbDlcZEDrnxIA0jqgeK89ps0cU2l/77ZKtcY345s9XYTzJ1XrHmm
Wk6qkDd9tb5qXREjtmmIu/bjsIzkaL3AZEBJI1l6VFSDK6Pqtt4POQI3QdVPig5dM0c4AsFqMa78
sKjWp0ul1mehtU7hwmsWOgOaN0DGk56uqH7JFS6Qtxr6EGWrDUvYT6plite+f25Pyhq6cMWzPjMS
9zaiN3lekYJaXEZHLLe6IgyRpKszZM+donFqg+EhQ/F6xYIjQUW8AToH7oM352mFzMEf+n6cuAnl
iTPW7YLXTuKV9JSIzOgkF9si/YrHC9vMPPo13LSMelXqQgX4Nfk4g82OGHWDU48LLyFcWNkY2Tf9
aCETwvFORI2Mnx2LANXUY72yVsDzgevBdvE25+HbMk8C4CDc6abTPdzFK4r2pAzw6DwGabwAilYw
W+aYVbjPcd3k2SfpxZenZLWlCMny+HB31tWSY5fjnTi6uGpJig1ubCLLwj2pk4EbTzwPVCUN6Yxi
5xbjxqz0wEp8PBipahcgtJtI6rB7iqMZDzHhUlidaV9x+njHQ7zyPaZOY6G5pvLe9Z4AaBUJflau
EZdEz8Q7PLLx6PWbnPRndiX9yT9WcS0X7n0eMMl6vPkkITmPfjvn0Mp3n5kCO48KKhzYTfwD9SjH
kiSLcFpGOVQdDe+UDqZdTjk6lmThGgraMDET2jZx7QwwE5q8RMw8WfoEfs98z857j3WHug+j73vN
PWpLQA5NAyABwdrwgImbqzbTliF69IzJB/M/A+SF9rs/5C0Q2UHrpKk6AzNOArbJNoJpZwRhV3S6
2MeOHK3W9oq2ZPt9LJOFF03ZKW6blrGeze4TO9Pirs1IQ5ZMkfz96Hv697axSF6wOE6C3ojLeXJu
Wqjd7dP9WieeT9fGkZeeafQ8WwfcJXs3JQwh0wnkjq7jwenS34ehGDyXNyRfjksib/L5GfZFypPf
0vjcdbLIIg67JmwwfC/W3vRuFoa/xjk1SZHiJ2w5EV1Ff6nMyPuYyYAEPLBeruyw/5Mifh88ozuW
0fvqs96kDckhTxPCXWqsxkQxs3JMdHIRZI86ZiOEWULQ9WF0cKU620Ba0GlZirQ9Ro0ds8Oh2UUB
NRuAKJGtTHTOfKFNKsiwqU8GtZnBW3SiCZdLMA7TMtWh89XMn2CzmYvnYD1JfWwlmpJqovacJy3+
QwHraBFuQ2vP58uzBJXwgdISbwp3n7AssyWpYlX113ESLrc1j2BVsJWvsbQGQbXjZumXyTpuH0Tz
qE0y5Isy34B5EyZxDpp1S5fgr+CJncqYzFgzXBbPrRT1unZUuz94yiGvbuCTyVAAob2a+OuE/v7u
Wy5NTXbS1NN+ejXG/+f/Xv2BU6kKiZCySS5hT97KnjoMKduhY5oCIRFVZBg4u5uf3gHhLqpMaGhy
Aqc7JJ59R/1sZIKD3KUO61VJTpE4lkeKsCYrgU0k1vJAeeWHT//4oDBdnAEd3ElW7V4eKhKHbIyl
IlVRWRCjySJlSQdShYOC5IhKSG4NhQkMnAd0wwJOUPgySx1PULikIplkmVs7AglrTvqJ7Gfl5BSy
o+0kP3OENccSz0i1Ny9Q+gLpmxemeKGr6bOTPqOadXdkGLlacSHl7buffnz3lgpSsTcPFD8UbYYU
SqUWoGfW6MEZfxgMrrA2kNHEjaHOzUp33LBwFpCepXUcX1FjS/SWGvwRqFDcJHEpQYCzqQ05QtFe
KxGKzp8PEXm7PUWxXyytTxahK6x54xh2d7BXLaIY2c6gwkzqBhR3Q7lCuP2Hblvn4a/Mv+jdg9lb
INU5xyo3CFXujjCzHNAywox0WXU1grUvKK87SeCxHKur1FJlQoH9M6+eJzpMcjzzl970zg3oF6MP
lFkIEc/9xpuOtLe7y98s6MnRK0JSe1L5f6abvjVTGe/JMnNXtM2VzQsLb644myvq5kUqIj5puTub
k80LI3uf7a+wvfn55lfq5su8hyA7B1Z82c3Lmbpl9RKzt3KTRayoYPsj2zI75olHY+WRXS9SoRcq
0VeofBl5CAo8x7ozTK4gK04eDeS8u4i0rSwx81RqUFQ2tW65UsB7lZZxJkOWVWIVwjnMtl3FVIta
UKWjAfjIPhIDcgoorRF/P3DBed9y9lJUyu9JZkYnoo4tcg+GAmrNxGQ0AOERqWbGVojs7IVUbHOc
rO1wI9AhhDPWRMNuboHU2DiTcPW893ZjkCwTGk2rPmmsJHHQ/dprCAtGeCO10Unvl9KeuP7P7ryg
0Gb9lYFsJSIT4j1QJhZF7vN4zTodgzlWeqXE/FpsJiIrwht0svI+h6WYowIDLVKPJCigrsrAtoKj
imLMRvcssvqd2cJPxRz7zm5sQEAox6BsIpi60fTnEjephc7l0Etpy9gPxyBRsY6EZ6M28jmwx6Wi
uqPKJ3BpuRMeqjUOp8/FwQdH/GgtJDFRk3Y7hdo+lYZAJnnYr86OpqpNDGpy7GgNKBoznDU1wrRC
883ARwzEPSA3XCvuSFZox4gti5DzMvMlYhnC0obaBTrtBi3JDWEdfbsXzmDrEj4n6Sjt3c6tOemg
vZsRpHOQcwK632Pe3FzZjba5QvficFerlkhsQqhL4pq6JdTpwOWEuglO1SHUFIfC8rqDtuN0Ac2l
0+gUtEn0QLXrsQdXqkaW2pGSI3AJrsaPuoOzFIVLA3msi+gpy4V7XOI8Ry6560ZraGPGMsGJnNLM
UE70YgqC4/CJ4n3aIbmwFYChotaDFxI9eBoljNV07L5nA1hAdK0bkdJdUtBkswCZL+pINYuJG01A
ud3CZnd0WAxbTodt2VwuXLEymzCj01StczRLvUeMx7P0wUfPn07cCGaCKu4R1AsmVoqK6unnJxs5
+y69J4zSlIswJm0wxmowLm1Y7BVjrwZj0Qbjr4blDNBynU7hX5uGJ64PM5G2hMQLgpA1DlQevEni
LWGAHLDUtiP19Mx5cu0I27dURvrt/p4+HRGSGumTjUgTrPZZ/WN6GeHpfzo9CgH78f0YzoLU5eDu
lMy8gJQ5mDDWW9UzGWq7Z2lCzeEWlgozuFq/jiNIvKb8L/L+TOMMChv7GRk5+fXB734Q8eVt0Gav
VM7u5bY2DjhcdoatN+MxjOhex606guImkRInFhd2ymcVcWArSBhbMWN2KGFo+58Wiwy2fMFqRCdA
R6bj0jnRGbG3mrhyWzgPrEuDnN1JiSusGpybkPygEqB1hyZ7NedihcQTd1XUf0YzZOoA5TiLmlSy
qrvNVVGV273zx2BndGDU035wSqH1dhS4/ChwT0OLvh0nhAIA+VWpwl/5Xmh9YERKeHIuHlFCyOku
vud4q+pqwT75vvFLL96vCrXhZX74iCgHzHnADwbQejrPFLaHbObfGNeR0BBGqpNVH6nuOFINrj7y
zn9lZna1P06iS8Ab0IwXE7qjon/ZxGf+MQq566DIi4R0+zC9RO9pzbJha6chvhJluTYH/yJbEMHs
jzgaEg4ZUkqF1l0UKqR1FwdXlSoavBDE4WqNnjZaEkeuOrRZr5Trcc1ZHO4sjFhCJbPmFYaEHcr4
Zk+L7Hl/rXIcsnoaWiCWNNmGk+YCC4hURlCekoCqlRP9kj0BJ1X9uRQ4XzJa6sYxZVuMWxfxal21
G46wOxFoLAW0InNeabSNLSfLVfKsxA9zKDzH7t443KmTmPLB+3/+9W3azqXMGq86HWhFQryDjQBI
lxAPsWeNSVswwsFPWlO4FDtGIa2rpNyCTTtuNKm+Bl4ZjC1hlcUe2+wWec7NkbeniXXuyINY/AaI
b6dehDL8vg8rhsj5jxt2Zq9Pj0Q7ZZAeZbg+O4x+N1m4FTo/Ziz/mJsXRMFwkTDcx1HgWkfR2SQm
bjKRBQqVhN4HjzzCMdK61opppcXVhWVFmXquH86VJVseO3FKEumcqAq3gZYw8uYFBf2NjnIvSlNh
daTJoznEJ7xHhsI6y1BG4tJ3D4Q1MRAVfWHujloLs+lJiOyGveMo0HRkykNBuI4LvMq2ec7O0hHW
eN8TysVj3i5oYPktuTNgJaLhq5IIfjGdYTm5VIlakjh250QpxnGkb61C//t/n2j5TclsBueETEhx
G+7LaSE5ZIXdmpIVnwsyHMFTZOcZMCDetTa87ZMTOjZv0QkNpMskJJuUll9/+QDnPhqmxCypPF5i
rFlnFBM4UlWhTagV1Ij+jJS8y0QrQ3DfrO2YKMPyNZqIM2YmQFzsTH8735TMQUQo3R7KMxXX91y4
3YKOUS9hu5L5VkHbENyNLEq5hbLy17FSwDZ0dNYRZiPtfWdCkzxeAzIzGZFiVXEVJpL7o3dMLCBa
Yfa6fHx8/bjHKXRohikaXkbA0D7zEq3yhHQDUxac22KtxzWeYIt12S5piEPlAi5GGL9//eOHV5RU
uqsV5TNvFp4//Y8X9P039F9EluED2V7DL/5zmhoqb3hlAjoGiVi9iDsep/NmxfpvJM8+ubuehUwJ
IKys2atx6E//cxL6YfQqItNrKva9dz1/HRH6dQYDlPhWmgCVGVf0x3Ss/7y9zRjujYzMLfa0vzM7
AcgYx+mS0eMU5NsEuS8FrruiGb1utXl8q80ep9DKLpDS4JnvJlTEYaqC5pMH4iuBQMVUgfHpmbB3
mzkW9Y3p8xgsmb4ARgyzvnOcJyJWj2uSZe+hc9glejENUSiEYbIgZe2msa6fWvsegBp6Zi7aKkYV
td9jxRXOFfc5CX6ydr+boHVqxhZ+YiUJhe6qTBZk8hn02WRK0btdy9IuKEz3vPl6907jjuu57pcr
69jFkwMPvc/jOQV4yI7xLjKhxe4MjvbOhNG5XcvqLiis97zrZgW2YPY5iVNsglVhE6w+J9F0E0Dj
e/Dg+t50Y9+ZLNygoIy7I5cbVvHnmjJlu0JM/+6PtMX89aeFRymvyh9cZhihX2FPghJfv8jShIbF
2XL+p8qHgDQJyb9e4EbPypPCPNhp1YAp3ERKpsaODfNmnKt/gA2zGzq+jnyFBKzCEhzkfX7l4rPi
xZCdIVH4mQQKvSrOoCCn3HBUOURs7/C5JSReuZOCQriGKtdIKwZM9UNIQbelmr3Exm439QlocCST
SieLCI4rQ0itYvTAx88ubdFVKfgEIbM82DszXtZWVCkaD5eeBW9Du215LhJAi6uHIuxo52KdGGEL
jbDB/qfP1kj7vnZtKL1SfVZcEfoK2meiM+zzIbuEdSvMK2CZRQEDNfANIJecjLA6SEryvCI8Wu67
ZXLnrlZ0wbwmD12qm4TLEf4+T80MrY/hf4/DIFdnrI+BoziGl427GZ2VoaLDZsVYu5dN3kJbjiV3
ulhBsJdu4M1YuH2vGz2Jc2U0UKcDkskS3uRKSYBVuPVmZIU80Y8TorgxjyKFDZl6p6stBCnd7mlc
dINzkT69Da31PDS81d1ir+89kFMcMVSrT9d6O1qUP1pZclX0sClZAlt55ElwSWkDB6QhswVNOody
dzISNvCX677EFZXeVUSXpAg+vkk6T8tNNsvxlK7hSRHH0wje9NTKyq9rpiYLSUWFuzihuw1XIset
JIeTYyk4ASZ5Q6g5eJRm+8Ob/NYFoBTN6V6ln99dC5M3a42BXrD4vjfscgE+W04HIH6sfoTWRM89
GRGBhGVet2nhTsNHd+xzs9Yq4bV5q2VaWbhvW9cw7CR10bbvUvRV2EdIpazIm4IyloM0UyJkR2Tl
PwOWYNPueJCqnb+GPkYvm9V0EIiupJFEJcmTpt41hOkIfxkH03Ahx+pTRJNpOFGmIYkp2xk/s0zh
fYIJeor0XpDp5KJJjvGD0slINZiAoh4XTuwvgz6Yf3HObSFath5TQ3J9DJlYforogEUKFCL8FfOh
ylLb2F+TG8AmrV7oeDG1Kmurq2sN7HKB++DNuVeElaMOfT9OXGZH54YGtl6Frtd7UCIyoytesLKB
c1H4jhfqn3lFfaNN5ys+x69VqjT/Yp8nWRJEnecsFRF1a8isak8ej8h87btRbQXfUQem4G86j4RB
wBQMUZGhkOuamto59YNbMXbJJNM9WLqfifK0iIBSLmp73WqyWAcU7BlszJnpVSEPjMIzG8okIdMP
JJjDhQTowDLxfTOPJHKDmBUvzhczQvrpNYYDHrzTFpiTgqoK43CdvBr7bvD5Om/gvOexkTesZNob
qm+8CafkP9Qnw/6WPmj84cWLWxbg5C5XI+37Sbh6pk/HdA6kYzmkI9vjDYR3TW8xGNgrLN9etqzR
uSbBKsaL6BbXqdN1pw9qVsJuTGR0ID2WVgdspLaAUPQcTBZRyIqSsYr2S7hkmNrVDrNWm6Vbi82W
nnNvV62/ylo1FXXPIXiD0bwJGVkdnOk2K5hSz/1o53XkFyTbo9NT7UPYLzDyqN0ZeUo8nvCm2WZX
GDJbB2npzs2LMnTRnO6hNzcjAJQtXT5FBNHV7kyULTe5avLAKglXrNA/3ec1T+hReMFyZUEZrV/A
Vm1dVlTPnpuTZVQJF9T2mwU1yDrbcrJtjVoO5Vr3UL43F8jbh09OJMu981WE16OiKkL126Zli6yT
seKuVvGtijRRAurQZ64zCU76aWba7TI9mmtH2/om3L3CSyhOIhfWFSlRxx2C2ZwEJGL66yRe0Wmt
wijhUX2Zw+9ufXqrILocUK5IQAckjyWSumW3N8vILtpfE65if2vWADo+WHqHAMOtXjd0Bjkdz+5k
nRsCDKzTwZ2M6C3nJaMiJNV8sadVKoX6M3KMDk9UmE6oIqIkIVs8cLi6ZnWy1evAnc0EyRg/K8Kg
yrRcJOu4s0q80KSZ1CikG6ajgIH/TeKVC0/ZC2Ze4CVMAQpXmaVpqlxvwWWsy1g9jtUCybEs3nU5
x8tYl7G+mLFYKx4S3U7Xy9Xr+BN5omybhZ4xuhEvCEkA726jTJyTL2tPDDxcYD7CBdsSZJ/wc0EU
CNIdJGlN5MkTBT2TiJBNgGeq/eXPTa8n1/788b7s3Fi7YWYvEStlmth3E5+40R3qJjo+FdvpI3li
rTK9OVgESKsZY1N7lVISiPJHydUREF7smuDYdkVIlY5xYnHKgvgrEgGQ6Zgngcwm7Q0yhVi1aKqI
2roHvUFypXWBrj+GJhUxAu6XZXZAMFq4SXRMvsnQLFwH00PTKA8u0RxJMLN0k8XSh5iO2V5WnUQh
3TZRQIzXTKMv/+TBJaCtzGnr4oVOKA1oCUEbP7bMhqeUqQyWGgQL7YCaqks6MNYHFTgtu+VCIiLa
rDMkouuZhL7vxQUHhVVN7kExu2bGbXqsUFTTDIr8hj6xuyvMKwDE1WmnTBWErL1XIlf4bRiQOyQc
E5sE4HfVnRLMF7H9Wc6tKG1nedkaAFix2TX4NI+H044f6dL1mUGRavysUQOI7o5dfyh4DzcXuaee
c9kVwgaCSoshu936oG0VVKGoD3sZbmh1Ap7yQ5aGPFUyljbb3nUys8HNNRutti0lAGBt447U3njL
OctkuqXEgNl70zKZiAXMaW+yHgxTDnDwooFPdOqB64vAv+ebJwg8sCr7jMDA50pZWVXWFfvKphUL
5YZTL2JdowFAsKRTETaL1LvIbPci7VlBIOBXKi1QBfV8Zc27MgNrjvO9Hhts8n7UenpnXjE38u+Y
jPjq9pYK7a6/COPkla2qKjTNxI3mOZNIQyPF7q48UIvV3YgT1/e5vsJExbubm1vxx+aXxm9kJNo0
WCHrG97FMFzxe76nyKjemOLN6+ROvWJlZT49rwivJnMLla9RZKELPdpScxI2bTkQ3JKglYH9oZiz
+434kizJh/dX0t79OBth9Tlcs1LChHdQEnWG0wrIrNhwMKWPQUgf/kbljHtxA3qdj/uC/4QE4int
wESffn59f//u7c2myVJOH9UlnfgBWjdWDrQqYVTrcXnRIFW1OyDHmy98FKWon6AQaFSHPRd7rPc1
Vvo5kwgOFNdiN7ZmmvKnEIQZvRls5iyGLWxX38XIQo6XRbLWENhiu9n9CyKjdFAnsMxOdq/C1n1B
w/JWKcrGBA9Eldhf2Wprgy3c97jIKKOwMFLQMoOsU+10fUyNffYvUXYROtzms6fIT72YVeaZwo3O
z2ipxUSJh2vqqn7jxl7Wyqv3o2hguLmALJkhCUPFDykEr9znoiptDmoIQAeiTyVQAvhMpThvrbql
W5AGhbUKL8BTTbW7gd6dG0aUr4T9MLgDYSkzctGIHZPi78Tru3/9nSWHZk4iZ8b+2o6gLxTLGRCw
o8ukmgase3TEEdoCmRwyug481i0FThZRzSGAcqeDnwFBqRRGXB3IoUwOkRdz2sMeru0IV7Ed4a/V
dlRAVpZuzEoMFMfDIFSpR04NASlnW4Dke9uw+pF/NVj+lcqx7IImPUjeIDuMosMJ2gHIuk08ZwWA
s3K9iG5qvI6icO7Sj1hapUj5iIgbw8fqaGa3E0gRD0yNMs0BEy+tCvHSvg7ixf4Oj4FOjG7iQaqW
z6ITl+ysmwWxVgKyyGeO6MgbrxMCFwnS+qFSoPnStlFrWxPvesB7WPJ6OhCdslSJ20mJP9UhPJ8Z
tWK/IF7KNnDDhXGI2GS48UyMknaNpmVIcafOI0ICbFBMU29WwTxL81qNUuAUgbwg5pCFM70KfdO/
VuGsko8ecs0jUyJurtwoLmgGiSzH7ofSgdq97SB5OJSJXykP97Ak7i83mUzocGxgt8CFiizJ4FO8
3Dw4GegMIz0GPp9ycCDLFT0T3isWhgfT7gzyQSZiX9zYw+GaRhWuaVy45nGyB1E7rMnG5nI8Ph2E
nwilZcnwdLQSMR4jdKFZnchiZpFvWPp2H4uqwOppj/gCWZUtCgxRlV0xEmiQ9mbPtERRWphIGDDA
kBhdOwmwtqF8/Pa8fKbiTiZklcBlZ9vKhbxCJmgWcdBXhmySpICYMLcg6wUQ8FwWKoawCoPxwv0M
t5pS7bNZcdUaYaktkTsgcjX9LPvMRJG9mLwC1ASom20iU5IwK7AUw5n3joQELHZ70AMmI2RDch25
VhAJAaNl97xGGbA/dmNvwiF+76WwcHjTOx0ZGpKP7lmE2xmxmNS4hFmUaWoDVq3NKqq1+YWo1mcL
eB3TkD2pi+dQgpJWpeL3Wnm5jD7Wsbu3ruqQa5TXjmjGnUCBZ3sxbZCRWk3BmgFqVc7/8edPP378
6b5Gls7M9+aLRGFDA9xY7/vwukhEkrnEo/T9cDww/xr1Y3+wQPtDzTiOk+GjoCtesFpT1HheESVc
J773QGJlPuHmQlaDm9cMKXK6IaOehPLzr6eWwg4AaeN/YXV5VmEQk19/+QBXy1F16SSJ6l9TZgd2
KUQ9MAMwFL6hGWe2v8edW9sRhHOr8PdMf6FHtWn3mbJ0Vng5Vz6ccg1D7WHqO7+cdXviCWDcdgZD
hBV62lHcFGAYM0iekvYO0T3iyHPxa5NF1dIkbk5+XbhiwfzdCG/ffXj36V3f5w1SwD9JFCo+b1Gm
sGoDsMukZhzmadbXmy5oVdEFra/QzXqacxcEIha1J9khTN3EhQUkS45BsVVnzd0gP7x7/XYQAljM
KrxOSeCJfhVc+OL14OF0T4RNox+J3oY9itrgt/kAJrmvPwg5bDLJiSis2SEs2rZ3qNUfFSHVGPKO
/uvv7z9+/P71L4M5RHgTa9ovh7mq7z5RxvIN/XO/4d7k81vk/bvXv7z54YsVPuwqwof9FQofPZ27
DmBTphop7x/HdBU6LuwsQ7UGOs3K6kkKBV3s7frjNkEKp3lWnl4ncgTk2ZUqhUJg47txoizDqTdj
21kSTm8gp/4QeyXs9sfh+jyVkMndJ7rCqfs8wm8oLmJEH34KH9hLVbXpk4pG2mtVow+aRt/+9R+f
ckmXHUzqH2GwmZBCp6MMYzKqprwnY2UoO7M9Ksc6/XQ05R9uNJitGeY5dTmhynQaJNGGKY9I5mMp
4LgeU9e6GzM/nIFwA/JJmY3n3j54UxIqK999Tut/gslOhtnheuSJKcxezbmmcLjAa8FDX0pvkrZT
RdJ2vhpJ+7Twy7FxPw85eiAKx05OeQ9L8tI/8YO0E9stLynGidFypV8x7+od/+0te8sR++NsFpPk
DqnsP3Hp7Tri6HJnqleTxTr4fO/9SWFAxfrBesy/1EOZXhzM5YdVXphYCR9IFNHticnTyovgOh+W
o0qbBjsYiiUBBfJMvyfhSUNf+v7mOaRqDn7NhyyFmcRd3tSEih/TcOnC/MXQyqO29VLT5sz1/HUE
l+sw6m3Yr4PgW3QAl3UTUdg86B7O6NiLCt0pdMcZ+nIzo03pSifMRStqB8GOBcduL0hlRAHmnody
Luye9+9Igs4J1tSTs+6EAwJkih2Asi16rxRVvUea0//SatDFCjIwk0+Z/MvFU0ZnvuE0hs7Mexhp
b0cYp+SGvvomlZPEdXWkff8NJTz03Y4SUZ2Vi5gjbG8LTAgyP8IO/RHQGkhzZFMN0PzmaBJphhhw
U+EMDlOvx2l68ZU1ZjVPKTkOVww9QElPN9HgF5wFm3DygZvf3xe2kdcbW233W4OUUpU4LzOf3U7u
YcbBnipFMRaaVo+F9+YgLGULu/5xDcuDlQOKy/T5NY+ghAtzncWW5ZFMNNwQbICVBIU7XUhQ33Yr
WlHZR2EMDliTYZwP6HFyvKHCcRIxAyPlc5R6/LEO4epxJjoHt2G2YJwAe0VY0SisBKQgf7Bv8SfD
+nJi0JQEz7BgU/McIOQhAavPrGwsA8xrDIdaOebAD/00UJY2aqUHx2yooe/HiZsQxZ0lJFJ2J73B
MNBiYNtNcdeLec2YfW4vQUnnA1AO6xM3mI7pbkXh5DNkENNkuk9mJILbJqImgjWEmUG4b1xPDRvM
Og/Zh3SnA1N0usoCd5TMOIHdmOIKy47Kj6gbHa4yP1y1hhkgpK/9xFsxIF+Pl14Cl15WG/D3DJfY
cnXeaW+fV+SpheVIJhd7NsyiliO2hSSK0qvIo2KTKP7E+gn+e/T+TeRNFtlBGx4axbdD1zREm3S9
A9e3BG+2NO9eKdW5SttP7H2loE3gLXOd3Zb2QD7e/EZ7pWcPiiOWG+2Dxfaa8uh6iTImszAiypg1
dXcppOQNfqZmaNLBckNF8ohX0/CxD5AB75S7cawyZx1YB0eXxXACUQ8s2ya82IhkNFlbozP8bso9
yTm1+XzoSzj+nSWHkeWYTHnOZPwwV6jY4j6z+mven0QJyJyScEFUuVibC5mzVTlHvT8Xbt3aJCiy
Ds0gJddRm5Nehb43eVa8ecDOlaedQU3dVK1Se4+TYuZ2TTxcVSwFNE7gswDNAvEo44KdeZToU/lC
mTGUBEmBZXcgm2XGzTt8zS5CiMoXn5uEpncSx5RqS2z0nGvflqz2V5MNjlONq4jRs7REheJNRREn
XrfiThB1JioKiUHcbYRVb3p3Ld5csxgdFpJyvfLXcy9g73nUybW7WlEKIkTRJ+WRjD9TNsHtxwFJ
4om7ItdpOJBLmdX2NsvwwSPsLg+uv6bv4WTc8g2arpfL55v4cTZSDXarWzEQ34V09vx1u8ljNY4m
UieYHlde8DJUpyMuEqz9Ehai2edIEfMmJzi3T1WHgZOHZ3C2CDlS1SogfzqErD/B/hESREOMW6mw
rJYAszaIuF6GeodBhGzD0kz5WuFdlK+K+MH3YXSn3pjizevkTr1a0m98YgfHMu1vV77rBR167LKU
ZfRWHTnvR2/RyFbZ6+/f8UfMH42966/5o5o1GQyDV3/57HnYvLkaHbCk0gFW1NsL2EvQAqlag8aa
43NTGxOpwzDnbYTzltBkopwpFUI74qTXCkEyaiP47vQYildF2VbQmXM+V9FojAGDRq1dh7ZB6FlY
zlDpiTLx7HiQqlHJaF6++aJSoO/FFL5JpMzhPFOtkteo3jELWyXkrtSQIRlRanHCgs2XwBJZTM/d
9e7er4QJPBPv9+L6CPXHhinp3EsqRFYz09QC6eZFaY+s5YmVfi4Kr8Ma0iUC7149J6BMlSJhMUnk
Klz6IUlBfjuyK0XjGzJifqwTo+JXJY4WorwmAU1YcgcV8XmZYDAcIWO553W6rVbIUl6j2A/pWRwp
UjyISShdj4/Lxx+7UwZ3J55Fcw6wIsGub6syDqdg9U8NO4Pa9c7H177y8fVBQL0+7F1oROl53CXX
bSduMCE+p/vjMCooBq4bEpe8N3gSpuPDHXNkixariFKaKHlOw1Ixpow1DNhM7qpnjd/e5lvFSTqQ
dSDMDewgiv3BCDcZsJ8ArKowkDHcekG6drievymRzQi9hrX5oSeueIUBKVql9Ory9TJZdMra4EXh
Ot7qs3Bna0emvM4GjkmStrxqGPBbDEC7gY4ElSNNl7GJr33/l7SEyg/Fm4irVQevCqIIGwhGvxNp
PKXQK1QbcUESVTPaERk/fGRR/9tS1py9gZhmGJKgMTsmGHeJTBkgeQiPIDgi25ZIt8TRckO8iuBt
tFovjJGobRcA1poLNJcY9WgVmESXr3X+P5v0hE2581Lyln6bffmKedXvNBUdZI2hmjTuyCwPh2xF
TfvaD9wgi+5L3g/tYD80Caa4ituhDXI7rIPtsAYLHtDGe8Es/Bj8HIVzOmT8jjHFQklZNq+OV26w
zWvbMlzm1s3Z7dGLkfb97S2QwOboEvaAW0AXhQzIaSLBVuI/WBobz62JSkK8AQxRuH4CV0jT9AGc
aqNkrSa7rcGpbXoHu51XFLDtIFVrLzIxcZSOEW1aj3kBnMyEtCZ65u+i0KGyO9b9ilZArK/RxHlV
OkpEVsx8khuLbiA+nb6Qh6OrPISPMIaBfEQwc6C7tqJQGnY18dcJHfnu6elJpOUyh0R6J/rxfpm+
HMqqMtXbNNoC6pZXyQ9t9j8QjBNzFq0G++/M1rffD2JhA20vcJGBmxbLLYusP3Ln44qI//qLLQT5
1CtfoihlioB0skyPTorVgUyY85BMyxd8+hmIG/Q4BwDchjCHJnh2tKe9ZdumrFEa2vKa37uMdZlt
Ba14UzyVsaEmPvInzt6/A0JgNDSYLQeZjNTzrEQMcXMzd09r6fbmv17unb13QdW8s6cHjRpEtNqW
Ad2+OkXQYIqAaw0HWoJkreV8b15Y2+rLHqBT8rCN3ONxspLlhXpQX1B0Sdbed3z76iRCr6JBDWE1
BUK5Hz6SSJm4cPMNbGH1fMXE88C1loL52/DHZDDKkBQc48HUzBlfEn1SrSlMT5Jz7SMoBEz6l9mg
hRfTPXnOOPEV3m26YSXQascLbbqha2erp5/23sa5JflWo50CreqZ5HOmb7N1CU9694iSZ2+i8H4o
CkOR/EimbXwlqnwxaU0DPBXCUzOUSbjkBXILDMEm/jrMEw0rR908gVG56GIa+QIsL/ux0BvHnvH0
/OfYdxdXmeBo+mbjFcz5vW00pG09X3tBfZoG23N1/WIDOaMBGqjG3dGBIrTHL7JYb12sJWWoCRtW
K/ViLpfSd2HPSrwI135J1o6NHYkhBHsDl+SEq+2HDMij7wWEpYTsCmV5YJCEqlo9MMWRNpmyivVk
yxWBxCGN1af9X4rSjjm2rIogwZbV8WhVkIh56uk7WGTXVas9hLGyZps0u1yrHVNm/JAoqA0Phaqs
xCpdSRiIVDFSFABrVapwUm2QVRptK+L3ttm6BfUHbKMH1CyVVSt1gMXmCGtPeCZe6Fau0YS8/ds0
gVYo8Syq24DtSpmWVnOsKggCMFsv80jHzdhbrvyCvpG2tMFl9DGVsUygsGt5TUerM3yojgwKRQLW
+iaHA3q3IFnghTZOtGG1CAjbs0bNaRrsF2uhDFbIwVqHW1VoCkBohA0NXx7aPbzIsgDT7gZ8gpD3
tYqp/D5WYt+NF7y2K+wJsfWOQGo7DQFbvMbNSHVua1OrK/5TcYOcYmC1Tl3l9QmYgXTlzknanY5d
Fr5xSJwzKkXStTg42E9o9XNQqAlHyZ0LltzjQQT4Mt/Lg+vfqVfeco7u8BNWqKRKgptVMGeXcOYS
awxxp2XxrlJAf4Pj47tY4oHonssVmXU3Nl3KxHBWcVU73QxYCq1Uwsr6kjyNfZwvZudr9Xu+sEhn
nR7YNb4Z/AMLgHqtk12Bu7SWKwR2J0JbI6JdRSO1a2xKSR3hSmblcgrAUj14658DClBooeEFe+mn
nCkwBEcZpM63Jm9iU2kyyVLDQeF8pVkVJOzr73EYFE4UopaVbIr2EXMLiaJN7UfY3uDUwbzCFbqi
reqmcYmo3jUlAevHBphLDQkr4wdRzw5XqXmpXb3KAVDSVJdMyLyAFRpO81v/uGsrdVaybVXZeUJl
i3TTedGsQs8LciplF1faGZZUvNc7T5kx4zVvrQam/Fuoo8VypIIXW8mQXRXEvGDGUsOZtSNcNQwA
vIx1Gesy1mWsy1hf1VjSKmcc5bpXJOC9a3eXFfGbgha2lVyR+/1tWT1x+vTjjOpwz+GaJUQSVq0j
WXgxfVpS8c+dk29ZufGQPvzNfXDvN6mTYsgX7EM3YK1rXJbEsV6umD444zdhtxITpi/GxA8fvxXX
g+3HbHfoE+u9++7tDZvcCkiaMs0L+OXALy0acp++/5k3LN2XokNW95bDY2HRmEqNeO2iOPVjM4jd
B7IZm1lQW6BCg8Cqpvu2v2NQx1cpyiMk+xYVpkWmaXc0JCslsYl/giMFqkX7N9Ix6BXfnZRU4HLU
C95fxrqMdRnrMtZlrMtY56TK5Jn7Ff957pupprMTuqhyk+o92/fpze7Zvb4y3UevFF4vT0eoK6cf
FeKwaQ1Vxzg69x7VDLkTR9UiiquoDHvVVMH0D9vqSD8AnWpSNKFNFG2lUOm62btQYjXLfoWTqZGl
t18Qb2vFVbnwgUSFaqSltVen2uU69Xjv/TRkXuVBuJZEiF1Y2ARGr9RAtTc2WoU5fk3cUNPtAYIZ
26QbAWs305DEN0GY3JAnL05u5l6uRa9uD5mhF3S8GeLO9CcpnJFsUJDBqEujoHDlWSSHau7JON97
c4NHjsNBnDIiECJv7gUKeXLpCpduMll4cOYD1k0poTzggGW9wVSjVvRevnD85gqdDGD9R5ZtS7p/
GEPuBaRJ1H8zgVCuz8PnPWa4ZjgiNvfuZXYPbdT7HCgbe8nzd9UhTEZ1pOxJnhzwMDEqR/veA4mV
+YTLVkyu5i0FC3AJIcPpfQ/Yb0fa6xF+T/9YE0J/QQGWXmHl5YYBMOc+RQHv7E91BgP4Q9/Ug/k9
Pj7im0Ge/FBBcsAnOzsPwDsL3Bju5AY4sy6mJFi/CAuPyDKkelTa8IdzegWU0Onv648kOcmCjiwn
zaJHcWSkvQfOTHboexVrVLEydsUzeklyx66DBqjb3+5HNrq/vz00M2VhxDoJiBzki+RhpKOMEblQ
gt/LwOxm+UKl9vOSjW1uXu91Z2VtbsYJUJeAarbWyZhgRpw2tEPQhiae56doyJnkKcCkWwZGn4Z/
em+YlUbGNLesc88Kz2oAYEN9MlRWCeAgUEOXFagBsWclefQmRFlHvkIC1oBXQebYS5R14LF3cCVP
s/ejYTPYHs2Hj29ef/jh4/2n4QjRB/MboJCvDGAOLwdhaVVzOGxYRu/TuH55PQhDDX6ZLzbQnCet
CB08YMXG5gGrkzkLo6Uy84g/VYJCj4XePyDKIuRt53HAcIY3owHSsZdnYPh+KUSFLqcpHNkZORDE
PtYkZx8F8zEMxglEeUqF62zPKSg0K8Z6BsB2MD/y5PIqjwFJBjA1toMDmMbwFYv3h7enF7YD0Ne1
YwDObYHyxA8eFcO6hpC5m1AdmM6WTIWG07zF7NcGCtkWP8KekO4tWCzOrJRt69QYBrRbYKS2rpK7
G3AaPgq7CY/v5J1mRNG+hPBeRsEdvuJX71Ce0mOj/oLhWCJRx1yZRCGFnfTanCTFPbsNuzzCx2lT
JUgAbeajg5kCAoSlNjx93m8uXo+XXqKM10kSBnBBMqfW/WHZiA0lip4HVBIKE29GCUUYQAJRpUCx
VodbdLYslnhwZ9uNI4liHGBtYuXyqjiK1qqKDWwc9xfZqDFlmnoRi1xKQlZPaU0h1HeDz3CwZKVC
1OX0r2i8ZllbjaGT40kJ7WmwnY0tkTBHcypiyJEGCAMgf9sj5xxoU9MWaMdgdH7ixQRJkwfZcUJW
GFigZn1BRwquWoOOtVK+VZ1jjZkAVUmE0LU6bKbT8AAY66uFC1RhAJYj9yh1sMJH+6PsAoz19mun
t4FZntMdI4Cj982OsaWQBCKjJX2Xw8OLgJJeWvtQ3RldN78YqKx8kkfkF725oDYjUUTgQpNGEwXl
XNiYWHcJmCFnMMzkCO/A6sh25lsWwqwvTNGXrkDUg9ZiwmN+cWA1o/NZbHu3AcCE5fMVdzrlTUVI
TBc9+cxfw2ENWmfrwo4uC4weF15CmFmRmf5YPwGQImFLiiGhSV1lp15u28F6vBU7LlZEmmeJgeUD
UNtjWpLEFTpX2tKxeeex+ie2Z7uFU+5x0+WlIG/AEltdKxpYlGA3wiGIG5y3dsQG9hA47SCwpww8
uNE343C+jkfa29uR8eZ2pH3PqfsI2+oIO/RtKXW3Ojlk9jlc9txQ9S4J3DRcs0x/bkuQS+PS8UTR
CG43J090WgnvhxpG0wLRCFmoNdiJMdP+RrmUUdQNnu4oEd1W0WVpPZ6GS9cLwJO1mpTlGH6PmK63
tnkeSP1xeYCsCzNMS0WnJ18YD4N8lUM6MrVOhTTeBbfQDtCEgGWX/EBVGm9KGPwnFP43chsFkAnx
HshUVEli8TOsYtLCmyW/ewXk3JJp+WFmiLTQgyjisEHOEX7PRqfQkOo2FFx+/fResa/Sr9+NbG1k
GuzRsPnrbF+l9lSSKytjPxxv5qjwzStUtrGuW10NygkhwAtwTXWtns6UcelnpWLNOD0JUdVuSYjU
DUPqZezL2LL4RkxZl0zZ93LkEsY2jK92z7vwacriQK1G3Q9le3V7u93jV0BIrK418Z6Qqefu2x1I
9ECUByqyhXz8Q82I/okfpBLCLWtHLcxHy5V+xYUo/ttb9parPx9nM2YgZoFdqiouvV2nUV+mejVZ
rIPP996fhH4D6wcrMv9iIwd3JdYUiVLIsbSvfRvlIop+urFV56sd+/QatnVG4vFXDChf5diGfNPw
ZuRCc8opifBZECPZbGdw8pneVLDgwgCrE1lYPlpVNTmS0oGQNA0n62VBbXFeK/DE0Qg5nGtcb/n2
djFSURl7qhSHhdS6NOMh9NcJmRYF4LbG2hVd++GpAmEGuBRZqixKwknu70TmHLdw+EhvQf5jhDH7
iD4dxpPwuJM4mrBkazrMze8x64DO62cXH2sV1bXmsdKZeokHe1x0td54zQ9Va7CwfXJDh4qeWbRo
gbfRqH/7YwQH3LAq0QHwOjI+v4w6VqBvZZQnfMrBqeJmV4mj624GJrIsfGricIBPLUj8CJvucsVc
O+Hq+Yg2gqp0tK5LF55WzBVLdXZlFjJBIm6cSSiFQmCjHYXYRt2C6QyS6AMPCBiH62DqRs+w7KMb
J4dQ+GSv0q/kPy5oDXH92/39dbZ5vS1f8PCCmJ6gwlqf0LcYTkCyegJD02wNKREreM2c68UuUtW2
JAyzC9YVA24vccLKL6GDzgnoL5kos3VMItTH2HzVdi9jT8nMXftJ+eCdbTjOb/iJyQGEXlcTKt7S
+zCsn3oPQiz16NMTY0NeKqaKT1La8DAXV/cbwfwvRbn6A98pCnuLzRHWnlR3pI1TQxu/gG16oUmX
mVsxZC70Ig/BuI/DLIDgLsYOyGOHQCxGLIjwsb96siSfo2kgR8Pm10kNv3TklbfhWcVpP1V8QmVQ
HrM3cVfM70amN8vwoUH5yCOR3zxNZD8OFxDc1fZLk7Wco2fnTp95kN9k4QZzwiNv3TFrngShKDIa
KNyP2iRTRZoyvIAK3GmXpnzvG8O0JQ6TH8BWNbWJ2SIb/g2yjEYmgfKi2+H8Idfvq+n894SnJyrv
BK5fHFDuSIcvcMfo7U5CCwYlhmo5MTSjfKJDebBICGXip/iBWlWAVK0e6FVDa10OntJTntBXzPDk
+vG2lvqvv3yAY0YcQyJGpvmCa14riXM2qhZEaO96xuEFsPnutlhDupqx7TBg7HfFnIhbHQuRMINy
+lg6lr/0Yjjfq1ACFwPTm1ig8oSTy2rryN94S7cl2bi3tEzoW/nPN4fNQSpm9mcnFbgP3pxHTXE5
iyXuRNud4FsOWmQNs9VQh8LdwaDgcKY6LM6xb3fP2yTwjP/1Y4rA8m2hAXEjhTfShq3xdrewj/Ft
e7huRMmRjR1ba+cC4IGOVKBnScRPBXECjnlqcM4ccQ2zPHcgH7xVtkVx7m9f5MMw5INnaY6WgTvi
BKX1ErCDtAbOgaGxhPqzsvK4emrQPgCPnFNppKqApJ7NAq0CRKghEIFgi6oEWe8NOST4QbXQN1yR
oNxRqpWTR9RSrOoC6PKLktPovhZyoe6R6/jhmR2DsXXbOYRuo3DKolfNSioHKhYUkkUUJgmrEc1j
GLdZ9xlDFA9ISb9657D/rpLSvHndUS2nIpxketJLBJRKe4h0qyM6y63FoiAFyK6xo9UfuTalKflB
L5S4c7xSv7iSEk1IRalAamI8TDqhYbOSka4p+sF4Z5g94N0XgVtN9p2KF6tlUVEpbON2y4wJBXqy
XCkzzxd+RvaCA2MGWctn9z/MO7GOWyFnqeDASrneaap11QhESjc2W07TknKW1Qena1suKWG9k7CH
gz7gMiTr+XwHIUuVMhmkGxcoPBWZ0XoAQ63JpvYhRVQOyB8w8FVAP1Cy07WvitwOFs4vhEwOIcM9
HDC+HPDJELiv8x2CvAQXWjQvsNcF7L199+Hdp3dnq44dAadSc3elZNkheiz6cFZckO1EnBz1gGqo
UVhGR6HdFzjqQmAYDhih4rDwKesSorizhPW3YPAUJ88+iReEwCX8dbXheLla9FMyXs+VcTh95s0d
5hHLyc3HdDsXqaM7AIYIyh4AAEUgjA5Em8EiypDgqNgcxbtisGbxBR2OnFOHPUiMeLh4VboS4yvA
l/IYRp9JlKfR527CzDFECFIdtT3rE9y2TT+MiwOqB1QAuOLByckRs49QzdidEQxHO2J5FB0c8Ls/
0oys208LL/6G/rnfsE+/SdefD1RGFzXj4kErI6tBSAXLMCJwAx6nNZJGFBrC5W4YoNXruavCDVaM
Li62ISBCBUqvwZTe6IzSaxUp/Uj7PiemIImzooMpWxqRdlLPSUaadmEvF78myF5E6xAW2uNOmBFr
5e1bMJ6gyAPT/AIYgduk+N450foKRFOH+40bX7brtz6t15VZRA9yQ/FZobDlfFfbFqw2fTsLQ9HW
Ll+/q4EgRe+WrQjSRN1tG5Slq2pZgVKWnF6pz2dHy7vwrC/eXS64Fq/6TqGWN9VcunPei3Xlskoq
Adw62f6iowQZlYJLoegX3/PFF1ITmKLJ7jSLIEvT1Ys3+gJYXxLPO5cjLs9R5OlvYcCaGIPGQtuQ
NoH9mnuTOM5KcAY6b2huvO35IAz7yxHV+8RxuY73lMVR9iaapcF6W2V7G+CA1KpklOP6qZUFZcAa
jDaMbFZcSx7hLQeQOfYSZR14jFjDfr1KpZux1ETaMgDFzdv6TQlb5eGa8w3+tpWPRmtVxQY26JOh
3ZbWlqmUhdv2eOByz1KQgwRJ5LIeBm4wIX5x5VqkGtYJToefgTYRz5Ymns302cLpeyd9r6bPevo7
kn6O0uf0PqZx+PvN97GdPs/Es5G+N7T9Z2xi9fB72Dmc5+Z6/fnmZIv6J7zP5lhBaqrLFzQ405He
9Pa7kxQDTRZk8nlvuA6aEPUxj8rpj20RWodDz/AApRrHxtpQzkd0a5JN9GByZzoSBpqRCA7eYm2M
h8DsrkeCzgnqtn2kFG6tGlPxiPijzR8t/qjvvkN0fgXzR4dfEa8N/tpVRmt7SuiPLZd9bMzUGb2C
kDtamxae0EdDG9PraDa+LmW01YIH2iKmAXLaKs0nj8LC5rBEz6ANbORDt3SnI8CoHB9btC1XXyEE
tTnG7sFViddRFM7dhCgr12vel/foqpdkOSaRMnandKA4fgyjKdyFSpe5x+C4ovirMnM9fx2R+MBS
wTXoBoYK2RMqL17OnHOnn4VymcNlDheorNBR7SQsFyLtV4X2ire2Rtno27foXbm5oolGecE/2WwK
tM72Id7CbcNkaDq8lCwJ6CAsy7yojam8PZ8TuqhkptiA6IXMi6WqLwuV0Q3UupNk7foKRxiwWpNq
SQamRy+Yho+xgrCBAJiSQTeF52aDJAU2d2wOghflDiDDe25fvrxVv1VvX3778lYB2yXlMrUr7KBW
H1Imru+zfG24G71Wj8533Gu6Ql7XKpgL6x09rU2NXXfiTTXWzYFMEkI/CeZX7CvMUXqHciH6eiW/
gHYsCmzpxp/ByC+jPNpe6wlAD89desmT1OdRayebQ0+l2MwmyMHQV1ERGLjgWD2tTkNtAJKOxbN+
i421umkOAyT3d3vbiO7bA9jE6tPdNbpK+8yh6xrASh80dARiK4VlNgckDEfAmD0BUiWbvFaLC4Mk
DktY0J6lkBV85WDlxk1l1p5BGJeB8DGIZYB9ALT4GNCq0o6VTUZZhav1CtZBKrnrG+DHjBKn5zIt
SzO1hkQwKyAckEMFJO26PQxoyu9Ktv0U13kqSI8War17uWwUtp2ILigXZifrpLKiHBepSqU3A+Ez
HDtej5dUH2ZalBcwCkf1YzixWutIzvGCB9f3KFL4IUvAK+puqSOj9fYKFzalNtGzsnIjd8ktOxSs
3+GRrY9e49E7Y2S/Hdko1zMZDwIpi/Zq1zkXqywjS/QpHO865bYRrnMkH8mDNV8erMk8604BfR35
pSKMZloSeKroCqy4E7oZsRIGComiEI5nsJvo94UikxfMvMBLCKVh4aphdu5pxqoqC0Ie48sGlqO6
hmG2gnQLn8F6TkVXvlQguYzVHaL5Z4poLcYakmyWY++gCIZGqFxp0i5U8UI9vpCxqqCPGP5oo0od
6+0oJZfijqi6NWFSyI1VMKIb4BeS/tgPx0rs/Ulgs2gDnSITex7OH3I2Oc3STYnn4X9B50GWq+RZ
caPIfR6vZwWFQLFmmhJx908ShYpPgnmyyGSjVY2m1CvHzUAZb7qEMY6kliaP3gSGEluVNvbxZN4h
SBxFJDPjtGKVea4L8ztHKi6ZHb1483t8LexJJdHZTj/Hnq8WXMl0oVciP8UqqlpvkI7pj16R/pR5
yZxKaRH1iEHylDMVWrIHwcAotuxBNDmD1EBhXhGbKg6gj1avFMpQa4V6H9uoAyzIwPIh4gno9CyR
KPhyiEIluGu9lFOTnv3lGACQWarEUbg/nhWtZZwvhpuM6EZTUHjYVNOaEt99JlMuWysBmYeJ5yZe
GMDeW0seBf89DgPeuj0i7vSZBR6TAvu9WiqP6P3KI4fEbOeaEg6ply9fMlEi55vaVhBkP3/1bWol
eXF7y0IS6OUjIkil1i5VAYurO2z3m1Rmb88FNJgLOPIgK16Rief6u1KnYAQmMlUkcVcXFIrZSHni
I5OSBmGiuPHEY6VbWaQ+MFx7dhoTipVctVOKdTsTWUNES00GWtIv/C+F/lcNOZGqNuBi1YKy+FlD
gYv9SGywA9eRA2F8kAePpJ3ZCnryGEPfW0lDDhCXitTtPL5gnJWEdMkwApIg7ctDvHA99onCq7vD
BmIkZ2OZ7FVUUcfG7U9vFoYZAZnbljRJ3GkdTMnMC6jcyiTIYO2DpMpxcCcAAsCF0t9AQ6IUWXCF
qUWT8mvCNleB++JuMZIEiZd4pCCJRwaZi6isypSvaThZL4tKIqm22ReEaVjCohKeciqE4gfXX8O6
naEOSog8OOtaduajgPzdCJvucjXSvp+Eq2f6dNTqrDlSjmHqBnMShetY2WgoYIVBJFPDFCkTm/Gg
tBunU5wNwhIOihqwoN3SeIQ74zlU/6JMZ1vJ6ubmVvyxHeEqdlzPB0Bh5Irf830Y3ak3pnjzOrlT
r5b0G59Y9amEPCW3K9/1Aum+r9hbrlh3kP2anVMSeJTDkgeKF7EwGxYJ6pqqqT3NARwe26giIfn4
86cfP/50X9P5NzjOewDiAKlqwXKP8VuzW9ylslxJfAQa1CEczLWmY1LtyTFpND6KiPhu4j2wKrgL
siTN05iNlmhfRHUwNvTuh4cZplMOiUa/kAgd1T48fkOhcaS93YPEkfZaHklAncJhTBmswuryiqvc
1QMbkc0hnUnhtCFCkUqJS/d5TL7Zymzf8B99E/OMlqPkoJInVcIxwL2kusHEVRTOI5bjUYyLmqlq
gzz3wsM+LC1+7FxtvdNjXbO1Lr3ATSjFUwuyNp0hbTA0Y9mGh+8KbP9bz8LYdxc5lU3r8aTgaIph
sSVoxvJNRNrgzwr2edrGcM9Kk3xWx44oxToZEm7gPnhzHsNwG695giC9lTJ2Yw9WXfWqxO2ITU3w
rZgFl2e5FjMTUG0+fMySds22TdXuEhJhQcmWta28XWLMM7pjF9YRNGtI7LkD2961FBN18XbvxhO7
TRK2cP76118+3O1OA+4LZ3UDXskiIoRbr+JdVhAlHUfL+mmO1QfCFaDaECCx+tZlq1Kw3h9pPb4q
lc3UocOd2QDuItfzWXkAVhGGHjYsB5nlMGbWsAfWAjOM66+6jLLCBFVtGPa3V4vjYc7LjBxWGRFh
zXr9JWQ1uaXLLWPr4HOsbOOymPkadNPqqOJhdYyWIGTtxxIVl55II/lUV1KBN6S3gqPzQF1YLK5U
HsNsFNS6K1UIoRXSGg68B33LMZlSUn5D5yIDr2DSMA9ZfUFwDcYwUUmrV8iFfa66IgyvNl7d3irK
UYlM7wfC4XY6qiYLEkrlbgO3RiTu7gzXie89UFllPuGrZBlLk8iNF0UFlZHhDBIKdbhe7O0t/SeL
buP6IteX4F2GwIjdkPUhoetbwE5jtR8sNODoQbs1uT9YYU6ScmRhuSisB+O42vRw6LFHykO8KasL
BgJaliQp5IjAYVm2pIEYbnDt6SCZUuTuDpEkGTVkzKc79PJM/pcsDuNKrYyL4SNxI1ZDZuy7wWeF
NQSgoF8US1KtgLsEqqT8ilVswzFKeJDAujfjnPozInhkqyPXlsVIe+INzaOsIaq6DibuZEFcFhWb
jhyRFXELVA7LbDoQyUZWI6fhnabS7jSTdqextDvNpd1pIu1OC2l38qTd6Xdpd/os7U5LaXfay6rN
IShU8rrpOL60GQfS7hRKu9NK2p3+kHey0u4US7tTIu1Oa2l3epB2p0dpd3qSdqdnaXf6U9qdkLQ7
adLuhKXdSZd2J0PanUxpd7Kk3cmWdidH2p3UAcpE4wHKs2SAkvH8IoV2J4WqZsUEJxJMfRLH9HOg
AIPSWkhduFw/DQIy4aVYoJoSQ7QP1HPy3L5kNiJ5lnezsc7OTKD7GgGYgGnWu7+IXYFtlAXWqLTT
H3DcmiHdX1UUmdNwDyP/SNlR5Dhqe/cqg9UGdXiNKuZD68i6/Dbrsk63rlpmUbAPq2acmNwcmhxd
1xVEhX1h//Vq/7XEbnuVolDLwaeo/KLm2AMHn2Pr8r+MdYEA+DBX3MBbFpQmsyuZiaElPnhTEnKa
T0l/O097uafA6go1MzuT4ubDnLURXPpB/OqJCgaft1G1j4+PN4/aTRjNbynBdG75p2ncbIq0Ey+a
+IT+PrpDqkqfb9OPxTD0gptQRB6vE/IT84nzW7xaRGRGP+IlBmI6h+9/dx/cDSK/3hWoUcdk7gV3
akxfUuntjp4YeznzfP9uFhHyJ9mNeOtuwkfoeqjYEoSJN3t+GwbkDl1N18vVO58wcef753viUxEt
jO7SSWbN+7gpgj3SeSm80snGkR+RZB0Fscg5DQP6fupFdHCQYKuoNe5t7q8kocIOkRcEalYvvSKm
lcsmeuM1CalKmYaJEich2H7PMKz6N68s2xWKdVhrSiMfIxaOynsKTum/YrnVOJIT2SWBgPj3hOMU
YS820fe/ffCCv3NEvrvmdaV4IAr7xbeb9s3X4idbDi3e8Ds16t9VfJI8LGIL+8VJI5ViqyoBzP6A
zXsCVDjHFA8YUG6ZC2PkMX3lTxVRWjAmcE0oKgPJ3Niy4GZN0s6Cka9HtxurqsR1lkVq6q3GWdOT
onIDVbrzdAXpWJIERF8qlEcyMWX8vKLgoYy9uQHHLDit1rMPne50GisLj1JrKvlRQrcEY/yxpXY9
4ncIGPMU5LTkHMAGPNejsT4yZtcvMtl2opTwHfvxgViTAyCju62Fc7jtjgfMHWWjIaudjR8GlPsJ
rRMCXMM4kvppZcxIR7PQiiegiHI2IKWzZLGW/Azi3724iJsNA4G2MyxAIHtWgkBUI5sl/0Pv0B6L
7Grbu4rCRJiDmS7M+6PCyfpWE0F5+CHIZUBj10KXLNQ0KqPR4tRAZuYgSaM2xo7iqR4qwKIPnCju
docldOAVyvaKPv3IVPnncM1ScglTyBNKxukTFeNiKuswE0AwpY9BSB/+RhX9+40OIcZ9wX9CAvHE
HumK6dPPr+/v3729YUOugODSSpJYiwMH05ycSmlOfR+4duzAtcuBH99FMOvH1oeI4fqxA9e/wgPP
cBHWgooqWvfp+59D35s8HxTlD0i8niwymhh3O5sNsLxe76jHMPpMpRpezRmOMrYrJTbaknqHtTU8
plYjlpyMAO5cZQCn0GL2uPB8+uh6SZFsjuzW2c97a9nLg4biTKsEuWNUnmrNGqco7oxJtgFJGDSU
NEOvVKYzO+IepKcDxN5y7buUrnCPDKc6GegsnNYVixWgSH43paciQhzqx090O8OVmyzubg8M3dZf
qtQLukzrMq3LtC7TukzrS54WKF7IlF8ux3GZVl/TEokYTFSEokwv0Hpe09rI1tIEa0DZWMfp0IX9
g5DdBG6yQ61XK67RKvQDJVXBleR5BbuNsVOlB3yLMZkhPNnaqJ+AWuT9DM+jxVjsw3//988ffr3/
7/8GptLTTrirle9N0moVobsqntHxPjnaKyMzo9SDt89ZKUsV0XLNApFkrHkWhrdj9/91d7W9bSJB
+Pv9j/bDSaSwLG+VqrvUdtXT5dIqTaV+q6hZJ7QYEODUya+/fcGObcawxAshVJHaRI3nmdnZ2Zmd
2ZmsRvhWP0AMZL55f371/ECoRL5TiVCpPNSA8XoDo6kBg5SA2YAYEqZXzmxQcJAxLDi4LZyc0I8L
QJt2gKnstXNg0xSaNOHOLaMi+UXi8IGe0kHCK7t4FXE1HMEy/YNUSdYalt4574cFZ9qJFR1BczFl
Ep4My9BYw4LjNMKRCnAUwbH1YUnHHBYcW81imUrg/KlGNqai4AwKD3sShojO0vjmuejHPHlfSWqe
TF0uCZ3ckSwLAzhEd6Vyj6aiDaIPRie56/N+WHCmg4KD3GHB8QYFx5wMyda/MmdDgvP3sDRn0gmc
MfjwWJH2KTKkquCcDwqONRkUHITUmAqs7N5WvQevPvuLZQkgiIDRo/J/6ETbxB1WHokR8uEyPZJm
MpF5sjQPyGirLAQmPxtPZqOBUl6dK4tOphQnrBh1EUbEZzb8sEQTmz1qyLQPe7RKRfOEmGckt0N6
+Iwebds0IIdTlTJtKnboN4yk4m18WFk2VO2pjlH+F+cPfFqAeuMJK+ap3doZzgtdO9bYoWSxIZUu
NaVgkGt5yOOxEQaURTwSFtmc8k3DDrhKwXCMYfLaQOiGFGfFuuhWnDTkoOb7uFmTeUAzOD3ZHxl3
pCj/5W0AibnchunYQ+LLkuFrExbzeqpycydZADdGM5BM0wN0dNzPz1xjoToV5sG8EvF62HNtJZ/O
Bl1UPh4ZtVNZdz72GSYkNq1VFrKpgkm04o/ZkpRkvnj7r8Nv7+ROUUvyVU8teS3kvUZAFLajEAVf
230ogIl2OhU22AnEcs2ehG3VCNtBdqes2/AK98W6XadnCrS9jrYDEsV2T6w7dasulWN6OuvguB7H
0Xti3a1h3XK6Nawe3DgN98S6V7fqdqdmzgCHlmG3J4U39FrWvZNRrG8z6qiKNsjg1lawyOyiiI+5
PtrJ0kUKxblHbg2kolvRknVMNT9nPVE1F5o/7qmQ4W7m5uLL59LZmnE3df+7sqvb0i/mt7DvqsBe
HCAS928Z8YP7L/yNggAxDfOUwZgdi4CQLTPfDY1vbKYS8V4mRaOE6e5ylMMJAk7vIswL3ucyiTcq
CO9wUzmE+S2Z/9JYw00uFfEwZkEDN0wd8U2Pwx9JcA+33FEZFJRPYyqEqz0hZPTCbi8F1q8DEAPc
EEJvheHj7HxaAREnxWwdVmcodsOiyDGwxIJGlmlxD1+kYHwy4d1Z3pTOXnYDauHqKWc1ixZMpc+j
6IrkaRLn5CNvxQKz7J7OMjOMn1kJOrCSJjZUM0gV80cYBNS1WRK6UYJcI+s5SXkAC9oNqXu/VhBE
y21WF8+vcenBcXcDjWx3bUuhQvFjKqQKBZDCrtue0rZDzc5FbUZIjCx9beln1TJEz+lclPB8XynT
316Oa7CBrK2aR3bWc9OzDNdUWeZ+DveD91RyKYEBGBTSBfM5bxXFEsoNOxVhXaEAgoTkVK8IO2Qq
fYZ05WyuoiJMKYss6AK5kwuwWxGNk+35EpH4prht9KFclSoWJxNB/YITP4haLB76mR3yzM9U8BrN
7oJL5q6f+XmYP8FRb8Xi4yKKEL6MxR5IlpTrDOdLFJy1j2z/CFnvV+FAAJbCM20PO/3RM7BtOBZW
LmomX+GpCW8CvKVSoE8tC+DJOg2zI3XwCHUiBcG/RgPU5PeRcxjrujJBKOgEt0NpOruYXc/qvHF2
v7I11mKpgfPv9LimLcl21uPz1+uemXwWyTbnDLug2nBPNxKSDVFrF0z2rrTPoz8tLS3zwbWQHndx
HhbhHTweDrUM7L59vfxn8unqsmfW15TsPMnivjXr/HrysWeak0/pfc8kU7/onc150jub89tw8u+s
b9UN4+ns2wAtRekKbgP33ain7K4MXku7eudQymei/KL4aK9YbMncbTonAam/UPGwqxoBz9WJZhhQ
NlUqAnNkT38DWcaR3JtqvjaR1zVZFw23NFi9VDfUv15dwPk9E51Msjqa7nt5f8wbpa2y6J0YdbKf
7pVtpCJPvEqD31m4fXDI7lkXySoODkq9VHN5jI58aCdLqVXtoHG6kGXfrlSusLvaM9/+u2jcsLZq
4jkpyn+Kg4jdysXHyslQL+T5CE+4xEXl1kqzkK63IAupmGk9IaM3hlKEdgvIXjrQRZMoA0eW7Zx+
qEL073LN5/8QYwtZ3dTCD6NVBqsxPdvrCp6HDuBRx/z5nImc2a4sicSQSnHtB+pzh0S5N8VYproQ
s86laURgDB3pH5+2CN+y6p5CqxEkv8UDNVbboQUk8nllx1/02Mp4A8x31mv+03eWXpnA2gnz7XWv
GYXbBgWvP5+v8iJZbs0p6Ovq5smkd9yFfYJPu45tzycfxbyI4NHEBpaqXWxFdRXn/oJoDZNK9fZk
q07m1rksZ3VHydyPbunOfuvqrn58KbZ1HE/0RV8KsAM6O1m8rQ/HtyQ85VWqsrE9RXiIZvPDX/Ot
5db3FzixIaU7Ps/IU5AYLM9GyL2Vqgz2esvJeaNbQHN8LTF1s8tN3O2nm+PrbmRiFSaCniFJLL6B
q3ZdZUgUGIrTeN5jtvI41Wwuq6Vfsu8BmBuxr0cLnyLkKpzv/hqJY//sZ3rzqBT8/7xCH36m5Gar
NAY2TedRn2y90n/fk/HMDgX44vdBZ0uSxsCSsB9u4FsW8upWxDA8vdkRo1+2YvxBOCfN8LGlW3Xw
LdeW2vvju5XSO3VWzfE5q6YKZ7X4zdQWPIKQMggqjqDx+ap4fL4qHp+/dzgAVq1ZahqQe6Jzf9g9
jgShv/vxJLsj2l0YkAQ45uiX+IUyc0bXML7hd2RnyxS/5tkz/rtv2Ldc7J8Wi5xQr0lnf8SPpqvy
1tTWX/PpuF/CB0L/B8J7a2GzJ126Z4+MKYxc/Mf/UEsDBAoAAAAAAOu7qkYAAAAAAAAAAAAAAAAM
ABwAY29tcG9zaXRpbmcvVVQJAAO6TFBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADru6pG
AAAAAAAAAAAAAAAAFQAcAGNvbXBvc2l0aW5nL2dlb21ldHJ5L1VUCQADukxQVTROUFV1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgA67uqRpi2I4TiAAAATgMAAC4AHABjb21wb3NpdGluZy9nZW9tZXRy
eS9vdXRsaW5lLWNoYW5nZS1zdGRlcnIudHh0VVQJAAO6TFBVukxQVXV4CwABBPUBAAAEFAAAAO2R
u07EMBBFa/YrplykjZ04ZB9uWYoVIEAgUSAKx5nNjrDHkWOD+HsCooMSJAqq21yd0dyjyqopyqao
SlC1riutlGjUBmzwwgyDQ3GP7Tklce1yTyxqJbb4jC4MHjk9VJt6udIrLNtHOIsxRHDBdMQ9yAtq
o4mvcscJI2OCd0Kx41HeZLJPd+QRPqHDR8jTMFU5jfLS2KvbLzUN0E13kec/z16AWjbHGjjAmCmZ
1iGQNz3CPmTuBMCWOtgTd3p29BuveWMPRVhAmxO8xDANaKI9UEKbcsSZ+k7Tyfpf09/S9AZQSwME
FAACAAgAr7yqRrmT4z4rGQAAsgcFAA0AHABlcnJvcl9sb2cudHh0VVQJAAMpTlBVsExQVXV4CwAB
BPUBAAAEFAAAAOzdaW/bSJ6A8ff7KYhgPLHRUzrt2NFMdpHOMTEmnTba7kkDncAokSWJNsliqihb
msV+962iJFt2fEixfMkPGmkdJkv1/9UpkmL9udvPgl/kMKjXgkaz1ay36o2gUatvfA3+PJYm+xps
Z3HRCnaVtbHOgjcy7KkgtkGmiyDUWSfu9o2Kgj97ceY32/043rLc8Ot//fl9+s1J+i6JOFRfg9e5
37baqLj/XgSrv2fxYC3Y+bBT3aisV5q1INXRvrXJZINfc5W5z6nWKi8rW/+R07kQIjDK9tM467oM
mlQmgc6VkYXLkP0uL82WS22cF2WMNu4xTGKVFUG9sVmpuf/qX4P3caKCSKtRyGoQWxdn9d866afK
Vt/KQlbffd6tflbtf8VF9aMc6n6xp2xhq72iyKtF+VTmeVgG6RMSLiFRJlRJZRZ33BYX5W3zrvPm
6HTfhG7Pc7ksBhdmcOuOMnguN3nW/Zsr5o4yyrQCv12rWj35zNZWrVY7jWm9ti4mcYnjuOgJm+hj
kco4O3m/kvdy4nuS8f1uVaA7QT+LXS8XyyT+j+tFjmTSd31cFtjC+J5EfQtkMXfU4/Ye20Nxvnl1
VeY7JeUjyF3PpCphNw6SOFNBvVm5Fue7lE+fiobzsoUs+laEOlKVXpEm2GBzhzb0GbSLpbFp1hrY
3L7N66JQaV4EhQ6sMkeu/4iNCgtthvN3HcR0ezHRt9N/YUP/9SBjernk/dfLJ9lGNxdV9thgc299
RiizI2mreS9O4rwap7Lr9m3L8LBrdD+LZupEzqYxSteqsG/iYliJjDze9slWRpvRS1LbscHmUfWS
9Bm0C2ywweaeT+0/xcJbn/E0CDbYYLNQm2btCdq4p7Kd3MjktgYJ2damGGdTZ5E+zhItIwcsJhes
+ZK96uo1ShQTTC4xSVUUS0QQQQQRRBBBBBFEEHm0IvUnKGLUt77/JtxTMlLGYoMNNthg87ht7ubE
m/gyiGpfBi877rH+ZbBVG71uq/FjY/y4ce7vcvxYm/3CiHBo4iSJQ9E3MZWGBoUNNthgwwA+3wC+
92F7d//99sd3+29/fbe7/+nXvf13f2zv7l15GvQh5vfAzj55mJq/+D2MioQ6cgFYEalEuapw3HPZ
F0bG1p8eLuJUGVF/VMV36xyNp1Sb6ZmwwQYbbJZtJvQ45j8LGeZnGdwfQcE8wZCZvdCbPPCmxWjH
TAAbbLDBBhtssMEGG2ywwQYbbLDBZulsGthggw022GCDDTbYYIMNNthcaJPKgb9x2hU3TkIHHXTQ
QQcddNBBBx100EEHHXTQQQedJ62z82En+CyNw+m2Aofkcni4Wj2SptrRiT/wWM1Ntb25NWzUahvN
F1EtOdo8GNr2t4NmeuxyWutm1b2TX/Hsd2ScCJ2Jfh754Bv7fl0DtdYKPunA9sNe0PG/PNLmdJlU
XwgL+KX++Q/2i1gFOhuJN7Zm/x3SdwlR9WiY6KCDDjpMCJgQXIrbpOpdUfXQQQcddNB5ZDpMCJgQ
0DDRQQcddNBBB50f1rGhifMieD536Naeua10IocqehOb0GXHzeOel/ex6+h+FvmpYz/zq+kGhZtR
usnl9dG7xHX7wM02RScuxDh1EaddYY+6D3bufE8z5wXNm2lj9EDooPOYdBZy29SzQ1k4GsPcOHPD
YUqoQe7+pCKKn8aBzlJ2HdcumDfPZCxJ2jI8JKblj4mWiQ466CzLmNfRRsXdTJz0jZPVEM71smXe
5+hqzydL6LSJudrE+pPUcbmPI1nEOhOZOvbfQ2OjxvctgWqKagpKFoV7K3URI4QQQgghhBBCCCGE
0O0JLeR76WiFvjL6c0c4912q+7Md4bw4kcl3rcxFXKbjNhJTm4oytEsFNp52Hcm0aOtoCA888MAD
DzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPEvI8wIe
eOCBBx544IEHHnjggQceeOCBBx544IEHHnjggQceeOCBBx545uB5aEuLpP2kiK+/5TsFT7uABx54
4IEHHnjggQceeOCBBx544IEHHnjggQceeOB5jDyb8MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDA
Aw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MCzQJ4teOCB
Bx544IEHHnjggQceeOCBBx544IEHHnjggQceeOCBBx544IFnUTy3tdrzZL3mTLp0chkql9msTN55
i8l2s68CrTOPd7IMtEjkUPmio2osQ9VQxbE21BXqCnWFERkeeOCBBx544IEHHnjggQceeOCB5255
XsIDDzzwwAMPPPDAA89MPAs5J5poGTnGqnW49lTh2jDP7pcb5d8QcSq7SpTvicaA4KjYlD3B0Wpp
tVRsgiM4giM4BhN44IEHHnjggQceeOCBBx544OH4JsdaCI7gCI7gCI7gCI7gmJ3CAw888MADDzzw
wAMPPPDAAw888MCzTDzrtcd+rI/IiIzIiIzIiIzIiIzIHkpkTKvhgQceeOCBBx544IEHHnjggQce
eOCBBx544IEHHnjggQceeOCBBx544IEHHnjggQceeOCBBx544IEHHnjggQee2Xjq8MADDzzwwAMP
PPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzyL
4mnAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPDAAw888MADDzzwwAMPPPAsLc/7OFFBpJUN
Ml0EahDbojU3xHptXUSxEban+0nkslWIMqVr40xjG1ZlGEcNkccDlVDQS1/Ql8bQvD6GT6qrXdF6
klbgpEJ95D40CjoutlW7FqSyCHu+mI361lc/EmCZz9PS9TluVm0/z7UphKzkLu3VT9oVbugBgrYK
snGeVLRWmZ2heROGp1zT4YEHHnjggQceeOCBBx544IEHHnjggQceeOCBBx544IEHHnjggQeehfEs
5GqSRMvIMU7Fr9K8GFYO7LWRTnbNjfJPRZx2hU+UIqdFwAPPg+JZhwceeOCBBx544FkOHlhggQUW
WGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIFleVg2YIEFFlhggQUWWGCBBRZY
YIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCB
BRZYYIEFFlhggQWWKZYXsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDA
AgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgssD4xlExZYYIEFFlhggQUWWGCBBRZYYIEF
FlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBZbH
wLIFCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDA8hBZ3seJCiKtbJDpIlCD
2BatuQGsCvsmLobV2OrERRt91iaJqjIbdlzy10Z5ye7qyOXVUuY0BVjukWXnw07wWRqn0m0FTsdl
7XC1eiRNtaOTSBlbzU21vbk1bNRqG80XUS052jwY2va3g2Z67LJY62bVvarI5FHcLTMj4lR2lUi0
jEScCZeif9aTWZQoU+a0krsPqxSDYq0VfNKB7Ye9wPckgTZBFBsVFtoMfaHMWw6nmZgqgUglyvmX
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
TlBVdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA28qkYAAAAAAAAAAAAAAAAJABwAZmFzdC9jc3Mv
VVQJAAP5TFBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAANvKpG2wjTQjsAAAA/AAAAKQAc
AGZhc3QvY3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQJAAP5TFBV+UxQVXV4
CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz
89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAABS8qkYAAAAAAAAAAAAAAAAJABwAZmFzdC9kb20vVVQJ
AAMHTVBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAASvKpGIY7ss6sBAACeBgAAMAAcAGZh
c3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtc3ltYm9sLW5hbWUtYWN0dWFsLnR4dFVUCQADA01QVQNN
UFV1eAsAAQT1AQAABBQAAAC1k8FOwkAQhu88xYRLNTGNRq+YoGIkASFpEw6GQ2mnZc12Fzu7kL69
s1iJYCsV47Hb+f6Z+WcmXAoCg2QIgjJfaAmrQq+wMCWoKEeCjTBLiEDZfIEF6HT7nIAwmBPEWkqM
jdCK/E5nooBsHCPRBZTaMiolECLjhIVgMca7034QdIGlKcqQI1PW0BuWXJTQDQdBCPeT8XQ0CAdd
1uy86MUrp4BnneBIkJl3nAC8WSzKAF12XfSldL98iSrjanu9HtyA66uw2Bz+8tHw2fl8S1iVYCqU
660t6SVi7Z2AexXP+Lk3B6HIRCpGducpHI8exHogMUdldlJNLmRoqlC6K8Moe+bZHHGiCWnnxjG6
hSONEqe7MhMq0ZvKk832o107+7Etiq+A00t1/+93V1OVnOjYunBf5O4mvk7vej//QeTRLh/7w1ET
5Ik8+94uLbWVfIy4FfBhFhGkkST06yv4tILFaqwYuqAfzeCbaPYjkvLTjFu4umzwgqPajbuOaDH0
Pey/Rp/qIj8+zz2xR0aqbPVql/NfLsgh5gm1suYPS7IT3K2JE6xbFPf+zbp3UEsDBBQAAgAIABK8
qkY31WCcSgEAALADAAAuABwAZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1zeW1ib2wtbmFtZS1k
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
ZmFzdC9ldmVudHMvZGlzcGxheS1ub25lLW9uLWZvY3VzLWNyYXNoLXN0ZGVyci50eHRVVAkAAwZN
UFUGTVBVdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvMzElNUSgBsjLzUhQSFUoSi9JTSxTK
MlPLFRJLFAwNDAz0DMBAxxTO5AIAUEsDBBQAAgAIABi8qkYwtW3jOQAAAEMAAAArABwAZmFzdC9l
dmVudHMvbW91c2UtZm9jdXMtaW1hZ2VtYXAtc3RkZXJyLnR4dFVUCQADD01QVQ9NUFV1eAsAAQT1
AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksUzA0M9AzA
QEfXEM7mAgBQSwMEFAACAAgAGLyqRueuvV87AAAAQwAAAC8AHABmYXN0L2V2ZW50cy9tb3VzZXVw
LW91dHNpZGUtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADD01QVQ9NUFV1eAsAAQT1AQAABBQAAADL
zS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksUTAwMDPQMwEDH2MIUyuQC
AFBLAwQKAAAAAAAWvKpGAAAAAAAAAAAAAAAADAAcAGZhc3QvZnJhbWVzL1VUCQADC01QVTROUFV1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAFryqRtsI00I7AAAAPwAAAC8AHABmYXN0L2ZyYW1lcy9m
cmFtZS1kaXNwbGF5LW5vbmUtZm9jdXMtc3RkZXJyLnR4dFVUCQADC01QVQtNUFV1eAsAAQT1AQAA
BBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNT
i4tTU/S4AFBLAwQKAAAAAAAcvKpGAAAAAAAAAAAAAAAADAAcAGZhc3QvaW1hZ2VzL1VUCQADGE1Q
VTROUFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAHLyqRiGPvTgyAAAAMwAAACwAHABmYXN0L2lt
YWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUCQADGE1QVRhNUFV1eAsAAQT1
AQAABBQAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflFVgqZecn5RUWpySUKKYkliQrJGanJ2Xpc
AFBLAwQKAAAAAAAdvKpGAAAAAAAAAAAAAAAADAAcAGZhc3QvbG9hZGVyL1VUCQADGk1QVTROUFV1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAF7yqRtsI00I7AAAAPwAAAFIAHABmYXN0L2xvYWRlci9k
aXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFj
ZS1zdGRlcnIudHh0VVQJAAMOTVBVDk1QVXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0t
TVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBBQAAgAIABi8qkbb
CNNCOwAAAD8AAABTABwAZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2Nr
LWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAkAAxBNUFUQTVBVdXgL
AAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz
0hUKivKTU4uLU1P0uABQSwMEFAACAAgAHbyqRtsI00I7AAAAPwAAAC0AHABmYXN0L2xvYWRlci9y
ZWxvYWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRVVAkAAxpNUFUaTVBVdXgLAAEE9QEAAAQU
AAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uL
U1P0uABQSwMECgAAAAAAJ7yqRgAAAAAAAAAAAAAAAA0AHABmYXN0L3JlZ2lvbnMvVVQJAAMpTVBV
NE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAnvKpGAAAAAAAAAAAAAAAAFwAcAGZhc3QvcmVn
aW9ucy9zY3JvbGxpbmcvVVQJAAMpTVBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAnvKpG
OQHL3UAAAAB6AAAANQAcAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsLWFic3Bv
cy1zdGRlcnIudHh0VVQJAAMpTVBVKU1QVXV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0
skrOzyvJzCvNLy32BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgA
J7yqRjkBy91AAAAAegAAAC4AHABmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1z
dGRlcnIudHh0VVQJAAMpTVBVKU1QVXV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrO
zyvJzCvNLy32BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgAJ7yq
RuSKx0M8AAAAPQAAAEAAHABmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbGFibGUt
c2luZ2xlLXJlZ2lvbi1zdGRlcnIudHh0VVQJAAMpTVBVKU1QVXV4CwABBPUBAAAEFAAAAHMtS80r
CU7NS0ktCijKr6i0skrOzyvJzCvNLy32BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuAFBL
AwQKAAAAAAAtvKpGAAAAAAAAAAAAAAAACQAcAGZhc3QveHNsL1VUCQADNU1QVTROUFV1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgALLyqRnL9ZfKFAAAA6QAAACUAHABmYXN0L3hzbC90cmFuc2Zvcm0t
eGhyLWRvYy1zdGRlcnIudHh0VVQJAAM0TVBVNE1QVXV4CwABBPUBAAAEFAAAAK1OMQ7CQAzb+4p8
oGRguxkm2EB0TttUnJS7VLmc1P6eg36BxbJsy/akaY1CHjUDm6kFWKLwDwIivlRq4oIXcsLr8MCB
x1t0vNOu1Z9cvOBCxXErgsZFq00tvr2tn3U6NRUkZoYzsHDi7BDTquZdc8JBIUDNNLZRVxCl+U/j
/VHP8/dF9wFQSwMEFAACAAgALLyqRgWPVY6TAAAA0AIAACcAHABmYXN0L3hzbC94c2x0LWJhZC1p
bXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAAzRNUFU0TVBVdXgLAAEE9QEAAAQUAAAA7U87DsIwDN17
Cl+geGDLDBNsIDo7qSsiOXGVOBLcnkCPwIZYLNvvo/eCpjUKWdQMXIoWB0sU/gyHiDeVlrjigYzw
OF1wYn+Khmd6arMrV6u4UDV8VMHCVVsJnd4vGz3NY0yrFhtbibv+A4mZYQ8snDgbbOjQEbet4KBl
8j2AKYjS/G2QrLWF+9uk60SG8O/7031fUEsDBBQAAgAIACy8qkbPj2YOUAAAAKAAAAAkABwAZmFz
dC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQJAAM0TVBVNE1QVXV4CwABBPUBAAAE
FAAAAK3MsQ3AIAwF0Z4p/gZR2myDwAhLNkaWiTJ+yA5prrtXTCdLDrYBcje/0FgIEB6EEySkNAK2
Yq5IPO4sXLG7CM0cStGt7ssslb+wp4fK8ZEvUEsDBBQAAgAIAC28qkaBSnetSwAAAKwAAAA0ABwA
ZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQAD
NU1QVTVNUFV1eAsAAQT1AQAABBQAAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5in
mpSGg5mRK4YaAVMnFtA46YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAs7yqRviE
4EBxAQAAigIAABEAHABmdWxsX3Jlc3VsdHMuanNvblVUCQADMk5QVTROUFV1eAsAAQT1AQAABBQA
AACtUcFO4zAQ/RXkEyvFm0IlDt1TpYYVosCKBMqeomkypVYdx/JMoBHqvzN20QqJw144eTR+896b
N/PFor4vyodlVZ6+KUZiUrM31WFrIBYcoNn9K7Rxeg2u1cSjxZ9b7mz8C+j7wGqmLpfz678qU7j3
2DC20vozL0vpQMMDCFhVVzfF3UN1kvqHwyFTxlFE9yEJ9y0mTg+BUFMTjGdNo2PYaw74DaKZ2gLV
xC0GkeQwYLKxAeLI2/ZdfBxIBtowdqRfDW/FQ7furY79rx7ui9+SYnl1d/sfI8VTFbcWPdoZ7yNo
OrmYZMoNXR3wOSCR6Z0c4Swmw+Jx8IlrA5bwiOuMgNyzmsmchbEfuE6Xq1sjG6n8sbdDh5QvgCEv
VmW+wvW14XyZsFU6cqZeMEQpMXBk9UCEIjy9mEyF2Js92g9edLC2n0zEAH1A5lGmuNkeY5QMzT4C
004frBsLu1HNzjM1CHt9zAY47lhvTMSmC/z49Q5QSwMECgAAAAAAN7yqRgAAAAAAAAAAAAAAAAUA
HABodHRwL1VUCQADSk1QVTROUFV1eAsAAQT1AQAABBQAAABQSwMECgAAAAAATLyqRgAAAAAAAAAA
AAAAAAsAHABodHRwL3Rlc3RzL1VUCQADcE1QVTROUFV1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
TLyqRgAAAAAAAAAAAAAAABAAHABodHRwL3Rlc3RzL21pc2MvVVQJAANwTVBVNE5QVXV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACABMvKpGFTU1knoAAAC8AAAAKgAcAGh0dHAvdGVzdHMvbWlzYy94c2x0
LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADcE1QVXBNUFV1eAsAAQT1AQAABBQAAACNjkEOwyAM
BO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9caZrb4DiH4
Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k87qXLDEv
P1BLAwQKAAAAAAA3vKpGAAAAAAAAAAAAAAAAFgAcAGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9VVAkA
A0pNUFU0TlBVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADe8qkbbCNNCOwAAAD8AAAA3ABwAaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFuY2hvci1yZWxvYWQtc3RkZXJyLnR4dFVUCQAD
Sk1QVUpNUFV1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2Tm
pCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAABCvKpGAAAAAAAAAAAAAAAAFAAcAGh0
dHAvdGVzdHMvc2VjdXJpdHkvVVQJAANbTVBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABB
vKpGAAAAAAAAAAAAAAAAKgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L1VUCQADWk1QVTROUFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAQbyqRmOqrGyCAAAAqAAA
AEAAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dl
ZC1zdGRlcnIudHh0VVQJAANaTVBVWk1QVXV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4
FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR/
/vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5Q
SwMEFAACAAgAQbyqRmOqrGyCAAAAqAAAAFIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQJ
AANaTVBVWk1QVXV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgbYlAsIyml/n1N
KXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQeFCaXZlgw74z5
Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMEFAACAAgAQryqRmBL
ZhCRAAAA+wEAAEUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50
LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAkAA1tNUFVbTVBVdXgLAAEE9QEAAAQUAAAA7Y4x
DoMwDEV3TuELhASWVplh6NKeAQVTIpkksp0Kbl869AYdq7++r/dC3kqkSWNOgMyZPSyREFbV4q3t
+kvrznX+6pyzgqFy1MPuImYY77dxMLuQmXOoGyY1X+DB8RlTu28EFBNCD0j4IUD0IJQVUZvz6V/I
cro95EQHdK2DBSetjAITI0gtJbPi3IR/6I9D31BLAwQUAAIACADmu6pG6op8QmEFAAAFDwAACgAc
AGh0dHBkLmNvbmZVVAkAA7BMUFUpTlBVdXgLAAEE9QEAAAQUAAAArVdtb9s2EP6uX0G4MLAVk5y4
cecNgQHXcZosSZ1ZTgMsSQ1aoiTWEsmRVBJn6377jrTlF8kRCmwOYJPH57k7Ho/Hi0/kI5FjzjVq
tHIlG45zyYP5KU0JCHQmWrdkdkF1K9FahF4Kaw3nmoavAQQNG44fcEk+cCxfhSmDmBkEGJzQjPBc
o3cHB84FIaKf0keCRsy5ws/r+Zj8mROlFTrcRhXUw47jXFHmCyyJb7cEQMPfkXQcX2OpdwCDlBJm
1HYOzLQwc03kIKFpaMzBx0QFh1c8zGE/ONfJyzThSk+zpSSlM/JMghYWOEhIuwXi6QblKb5NpyxI
85DUcVeQEjHl8TTgLKJxHXeDKtETgkPYdh13BSkRlUrrSLBcImRwKnUMs16iYEVrPTPrJUoQ0zoG
LJcIjMRcU6wpZ3XELVj55DIckwyL2qNbYcr7C4y++i0uIWViSnE9zQBKJEmeJNW1Z7CClIgiEZ2C
tfqUyTA3KEN0ljfpE84IOmz/7B3A36HjHJ9QSQLN5QK1eo7RMRJ2a+ichaBLoVOepvzJX2SXlM0V
uspTTT9T8qTQEEwNPp4D0t4AZel9gx6BJUlDYmZLpRJyFeIDaz+FhC02UBRJnpkV57i19qXnOP0g
IEqZmmRd9hKNrQRcNkKF/kGNL/feD3dnycPdRD/8fXcSPtz56mFqvn5s9F63ewKDjVkj8SGDVLSw
7h63rH5w4UaRAWac0QCn1gkocyckwhCByUIQpMmzbokUU+acQelgALnkfJ4LhUZRZMpQfEkeSYqe
sGRmdsplhqF4NxPUTFEzR02N7htNed9AzZ5CzZmZ/TUmEZFEfqMgNnNwQ7r9GCqfETVQwLMZZST8
Lo0WnvFd8xsTyO2h5k0DktAKdlHWMF4abiA7KNLIpzHDOpc2Js7xeVRUk3WSBz2IZCHvlTG2qgTL
M+qH4SVmcQ4GUIiRF84rYpYij6UVMWHII6wq1iAmFXEkkRfJqklIrrCKhmPzSNVkYlJxjR4kWCow
d+6P3G6384vbRR5VfDmscCn4RXVF/BX2/BXvU9k+aLfd365hmaoKbQ7bmctXaRdj64o7r+6YQdhY
NWyMg5hXxAICIfirO24vzYhqqARsV+g9YncmzQr8VBZT/YK8NK/IA4hRgKuHpOCQqqFRj8hTj1Ul
gA5Af1BlyBx5smr2JXEnt8iDH/1UjsAHGneKuou8YubNYFCG3p5/Ohnd+u5hu3MI5oUdlEGD6+77
92t9gYDZq0E3pmzYNz4XmIvRedcdF2rmnHbdSpLcDHw4twKTB6q9D3G0jTiqICankO1rhI66joXs
3vPt93l13c2nCPC1pBxetoW5yXD14ZqDZrinob1/cF/gbkCeQ2ZCFkI+LXMHDsvkCeQEnD+c9eps
dsrNyltbp7EQKdRw40Tr2YWuEnk6flljhizgIWUxenahVgoJjwzy/tizGr9Qgbz4ZZd+hlmYwiMD
PYyrAklN2sMYMjzddcM+F4nO4D4p81NWoGxldYWJb1hgqiAWuli5VNk2rK7G2pd/U2P3hML29y7g
wNlEfB9whvX3AF3FcxkQq1jty4yQyu2MWD/9tu2Avhu+PRus5bDwr3LIsDCNUhzbjhu6Dg7/LHC2
u6QSLvWUC8KmGqawXBO2otlaOTdeTocshjfXvHZbwgFnIYLXdPj7zdCfTK+Gk7PRyTf0ZTLuD4bb
wLFR7r1FLro7fSgZ/0ylznFqOgj09tfu0dG7peG9/Zpd8C833hy3tvig7o3zBvXhSIirBAloRAMU
mXZmoTTJkJBcE9u6eoBcNVINqWTwf/RLW72k6c68t/fevWe6ojDicv5fLGw1hv8CUEsDBAoAAAAA
AFm8qkYAAAAAAAAAAAAAAAAKABwAaW5zcGVjdG9yL1VUCQADik1QVTROUFV1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAWryqRgAAAAAAAAAAAAAAABAAHABpbnNwZWN0b3IvbW9kZWwvVVQJAAOLTVBV
NE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAABZvKpG/ic44DUAAAA1AAAAMwAcAGluc3BlY3Rv
ci9tb2RlbC9wYXJzZS1zY3JpcHQtc3ludGF4LXRyZWUtYWN0dWFsLnR4dFVUCQADik1QVYpNUFV1
eAsAAQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBi
ZSBjYWxsZWQKClBLAwQUAAIACABZvKpGx8uuMKoBAAAGBQAAMQAcAGluc3BlY3Rvci9tb2RlbC9w
YXJzZS1zY3JpcHQtc3ludGF4LXRyZWUtZGlmZi50eHRVVAkAA4pNUFWKTVBVdXgLAAEE9QEAAAQU
AAAAvVTBbtswDL37K3R3NaPFTjslTVIgWLYOtducaZlxtMmSR1FI/PdTim0uFva6k+H3Hh9F8dla
a1W9BJcGjNUaGKrNvq722H62/Ptxn6zrqid0CBErB1NIrBkja8KYHMfK+jii4UDVEDp01QgUUUdD
dmQdJ89w1kyIGs8XHXYf+MxFWZb/sTUYTuBeGy8WSt/efLxT5e3NnVosCj1CjNipZYy29wN63pzH
3CHa4GeSCCYBv3fB/KgZGC+FM2w9kKgnBEG/AucEdUOTpGVzXDlIEWcs+M5yLgXJJrNsfcJrr3XY
H62TCGxT3yNdM5thZOFUc9tr7iGQCG5l7eNBgJM3l/nWaBwQ8Nvx/nDC5Nsum9iDRZohwX1nGQnc
/A5tTl0nCENvjXjHX3BokQTiK54E9LH9noMrEN8ojEg8/QWekBMJF1Xjz4TeoOBRn2yOiFDyiq/g
TXCao41S8I4UTtcGz++k+nnsslQgXoAstA6ltf3LhXlH74Ryb1mYarnbqWZTN3VRPiy3u0+qsUOG
889CnSB/FL5Xh0DKhxyEaR08Kg6qRZX3mHdcqOIXUEsDBBQAAgAIAFm8qkbQFzqoDgEAAKIDAAA1
ABwAaW5zcGVjdG9yL21vZGVsL3BhcnNlLXNjcmlwdC1zeW50YXgtdHJlZS1leHBlY3RlZC50eHRV
VAkAA4pNUFWKTVBVdXgLAAEE9QEAAAQUAAAAbZLRTsMwDEXf+xX7ldENaVJhiHbs2U291pAmwUlV
+vdkiHUI+9HnXjtxcgPEiN1mGyP1bkSX9l+BMVfeFeFXY4ZF4gfrzUedIOG1baXkgDU3I0h3CdZK
b8OL4kxmKC1MEVfkXUcp94EyI4uJ3IRi0M6fB7IKx3bqe2Qh7MeQ5H3uJwrp0bPGDqrzeJF0cua6
1g6NBYb0Z6ubJPc9dHkCXQh5JXJyRQkZ7FpCixY7afM9Ge1Rn3BskSV/xlnCY/uORonTC/uAnJZb
/YppYvk2NX5O6AzKAfVMOQuy4QeXcA9IM1BU0jWwn0X3SY/tKXTZKPkbMEFrUfmj/5Jff0QP3pmS
XGZbVZtmXzd1UXwDUEsDBBQAAgAIAFq8qkbexX5WKwkAAG4zAAA5ABwAaW5zcGVjdG9yL21vZGVs
L3BhcnNlLXNjcmlwdC1zeW50YXgtdHJlZS1wcmV0dHktZGlmZi5odG1sVVQJAAOLTVBVi01QVXV4
CwABBPUBAAAEFAAAAL1ba2+jSBb9nl+BEu1GGgVsx07adtJZdeehaW3moUlm+uOqgIupDlBMVRHb
vbv/fW9RBQYMTqSF6VaHR73OfZ5bRfo6lHF0c3QdAvHxEoMklhcSLkB+PM1kYM9P8bWQ2whujpYR
TV7OrOUrFVSCb/37yMI/EjbS9sFjnEjKkqWVsASu8iaXcR+47TIpWby0JunG8vEe/Kuj/x7p6cwk
HosYX1on4+kib3MeaAR3NAhMu0u8lxVnWeLbRddgrv5WF9IrCBZR3zrxfV+3BSyRdkBiGm2XVswS
JlLiGYAx4SuKkCcQW2P9KmUoXC4HhwgleoUcUDhpIJ1Opy3zC5IIWwCnQaVR0O+Qr1Fd1I4gkEtr
7FwU730q0ojgJDRBzRiEa+rLEAePx38z+Ijv02RVjtTYjGnUXd06Bi5NQgQly+4hewXekOji4uKq
S9kAWg2OsskjriXM4CBiBMXgdBXKuuVUr1sUn6AsxVIMVU8lijhuiCyJG4HtQRTVpLTzeWtaWoco
nZ3bULnampN0h+wJPGW7TqfJB9ddpukuxmcLvaNDjdONXuF+k6J5cX4UDc4sR12aEnbCE9QHd6t+
WjnUzxHzXn4lXDoo6jKgXEjbC2nkdypWLfeE488OTcYhRtOevbGeWaNQv3Y421Vdam53UXgdeouk
HolsEtEVxoZkLWJxUJ7+I0n8CAp1mHmUCtVzCNqgO3/2Mi6UaRTsZgQSF62TFRbDNUvH0cGTwzuE
oubn++6w4rC9ajimc/GWvbSKLUeyN9XsBJzFDWWb/KjWUFr/OYtd4OhNUPUu/bYAvp9GjdcuFrUE
WIRLWxosInk2m7Wmm6r1yxyjJrrQIaDDoEz4xg+Me7a5iIZbc6epSVgVwXMRWxOOJolOtRxIUilX
0algGgUW2cR4TSFILVZxkK2jNW9CfeaPKAcH8mKrFxoQjckKapZZWuelwt2IKC2qjh6mBsSAUMyd
1ZR7Z5X5bNGZewMIdglAuRXOWNJjJZpbhvqBXx+Kxhbd3RewuDrE6eVMJstUcZio6KZr39+bwPIh
6h4BizfRjH6wnrI0ZVwi03LjyajUOIZECuuHEa5HMhkyrW/NxqqYQa+X6KdeYal8QN6ng//LPgoM
QZfIOxfp7LJwbJVuSBTdFghae59rLovJxm7Qe4x1gXl1Pi55p7k06v3gOmVklyFdW6YNp8NS0LRp
r8F9odKWXIWd1oQGbjnn4qoixswIfSIkkZn4nLnI4SUfOip6WuGoIZKxyCW83l4sHUSQR+iuIWbf
y7dlcprqODZ1lLotqgV1310SdmWOg6Xczi0CugE9j8nH47pIDslrEB1m+yy+ppgLeMPVyjm/2zTx
YYNJ6oBoOyKsQGiTyySjGr3NTRZLFEwTsK3UhOu5bPMm0Msd0Il24oKE9FMO1tyXDGYeS8BlZVZb
mgacxBphI07qZUQlRm47Mu2+brZYa7K14XqIsHDEmvkdxHS5eNi5l+HkjsZcEfW2soz098vjenFs
5tDq2/fhzpLAL/KsXuZTkRSKrc642vpccGRjT3L5oUho+zAPBElltyNiomv5as5NGMfXVx1Zxsiv
SjDRtriWo4jrcVuXiLgQLUmAEXa2N1y/zyfJCTlBUY+t/1jHV0clEVfouzk6Ilihs8CW2xRapzru
RGQ6Nra4IUR5giyLUaKK0Q6OOolBiKLw6NRzm1kq0fGUJ+r3UCFSDBZEr5Rl4rZ8g8Xsd0huK2TZ
xvNFydGkmCq5qFyOXpt7QpHbzbPxRJNEpgUHvguNcQ2scUCqmKjRhSn7Ooq+Ks+6GUZVUs07Bb/7
9HUZMM/okGVS5Ytq+LlRljOJaUJ/CRALMtikEKRKlvksWMM8h6BXGhmmXSF+JYNklsQ2V/c2rias
V0pUTpY/GZ9AsC5nazQ4VgIhwbGmKKLSUUVQKcfswlTxZSlinovsoApZ9W9cJ9HiSKdZ48fUx12W
FkwZSBSb7xZGwTqMCfKKukcNQINXqju9PaqzJ85Ul0y7w4+C/VtscHJ3d1cJ6ZP5w93DxUNrfsLi
st2L7+/v21AvIU4xQ9WMb8q0Rk8HbxFpLfLvF/Px3OQtLwLC/5WXB8VWQL3Jt02h6nI9Mqdu18Lj
NEWbcu/jcShlKpajEflGNs6KsRUOSqlQrpu/G0XUFaNvf2bAt6OJM3POzYODpaXzTRzf4Lz5fDdW
fWaP+WArG8Ia+/0DLa2M+XE2rwxBUOag0GX+Fi8YD4ibCPHxtNgJqPPCcHIz+gPtiTlrdEckGd1/
fRp9BfefVJrL54xG/ug35F0iYISeguq0JWCGxe17FkkxwiBOkZQZH8WILBql6lDS1kBsscX8ukH2
ALCxjslI5MiNRHSTOqjKmdDpfku+V+96r/bwlt6mNLqoDYxVP/vZ9cPEkhQd883/rqI4vZmgJrH9
ptYLY7za5++JK9Kr1o5I1qc3Kd5jpfJJCIxAla6QyVFnylhmEFoJ0faF+bxHzBwpbmC40/7g5m6g
KBOUmgdBO+sRLVb0fGjtXvSIVx2rDKvdy/7Q3iJbDKzbD/2hfebbYTU771Oz0gtvI5IJGATqokeo
LPHzeoUM7QuTca+oJU0yGNYjJj1y2x37GmI1MTDgHontDtxstQI+MOIeue1e1bEDw+2R3HbhNjDm
HgnugQ3tD5e9gv0ytG4/9Ar3l2BguD1y3EOW5HuQO8BW/RFjGMyL/jEPvb3okem++OgMNKDAh4Ha
I8V9Gdh7z3tkt0cq1UneMDh75LRHddQK/sCK7ZHVHtlKHaYNHWE9ctpPoLoPDbhHXvsZ1kOj7ZHW
fnG/gTf4gU6PxPYrZylwuR0GaI9s9hvIjA9c4Ex7pLIn+DODxIOhT8t6pLSnNcWd/MAqPu8b7y0Z
6Nxh2iOzPYdUDO0Jsz7hcrYe2BF6JLXf/4KD02mPnPZ76qNqhwbcI639QThVv9879PZnOh8OMxtm
TzHtkeP+gkOzWY8U95XKgdli1uf3tsdH6/n+6fmpiTS/dH9BJL7/9udD0+mgMAdwsnd8ZMxlefj0
5XFpPdMYBWKZtNaESvWRWv3uZMJw67y9YwgOJ3TBwp0J7qbeFLfyIfv0xjTvG/F9n1tFSDi8ra+3
Df+eMuG8W0//j9CNS/6h/Hqk/5vN/wBQSwMEFAACAAgAWbyqRmDVOBQ2AgAANgQAADMAHABpbnNw
ZWN0b3IvbW9kZWwvcGFyc2Utc2NyaXB0LXN5bnRheC10cmVlLXN0ZGVyci50eHRVVAkAA4pNUFWK
TVBVdXgLAAEE9QEAAAQUAAAAbZNdb5swFIbv/St8NSXTJmG+4S4lTZs1gaok66Sqsow5rF4IZsSJ
2n9fB1QgW2+w8HnO+/ocHxOMsfFKjMxwbG5b+EcahWEk67ef4iCUbMKQ659FI/fpC2sgn0yR+ZFi
uqYJWZdyC6zu2CvGd6L6nepkOGjcGnDLDfxLvCyBq+W+Lif9dlJDw5SQ1Td8kiL/2i+iUnjyZYqf
LO95iuyRrGWST2Q/kZwiZ1Sv73hd2k0040qchHqLWFlmuoAwzOWjbHb6/O5g5Pm+ORhtxB50f9R5
mYt8IRqYUBotHo7VSsou/HH6KfJaGa8oCj8zvcICG7fwNl4lyT1dpjSarVbL+IYm2w3dJHRGN8v1
9UO7fTWL7uhiG0ebZRJTivwLMShIgUfOc9l6o2BMFYbD2CfUARFjhFnMZc4Y0wsiZEwE4Dl4HE9r
4KIQHBGz54LCyZmRYx2Ojk0Dlbo+6c85Y1mtZQ6IWBewl3n4ATiIE8Tw2tGR3O+ltrcvSCfjmF6V
ku+2lRJlT6+Z4i968lbioDqPR6FeFqJUuhfE6TX83LBMGzCd36d9MiLuGDD9IMPfn+J0Vtel4O3w
4OpfpzU77MLj+RBzpiAUrWmYw98jHCF8RsQbNHnhBgH/T7M5VprzRxwQz7fwBbVmQnch6KHCshg3
9J2/1pzuz0FzuEOLBE6WAx5ipBtgx81yNzDwI2R3QoXhr/soheYkOLRF3bIqL6GZxGmS/dHPR8+s
Odynx23XKXJ8UKxR6B1QSwMECgAAAAAAeryqRgAAAAAAAAAAAAAAAAYAHABtZWRpYS9VVAkAA8hN
UFU0TlBVdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAHu8qkYAAAAAAAAAAAAAAAAMABwAbWVkaWEv
dHJhY2svVVQJAAPJTVBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAAB6vKpG/ic44DUAAAA1
AAAAKgAcAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUCQADyE1Q
VchNUFV1eAsAAQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9u
ZSB0byBiZSBjYWxsZWQKClBLAwQUAAIACAB6vKpG/WrzNsUBAABuAwAAKAAcAG1lZGlhL3RyYWNr
L3RyYWNrLWluLWJhbmQtc3R5bGUtZGlmZi50eHRVVAkAA8hNUFXITVBVdXgLAAEE9QEAAAQUAAAA
tVJNb5tAEL3zK+ZmCF4IkXJoJUtuDZGqVE4V06RS1cMCE1h52UXs0Nj/vgN2LCepequEdqWdN+9j
BiEExA9WDy26OJUk4+xxEz9icavoeH0elK7ie9QoHcZa7u1AgtCR6NENmlzcYqVkTL0st4dTKCMK
aSrhaK9R4K7DkrCKaEdeGIb/X1GWNEg96S2XIJJ58gHCZH4Fy6UX3nz68vUj5IpJgJnhWSpSpoYn
24OxpJ72qTUIZKFAKKXWWHngiZwNADWSYNIY61yDckAHyoHsOq2YsbR9z2n1PvJE9pCtc7+UpuMQ
1PR2qJvAE564uIBVg+UWlGFtqeFoH6YwLCA5rifuv699ZcZCPr4nsIDfqkIbEe5oenI/L38xY/bj
W7bKsxT8t/VIo6mpgcUCZsksgLvbc/Q5eaSlqQdZ44RF82/wVrHbEVjKjpQ17gh/azlqbcWMMHON
feYpz4LTWBrWw+DQcrA9jskPTgiHuMXqZWDT/MuBp2vGm1djte3ducMaaWXbbuB/bTPuyGdYqtxI
m2lsuTGIpq7JeV8X/tX19RxejuBd5L8RrjlQEBUcruaFmmr1ivByDuN3olqncHcDebbJOcYfUEsD
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
HJ4h93O6Z+77uHeDH4EIT/312f5+w+D+GVL/79vUnSjw4wT98ICep0/P+wE52kM6/5EjWOOivy/A
wV7/66T/AlBLAwQKAAAAAABqvKpGAAAAAAAAAAAAAAAACAAcAHBsdWdpbnMvVVQJAAOnTVBVNE5Q
VXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABqvKpG7l1yRYYAAAD2AAAAOwAcAHBsdWdpbnMvbnBw
LXNldC13aW5kb3ctY2FsbGVkLWR1cmluZy1kZXN0cnVjdGlvbi1zdGRlcnIudHh0VVQJAAOnTVBV
p01QVXV4CwABBPUBAAAEFAAAAJ2OwQrCMBBE737FfEc/oCJIKRTxKOlmbSNxV5JN8/umBy/iyesw
8970LkT2MEViS4E3BqlkjQydH0yGurYGoi5LkKXDeL4cT0OHvg07DON4m9iuQbxWkIs77KmJYasT
qBBj5vsevGJpBHjOlgpZUDn0/8qnQsQ5f/uryxC1zw9fUlv9Er8BUEsDBAoAAAAAAGm8qkYAAAAA
AAAAAAAAAAAJABwAcHJpbnRpbmcvVVQJAAOlTVBVNE5QVXV4CwABBPUBAAAEFAAAAFBLAwQKAAAA
AABpvKpGAAAAAAAAAAAAAAAAEAAcAHByaW50aW5nL2NzczIuMS9VVAkAA6VNUFU0TlBVdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAGm8qkaQ5YZaWwAAAOACAAAvABwAcHJpbnRpbmcvY3NzMi4xL3Bh
Z2UtYnJlYWstYWZ0ZXItMDAwLXN0ZGVyci50eHRVVAkAA6VNUFWlTVBVdXgLAAEE9QEAAAQUAAAA
y80vLU4NTi7Kz8lxqgzPLMkIz0hNzXHMS/HNz03NKynNDchILE4tVkhLzMxJTVEoyVdIy8wD0hmp
CiWJRempJQplmanlCoklCgZ6BmCgA2Nw5Y6aPWr2AJsNAFBLAwQUAAIACABEvKpGhD37oncCAACn
FQAAKwAcAHB5d2Vic29ja2V0LndzLmxvZy0xME1heTIwMTUtMjMzMTEzLWVyci50eHRVVAkAA19N
UFWxTFBVdXgLAAEE9QEAAAQUAAAA7ZZbT9swFIDf+yuO9kKrhdhJSNPmbZeyTZvY1CJ4qCrLTU6o
VTfObJeu+/VzUxhBwF4GbEhRIkW+6Xw5tj+daUiD+JDGhwGFMEqjKI1jL4rpDKaj8fjreAaMrbgo
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
vKpGAAAAAAAAAAAAAAAADQAcAHJldHJpZXMvZmFzdC9VVAkAAy1OUFU0TlBVdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAALG8qkYAAAAAAAAAAAAAAAARABwAcmV0cmllcy9mYXN0L2RvbS9VVAkAAy1O
UFU0TlBVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALG8qkYhjuyzqwEAAJ4GAAA4ABwAcmV0cmll
cy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWFjdHVhbC50eHRVVAkAAy1O
UFUtTlBVdXgLAAEE9QEAAAQUAAAAtZPBTsJAEIbvPMWESzUxjUavmKBiJAEhaRMOhkNpp2XNdhc7
u5C+vbNYiWArFeOx2/n+mflnJlwKAoNkCIIyX2gJq0KvsDAlqChHgo0wS4hA2XyBBeh0+5yAMJgT
xFpKjI3QivxOZ6KAbBwj0QWU2jIqJRAi44SFYDHGu9N+EHSBpSnKkCNT1tAbllyU0A0HQQj3k/F0
NAgHXdbsvOjFK6eAZ53gSJCZd5wAvFksygBddl30pXS/fIkq42p7vR7cgOursNgc/vLR8Nn5fEtY
lWAqlOutLeklYu2dgHsVz/i5NwehyEQqRnbnKRyPHsR6IDFHZXZSTS5kaKpQuivDKHvm2Rxxoglp
58YxuoUjjRKnuzITKtGbypPN9qNdO/uxLYqvgNNLdf/vd1dTlZzo2LpwX+TuJr5O73o//0Hk0S4f
+8NRE+SJPPveLi21lXyMuBXwYRYRpJEk9Osr+LSCxWqsGLqgH83gm2j2I5Ly04xbuLps8IKj2o27
jmgx9D3sv0af6iI/Ps89sUdGqmz1apfzXy7IIeYJtbLmD0uyE9ytiROsWxT3/s26d1BLAwQUAAIA
CACxvKpG1KN2z08BAADAAwAANgAcAHJldHJpZXMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1z
eW1ib2wtbmFtZS1kaWZmLnR4dFVUCQADLU5QVS1OUFV1eAsAAQT1AQAABBQAAAC9kFFPwjAUhd/5
FfdtktHVSCJPJEOFSMTEOCMPhIduvYOariXrbYR/77YQFAEDL760ze055558jDHg71b7Ah1/ECT4
cJrwKaZPirbXnVda8lfUKBxyLTbWEyN0xEp0XpPjJVKpKn8uHHFpC25EgZIpwsKxT0VL5jZFajWr
5wzXK8wIZURraoVh+N/7RUZe6GZ7HAO76XZ6EDZnHLdgZtOPqh48vj1P7q3W1VtZM2/ByyBJQNqs
amooUoVYoIs0mgUtod/vQxeUAyo9HpfOkqbCVXveqL2RmCuDcudif7kCVSyCk9ZwNBhPLrO6pfVa
QopNQgRT4SAX2mF0on6wjavS2sEclHEkTIY2b0iNa9FQY+345rBPc6D1T6A1+26vcwthc9bs9/Uj
WxbbyAP8efXnZtfzS6n+9gXKrDydTfZc+/l0d4k7vnXiMcL1/JDwF1BLAwQUAAIACACxvKpGyTy3
IJMBAAB4BgAAOgAcAHJldHJpZXMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1zeW1ib2wtbmFt
ZS1leHBlY3RlZC50eHRVVAkAAy1OUFUtTlBVdXgLAAEE9QEAAAQUAAAAtZNPa4NAEMXv+RSDFxso
IaW9ppCmlhbyDxR6KB6MjmbLupu6a8Rv39nUhJjGRgM9us7vzbw3u96aKdCotAK3TFeSwyaTG8x0
CSJIUUHB9BoCEHm6wgxkvDuOgGlMFYSScww1k0INer2FAJWHISp1C6XMCeUcFCLhCjNGYoRby7Hr
WkDSKkiQKmPSkAVJrkqwPMf1YLKYLaeO51ik2fuQq09qAXMZ4ZQp7feMAHzlmJUumu4yG3Nufg04
ioSmHY1G8ADGV5Zjc/nHj+Gbvr8jchFhzITx1pa0I7a1r8Dtiie8b/vAhNKBCJHSefVm02e2dTim
KPRBqimFBHVVqp5KL0jmtJsLSTQh7dK4RLdIpFHi+lTemYhkUWVS7D7a2anXthi+Aq4f1fyfHF5N
NXIkw9yUD1hq3sTx9u7r/U8q27lsgGyWJnY3cu+byDO+30zRn87pATSbDzjfO3+Eu2HDJFTV0fUR
0WLDNey/9hzLLL28vJrYCyFVt/NqQ79jLqeYzcQm13ZX+nAnDH3uVpjzXzl9A1BLAwQUAAIACACx
vKpG85SRKLkIAADSIwAAPgAcAHJldHJpZXMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1zeW1i
b2wtbmFtZS1wcmV0dHktZGlmZi5odG1sVVQJAAMtTlBVLU5QVXV4CwABBPUBAAAEFAAAAOVaa2/b
yBX97l9B2Oi6uzApyZIcSbZVJH5gF5stgjpoPgRBMSSH4sRDjjoztOW0+99750WRFCnT22xQbDfY
kJzHnXOf546Qi1RmdHlwkWIUwyPDEnlRirjA8vK4kIk/O4ZhIZ8oXh4sKMnvT7zFAxFE4tj714EH
/0m8kX6MI8aRJCxfeDnL8bmeChmPMfdDJiXLFt5ovfFieMfx+cGvB0acFRIxyvjCOxqO53ouuCUU
X5MksfMhiu5XnBV57LulyUz9qR5kThCMktg7iuPYzCUsl36CMkKfFl7GcibWKLIAM8RXBCCPcOYN
zdCagXJaD44paPSANaB01EA6Ho9b5AuUC19gTpLKpCBfsD6jeqhPcSIX3jCYuvGYiDVFIITkYBmL
8JHEMoXNw+GfLD4UxyRflTsNNusa9Vb3joVL8hRAyXJ5yh4wb2g0nU7Pu4yNsTFDoHzyFs4SdnNC
GQI1OFmlsu45teoK1EegizuKgemJBBWHDZUlCin2I0xpTUtfy61Z6TEF7XztQxVqjxytt8jucKR8
1xk0enM9ZJrhYmPW2R0CarjemBNuNmtwL8gH1fCJF6hHU8NOeILEOHxSf3sa6hvKovt3iMsAVF0k
hAvpRymhcadh1XF3sP9knzCOM3DtyTPn2TOc+U3A+aFaUgu7qYs6iBZJIkR9RMkKckOyFrU4VpH+
I8pjip05rBxlQvWdYuPQbTxHBRfKNQp2MwNRCN4pnMfgzDJwTPJoePtQ1OJ8NxxWHD+dNwIzmD7n
L2NiL5DsWTMHCWdZw9i2PqozlNX/WmQh5hBNuBpdZtQB3y2jNmrn81oBdOnSVgZdJk8mk9ZyU/V+
WWOUoKlJAZMGZcG3cWDDsy1EDNxaOI1twaoorlVsLTiGJDrNsqdIrbnKTgXTGtBVExs1TpFarsIm
32SrngJ76k/Qg2N076sBA4hkaIVrnll4p6XBQ4qUFdXCCEoDYAAo9s1r6r31ymwy76y9CU62BUCF
FUgs6bGSzS1b4ySubwVni+7lczw/38fppSRbZao4bFZ003Uc7wjwYky7d+D5s2gGP3h3xXrNuASm
5TaSwahZhnMpvB8GcB4qZMqMvQ0bq2YGol5CnEbOU3qDXtPB/+UaBQZBSOjFrpyducBW5QZReuUQ
tK4+NVyWoY3foPcM+gI7dDosead5NNh97zllZpcpXTumDWfA1tjQpv+Iw3sifclV2hlLGOBecCrO
K2pMrNJHQiJZiDdFCBxe8mGgsqcVjtoiGaMh4vV5d3RCsc7Q7UTGvpSjZXEamzy2fZR6dd2Ceu9u
Cbsqx95WbhsWCdlgI8fW42FdpQDpHsSk2S6LPxKoBbwRaqXMLz7JY7yBIrVHtS0RViC06WWLUY3e
ZraK5QqmTdhWaoLzQrZ5FujZFujIBLEjIfOlwdr3ksHsZwm47MxqR5OEo8wgbORJvY2o5MhVR6Xd
tc0T9Jrs0XI9ptA4Qs/cg5jO5rfb8LKc3DGpDVGfK9vIeLc9rjfHVoYx324Md7YEsauz5pjXrii4
q86wOvvecWTjTnL2yhW0XZh7kqRy2xEZMr18tebmjMPweUeVsfqrFky0HW70cHk9bFtCUYjpAiWQ
YSc72824FqIJOQdVD71/e4fnByURV+i7uZsi6NBZ4sunNW4VddiJyC5sXHFTTHWBLJtRpJrRDo46
yrAQrvHotHObWyrZcacLdR8qBIqBhuiBsEJclSPQzH7B+VWFLNt43rUcTYqpkouq5RC1OhJcbbff
NhJtERk7DuyFxoYG9DhYqpyo0YVt+zqavirPhgVkVV6tO47fY/KwSFhkbcgKqepFNf1CWmgmsVMQ
LwlgAQYbOUWqZKmlQA/zPsXmpIFl2hXgVzpI5kmYC81qG2rCeyBI1WT5i40JABty9ggOh04gRbDX
NkVEBqoJKvWYTG0XX7Yi9ttVB9XIqv+HdRJ1P+k0e/yMxHDLMoopBwl3+W5hFOjDmEAPYHuwAG7w
SvWmt0N1/igYm5Zp++OHY/8WHxxdX19XUvpodnt9O71trU/QXLZH8c3NTRvqBc7WUKFqzrdtWmNl
AK+AtJb5N/PZcGbrVkQx4v/Q7YG7CqgRfW1K1ZKLgf3V7UJEnKzBpzy6PEylXIvFYIA+o02wYmwF
m9ZEqNDVYwNKQjH4/M8C86fBKJgEp/YjgNYy+CwOlyBXy1t6dckRi7GvfIgfYd1fwNPKmZeTWWUL
gLI/FIYsfoIH5APgRkJcHrubgPq9MB0tB38Hf0LNGlwjiQY3H+4GH3D4M5H28aYgNB78DXgXCTyA
SAFz+hJDhYXre0GlGHAsOYH9CZTdQQzq5dALxD4kbyagR5apL56ykFFfjfvQzBSIBnIjAeKojqzy
w9Dx7oy+sHeNq4u8J1LorOPGEnWL8Wo/AOkfSoFU3Qp99d/2E8fL0zEYEhYsa8sgxXssAp4+Xn5k
4WfQw/vx/S9vrxilRqdPdgM4B/D99ygnfVBOulG+e31358VQJFUtNbdlEVCcr2TqXV5eemOPQJXi
Bf7KuKd9cE9fhvvjnY6xP3//SUOHCoETEBd3qaAfVUUqaX68tNO76vaLQ3NnfjYOK+v2G+ysh8G+
y0OxPu822gXc4JfvQCV46HcwovnqMuV3R9D/kGylnzt21TJIRZ6w0npZu24v4IrnjWUX7bXUHiOw
PiY1loKuZHl7MVAP/f76p7fm6zdaSm0VKSsodB3YStJWUm+B9wEJL0FU4MCe+S1D9auVzFd9rP7q
hUmtDWqNDPb9Xn9/Um2jRHmEWaIr7E9q8Q3FuiX8fUrWrI92sz0x9XXhzPvAmffjp9eq8++kqJcE
n32E/H+T1cd9QnT86ls5cdwnpsazfk68hfu6zYCv3GWM+8TaeN43sRMAKj4OP/2R+Xoy/EZ83TSm
4aF8Xcg/Imd3mLU3Z7/YWv8PvD0Z9bH86MXpXWNuZeMu7lZzvyt3T077aHjav+z/Bkp0D30Zh3uv
/qc8/wFQSwMECgAAAAAAa7yqRgAAAAAAAAAAAAAAAAsAHABzY3JvbGxiYXJzL1VUCQADqk1QVTRO
UFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAa7yqRm69I2E5AAAAQgAAADsAHABzY3JvbGxiYXJz
L3Njcm9sbGV2ZW50LWlmcmFtZS1uby1zY3JvbGxpbmctd2hlZWwtc3RkZXJyLnR4dFVUCQADqk1Q
VapNUFV1eAsAAQT1AQAABBQAAADLzS8tTg1OLsrPyXGqVEhLzMxJTVEoyVdIy8wD0hmpCiWJRemp
JQplmanlCoklCgZ6BmCgA2NwAQBQSwMEFAACAAgAs7yqRtN7Qe1PGgcA8s0mAAoAHABzdGF0cy5q
c29uVVQJAAMyTlBVMk5QVXV4CwABBPUBAAAEFAAAAKT9a5MruZIdCv4Vmb6OWBZ4RsR8k/q+JNNc
yVo9M1c2JtvGZDJ38hSTzCaZ+3Gu6b8PgHjAHQFfYHVL1lW76lSAeDj8sXy54//+tz+PL/uv19P1
3/4//83//W8/95fL8bY7/vPX/vx5/Rn+eH8cb8frH++Pj3P6L27H+9f5cQ9//v8p9e/+jVHG/bt/
o0bjwj+48MfB/o//+e/+zb99OYUhXnfn68/7+/H8Br7v9Pq99+F7l75PU3r5ens73u7Xr9vhuLsc
v+8fpx/H3ed5//tlf/jztn8cd6dLmN/n9Rz+HH/t+in/Utd36y+Z8H+2S7/0cfp1unwHE9Q2TzCM
4E2e4OE97tf543j7/sRWdf3IRuo7MtI1LOTXI4wRVgKGGPJkxrBbYXJ5jM/9bf+xu399fIQF/e3r
cnicrhcw1pjHsmE6VqehrvfD6Rz28xoWtP/5uF4f7+j01TrGEA5y8PXTQ5vS5xXZ+oqOj3/ahx1+
/PvHP50+0Fhjno0fVlkKEr5Lw+1O9yQ9+LxtPiUbJuRGKtCfx/2f+PPOsvvQb5ZzPl2O+9s/7j8+
/+n6/9mfv47tZXVsyHGSwNdjWMrl+nrcfex/7V6Pb/vw1S79WzA9RS6BCf/Hruvl+jig0+5MnkiQ
vnES4Enu9cf1ct29Xn9eds0rZfM5KRUOKuy5cOvnG3YHu+OzAkobpaWxjpfX4ysayOetiQdvttcz
fPO4nVoXa8gqTdn4576fBHH/43h/338GXXH9EaYVROB83OlfaKfynOI6fS+sLeiN2wPdMrK2qGWZ
UL/sL6+f+zva5DHf0qRGuw6syMIV5ZHCKPEvOq8pifN85rvb1/mI5jTkgx/SQNN1D0J83H2/7U+X
3fWye5w+Guo974wNA9rNDgfL8xUkHAmOqSlSdj/TP5zDXB7obhouyZ1KA/1t/2N/P9xOn4+8R38/
3oI6u3x+PZ64IkorZnjGaY1fn/NN3aWr27T0lmi2vji4ygXZbaQ0zbwlqQPRDXE3lVf/Yo8AXYj8
MyaemaIXYn8+t+6DZ5pwWI78EJc4GZvX/WMfrtb9dEAadcgyHIfsxkJ27of34+vXGcuwskyGh06Y
TbDmu/v7Fe1/mEFemc23arv90dvaHa4fn7fj+/FyDweBrsjAfC/XVYz8k8ZQ850fKpf+E9tAnRWH
NXHLpMn8w9ftxxMzItc/bJ4bhA2jYookM89Oq7BCPUzXNR7mYfcIF+yePgy6N/1d25fTY2ftn+9/
r44aV7gYSTVOKspPftr0qdbh03hzk/YGY9g8RjyELiw0edCfJv33Sg9/vnzem1Mx6zDRlPTzKPv9
If3nP15uu/ZIcV+cmUQh/W3atXAN/yczJkjR9MzPW6Tgsj//vscY6Nfh+Nkw9D7LYh83Zx7j4/h6
2h/Px4/jZVLZWf0hqeRWpF/E6HH9CGrusPv8Op93jTWNJBiLVkSVLn3DB1Imu4e6j+5mGuB7uFdo
5h3bhkELF+AjfHZ6yqUbiX+YNla1Nnb3HalZnQ8qbZEa5yt1+XE9/4ix2/HxH2ZrH7YZqUciNeGP
/SZoOnzdw4mhueTFJRHU00G/noJlvEQ39dfn9RIWeNqjeSji0Omox6Z5vL2l8IKa5PD3YJO/DmFy
aFZ5XbpwfqczRMdl2Vxm5T7b0hC3/W+34z9/HS+H3/94vIe13aEED3x/WXzyfvr+3sQTOuapDlYK
1xumuev5TCwVma/k4CS3Kf4FTccTUVb5uGmYHdZ2Q5rBZM0Q4/9xWlK0BE3/whYayknO1FPqLsuI
6ddgJMcAaB55M5P+V1mxNNeg8oXp1bp8Yq7DmVyOh8fk6UTrej99v6Db0w1kOmrFdF5/X/Yfp8N9
cmru9+utPTfi1wwrpjSJ69vpHFzRpJyabqBj4ZmZZGSDxiEZ8WxFoyk3iaiVv4I9DGMR+PnNfbp/
nk8PHCENBHVwNe2CXHp0Rw2zd77j3jM6OA5b9kMZhM4ydb294pVx0GBWNzm0mqKqnVPocjgSEsf9
pu5x1YX8bw2YsLe1oHY1MadLDNbh9hAzp1blV0SMeFGGLCqOZraKL5gqJNIERuniX9zG2IZYc3/5
foaj5K1IgIH2BUCNI73pl4mq0ORqPnW3TV+zaGQRrQF01jF6XHXMs/FwCxTXNQW2xS6QrGiGC8zY
0owF7Q+HrzSPpwJZyyH62cJwpPNyvTwNdioOnI4C4D6BBrevT4wZDIY4x32yiKV30oINSHAdPaVJ
Fm7HfXCMP45r7PH2FiZ2+jveK5PH0slozEBJfbTDvrH1hrg7Q8TPp7DsdIx+RvCxwwalDw/3+xTu
JW/+EHyhj8v0P6Q/7n6eXh/vu/1nMArH++5x3XWdjz9b/mrSczNgP+mKJEZu9rKksaw41mypyFi2
MZaT59XlsVLWZo5p2Fjrfes6JY/k8khJfobGCpW8wjlh8/xY3SCPpclY6ei7xlhG3vmBjBXHHVo7
r+WxenKK4c+6a8xLyfOagZlpXj4tlI71cr4e/ty9XW8hvn5Eo7boBHSeQz4DHRWfVmytcYjg08bR
puHhvhHZmM7Wb9ca/Op4+/bfG3LmS+k3jTMAa/SVmxQHezsff71cf6WP5j/vPoOh2f0tBL2nt9/S
qDEOm615l/SmS6bnf5Axd/Hv6PvZ0+6STAxx4zv2fZrH8fIK56DyGNEB1IrPIejI75fWILPnmAaJ
mI3WrrYQLX4/koXE7zv+/ffb9evzLqm6OMKcshC3YlpGAtrhQsgwcVJaq/pEjDgRshX0MiwjBOt8
/XrAEeipTuupLCV4SMeIa8DVaDKXhJ2aykiTIYPHY8nx2vgXv5WzdRhZ1DqysDHNiQ0T4opTMNDT
JqOB9EZcPFqXvD+GrEsl2a2JrRPnQfY35rjLeczfyyfdYaF9Pd2OU94ILaInhzzJbW0S8s1pKIBV
5EXx0FQ8uvgXXR9BPlByEBGs0p2uXxp5BLoLXbp7WxFtXn9jygsza/loA9MH8Q/39/3r9SdyvHxH
nKXoh3b/Yxll/biXPyY2OmGP24+d/DFxHyOZQW8/HuSPiTcVRWHYfjzKHxPTHS+D334M/BLiqSbG
wvZjYOiJgxRtqdp+LHtX48DWbMbtx15eM3EZdXXNqpM/9vyc/SRrLwlfucdoNd6cy+uU24pSjJcT
J9DPkheXkqg602Wextzd9q+nr3u4B7/PR+k40jJmlzONktOBfJSfp+A+Pd5vx+PuR8TNxBueRpwd
sDhiTBEtIDYbkfmwvThU3/MlTps+jXR9250+gmN4lzfI5a9jUKcaE6mffprIzI5Ja8ooLB/qcD59
wo2ZMfV1NdOdy6e/ux0/j/sQrgYVdgx67PU1edLXX+KIzqwjThhlMeK3z9s1uNCPsMJv30NoHKzk
t8f7/vIN75x3Ixt3RizBzsmL9lkaYn64dy1pkEW1J6v1tf0Lkcz+8B7zY7sQfgT/4n64Xc9L6F9f
ab5EqksoQDf0rSmCI1ZM5JwCd9LJdzJvf8Q2ZvyRqQUrS33e8Ij+Wd9ajZVXY/OG6xWQmod6XD93
5+PbYxlz1QzyeGPPL6QBuyOPMgxMDBahl4VT3mifNURE5s1zC5QldMxqgiZEqgvU8gJ9VW/lWz3p
iW9JT3ybRv+G1ITPQh41xpy2JQOGOPl6+zZrHDiUI0fYV+a2S0PN+/8a9z/96/DH0yUFMXMCW/6B
fIMST3kFeSJWfHw/hZ9oqf2sJiL67KqH8PURDUj8pxM8i5FcaLVSAorBIqkoaNVXqAgHy7R/9V5e
ro+wT+/H2ykyuuFoXPP7ppHt5FtO/IhuTSNVbZu8T31WWTHruu4TUVnAY8gfE4yfXMPb6fv7X1I0
A5PSqopIeFewFMdXGVyatpr7Wb5pHmR90zsmTdaWt+d++vuRDpZgNPmukOFcJms31BcQdsf0hK+J
6OlyilnUaTi8b5rPTrf2DUhXHirS8vxY1zrz2FB/kZE6wQS1wdpJq5q6lQZ6BlyBrr31bF6y0+x7
Ni/XUg31QG8aamT20Q6tI5Q96D4btSi22yOcRP/+GfPOt/3jdJXPkNvHNfAhusbI1kEx61BVnIuJ
BrKdb4rvn/FBBnmPB6YTlpMXrP2stbC5J0vsohA8pRaAbFruJQ1iiPjz+tR4prpiNt7rKeZ2o36e
wHt4GFWX4XK9RHmavIWIK01MhrpQWBxZfPu83k8RnvuWouBvb9ev27dppbKUDlVPSRYR2a305ADG
NQtf3h2kq5zd+ERxiGkJwXP5Clp9Ah/SnzCYkTEYHUNsPecy5i81+JIAMLNjNc3j++30mr6If9gF
5+dDtO9TVpuQ7hjenb6fsj6iDM4j5GS7iu7CkmojI0g7Og3ghnIAlQdYluDABAjvJamTOe7kEwAr
cIS0GIM+3dnKAAYMQHLoKqX03HYF4HtS+cFyOex7sIOEQKym0HDcfo+OkBRLTK7LSiaNJJBdGgdv
ITmDVSC3IyAp8JU9SOpn/3FMKnu6VvfD9XMC4n7VOQhhBwhnKDmKc+HU/fflsf8VLpYG35KjpPmF
z9vx7fQrXWf5W3ITaKJ4+V3Vg2/JBiawrl9KOA7n/S3CV3H/xc9J0RnLna9LBttFWHV6TgawJQeT
K//uUEpOP8O5t4/TJfiS33/jidM6ncmcOb5n4Md7X9/vdeJgvwkJlW3Y+u0IviW88hSMzvWqkWB5
egvR+v8ZRRavmxCmVDq82Y9b5Qx9S/YsQaFzpc562EhG6YHZfGDrfnvwra3L6Pot2LOe6lg727p0
v//TWpc2lX+4P/Qf5g+907tRqv5Q/UwzSvnmqCwmoQnfhthH77qdlj7Vw5ALR1LqepKZ8J3qwodG
/s0FDxwn78iY5TfjfM3O7pQfxK/HOU2evu7WJNP8tdI7s+vFOXc2191EAsOcrQkf2/D/dRd+24sf
+5kpkP7WrwmX+WPldm6nxI/NkBedKnYc+9iGjyc3pfq1NvW9pj8NfnssfrsvvtY7JZ+zMZaJiPP8
uLQsI8FoKOGoww+aMGdZNPWo8rd6ZsCRs1JhzUY+K6/5QU9KKWxSWHCYshWnvEY/I0NMl80adwM4
5SWhl+aciIBMOFWUbXnFnSZfxzzyyL428Dou1QBpxW5N+2bR9vKitTeKiTaXkPSx/MteF/eiK8Rr
2L3sTidw1JbUoKWKlZ4uPGqwCcGqy5i1TE7yrs03ywA5UX3P577RRYOoENRgvKA882l7cNqOn3Zf
/rSWf7on89aW6qL4sY+/LGvQkfxwX0qK8kHMZAm3CzYbP3Z01unjPhy2vGRnChktNaiFamxQ7E7b
cWM3RnnHRquYCh31Zrs7WchGB5edFLAHCrhnM3ds5g6dVW+Z6t787ojOiqiy1A3ELh+76Vajg+6d
Y/tlXblfrpNvRpc3OxVrrbrbhF/Gs16KA9Nyx9JGJ2sl32dDLxVTwCHe6IMqkX93sOR39dqthIqX
rLuD58qPOCvB5Wsj25x+4DdyUWGTtbJ/7Heqlw3WmEXTsEsVXbHw/XePVt07ttt22CgDDZQBN9HW
UvP+LewYOKpRe7bf2pY71gMB08Sx6FcEMKuhoLhlNaQs8KaSZzEAz4JbjEJ7xjXLxkorZ9B9HqMa
kuddeNxWbSS0A1tmh6qQEcfmEMz0CQjLArSteqx0Q4NLJzuxxhX622xcYCMvXlvDbIfquUoZwMYp
Ki3bmEFhu9PpfMFi/5fsnSwXDKoV4tskD2MoXWAF7ogqfARdbDi62lYZfrXL/R6jXwaiJT3wG+rK
X0e6wXQDP+3yYwUumaE31NV8o2AlZEmnPkpVsygnm9xhHLkJ2bgZPXAJdS/4CWt0CgTNjDxo0YUX
HtwM4IVzZ3QxA0FAww8jTaxWksgiZaoQFIAgaEXaUGzvlkY+hurpbmlqrd0SjmvgoQwdU4dbw6cR
fEHmrbtys9PtADfDcxxhpqNRgy0rYk/UeMq58yAxWhD5mJfuJqsLXU4b3cmlnm+rQ6eoAURKahwK
PWbZDw9BAQOL2/P98l1NFZ2At6BHy9WJ2gSZexDgWtMLKmGVNOOApBUXszSdIwqPu5H7Z8NGJWgU
1pMjsyshLGMCyPYsjTvSx4Ze7PVjgJXRM0uJ1k1cLX+sBg4oqHHrKcjan3riauULxFtt0cXqtW4d
srzRPbnSuvBtgkYJovkKo6WOGw231fvy9eic5+fUbaJLEPIMjZvhkIdhRm5pC9GO19qCa114dOuG
93+gAx4IYhTNFsfYggOuUGTqR47t+a1zACKHUQ0CcjJHDmivneIIXYGTqV2P5u0H5Mz5sNXyhbIj
B9nMWAfZ5Llb17PQw2UH4Q8XYjUbBpB9qpWmtNm26f8HTQJ+m7pFEa4bttCNNsCfI+67rcNGIOwY
uAZdrmYXDB5wn5WnJmOD7qU52wF4kdwds3rrgwK4qTOCU7XaS1nOtBuFn2bGFgV6hvw+vdjZv5Hn
vhYVLC4wOy2twwWTxbwn2R29MTpBhQfNAGBsyy+J3Ya44OOOKzPuBYe7PaKPB+6WbWAUh5wTaizd
Bo/oIJjhdTHtAmrTwJlUJLycLNf2Ultwqbkm7bdhVi8DZiNRCTG7VXXoQFrKEjw3QgOu4tHJu9YX
NsSNWzQY5CAJihM3wTD0XWFgtesc2zYzUO8GBUuGa2C3cak0sPNluDNu3RvgHBHoRnu62Wswj+Bv
zfOPC46QLc8B6WEnrXtJDoE0iXEgTZKOWYFjJtBNCqm3GgG4/S0PGMw77NjAM7bDRocC2Va9+MuN
iFwvTX7EPIeCppbm5m0FHwSJ17BmjkKYCmqjgcXshLNaIT4NomrDEeGtnKAEpPcC9L9aHZCoJvMm
zfpYoARwMmLq49e93zrS4LdHnlzaAIThewugbM2CFmU3mUAACFCoy2cAhSwbSAphcUTVsnFwFIpM
LQ9rtS4xEOCWDRIcO0argxP0g+EpW78xOQNILxGeDnWBk9EAVBvFg9olWZH9OECEoCnmkSY6Mmgu
XyjF42G7RfaAWG+y233p04CMPkW9dSU/oxHRRvVWOOHZsgOkhiRH0l5v4gUvb/ZADoq8A0DBFgAS
qZFzoooL0cOjch2HxrzfaiAA8xcJLU8mjvhQPXXVHWUGzRZuTNkocNA9VSHsl7MD2AFIz/N42m8F
1AIB5ce1UV9IAxnFHZocpeSfBq5Yb4CZVJiz11G6n6bAyyKjIwjDKSy3xS96GCw4zfPMcznerIlQ
ksBTz5Ul0ObtUtBxHdgxFymsETpSbuwFzGUxFQCMHElaPu0Wp0f2gB5phKTImiYFsX+R2uZQSSJy
9YAFZpHLaiH1TTsO2toS3ULUStt7Fl/o0t9F4FJP8rOpSfaWm6MB96zjEmJ9NUsKEtOFo89Bh5S1
A7iBLvS+KxYOHbjeFmwCv3GEBuAIee4I2W1mAWQHBieY2SWtDbLaXZENErBMIC+euxdm46+7HpCT
Bi5sfQF5ozSrcwUC7LdekQFUAi1Q7zKDA8QZqhXMdoD/RkJ40kKWZEsR8D1Qv0iXcOYEHiMWW4FR
sZn3yGQFPcpzb8tpUfAAwdZW4IOt+h/YrLEw1HqD9oN8fK+FnOFK5kWJO8/jUb3xjoDNMx0Hj7f5
EQ/kRFkhz2vC9wrf7KW9+vqxK6EH8K2xAh82aRRcilCnkpF0vAfp+FHwL1byMcCXOsD3Tv4UiOks
QUD9hsNmcVpDU3q82eTj15S6Ayl1L5j71Q91IIfX8VjYDpuIxYP0cJGT6bY+DrC41JesZRgsWHVP
RZRBaw3fmR5XjO/6bdmKTCFQtFom+tGMKpnUL7pXg+c+htuC5SB1SLOtIy3gWPGpF0j6k9iSq/8N
PBTHtbcVagMAi81xZ4HLeYJCPYBCi49dQbVBDKFudMh2RIAL+Am0NkDRE8vSAmhkg1TTkOkEYOKE
jFD145E3rS2HnrdEZpD17MdR8OOz6QHwmiqynsMGugEeqeqLLNq4QesTogCc8ZGXCGTvLCMKI0gp
cWd8MbsJogMlUsqCVG8GQgCUYnhiv7hjPTxup62QApx/HtYIdLwqwm05ng7AIIpPW+W8fIh60qKB
Y1dwhLTecLhBoEvcq8Rb9xsWNihiGQoqWcmLUpgW6xtOvBplmHA0nJtqx23MZkHMpnnEt8W8AOTl
OR1iUyKGMEavrFDZtrKMAAHb9UVVnd0EbIA077if4oaiwhW4OAOENAaIxLgi8rCq7p+hgqdOIxfL
QV6A6VGgOhkg4JtSIfcV0A2ZgeAb8jDXdZXcPkjt06ytLz9PIBaIuwyPu5ZN6+KnMaMFCD+dYPlS
AGKhpAw8Xuu38D0wXAXnpXQNEeVlcKZVVAFYAdp4Id27EEBQ8eRACqLT1doSjfYo/uj5DTFq49kB
00MTTL5S0zw0ihssSUCkF9ZsIWQjypwaznGydkvYBPKtuDe/ITmNSL4tL27YFgFpACH1CkFfy64B
b5wgjunMbFFlAPKJo8SnW7UZcBZ6J5Q+rTgO8HFGRGpICC0wXbrAcfz2ivSAI2VY3rbf0gABQjBa
XnpvthkXYIDoxGO7J7f1FQAleeCUZOU2ZFUgJSMvVCso7wr6V52q10XPiRMEkAq+VYaBAArUj4gW
nLgQAEt3EjFAYdCLFeWZtSfXYnN8uI7gYxqgmgpDP1wKkLCxhWA7ykMD8YoRwJe1PAqkEEm0Ee30
luMzAkqt9QD2SYlqwH+zVqCq58gUFL9QsE1X6f2gUKmjIIiteAcKQWW2oCYZxjmx2IMt27tUcATA
inJSyeUaJvUgTBoEDkemFQDX1xXCucGwAYQ9EAIc54tnEwnOmlzJ1K1SbawF6BGje0HMcqsVQGwy
vhoSE6gNlaD0LMHTb6M7kAalJeiJo7mBfRzYcEIhqXf0AQ19mBfZ1+otFSidZzFavdZz6EE8rRF1
L/pDIHNsFMBdUnsFQA9VRvSdp0wJoG0XYmLMBtUEymgskvwbiM4C5U89qYEiZBMxS3nILVWcueK2
ZFzgueqG2VE9QBa1EWp6V34ByBgUSVs7bvM0spXtuBcmFGEPgF7ANYrZnBdY91AUBRfIyQh1mRsd
cokS4RywnDxvNzBUNOEIzDXPYVZ6vRhQwk2dOaYUUl+KmNOLm456U3QYeYFNHozmqbkiWBkwvOgU
6i8ReTSgxqs3SJ9ZSNHSRURcCdCAwaboexXX9KA1BXWvmAmY1Yr5A/nBSntQjjEFWYDlD0k0KW8A
02ODxP7OiT1Uhd6xr0e7rXcCRsRylM7rzQ0FV8xxuMtsm3loAC96zr6cH+Scq+oACmA7odfAEk4j
H2coYkNOQ0kxLQgs+6KphNtcDhQteSFPsppNgKbSPEn1cqB+FLRd4rb6scdeuDLIHx1wvxnbC6nX
HD2AbAN14X2VoIAq9nXPyTdebykC4Gtd5MS2KsECfTTAVjkWKnBNm+Rsz8tCyqnWXI1uA2QL2khh
g40bSyiqBi1FY1cUGtzLQpf4cduKA7EbHDP248ibNYIsoK934JvIYdBiKe8kJ4HIJ1AIPU+yu54h
ofCXx6FRWewBe5GUoJO35LOtRMkwZYoGINvaXMArK2HrLZY5AD60HnAxHbZ0I9Jjc5Ycpcg95+tv
NRmwG7YonVSFR9a3MvR25PrfuI0vDCyt4W1uXF9PJAJlWBBZtrG97gAITROZnpemTJEqAK8oNcGX
FBqNa4hYywFNLUAO+QBvVHdCyJfhECDrQ8G1HTaOBsDNegNKzKZaRGA3DRd1zhF2mCxb+v9u05BP
gaAH5ePW5BCYuqVlwqosL/HIHQ0eetG1oNv02AH5OFUkxSqIH9g1y8vNaooNCdoogF+5/ACoBooP
6I2rkSJNgGpT7GyTh8ycJxS+cLqX2zIzgHdZZnDdpmBkBAUjPcBkkloF2zZY4N9pVCGoelrjbCp0
kr5BPtLO9yAYSOl+4Gh1VqicyNAG6G1HmLNWVTjpsFeE4/0xvKmIC5KVvtpijlYvgJnTFkk17DAG
+WDbaEn8RqlOVxwAvWV1kt2QvEEXAeuEma8RGCgiKIkK2/ZMoA/AwDXTNn2sQSFZ325GDgp8tAck
hSm5CMjpXsgcrcEEwETKPqHbCwKCoKGEqCsN0wB1duiEslQipKAmXvMG1wVl2MNNs0MnVMmsnakA
31h3wNNKHyMZ5Xqh31xs4NgPRqFgOfUfQ+V3XaOTIuhb2XvcrGJ2WBxwWLRIDsQBr+Won99SA8F2
F524vNrE6aDfppVc6qU2HmRgijS2EdowgtKL0TTLpkE1gFhdv8ZBCFXnuIrd6hQAMZQHTZqAKYgw
0OBvyx1SmDvkeVMSt9X9gCk8GNADZrpX4OsiYPZm45qBU3amWkAwXUqHtqvQvnrb91EDc+d7VHHh
MOZnSJibEJlKsx+QIvQFHF6PfoAusbxfht8+TIM60HiD0NLEKOyAFh2r4p377aPm2EbkLk2VvBpU
8lohi53VAejB0PMEuinEDCFoDZsDm3wYq6oUYeLagLCF0uosJcatFCbgA5NfrrSHNnje3YB48BOE
BqgpYxHlbiuSAHNrpDnNsfY1aM40dKbVwBEohd43XlZwgFzSjWjDFfSgdWe80DRtqnpGbStG3wJ5
1QjiFULOsywB3cd5wzZDPLotGoX2uGhB8b0u9Yhy8OGOETTAmdJFYK8dJyDVunkDGrzn1E/VEQMP
NYmBvc99ozKl04LRSEsGvfw8SrVbrO21VSBz0XjXxaui82G3BZxAml/1QpPM9L6Kgy6zA68JpGp6
APD1HXJnIhMawDVF50RKo3bY0ujeGVQ8a3EOVA281cQSTiYuM3w4TXXIj/LwmSU7Fi1Nuk19QQPg
Yl6vrlRXONiVrmjZsM03jCDdXdQ3bEvqQZU17eq0ZYnB4Gh9ObQmJWs+EKR9e07GtsyZMchn7uvl
CUvFEmi1ayxOYRoUjamhr3oySTh7SAHXoMpXQ4RF9Rb2LYhV1cBldJZXnG6heg2ko/dAtCZADHjo
mhMn3biJBMGF8ry02G078YOuMUVl84bFhwrRfcf9Acer2nqY5B7GvtHfwgL8cRxAU6dEUwUVFcWT
gGabsUU5NM+ddD1u38TyoJqvYDP4zUkDN9sXzSkqbyQBUpbnMJ7dktEQPl9gaf2mDQoA04jq5Bu+
Gg0g3mWv9EpkAkRUbESyWhvAMy1KL9225QBgzHgnlHyugQnAG3pemdFvn1UF0y4ezbRDQVE1sER2
1JxcpYrKDotK8XQ3agGmXvFe8KTr2CDca1CAOJYbvn1AAfRnKJ6bc9uGOSBuVx3o7Dk9QQC8Ej+C
JtTT14Cz0zeIWTAyUiPnzVcqrkA6RLvGxAewaqOFctHMoQAdA0hpBu9skZmxKKLjEj5skWYHvu4G
3NYCQiV90RrPdpuqPBCAkwKLRFxUmxwQcN0H02obM4LbRQrnDek5MIcbwKOjbxRtXxex8O0DXby1
bGvV/iDtZXgsbMbNA3mAs1KW0VT65oKc8jgKjyutFAT0akOPinMd1EamqFAwFX0CUm70jWq3mbeD
DyZrY/jLC37zKLcDgG/Pftltm2AB35+y3akySiWnIP+uGnRc+FyQIY3KUka8Y6SohnTSvvKpGnBr
NiyovymyMBviH3qU2yqPelHj3gxdgXGbLcYN3FBteG/3zWv1Y6OARg9aaIqay22BV9aDFlQTaAvo
msahpqi+EWB2UvlNfNIKwa7FK7zjBqBqMLGc5u/E2Up5HFD9rt7pbGJCe/TemvK+VZ4APGjn0FlZ
+ORDN/ao1bHDTQZKVK9w/BFPknYf5z9MaB4I6Ya4i4NQptX1t1RmI42a+SueE9hW+6Ckl+cKYdPm
3SEf1IyDgM7nxBXALzoBv8jNhED55chTOK4krQ2oA6ymz1EpXwIJ6AGwcZCae+bkJvAhKdjU1yyl
AwVDBWlsAyLMbRNBextfUHHdhtcJyEQ9Z8tVXtcGaHs3CP0i167pYMtV4+1dDd79HYsWZabbWFtw
LYu3sHihbsI/AOhjudWoUNVBVfUwjMIL7ms9CPCphH4ceu7WC3LoI2qnES3WCzRXA24yObaaeGui
/U31MQIFakbHQswWUUm+JLBXSqqIzgEWkE/jgWxPNhrk0F0RlFb6W4IWM16o28+RDkhEFVis7Tc/
DQAIEuDxcINgVaiYuni2Xm9qEEHvJss7bRmzrRcFXpniSnjoNlRvKOO+eLSi2yQ6gLm2GidnYP8l
1WuhG3amjoEOYx3njjlbhngeRDy8ccumEAMxzF3RTNts/X6gkgaCLabatu3rFagnW0G03l4QYK7V
yIF3VQmpQYxpOAxh3fZtVVSJiLqyJVAU9DLtLWh6ZSB91iDEH5O0vVONR+ZQFWK9iRw9KfD14AF4
bXF9lB+fIMCiqs+Bo8h+Y6pHENZ2oGVtgq/Bi/OiV5VpG4ANqgaMVUE6gR5Q474RM4rGphNtwHOw
o8KU+AEluJ0t2tC5bes+1GuA5z5Nt+1ZC7zgfqwyP9avO1h4X3QeH4g6wY8l0TcFtq9OaMy/7bzU
aywzuEbA4CqKH4YNkNsBIJcThzcNHmGNzeBw25MRJYYKtMnZTW8g0DZLe/TKh8Lv3HVlt7Btw3EL
6LNjwaY3Ja0JvYtVPPvuttmVDmRXLHMIfdmzfMDV2JqXMFj+NBYijxAtyE1W3jDwuyPvK2xNPapG
9SKj0Bcow/YgqqfPGvaVLlTIs6IpmpTcr1RDgyY3RSOoCvlXg/5uvRUK4HLhH8h+Ogc4uJNPCFpG
EiCD9ztYnQWQ4OkLSupWXhxoY610EwAC/dIt6g6nIee57wrF4DauAuir3HnUK0HhB8m8ERjAq58B
GBGqA5V7SRsCfhV9CEFt/PcB+iiuN+ABX/j4nBopCr3Npo1w1m7g2ctFpyzkPeB+G43ajSv4+O6o
ihcMNndqRBV7RcV6jemoUOsTzqOrtncHSpS+ZbvpjJ9uBiAVdK7adoVYa9TBpICS+3onDxBYU4c0
WUGzfbkYZJyN522kNtdraL4KYH3RHd9tFCKoHhyKJ1ZKNwtlUt0Ar7fFTTGKDMKmm+BcrAnikKLV
vVFbQAWsvK83s014ISAxqrFJsQW/6fBTnmMLxtcjf8XBVB4WAK8ZFw98V+D0DiCsJArhsF+220DJ
ELCTv2icm2qAbiCm/mDI4iICD1GhzMmABdzyfhYVghmgwXQ8aNtQN7FTTJ/b5v23VjQGtcrphJcK
s3sHWAq01doGE09mG9TtKI96gAywtarzttpcPzNWEW3eVb3ppXoQWN7RgNKsqUUAYFYMRafLiisN
CtJ6VKGgcdZaBGKW0m+AmqmibNFv6oEBm8NZgWU18+Ewh5zXPPZF3w+IFBZ9fTaVTha2WHat/lGo
Z+PYC/ZqLTcHDPKSFVFpXggSY3pEQGE8aMAsMxIwu2I4AMKxHMJx/bYdKUDgi6fjpKeUQegy8JWb
isECr2NZ2ELKwge7g2tkG3WmCmTsKTFOD5V2KcmnBiX3PY/4nN+wRoFHPfAKIvpxRILMH6/wjUYp
1ZS5HaCf+DAKrxctSgkkXZQXm8HO1xvEyEUH2m0HdZAONQ6h6QPsjuB88chh5RE2UMRN+Sh18wEK
Figrmhu9+f0dlO+3oIvRRIkGcEZZM18pZwZ5F1PUnm+RFPluaUpxMLZSjYheIDXdiIshPXz8h5Mc
ikyVh1bTjsXLc1V1CMNN09mnNCrwSovymFFzRxp50j0qWvCN3EvH05KbN9xgtZzm/Ud8pUYQvLyq
hZ5ZOeuDGAPF6x9j6Z+BjH/LbsNaYeNgXO8b+abOgEo9HNd3tD2D2tTa4Z5ynerBI0SppSzg9lHM
L9ZKlJ3VYJasfMl549+BF30GVbxEZHilsIWVwj1gdSeqGOwYT4ghZqjCZ4AUXnQOqPg4wOxR2zNU
q5h6sGxVt/SZ5PAKSQ4Og44weqG9IruKPw3fX1K0MRBp/J6aP0FitHUg8z2ZTCDc1lWf/iDlmOCn
B9t6J3YA6R7KsPCVugOHXBQz8v4SbtgQtgADqEDpWO56lhLwPIAbMHwDHyxxUhektUk0cCeNRZVE
DjYFMpQ9ZMqmQFPiHOjfIm7ZwE4ePkzg+E9vu5mCxLnnhta5TXwNUkWKOwiOIqooiVv0GS5YBgY2
cut84T67ja0C9QbFawhKVWosQFMewfkmhZigTmIQ+iet3GQQ36n605mzEweKdTvUcC9lS8CNKLww
syERgiKzUXGNvS0AAq8P92OHQpUOApJeF1mKbUcflN/hzc6t2+RHgEMyKPQc+oQBAJStpHxWMvyA
XDbgjmgDzunZ4sElY7bvX4JWIkXL1gwhpLZA8OlkgrnHGNN322gaMJYoaGOqoI0BYCzteTCURVuJ
eIlaeoxsx3q+ZkgtK54c2mZvlQMwV/EseGEjPVSBtudPyvK+A43MLfvlIXvc2aMZgUOjAegey0KA
OzMMTc8TwP2ux++YOVgtO3LmjNt2kEOP4BAdaqt8UQ1qFXpEnJm8CnA1nBVaLawPh6JyxgJK9Vse
IcC4ikKHzSuYUAVrKzz9OX+MGpFYeilrXUwsfEXAgwRz8h8BMaGAHdz2aRUAwSrOBeFvNWOyaNdp
AVtbixSAiFkjtIcY47wbj8ta5tJsThk+Lmtc8ep9+UY0XvOI+cywtsKYET2K1WP015jWk6Eppz8A
GdXgBU6FN70bixd8Bs5+t/B1kKJHeCVKAZ538bjHhrXv0Ndae5GsSh9dQMU4eYQU0Hf9ZgIAB1VF
Om/7Eg0qdii6cmhK8tIor6+8cQIomLmTqBveiFLVDbinM63OqYAU0HncdGGCnhHyLL0evYo5uOBl
z5t+G6gBQXewEHSFzRHvRqEuqg43EbDis8I5jQlwNvrO+Vh7qhy8D9IPptV0DUQBitLTGEtgtSUd
eFdlbDSLG0Fiy/I+m2b7/A9CIvhrTRsKPyTqFvZTb7EyYEqGEXRTTWoFVA27HrwcpHERVV80qrDb
sgVAJiddoaI96/UGjQA+luKgQu4ylCqOEXu/zuZYylpQF/4Bu/DDnEpDtEkvdKNaWb4gm1VyAzx9
7RTMm1BdEQEQIItdhzydxGkAVaSk0RsvsV5JLID+7nrh0bz1vVSgQJ1CyFPqCAgwHEp7jM0qtuXK
CIxoVKbDQiRlpXeG1uQOUESiCsxd/FELgqJi2DFEAT6Ma/l2e11l1wJybXnDNgYXPIE2GAOazE0N
e4BjWRDhaw9iAdzLCrWzKyYL8B89Nnq0gwcGB9p/pq/1GIXdsHseBOi6iwJIYoPUr2JtswFcjFEi
ieU6KsBuIzop5jLduGl/g8L7otB6LNv2AEqCHTAZGz61p8tuyds2o+htw86J5LKJGAAaKJgBPMuY
+gmCVoajF5D0NUeOGtS7al1MytEAAF4rxGQYYS2O76QH1VfvF/wyqTHgefkVnwRVMZ0SniOZA1wY
WdO3SuvP2/agiIigVqYK6TpARugsagCg2w3be8Ph/0rrX9BGvIBXuQ7VqKxD9WIL8jVABZa6fD7B
b2tpAGHGOyHRk+EMgFHaQShmiY4sfkxqKB4EriAhwDMyndCadJVwRKbmacSNTwbbACjXYewK+cCm
L3LFw5asCUqGlW28HekBClIUh1c8hAFcTVM8XbNpSAW+Lcr7KlUsHfAvCMYZyWSmQqdGPCHPVYra
lFsB9J+2NvXVnmuAueIbRG4NH70oiLkVhqsDO94VqLIvGK7o8bGiImTYBOMA/Hc8xOMK3COgLUiJ
FWjrWSEMQCEoJiV+2Dar74Ey4i8LFIvWMFdO6+mTzSsWjd+aHsGD7lNkCsrxRoRNjg30X3qRPMs2
SG0VtEFX67yOXslWwluZK58YuEamUcJoYd1tkSXatJ1ER216XqBg7aaLC6jTKgsJ9aZ6CADBjnfR
qjwbPIKmaWYQn59fOHgA6CqsvPYblAwgg0XfYVMBEgCWWkL3FdMB8FCnEfw+4ocgimZBRhOvH7CF
dNdo7a88UIJKC53aVk8QbBZ9BrbfRoVBsoF7oHXz9QnwKPY4AtqNxs80GQXQBw8bWYUgXCN2affE
4+2UR5J2UG8BPgcAPt7uZ9gmGkCT5qEH3JnJR0CNObpqfS/pUQHeC/EWPatqcXJGu6KKcpPjAOly
YxCIvOK5iFzb8dDalT1/FKx50tw52v4+KK4rWnuUfHn4QICDDWl7mOdwij/lYIbNozbAZA6cBOOH
DT8MFCf0PJ+16aJoUBdF4znC57Z1woD50/MW6nrbgB1AwdraRm0DOitJr8R8BYCQ+dNafT3Hgrhl
rjA7W6IVeou79Mv6DeYEWBmFEq90RwLkycG7lqnuAS1YuwbepRzok1A81kcDtaVcCYCDxGSnWpKt
E65B5EGTS/0GTfCN9qh2GFGpcddw4r1AiM4QNIh6SqSv2kcFyar14C3dVFMInqQt39D0m7sNgHtS
RqOqT9gF5w+4w53wMGzOMIETKxo0ZaO90L0QJZBH1xVkFj2KU5Q4uJJLPgAqeYeoQ0mtoKexeTGL
1XVsFTD7LN+0ftu3ExV205oDs+0/D3CY4CFyfrIzFVI3yOnRbORYlTQLmr6NVgjb5h/Hj65wzu2G
YocKD5zmDbn6jUpECaahYJoNttKcECDpWnovYPWogVpyRWesfiMqQFK6ol3pJoUAXprpR98g36BS
X6+rTUlI9gC0YbGC7UxwioX9uanpNDU1jvbL9Bo94943CmYtd6XzUZm5cz7qK9j1qH+AxdRXNTSx
WQu4wmPxBPO4pd0CFN/xV0wrHTY0etTc467kk9kF3FfXCR3YMq8c9BryDrzlMfEMgMdhpGbCWR2C
dP8oEXHWYBkgK4P0DH3WaCDpo/my7dYzbr3n3BVNmrY4BUDgRv7CxIZE9B3W9xS5hH7Ynjgq91Oo
a5yFlkDbHj0CqGC0TAtwq5AnKkPQvsMUJNQpT3meINwS+kEZmPG4DAz2JjGGR45WbbAJlDRSQqps
xtV1o7f6qDjS67ptHgQkZQm+bdl7kTkKAxVGnceN4aGUqpG3TbKVWAa0Nyn4En2lmAEodMMf+HRu
WxsFUmZOake2+OU9YFsUNUL9plYbMCqL50w24KdHkG2xZrs96w509qLscMY3S2t2wadGYjoU1tuO
24QEcC8tf3q3ksoGr7nSZ3/L11CWjsQgn1EUmDq/NZ+gdloB9tSKVmO4uoBZKqR+0GHL844Imwrq
odlOx/qC0brRMEgvD74oaS51BAqIlBmFVyvWfjggN108PV95dgiggQa8D5J8e6AeBvhw8QAfunMl
WK1KzQTbO9oWN1MZgKr1g3DHs6gjKhh/tCLr1GXPerBlHeB8JEwNMICHwk9TQn4BFK4UWLsivU40
7HViQL9W/OrEWERilWc6elBQN4B6z1SEDbIDBSlp8zTV5HSACFShWsAZLQDBmB4Rs1MpyFbkgLff
oM4gHOlHmInqcdtVXYhZBVEDQtrZRq5WjQDTKtA0vX15AkSArLxJl5yoyfIDnqVTqMjI4gSFLgTV
Vp6OA7XcXas3GKgyIrow2pFx2BCuEebLS6Kd2Tj1YL89903rCgklHQfOD/Vm294B9CMdeoEllF8P
Ar7W0LdwFoOery+4UWbTBQk01rGjkN3IcgqgV9pvl8AFk/1Bb8R66uF01cJoAKgVlfeu8ngbmLTn
vdw2HVAd4H2HWL2rsjCWJQP2spewlZWlAyI3q4RK0YwJgbzhWLwPqDdZcdQhceT75beKEBCbBs7d
2DijqEeX7sZGpxkNDnosAv0Kvx+VnjgvuPG5bAaA+8Tex0iqr3SLAW8QDEbIta5sMKAKS4b/VhWC
fL5XDfQQ5PxY5q2E2GdgBG1Z4WZsSwNAP7aBswb19n0r1Aek8I78VgGDr/ueP4vrKyxkwHWn0VqN
FwsLEHvbC9HuajSB5fB1mv1ULYpehBlRJbKHnrAtzNU2XrKgdLvo0a77sokzYPKqUXjHhrgIwEHo
eWC8gUqRDtWdFfrurUkcxDl0gjbIdEcARxTd70xfeUIeiKcusunbbq+gx2LHBcyxyLpHDW4VfeBJ
qKVQoKKBVlGr6kOSgOFTPHe3LQwAdZ7EJTJ9nWIPOH+aL9qWthZCds4Lz0iuAg5MrW81qVUGOBiD
Ax0HUz8GkAuwHj2eoGH6gzIdt+x+jfss0l6viVfEpt3DVsQFQWXLG2ikuhzBbpLxUqr+0FAPkpQ8
9WO2tCiAMZZvUW6r0gBf0XLnaOuBAx7aoFGThFQJgtpJGKHhycreBsqsU60HZECKj/LGfVl44xBt
XI29x5V4sO+qGlyVhJywsq5Bvla+KLkvDlphWlCneWLTbCFdAP70RmgrkXOqQMZ4AfYmrkU97V1f
5O+HDYwBaHO2r772Q+t2QIKveBPRbcy1By608hj5QXCZdh3II09wGaA8lG859ptrCfDFjsMnlbJi
YDI9KIvIr92hFwy08IZl9pDA5ewkbHQ1IaADiBuEhdN+poD6ZoU3OlbFALqmDBq1GXC476JxPHTg
lNxG5aVXA2otn0pZgN0dHXquItZ4ARx+5Klgu5VyUItdWD1fQVYBRdLxp8/6DU8D5MaKt28MQeDh
GzCstZqrkCuREjVFB9clk0hzW6gjaYe7nPfw+RmFtREqQLRlSVuF5wBAOtpzypWFHEm+EEVfVX3Z
VJQGtJjqq7YuxzrARHst7HM2OIDMqfiE7bhl5oPuSZq/sL15whcycZR3wqtKazdRgD8Ubc55iBfZ
XqCYYeBvVBu7uYsNo+FHnunwG6NhQJhHYE3ja26RBR+PtlW/CJpwjKVwmw3BAVAbjBcupUmBGkIh
BiExtHZZBxlEI3ROWkEEUAExeqxHpjgJeAf0fVBPUztrXIxCcj8IRNR8NwEXo+NPGPd6C4kC1d8P
QlCesUFUD1BA76YsmkcBywA4qBp2Z1R9UaG1YWPAukfX91ghQS9WF/wV1df1AuCgFtVCm4a/Fj1M
WPhFatx070PvFmvUKlHBVom+eMOXszGHxsNKPEQ0XQmrgp5R1O6pwlyihmgaNcFodA1RnjeTUBWG
FmCnueL1Rl++9InUoNQ0JBtboA40J6f1m5dRQbsSxQ218pvmXKgfjwEs4ZRRAopEq2ojzbJNLagl
GztUh7BiXUCHW9CCNE0B/LovGoG6LTEc5KX82EhYDKA9gpGe71qT8yDScVooCcvJeQAlOCNcsLxq
ZHoUeI5waiyMwlqD6d3okhjLKbdFI7kBBqbO8fdB/PZZWZB3tUUhdaEH0XN+Sjd6ViEMXBvDLb0b
NxgECMadF4qKed0FasSRlXHEUsatRwr6sg3eNBLtgAHZF4/R6Er2FPAi8HMyFiIJmh6ZrTxaj5o7
aPoAY+3VTIXAF+WkhOB6vYBDqx0QtZQwQbagN65abjm/0gS4YcXL8Zve9JiD6PtR6AA189lx2QUt
bKpeMIXaE6uiK2blsU3QcoDQ2VO0N1YeTEJvJivBo1xpceghRY1KdBx+UtB4Dd4ZmdKRgKRbYAOq
37ynjkqpC1C20rsV5HlGX+UHk5ARJHBHzi5zG/cQ9IspevJXgnPwFA5tl1vltRloBSiYzHTKYrJh
b2XHHZV+k4QFhX+kqWjkK1mz6eEHMmNlTe+WXjaCpitOwEXXV6KAn9FzD6koSYqvkaOPB15loTa/
DHKvRZuyBVSYntpQ6OlIYwQeygodAekc+xYrwgPQTBUKfNgYDpDiMRDP7XE+zhRFMVsuHhBO2sGv
/mZcq5uR9fxRcdtvC5JGwPDKkpIkTtnNI0Aouua3evNwg4LPLetO6J+9gingchWcOrd5CG0AlDqF
+KoDhjKsFzq2JMsBn2saHEBwFOxEEa6lE9qlrHlIoLw7XuW/IZHDB9i0HqpvkizMYA9aE3SIrNTj
gEcV2M22UB6AMH0LiQakH0o839IAE1w1AmfQCyma9REWQOGmaAB7yzuzoUF1RdFUPvuCjRcgDSdn
9VuuPNBhfkQvQzvU1SzoAP7wudu2BwNOhR1aZTAg0UHbtnKHJrtDYNGEBe02yfG+ndl3hdEpvIMB
huTOF7n5kd9IlJBzLc67A+GCKtpV6Q0GAfqxWS281LP6rqBkWHegQXvqOAig84I/qDbt1ZF82x6F
8T3Gi5xVVTLadFIwdUpiq+0TvOF3YapX8TpbO2wTccCbKnm529dEUF93NQq+WP+HwW+oGL5kpzhr
EeZ1xqFRkW5AXqegMGy6qiC8xAzSk105CwciUT8KrRlzMAkA7JGja9uOReCN+sH0grHJATgAHnre
qza7b+l104YrZIr6R1d4Uaj3P0/LuBpmD/a7iI2Kd1UNZNp3RQZPb596R0qbA7hu26MCxCgFi9lV
KlBAdqYfq6+bLjEdej8LlRqlvjUgHVXSAbaybUCr1bETkobLT4POvgNvtGD8Rnmi7mdKeBx6JQSg
cmYrNPhbEmGA9qYKR3vr/XmwZmKcuWnnwSTIRdHXEoJ4DxsL3QMLbeoWeqIJ+UZJhMK1BWPrSVdd
9pA2GysNakWNA+1xE0YEspeO3y2zRWrAjvcc2dok8ABqrYey2+uWPwJIscUjKLZSxwci/15qprHe
bFA5WVKYN2I+Ao69dXK/nDn5h3oUFdQoU7kjAFizugpZRBm3uw4w1T3q4mHxw1fa9Ih6kb4GGL2B
qIOFhXTK8mYW8VL/z/j5/XC7ns8v+9s9fTb94+nyfffye/e5/37c7Q+H69flEf/V4/q5ezv9Or7u
jufjx/HyuO+ul92fx98v1/3tdXf/3B+OYaTqJFTi9c8FCtET17nhzzqH3cvX43G93OURupn6knz5
PqYCyQjPT/vn6fG+uxy/7x+nH8f0H/zVhZi8kOykvuzvp8NuXQ5Yxux/LMuYk6m3x/Sfv55+7N6v
t9Pfr5fH/lwdxpNu/UazUtj49Y/j7XE6wG/N+m1yn8z67f7lfj1/PY7gW7V+u/SXrp/C6fslLCP8
i/fT6+vx8q+VHps3PXcNIr+6P/z5M45VEYKXa5Csj3/lBLosfNGdGvtCfA+3/f09Dno7voWP34EA
zAhPEoBh3f5rOLe38/Xnjox5/Xg5XYKgNu6Fz+NNG2SKyX2c7vfdx/XrfvwIP7N7Pd33L+fjK5pj
FlIXcRLfOTLm8UfYwt3p7bb/OO4u1916DmgDhzzLTBeZhWMeqthOjRadN5Hw7PMAp8vpcdqfd5/X
+yluIFqrYxfSlEN9Hm+HuN7P/etrlKc0N7TSrCBUpsTn8c77WxDQ9bxvx8Njf/l+PqIpkiNWK46w
nONTamfuqJQ2LD88lmcVLmtY5L61V0QHhys5dnyUdK2WLQ8TOwQtFkZFm+WZWCh2kIJWj1t3P/09
jP+vVCqKKZV+EH76rw7rmYFwxR7tXm/7YJnevz5eJmM0yUNzq7oxW9DEmNXFuPewD4fH9XZH251l
Xadwru/b9xBJlWZSNccrq2wfvu5R9f6F8Yq7OGmdzTCPKPe7w/F8RoaWa5y+PtY9nPEp3O7r1+N+
ej3OW4CGJVdgTFQPKrK7YMjDXdq9PMK5/j7CG8kdAdM9o2F3P9+PxzM6YTJql3yVboYK5jMmiu2W
fuYeZxqWj6Zq2DHPvcTPp/vj5frrX2CxLJnjkB6dK7XRz0tc7O14eT3ejre2ziXaTVe8y3knD+fT
4c/d6/V4D5v62L2cv27PXDzifAzJQpRX+nN/e4Q5HvePoI4mD/Ma/2U8xObUiTtg1sTNNHYS83nu
t8l4N2/QwKVqrEw1aMqgxk6P32haRNskYzuU+mbeuOaMxo7ZDNP9j4bH+LjtL/d59/6VGt7VfHWi
Mpc/TbtyO066oHlklplj30N/C21NPqxENXG+NMvfb/vX01O7bApD2vKQ/+pWFjdMT45/WOMt/Mjp
8zFFkfGfd/fH7yC3+6ANk+jepdjUdr54BHsS/mmQNOpu//V6uoYre/j6kG5pGol2S4jno2fw6nQJ
gz2mKd2D7nyA2RQvY/tV4uNEosK4fYVAJmj3sKzvSSDBfDh9c+67Q7YnxabpZl8v599gixQjyc3h
AtuiJzbacar3zEWio3yev76fLs/sNC1uSzrR0n2Ke7SPGx6uFBikWk3ChwjKHwyg+Isg42ZBz24w
geBipq+ywaePeGGe2JkMESWPfc4t0KF+BB/jKXHO4FzcqjlX8JG04WF/PxKBBvJMED69pnqXH1+0
6m7/Y3+aTE373Ipu8EyO1hmF6OvH/nx63QtIwiTXugbj3U8fn+fnVue2j5/GEUKgcLzfTy+nczBw
6cPFUB1fT5PjeE9TvIQ5P46/Hrvvx/DHMNf7bv8rzPsrelyP09vpIEdDMVyYblT0t0iKdPZMr+ev
j8vu/bgP7suMOR32n7Jf1CV65jrgFEKkAfe30z44aC/B1z2+Bt0dfetbEKIw2fV/kYacEz9dz+qU
34/nz7RwcSZzlJC+i2wWPRvO9IuzG/n1+Tpt2fkcJhMC5Ne9pA+7CaNaRsx9iD/CieyTHxGslLwx
c9Vc/Dhd0OkuhD0OmvinFAPEE+ryd916sdMiDu/Hw5/Rd01/EKCQ+O7NOgIp7Jmwnv3rNVmFEDO8
3UJEcTn+xPc6hZh5G3JB8sc+iMdH+M9Oi0J/PG6nl6/HEexJFhbnUnfleW6FrIszIUec+5dEZ+M6
Q7G7x+kRRBkKmPLkEuQOndMlCGIRzvV3VFii75LkPm8KoVfcf3wnYi9+3I98HR2ZQLp2b9frIyqn
EBqH27fbv0Qn+uX6Kg6pZ0giHXp+034KRXYJhJgVh7wreVImM4uS4IWZ7YKwJ/cLQd4xuZz3lhj+
NMolWLUkdPuvx/v1Jo1gO3KP1+g8hH3BPX1E1CH4vBHaCuv5vJ4uYEFkoNzAcDKLH/vPaadPl9dT
BLOCYjruG2euPNN1s/KM+jIFAEnyTpfD+SsquuC//infhI6IYJfhtiA+32/Xr8/VyqU5ppFlYeqZ
JM5DzTbjcP08yjKTNW10AhZ07Xj4uh2TrLydjufXeWFfJ3kGmutJonej1Ii7YPN+umyWS9uRtuAJ
bW0cW80wrWZ/uV5+x6hmDstD+HwN0XTwGaPSOV2+krkMdi54A3d8/r6mNSKcABRenlP0HGZMYzqb
91Ow37fDu6wmxryv6XIqsrH3sC2Hd3ijXTZfJC0fv0iyPiFvQdEldyJEr99lSVHkVmfCjmzlsYE3
bCNngf28Xb/HOy4FdOlGa3aj5yNI09gfYmosiwk+yp6outSCy1I7tLpcs18Ure1TElJcxdlhOOyD
Y3lPIhwNZVLol9d0NURRywPFSzKz6NJ1jG7grB2kr0fLXI8Zyw0XYRe8nz3BIder3RpRWXK5VKFk
0kivp/vnef97ul6y1cxHPzlINt+i0+P40VB1xjIFPNMlTpfPryXc2Z/lNejC7E8G7scpuN1hFQta
I96B8vOhKjKzo/l6+iEKCbEirnDBL9e30y3ik69AK5DvM/l4usTXxYGgTu/pEjFi+W4rZopmGvU0
n4gJpewRDQ0aVpJIX7LfyyEFg33Zn5NdDPJ/CB7AXctnRS5AfAdyOivm46XrOAVEp4/v6OQ9dxs1
iVHCpTjCm2gVt/njsjvBcTj+yhhfUKm7JYgDEjwoFn+ZmnePdPpY08PnoLu/kvQvLri8r4WTZzYh
0tv+HAL1n9fbn3F3d/evl8ftCHz6POB0webzpkM2PGkWrcxu5+spbOs9Rp6LR/WMCzA4Mpk4l8my
7G/777f95/ucuTpdji/BAALvzHXcP/ezAj28n86vwY9oKgtlLY+Z+pWtEOdwuiw34CmzQmIN0l5/
Fvqgzr8nrGj38z2o0ASKyh7sUI+t9zlHvNu/Rdd6OjrZf9U8ujVVh+D+2P+eFyw6A0Slj4X2iYYF
IA/UGx9SbcQcDl4mQxCdvTiH46fsUPianb1eppTLezDT5+MNnPJYU53TLkQ1d//6/LxGjD5FL+IW
+FpUm7ZxjQPgAEoXwWhXXkFR+RPNqFdCTg6RJryknRRKsuW4yFO7NmNKshJRtWh6wkGDZxGM7CXG
aFEzfuxvf0YbtA/6Es9ozKcT2SBz/i/I1OnzfrpjNau5uzMf7K8pCo0OXNzbyRyJVqdwVonzHtPM
j6sslRyjm+Qhs78W27NmBI+/Pq/3FuhhdW3UuAnR5izRfenOwA3W5MjJE52zlZ72an9AcKS3NfSQ
Apm76BpGqBPcwoG7u5rgXa/HoAY+TikvuwakMR19mbYrzRJhX8S85Vzc8ePz8Xv2ONsR+mjE8HiO
4hp4ntPMo5oH2ADE+0mmY3AnLof432O69PSWPoHgDZrAO0lZmdUYBc/hfI8Zu93j2nDkdVcFwKgw
3o6T6pzCVCBDWnH9qYkDEoKlyLlJ7J7L/SgeMxEhUrT5ef38+mTAouwxFDD4DA2F/3qX/rLo8aB3
UsZYPuyFC7H491SZx7uQYsclXhJNCglwc3upZRLv+3tamiiwikUoBOlI9wmehjKaQx62xDaXmCJf
x9v1pxx2dSM7Gsti6ihySeKWyyBGFJ56PgkNNCR4fDtFXfeEK6ZITiDFA9scQ1pkM5q07IAMdXuC
w3u9JUwyhF3Bn7vInKHpGtVigrSKtM3JQQweZ7DnooOpmMhRF/5+vckAE8/UzLFR8JrS74W4uiXp
qgZQRRA0qVYZbxy4KfMzOhKDws/zdf+63Nn7I1IzUnZMlHXuAc1rSAShmM2brpp4jN5wA6iQcIqD
ZAmPkN1MzDgkuDvJA97Ggc+BgmJLkmo2UvsXWbGrmg4t4aHdLJgX4IxqEmNE/3hmR8wu5GsYCYSn
jofHczB4uS4p7YZA2b4mGK9BKKI3EQzcrwkEvr78LV0vGHSNkkZ3wTb989cpTOSJgJvkZYhnW8Qo
M1lXdgizkJrctHS6n+dThGSmDPDhHaG49WhlAZ4aoFNfQ97ayVwSmSRDrzkHeBXQ6Ma+XQ9fd5T+
IxFfPOkZTZ89uOQt7s9FzUQaUxa3oaaFJ2V+PMthY187U2oDkrOevPNdwhdTWl++MRxYJPAUJL13
c7HeRv+cLhHjYAkOEDtqNsSM7KZ7Gs3HzOOb06KRbJAiL/GIbM0Xn8COFBPHS7OmZKZcDLyGjrki
iiYlF8RT/JScbr8G90tC85kMjMsCF23OMB/0CrrQECAsavoniCbye9xtU6xyYrUwVCQFc52SCvCH
NQvOdV/XIOKPdzUruWTMWy7hQNPdybq4OTsdmYavPBO3mppnvDHi1RGyxOTTPX5/HjMEvttgnPKN
KECRjhrUj5drcA5kdc+xbyV5JhNI/wvCOiM3HZRa87h+/x7GpIPB+MSNVZQtUlbfrrePTFaVsx9d
LSaYfPjZGoqyR3JHbm21koQ9bmg4q+PrP4Z/+m/JW5OVbp6BjzbI0w1ZfS14hyhElVtW7b9CvBrO
KBokeAt8kSkxVNtOumx/j8RNdBmIto+9UXsiXafL+/F2muHCbNLEM/FsOrM2WcE7Jft6XBksLMSI
9aWIYXFq4rWZYaAnLqOmoVHW1UtikOQKn8K8qwE1CSNvX+CgNbmI0aeeoWHy+Rp9yoEnp2jMBK6P
CCi106XkkO3qA2fTI2t5Erh7whqbSevJv3tlTL/nEtMcz5wrF6YrOKGHsovRk+BwAmrVOArMOlk2
uF7syXFAxaU7SmJIb8TPWNHteEwZ45STaS1CUx8rW8/z8XuIB3ZrWicm8eZ8sIxvdDU2HPPWwv29
fu6/p7qKoFqW4eUhGWWK8usgYcsM7DtPDqXwiaFnwNHJWYuEK/uIliGRtmR1avmuGkLVmjKIM6Qc
JpDssayZiW5N/LWRqsXEyxXPlpAKc4dPctUntPYRcxDPKbLO1bzqNTxByf1xYPlVlyGN5zI5PU/u
myV4vt/DfsbSwUjIgkZKUbS4y3jQ/b6CZM2olaK8OS6iFLwp+55ccMK5ibxSeV4F6bGfUcXLnzND
YXFnchq9If9Faj4j0SQ7s6RIZWM4crasZSnRWNMmQ29UOQ0rzPr9fH0Jl26iJa2QOqGXP2nfl/qw
RZgWJsWanZvgmaccZRIo+mwA7sfzW6z9PgbtdFgx2WcIrIaZqSXXR/zJl+vX5RXYZy4Msyc24TtT
Yc+tnWQn0HB0LGcy/tflz8v15xQO0fwYMA6a4ZiO+bb7V7EQo5usO0G75zo4xuaf2NaxSuuGXAYe
GZL4bOKNvUwMuxjKfH4BjhMP8wZpOh8h9Lr9DlJ0CcKEXJksgkPMp44zpyLGMgQeCNL8en+qAEEZ
nnKfa0Qux3u0llNNZ0OWqcXKIOGU75tD8UXZTskjELANHcvvzcpyqiqSNZmr4T/Rqbw3ybJa9bU8
LOOwTxTgcEQvKO1JsGcCCib+WFBbj4XvvVtv5VOaggJ9I89vhB39SoWC4e/R9ZIJDWMtL8ClcIZg
X4+PCCfJd7M2m6U6biGwzvjH6RKcrelfPpnL8Qw9IMUI+1OklaWbMiHWz3nZirlSriDcTtM+pWYD
sWAzhY2Xr3jKsrToWi0HiaViYd/MzptIpT9bdKusseIfh34lh14mfsFkXxpX0Ncy0vvXv+0PU5qA
II/T1uXIOMTqp/PXTXQUTM2nnFY8qfQmbKeJ4Ywuak/hqkj4w/k07labktq0FEsvUC/weXQBuxDM
Ltjvz6BA5Ts0EMUbuSzE9kefSbb0ivtuhdMgUy5pGNKt+mTB6DagbQq7ngPp+hpr+x6WP+s77M/2
Be921gGT4XnZx9K/19PfsdHpCpxQF7u5I5C5vEEdQ24sJfN/XF9JRI75sa6Wr8tJqmlno1jJyGDH
DJCl9UMcCVu4QWvVZJviQQanAeH1ejv/3s3eXUYyZCNJCpJseoVgqDABQpQb+S+TAktlSil1PPfB
uTeYH91QSyAvHR6Ol7nRzGMPi9IMyyo5EtDninYYQXOoStsNOPI+lT6ez21eADnZhEMvUMliRJKY
RqWfOGCy3TC1SoRnyjKR3284jGNp4dx8VmBlxJbbqa+Co/dwguXOE8EFkBUU9aByLiN6JbsJEcKm
i98d3ZcWNTIuAAGKJqTSM0M5xI+68nFsgoPE59yUHy79MhJMitXIyJGCcZ0GDr1UX5RyuPJaLkIb
8ZLmDey5E8oIEMzjiwptcvpEeN0zzNYJMtsIgSg+13EgKdiq15y1CyIm8zqKfFe/gGKH4/v1/Co7
bIoUXS3CucRLx1v6IKWBXmPQvYvffsDuKIm4OR/YmBCHqTnOMBvnNNj96yV8c/26HWZqY0p9TWDx
HYw7rOPGP47TmJf9j9P3yY79fD+l/N5b1BIRDAk/hsbr1/GSA7Hcy8d+6S/XaOKWBvHrIKSFwGyp
0yZONcz/Z/TNJ58SDGbzCs2Kpn+/7iZaToo8ghycYgO8af/AWCavLjXU6+fS/cP9rv9Q6ZtHN3Sm
U7uDVWr347H7uH2/7Lpu91IdNpXHzm0c3GzBZm0UxnG7g3Nq3L3cXoOg7MKoR2kUvTwF4+aIeNYo
ne2CwOyO98P+M+j4zssTWXuJOxazPTqndFyQNrs5soz2By9J5SXpNaR+qL7znd69vKYePG/nEKT9
3Gm9e5UGcnPsk3JJhLEc1mTDqu6RnR8sYfAYwj/JC1ueL3G83Ko6HdWB6cxBRRoou7GPbpyOSrvd
2/nx87b/hNuztl13c0dsVZy4253SkcNBNFlUhj4f4az0WuytNNiVzvJd0cUshknuHnEae1nu8paQ
B3Kj3IVp9Gr39vM11g4kumc4pDdpoKV2YDlqZcAhOQUOyar6urYyg3ant+xW2nwrbdydro9tFS/x
VmqwqJmY99SijAOLIqedou15OsqHG31wXk+VP8FxSUKzE8DutLCOCd+iblTXDUFp2d35souec5je
KxhGj3mXUyJ8uVPh3KOycMbuXr7fjp9B54QNAyPZwTJBXniw1T2yaI9McSPsemQmHZkOVj9q41vS
FrJML9BGGkiv4F5YV1Cl2qQv3oIhigSzeNdjv57gm1x/LiFk16nkHZRjpyqwyUKmbgR6usdzH97D
nxH0C8J5ukQWRGzLG85EGEfPViMZcOLdz31wIxUp4s3RW4lYxWvw6bpOC4MtxUPrYDOWEytqIwM/
fOqleczGOq0nta/q5gqQ621qOxGO7nTIPXu66aW+2lAzR2gaKiXdqFs8t6GZkb4QGcrrsQPZ5G6V
hI/9LTaK2n+GMDtmrq5gf+0c50w7s8rABHywzX0/nr6/xy0apXVZsrt9Jl6ho1LSfi81PGkws2I7
02frKOtmd0pa35g3m7RdS2hxDCtTEJ7F0IrDkOOfGKWaMmK2uySeWUcmlF8yqe/SOpq0vCUtt2zT
/JpBOatlt500qZkzMBVvrV7VOqnthCR5WqpDVnky+JYYSQBMR29J0r5zxeLXY8avYnuh54R8zmKs
915LQr5oEPHu+iyW5IU4cXnyZRkUEai0UaqxvOkh4+ry6FalZEvXOD/53nnDt6o1khFFs89XhtCa
wEii2ma2ZN30ZJoqoikJuaGimav1K9pSiWrA8CFm3tc0k6p+U+Jk8vmr3J1sbcz73HRm523amCEL
kWBkjWhkDbcjpmkEtGgEiFyb1QiIalK8siovjTR5CtLzeZ3YHfup0nHpcTOhqOHC7aWZKcfNk22b
J21FNddVhZt4EqIK0dRo+6zYZCkSx5qbHE9j5VD2cD59LkbjXPtMERs09bDwtSvV8qeM79iWqrGh
7MXb0Nm6BpPstGhdR3ojbK76RLIs+nzWsUNe0s5xk6bmx89Ks/GeW8XmpERTrZ2t7fk6wEcqf/uF
XCJienzufPr6+7L/CJsbvfwJT4u6VLpNRjuy0enZZgPuU5xRc7+XUtlFd5jhCQfSiQ6kqjm2svmR
73rfMVWtzDMeWy96bCPTtUY9schOGsz42tTq11i2Rd4xJ1KTUe47ZUfxO7IUNb3TJGzyPAUnnhbx
r5NtnqeQ2qlOcdHMl5HFx5i+VCLNYEbcE00VfG4XkZiJkbM13f+UwEgULmBdHVVuZnqpHdw48cKR
ez+DEvSYkLr3ff3TJ+6q6OdrXXOmjtc3oHmMIZs6sW9GGK+IKkz13MvwdCsksMKcpXkNRPF0kzQ/
c8dFRdYNtaBznkjVwosr7TyPg/0T+IeoyQwX6vm6Vp1OeUY0BJrgC70tDnk+hDXUZJdNwuav9+fv
19vp8f4RZEIGQ8b6IXJYBaEphjuIHfVmlkvPHHPxsirHIhbb0IuyFRtcLRyTPSzRU1RdXVeDcNqL
8SbZqKkk38Ez0zKsov5ajKjFGNEPTB/NOOFiwzotK8dBNGKtUONFDDU8RwkaIIhshQZToo49VJgi
REA9/j53PxKGEc+Lemi52QYNe8SlaFXX/XXtI8aFzOfQz/gcoic29jXsDAAwouZwQ6l6FJ6UbDoG
bldzlNoQRvsmbTwFHBXCLNqq2nY1DbkOkCO0W8yqwxgkj5QKlrsnzNoomrW/piTl2Iri6RF10LYJ
pInwF42NSTk3hBuMGMyMNQQMYGniSD0R1Vy2C6BQMTr2BOkhvYhk3S3OidzpxPHTYhpDlCcajuaG
DxJEKFpJNzwPzjM/WVQymoehSz8LKOiiN2AU899gyN3yoRXFMjM7bN71Q3zc6PMeX2Q67m9I91HA
L/lvCwde0n2yDafXLz9EJA7Ui6LZaQ7cPAseuoNo0TUD2kxTL4iBk+eSOo9UD11e3g44yUr2vjPZ
PSh88FaQoXuuq3TfjJs7ETMb2dbPy6sb+V408kOZbTMt5SLr4Z67mOMGWAT+zqiFLLZoW8RE9tiV
jottwb4i0mELOLGjrfqWcFdEbTXP087MCDmHJS6Jhc1J/NzmjZVIy96nJ2OQN0CNUkqr2VZwIsqO
o1Byl19blX0x8arSgDDzIxoog5Zv61gKUyN7aDoRLzd1hxPhU0rEp2hOs8sB/cFZtZtHDN+Lk6HR
zjSZbgsI/LU0kiHBfKIlGQAxtK6Lpeagh4m/Tkz82Vret7hxRrxxI8jS13dGjOQ6V4stS5BDvmqa
eZLG4PycyBigBjGXRVUhTTGcKKLJrORbgbcY6yii2rotWra1YzKeoGoZG8mhlNO8pua4A70mJ/kp
djo9mQFjeNFhI3tEOPkTcitj61TqUlsd1bjjzeThWOxw2+kQk840mW5IW4ltACGaDepa9+28tQy0
dFWqiaTitZhcYVp52vYnQgcxxtIcBZhTEODcrLjZxUhK3GxRBAmZjnaVa4ZZ8nXVvha4yZZVlEqq
Xk3Sry3XUw7XXDUoBZdf1LZO1ymDQLOJOUPKFrI5OMoYngxHsvwN4Q00oH8RJh85H3P2+oBQyum6
AnHFwazo71uirlWfaX6i82hF55GkNQj+I22ReNs8BylNm58p7hFB7yCINC/Ni2mkcRTsNoAhRPDO
clqO081cmUyt7Gs4IPKJregT0wROn1ENgVklIhEkQZ9aKGnEsxH9R4+5DDIsJUbFJEFlcscvEF+L
gHWva3wULAyilTLcUV7YyIUan97n7XrRdqp8jUmbKaDCxX0insVERXsiLyxbKWVraWugxMVbQwlF
ufiDJmJE5qke6gEySHyIdsmrOgIwL2A67/kuTyEK8JUHz/WTgzpcnJMVSJE1D0UMGU2V2Ub3V0wi
MCi6BkBUr4SobG2Rsx+bSs2JSs2X5Dj/pBMvaqaRI62zKaiGgXJ0XMVW65CheGCepm6mQsGG5RaV
0GhqZ98il4iwD2V6T6GThq6AGOVQmla+81PgJmY0qAGi0ihGNqJvpLgRMvYZ10+cF/UhyENl7RBA
9GsZQSpT8//ixDRNRj1VECNaM0289rR5LbhP9JM7ylFQGTuezl78jIFWfQ4h/yJ+pnseXutGXkas
6VCjYl66G6gILfZB78WwsQBTWnRj2T+g4ZRK3IqWhyAzwTkf1zxFRdMiFY3mZ2ma4AlnT3Y7PE85
1Q1rp0VwxErkoaqOFrERTy2zydkUUD8hxun0bqUGV8/yJETSDnH5m072Mj0x7UsCScJnlY2R6IAW
BlZkSC3JVXFGJMeSAskWJ0nM8FEEmQqDjHGJCpKyfseUyFK1zIPoMVIa6GTcdCuOET1qUktDMHrg
m4s7TcQ80n0djPmsGPNxIlA++FYOW2alcbLdrMYl/1q8xVbXoeAfsefZIXYDPZ++p+Lq4x1WZvZ1
v2je4PmhkD1mRQ8CLi0bJxnV6Gqk3Sc0yquoUfqaj4Ncdy+67pty6r5lsURJpyQX13SUxMtLQ1Bd
ZEj+WiaA1vrmEKduXEaxFq6rZyFBVCOGcL4qCnKGXPacBk56DFqqhQGL/rdT9bFwQkDUUqTmj+KT
oj0Qw5LB1hFznpKc1AxUCPQu99uQYEtyE4H3vsi3enqViy2a9Z+c39YkTZlcUNtrXK8vr9DXEgJP
uHai0qLJPLciSjWoQ+b0FsxpDSpRRaPQmzpRhiImoibRtOZ4KlLZasrD+/62PzyOtztQJUvnmmk/
fMpWtXPtMqBsOfr37HnJpDtdlFrpJpwvBqrW16JLTDAV52XrXOiqEIgkCUpHmzTBs165uEiCmD5V
/yC6U9SATiGfEa+KKOW6r6Wsn7i/oqYqePnPYU1Kjh79s+7Q6hCLCSx6pdUKy7WxQvEIRo7KW4f8
YtHj86bGf2nAUDJ+6VkeZDZdE64iLoSWyydPenbO6wV9LyLu6euhvpBjEgF9UyBWrRhIpJUt/RLX
qLVvclNl2LN39TBxKQ9iGkUsM6bOxWRXtj17xNyptmULkVa/BvnMSVZB5cZUALkQ6XJFZakeIbNI
nJDztaJd2UcVnV3WXaNjOe9W5CP2WiCGk9QlIxBVppuYWssNZDHFlVqekifvgtd6DIhWYHQlSaBV
cCIujjqEE7BrkAoQV0bpWXbtkCojMiJHYDSoOcVfUKxly51RLOiWqyiZYhtyxFP2f4JRBTGJLtb0
OKueqe0VLXbH+eSznyu7qnJZuCq3epTKqQAziJKKzbY/2vPOriqzFa3OTWKzC6VEJ6SlUMT6C1oG
TTqN/MVaY02gucgz90/X94jJQgJBPkt/kNkG1L/MRzB9xkbKrqCopDi1ynTPCL3oC1JWYw4PZP0i
ggVUd04paFjQKud7la/BF8Cyi5rKmhrYA0aSyyMLgLVBQgT1OKZ+g/4FGXrtimqPlq0SsSxapOGS
qsEEDTmbRI1eCvJ6XD4uW2JSRZoftKpHrWKQ30s1PvJmixUx3jwdRsuADK0Qm+KClioWZZsxPtIr
B63jF6OM8V+s1UUx73jbMTtCf0xWdabUKc9W8NujOLWBl7EpcJCiZNFQdWLtPsMEEpWwtX/JQIuR
vaGex9S7ydJA7+/H23W5hnOTZ7lOx9S7NGIDKC7RWNh9ULbPYrKDYot+VRHySmV2mm7UJP6lEj5l
dK0VC8oNyZin+YvdB7QIAAy+Viwpi5gY2IxCkzuZbSz6peNQy4A/UVwmH+Ugh5R/IZz0PKPeToCJ
gQ7lQLMOY61cr5h6VKa2aSDtJNd3C92KZaEQN2wc6im6Bp1WlFbFI5YZt6iicHIxrKoV9jXgRLE7
SdfBaKwup2Jyp+MZVvUsW1NutVTUeYvEWJlda4a/1gFV7oloeRpaDe1CeBn37uqltTgbIgoWTa10
T2VpREVYRBft+FyMNJ15ptnmzI0f5Ojc/uWAVe7YYIeavSgIfXI6pVoiw5UU8PvshhPR4jSJQRJN
PdNuzEgaAYePMmRsDnBklSnSZKlCmeoJnwrkRXeo5AA902JTPH0z1M6Pp8XfQxT392jBZl5Qq1/7
wFm8thGviHdYU+LcFCEMEGmQew0WfYOHJ0rR5XZ+ClY+bm6eeJC0253CpHlZmbMcjcuJLAF+FrO0
RSsZwzCd9MoGyLGbehZsQ0+VI3gzlvm48Rm/Qi6OMjWtNiUFxVDb6LIUxj/rxcktq6upIlCoI2MK
XR1spnk0EbSjBRqUfi6IiWgLy+hO4UoE+RINtYSnjLOJap/Kf6y3XkuhqnG+XAXly4SQRaltscje
c3tonmUgjiKMUaDTM/O7mmGQm8zzfgG2IMPN1/P69nY/Qinqdc2bBcIs8kzYGxN+o9pbhWZWa9CO
46+W5ZixKMtpvpgg9/7ram/dFE1G5G4a/DGYuVQRoM9i8EifFbCpVf4oBgqic2d4jyLTAsNFrUE5
LbTGEMQcYuGHHatZEVL7LrMAxzqZ4F/Q+kJTAdZPIHkiJk+rqGj+GNDWxWiT9vX1zY4ncmGGrYV1
cvcl0QoPqpZoPThrdo9f8Tn1QwoPOvmVA2ImpjeuxjafRXbqYfHK8zG4G6s9mGVkRmQ8O9+ofvhr
bEfV2VqBn5TeETNz1pXRz9BiI4gOEO0NHfWA7qGDKl648pWrdkAvpngoU5LAFjVig+wrDvX6M1Y2
3a6XrrY7aJgxmZ3HW6qbJnFQZl+rKrwqan4xrKDchqkxWaOMyovZq66r1SnXDJocZbia/1L1pWSa
dN7k9Dh7qwGATN93+HWlv9ZUTHVVABooJRmUGerkKNHLF9PEqniUaGzeWdHPt7pW+SQoEbn7TQEV
exIWiuaQfjSFGI26dLk5xmBrPY5qBGb5nbfxL1UT9nLqVlU7nAOCn+jDOFcDJGvLEi0hrWXJpZvV
RICo/zQfw7ThaNDp0dQBwDmUqziL7SoUwhSfTOHQanwuwttjUek6Tq87C2/QGvQGrWGvMS9PKasu
PoYaHLXb53n38hLxH/zKKn0b1Vbe6HXTG70/8Ru9WrMXcRc8Uuk0ije78+n+mF4MR08OLz0Tlqdj
11VVX7NFT/Rqxd9R7sBAowcDkSerEzLQ5QeZpze4bXyReXrvVX6B1pK3s3Pnv4dy8Ulcp/vpuWDV
7Q7i1njN3uc1ldeY70FvgM1VvvqgbljIuDvEJ6Ff7/AF8IUkNzF4yUvM+cXi0/JkMX4ieHmhcH1B
2RZS109SF1mc8pYs/XSW53jVsO5qfLI4vpUdd/XnA8uczauKaKrrybvmcWP6sL0fM9lVgSfJyfPS
pDdX7ZV1+No1udcuM3PWPR7mPX5Jj0uDJ4aHnk9nXOUlLGx3P1zjXVTy7i59XcoHoaenyBe5X54i
l5+Nd8W70n5VVCa+mmzjC+LReP1sqaqlDHMZaVhUlY/jKJXhVPmQljZX6wvOY+VNc/TS+1I4v2zr
8vA8f6D9PS3mICuEpYX/ejrLWlx8AXr3ev3YvUcoNB7yYXe6intCHkcndSNZ6Pz80Puhob+Lm61W
1ZCetg6HfTjv7/dUVi6ftRVejF/fx3a79Dx2XJSsGjr2NPbybHChKtFNXFq/phutVociipzaBaO9
S6BuuEAOnDPVUGp1XOtaoUNagdjXnhiici4Dmsv4/PvlRiOrqNlA1grGrJPHWF4dWBSUM0xyDzos
6/A4/YivvEdZ2Z1kafHMRq8PvFdtNFrWwL2PjdjZSezO06UEZskbblBGcuhmd7wf9p9HfN7Lg2br
onqwqN6CRXnLr2QvGwK1e0OGgGisnCKsz0gjV4j6D5pcq+p5Dei8BnYnFpOwLs3v0soesxshqwpX
Pa5SVTikKrLiiwi1U1WvCikblQ88CvRiEOqXs0OXs2PbC33f4EzIA3Ujc2i8qZmow/nWug5Lv+Hp
YQri+9q4OX2Qup+v4aRu95gZi0IoHpQyTJkqKwYZCrnRS7n6xmrO4wTdk8Y5Y2NnO64uHLvlp+ll
ihG44uPAT0owUSOQGmr/c5/MNWDyU8B0f5wnJSofkqGryQBrNDDTntgVGIdbS9xFAmnSO3laLqXC
l7IITAs3WOvpjIIIyT6j9VXHfpVg/6wEE2eCCozy0dw52+eHSOT7ZIgmVqairvrdEvWoOBtZEWvu
CnhReuHe6Or+BuGLxi5sbxK+t/3H6fy7EfjkdcVBHVI4HVA4dhzrMXJ2CSZn9gmXYOBXE9mqAelA
4jKl+6X4mYVIO51ZDHeBpui4plB+3es+7rWf9vr+90YsthQerw5pGTiP8+U6zwPJHsqoqnBN3QYj
/Gjgro5GZksjs6W4w+NM3aeMZ2+QWznUI5DFh9MhvItOXLhlFm8RiedJJ+Mp4CywsXDrAWhDwwhL
7muUnkOwop/349frdXc8f6RkCohpaJTmmQZZoIHTU9iAZwpEoQtr0eETkIFk0gQntUdOagEylOHn
rOxvTcveDXXLznyWpZEYjqyHug+vgn03u/v7/vL6RAjZ8+ux3tgwRnR+vNrdjufd+XhpQV3Lox9J
y8bOm50YnBggQd5zV0xnNGf3Ef7D0/TOE3BaDI+rV/RvOSozy+BLA+olUQDJMT5UcAqTUTXhen6/
HZv70g98HE/wKbP7cbqfXk7n0+M3XJWl5zSSy141GEiS+8L/0ZtjOi3npLD+cc97Uo3whlv6OtS0
OnfwTuRAKRXiuxU5s7OBjrpsdzjfWwaaqqBubXcgqCAUA5qBCTSMdhyyP4U3r3IiZJicPLv7sT9/
Txd1D+FFx5FXL1sg37BAI5MAi2yrR3qaWKDkxfS1SGVAkUrPXU50PQyK/QlWQ58KTzNxu/3j9hX1
DwBObTfWwfqqzUGb4jlCviZCqpKDEBbLoblFBFM+5PS6uwcFf/99eex/4eCW+qyGGJxFsdrZrf8J
vfGFMLqmiIg+jMj2+XR8jd6hHKboserRlZc8rKx1x3uuU71osXC8423VXQn+U0JXgvv8eY8O1OV4
x/6TNdwTW5MiNU2osCYsrBeSQo/0lxsY7EPyrxzX1QjXrcMimzEsGsPV/XiW0ADg8lKSvMaTVjxt
hNoTC5MuwVD1TxTyTxQfwUk4BnYkBx5H6L62HyhLSmI+UkhYomfXyeV/RaJWR4JrAC72AwZXR0Mi
DLcoKIcUFEfsV1EtPLbPexwGwSl2qOd36t4WMtoUl6EgUUYM3q6Hr/sziEGhNi1x1MNIXi/tjNuO
OodNrSIiPDHosH+tuUIYVqgpyo11kTr7uO0v99ZEjCcTGQkuM3nGUfTici7Xy7HhGxc3yq8GIVyF
6O9f3ndfl7Cw8+kC83rKcOS/rmSQcRtNFaQkwccae+DrTZFkyw5pg5tCQ2BIGivmlb2Vvb2Gv0/d
iJZjM6IQZCicNVPe0+B2fo82oTEjOwxV8Itxg07PcIOcQBgpk9QKJ6l1kUcoHQoz73VTEzpbjxm3
vr5qUAm4O0sRy9VTeg2ydPmzcTF03Wjx9BFKBFB4IAp0XzjWfx5/Y8dxKeNbCRajFJA3pIZCplQn
s2DDomCDeGmGZMLsNA211hUDpNRyjHy1vlus3QCLR0lthABQIyo18NYCpYD4gkWENOrejGRzfJqS
1bvz8RHVaHx2ASZYDAG4UlWYR4GUQ4GUq/rCRUyHKE9dL41QSRB2KEGomYawaJsVogJ0hfyYegYf
xVE0TUMArhqgDXkSrhogrCZvzvY82tCo4cCdKu+3C/d793b69drI8VnCBIjIQi+l5vB8yMIStRKd
1YhyNMPIuUswc44QAW2qpK7aViNqV+cayGb4+PvpI72LAbfIUjBRkyu6tVMm2SnZvXVDFWCvEmsR
nm0KUNJXDZVHhspViUzLtVgio4X8CWwvz8nWiKw7ZVGExil4tpNdtwYN1ZqqP5HkL3jHx9vpkeQw
GIvknMh+wFD3A6rZNOQDEhQoWgw7yEGjwUFjYbiMgC14hC30kjGe9EW3pAwaaasRJ4kyMRblvY17
Pvk1IChT4B7X9RfCD4mXoQmbLuuLPuiLt1+f9xZNwRJNOL11IWSrG+Jc5OHtsEEiTwSKBGxQVbc4
VZAMeRiOmwqYZLZoq42Vsc2gNcxC/t1fMP/XFlK0YpsVUjNMDmvHyYvQeCnkGFL8jfDHatwAG3l+
4PhNNfFUdwzRlHxRPGErgBNyvwmSQgkzdWKJR8SSvMnpjYC+xgNqk60LIKSGCd7jIQHjN/J4Ucuc
gg5zCjQPAyhc1ZN0gyzBmtusdSqr1gk7/L0dadneVk3W5KFEVv773+cGMtDOkPRbM4/nkefuCnYU
YrYgupalFBlH/NMK3NlSy121AmJjQ0F8r4eCzu6qQRaM7z1nxmSWa1QQ2swkpKn7GOR71SsxNux8
g0nS9Db1LN+1GKvTc9aKo1QOqSuFrEznqrnJxUd2k4+cgDNYe8bDESjJGhmrgvJf8EsP+3vjnEpm
xFD11ZGHrAQO5pYDA+chFvVRtekBIqRtdUtrpIpGSt3r5w9nQLatkN4NO4NAQ9jB7sdnoD+DTklz
Yj6sUUTZlKEoAqqXBqKj7sZqsVgdyLHI9PtqPRLPFCiUKbB1JZWJV5/vv+8r80rO5pBASmdEqYbi
aITiFIVRUvkOwhWIpSUN46YlhdvjTQZGIUBL3HJDSs8WPWcnPXf6+N6IwI0Z2glFdMikUkHVUsYk
AHeNAHyou6zzktS0pNfT/fPcUN6FX18tVnw74dom7UxV4xFfPNN05e0ZfRUzrmm9BpXVd/X5lPVa
yF+kfPEUAdVuJEIBxlE6o2hM0tnsfz+TjtSS1OX8ggIcA9spWP1BqkgQ6ULX03UbL6jhvVCa6dgg
YveISOILyrvfgLJT0I5LWgrKTi8ACEBsdbm9mcgdM+DLOS/tHFKOAtSljnXOQTdN6OmqFF8nY2wv
JC5KGd3zOVqP8DnX1ycU5eYQfKHX4/1wvLwmHEKjUnoHnWjqhjTSzyVIh+Ash5Zm+zr8XQVrUCRn
dD1squL66GpoIY+dCAzO+tSNbHrzGhoHSp62jDxNHVlUJqhNnRLH88X7y+G9wVdRRR5wA4YSJgRk
C+rnsR6DTp3wZ1JJcKlUhzl3AjtDaLqqFK9CBNwiZ5by1ClrpWI9G7lbmjtxLHwfgu200febAQ7M
ghjrNWTV0APFqb2rQ/LVm4ruheVJIdPVMihInEnelu3Mpiyuw5lonvC3bsPreJLW4Z5gHhjEPBBq
4qrYUY+wo77uRmbPdnFsERnS8cDZOPmOI09F2Tqnsip4KD/a87JZZ6scE5jot9yJHGRMTTcwNe4F
gh3G5GKnqm0iNunIcysdaUepEpcGz4hBS5nbFMEvOAdoiLIiXol+jtm97QCm1nPJEyriEf/V8f2A
1tui9H7pAg61kAxda+1U3f5XvTY0FTfWa8K2rKJGg4hB1QMyjuZahEt0Uu14WVJqUFcHUzTD2bCL
iQPZCDKHepBZx2GRK0Gsiuka/SE0sm+EE2e6RoWHRTMyff3cKxUeQBErWlnRk3qelc4xRF8itebE
CI7nGTrBEdXIEeXpFlImu6G6IPexK3iLXI6faKRklRLLfrP2PV0mlhSs0aeNzVo13xCrGwvTAtlo
CMAhhpdGwhvQr0egX8G/yM3WksUMhxwbYH7OzDiQ7uNF+tbJFbbIl+iKlCxMVyNfouOpBWtrcBIi
vBLRi4RX39VNFLKWBBZjRNMq9oIiVV80DtK1jngAd1Ha1wupt5TtBrY79HWCA7tOsZCmWXVinyB6
ITVuKDThGN5HRxjk+2N00SgIUBpwjmXU1ere0rNCqTBKBXZyrxY0hPN1dVAVN+SG+FFKBBAE1CAE
VFCVFTfcNNxw8zxhbUT5tEFVK0x57OZQ7GbFUqANFd8gKr6r1wZsHSuYIx+q+F495kI+TM89ekNj
Lr2LEdf19trIyvUC+sn2tkd76+sNspiyRmZjdNVUdt0DRzlxB3Pi601G6dLBPI/DWEQALKqZNuUo
agpBm/X5Vj+fAvBoQs6LpDSW5tGQWmSLYnFNOHJhFKMj9eCwf226HIRsl8j4df4B8lIVD9wwAQx1
hRl54a9HMKdDlr44K4dQco10uCpYIk6GJ7Ftc2OdGzkHFVanEq332eDLPC5XUCOrChiRNMgdZyqP
oYkemPtukFgeG3PfSKrRigAK6lDeyssTtZj98yA7StwrV/futjR+3aLx99Wq5AIL0QgL6STy1tIx
+ZRbJgNq71+IA3oE0/uu2qm7FpfALe7qLES+MShnb7n0uSp4jISlEDoN+jdAtHZ8HoMekKrqi9SO
qoUCL+fDn5AGqd1Q7xTGrjXivBaRnsnzSAH1rKBiaUSrcbPtqiPVDSVyNinoZSqXYMmV31o9jApC
sK4C4hoB4q5O69zyTRo0chLeewlGmQ67kaZyvdRAbUnknZZMHizWKEAUW2tDgvo46OH5LFfnkO13
z/euGVHerSxjXpXvxCE/rNwGWOpLZCZS/wZVg8wUhMyMFFiTrUXxgO7rynsb4uAKUjvWO+RVwkjV
CCOVhGZHodN2mtGP/a0RdXmJabq2XkANOmk7O0qm4EbEIuvK3UOrAK0DCYmut43jTfdRhO95CY8b
q8AsfIaA8+htZizqJO9mfeEWM28KxsMgO3UNgsrYtbpzrx5zgy3oVZXHwU29Rq6ueh716FHE5r3U
HjAzKD1iUHL8Xde4cFDLjp1U3lemJBpV/8WzImVbQK2WmrEGAc2wonSP+jdq3KGJcxOqxUcQvB+k
upaNuDWiERqW61ZRJ8LMVXGXEMSF3l8xpt6qqQBRENpGO/h063NjVeoufl7EunpjhG1sZFux0cg7
+OiKKB8jbNGKhMuQpP7IDsSYKBOlb2QWYPU/uZ9MirlJwr6hLQITK1IlUOdQymnuWmw8BOFpW41L
6lgMglBs0S5aXlcjG+/qdQ/k8ZOn3j7xdYUx0fOf6ABoiTZP+Sif/alw2Kk9w2F/+bFvwL22aPTQ
V+qGkE3oR4m9vpRrL9XakMonFgekUkdvd1+309RME5QqdNVmWDV0AKap+2r/7YJuAeO0QepuVxJr
WtVqtu6ibg2uxcGw52S3sgs8hRsarbDqDXTX9opBx5xu98fu/HjcGoCvfj6fOiAV0XMVYXwt34Be
3RmHahfeUoUj7LnoEcUC2Nv1+pBF3xhbf1OPee9g/bbv6h1N2PpRN8exCOKt3DsYm+eiupe8CsG5
r7hPlh75PXaj0DEGXWIr3hzOpkBVYb2uZkiKlASivJZFmYJkIf3sdJ0puFUBpqECOL/ECDlp1I3F
cb0GH/WBIkv12ljkb2meEjZL5+1ulAf+LSqKMIXQQlI78jBowzkrtZhBfmAnvCxURSwRTO66+ntz
qYTBBqt+XJonvsKWkEUeFlHrFEpLd5LRqAAd8ClIK71lsuRQTyyJCkoA1fMZd4Vi8s7XG4HXGiMg
AKV3KFU9szRQQoEUzOlW+wuFzGnHXw214GkN/JKF5QUwdhSsgWlYg6LFKVI6Dh2VFV4irbAYIanN
1q1CVQkOSAkO1Zfo+JGjtzK7wvBbCXRrNC/Wz7cm0ihRopT0wtpS5Hhaqhz3EHHr62x90kI2Nsna
Xw7HRqNMbiKMFmMTmJwoipXGTXH48Rd5lEPGSAv5U6Il71ARgvWqrk0LQAbZToKgj1EVjrbqdaK6
2LIU1coRBUrF6voDIXXhQ/kW5ao0t4JAiBh3WigSKfYVlTEMfR0M2tzIRgGqktwj/dTjAKpvtSY8
EcI2eIlKIJrW2oc2irZ6qRUzr3+GL2MpL4B2/IyRi6WLvldIeTskbkWjzXrOBYW/tDzU1xrokr6P
sKOSlxq+l++7IfzFKtChbGUCz8obE+sN6yMeeVxpqNiE/O16+7inj9Z/3J3uqbn4/nSJFLH0KHOI
RG675Z376g+l/rrdnHSa8vPTAtK0L9dv6/jf3k+Pb4/j/RFGB0PNHmocKopIP53G4X7/2D9up187
/RqsThCvt/3h+McvMI5bx4nB0mCKccyz4/h1nOgZzq9O69di895Ov46vy/4db2CBOk+MPsK7jjQR
nII/hsaweQy3PvF5Pz52eZxIlnpcP9EoXd7qIacK8wiHw9dtf/iNhjB5In3mL6xD6Ff0cZaaFOHr
cVKv76fL62l3uz72jyP6flau8ftIMZkt5+H68Rk00Gveivvuxz0fzR2NSPZ12I6o6aBomLwrCRKa
iWxxnHCPXudmXdfb6fvpgobJkpKeWlabzd193o5J8tAuqzzKmPh5fTHONJHnBM8zwZuF9+/X68fu
43j5iu1a0NcDF31XTOTH/vx1TN1s0e7qfOypR+q0nLAT9+PtxzHc68v18Rfu40zcSvvTJdhhWtRn
EJXPY3zL+vhXRyTLnNhleqvE4p6hMfJGD5NRm27GI2rQSQrP8Xqs70Fc397CdQ867S3o78fvdP1f
9oc/kartidZOIuvLrfzX2ISOqIZUZLbd13/F8N1IJp8WMl3W+4/v6brf70irK3IpcsrGTFr9+zGc
7376Mm5hrNQKu0nepDvvf0uKJNnsWQKMn4afcdNJo+1s8GaO32/H4MKer2HZp0v4ud3j+OsR/rh7
fcjDzmo/Dptedu6W45pk07wWVwnMcFbccagYjc8kb3o2X0GM0AB6HSAVAPrKpblMGwUGUXmQ3LGW
GWnxnkwbPeYBciuE+eufp+DgJ91kXsEcujyEXc/qr+zlbIfSXtrc7rvUr3+fm+eAqbgsNip7bJ/X
4KnsPvafsVwwfRj2hf3L+SeQ1jSGmIEgO2peJh8IDZA1Uvo/Ux1gF18EObcHs0Tprge/GSw47+f9
ZY+UrVHMSFpfH+n1eESukMmuSEzD9ro+ikFDdEylSEvSyLIRU9Sv1nUzxKKfJbGe55O9h3jDoyM9
m5Dd7IWn76YnXGZna3c5ft+ny/t3WUpNvrTx7GauzzLCMr4GA3gu5vZ/LBNbVnaHN9aQG+vXYo48
9WAKoyu8zAQMZJgOmwHWqPJjVBAUGHGn26PpnmvELjuP9xPdGjDEwIaYFTw/oqTVDu+n8+vteHnu
wLKq1rmGmKrqw/n0+XlEW040U/b7yF2fTeIzm56NWBLysSo+4Hu+R/OFXw/tiU32THx6P5/TpGrm
/d1/BBcAjDFyEa4vgpwVWA8XmzjU/5zU/vkr6vT00ddl/2N/Ou9fQtww/fvYo+d02D+Ct3R9uYdA
LfglcvaTYISJb9VNkhU8h4TWRIbVn3fw9kOGe2Kk5ScJCnM6fU8zmKcamdRxiq8gDatZX07fz/O4
n/5+3L3dgq2exgJLUWyEObA/frwcp3AoSuEyn+hLJuQGrI3AlVHKZ8N4P9xOn8GrfvlbuCJhr39c
/zyCOfnamyjfYzy+v4W/han9LRzgPOjX7QyawtIky5BitjTYa5Cn2/X37jWcdLhul8/PcPd/yuPQ
lq5jguimSX19vkYn9OfpNcwr+Mm3/f0dLKxaHJM+ipuyP59ed2G8/S5t/PFyAJvU8b6Ysxq6hFlE
PDe9J7Y/HI53cFaEIkW6IUQ1dDu9RoUd/vJxfLxfgQQ6V2s0/rf7JH3zNoPWypYL8HSR4nFEm/Mz
3Mrrz6A+zuEWLGeVxvwKmvYKxLpoaDS7oZfPWQLD/OKzBEFpL1MM4+/fIuY764Ovy/m6RzePvsKW
etl2q5QGiZx0FZHS+WeSw9G4kppXWMxAxe34+LpdduFswi1MmxsEdhcGPe7DPl+P98tysZbfmv9H
II6GdYaZfyi9FQkuOHn2yK7KaxK1ZQsjuLvuKxBhor1sesZr8vKCrpmSYFlLvxyD8jlOUM/9/Rjv
WjyfcGrTiQIJU7UHcvgW7R4/T+iukSqACCgvCvu6+zh9HKejni5viDqPlzuUTMs7lM4XZr23s/gF
53TSBI/r7n47gOEK6oCrDvd5uwZZjzjGdE7HX4fjJ75BJKscz2aGuSZdFf7bYKeyLE8nPtmb+KfD
/vCOVFfP9M78WuRkc8LZR93TOlVCQEpSPLsM8/W+XqYHTz++ggcRVtnSy47XaM+Nvs7R2CwrbIxQ
dEx206neL/vP+/v1sYuqZn/bQ4VOU0mJfDoXRX1cv+5BDwe1nKLB7LCEDQ9+FThBzuCeJf/jdL8/
o4UMz5HN3vzl8xYcnCD16ZvFTZiF6/jPX/uz5Dj5tKzZ0dMzZDnMl/EcjPqysHidwt+CIv2v88Bg
vD6Pp/N7j++3YDWwjCf/cAGW+HRmIaIGLK5y3fb714u889O4eh03MUQ0c6oaixpm+kOaVa5aQrMC
MzFshbNkAwdsmgHZl56cffjhYIqvh+jyzEZ5Vszhf7u/fz2CtQaT6cjpm1X1Lf5GsB7n87I9J8HH
nBZl13ESZO3IosIU3/bhvwazyDJDqhKqMtjYp34k+5ShqugCrHdiNtsJ9AJzyitKZMjJl0gfXd/k
z3THPpufILwdk7JoC9rsq6fPzRpir1c8HfF9Mm+Xr3A2wS0DgxGpHVdJewk38X68rZ5/JP9gDeHI
liYo0M50zLitEbeZxng7pfz88XDanxGkOG1vvgUxvz2HScfLVwxLH+hcVN6hrATv5IDBhvT8TJmU
zvvy9nU5oHn7PG+94gS3OR93CjHLJzCU0yzyEASUWc8YfEiWnl+LOlwvk/cNTtAz5TEzX47xjPBe
Z6WZupNM1o+cdvjtoCruUKN3WXxsRo0e1zBpCUKdVjvy1eoJ3jsE7/Bx/G/JhY9+6H+ZxHj1Rvc3
4KN0RdOiseqaBWGaw5wUtGtgzzn7xS/O8uR6iq5oUMxB1nZP233ey8pyf3medLJCUT2IObHJS+Ot
CuZC4MP5dPgzToVPKRZYBCMQFfF3SVCmfeWMKNu146NlqslriqosGfA2OFL0uZnmv+jC6KJMOdYE
KAuZmcnB1KxsbLZ8UqyIEQ3P58TP53YM1+UGAm7aTKhflxRn8vQEeEA1H+qMoOzeQsSGoC/eoWT+
+b8S8AHJ1TWPdRau2ShC322a4cDKd+bcxf7xCDENgyAQrEFfGVYMwYrnfbkGjfZ7Ovb4z4/3/WPa
uBjuYdyB1sQn8z/j9fNLEhMQldLV6Zq14hZKio4YgPYExoiGO4Rzlwf3Aebb1YLMdF8jcM3H8Rri
s484crqV4ah/7m8IZSJPF/aRBkJd4tmvntVpkmBJ10+D8TZYc7Z6GiWc8+308vUIiigoZjwOKUQ2
GWOKO/d2ChKML1HHoZdJymZDEDwLoJR6+mmyzH095l8j8d3P6w3h0YTzFxXVMG1I1JNhN4NCyYB0
rKS5HbGEFv2GvW8BRMjmkWdUUudIMx/9FBRPIr5E6OcQYsdjOx8b4CApytRZmpg2Pk0GYsKbwTFa
pizmtWYkPxrlf4oEnMij/v4AF9EWHYAnYUqzmJDQMKnV+EIFRkiyKbuw6p64uNvx8xzzOv/8dURW
grSdsTkpGXfo+PEZohoo24r3Ypuj3+nEjj/CpQeiSNqck4s+cTriR+yFJDBMx9t2WOoiQKd5svsc
gZ09t+XzJUcY32hKqvDn7YT8FVqgll+moxK8SNu17Z31tXrXE3VnlroccLq0A3eqZ/RUNxNHoJVB
IG2SIhA501YmDbEojcs13XcwSvEwV4znZ68gZlSvtwlripKTXjCLfKKonasDhqGGuXQ7Bfp9yrn0
vZrJPdfHNexODN+C93ncTV+KI82E9S657+NUjuTWQOh6nmCw+c+7/ecJPFs3Etw87rpzMWWQwpOY
3Hzf3y5RQwb78yPEtOffQGunqem8yHFMzI+5GJTvlDxARwdI/zAuVzU44emT2OD7ONvUhaEfPOq6
sNvUxXOSiFQo2CVaWeS62Dmcuk/510lHX+cA/u10kCCB9CBeZzPZxo5jKrma4eiP/SPYt4UC2sCO
5sEyw8X2XfrrvG+psPK6C3NLnsk0Nhwq01z8GIXOjxGzzbzwU7RDhBie/nl3DM7ZdEaxBfXpMz1y
IGe0+8zP6KMyCxLN83RkaNnbS0PZnhHE5tjh/hWOgTJ8yYjyWC7TIFxKUxlChJ1msybu15Hl4QbD
aTCbwfKuLbHOSTaEaUifqRGTyZ/Z72TQ4M/PCYLoPKT0A1l8/MnGjjrCXJge+JjUw9+Pt2sefXKf
wx+mf32MBiwMLg87ZlJQH5cxdF7ejydg02k/iCClv8wU0qAnPoPeOX3E0CYiUo2Dz3MjKdv6zFZv
GswqD5deq3LeyAN+XVZ6ZqfAlRnImGmOA0VGydBJcYALQ5inPrXe2LC9P6dXNWMyMCoMsG9VnhbR
E8tzCuCSELJOQkEcEItb+OPxBsfrHRlvAifmULUtvzL4NUkwIbR2qYNsN26uXwwE02Cf7/s7OIaB
zHNcCzSqqw429IGoV30Wt6lCcNamqypOzOH7+z4GYs/oQcuPdXhSeg1YbUc0a2qvPD43JiAJ9iO5
EVH1D1YeM5slcMd8T2aZWsUO8ojP3VpiUWIc4GY6QJK0v2qd8h7aqPut7Z6ZHTiV3vLZ+dlp3t6U
69ejRfceCVXSrISCSLYPtyF+/9QaDaPFo/1/wgD35DwTsDhjcy8hcn2NHiGZE1iZJcIbq0a9cxuj
e3uIrvK0MKLm4hDjM0eHhN+Qo4sDqs0ljYPOft/EMpzqQMAlJdfe5rJcfJ2AePl8QYeY1Byskdwp
MKmCDLqgq4/gKX59Rt5c9BWe0mqOOyCL0xmrNuI4qf2IHGZOsxnZbIwVBGGyAUAciNc6lUx1Fmgv
XFM0bTbVNCkU6+edSgX4u+vjPaJUwadCkm6YUbLg+k24HtgpOh+fQkM6HzAHyys+VDmHQmue58z9
4Wsqd5pQqZaTO/CwYWlHWVtpxKpEaGa6jNReJtJX13b1J18GHimhVOvUkmgUPLWWm+Z4sVG/quan
9J8jRUVdZuPvg2udFMvL/pX6n2KJ33S8WS5MavQwt2EJLspt/9w9JiVBXdJZSgNBPR/fwHS8J2I6
JAUPrmFKnYLBuPVyT/kjQMn7gUQ3UWNVI7FTa8vHjlHzZ7U3+YNgm0dyUCkn2T3nsoG4f6CBUXSw
hoWbzyTo/n69PdJbDo1bbIgLaCdoNYlm+O/d+fRCavWCZphG+AoKJGbj7p0CIOcUiEyjJ4Az93xO
I4Q7fB9a3886Zqqc3n6vdaJDit/7mXIVv4+AyUKFWb5XvjEBP2caEvKd4OM5SZuHGJtD5DVM2a9Z
B+VV2NYq/DpCvKzz/cpTGJpTcHkb8yPCeYC+MYEub2Nk4ox5ApeYifiMuYP7Mcnej1i62ThVl3dE
54YfcbjX6yFWJsdWS2hCbs7VpBEmvT4US+pakxgVFw1diiaewUDOJExgKM7Utz7PO6qn3r7FmejW
/Pt8pnE/XZ5AIlOdwvVs3A43+wmTcI+JWrUO8vP48ufp0TqIpc5nymBM9XXrEEmHJKTvENmJeCp5
nKkeos9TCc5lsPO/GiPMsV2S8czaZEtp3BKdxTLCTz6vZIK64+83JdP7hsL4ltJW/8c//b/+87fm
5mYhiQGKyUsK3sp7az/y4ZJ37OgFwd+PZD+7lPHLPx+B4QgLRqB+Lri9t6aTb2yMImzP19LSGFnY
SbJMnMrneR8h24jZfF3u+7dj007lxerMTsuXsXVSinyfsgCKWJrb6fDn7yfEz0kCnObgWholT2Gi
86gseMFNSZznrqlVTJ5EjDdL4fVNg23yHdIrJpc30rdEnqwiIfXebUx2w1aREaZ2omb2IvMYTb9l
zMuYCHuq40P0zY0g6jnFkn9VYhvXiThWbs345hW65grzABEI6d1WXhsnlfVL5HaOQ83+NCZhicgT
Juu6ipYBG/McbGbiZWnrmo4R2YVhbYSUJ9D4/T4r6HT/3CBZv9ZGZNNjhkwtSNrxlEGohkzk2Vi1
Mt2oEmvshlKSS5EGME2XpOcT0KUJbrnreiiuXZenEHYx7sETQYfpudncLKNxqMSCJ/eGWINVkbYn
YaBojy1tThxcn96iyzf8dHm5vrYNyvIGwGI0N2FH19KkA7EFNlEyiKP+8bf7c6rKEtvop2i63IuW
Ls0LGXIypRCKRsBA3TKV3vkozWtrEorHULbuHbYcDSKbluntv+6zEAnLpPZCShu7oqmtjH/xm9C0
pTN66DAwb7flABVXptRfrXubjYHxQyYFFg5QY0eIRSGNE1aDYFsWiYSFYTnDNtJuWaS8CS5TQCnc
0Li0eQK9Tzh9v1UcjQs7cDMwVMLzlvYbofbrW9qPBKbJkSKQx+3r5XcrBqNxrUmyvXVOmrtAgq+E
4JnCIW+JQk9UeH7FdmPTW5GP4ZFJqcRN84I6ySg/jh+fCfpvrCPrbzemysMe+7ItvaUgpteUrZ74
5ilm0oVwtH6fhDh+LWGiIUpLT2E3SbvmkRCvUzHoqQ6nNdw+L6EERNZbroKBjrRqBZ8jcdzSWCXE
qF0rgiYjzCyRDcrZ0Hz01k9PHeQRFry6oTio/2lSSnGj/1txFbGH+XURdt1a8q2kwGoBwloqQ2Hk
p7ULI/EKEnhNvHDm97WEKs/DdwxPm/VnayNG6FqoZng5khjcrUk7qjsbMpklKlohYoT+arjuyZYm
5HgYtrFRS+2MXG/qTS6kpXa2lzyVl6TfT5znD5kYvOCrSSCmVkdqSRYd7vfrx8R5vt8Td+71eDjv
FxJl+Fdxo95Ol/05ZvVPH6eHnLRVI0m15lbRkWd2/3r5PP06nqPHfY2UhZi8Pb49Gs0D1Ugz1Wnq
rl+7hU61erGD2P52ustZUzWSFLVPRVELUXae1dQSLU0ozmzqff5+PH1/b8+Qclu67PCknd39OB1/
7k4f32kdUidzppZ3tNJMc9F1GGt62zS96PVxfD3t5RFyGtbMRXMpcZnUaPogtSJb+tt97mMJdgI7
ln+/U5IgBgEcWGA6k85qg2gwCIlu/QQoTyz1v5/O5/3MwL8tVPzzt3Qc92/7r8c1/eV/O/36r4IU
xpbt3dQcuy+6HaQd+CZTjNOnqaXU/Om4trMuJ/HWmoDlE+jLUcIA3z7RCF7nEXLarxghzgVMwuch
1IrnXi/Hbzch8z39cv4sNcJ0ZPOi+N3lT/suf5orjWsniHePrN2vw3yc7gcw67zjEYcexP0KsgN+
uc+j5D4UL+fr9ePlePsuf2jN+qGJIJRZWr3sb2Lf0Wne+UNNytvTbk8zB9tNxNzmYmy+5pao+jxI
UmGKXpZJA6Lpj3wK4zqF4ApfwH7la5bA6K4D54WFJY9EG/ddfzZm4PNRp+YE8xXdf8p0oGnmnsn4
HORPvcHRZ0Q+U4M3ccF4tWS/M+hd3jCoWZxjmmWOOQ7H87l93Jbcj9xgeStxYNs7dk/VjEtOJG8F
vnPsOzuKqgVfcP7z83V7uf76dj/9XWLWT0sn29bVlr5OAIwxco2sJOMCFmA2KjZ1C5iduKnpzT9c
z0pyBtXyCmP0BskhBi11vD3Cl3cjfzpzelL1XO5zOf9okKD7f3sPtv9PLY/gRzaCmjkH+dfBxOe8
3DLxWcfHTlyX13+8/rz/r7/CjX8FA/g8QIJM56eA8o+Dic+kkfRt7mi67jfYtD7X9ZmMPk9fxmn/
4/Hl63RG8+7JwofVndhsO1r5wObgxmLhFiw8f5r8AU9+/J8iKNnc9r7nI5hy+u0d8ETw9Frnlufv
wPxHtnkD/fS57R8Vk7uVhJ1+PM5/2gEkPPnKRU9hdOUePiEDA59EIbr/++369Qnl13L57euLQDPI
G5n+2Cly/56TBJ8vUdRec2vhfBbNAcaOidKsv6cphF1AiievP2l+V65/PgK0hfkixyieneJyBODz
nszA8ajkfxF6+E9r1vzkrDBzpDkVuz7jWJk5OnnD9Y+pyR76efK9LhRAPPam+uqJ3Pi1QdA6f7Tp
aqM6Z7/8x+mSvvj17fF2vT6+xSZL3y/f4pNAvyr1wdFRXfZhnKYxm78o+d8e8a/1yuK46JkGmqqn
h/UAwk+/fju9ir/nyO/lMDJ89X7cv36b5psI3tIAY/5ZbXgsd/82dxX4dj2ffhzlqc/417LoOSb6
9S18HB/++Jzn8beve+yBI05l5vYsa6GBzv2bXLSZprCo8HE+REVClFg0/XYO7n7Yytffl/3H6fDt
9biPfdsltnoac84Wrnu7Box0UdPzs/IgOi/KsANaTucWHWpxT2bqyLq1S4HQejSX/Y/f327fX8QZ
mDkjk4bQTETmTZV+e+C/vaSPw5dpW/MMPuQxVN7DGFUMTLzCHiSvVt69sWe7x0WCbgEQTi5Vqluk
c7rTeAv8yLbA9eX2v5y/jnj7bR7CkdzJdEFnjfJyfTykt4zSGPmCsfLrdRrxLZwLnsdMslyWMjcQ
Wk7ivXESpssHmVzUcX0z4PvtW0pcyEfQZR0TbexSE8xP8XewU+GOojXoPq/BpnYWdBIR/4y1vKmV
WBjz6+MCtG2+FCSFHXZ0OZH9/Xg+XWTtYHrPtYNZxOqGZcqRKxHxw5kKzVX24X1/k1U20UtxEFXd
z8+v2yfSmN5yjTmL5dMyOaf0Vu0wP4OZNNs8xMfp9RVcLjeydcxd+peL+cRGeMNkcqkZJZ+LtU1p
CZrL9Kxdfk2W+slFWMWNVtV+7v/5a48l2/LbuchjKRLiUgzxHnIJGjnNpjyrnsmD3x4n8nuolh3W
tDud/2L95SX0bAnell7EcwdClE3cyUEzo3U47+OzZsK3mntvzuQ9mNSjuPy6FJSCLEsiV/B2sbQz
2Ag8QDMY5sAtJ7/q9dh0VoI5J81ObpFdbVxSZO2Dd1QNmFzZMf/+6RW4bPm8bX41pLg5b1+H97uQ
ykqjOOJf5aC1GOV2fMXXz3PZs2P2kbg6FH2lkTlZA1DJjZk4FgbMklQxccC2EbU2Uss0uW0Jh/72
+Uv22QZuGWzpbUymGphGC0Ry/n0NrPxQu0zpMCb4WT4FHg0tmYpl6c843IoMkflL6ccv1/h+iPzj
jm2bcmNWYFOmQbrCY5bh5OEsr6BTN1N8hzL5h1z7OyP6RTdwbpqs3RrJ2wWzGJgiWV4BJd/fT+cQ
izXCFXKTLM0Q0qgL2nVNtWmu0l9NQAREPveHiOWLhkCxSYyqXMnjuD/jdfSKOxeWTSKlSb+lJQFz
VLiYduv27xvBX4EPeJ+VO4tfJfXeOa7eO7WxDtgeO+pXRM3YFaataWLMQA7DEXghK2fkmYyqFvek
r5+KYHsSv3Vru8P5FEPA8hwMYBw7hzlyobIgdlCY/MOOO0djPoZnVuFUx4yt7jqinNowkRm4mV+b
TtATkK/CyD6eGSuTl011suybKhYpWMt1AhdEWS30PITVNc3SclM1UQ1Ryw0E7No426LC5+5ijnxe
n3Q3HA++PI8hn7uYHXccR13dVHSwWg/cbTL5bgHMcuDuQbbvrw00xnmmlf1WF7V23ikeZy1vCG3w
XTlK6bi33FVNdQMS6pk4977mLLbH0XSc3Ned+KzNoM8ofq2pVkgRD/ATzehrRpIEbMjpsYX4DUMt
+ofGyVLc2a5uDzmLlt9viN9PnA0ywsf+dr2C4Mlxvbj0z0p4f7yLwNkaWMi3WNZ18+btPyA/J+vV
aF/GIV+/MAzc/UEzZ3U0FRCqhdePjtnltdVfsXkNB4XbhozBvD97p+3A44UVOFh9HOjxu47PQCmi
VmQt5oiznBj/ztZu8c/3E0ox9JoBmrMhYPhTE4ezNSexVOONUTRxNVOzGAa0R4/5c/8aa0GwQJL4
i4fRtyd8DNcN7DKqBUQifkITRCKHaYa1rf28juiu5ThOXsXAvQ23cZWwXjKDqzlLSaafCUF7Hn+7
QTgLsIJCMeryZj6BRBhfhyRXYOk5x3fkLsLSjpeomYbvZ0YG8AwbWHBSlLfjWTY1PKRU2tSAXhRE
kASMdvREExIjYgldNX6joC7ePWOKMwCZE6BkLLM0zmxijzkOlaOXkXvOrmKrsUx7nmbuubV/VtP3
BdhXZhNbWKceOVBC/OYn0WUC1URB6FU91Y3SFmbk4th3xcWaQS5ZxxXZQL2BN6iyFsGFjgFdi/lK
59EAqz1zgeez3EClslBz7UR4rvjw1MhnPJRarZlmMZZjdFuPEdtr03M94CphePx90WfI7nZq4LMg
bOQaNS2c5ja2H2pMh/cgxceg0oD/aQyzcovnWscMd0m4wdFohhxaX5qsBXCTTVZWUpEI7buqtWnY
CsIgsdnYcK8W66mx4FvoKtqD4UeSi9NjaSwo2iNeTR7X9aaR5m6eTickBG7PwQ1O8ZzaWGYXYcRM
Fc0o5XmaPAptebbYDxVoHzKdiIxGDCff3Vz08+3HFeAWmmfMh43yOJ8+Gj6V6wUEg5lBjP30HJum
CbdZuPbnM5BODh0tSB4FjuBxWh5vZPrC6zMq0FI6TD6FyRHDZoecH0FeuBPSClkp6cFmJJJlpgzw
pEYe33iRLNdI8hVxkislqT2G8aYG3Wx4f7IV5nKw2JHSI5aPw3NamdvKAcTVSbYoysRcsllVckck
z8S5t3QeS34BZvwNjZT6vIv8RKe0FThOHuMMfQUShnfajHwao69nzoA08NjZ6pJm2IDSrOEBDgv2
nov0CBPG+hoy+gTDyxCGV3rraqhHrmAjLF9IRwC5qCiAlew5Hm5ZkIiJI8TkTxXIXVlPGiQAMOSI
S0yYSDUsqUGQM+wycC8KvZI9+WCez6Jq4IBxK/yeXjL0QIYGnoE2pRhDC2+LfOmwvYcozzja2h0q
tTIQPV39fnVhF0xWdl8VNwtDbQOfAFW14yjYaKp8UXCStgqLTxNZ8wLyOmiwH//N2NfyU4hW1BUc
R9tVsH1wFJ7HaQO7y88EAoaD2/Qs1gsd3QVwp4vT7GugUxPyINBLkmm/ydAA5MuMPPmezcJ7g9A2
8vxAr6tZ+4ZVGzr264syr0I+cvjAk2VVWTzeDtLDHZNA5sN0A4+Z7xsTKYNHXQ3dLq4nvlma3KwE
82oO7pa7C3Q1CXVVqemfuSOa3pGhhAXXUBdH3NrwUJXvyeM5iFcTYdvCepTrAvZV1zF7euEbLpDh
SfmeOtQ4MqHkDJrKLEBBrHA6XdO5+cbB1LihOXWfX8varl6+Iz0TKMcxXuz+eO46rSUOz2XUucfm
vFTj0YipVDUZPl+sNH35MjkuPRw3ApBAAeXS/HmZxRXPfWBK0o1VSLLhNZuq11xzHMAV4lEMA4Sf
Qt+0qydJSN4MweKDr9mqYhGRdwfc346BiLavlNo0DQ6JY0y/wYlmqy+CTL4WfmxJ7A2MpysE0m+v
M9RIRKjicvqu5n81QD+qkHTuqbpZSWtDNZGL6amrGujVyLsUwLsfq/AwxmXHAnpyVcIFitI4juq9
xCvFiRfNKy7HSs6/Xa3BS1+s3bIaEQpHvIfpUUnDeOapQ9N9d42reQCrS2xGOiBlqua/cSyK1z5s
0+0NVM8MvHRlG7hB38E4DbCPsIhGPk4X9Vh2w7FtzN91HBVe+hJW3Qf5lhmW+/Ab8narlMKQUoqp
oquX/LBG9Gl4vrnbhuH4tpuxQKPMtpym4c1ozvpdWcf5OEWSIU8TmOomNJF+7fpqeR3R4BieVV0N
ap6gqCswgYTgODDCNqH0ycrJUE6X3ZRuPF1tqp2rV0eK1kO0hLxa0gz5ILFPSqXZrJDqrOA+r8tb
ebiUprCjlpP4MVtVF5RpLVUGAjjM1tDpafENgp/jVd9qZQnUCL7i5vc1b6ZWHinLcVEVo1CZV0Om
VK0uaXFqsDSMHB9fPOTXp5dR7S+QdDz8YacKL0rz2AKXCtOOCOm5lH4LyzfMgjUCdWfLQhL3ztSK
4HlsDXFZGuF1uXVvRaeCw/c1JlS6Co26LGdr9FCe81Mgpui5ezLIGaJGgDoK+cu0jSDINAVJuQ4k
4oDCFr01jBRcNfILirvyPH8N1kDzU66WWoBNHIzv6uBIjRsqbiN3KtQwSrwpObobmW9gJfYXpoeO
Qz1NkWuyQJjsOp7k2LIQYIhsek5g867kpsKbXFwGP9Y3AI7RFTUHZhukt7Rxma0s8dwWw5d4OSk8
VhUuSUMpqqKrSlkQ1SLB9X0NLOFaqQMXkUuBIwXLCwlSjP0808Yjvwatqg9rClLrhtzcuod9QSbq
ip1rHX7PTbl3m1Q36hlhC6DUM02CPbqCMlEv8salutr6WkOfAqhGCzBFqwCzCZchzmxopbpbeVS8
ZkcOMi2zYb7fZnRax6d5S51hqIkfgk845OqGUv7g7vWuVq+zjZIbNC7Faz9UxxaBOGROyFPQ2nxI
DlSF4vAF1t7af2NqpPRflD4telI8OHRjFVVsleAV+l+5WuUXtCDe1RyiGodOlkJeq04bPuBAYuDs
uwz2PFs1ZV0N2yibaiHwjoRUkTk1DtugACNupJohmT9fmM8WUUGTiIB0Ov21qQoRbyFHzHy/rX9t
4QKunnKq5VFhCevAS4tjojvhBF/fp0744Q/aq34QW9Vb0u8+Bnsz2SJ85/pR/swMhn228K+/vg96
tB70xqePkKR0g+6WT73vrfyL5M3XKEJLC684UQMWSN9BVPlBm7gxevTyzxnyc9lnD58FO+rkz+gr
LWYNMeKv2X7cGfB7lj8ZsE7TjcZZsDzPtsWt36nBOXDu5GUepejvKdObYQBPJHjyIKTK74iFT0cd
/jdw9vStb5UjkDTZrpP3hjwTpUZ69EqZYM7QLxryRnq3Rv9RToPQeCCl0rVQMdWHfrBncuPXufph
VOBakDdZE+jS5UWOnVfgPCx5b5WkHuOXvTJIBIiID1TEY5GPLHKWPKWpMv83qZrReXlTfW+Z4Mya
O94pq3twp8hbO7ktbRLVodfyZfR0gR29+taHi4qUFHlgLd0qm5VG5wxYInlDMR7joNn91+D+Z4VK
emjFRbpRdQP4Rb5Ib8jlsNoCSSWvt6lcVxhFteuUASqnWOMqqaZXwGT4wmTYfPpOg5+jV9isLn9c
YBf+R/lD+kT5dKXy1nR+UOAUycvxyUPW+fwd0v5mEAQ8XDZwEx19YEyxm9g7jyS851ojH34SNwVm
Sl4QHOkdViFEk/fUknezdC5BjIeoB2C86cvzA9PgnXNonh15kC8XVq1+hgIanP+kW8XGdLoH4kYe
uVS53UuaatBv4ApbYqbcuEK1yWYE1YdsxsDfZevzVJ0bwVR7tsSF4xA+7G0PNpW8PZbKQPONimuU
F6gLFyzfimBLgNCQx9IKsz/Zb3CHiZzG8x/I1vgRKHDyPrDydKq+G7oemOGOfeeyyhgMOIoFpl80
RvaHVRALdBMteY5UsRXqftDQmhaexnqK3nbgKpK3qcjbUfFG+R7ZGfp2fc7mpcP3wHpbsqOJMEJU
qfdAaAbuZWaDGNwogzaUvDIbBbbPR2EUsE+WeOAqV4BE1daNwHEnT3bGSzgM2YtSDkyTOkOW7ksf
24rUIsdJrXVsW5Tq87EjL3GJelO/lPgdOYcOxF12sFIg5CzyoI3jN7CnAZRFzpfm/l7W+enkgQIu
9OHgiV6Djin5RcWcr94Avb2UXCySRq3a2FnkmXB777IHHZ9jHIGzZ5kGHsghBoUADtFzP8ER36tz
4BA79hoeDdjUsAOekObOXpaa4AeNwGr7wvFeT8I5D2ISRx0MS6UtBPngBG0vCLdyzoJLYS3znR1x
2AaED/iex5XE9BoTfD0UylquaHKkH60P0E+dYAlt2FCwo3YQTlAPA5qnoe/1GoZIhHjN3oF7UciM
Ju46ghVMJwmb9cH8wDhPUm4jME0LFXP5yo1ElQKVaGmM76jFjuV7A9KJ3nMXKgdP46AAjOUVj4Fo
7Dw6DX/SaQHmGQaH4kp6Gt1KXktX2Fmga6gh7aiD4YKrh4IE+g55ooT2xDUZQQykmEdDLPdoNXK7
NReasThGAJ2xR5yZiGsNADDi0nBbqocRRMB25CBfny1pB07QkteqcwPa5MuOYF9sAZqQ70aLfs8T
pZ9SdErxmAt4UYpNNcOtKtY1A1XD7aElNzF2owf6m7tfJsO0wVtHKDQ33NkAq6EDIqp4GJM/68FX
mkDs4/rMd9qUXgMvwdNQxKyteeKv9Qoh857dI+dpeAfOTnNstif4Y3CBgefsWESRFcUE6wFFYfmN
J9GdUUBTWOrLWoqWBNPTI/ii0KEkaWH82KGpUrOt6E8OQamDsyjsRMbmInKJTKEq4rSsfkOs0AHl
69kS8y962wMR5aYwB2lB5g2IzxUHvLLnbGMXABBTOH4QGQ8YzaDRQQz8CvY9kRlgeZei+uUk8mWK
r/ACWaMwKXdJh+D+AwSiiJd7AiAjG2G5bGfPwpseeLJu0EzJkG1xCEMqINIco4WA2CBPbeQCQzw1
EIZ0PMVBIGAbAlQg1RQMSG+e5xCt7wxSMnYsbm6O0YK8jAZ6edws9Tmz1vUo7uVptazWknoCjrMz
QtzrIlMP3PmRmyVirxVK4nrVs1SVymJjkctlep6NzWBuZBkj8IKDuTl+dYNB2W1u0SzJ4miQqLQ0
urP0u6EzGh3EOEiXt3cDiOvpAfYMjg9aDcSEveCpGQ3iHkNUTH7cY//6dr0djt9OH99P928HgbYy
KX3FxcYUOWcU/A48gZDRx77vUD6292JQ2RmghpURrqJTPYA7neNbS9R+ZM/tEEre8ZmSsAI4bYZg
VwmK0DkbrxAG1fFk7JARGq875JgUuSpPYhHgAdvRCVFT8PGVhUkAXaQ4LXEUR3CGvZdSOXrsoA7X
o+C3jTCl7lWJzmYvyjuPcqpF3sETLwMAdJYkcZPqzxnHUYMQwVHfW6801qipwr8FqFBxijml3iuF
NZxmOafMi7BqGIEh1sUCiYbTQPM7zd2hPFHlgpruAOzBQ/SBhOijQmCSpXjCWBgb4KMQVEhzgC4B
5eAqUhh5pK6i73oLDr8fhIx6fBPBouhXCzkLpTvjEdfAF/eiiEuAn6mKEKqjN0N30GioGjXCBgWH
8iQd06dZcOJJoXlyQ5OVTXDCDIwwqCZmVKwpNkGkIQ5EZmMzjMC5tQShi9dLE7IJAjGM5n6mcVne
RpSMHTiDY1x/zitEGqAZwJ4z/kZgEElgYnoaIho/KKSiKAzFCCpKDxplZSz3TgcCSGgMSBguNEo5
lmABvlihwG0hbig1zlW4GQjmDR2Gke1r1lO90ijzaEjmMeXzMg1rGKArpYvgTVEgsoe8P8c5aj5n
j3UPyXRd4cLn+HQAFAfTc7cv8wyDD4aYjYYtkUBgQ3BBgTNlOQXLci8TGCk/CLmLYUB0UYJ569yb
eMLKwV0k4EK0jtnSpJsBov2CfZu/6w0KE73wWWRtgjBR95LrnYJ9sJ0jV20kUnQKsYt5HJx/sB+U
R+Rpw8GoIrrQe3DwHEAhzvCUCQJZC8d1TZZS52AUrXhkMhQeP/AXqHaLf8wn6YJaADrD85R8zngk
fQqUv+6EbJeyiJWuOE40GBpeGoSEFMy9rDDUAPaUKG9jGbjkw2EAIGRkimYkcNY4QjrNyNN5xFfo
9OhhbibfxtTiSbPYG2CEpctHINAOHKHyAhNnCKobJRB9x8WNZhRiAhllFPiFtIblrBGxUXPnJgdu
wQUHP6issDeR/qOBW8sSZSonroLVR3JaEOkypRWhILqgzzvOGwHboooUVE+57OgkrB2E6EtplCyz
mk81O7UzYANUaq+4J2WYpwlW6ZWAE06rBPbGFsirzWmhAXk1HVOLWRX3EekF9kZzGLwjeZoOEozd
ICAoYYkoM+uUVCNgEF7nSEaXVFTFiSrktzl+nUg+Kaga6Lo77qLkfNnE+EQZl07I0UWWGsB6aDK4
pwTFObGAeAdF5OYJvmzRaWiReACILobSo1gkFVSbkqiNtit8Ke4sopCGFt0ompWfgWUQ1dhRwkLG
zqEvbYnZW5LgAy6/5lCIJ2QlD4mtrsjU5ZhG6a5DZAfOxCTJkw7lzrSYUFSIOLY8NLFdYJim6hD9
wAl3MXbu0EaSG98bwZVKGhz8YK+ETN04jqAIwisjTHQM0oa+4wJOHWKFMHdPPZuOswYjBvbtlHo6
AyEnETijDlqtQHrJaU6PGwjrrMe0nE5QVcFqoKRyNwqOmB/hRAuyOMFRXFD/CGNwPIHm+c6CLdVs
S1U2OCEGQZRaz7nGhIMyhv8RxG+Fz2AJGgZC4sEKll+F0wWZRerYjhSvjxbDweDNK4H5EDbJ9Qi0
KWKifPqgBkqPBXssYy92sAgs4AeRc6e6dwjSKKCJjsdDqD6IowzZCE+aH5EfiiSmzdfJgpIG1xXF
wR2vKUUwEc9HsdQZMPyKVwipLue/ItMc3AoeZTpanYAonF6ottWjAodox1GKMNWI6oK94XU+4cxZ
AgyhoIpT6YmmsQibMlxqCP+o61Bco5TA+57BU4T38F3tCyYuEFTHa2hIWaHrUZrPE0ZJytp0lBkL
8JeuQO7K0jKwSlLbkHr9u+w2ToABKmTntGpDvEbExbe8NIm4VLGYBOSVLXcae8pwBnRAW2ReCG1i
xBGqlRLgwX8Fzm3RVSAnT0Ngj4JFJ0VEES4A+kZbwdQEDw7tZwHb5fL+KexDEq4E/pruQVWpsRw/
t5T/q+9AoRY5sIHxjdFEe27A8yWOBTiA20WA0NSbK+sN3ymETHBb0+f0kEEsYEf0YsoO5TJGA8sY
Bw6E5lxk0N+AFzAYgb4ydL2HadrRSncwPqcNUKIihiYo6GAAs9ZrHtUqT3qzGEBDczSuGVhcE5Nf
iEg4CgW+YyzfB+qQZ79yfOL7YIchuzZvalQCoy9yBEAHE6hwzN27F92GWI+Fk6LzSRrIs+wLKFyR
UiqNSql6qRTS9UC59bztSeb2xJo9aIYNz2QTkHgYQVcfNxRcbqLcEC/QKoFjN6XPEIZSlIwYjr6g
tAS/HCRlF/4lUG8d54SQcmuPuAikNEIzMEQHwwawF88jd0PPEBhEcoM1CxK17hQij/O8Yk5HaaUR
mYBDWSROGEbAebGuSJYrcgigYsR1ncCVmW89gkI4XK9ySUzi2CIHvHCkSZmKNzBVYyW0vvOIWa+4
zOSU4sR5AmzAAiiiiiYioahgl2vw/JtB03bQvPUcfcv7mpB+pE5HoVLFRZ8fhHz8BhOkP4Tt6AcJ
fS3miQnpGfWRMT3vd0MAe42aZXSjYExjhm8Epb5FyclgWB3sPwMAVQtaOEIIQLWpXnBtkr0AMsPh
TEWpATDfSnqzxAutfFHMjHqISY57cOktqv8xQiIjKDhEBS4SIPkUB48qL904CtSH2EcEtWXjUkOF
DZVvdQUz0xI4ErACFDej2TWN2T1w8qX+duQmAQiMFDOmJpC5KcvYoz5eliMgQ8FAAQ6mK45dZY92
8KhpCY9HSb1JuL0Kehhe82uRY9mwOSAE7ouy6Z6X/AGvrcBNCQVlmivwhTXng1HaiwUhhi0Cb+JF
QfG29CgLhkYI2IEfVfTkIkmzEXE6SdRN2sbGawhARV2UP2fSi+1gsW4xSdpBJgkqwL4dP4gsqLFF
Baq+HKUyldFBvcZpJKQVQWwAhhxaxxuA5RMMhguF+dnIpBYvvusYQR4AmVpcoh96EAf7It2Wa64h
VYq2cmItmSYnCnWcG4SyOG0HUDpgBy26wxAbGiQPI5WpoIqDrR89t8M+7z/v8SmvqSfz2gw2cmEE
fRCHWopPYzyfLkFGcWwwXFoQqOlTvX6aQHLSbTF9asCnav3UzgXk8dPr4/14Sx8sLxvURohTXTKr
MR1Aeyof7w8PPrLrR0lpzw9X/dzP3Ywf76SrtDyKW0dRyVecS8Xu5/39/Xz9fgWfajLrqFIjabSY
w/yqAhjEr4PY/ALjJSz9+PpPqaEw+LZbv41MjxnM/ABfzA5K+rXMq44bbcDPmLxO0v0PvQY1/Vg+
oGT1O7I0DT4b82dudaLIA3fg07yZOtM546dTb3e0M1kOTO6a8XH9kd6jBd/1ebbDpKaS9L+fHnFb
w3TTZ2+n8zmJxO7+CEPIkLEmufCBcLbyALfHGXztayST/PHx4/PxO+0lGIOXsM8NQvMY5+OPI/ze
1ug8+fvr10N8X3AaIBs3O3cJWPtr7+7HQ3o8K5zM7e18/bk7nE+fu8MtXFcwomYotVlO9+9hUvtv
x1+fYdDj67e3/en8Fb5NYxyut+P8h8vb+XR41JecXrKI42vVT08IrtIzdwK/K/nDSHmfPyRpxXCt
vj4u6PfU+pkh5fTpfbHr1+UVfBqBgvnTqDTc+otomlES549IPvn+2F9e97dX+KXJP5f7Lyw7o8E8
e74zjn1owIdDPguzim98oSJaAvSLY15kUst27sf+ev1IH+w/P4+X13+It+cfjy9fp/Or8HRTenZ+
JphF3zfljKYzImPAj/v8cV9+fD3/7/G5DPl7080QnVMzZaj4Hv70uH6aODWTLJ8u9+Pt8U9R6zfX
Hn5e5+lng07G+F9/hbPAQyi2A9GVSXd2f/txuqRPJhO76IG17/776fX1ePkmP66Xjrkjh22ze8me
IA0jySN0I7nzmj8CkCf1ero9fn+7HdM/pGdW5CmprAsS3YO/jZM4Yt/O79XXIdL3ln+vna0M8H4P
iwJjZO0QD58+Vl9fFFiOYUN58sjQPJf9SxgSbDA5oiGTCorJBCfv9fdl/3E6fHs97oNt+LF/gHPX
I9Nk6wsk/NUG6QWQ9LEZmOgMSn7ccRdNLVihzWrcklTWNNTk/M8D3cBWd8PIzIHvwYzgQGNeWlIb
vrbjywW7gbMnu5z5B8U46b2j5W7AjVK641djaI7XuGva8+vPn8K5fcWHPGLsIAqBU1yORrrlb6df
x9fdy3ew0fnz6IhnMdw8CC3e1I6tYEnaVkQHy+CQZbDPTyIJR451qur5qVelZ7lo4isx01AdH6oX
rn773aHpyiq2WfxlWX715Sctp5G44DCtBiTx2/30cpZil0kieyZQTwx8i/+iOaxhw865QXEjwdNF
0/KLc4HS0jB3RI3mXmDizKSHdKZpaX6+/EGe4m10eZSeaRkmdJPFejlCk9d1zGKN+im198QhFspm
O7Hz+x1MS/PP6U4TVSfvi2WWnN1r5lXIM1BsY5zejPDjenoF34MZbDQLlBTF92I0m72IoRDYC1PT
+8JMGrpEKXYDhq7ir71cgQmwXF7HihFLqxGNGA/riufwqJMmTqEqmYIDs0umDZgi4n2MmTZRGeyf
v063P1F8nG+yyS/t/aqqetHNG5/wOeYBgeR6pjCdqZzRPthncYP5LPJrZeSIbigo6JmMWf2MWQGa
SLPl9L5t/rDPoG1tlytnDnypLMUJ2PTIH0/ISksQR8cEccl1SP50c7ieufn1SJGHr0CguNkcJM/o
KW9G88GK9wCpzRPlS3P5NM8JRPviaFcL0JnJaBmdPAIpYyzVa5QweXWF9ySrt+cEa3Dc7a/t949G
hD7wKQFXFrvYxrGBetW8NkDCPY8bTQVNub/DyDPvtOklu8rRlEYw4pimGpD6brq9Xc/9yyYsgrWo
sly2dUOsgEB5vm1uc0tu0DMsvJnKA5QT202J6b+luiml/1hLmqmSWstfztU4Kec40pfIXCyOkb9z
JM05soyr1LQ45SlnYDP9nKMNJoJ7CrKqS5+2+F0idipSFuH9Tsk/ufAC0k/yNk9SW8D0WUeSsR0r
GEs/CL5cHuiNc41/1HmRQ9+DRZr8YfTpBtK5YRAIudN3nm2q43sDPuzyrmr2fKHVowWHkbcmsV8U
ecJMerRlEtORZalp01uRjT2JjWNSSuhScYXoFPOW8jdB1ejglg5MaDL5LHInwdZY/l1xFAIBbdrU
Ln/J6NE+RF4aXWFHfpOxMgfXKbBGz68+qd6MPiZYI5lpblY/9l6gVU8naBi3YRz4xoCfU5YfIanC
67oe6rb8m1HySEVkJKFAfUouP3v5LlzmoQd72hO12PP33foRCmomcEQC1EjLKS34ziimh53i9H90
jMWdGjnPGQmc46I68rMECkDlLxMJjV8P8JOd5SpOMQI5OhDFVVxuE2akZ6Kmy5ElwGrakLBXaIHa
csEhLXQ80m9EETMWaa+RPtWemzZL+NEGiLfpmNAQWn06QLCdahDkO30Jpto5doA9fa8LqUXDHQby
hp3cP2Ham55/SLbUjGCihEnlNC+j7jvgZljuEDnNq+KAbBPGWPIfe8bM/QbW6AfBYRhGgzwUTw4j
sTsIA1F5wFAbe+YUOdJcwiA5NUy8ScWQGSzaU8UsW96Z1C8TbKl2/NYXvdqQViTWxtBy+CTgQGEo
xS1/fl0hODdgjd6zMyQsUmsH8HsmL9EyevzEzQQ+ilOSQe0UIDaOXLWRB/DEbsDTz3XckSbPsks0
2ek7L0QYU0UkulAdO336OKsewAI9M2tO8UfZ0T3smXPTkxZ24QyBdus7YY06NhYCN6onAs4vYogi
0KaOfI2k9YbqHbKHxHVnPQwnkwEUv+GH0bEPgZh2XrjDtlcebI3TXGkUnib4RcUljrTccSjA1Ipp
N2eL9troGC3zMoIzwycL9lUZQTdO8QK6kD37UdLXvdPI9utRsFPhwmmkb6wQSSvp6fnp/Du+QM1r
/1AQ1gv+6RQxIMdIMy+8J1WVfvTIzdRci3O/CAhPNwpSnj4EqkMVURi/V0CRL+3gFyc8kssw5X1i
nyMGpeY5157z1j34kqBwLLCfvnTgywyb6flFC854TzTbbzLPdqa4mZXiFlkY8ysOkTZs0Vd2/SoF
tl2iHE/kyMuP/bRzn++n8+lzosmF8aZ/qV//+Nw/3v94Of79dLz9w9ftx/Gfrn+87O+nQ/X3Uu3q
5OYlICtR3NMcw0iH60cCiY9/fF0OEQM9ptEfx9vlj9fEfN4nAHkvpWPT3M06etzIud5G55FOH/vv
8Rdej2+ny/FVGmjRSHGg6JzMhWL309+Pf4SRbqeXr7ANf6Q8hDRGP1vSNBm3thIlkzncrvf7tMni
RLqerWhumhsGSSv5X/aP/R/Xl78dD48/Pm/Xz+PtcTqKgy1d4icUMYrcMlgkU/+3tJjP/e1+/OPw
dbsdL48/bsfIWBe3SflnBzxdIu0iDHQ/C1cobbjPw5l11+fh/jEu8nHbX+5v19uHOIbLU0o0h2Er
YGmQMK+4wvv163Y4Qqmayd5pxEwWCCM+jr8eu8PX/XH92L1dL4/d+bp/BdTx1P6Qyn8CH+xcVTMP
+Mfrbf/zj8gvCccwqbHj/I/SmH2eYEKIXT6Hdb/S5fnjdn1ENuPr6Tax3sUhhyx2iUZKZfc9nObp
cdqfxUtuyRlE1dZvFxhP9I+P/a//b+Sl/XH/2J/F4TyVslQXIawuC8f9z+NPWWz7OYBPA+bGJsvq
7o/b9c+oJPZvb4nHL66Tyms2eGGce9rm+z6qsSAet2M5VWmp9IYmH0y87vfjQ77nlu2/cbX1fd6+
Lumm/zjKC8ySZXIDxjDQ99v+9RTvz+kSVNnn9RzXG8Q13CZpMG3zbumRKmek+uf7ef16yErfcz27
7lmqCjnsP/8I2lreLGu5hl245ZOIh/84bPQyG0mgyIar/DA6UfWf+1NSp5/H/SOsN/gkWlT5umf6
Zq5z2tie4+PfL//0x/GXqL1659j2ZIU4XeX7f72Gqf3Hy3+N/xT2/3y9A4kvBpt7XC83e6pNW3W9
IOMz5r5oaNMJ2kEqTEoqgRh6XeintOHzVn9dgqa7fr+cwKKc5fpF+61gxqKgJ2TREFnKr3VyzT7d
Pugl+d5yNdBtZ3S/xj2ep3QCosksdFYF6w2Ofw+CfriGy3J/338eRcnU5WCrKMWV/cfkWv39eLti
l0ZZ6ezqFvpZ568vPKWK4Z+8v+UYg6IRRcIJFifdmSQM0wEq8aYUKiEfYRpifztMmy2PYMaOCwGw
Lt/P15f9+d+fP9/3okwRoxe33Wx1+WxZ4n6FrRelYMZdFus5F2+J53e4fv6WfWS0z3GT9pfvwYl0
4ib1Ix9hlDcp/JvDn+L2qMKKDKLlbUYPS1PvRRSzGkjLSsrt5+mSapjvXy9hs8KoRvamshwkPppi
9u1vQX2HCOzHUVSWy7PTy7W1T3npWvbSuT+sx+1OHW5B+QZF0nAUl2cotvFDqZ2yayfukx4GQQGg
ZSp5mUUgYWTJigfxD/tP+er1gjpfrNWkTC7XoISTpRCjQW4XsrQnUfgIV+/WMr/Lu2arc+62Svxy
/B707Y/jpCnFHTKFilvtZtBsr9efzFtJ/+YfgoPYnKBzXL5mH+PxOyjLYNXPIBLqqcpMXQeAr3O5
Xt6ifMrerx25dGaLcj7ubykebQ6iOh486mecXqQyVac5xlFRVJ/BQ0lGSlRQI/NT8sltZSDEirIA
GL5BvXTj8E3zllumSmAQoY0pcnrGoyMDJjHwTAziXWniVK4XfMJZtmcfhxo6cYGOBrCORnWTMzhJ
0rzfcmjY1+IUttnzzQqjSuUfCSEpcCnNnNSP4/7+FXTazykwh8DD4ETgIe10RBmSR/iHiPnYwTNR
zLPJomj2N3k1Xdb68b72WogEDvu7uJCFdZZMbOZjSl7y4XcQoVfZe9R+5EfF7X8BBRzeg48Dzmvh
GW49Scmu3b6/7GQzWYAfCl7aw3n/8Ql8gZ4YSU/jwXLjmopS99yt1FXQIgHhsiz1fKdcPQy/3uLM
5t3H8Ks2/wKA08k+hWOKKQNPs1aZApTnlAqFJf1qnRYPgqnJl/3r/evt7fRLNJxKc1i+YhB+3q6X
78kKi4GdFjymHDU9AarpgW/5WMYEQXdPodPxIo9CAHwCNlVAFBk3yaJt8hvzGIZB0tk7y/RudsO3
DmVaqhipkDs30ECuHT+jmHfo+FW2AMwMEvYfgj4V264ke9VxP6WXVMPxn79AiNBXbbkk5hfp4Zsk
5IqrB7WJNh8/r5+n4x9ajsl5wJo3qWooXo53qeVDMhNSbicbT+ykUDyGxRVy+CSDO1R5ZlX3uEaP
8v/9j/+5HZ30VIJYZIEMlZINlRG2Z3HBVnE3suc1CFPKzvL3Y2ObTcfj581EZtsUkWYZ1SWq35i1
VSk9q3ib9renzoq6cHp1KJNy/rxdH1ekpvthFIJIHkDgPaFaupmTSdkBOF5PQXxmO0hEcv15k4Ns
RXw41ZfJQyp99x/fZY9G02Es89XnoDaBbPI519MJ7FI3MPbe8OxN104PPva3hwwm5/ESBdUVeBQP
i4+v30FE3HPo3qFI7f30/f0s1gsmS4bQv/lWRZN1lo/dEtQnKfVBRqOgBOrR1FTF2/58joVUf3yE
//b0CdL9qpDgcQv4Hs9vKV8We44B4JcCWY4KQBah6PpoWYKcgIRxrdd2xpYHRxZfw9acseMlBoz3
r5f07+RZkUiN6x1gHvayM62VrTnA9UBmP0cyRo5k6OyiIesFvZjK8tIpyCdoCiWQEY0p3Lgd34Iz
dQHYGldCaos8IRdRKSGUWixndMVlFeYtyhhOhx51z2SvZOC64+lxrZuKDHj0ngTVKSxzNCGywigJ
bbAy/cIJuYs8pSmJGWeCEpAkmV1CH2W+6ddVzjN5DnV6zNtoBtG+1IZdHbaCmnDhHG/JH+UmiQXB
aYd6YnaSZczu6fGx+JJhXjdZ/2gSUmLsI+mKlBMF0EeJV7o6Dt+iZGkBPF0VPRBjM3Cv1vXCkd8P
+/MzJz5yk6wdpGhMWWPRrdSChs5O2OkSxft8TNJ4v4lCpChcyXC9epSaHAUQnHKcSY9Cir4xjOHE
JNsjnsavP65fDxTALRTb5NPrtYxATBH9p6ucp/fUOpqK37ke5x5leR0JlxPuYdphhhyBEfXEY5Za
8mJSdih1MWrBVSvD1XnfQapP1+Kfioa6Qf/TDsSk2GxSctD7efn+xyTwvyZ2010OqwheNBYcoLqr
JJMHuh4hFdxhn9i3ssvuhMCKKOHjr9P9cZeVcCfADDXEWMaKvWu4FTOsB9AXHjCYDl3f3+3rS0Ly
nmbS0oT++Wv/GiOZw0JsftbPpZgDy4+XYn66YCnvixyU2cYBC41AjI46AbpI5x5Jq0tQHHHNELod
IjL+HTgYiqkpJZhQBEC4jotk3vdZ1b2cI4sw3Fw5RSwhZ1IoEXFBEPR3nRBKVO7bXjZ61mohY1xx
V3aXL5HFrHVBZNfoysn5BiqKLCbNcQR2BYXsR5Fbg7j30gpiuQ/Otq3Is5wvErMnzTSINMAW4b8g
Jeo2Jzu4Zg1adkesS5cd4DKFEDu8zIze0+s5BTCSjbHjkwi2lXXowE1nX1i8/e3710dQAnfZPPVE
rEi3UcrTh1KlbEFFE9ywy/VJwmzH3BSrK6TUBiWVa7VN2LRhsvyXt7eYO2pSWXi4uUGOj5fUdOj6
9gYSfUSOkt3sZTZ3sgliHtkKLIR67kJuYZRyF0OtQGazMlkr9OYvokHvx19y5cgwoNTjzPh41vty
Q826lNd2mt3H6fIl+4RmEBRoPUCYiiHECGFkt6ZGJeIEV5mn7Ap+sd5Q5q+fx4vMcu55GGW2M5kY
qf+w/rO410yT5Gi4ZhsScfJZ00AkwjALOgvodbrBU2OyH8f/LufZuS9eSfltIirZpXODoMClypiX
+PyCKBJkuBKFKjExJWNinBBodDvR/fM9nAy0fj3x9iUKez7ZnFukxytHy4QSY3N3t3LKwZrKN7Nj
4mG7p8Bo2YNUSlBnYo3SnFCQ+QKdaWV3Z8Frc2uoHWIw2rasCHLHjJaI8YSAmmLuibctclCdgAQ0
7G3D2nK82ejK5EIcfzy+goxHwdVTKBR4OX2H0YAXShFlppVMkiy8ACOC6biyxG8gj0qCsk2NJdmS
6N73HQbSkgMnezgUlmMk2Yw7jpEDiL1KSrWtFzjAOEVbK/hZpX1ljJov4HAJ3AOGvASFEJYGwBcl
aIG8NzGvKOt3ZXiJRA07ZcVEsMhGNUmoMbN4P4bbRtBdkYpauKR95jFgTKontFHOYuQpzpnBniyD
iAlb4ZwoO7eJwxNCBGm4sXGIJ2xDSryMDE82tZkgXrfXvJ6iSG9xai/WEyRNkZqCOBIRF4mK4+Of
SqMG0hWcU1+DlOf0y9NF/17AAMim4bVSsEWtmHnd378eHnvgVYwCjiSyYpqC1aPiEc6HhDQQq3ht
okzWJ6k0QJPRTRJi4bijzEBZbk4gomA4ohRgb1ORTYoKs9cod9+i2hujhQrV6lY1ONJaewFaKqOl
qX4vzbhRcFwybd0GgGmtUZEYTuV6tyqv8utyOlxfAfPFNnXxQsFB6JbplCChGa2E2q/p40YRCFIZ
CffAA6Sby+rJeRMRkglNfgVIhrqucAX8M4CX7C8prmZql49K1KRQGyJlisYsvZQpaFQuS5mrLeKR
L5OIeBg2GEYHtr4ZiB/t87O8yv6Lp/V4fq0bgaHz9XL+3Yicec5m6cE9OUUPwC3oqRplzATAiAKY
mhKI+LnuFKJEjrtoGZNL378e3/bxv5Y/V4JWIXZ99q1EZKOa/YLH836UiyScf7JyJmZ3WlZBcTac
0XUHNg0ja0wjVGACEFUOFIjPV2n6klTvkm8Ede+8jIcxBpP++bi+nt5+T8sEKi7vtTXUnYb4jExl
IMGhysnnbSoG9jvqXSegPKuF+n+sFjjxNDq5dD1bmZikHfpnyPJWzmD6Gma96WLyLveJMLzVy9Bu
YSKfnuatXpwT6DrP1qaY7qlob3p8Q3xwKQ00CM0nslKbgCJRLTmOlg71BPhkjUR/wLB6w9r+sJAc
7U0v9Z7JAMH+EqYTab5hbLA2pQYhupebhcg3rlcCTQ4YI1BoyCOEvO0ScB7t9htKzzrKJ02PjOin
WoUBxGewPChSAlYjL9N2QuUyDI+ReChe7WGfMFqyliGZVjXQxM9siJ8glbmR154b/4RuQPG/7gWd
LGHJ/yFCMK3MLQHvUvrIbjLtMZSJ10FO/9lOPcleXfrtYYCTSKxh3YWqVM8fsRngAVTWOYNypryp
YxsR1qoK5a28gmfq9ntygYyi7MWinNzJhCde+mDsEwW7e9TsZGhSYhM0PSmHIL+ycjUCN6gkeD5X
/kta56TO16Z9r+W0pBqbvZO2AaXck4eT2m3FFQkuYKqAkIsJiTylrjcdM9QThIkbnVCGAdOl3Glo
irahfDXbNItvNxAx6r4TTGytX1GMc3CEXEQRWsmNPP5bktD/4xizc7K8a45UGMHTCpr5twyoO4EA
WekuEtYqJy4k8n+2+S9LFfLp9XgNx/H5DrAJkm2otqvI/aa8jJJUa1zrWHG4yKf4EOvfvi5/yt6b
fabb33dQqK55fof05KtVFGD4ZjRCzE+CblicXoR/FI3fyDfJ7P53WcILrpgVjszIeqBvdoTNRYuX
r/MZ90rwEsezoDHLPctG+1QB7hPleZZDNN4L9lIO1wcld0xesgtpCJnvrKQuqOma5hvaagtZZGEU
ysI0QTTbCbrjKWKRjBwOY60QBUJKDbTPcOqh3kD5CDNXpGSHvGTRimHA+qpOYf0UnmABUabnuOnN
OlnxVsOyngf/Wb9VQBfcL+G5kvW58qrVj2n0AgjPCWbLOIBg5oRuQbInB3CuXsivSnEyki7vtaB8
ESUCBWuUOejrlcm8xlYuBjHcKzPmid7EsHZKW6mDaL0aE3Uj8GOH6YdPdHnwHW/8OGfz78cQLZ7C
9rymyOo/yn5BzzpjOV2x5ZNXD7fFayfwI2TQUzoz7qyi7nzTRZaNjrVixrgASp6A0LR9rs4hOgcy
iYmDZ1aDcDqpGNACSQtdwGU2s7xTrmBcKFyOBLr/+r9y4RrFV5qyo3gXaEAveYItwUlgemxBLo1s
sPK8gaNciUPMLNDPZpB7XpDk8ku8oRcZP5bKvNf+AkHJXGRuKa1MSfi8qsTozbcWegrzsz7/vNoc
V6xSVCsDGXwqd9TWSbtaBCWF5xBJLBSU2NlWwQI3Papabq/KrWjHG70y0pMpKy0CuohW6Ik6H9Ii
ePiUqN/rKIwsp+LbeHnhQlVapkyxndxoo3fCmwJ15QayFa7JZ5oyMo0K856nnI19DsAHzxsMQhpl
02Gx4bBq2uFEr0pjuWj48YZeDULFdYHaI5aX9gIgB7LVcsOWwm229UZNTkb4eYMCpbsKXTz+EXVE
MvQhArc+IIzizCeuhRLSSDD3LWdtlNTEUigcQg580Ut8o/KnXZdha8vnIpvT++/74yjXn5leaI6/
5ZwhVW26Tgi+NpURl71MddGdcDuKLEG884iLrIo+nE5VW++cLofoWoH+AbxHdKFYb+1GOXYoOH2+
SOf87fP4/Y/PW9il2+9WZwSSoTYsZS756jI8oYuAFMGvczW7jE0obtJqva3aeS/FC4ddhZ9f5wvK
ELwVRLKejJmJVDLayFvOjuAtoOvtAjpJFN0XtH3GEwYM4lFoTUDqUI4/l/hGxBM48deaVol18sKQ
VPRCAgSmkxuFSZ1ANyydi2eT+rTBtGAhGmKhXOFVGhDzYgfVmfGZetmiU67MsWq3PpgqO8COK1rw
pinEPgfj308TzCDe6l7QDTXC0e36U06GKpEyVn1cCNneMh+mpFdpZDBAO6FxhqSKIfNCCcT2tYoY
A7t2xMyNtCLQ29XVyjYqD9rMblLjeTKa12GdTXDB6jMPlBXhoALI0LOojuYdS2zRrfISFAngWRTi
XSBxMfBqWZVBCaBglkXcq51iB4LLhMj+SkvcGuK97w9fIK3vO1RYw+HIJ4hNlqZielp8xShDqEFm
9Uw5dr+w2mbtLAL3vijz5K9WUj7/3N5KZvRLAejGQ26hTkbrv/iSQWrbA57oGXn032/JnDdUP28c
X5vwzOs0p9fjIawY1H5poWtrrslpPhZjeYi+yRpM0ZWVoyup1GidA2wbWraXcbhnwv8lo0VSL+bW
y0DwuSjnlPDYV41bLveLIdoPdA+YTh04KmU3SQ3oKcCKeufLUkuDE08J8Lnc5drNsaZay/U1NHyv
BwFf2bxl2CYq+N4hruGm1RpO43rfzP1s3WnkyNABWdksz0qiu2NoAylGEsu6CHtDNE9jqu0euDsz
X0bRnSnoFLCDmFwEVDxls+1q2K6mHGyTirGpf5Qdc949dety3oMwyY8XGjsIgHFez/UCPRczuOaT
3DE2gKWOquj2WT620LqcvUZd5lMPWrwGzajEWUFXiga+n95kvKoXy8Rp4/6W3TMFa9cIb5olRE++
QoaT8woPLJb2tHVL8cRpL76SOecPxfunhEKTGtMByorxqOfK/E5XSig3fPaex2u1BlIb5j2A4qTe
gvng26+10/s81ism4t40HiK08K3VGrFA9uIJQG3cpikoK4KTPXnTCUcmPd26Nsr6L/n5BIkVIokD
yKLIHSJJyWhUja5D5EgISZmmUd4+dPicpCnx2ctMuUycLfCkgsQ72h5I7BV5ezuDslKt5di3Vs2N
W2wSU2Dg66zRUMvpMC+xM57vtwU7bfJn9nJiQuxvdXoN6vEE3sPqmkTauZmlTO0deyE1XuPcJFau
CEeY5vszMEGuCtK77URkDbwHQOC5qNNy0I4JQ85WW7jJryC/Hj/RA2O9MIs60Wd6oAU8VtTJLYPX
PEvDibQdrxpzqgL3XF8eX3eA90j9L1FRqgzraZ5YMTKU2qAM6KKkYEQ5P4AeGaQkJThLfr3DWQEM
WLEEXH2vXCeUgRC/ZZ0I8OqKV+eLcQ7BOwBNBHh6N9/K7cVIMvSfT+Fv8sXohE5aG1UdBrCyzeXd
W3Jk/eN6er0dH19yl46+K9C4QWDzPFdERlJ6lnEWt9vzcnp8oCeuJUeu0nkKhiZ+oFU6fWrvWyGu
Nl1Lb5SwUxBsBO+mqmeZPe2UAH1WlNWzY2MNH1foZQ4rLUsBnaGNkBTgEQs0g0bzaQgtr2ds7Zfc
Z844wTkg+v7n6fEue43G93/hoVv5tvpeKLGrWsNWAzRth2bxD2lc12DRGtV2W0h5KqaeWA5JeFge
cQ6jgtoIi7VU62WG4gU0ZzFc2GZp+IJtvA74cbrfQyyHWjCa8k2VvggJr/fj9KJ8uKOf0crKcaHh
Df5sjVUDL1jfG+GBF15t1ai1sn+diSfXjA5W7sL/Pjd/m548fOL5X+OEzUZ9UbystavXDXITWoke
p4UujRXcP53ly/GBqlJV8a6Ze6ZTBmgUyxOr1oq9ke8NlLInJjSxKOwzZyE3vOn6Joe00mAVYA6u
4F656nPa8bVFAKi4ogQSVtLv46sdqNefVEhffUGr1TdO0SS5S8lXVXGi8UutfhSeE0XRnBzM8bR7
LioiTW2/Lqd//gIW0AhZPNBdUSZua/dMsmsaEL+t4ZtQJDm6uVMUPDwpcZ55+22A1AgxKydDPdVr
1zcdj4Ux26SSjwXYND7XOQe9Pu6eqTtleho/veCGJ6WMKFUAk3bNvv3F8zDXxzsAS3tVz5tISWj0
rjx9bFRVX5aeUxZfn6970CTeOzm7PiPf+fVaEUfrJaGv4Mmgq4GXOn5RdmgDM+p9jeCTva2X6/ev
O3wqu+hhZSrqHFdqKVX0Q+hq+cZG/5HBC6FdhV0OO9DwV26se6I3DgiMRiswSNdcbKuym6hcjgxW
Q452b2kn7HXFMfs4vb6CoQh/dGoOVqPQ8/ecRSkca5qN17fp1wlwEfl6I0tKOc6VLnartU+uk7JT
rZoV0FC1k2qEqwbhSYi1HwUmPK2DfSL441zFHPzxkPt8vHwHBI+i16vRQhSIaY9GCayaqvPTKGHQ
phPcTZrwfmKDpJirrDF7XL8O7+BZTm5BTA8uIH5fypMga3o8zXH1EnzMK4B+BuGpyYqv03w8Zeyb
b0b/GSHX4P7eT3dUXOC91Kuu6M7wBKOKZDP4A1xFiY+cMBgKwqL5K89fygl0ssaEKQM/E4JIepRK
Mhd6+KpaZIDb85JD02P2PUATjRC7brrwH+J+ydujFG4Dx9uIisC99FwhqDq6fpweQKKUdsLLN5nB
1jLoJGeUdsm0uo9gGLFgaBvxxTMEjFv//BPiTYWrrfBge10MQNMkXfPpas8warl10CgQzuV+Je2u
Nor3LTFPv4TYoO5KzXdwo7p/f3mFj+IpYk+jRuyfwPcgClDQKCwsMDyD+NNyhp6t0KPeztf9o0Ft
0rxTsPFPvNoBuk8oRMPlOeIGRm9d91Qni7+EmbjiDSfbt48TdtcjDwUbRl/lrt8t9gCRkyy8tWnh
+c0k6BSjyPe9jE1QX61GSy3pWThaNQUsYmHInoH+QSrb8zq5rorAUtdfpuUP0syqHchbKSQtPcVD
6otgG1OluyeTJOnqHa9vstUoOqL2gqKeygnFxHhVNT1boIbodUUUYWFKssn3LmrY249zY2LbaPAb
uvP9S/4JYDp4obMwEPtBnlMnpBNxfUujSpgXvtZiaMqTT46USAbirtz4xMPTssLhzYaKKquI88zZ
PRHmcVJT0aLzMfZ5e6nPT77RsLqJNujqqzjpHOXOqkXO8gwFkbqTHl2Ve7vRTHCXH3lZ/b/Py9Pt
FajeZA/UFk437vzqePO7HG5vqUBx3H+fXtUWiVJFbb95pkJH1lAkpNSjZIAhImBLekxf4ZPg2MYX
aLJ/uooXBIO8Uqvd6SVxlMArIPqpzrKpTO6ECil6oasN17mNGNXwclY5fpd9Al88+wDTCY36B8db
GNkOolzg9luhxXHO67VsZMFGaRHIm75OEUz6ttf8VG9qX+Xdc+h63TyxjlALEWUdGgbs6EGiuMO+
SKDrvRZcxJKALtcVjK5W5bPy9fb3sEeXqVpWpnS2lSXFqOA7OQ77Sun1UVDa4IqCaFZXRmCpaNyw
9+yKMhXZC4RNvrzGcMTcLRH7DWOzXm8pYIfF4toIQBKg3sqabdTCrNjKcFO+fhAYm5tmWj++I1TA
CVnOKkMk1WMBIqF20nu6ZecB3OLLD1rO/oiPJsrtQkjDCKtpB8PqKhudgl0z3ZWuLFBmRVVf4U5s
0PdGx9i+4CcYySN1skcq+TeI7CVbSbFma+tPwkc9O17a4oSXXdtZdMPNvxmfiAB7GfgYBSRNfttd
1nK0wsFV2j7QEBdolF4o76zhJ78bStMYuaSSoHuwI7Iq3hYYRcWLXzlUUgfjyvbI938s3L+aM4Mk
sSd4UOR9OvNUgQ1ozNx+vHEWRcRRUaVba7fuaKNQ51m8ZuU/AjbeILSwKQM/lLHx1Yb40J1t9foj
FIDUgtC1niX5D+Cddk8dxxyP4mdf4bvhRY9uq55YMUo+0L79ltq6iqhivoItXIxxy+1eyqH3r4DV
3cuJB+F1SWDJB/Y2aBayasPnl+P7SfbqNAnriWQUlPxgjs+xlPVyfQT5fwHtf/sCEC+HC853ENUQ
F/yxvx9OJ3mcQXg/IIM6+wTBTI++nx+ytJKuPqnY2BWvcCS9GW74/nw+nuXIghP7jGobPDlt0BfF
4gPodCUmh13Bm9fkoeQLahg+DMILhDCO7OU4UuLn1V8CAW2TLHqAlxZS4CYWxgqU720f80beVo+F
Y6mffF0RZ4MppOzAk1WPv9L53wrN6CsBJ+h3Y9h7OrbDOXX4esooVWWvFbSww531QrXp2rH9iQ4t
rqNM48QdHKTmKqiQ1ijEXFpZXQ0IzlsOUBo5Noy2b7bqU0kIHnjoai+xCw07cQlj1zdbQq+tpcEz
eHocawnyesoXwnCmFwrEs/puZGCc9LK30AFchuJLp7V/ps3HEylI6TGforPbBDqBZ8OtUMRR67rT
Kq40RiBECSE6bDDRqycfJiX1CMCActly3Zb9dwxOj5x5KF6NzsEH4eOA2E4RmYwBiPf10qtE3BbN
XSekdbZmCto7XTxOYRzcW1A6Z4WXAgtOpdw0oXg+zXSg2za8snbsau/pbrqJAmh6FCoo0HuzMrrQ
S1oxa+6Wju4lJh596bQ1CG3836TzQVKG5o6/l48q6VnxoEzDTLPQBqMuZTHbUMkKi14tb65aI0uy
NnuYymmrHQpq/EQjxzCdEDsC7pqc2zTVmmUhUJtVO+R19cXDoO04oKE+im5EirfcncK1pngXXWVG
tEooTD3hS0RX1gl8qustaoHJq4W9Fx0hvybfWD39BhAoHCm4IRX06ok36qRHD2tX8FcL+ewEWvwm
TdzuCa1pylLotz5tVKNHUFF2W1iDudCjVfhjPacOorcg9jJJ01JzuyVBc3RpAYdEENTXugzVneR3
uUt1T7MXsFS98d57zzOo7LnhrSMKegw7lm1yMB4J+k+ORqTy7eKNLPmhzAKSavKegDRLj+puHTYU
GOuxQJyFd+Oec0xox06/KYQpwnaMm4yD9CZhFXS7Pc4yhE2f2EvZAiM+v5l1gdhx0As3btN7COHq
ytVqc7NtaWV2+6FIe/rnq/xkC9AP6BG4pciv2VrFd0J6r1J7Fp98BErJkyCXQYuNVhXyGq1Uj1aj
MT3FGnHFAyVaSrS0m1HRjjJ9jY00m/KgjeU9c0qinkFQVW7copxcXpC74p3jee5v6CksXrGTN6qs
jseN17Qvqp29jApBGokeh9rLWttGXaDrpW7W0rhYDy6CLQXrsJNzOvevl3CjD6CHnCV59RibeVOt
QW2/5OSlR3ilFN3EqRZzdEZgVbGnFOQkky1CsR6HUzDSsByazum4kp1h5Lig6M4lgLg/b9fLd/jg
neXvPimhLzUCf0wRpKhBbIj1E4bO5MmMCHbP/uj6iA0Ob5TEweGsgMhPB2UBluern6EUgkxQSeWr
NCpmPQNkp20YBVerSlYFLhsn4YqZlgmpw+mModYDpZba/LqcDtdXEHiPQm/0OlMlpYPlMzS2lsFd
OJhTjyVou3rVCeYZFyfK4GiHejHyAKmlFp0SHros/H+5r2M/CI9BljmXBiTk+0ImbUtDT7Wh/5es
o237DaiWb6y0br5uWnlxF+QieqHsPFvHRpMsW3D7HMQoG62HtPjKGnGEMBRslRMKvKq+FGgx7ISp
lPFRzD1ASgLJ3UcEwHkrvrMQ05KYa6x913SvJ2cY8DFpdRFzqHnAfrlePm/Hjy/ZOFLis6s/+Jd9
/bdrcCFk1GdkRWtiMjpcsn9awaj7n8ef4Om3oo3tk29RfoHMK29fX/YzOF72L0He5dcje54l9319
46FToySYDXi04PWG4nXNXsIkm8ppEABhvjfXtzeUeFECL7fyVMseJAgU2SQ3hbZhYeH/RRZkWMct
DJA++2kO6e/TpUt/rFc5yf5Z6r40M6v0MN8o/1dfhBDfI0gJibk0KJHB+kKpkbA1PucQPC7hRrgU
aeaRYh7SC3S+pLelQZaX6NN0fA2DbimyaSpklKFewDXrxc9b1CKP01EcTY2z6CxzGkVm5/KYzVyh
L444zFF+2qrhyZSJEOSn8Sw5RFdyT59okZgG6fKk+ENssBshli7r+Zhe9nWi2ZSbVKRVkWVqRh2u
s4peTzfQszSNOComKOWTN4B/le7mHF6kzy1NDosELGBWkvx3eUReE8trNGFfo3QFbL4CvKdVpRCV
T1bcLDeywzROvFXSi2rTdbJM41gHkvtRRcprNGSzbCxy+AssGskWJ7GdU67Luc7WfdI63+aXPhO8
dP92un9OYUic/beuS+5j9WgVV0pFL/YYYAcNCfZt1DXVyJn3yyJF+TJZ4LWRayYpg1jLB+BHLmRP
9BmRutWn2c2ZtUU0DCJch5OVqR9pdp3hd0n/tee9J6Vo2aaL73t/XYKuuX6/nOCMBs3X5xs1ikhG
O9X0Cxh0fbrIYxkvOAH8/TBsdlU/8putxucTGw0zwi2wUQ3inVjcmUbTqia1lQfAlaz5e800hLcC
/AyGoJvuYv6g9brZvxdz95N1NMw6evEh77hp0uOOSdMoco6m3ZdYTJZNZ9fJDiZFXpy8U9oypTV7
lrlPNrl6CDNLKqY8fF3Ab7njizjE4LgOtU+ESQY4EQOzC7Xnl1+OP45nYBlGNoJVz7iTGriTRpjR
NknTcJHUSD1A3052PqP5LN8w+1RnHAWWq9lFJBS/qpP6D/tPcAkduzpO1Su/21KmnOaCav7lbYan
VToWnpna018Iukyy2g38MnsZ4gUd2dImD4Vg6OfKpcV+PWl51Fy7wr0pHQhcC5GWO/ZsjpB7Hp9s
l1uOJcVBBDdmEfxYaXnRmpTyPY+CnnsiEutoijF0clpMrLOY/PqRq0UgGyEyA4LhBJerViIFrrWS
xqkhiM/4b2p5zHsRL1slWWA8Z+HoL16pU23WjuxEKKr6WV6D5ERhG5WktXwRmiixhhakgCZ/eeBa
ptJdCkpRP3QcMVACedyDsJD7/bXXnIyU2J/CP/Wc05+ydOI0+kHwhqv1lYffQXxegds6au7fFV0n
iyD+gMg5E0AwsPihf6pRgZFPnsJ/T5byAxdEa0Gun4Sz044RtZYqNoc2dbeFLPri9tpnrLIDVjlP
MeUm+mbnR1kZaN2xyc3VJFU/+WX/ev96ezv9kq2VKsAtvw2TngCiup7Hlnb4Fz1pmNZH4DYXySCu
7yTAQV6WG2vwE8Ys4LSML6J6UBUv5qgn57Hw4/9C/IwjXlugGFZSRcfIiQcqaOD+UA8FTKwensSL
21KZmjGXn4s1ZtPMVM1TY2ajYZfp5bFUTmXCugZhT8dDqKe0K3BmaEbDVsqQsoTIkabuuMtthEcT
4Uap0RlBL2wZQzJ0qEsjvbWOcx79qe1WuuY1JOvwebs+rshO6OXJzuVrKzzZ2dgXYu+Lhk2VZEAK
arBEGsWRE/mRi9iXCtjSItIyfZXDB2DewQr4Qr5cLSxWc9wZd91tdKNPKs15BCsVvTlev6Mgz3Gn
vkdxwvvp+/tZZC1NQYJnfpqp5jcQ92VyYh3PdXUyBtOQS8ud+3q+JealgK9oWXw410CtDENYMTOh
bhzYr7zfxBl9CDa1HNXv6zW7QJy1EaIdwuPhrUflwTrHMW+nnyJsA4+wcFrlykxS4Qzccj02Helc
yh13TzZCI9EDRY+kyWu+Hd/C/b0cEHihuNWvFKohHykMwMOWDVEm+aXA7tAs97B5A6okcQHY1nGT
4/1fLO2c6A6DkPCSKW5A0fcS1M7PGm7wSOBozpYqcy0SC2xSgporwUYDkDYWp0n6M2ZO+qGOmzS8
vJEbaWv/ahePaY8U8xXN8ERJLrijgxFkmoPGTdZL4XNuadPHCwjUiHOfFOsIOc7tEzM0QxmvWv+v
rnOaghktJAOrwPGUA5UBY4791zKLdI6ovnSanBOYOEWGtzWQJ4KaOlf1uBgXNeGY0Chuwv8VfRsn
3CLLmmE5sHrO5D9dT4BYYr2AaJc9FvY4A0qiAL5nckwBrJ1SAn6HXydo5VDUKKWbhEJSWXGMhpN8
Ki3cqjmU2eeTL8VQy5EiBwn4a05KJlYc9YkYCVx1I0RE5Nnk46/T/SHr7mEkWlIjk9tIkirPtJs1
f6md0JRN43gd6QpWfSzgP6yFlyJDi+Mzzv2Vt+iAx6x8w30Pgz3JIus8d8CsiEWdLi3pV/y662e7
YMkAY5HvG+uGGKIJynFkw5mnXiMAkua4HS1KKfgNkhoOTNen4wYZPdEeO5QCT9NygpxGlwgEOxRj
9vVwAEe3nhBx0os0Q4sahJgFmntQ2rdRiudJTDRBYqirsaGSNanWA0c7rX7iYRqxKG1CxXvhhkOh
BSfrLCJZkVcBrCyvtoit5RBLgRCrmn+4Hw9ft9j8JfPKj3vkzBJTmzbIbCjWWFD70cuJTbEPO+Je
8gjL1trkYE9E95yBpoanXylsuTiFF2zkig2QzuqKbDsgCt+kp6Mn+Ip7chWqCUs1yE/qTqkGLSQ6
+eJAHktxMNT75yoA/zsw/IaHtV2NmPCsy6Y6j3Lw88bjpJiiMB1rlyLhTgDdp4yQsQhsqeZsTIkS
VHoKY68E7Ovn8QJodrZZIFE8+P0XjEMhVEO9+W36mdOPIxAFzRWV9+0gCPhYKgtWPFGvG+YVr5Lk
/JLOclIFP9AKBORKY6jn3u97Fl3wRnABCv6JBaKvhPAJQsLAASRzSgfh/vKb6VMmnrP181mK1Soz
sA9y310v5L63NSGYOTSSyi/+CgvhJ94iajLRhcVVKgl1ahi1lknzQo6QTO/463A8vsKIDwQYm2D4
9B1785zraH2bcAMSzLqANPUWPMTSpfPSTF/0yZsvThszVEXyDPc0+IV6Gkwqn3OmbIUKNkYqWMN3
I8MkhbiNWeHmqGG0zcBiG07AUEVJ9V0MCglXOSwPoSGKr8xtNyhm5gBO1tOoUlB36d3TY7gkBEqV
KYSulkdPMTfGdrSh2I6A7pMnWMUmXRN5jAcwVtWYle20hZcEmnuLL9JDGZMnzEtrra3MBdEqwzSK
aOGpGvh2XrcrMhf9U10joJPgh8KXHSuLxVke7RVX1iPgbTfIXVYLvqfI6ngiM6KKeiZTwdOm+qGp
RZ4MpvHIZuhgzqZ5nprQiRNDve3iNlgaikv/iKKAFk85BAL6ydx48qja+dJesHm12SH8JMzMMyzS
jY22wfEHGsWaqu94fatBvbwekYghx4fc/iA2CV6n48mL2jNJkN/te4n3xfc8SFlkMAMy/kjtjnvi
+c+Wr+Alt71+hJNea59htmbWUEj+6fc0JqBUqkMtse6GZhyKCttOFqk8QTlxx7esxhWoFHfB5G4v
8EMq87vKXkSYWpURiB+Xalfw+IGHw5UWV+1OC72YAQQUHyAbRgsges5EIWAjRCWauxe8Mn2ukQZ0
iJGnnUzNPQGPp00me6il9uB5SY2Mp5Mqalj1v+ARoKk8s9hdoQWx/PbepDcLBp17Iv0OojVjBbc9
c/OXElRUxFwE70OrAvkflmv9XzIhUryAXGMZJ+QoYKsUbVzBShn+Be8LTCBwx4TcDc8wskE9pRtq
GZNNO4Z3kFLgdC0ztnsxIPNFVJOreyBJLp6uGvCk+jGBirVnYHL37f8/a3+6JElynAuiTxQU35ef
QPOAxAxAcgBwztwRoZR4RnhmOioiPBBLVWaLzLtf08Xc1DzM1DybFDmnWV1o17BFTXf9dD8fFRFR
+z27TaDJmWIocSGVe4m+pgrnZuPY+5Sc9XPGVZUC/FX7KsouAm+jCHKt6amL1GrGWxCU0G2VR7TM
yrUvFEWVJ8MWAfdO56quiVQGxkselVfYFnqmaUOlT1GUrX+N7cbpbImQYee389R5cPYMXOnjpiRB
/ZBhVafQp/RYVpdnkc0Ga4Z+ADjWXusJyspIp0sA6mxDy3XTh1jO5Xw3Aa2UopCjaFZDfGUUv1ai
+IXfD1RtGmuioSr48EmFMjZiP1/PiizMyy7Z4YphTRJi5qUqoU2/jKnst8w3Ut5S7ifJujz9vJXK
2HUnbrXFJ1OcMbc4HCcRglA6TK9Yxa60EAo57Y/BRWVGrYwJIAVZ+FJLezCYkn69Kr5O3gt8lFQx
ppwRFY8W+C0IVRlpvo2N7aP4qZ+HrEsFDsAsTukIX8XO2wiATKPkJvwWmLpS4oGGzydzj2/RWYJk
lq7iIGFkiDetEbWMgfYFY3cJv17aapmWDBL+heZS9pHKkNWZK/0Rqw7uulI5HKOdSjFusUp35LGw
UaohOe9XanlVJn/dkIPOZal8GwIot2DCSuNQU4UaUSLYItGx1xSjbiNdJO6p6Yj2ZOyVkVjtpvIG
LagjS4CdFFd9+0QcpvXj3tUz4KUaxuxWRkuRfa3QT91spzUm2nY7eNNKcZfE8spkDkRomCRYj6xQ
7qV7H27oSKGElKJcOdhHuhrQrNWolJGWxLiRoARDGh8zM14Cur0cJ/fzWo2mME7TWbHfS9nc0IRX
9+SX6wkykUwuWuVeubfq51UDrBLEoHelzSK1VdFJFuTqZBFsyyc3TGsJ92MEdXzUU6IPpFnJG7XK
AvWqIqf7lR7roj7wlpBB0/uwjWUZhdpRpXW3yg2xVbRAlB7n6204HxBt+fZtOBzorwxf6Rilldcc
kVeKM4diQwP+yPzWqiZdk6hIxKyN5NHDbQNKNWGZRaAigg5worHKOPkxmBTF8lI8nnJr+69191N5
si7PI4VVa4rCw9PEbed3B9XhMQjTeQ/HpkSfK7+8t8mfuomN6DjHi8/yRnAYguZ/qf3pbwr6Xt6v
oySh6G4y01OUZRmBKnwqj0vutm9XkEh9YEk3FXKl9NPnpW6SazqoF9VePtc/zzDUMZoqv5OEy2yC
kDKgglKgRasODpcucPlp1TJs1q29ayPHqsWECpLVcJnsVk4OeVWrvpos0kOyheP/ohTJ5/0aebz+
bw0Gpiic34/ZFLrM1ty/PoKtsg7bJxt0y1UfbLktpK1cStPVkU6M9TbTBS6rF5r7bxx0uFImVq7C
HFFTU63ZaVZNli7or5WKbWkH97t5yjwIQ6NEZDs/xlF2gRJc+KMO95Kt8L+apJu75WHWPu5rkW+q
+VYSG00d6cHwTkuJUXTlRlDg2+ftPiq9fl0bsZeea4d0US9yb9h5ux7L/jK/PW46UlPbR3r/n/Tp
eVA6Odos4jGu4ucgAtQq0baNXVNQINMDVlWHMShbv6OxDPqe00EJCElPqgqjLfk+ixLQaES8DBN2
ueILc5Ot4g3H4GiE8bghS7RCf2rzLSB+SrFIrI5p3ayo+IlVDNtfM7M11C4/BFsGUliJcaAUqqx9
P7FJtYqi6aVd4Wq4zhOAbThbmmqvyCIuuzpPS0/O+6huZf61caHUbFREnvdX5o+T8OsjAexVlbwK
V9JlTQSTgv3zt4miGvGocx0p+QlPoEgEooKSITBIQXk2bRkJKsZEVaJ4vPO6UKomBA+lQSTGstnr
IQqsx3WTzPiRMT9J71bb5AvUcZTidaxmM5xZE8RHWpDezub1aXn3ws/+PqNrpSauFFnRROodHFOl
+tz8xqiiD9iJw/6h6ZfVOyu73za7jqIUdWoARipVVK20XRsr/uXRREr5bxVp8/dBtHTnNpfJRs/J
VsECNHTTLFKq5KrD4tPA6cKqUPF22Eg5jHsjvrV8WhaZIrBkl9Iw/a2MC3olmp4Br7SRrgqlqufy
IUrcKIxTrtJIrd5V/P8o8Ywqks1PgSHpE9RyWWFWRY1d26mjXJlvwa1QhmTWTXGZ1r0+tart559K
vWOThWAh1/tKCcOybCJpfTcqdvtMuKJbDf8qdXigBJReXkVG1Wkmm552K/1WQmdauu2iR34aPmhU
YHq0warpv1G7ZJWKiCKLVCItrzG5lqzwvde62tAkpBQzxfD6FjiDm7lSbc5T74PZF7FYpyz90vJ3
WSRT5j8fvcGo8bML5Xo8evLJdFkkzCTqjtLSu2sjVaprnMhx0ItN/DzCSi5B7fuGh+aroy1T9n6+
m92laijKBBIqtyAqg7kqf05iUwbKFChNmLL6cr+EJdhIus6Sa0ELwdqlgzvkJuK7hoNZbmiJxsB6
Yr5RX0dADaNJaCVX1sdgc5/7PTRfq/t6qlKBeFrl68tKA85OjORr/bFZ2VeHHKuQHv46n2NObEhp
oNNFRA/r5k8q6FEmcG1WHYwJOdGs4N1yTdUpKeg81ha7HWElMXN6FSorYuE2pbxQVEiVpYT5CFUq
oByLP4vcMxGcIBSjwdWQbdt2yTJl9qw00OSmL5L9yBx9SGLEGR+t8WPcdaJ5+DBetNkkIupXeI2j
4aoJgrdXqjBEMVnplUXJQHDSoqr9GEgVcvXnl/vjpgHGZBEIG61xSssH9quTX1jzxzwdruP9oQ3o
zf0qzDqPslISQrhrI6VGoUINLfzQh2D4wppsQ2dSkWeFAja4oVs077I8olyF4bEsRStSyleIqUUs
SFwrLoYPWNEoLw058k+T+T9K4+RqvGW8O9hQUDKIMv7ttUaRf6AjnPcxoCLFNdAmU/V+PaXSdv4y
3U9awWLZR/qXnrAzVLTzxjequ9DFpwt8iib2NtRQmDZGrUjOUF6VG6qiKPOldr0Jd0g11fIm1Y5B
p6/gepZ9xNj3nStd6fat37VXhQaa/pzu7wryeJb7AbJSxbFV3poEtvMQ2oLaMYXDkne979vHJjWx
D5KqUewbX0KFxraKfrFExruN9ISqlQ5a+XYRyWPoaJhKsLIu9GFZKbD8oojZTrJ09WyM3guoPkXR
dZHSyxVwX5pU1vkBTuchoe39YqHBU4ivq8KAbIMHqOSoy0SRChe2oXcV7xj0p+IWXRSpYcu4wa6M
hBC1Nn8l7tesUGaKdPAlmV9o/FhitWXEjwbd125ZIhSM3BLht6Jci+Zsy/FpMNB9BDPVZXZSI6dX
RW1FGuZQEdSyVbIIl98LBKnz46TiR/WKw53GQmr79ivFQ4mRYcalWqGeZQFIwMd5+sdDUzzl1xG2
FNZsV83+zXPmMhUaLLrViJbyORebxtxpRCAWLr6KoBRuQyjcXhGXLvmsVgHvehOGUmLeZx9SqarQ
SnQxraaSxTu2hMjSQod5qAwskvb7uCh5v5W4L2L1Go/LQcF3z/s8Vp/jIqxuPF08lFRHsk2hkKjS
HZy3hT/ws2hD5V+J8Ehe+Cm6IoKHuaVrttnaf+PaeZXoT7EC5S+fs2npIkA5/8ObLByo4tQxEKqI
HA431OFGzzelp25VRJRvGA+mVQKuBl4FkHX96Ylxfmg9jCAOuvktJMWB7O54jU8TmXgYmkOehJzM
qxXk5OZ6bLUJNznweGm70cJxRizEkDY8TyCNa5zFSuX8l3gcz2/acL7aH6wQClWfZ63hM2+7WH9y
kDkTBb2GOVcNN00owbnhgPIy1ZVnsY/mx/5dmwrURQaPoMVp7B9tOJGsaTA31haRAoRN1RaZlgB0
OAPapFI/bLZyjRLznJRClxV4dCjRYA2Yo5GgmvXSRpAQnuZSa4M+qmQiURalag8/yyL261N0cA+H
ps0t87G9ngaN+rBj8VDCKkkaHaepA+muBlw7IzjYy69emtFPXaSLItR+n5QArVqH+nTk2izdFTJH
HZ33UyhlDe02wGbRHZ+uIup9TPJq+6ScVP2b3/5YdmlLXXfg2yqEihvp1jhqJn/tx46bAIDP63Ee
7qlCCGG+6P3HwhrS2o9Xk8RLJRuVCvRlfRdJJvhqWe1zNLZx7qPCtsqZb6nMqVfz6LWiyBSpPIIz
JevhNdGch5aiBwy1nJQPZF+GA4Yb680KP2/vmR7P+JnpCal5pLfW8XsKX6ztI7mRleyhCtK4tMki
GNnhOkGdO9sV2HyVqbmEdMBiVb2RjrAmyk0qH3OiXNfWcIErxgo1EMfqi5FLw6mdsqo8iRAk7wCt
wrhV4vtdzZZ5fcqbbkLIurLwUx88mvd9FAV8BfqXMG5WxQpVAHhKHTberprckrNwNViPKmaJrjL5
ikRZwUrVlT6Q9Xc4ZC+ehmojIFXP4A9ac0Pet6tMfhADWfds8qoJjcTws6UpPKnCE5B1tbnhSDGz
m1U6Md+UQNdwmUtfxUSGOpzmw/Q6qaW7q5X1YbmUeCJlrDHhyUFS+DKrI0jRobBiIqCet8UKGr1S
XW3tybURHEwXmU+qk6ZtEjN3V0WQST3e+IJgC5L8NszHFQALn5sfPVuOMB4+86EsqkKP92sFg22d
RYZAqbl4RRc3Kv6TqMzUcH1yL9PCtT42AbUfbuagztRwpJTBNT6eQquHBPR0SFbEZ9EKHx60g27h
FXm9anoplXEeWoltGYlPenZwSvu2SWSy5wYcLXhSrizFJriqBPKNRB2stUzR7ceb6ufVqTnhQaib
eHbUh4QWcYH1tHAVD6MoOiUkHJ07o1RDNmUkRR7caAo8oo5Mllq9G1WsZKXW6/QUdkwAweXRGLpW
U6DNQ29CABlBK00filbFIrTBoJoed8n8AJ1efJ/EvS5WN1ArPpHWkVUngZwtSpeOGt+vWiOrJmrL
JgahNH0kYRvYmdKnXzYRnorMcUj0HfogGWW/qcJZQyvMY1HfxTJKlDg3q2mt8SmyS6WKVofRJQc5
0HHpUeiiD/UTq6ZVEhGm8SuEmjwUPlYryLK6jSRIYxWEv1enLdZZpH7/OTuScNxWlfPVhjoMPSbb
rtoJO4VREygJvT/8vayey+5sS9lw0Aru6kjiTkLNJ4t82phPEp+Fo6jUNosMpAoPfB/fJ+0WiyzE
9RFkvPN8N2/xRQnvlTKCnS+qwtE7zj/NozF28j8Nt/00KYTKSIpKN5HgbnX0SwF/UXnTDF3VnpE9
w/E4HpXCvTIycMkvDjWyUJ0jla8y56Xr5DyraJcr4N5NpYzDrlWcoy4ikcP41xqagr+0torr5UQG
yciYMhLeTQyvSSSmui5ixkeHhW+BAFzVHpR6UDUZyciayI2Ec32qBVf0TaTCWvQUJWbF5XWsSMpV
YJpLuGpwvX0RQp59KvROS9Q20nn+5O+ATGA1Ta0gqYLMJiS/IjAZiSYOobqxHrdSwAXVcSNSaTfL
7YVzZnqYp6ojkdJVg4uGu9JG4ErTgjkB0lpH4jPraoINpRLrisd2S8/1BrpNn4i2YOj1k5NpSpVK
vZK3CbgSvcs3z/tIfkCpYNUymVkEhN9V90D/mTZEpIgAdEYl7HQwrDNp06qzJpLudchFqYBs26+O
XR1L+JlqSm/rEE597Ni1Loc6As6zKqdSzEJxZxCkbLQJXGoGzZBqQ0lQY8w8rnBB9qg4nHifTmBH
x7suYlFFHyJMC7rWfnSr2jLGS4kc5KvOHm0Ahh4YWU0+jYXLLDul0/RtZHyPyPOpkJhF08YB7J99
jRToQhua1OKM+Yt2792qDLpOAALpE1+MSPdnnLLO9zMUakislBXClexn1bEf9LBBk0eiWUoFkCJ6
BYgdZp3ryHAq5bkIlw4yV02xabifIp2qLuIF4/EMmChOm2x+zX+5IbyimzKNj4LjlWoLTp+vIBpI
2yTmpzarhp7tuPZqubaPlVdkMbhF3Zps2lXZd6u97I+k6vIVdL1hHKsCYb8aqVbmMdMtCWGft5Gs
nyy5Thfer+qCcmWyMrypuCpsIrDsgZiUjSjFA6dVSLqH9Y46/7uqIuhovpNinNbLdTSHpXgWvpD2
OoOe7VklKFz7nQ4BwC2SW4pjUfi4F3WqXkbjxxU2ZPVURaQrm75vIrBKPpboRoMjU/H1ViZx4uFW
0SrD9SCpJHyrsRaqyHA9bRzC7fv4U8PJXTW1VvGhUvqsBjlho5KGI8bHDuNx1MIxeRGa8uhsl1RS
1RgwXQgrDX/cCNmjWpra+yHfFej6k3u3pYfEd7v9IZhJwzDvsiw0YSeBlqG62FUEKj1Ut7OpMsIo
pdLPfHWpCeYahvR68vVTCS2rcCN5Nam9GhhbtptCrVrXvT8+5xkhDKGLjiCqhqtm6NVZxFsIV9ts
xXhqqzLURaWaaokhno3PvKsuPxd2UjDRZOtTIR0bV45ZQ0NkvH55BcWRx3NCt8eLObi9hvqTdY0G
1WN7wzYMMZCVh15ILpbgI/i9eIYvUehCZqYSSej8BqqAC2LEVSIBV/qsqWMePkHDqxG4KqKZ/RLI
9EzYvs8jSH3rPko7jS7eSLmqPy2iUCg/0QCJM1UQK3xBqNdNg7KIwSv55Qdg/mi15v47qTdVtGiZ
JR8FuwhAsXoNvlroeTWdo1GLOzX7sPHXtGWyjZLVaEIZ2VDO83Ge9vNBszkq34zO9YAS5oqVMKyE
qHCmmH1t+IYT6q9cDXlQ542mZF3W95Hq/mdZByiQ19djvIrEWK+ZF34NJDPI51DQuooykkddJ5JS
A4mLro7g/vly6TBd04HAvJdIP1W4+SA9naHt8kjvvzoPTp2XVMXzH6xEE1AuRsit5mhU6QHJCtpG
G5vsvR5XrtXplxHMtqBFpjV5rrq24ioFEAoTHVd9XkcaSNbWsFrwWPaRFtZgkkIpTSyaCOSm40my
qKczzerAwVSKmWAYtNxY6bbZdi2L2GAk0oHjeXgxO1bGiORql3XYTlRYYtVpwYGRTS5st5KW2yr3
FHWw8gHLMnw48+urGs3on6IZqFVuN/zPMThnXov3Lzs0XXZZFpbFZl22AiVDyBxgBrY8nkgUcRKN
I1EiP1VhEmWcROtI9NifWIdJ5HEStVgF/sNcHB4RfLG7mzcBZgWd1nA4TMDVt9193t3fx93tPl7w
X4zZeB53w+5sDAb8T5cPdxA32R3mPTaM7+af50hEFaKgS1wNzhQ7eDmOwdT4d/bv0/FgrFyNTrbQ
sZY3EPJ2cBuvxv6afjWvY/eB27XLpO2atzte4e+V3+FkNq6XK7/gd0BIAdnQIV4uI75IWMKw/I/e
qdEO8TRvyo9z5NAeVhXa5OtsLum6I7fa/Kr/O9PNLMH7T3bmnZ9iDgSfbbv8rOiKlTTP8/230O08
ulCr+7Qd4LrpvHu9DidIopk/m1tESXuyrGdOd3cf3pb/RvtFd3tYbpzHf/F9HA6hX1u2bX8WkE4N
55i3MVwNv0c8KL5Ax+2FK/18G88YijIsMr/uJkN/Gg+WvsoPjulLnn+Lwg5yN8hw+GSNc7YDD434
7236MZ53bGUj2eU/X/+ndxC4u+v80/7nUanSOtlWOpThBOGX+fCZplwtlKESnvOFCcpJokII8sTI
GBvgIgNsML1Bmwn9z3fjuIZlE9h81sbBUevZAm1D7AIMFJU4+DWnU7CopFvmWf9GLiSK9UIRijHY
Uf0NTEi76xZqORbBcDCbDwifUeKAuG8NtwjVIR6B5eWniGTulMtlVJtdBYrlBIHCrcKceZ+trgmu
Wvm6dIfKhbsxliIeVQQZ/gfasy+cruNWI3wUUK4H9zecrfA1IvmKP4t79+UXauZFA2o/Vzkp0yB4
WcYmg1SoAc2X0KeQfeBURIaxReJFKpw405eGk1dEl/9JE/ONE7MMvu0/Gjodkn40dXW3BI+VxdZu
sdnzUxxAtxoFvjf3OMROFOm0Cx24So4/gvJ3dtP+HbAlbgqRxi3GpVmXxbh14BOM0qm4fQoX0yyJ
rBAdXb8irdzRqp9p2aP2dqrssHPUHMrImpryfb98D9myvonuLPq0aVeZv44q8LSt/RcyKzcbeaia
MqdJ3XSV9Imhbd8v36K/ksXMG+MN7R7m8e6MQ3wGnWH87N3tfRz5SUT/Z/MWb3fVv2AgB1St6ICx
i5qmGXd7OIqCNKFMocjajTTj3hgnXGidCDta0GHheBc6rtXtEb9p9hhXSoLcEWWOTxRY9KpnyQSd
wS+mT8UILsIjmlpgqk5/lK4AIbHMQiMoNASD5pOCOM2/TsfjgF/dfpAvAiE4CJ3uKFpifgH6kTPj
6H+EfqHByB5xFRaq5zicztqB02V3e1xfh731Fc152l9aUam5Fw+oFCUGLzPe+Qc4FrvjdP6ufG+H
JOL3We348H67GJV7+DCmoPI1t6Th15TjI/0BBbRovu2uH0Z1H3ZXlUz2RIa47DTcvlv/v4p93TS5
+Lpzz/P2uIGXusva6A/n4odBtJZZvpwev5SPOwR/dkOIRi/aRiosNcOgL9F4nY7ACMZVBqsz9nnD
5SX4eYXRnc7FPy5g+L8/zt9vO4iD7faYiYyRatxKcoyCdb1P6mPnOjNuUTLMmLiiFmPOxJiHz/Nw
MlcBQfodJKd3VXxX9UKjzPAfjbRdObhP2iNKhNPtdLL4DztvHoKdhjkNa+3fjTUIt/wyHab4ljpH
KUc+qcKUTtPhAG6cRqx355P3GLDMJLHltL31xdknE9TwH7W2tPiqSkGneKITWNWGvbZZHmZu+y6i
H+bykPDPlWSAw3Qzgvkzzj/ywlonEdx73HIodqopLR9FXOWko03Sxr6txbcYL/euGd/jkmWI3kov
iGS4itXtXu/HXRH/XgiXRaV7TzrO84WQBhhCLIOCxazhML2+jhjg4mNV+b8RV4s2WZvJq/0BLuB+
OO6oTjn6uOXyKsxbI5XLbXwcZnO8V6OijyMkYZXz6QTXoyrsbO8EgJ/99fHyV8q2Rr+XIhPvan2+
u/f5ON6896OeTlsLigVuLnzs05WaVW+oIC0/u5+Jn1wnzh8nbzabL9ZwW/xexY20VMHzxPCogHas
CeJcK54dqdWnU92y0bYXC+rd5T5dTvJOBJd0lMSMaiOF2aqnx1w+P+b4obRreZJvEtBxAVUI2YBF
FXXweOLH0gpGAjXUeMIJCwIgBbtjTJboQiqxs9ydy7PBUMbP1tFga7j8wrPRXovYJDpybYyw/1Ti
BIXIwCfTVLHnp4vRLCGft5gPTdOvBWC2eBGQp1xCCtGDF0ZWif944iLtiUopnqHIi1y98qxKYSv2
zhGKGWfqIyvCL319OfK1bb75RrBSR78QUjaauqrCSm9t1qgGYxu2ZcPCdQsPtd1KoTe9vIAl073j
zvfoyqQJit3muc+LKV+oFAIWnJmCw+brA46LkU4abRhboa0cRqLxu2Ocd6o8LKC9l6ByXysoYBTB
CjHwY1MPsRaGAzZ3MHiNfUqH+TSdMbJnu/ajGxGKocei5+xpGQqT1oJJMVXV1j6TWn1phwjF2KFf
+w5ZWDbENyKs3x67h8Oym+4W+yZiT1c6Ag1esOIa74rdhJHhOJ8JqdliSP4L6ip+8n3Ysg46vBoj
dv3aRY1aTnFmlrIKW7q61WJAvWm+iyDAINQBAvHP67CbvcHMjbNBGbZ4FtZOcpLtinVczcVr+LhS
Aq4uw/LfHYmiO9pVdKfPkq5K/HKbpPGRNKqzleXR9lFmjV+yjH4QPLG0zLEkTXvXdR6OejwzSZwn
6oRocHymek9VwDiQ4g5jDlkTDWNyoB0ToTJ693KE186r+YwHgiv3OZ0qsXYkNB0NxlqvgBOy7kh/
TOPP388fi/RX4rliLUWF/6j+6/kouvhRuCV4Eciz2QP4IlQlAbX1u6yMx4WbdXC3kIFZjivHD6KS
ofHG2RJ0IWfo1TvGr0PcZt846UU/TmmY1/H3SCr+5vNiHf6hg3wdf5nPP+bjj/HPgzGJPnZ5nIRw
znKqUWcSf72M+8dxuP4JWoThSONECmFzEjZSsayD60a1XZThYN7r+LfpiD1lUJsduQoyDJ9Ms0JS
iP90IWwQrFYu7AHSTBVtz/Va//X+p8qvNuuwY8Of/uE4z+qFd2Fv7HX883h9G7XlikOmRE4njwiH
+Oyy+C+XT5LYfv8vw+N2m4YzQH1pS+/DUQDL5QqL5us4v79p5aCrtcEdeR/KsiMeA5+bcuDd2tsp
QgeG3V8abxdi94glVPQhOk2cQBZ2S19HrBHXtlCEXUmWkN/H63k8/ud5uv8JJ8mpL1Swn8xDmmN8
XF8ehgOge5Qw7aI0irWo6sO3iWBg2mryJhy7tw9Q+bIN3KrUXVBTs7uOp9lowV08L8uBCFKB2NPZ
i7wqOdK7rI6q0CZba+HnvGz8a7YzKSUqHFFurMOGRkV11r1UfSLz5qvOuOqtxO6JsYglz9hV8LbB
hrBmGaXH8R/Em9TP8XuASjWUwCABx4q7tQzBl7hhk4f1+RKe4G0V0WPp5KV0IptjLCoXJVEMI2Hj
efny8KbswuJnJOwkrGJm7WZ8fFsdE8+b1534Wgrs9XnUcQpleDv2rTxu4w6ufISbHqLbKAtxrEKS
cteHammK8oe8dIyGzlx85TYh/PSTCe6Kc7w0ecHoKLi71VrNPpPG9yNrGRC/PX86UaUUohD1DJAx
KThjAqu4zNe7DXJA4vLyTvSu6nratSDwNMQLHNRNeTI2ri8eXffEonE51DVrKUhyiLpO/4Wzr8mH
ayOTJI0bJ43tscrVxNm9r9eHUQuZ/PGpraCp9adiM8muUkk51CwTshErLv2Ey814Jscd8TInb3aP
i0Yxb9aMU3id0Jz4U1ivFKxHlnbtV+E08Soc9xgRy6S0Hrgo/4krilqIAJliN7J4nN7O/06noLGo
WDnFKTlbOVyNBbSzL1hbgmTTyrGpffB4BYbAPkqhl5sonCyOFZa9KIVlrVaUpVVhSRYVnuJyg3Hu
zitxg5jC8cWWddbjR5gLQQPRy6LPRaUGnV/894WrXkI20pYb+dZWGbeXIlV09gKP049RtS2kaOix
a7sNvh+FRCmZCE+jf7L4qvgOisgrIEHNQiBS8diIYPtT3CdlcMWZui1iZX34sARQnPq46rCq9t/3
Yp6/3C7zbRepQG1EzPBJp82XYT/dP3F7izhW5EYrLVTMWzfPujr+eSF4rsGM10pgxi9bSGtPYIJs
AByFNwIB4k4otuawitsQ/Yj2mjcSplOYtysSuUZCdgNXzm1ZkSg0EqJFuaQ5BTFdLSSiui85OIHa
oDdQVLcpJ72KsPNqm6VGQjb2i3jNikStkZAoKKF8K5FoNBICJ2ixn5+YOG5Hy/LhvnTdu/7jnE5v
O3SN7u9jBGS/ETVhJDAyl4H13da40909eQOswUj9IOq6yPNpyjDPwnars/UU311qk9ZpE5J7NxYw
s7HIrMjRxJ/08RDOpVXEMphMcXexXzsXhTAM4uIm68KOouURlueKd5RVYTYh7Y49DoqDaBvR6EAx
wuTKJnbH4ROaBBX7UmhW7y4lj2NEh1kkzu2VfhCU11BEfp6wsOI8Je2jHnvle8UTUoy8pyempomK
QTM0uzWtclFD4+ur4SrD69dx2P06zydjfQCORJSahaITMatKpFtsinc/Rl+/jIbIWAAzGYoAmz3S
ehrECVGuQ67DcBv4vcdIUpMW0octFvRnljjRqIe/5D2JnIllNWt/OXdRsa2FLGsQKSULOfFKJqwM
L8Z7vi/xE63W0cAq0KMSt87LIhwUkZZx/PXX1fo2cv/RdfFwnXQrcudWICaUjULHn7sMj8EqilpG
Ub+oByrx2KjipBKRrrjoFSEU71XEHvxea1nKwga972bF3TSpy6TwWXtJhRIrFCRqhP/ug6624qrJ
kFbltIF3qcp5VmE3ydNFcV1aCkeREFN8FYLpBWqU1bILecRfpeL5/XG43cabGhF7UkXPMZc4Z9d9
OC4n42hKGL1emzR1QI3Gr6AodH2Oe7hcx0UJvbzMH3GrMxMFD1gX08aDg138Sppw+UYwABy/F+kz
cyNn4GziBnlRrUXWttCgoj3EbXX4jzIU2yHjWqPTRyI8nvCI6+W6CXcqIgQWtdFjuvMjJkahRbYS
rbwy20ufXmCowfXH+DujGfb3v4ATHXnLQKtswy28RAv1/DG+J6Tgmps91UQU1CPBzwWAk8zy0efq
MYhOYVkWoRxDGV2FwIDC+UT8mvk2tFVkYv0iS0hfLjqxiP5yvf6+CX0fP79K4EZlLItDGTAlh1aE
Y8eklRXToA4z89qlUnIApXjoLXZNIIX36/jqaRHAd/yMtIE0oihxCTzaUiX/YcabaKWpSu8glCxW
4u952Gsng/u2v47jOV5n9eQeC9fQRfGUlKyM/otSgbVBETdJPMkvCmWvet7BNg4/JckXw1SJTgjL
skBEgu7ZCInbtWUXNqhvn6eX+aieVhvmd6vl0qWB9TqFzj99mkg7D+fptHsfoSZtR5iwu6gErvo1
4AEJwACNuBAS4ou4r3E0PpKf1+UKG4LtKPwcOeD6cf1UvpeSWOSN8ftP+/NREdgIEUrWYB1YfRP9
daFBZAGB/+tR0d/kYdGPAsfdJmBaQLE/9gHlu9frfALUjvO8uwTLchmVzgFPeKp6IUnOAtN7+TQX
/gH/P0bRaFiBlEaB/zZM0SwOp6Np5JaRpAT1JrwZt2fomHT7TazPEBTYcbLZek1wWR7+UzlBh8zm
mRfhE9xKNRNITVLcaVd9Me/gsteW6tCNcuzWbBudqLnvNNFCnGel3LeluOXSM0FTdJRHzzR96wI/
j4KKEYpbFmjuuROXLjIwaybauN16vbg6edln+H/KrVTbuPwrl9ImjnD9cFRquYDdpOROlRATqRdT
ff0QLx/6IbZr2VOqh5jmwma96Tr9AD90AS6AfmQDT2LbKkkhIclvaVSRu+16+vU6ueQTYqvDdB6v
hKw7/zC+8t1Yo7tIapAfYBY+SVvzCEBtOoVOInpiyZIFRfW0eh3V6sIxpcxyEzOL4pZBvvatqhiN
+DqEcSLbQJYQOH1EDgYixyt12qWo0yacYCLmfR5vDC1lRbDQBd7nSnmz7O5BJszdVhjVl31GhUgX
7o9FJMilfFT5PoQg8MwXUXO5FoimEE4ua/kgIWaoRDsqYeiC3V3YKaXzlaCS4A8E1fnX4WRuMugw
1QJARGTPq4WUoJArFLJ15rtYUfjdK/ieeZSCGBVd4UhyTquuKZRxCn24BmBNoYhTEFUEC1OR5wjT
JhgacjIuBP57eDcsdGphPwmojOnM2G/jFiKVsOw6biFbGORLVfjIMSK8IrOdvnMRZbhGotkJWC//
87hj1YehyQMCLOrfVNI9ql3u3X9v0c9rEZ+SnR2BJUQdvKpdnQKnXCCqM/DLw1Gsu1a52Hbt+DSW
SKyPiT9sAj7Y8yVENUDz5B1zBdi81CcBJSM//4x/A/GDx3jbXYa90bVhAcArE7a9TGsFydEcCZX1
n1ylIk6OV/eikCvXNm4VktTRW6+rFeeUId6PKu+mWvO+sA6h8W++Y9Of9nglpr5tRHtO2sajW2Wk
1kEWdCqwhE/VxF4xAERH4zHB5qkctw1VcyoRvWpdX+dX9iUqaW3bJi6goVIJpVhDKbypwqcQrWcq
4kl4sSYP6jDY1xTP3fVluDPInq2zYzCLAF1fykH1fbjR18vkbSlxkLFUkHalF8PGEgFgPDTQtBxT
pASa2I7Br+bDm1KEIuKbGJvusudSiTFeKiHiqyUOj3lOyyodz1m4Dl1pMlByzO5uShwsUASKrpSi
DcG74AgUtdIQEyfTluGSAfvphk4yj2VFruWGIN9sZSHOlYUl3PG/vxzn/fddtBSUvTXp3cu8JNN8
Pc7G7LqivE2REuo2b11c3pKycAjmnRqfA6RYiqD0l/EfZWBtx/E1vTQRCJJx7sjJpajJ0GkuMn/r
jQ4vt/n4uKcJtmFzYL28bTdarPfa+0Wx+Bo1aVSvU93FsxDYx4VAvc7utE8VaFqhZ+11Ooo6xVWW
plCq8dom3E/gl+IqNR69j39g28kT3QRKtf26Bo3dgVR7QlzLt9m6ezJUzdnGSy2aSFHrUiIcVzTN
U7tgvrIwsDZLszFEHZL0+GRRnNLwkq+znv7v2+T55QojhfXKNFke3BauMs0/R6VpUdwsiJmiS1Rt
x8vDLOwsWW4NpsbF0xk/9sfHLYInQ+pb7IUyWo3I58cRS2RBltdwvaokaOIPplo/uDKQhVcagPp1
Fl7gEgF4ulptWoWT4FyGYOuotDL1KgLCva4FfpypGlirBJbVbZUr96b2lt2qsS/XKFXhniouTaD/
XK26rMMHs75XBaC9Dzsj/uuIr6CI2HRPnWVKzWQdJkGPgsZHKsBCTdgmJicoLmKyNlwsusC/0R0I
U3SI26Ld+ll3kYrquAJpyrBShFmV6QbFVnZVyn4dq2mSfap9Ea5D9jpt4vBQ0p+W2iZeEK50+0pa
tetWdJorXk7d9HrlEp/khopm0fbLct8v48QIg7WW4tqnEG5K7nqhZZwhzqRe7ZGwKjxL7RD/vAmr
8aWEJ/7LsqyyL9x9SiOPnkj8ZWbhX1+LhrjDKAuBZCUtqbs4M3Z9+C15vqESGyrXLRbF096ZgeKb
jzynLW6+rKVnLROU6gowQR52S3kH4OxpRWtl2LgebjtXzQo3CN0BAPU4Upo0PqqL4x8on+vWlcVD
5x1Hmm/HaT9Gxs2S6eZGlnkSBmiQEZYkUbp5YwX4eAVDEdHg3d0yt5YfppH4UVK5W00JKqjkps3n
YymVY+nElsQji63nRVmP21oJVmJpUe+pt1FYJMo15W7wXdF2Dp/jmch4eoEYs0KqFlvLnI/5fD7K
fbGOpvU0iP2wrIdxHDWGKcUSRNO7YLrTOOoHIi4ILOCia3ye+9358K+ClMZ77mxxkG8ZPZBKOZBe
HAjiYLgDMXpJ3UopGBYQzNun3ze6cbzv31UqmTiQzlXJixtplBuR94n/aFdPOHmKWZwC/75yfIVg
SqiMLOo6dp1pWSJFGlxFE3srhNWrv155MPg39XpbrbItyaWFE2vi61r5WmxEVi6IrxWGKIr1yqvQ
lWoUJE+XjsJxut03LKAURwdqz/Z/rF+5cpW5XEHr0GVir1xbjZQ5og9WHKaiDwohfyUyNrik3EJi
mOvx66+f2LP6x9iDx3IMgW/tFUL6NP79cdeI5KHxP+qT0Q7HPT9vpNhag2sk8rWGysKGhMZwUoZl
/nWHX65mBzRrgZj5wVgcnpkCtRXtbhWkraqsDmT04oZyXvpl6z44i43OKF5THu4O85oO48vvikgQ
wDvN4bwfb3dj8ZPjwv0fWtBG4khVDsHE9YO+0NIopHpIoLE1IlTgIaIAythfIWv+7+f/vI2bsdCy
SNsvOBkIHv9zVLLYFADqwnFOGSVV+lWzcHqSQxdL8ZeafqrasKMyHO//cvy8aI5KLWIWHrSnc9Tj
DqaEP6ZUYi98u3hYu48EnDxW3+JlNVuaVOJtRbLTNxRo4II1JYH51AopO6bj8WiBi1jmOP4xHGnR
mrNkXrtC4zoB2qFGrp6C0s9Z6ZfHVYlqR8K7K9zK+EOQqQ6Z/XN8GA9MeyCVogoqCBKpwGOV69us
Y126uVK+0G4sX1DfdJtl4ab6GPLFdNaC1EXgcHnW6HiYaNIo/gmDe9f5eNvtQdYfd+OP6PRWWKHt
1cAqHvTHe5sIPIzzjnN5f5tOMDkYYsBRQqJNif8lq3nsDC7sOA8HWk2cRu7KgQmGiXXg8DhMM2zN
uEePPeqv6z5Gphd1fWCfsM1FG7qbnTwuB5yE/MBJMZD0BQcsuqpcdARjFVjvHRFZTWT4KDRcYS2c
clfLQ7ZXNp13dFapmcd5JoqvSlAfZbOAZvL1G8mHcfs5MgYbTkqMGIaAV037Gs/76+cFXptjrtXf
7X4Uu9vn+T6Em+Yx3mU7dmB5UNvN4GVrSnirQ3TCcCbadGijywjywJoUbmdKtaNk/siu65rSdKN8
2O1xAUzU8aBRLN0u8+jazGtETlOGFGeiIQstAtw1F9Wv6d3GG2Qpd8fpdQSe1khWC0l4GT0Pmyfe
uwxGuBpBtrsOkRnwyG69e9wV5OprrgvfcoUZvhj3sNHZrOSjNI95d5sf1318BbnsZAcqXO7Iu5hv
EAWPfpy5asecBvKUnKBCSCfsBVnGSJ/nnfZocttZgwPHYd61lAa3cfw+GK0bX0vuXm6ORledy+/x
GIwkMPZwjO+QTOGEEg6flotAUWt0y+Hzr3f1WjtHJM9F8pPIvDwQUOmwu8/z7nX8afTVGw14j1Ms
xSB3s9Fa3pIxRQwxOKHd/jrc3uNUvJHu5uLbBYYMnBe+sAtEZffD/l3ZYO4I1SAya9vnYhUKCcsD
9KMZj2E44KyJKBuLbtYSLP/S0y3D4z5fVB1ZOM4poRKv7L27n7DFhEpvUu8h7wRLd27IEKsUF72G
2abx63LvEgskm7xe89HlOuL/PY33wejNYXce7o/rcMSxXFHCraith1Mr2RbAi4eZ5TfUvXCFOASc
BIlZ8uX4eIMMPieo4qrLKVTsFmn4GdLNWqWO0AbXCec17bS76QXL0ROtal/CAaccwaUDW8hKvLjA
czedozFUt5Kc0QZ4qD/fx/PufTocxnOUVOfuCKnm8o1CqxgIrfn+btZm7NzxdsGp8IkH1ghYEYGJ
wOIUFBVqBqiHGS84XymuG4QpAnGT9UaR2ukyvu3wbuL7FDdqLqMrnk0kOH8awaqrK4G7ggHv1mMO
w2VE9fVxPDJ4RNSWFAeFvn4nX6zxBfbfzfk/xFSwuAlYrnRo2TypsJ1LBSjaTMhYglLOQtbkfriQ
s+NWeZwB3O5XRa9kwtgtIUpXVlIioA+wyZQXsAM4PsxitDLbftyN7h2Xd3rF/jidZ1u3MizCLuTC
Tg+wjQZsp7qN9/siXeh/uCX0oGNhxL2pymdZmhDImYCKKSEKX/YrVcO+VMKoRKYTwoOm/Nn+tycn
5mqu4XobVdlmWE+Yb7DOytsgsx4mOBWuW4khT7XfPg2J0+52HMeLsgzHExISjEhYST0eEPZhpXWU
dfXCE4Jz75qVPQaNyARqNRkrelQdqzwXJhGW9zZtRA4511hhCqFVOtGbRUwBQrHawA+iRwpLYhpP
crDJeJ7PY5qWMRxrYRK5AZLiGSnvxElDVPAcZTqP95/z9TvcGy8G9ePu9j4c5p+KdSbN8tyNE39y
9+Mn4zgKHk1br7QYdGKZhWAR2+vublhM0WMSaqtz6fJFoHJAchnYGbdNhEbE5iDbFPi4s3I1Fs5t
OB9e5g8yfwxzzj8ByGi6KF5UK2SqHJep8WZKUwozEvVK1W7UJTedzzKp7qBRs2r7lYGmq5C+aX1m
Y3CXtUGmhLbcU26RyPOjwY595a1U8sCx+qmQ+h81jGclwytU3o+0is075iDtCEmaHcu70wtkU/Z7
4+DHGSH3jf+8WbvTxoy+pX1q0cHXZK687n+Xv1DjJVwV/om3J//8DQrQIYz5Dfb8TXV+asSfdFjk
4CWyQfxEbTxd7hoVAR+PdRweFVuM/m38mG6Rl4SA8b1ozcbSofBizvM37OhU1lOJDm3Q+mFCqh4j
QqW/sSxMCM45uSbX+w4qt8limztrRGpvPdyb9UTkZX573JILyr3TLrhZxjAq4QJc92KDd2MGvBg9
ZNZ3/0Ys/I3dnPiFVrl/DyzGiDJ2LH47zOMNaRr6b2/j9RtsBFukFaoCPz/DkEtmAazkmtNsktfe
CVS9beO3QRr+yv7rN4pOf4MnFfPgibA4WgoY1v/lU7akjB2beKAO8AAM7LqNEIJzGw8JbhbvCwsG
yidqgDkwDUdla+KpIz3OzEa3dn83ntPbu7IqAadARnau7jH9anMBM0Ej2Ys1xa0yqcrFWAvgEYaa
HK/XmfBl8E/fzsZrjYZ7857hDjGCDAKJ1kOfblkKU+kclR7iZrQWCheTGsA/fnsdjjePWxWZK/ir
gQby/3IkzaN8ODLwVwqdbsUXwFvCDnXvSf5Fkt/K3r1RMF44ZuDR2K5fhOBAC4jxgobzf5gz+tvn
hRYo/v0bTgbf41iWb7Pxg4zwM07ycPoGFuK3/XwY97dvuXJnjX9nVf5fq59kYa2mIHJrZS4M1D+R
WbyMb0ZOg/DjxV0GqNUxvuS3QqPvkjlYjf+8zE0nof0EB/MW7u03/4RG1D0sSGGwmymJmr2/z4cN
jyv3TqBmZcBW+19ZK7p/JZvo2/QKZx3LfDJpl42C6E3rtWQCqS+IgMa/p2ZNCuwHXBiGXb5x2CW1
QD8B11QJqlRSZO0ADP5p1F2uq2DrEKUfpgVJhsIft4h3Iti55fYYpPyvhd5K63w7DefHoEnmzjF+
jvUWnAV2S4pbI0zBsSDEvDlESt+zpZBeRi/4GBsRa0kGq7lW55PS+ExXpi5FgE7S5SNTzRqmlglG
pjK/56PXOMGJAOp8qdaHteGkanFhtQv+Mo3r/GY+uW2gI9bCSEGhi9/AQU7Cw3o4KLi+OCJml6et
SzAkvct2ta7kpXdO3rCN1q6OWft991rxqPP469KWIPgO81lNF7glbRmduJ7e4ft670r7vlkxPvtu
/D0YMxt4RBwkFtax3g29nu1HI/QgRnpquTMXRk4tb4EgpQqM0vXaeHe1gYGFbSFb0kNSeQM1cfDo
rpZdkH83UKqEwdCsX6g7KO2E3NYq2GadYY2Wjcr8T4RRetGZhmUMVTzgEA+j9GLgDgXpFlvxK2GU
XjRH0kz3xev+WhilF22Sdj3cFPK1MEovkDEIAXEpafpqGKUXY56qksIosQhINIzSC7geagEAm+e3
hVF6MeTMHlLZ/I+GUegnem+5HDr6b4RReoElgVQzTEBk3VfDKL0ot15OIPsfCKPw8xVKoCkcLMTX
4ihMS0gTLIjh4ocvh1KYnBBz5Dz1X4mlMJHeK6Gr298eSmGCwjiqqWf2t8dSmGS7kufPd7DVfVkw
mnHDHXnzX4qmYEimLDw33qrPzcEUIuLiOqWIBfzWWAqflbDdMJS1TLn6QjiFSQnTA8uKqk3xFHG7
iecvUG3BP+0CgRWNgXsB94cvn6KK2W8Lz/RiGjRQAy+0qv6HwjNlnAuKzI/u1b8t7JEr8UM5cnap
vftC/IfWmXssXzzHTsyBf4M+uskoArBZlCUVjZ9mKZPECoVY62dIqidifEZkLWvLcs8a/n9b/k+G
oOgu+qf435eDaBoz1d5VB5gpTV47HzF52DyROv/vxc/oRASccr1YeF8Ln9HiSv9oy/+J6BlRdg8I
i1fL/2bEi6R/5p1l1fyWiBxRyj2u5RLq/37ojPbee+LJhtR/S+QM6VUyMVI7dLevhs5o5+LlY52V
F8zZkMerxINvsD27+lroDKnU64RUUf03I2e0OCckqY29rX5T4IyI1WJoeOdwgdNxMzpp9/Ixnpf1
X4ia0SG5i4cq077/YsiMiIhsLnJm23w1Ykan4WQFGkkMQvMbImZETsxCJ1SWbnvAjM63E9IAq/83
xcvo14VOQS3txX+35kBLORK+czh0G8JldDWyTgHn8OQbo2X0uTAvqGm1+EqwjA5CJgCJ0H8nVkY0
BcdhVKOuvhwqow2688WMblV8MVJGtyQUPLmQ7W8KlNHexJmjfOiyL8fJaFWSAyvset8eJqPTkTlW
tFwa28lIxUtnKDJ+HQB0L9HVk3WdX8lY9dGmHqUGURTAlcKPojIzbFlRKszEuIwStLv5Z22nfuy/
4zf4p6VO/2AWxV338XJnDIxmItSBvixb4kTv5/jy437f3fdmA7vhOL2dCSYQsWwtNm6ceEUoffAA
QV43YtHmBg7jztgOPPA+ToSGDRCiE0p9DrwTmf1j3KE1QgvTd2uH/lGEqMICckHrMN2gqeoAy9pr
8aHeeZqIHN5WefDQyowQ8m8XqJ7Gsr2dRhgH5vBewZ33DsyRzYrdy3yKU8ERokylXRxhd15X4Dfs
SsUhQtON7+DAKKtHJaLbidEvBGRVCepwB/inuFPcFY4pMDXbhvkt370ch/N3ZDWFWtkv1MDAqVa8
ceMGE3Pwxu5Vggd9IQK6CE5j64CYFozbMmendkL2Au4A47lQJVMXeYDHlJWIEESFJQY1d14QhRM8
HOgjowd+gLrz8/iTamaVZ9QsB1V0rZh67I7qNN1u6spEfJX8o4ot5BBv0auEv0s8yq4QweBe9PQv
RJf5V4J8UvpYxHa8CDBkqlbumOV3QjwWuWNWyIVWnsA4DlcYsGzYwZh2p4siZR2XQr1DL3keZKB+
d23jhLRg8rfx/stj/N3tX//25z/9oh9x7fIwYIHUEblS797H4YBYqKeoPqNnV7pn14o47xuWbxNJ
0ksglSV7vCGauk0baJFVF6aFShbbA3m/WyIMpa6RENFoCGlXDMkpiAD2lEKhEDU0OMCkeVrGZTCy
/arRcDHUVpROChKpHgTejSy86h1+hTwSo/epf0Bbj6h5qCuux151m8VvvnEvgkzGRqoX6tmCwHWq
M5iEkiNWUKqxjsqT23m4wCg9VAgoAG+jItA7J4ZbSCu3ebUS56fhvn8HymwJKu/PKb0Swtie+eXR
UqSRe8MNyOKmkkJA723vBVL7kgQtwnqztI1pitKshIHQOXA8okVN4dzkhveZMiGdZskxp8X5cWrB
SIi2WiQb0bqrw/sqasbZASTwhyJq68LtrVrC03Zru5fhfFC24myTvEDnyI4sJALfJ/XrVnydO7/d
sQl0h4GqVW65ltrfTdp5Oo8MnwfCSKJhrty2MCpzl+5yb+z0uEfBBIh3ZTFA7VCExJtHPwhaQjY9
e6c9UIP0a/NmscQTrJfXwqgpHc4ca9bHfTYPE7CgHy/36X5UD16k4XEOXxV2hIrCuGuG2KRZpZWw
SqH08skqNf8g800RYM4OrOsOq5kjvJBV5lW8mW2S9la0tnsbcI1d5Kn1YNKABNn9fJ/u1OqtPDj3
/GHJfRmWS+1mp7HynMY6wv/d7nFesg9pqeAYBQRxJyxBRJ9EH2gwV6K9AxxyLrbqv6Rhj4Nw9Odd
i5cEtYdlGVd417uSqOycnGhA1bVFFn7V5mUOb6ox17bCp8N/NBHGaJ1Rrxx1JUxmUHZhWtUWu7nO
PU+2zld2szXi1WIOmdLFfzTr10hNhjvukAO7EtS54giJsqaGjCDvibOe2R0elL4aSQveCIjBNq/i
+1eESOZUI/fIh48yK8H/S/nJ/kl6Wk0ELApjDL2NxtPCTnmNlXGupYhV5B4DioefQbCNBYqyvs5T
222xiioIHyJqspPHJnQLhGayp8sex++qpdYLk6TLedZkaDGHcQEKS7mRlecuNWtTFHApEUfrakxw
5aE6HVV2aLxFbdrjoG2xcWKIgcSl1LZRxAQAAzGpKM1rF+n/s9zzODNjRL4a9UG5PfBU/wwRz/9F
v7B4iH+Lx4zYZ6m8rghmDyMC/ma/1j4u/Y+5Mmb5FL+KmnZEo3Q04MGz6gRjRfuo8dokqqXTOwlF
Vopq43YJGJj9/vJQf1BUI+WLn38cXkataKusvBYMDtsDBz2GN/XnZHHWUrcUFRv8UeGdZCUxshK7
6/zd8dyts25M8bet16vTMA8ARyIPSI7U/EHmqNq7HunKaV+JOulmkcEJg5k/bb0fZKModbFF439V
2mLIqHTg78RBFw7LbXkwfzISGL88jue3u5LukqOpnaE/nw0jxw8Lv5SDteulv3A+E5+kPs79EqV+
tX7DZtu30Hl1IByuptjb7z//qNQ61K2fXKPpff9f0Bpqdj/mSbWyS8+qatvnUCbgjzAmDUJRA28r
KsnZspzBbz2fzlBZ4BheJ80qzisREcIb99UJat0RNEEqBu9CJDXm5uva83g4o6VrJIv2S/aewMSy
OpuyfnoEkpbTiIBLjraxJDTcB7BGEqXEvSgUL7t12P1gVK3DCDW3p/gwbS9qvGm+ujSSjuPbsP8c
LhNDfSy+b1RH0eVlIruGcqIMGLKI460YAZWIj+XQ5VBmdR4JUDWcSLSeoGaLdVXpRaqqNhh3sAbL
ptiD84ExldpG/S8cbxrFnyMvTG4cMbK6sInuXOp3Y/0rZnDrJccizm9e0RnqMfoq93ZaRC6kzHnf
ezBAPxUR5Ex0fKKLTYLY0SyEUuE+ketBTIEinIrI+yW8pWyw8cJI9SqhxQPlLl+OHAuTtsFy0rBn
k+W7x/21U0Ss85AQ18rifgfM9cUX1iJUIiCEiUUvjWTNNcCIATzNs6ZNMneVTYWmSBd9BihOGHNf
OTQR2MDYZynmlzmym+Isbd2sMoJZJCBRpgM/mecO+kldcZcNLe8Asb3XabxqrqoIUFVL84rb49lI
YgwFpQMcdpgf3mmxisiZpamBlsLJCrAOPKfSGlh6xNpOg6Bw1GKLh7jgfb5Ov0IaVotJOc2L4aki
nNovcgQfVUPWnZLVN+9mmQaLAUo1INC2uZDR+JzDEcqsW2T0eUYxrfFA45ljXM0jmH0jozuVDgZv
E9EeLfHVbPhTWZIotikWZ4xoYXwBlfjtfRy16ImoEsCcOb8XrlNiPTue//EYH2yJpdL7dS1yz6jD
I1HsbKd3E3aFHyPyw6+YN+BmsRvaBqphkctcTRVn1rzeaKgIs6JZAKOEUJjvJOhnflTKMxLZfhAw
Vb+OEfMw8eEGmTpMICfKnoQlK4cEMqtqKS2hr6GUqA+WXsGfgPeVFYiIKRYjNAEHxkXQk3kfp1kh
WucdEBP7x2Pafz9q3ORujCbhABDfCrJ8N52Q842MUfCWewFm2rfuwlbgtPvhRpDbZ+CnH2McolYC
FtYOLY8Cx7edGKsJzRYKEHQm0MwrN9DaAbipQHK5ABstKhp5+wxux7VjCrydgHMscVoCD+MR+Zvr
/XZR9iFw3akSt3qioJSdEY3Kw3DkINf+dtm9HGeIzeOm4lh4DiawdogndMM2w0JBzr/9YlRJuOsF
y0dxbpv5P9ARBIfashkH32VF/DuyJvE7vAxbioK/Vyq/Vy3f5VS8US/ftcp3rfuOAgSMjo6/Vyu/
1yzfEdxAxvFz+LCo4h9SVQJ9CEq153gVHozyg6U7UARS7nu30Eb5rnELzbkue/muVg6GijTpAuEf
XekONFP2RykY+o6SkM3yXamdS+cuAkMI8uIVhsE5K7w/slndPZS9sj/3HRYjdqVbZ9Eq63T7KzAp
3LhzaTrlHhxj42x0OwoHGbRRGNTdAw1cZgcQzyVTzsWtE42mrnLf5dr9teJBVG6EF56nsr9a8CeC
EleZ4zPlHhqxzhyhoNx3nfJ7nTvPHmvGsswxTKb8YCkkRS/GO+EGlYuvc7FBUMmZu/hakYSUlOeH
BN5P7h5uqTzcym0Q7a6uqhzDKAfTioMB6dZ3QqIpF9+5daKlIC8+1wSTe7g5xdSz0q20UU60cV8S
tG8trl75rnPf9Wg5ZJmTaZWyxVpcPQ737N0WG+W7xh0NjsYrKydjMkWGlplQZo2b2Isso8kK9x0B
IXZOVjSKrGjE28XqI/EGe0WG9kKGUjWpO5dekTF9vmY1dw+twjKt00kFJo1L912pnGcl9oc+XC2e
krK/SvweYfO63+sUUdFLXY0wyk7EtMrvtUK3gNhoa8cvvSIqeiFDMaSeiYsolYuvMyFEwe4TB9Mo
C23K9YGK31MuvhJWEyrSVhyM8nLbzn9IhTiYRrmIVjykRgDJ44EqDNPLB9+6blBcp/LgW/HgUSE2
7gFmyj2U7jw7qGTtere/VjnPVhoVlWupRUGhCbROMBoUlLRCwCj3XjdCt0AyvBUCTWHQQsj6Ghup
amEWFopIqwqxw9YNusWbV26wqVY30bqnmys7LMWTx+4ZKXoV0VT3wnyF48ncTeQKZ5dCW4Nv0Avt
2Skc07VCe+ZUbufeUq/cfS/0NdoKwnBqlTtsxU3wmGu3Q+W7shYGJRhq4i0VytuthIxpxDRvlDHK
71X1yhMUsqlRvmvE/qBuR9p3rbLOLnu6CYut7Q8S3K0GXv2YbpM2pSyTE9Ow1YJv2EZOOP98djTj
o5DkkLEK8aDlkLFl4E16EqMtf8CZAhWWArf+NB47mVOZQSI2VuIIrjY85+lwHd70kTS9mHyU59hd
ZhEUvckxw/HyPigjGMT50ARf0eu+o3iuvo5WHIsLgSwjHOzgmfT5li4gRLNPy2I9S2WZp6F1etMk
FRGjKjCEUDTVc5SKelLOeFqH6aBNq8jFOLeCyuxKcXkYLqK2OyoYVWdfytl31IXVJ6fRQO5emUTT
yW5g4M4qNEuDBr4qg1TlENTGWbbiEk7mg+miThkUgblWeIxEBKv/rg98xJRGhO9PI80hsVNRlVFM
Yl4SwtnXkvpFP/k8z+QIGuy4CYZlEVdmp+DK4DWKYYyufvzHfITtvAxXDoRjfa8+3SavRCs41aoE
Z6HQvLrHHcFvONPybnhXnUVSieEyWLjUyulQ8/n4uVuu5jqdb9AaoQzY65vGH7pG2z67IYS0TEwv
vRleflwhHvyPx5SYf5SJ8ZSEu5sFmXiLrM3E0Fs80CKrn6dU4pq8hSod/4UIFQPAiPf+6Sog5wh1
0trM41aM+wI14o/gvO7NLdAUxtRg0bLwr0Eux42EEWPTUgOQhVAiaPvIFEI5OC2unxqhLiFf1QVG
6NxgGuM5OX1Njv+q1wNckeG+dpVibVT8741E5uGD+HRTE6z7TGQx1nPhUFwe5oc+klWOri7Ws83k
MKVYeQoJ7kosBIzxpgiJtSj8GoozgWnhZhAEh1AqUBt4+b2Y7QwJ467y9JtZC6SskqNzhXylvNyz
CtelfSEmjLetG3rqm5LxfYgnhpju3hwnsh4AkxTLhxBCS9Fb2SpdVRXx842vqFtN+vPGjsmJfFA/
OOhTIcXIc4zZ1V3pyyJF+AidQhXY1cbZXahvlr8/jDR4DP8FiwrVpjwS7eJSCbOqdyX01HqhjK8S
V1ot5WFySDCJ8hsMRTvNy/BW3XhtOjElD+qnyvWsvS2j9irB7gCCUQeGdKI41yyJrPDTs0UfHaub
GBgm8sR96/pKeBqn9e5ApCiX1YjzRhDisGHKTuHO2STK/bdyoDcO+AkNJcQp6gg5eFMEROvNjM55
de5RTmfECyGHg/ufWYAlZpxZiHlaJ16ujYvdfrzBJNjptJpBzF6E4oQ6HU1Zv7r3JqRuAy8SMz5x
mkjtm+dsA/6cDmZh7+P09q6JNUELQwGVYHwoToK2liN07Y7nt2g3GrJ/7c1Y5cAVzVDltYmL0Mb5
GltGuCBoCfpD6hyDKJwhJe0yMcjZHFCfgL16u1yxD4RZ32OkMmN3xVp5dPGP6zHhZ4vXWHdLqX8w
0qJPxxYOUN85lD0rHmal4qKTp4qGS1VXa+EiQXEVthEHg5HmmNmjcLHglwKZpojMkU4ZcZU3gdeT
l/4wcxjQfnkor6GUqgmfV2g8srInYYMTmkfQjPs5vsS9UmGT1tVSnbWStxBhUiSsDJ+IpL0y4Dw1
gL4XKpJyGZ7MhsCE4h0LpwmqNWtv6jQ4TZpxnIuR3HjAlfxlBoyhGbap0eXrcGKVBeZ6wl0pcsU9
Igh5ecVXrxDgArdBeTjCX8CEcL12hlKumWF4cR5g4jZeBRc/PjjV/XEcrmq8qFkFxUq5mmXG+Xhm
sy/5AFpZXFav5QIruMSk4FrC6uEjWpm1O6UxkBhG2Oo8IiUc6/s5mR0asxH8T2XAby+CBxCMaLvQ
m8TXxT3hi72sPFLhe2LJWFuttqmA6NE2mxUvMR9wAdsyoZ5LSxWdIvw9nIBZyFsbbpdxf9+hN6KY
NiKqVHWucMcfUf/lozf3Jx4tJmW4AdYWTMZdBRHxrRwksxSh6Ky9DPEh0YKfa+zdqdcTwvU4tryh
fB0opkijIjadhsQ2kUae6GkG3fhqTAflOcqi01qEJUM4lzsxS1ixzBqfoq8GhssF4vupefdijjhN
juaCluEwX+4EIqlbU8J2wBRm5Q1udxF8WzecXJCc392u70mERpWjFsEOxKeq8mfJJ+X7tvOue2E3
Qo9zEcuDKCpLeIKQISg5uETmAPQ8ggEb1/zFSmvmm/IBEFPZmhMQsgOi05Xnxhl3bbjqoU9htnVP
JdE0L3xbPFBYyFjIVnUh+w0CAlWitriTwXC0wXLNcYYmWjgoJ7UVzSFcmwZlbcPJ8CVVu2BYJBIq
vVS2+Kq8dMwqflkofFquQm2+4iccKcUykxKhdJ0bks0VBhfPl7oaukhQPqlSSz82VXrmGWwjLQka
QQOqTcqsDDoBww/dDe7FyHfMT3GfhrkM9lzPYN5pQctilWOQrtErDHOAafEPlEYJs1U8DHKS6tUJ
x9t86GBF5APLN+omHD59nOMzZ8hYEdKswSGwno92nKAF++W4/w5/AEyOw3BUA2VilH0J8q0sq0hQ
cWkC3BBRFDZ6VzkbndNNH3doGLESU0Vzok0L7wsrV3vPJh7RPGOFrp9fnouVYZtb6SevUWEyXiCI
3kmTmLmAsSYc52L1XlIZ3UyETclYL7kMxXjJb/TJaTiT82HOLbwWLObjx4v8iS4wB5bzf8r+qaDJ
HvMZEo/DeU9DeggwgFo83o7mrhFc64fZ+vjBaAKxXqMib3OvC5VFsCGzAN1tJSTa9akzdiFFFIjA
ZUZdq9BxfX4t1ZX4ZNILqbzmUw4Orb9P9LoVVGvsDqbOwmR+Ha8QE7wpgFQFFSBwU1jm9EL4aHbz
66t5Cxo510+JySELGQOc9bgyotF+viDyOAd4Oa3B/1ZEG+uKonOLpYJk1y8doUXvn/4NDbHr20sd
6W8hdFj3E7Ubsoc/cL487tiEexg0ML6iFMDFpWhrpCMg9Mn942XcnYZ453pRCkyuAjP0Fth802aT
+3StnNhFUHlrfD/sDpcpvjbRSti6qqbUyjhYaJY21HWkx4EW5wFIV/jP2vKl+RUkq7CJwFaloWmN
t7vzxZjOceuSTt8tAeu2KwtBwjTMuxj27+jXocRTHkUpADdBTVeFR2k/ny4AaKJ8L/AtsgV9A76D
cSDQxmcPXjmT3F9D88WHo1xW4yFcsGuxeuOGYOqYis6JNYi29P4xucVteTvuxLG4YtntMmLLrC3e
/26OvPCOqyx+g5xJMXntwZ3adPd0MVvbvb7MykG1Hr5LW3/h9SnrEVuuW3Qx2jWXoMmgCL7GU0xV
9jWBNRi/tFIW6DrZwTSwmDse9cd5Aj7bvUxnaGXfvTzeFDbJfG3VL/r4zRh8QHhhF+UyKh+DMd+0
5+F6NS7Ky+P11bDij2n8qfyA2zbeUVn4kuhxIbzpDa/C8Q2WVuW/hakTd1T5GBTt9p9QrimLXfwm
s6GUgOntIj/NNV+mj/F4M278OCnn75gEQ4xZ+VVllziyTCo7xJXsMl9DQJpB2Z6An+gdONPqeHYv
UCR71Z6DgLUqWvl8F7tF4S1h2iJsXt77+pJgCl4UZJWiFKBoZSsNJ1kKYEMNqlYqBViPz+uLBaDs
RcBSoBVWVJuunD083fIqM6GJER+gKkPbJHWJvxRNxBM9Ccohpq/avbLeTSk8AR5TLFo8cHu7QiEi
BlxkT4aOUW2acHLMV7shyJuOXDkbwVDg+ZUrKw5LZSn6ycJgx9NuDbMrjCoQXyrngW3mD90ywGkJ
/qqzL4oc1fTvpHvSYJCz67+oqROmjT+5pe2+eDyqwCwzYah0KCa6ZUSw2b+dDgxHEeV5imc0Lp6B
FTH5MvgUPkb/OSr1iEK7UAB1x1mSuwv6J1ZQiYgK1i4CiC3S4IoKthBud0Ql3Lar3q2pXOBDfXqJ
VWWOQr3AE4OVAhV6xsayQ5QeFx3uj6hVHrU6tB7yN1Mb69xhYedn4asYtvluZoGDoYoNIlvWVziy
hfAWMX7L6/utpPMVg7FYZargvo1XwDzT9107KjUWaNSca2U6EJWhRHSCkLsJLpTILHwP281LpI7/
3SiO6/RRvf6IhhcbWXvSLuwGo9sXY/w47/VK20a0YMAfuVNk+/e1i8ODOcVS3u1j9zLPR+XnRZAV
ZFbl/fxtAAf9qrw7WoOowi8ctLulYosPEfr0ppAR6Xhshs5ta5bYDroPChGR2c5LHOpjZ3DNj7vh
F3Mej/Ph5tODXEVsvCgtTVa8YslrlrVuad/P88+zJamsbVVGz8L7OJ2m+8J/p8nOuwqvBwRbxuXn
CE2NDZZLjOg0fOysWDhMJ8oFaJTyhRIERFtHaDpbQtrn5fI55pNdEBW+t29L+b5yP99zmwRKNmP4
HeiuCfUd/p0vH2BmoZAw1k0DacuWGbu0A2GLjF7Gk/up1AMQoWIhhKgxjSBj9nfHt6EtpFy+h1Qk
e9qoJfHno0+Lvq6Xr7Ewkp+W+zy1+spbPafpvENIUcjdQWLaki7o7Xij//7VKEUs0mcGvh139q+Q
B16Nj67IDlGPixOUisVHlYQMEaUMoZE5LIoaFyEiV2PMK0RkpUblEpE+kf2siAnRjpRTgUwWIDHc
prhAr0UJHnW7MkawT+MMrs1RK+dtZFsqJpS6JkAI5EXqikSCFQP8VR4gdJggI6rk0htRX0ywgmVo
Z6f5sHszXolWgt2I+bjUCr8oCp/90nsTa0KHt+sihNJrEvVLGBnmcMmKf8ZJUccyA40tGl0WubP0
ckTlCobhi9AR7Y9GxaeJydYRmr4X4qXbaZ7v77f7eEkdu0Too5670LEbIXfefXwqb0WwAQa+i9Cy
ruPrcdRevqxiQv82yATDy01ZiazJ6WK8LQ4oeeQCgJCSYH0Rvb/EaYs6xwLR00KklJW0qwKLNsSU
ymAE4kd5yHn0hLadjSguRuSWrojRSjFivXpwYc0x7KGi7udwPSin3K5ItSFmHDQFUvcS6qB1MwRW
onbWLluQyMvYjjQV1MjeSExslFlEUKeka7tSQX14LW/aYvKVgcBu9LOlkRaJ1UqKlUENf501V0Bg
kOD8uiwiuJRL7v2awrJgR4Cd4gN+9Q0zTt+o3O6foCQhaqM1vTN2IWfHip4I/BiuE6JKqyTarPBI
cFcUL2KREYll1B6NyqcxjcdDioCzVhGGmylsP4k2c9aqQCj/9pWjaNgCw21Ui1//tZPovZPgkC6R
uFzHy3UGf3O+frNXruwo8w81l6vZcqad+55HRGBMi89i8Ttfr/P5bgRdrOqcFuMuCNOcSxkQ1Jnt
jY2ubcQ5QiIzDbkoKLFJfexYC2LknRCLL4/peIeyMuVr4QxSwCWjU7ABjoDvwr5vcTjOh7j/yoWU
hHJUuwrmCK3dyzQo3jD32SM1lHtVr1EzbPR3xbXOFmKEK8gQTNONhq3d3nF2Nwagl/7Q67ifIGLw
T6+xNjCMp7UunkbD/OihSpIwExzLLw+Ihj4cAX9cG0JChGXcsHPTFyVlLvJKyQOk17jIaUmoUU/k
ph/jvjRGojnTM4/nUTdvjXSb6+EMwuo4AXAdUde5VZjCeIlTdVF5lMF1bOvov6d27gL0WCr3fENf
3XfuorGlm7KwPsrqS0eZe4vMM6FNuaTv5Wq8yvf4PmtHoka4x9BtrJhbP7m29u6Xk+5EkYF2jPT8
jA6oxJ0VjvEgs81+nFyW+SFoN4OghPkrN0okwSRN7nF0+0x4wtFGW+/ABhyWUWHPB/iPxwxhf+oF
SVyoSAtVa2I25noZ9t9xYq3rElVqb2uRq+rw7XVcPuqfZiNOkx6gQrPz5Ff5TA+2achcjEujH19X
e482cNH3ed5hnbEaDqUnJpgZSruLxD43c03tUmMgZfpnqcqYJZN5JNFpA7RhIf7c0Ehf9Duhf9vP
l5hJQa+t9Ngv8H4pWjm/ssS/oUgdpjN2+8fTAfRa3O2IApqVFKxIFOKfxNqVaxJPxsF7rSN0h1FZ
WNV7N90/s83bcX4xB2gNNSe+jLNzO0UnDtObdpm9isZC8ADI69uIrfxYexkb00ccU4gFwj33VWCJ
YIKMuGFKmCVEay8uuwurYxG22T+uG2yRzsmHog/TPFPGEi1tSB0clCeYOY7pEWy1r7rnZ/g4k4hB
yJTFnN/dPk8v8zGlR8XJZkvKRVK/TafJ3NUqSXUeTqMmOzLviduckHe2sMTUg+wqXycz0AA9vt3Z
yGx4eHAAV4hETqfHKb6oMvd0adME72a47adpm36pPAaqnp/N+AFDtKc7qsH9cEtZiJ1YYbdAnoQ4
cos06zov5Z8X/bPxYJ6vm+SW1gmFSIJj4Msa2/6FjB/7cTzcNlxJljpC3zJJ6dLG0QNbrMu36IOl
4UlRDIUnIYM+xnG6kJmYMoZ7jw0DSgbgsUDqGBM09Xw7T95UTUAsIvZLwuzKVs/seU0bvTEb8rPS
nne3riHgCO2O0s0KfxSeQmawN/dMwbHDXlf9yOvSNxOet0dRGWnDJC5RKDUs4Sj8laUWJERHtcBr
+IbGy3S/GtPeyI7D+AEPPWGLl57tV5YBVtjPxzm1s86xJ8RoAhoBPKviS1a9z/Ht026hHGIrgxWV
d5fN89EdXg8fKe+281wDi4goqXyNIWycevGXnyXPz3dj48Sxi4iKz6hVGQllbApfZJ4yCRwUyoYt
ZkLd+45eHVdMKFTHg42IxNmsXXnbTUI5bXBznejBUEuehQ3sr4QZGs83qwK+GWQdvvIYOqFKioiP
8fT0E8LIPQnwrdoiaGypnFd3pXfDzimLIevQkftVjgHBihLe8MM2KWaTu5YtQtKHC883u5u98K8L
N0leCow5cTht7z3LPHt+3e/Ym3gnVILB/OE07K+zsqq1ZduqZoAufPLeUycBM+D2DjWj++m6fxAC
AwwhHaIYlHQXjioNjWIQtvH0Mh4Oyxsno2ziceuzYV7zP54Vb7PzHNY8Zyw+Cid+0UKoq5UcaYJe
dfGlR195PpFPkcXQV+NGYpVt4fCUg9ddpq67yH0tEQh+nvfHx2FMecCN/+a7dLhDqyskWSSEcLUU
nXsSYTbHdtTMeFu7ZAv7+zJ+WEXysDLPRC67oJ65bVQxrRfgDci7za69sNwznO6V9SJ0g4e0hFt0
b7uuhbcthst6DHFiTxSjS/eZA0xpl7SvPXPQ9l358Qcy7qezDeewi5WSWqUnmAOBT7DkAJcI5rMm
DLrWczv4SXBfL9hdV0yBfFcOUbi2jZ05TyWxxvMcjpSXQ3X/jf8qcXRV7bcAcLUiBqf2o8jzmb+p
4E7M/y0VciL2jHzYcOLQ3i2BSNDgg89vRhl9A8LxRRJyY+81e3GroEeFCisSZPye07yxPavXs3lU
m8mIkedo3Fc+FZDk3+AfKTK5tynON43/eAzH7URkv3i1JDcOEzTIIJUSqJQpKqJNplws5+FwQBIV
kEhcUd6vZkfn1gu+f+MtbTxdMfkb/DC7FvQlkMh93kInF41FKFLZ3Hi8AB7gfSvnVaXXsc6mnj1f
opE6Xdnq7KYLSH7ZdEl14bVys/NmDwapmKPZQEh0FWL/XhvYU4rvRDs0pjZpMda/2nzZeXAO/QKa
lSxhobWU/vnmjnvNMtKPKBdAHqVrzfLEy4anWGY+lW7FcBtfElUM8pl0S8OgkwvbXrR4RdiqstrS
VjplsEl7Lb9TRyO6yTG+zZW1QjhsXk/nIyGUnqTaQiIXcCZwNG0T3FJqIUXnN4o360e04aZzn2P4
cP1T2cQypWCZevGt7QtI7ybvfV1kB6BIdtm2ECcW6mJBLfJPJSlaOu85MyTW15SI6A4vuqXP3RP+
W8hUWahJ2ZeUqSMRPddYTtZ4HFtskk9CgRTUUfJ0qkmh33v62RaTXcfBKKJv9/fhnGL4wtOETfGk
xTZxSL0S1lVQ1ib5zIe1Yr0hRH7SXPHtpirAIFtEtW+rcPGGeHfJZRQ+ikEfkACb7MCyDRHylM8m
+Vp1npFhg0hOsW+95yIP4bsIw3QTldzXzBwWEzZPxTZP8hUWHspP3QetwdQpV7n3Bjg+smbepA7L
vedsu5zdc94imjy4guXC5XsmFkpdUxnSp+tzSXJNEZKTHvdt4uJqhV7lW3JbrH4JWNAtgkGw3Tav
yr8h3o/3CLbR6T1Lm/3N43i7feGGan9Ha3Nw2zvyYaC6ci2okiooC/kwnoGwTU75/hTnFJcTSZ1F
5fFZ06/FftLO8RGYqi4o9pNs6r89Bv7z2GOTsBU4JmgaZGvpVrB0S5pMWQhFcL2t5CuuPSsSingw
dHO5zm8w+scWvgPiFaO8UDz8oSDSFQLIErO/2dKhjhAxTxF1iCliKFFHoSkEsiXiqjAOAIzsovVS
ny7H6KbbfrhCgmcBeN1RDE/BPsk8lcH+ts3s/Off/rDLG2V5Xcjss0tLbM2JDaqRt2037uATBJz8
gvh2rx95gpaPctkt/eocA0183Xr+41L4B0zE4e04oDRRaDyd0HYSeI1PQwv4E5FawDxWDHzkFfcD
6sM4nAH2iiD49/OZ4/dBsjnCHXMtdZ3T9mw5NuNnISGFj5lGttDAyjwu4J9uu/nl77E2TP60XT4t
28UmN6fhgIlSv841IriRQvAaD0ez43q0RQgKNCs04y4MHFh13o/za/IMareR3s1BBWQQOoTdy/g+
/JgMr2hUuoUK1ED7tXOuGpRQrrQzcTdSOahuqve9jgBskziR0n3vIjg4RM1xVfJiHGsRy/LoFSr5
gDkg0+u01wiIVTi0lQV9gJONkFKC5GAso8Q7qtzJ5ktxzDJedUBoUWVAHFNpFipQX8b4h3zBhuFG
FEebbrp3h4PJVQsePL/ZDq1/+ROhO0G/r/vTtyzLQalmmSK7a4FJleOMGc6KICACpVhQsSaIYTCS
WZsanigxD1IQNf2RPjH/15FS4P/qVoh1eO8Nw3Nf5p/4gfm/hkKPhCLKCaMhpWsOy9FkzjGRRJTM
py1SKCqFgmgQw8h0XvB10hp4M51CwXXGEbp+lrFMZifmb8Ye/F9g5pLdsfrL1G9g66mcypNh30HW
cVfXdThMA2Nw8J9T10nd4LxsqLyH0FJfMUHGzQcv5acFOF/+YttqXeNuB+Garuj/a03ZXW+mEJKj
0yqe/4M9jMYIxC/QQk2siV5a2wjpjsVLGfQELKAoxMDwp9TxsVRykgSRUtqG+yuHM9M6f6YeA7U5
izmhoHXajJe1IH3gZ8u/bVte64Rm3xOEp13fbTrTAs0ftokRiStJoBs1iykfA2b5t9TTA7OutlAQ
2EtdAhu2vmT/Zl4zUDGWRJyKfRo4xwacmGKlH8wialxLWShrqRYqHWQAe66TEVQqOqiqU6i4teCU
p56NPEGlx3PJM+VcSncuLUIJ9vmaSk2n22in2y1U8oyEdlms6XS0p07Zk33McDLY8vJMRRfUtJrC
UUHru1tTMQ4Cnkyu3FIpbgkSQx1XkgoqeUkckylUarEjbCl+uqW2pHPRqGRiR4AmXz9zDJ1LrZ1L
K2+Japuf6JS0mkpZTSH2hD2/xfNd02p67S0VgvPAXmjrp7vWRS2uJRd7QjmU9U8n3NCbbLU32bvX
1BMDs/lC2VTqZab8auKNowHTOMSxHri6t8FlJqFvjUg4zDQepZZzCMoS0eUeESmFIdXzcEF/JeqD
IiKFIIK6Lc8Lj4jOfUSkdY3ikJvpOaZhSeiMRyScVdhDcK4vfRK61CQSjVtFiwnnpWGdFNUprafI
QnVN9F2NKB2spRAo4JuhwjVn30jPz4/7t/n1G+ECkvO84T90S8njRmHhQDUQXZEtwvHjQkNj4A/u
nuPwwkUjBgRAnXXDSX0moLIsEXAhFDZPl1IrrPnEj+iPqUMmc9ehUnQgSbuGb+v2jys/SfOHFCks
cKWkSIXyCu3Qlt0AgbpDdoX7943GmXCrMsb+tOYPj+Yx/3eb8ePCNj1o5sVOPozGlGcfjf+8iWAj
kN2xQTwXXHpY2PCwSaaVwinD1hiO7jGFDQ+4dK+PJBODDzAF3V5BCpWTqzlq6KYSFIyYRAq1sos6
E2IVHjHXMvAadCuF1iDEIc1q6uQaarIKGuUcaiHaSxpBLdewQTmUYg14JtwRzmto6SRbhUK9wsRk
BcUEdNOGjmF1mUUuLzMvUN6YK1coSCAS+EcrL3OLUilXFIpCsqRhULoK7RjEQeKfm95bQ1qllK2g
ULmZi0xhg5IuBVOj4dBIljQ/gLuotGfRr06y8k5SNzGJQr4ChWlK71moBh1REKYGuji1ZMmEG0Hn
IHaB/Tml97Csg6Y9TXEXtJ7Ce1hpW6cUu6BxWPIcEo4DraFe7aLzTlI3RomCEFHoWtXeOTT0slrN
Oil9AYOTlSkF8O0PAMH0B4Rg4uSU/KuUxUGxkno1Jj5jNW/d/Q3ePgWG6iUwlOMYJ/MWrN39c/r1
1wU1afm3lHSk+R60fTw7CnsuprOjoz9totMtdMhTt93ujor+tJAKwyQgFbCCOxYxjkpC3NYCLwyp
AJt3Ng/r1qI/0lpgnyEVBBKxZQeOis6gRCV3VDrEBG/WO9IfSi3w5IrFurMVZ24tutAgKpmjAiH/
rnm6aV2nE5VS3HQlvBNHRbdviF/EHUHktOuedqTbWUTFnUufF8J3dFR0pUJUakcF7Mq+fuIXXRwS
lUq8JNQRef3EMbqiJjr96q6bp5ekW3+1gP5DKmDHdTXLnZfpF+7OY9/K/XsyZERGvIvY9ojMlHE9
qE9pQ+y3qYU7wH43W/HH+Y08MvhDyiMjB8i5di0OAmTgCCawIWEgcLUp85nbRMpp4L6SIRkFIKHv
Ysd9nTmGwu+tMFW+r1yAve2xVKJ032+J9DuYzx5URd+I39cfJ/2+AP7PqT+Rw2hIQX+YRCETFHKa
3Fw4CvqjpD04UM6+QRAFZmDA8uSJrsM5xRpEyi0GAxC9LeEnAunzlEOnSzQYcHoP11K6JJL9l9Sq
KL6SiZEB0FvjqtY3ZaDIepFwhyiZsfidDvqDmfYjZWCgxGiF3IEbQ32HOU/bJYufLf+WukXyql2q
s8dJilwrIqgwNxVasYuoP6Kx49maiv4qaS0uX9KDP9WzcSGpbAjciGmloNz7rLdxm9vNzyl6f7ON
eCUqcwqamcwxKsApp7yf+cOmkFDh8D1RiiwrZfxt/gj/vDF7VYmaAR5/0NvY73jhyO942cRvnbP1
enhgfV1aDfX4Z8B5+wtM9mEdJf7GEdcCMM5HK+GhlV3/lPxd5303JiwzmbDEGma7cKNqrM5KSQCm
5Upb2g4TJ5nVWRsXI4s4MNxcuDTl3cqkVL6T1J8YiwG+WGODo1AtyJ7K23lbALFYAoh5Rslx66pM
WJ4yLkFJ8e/bonSuWqwFE7Kz0s4qBU+ka2usxBrLSoYiTzOF+8z/3eZCZdLwQ11nQ+V2BgNFI/lf
NsZKXbFRV2DUvLeFAHZ09W0jJVfF1RPb2kE3BBH3y3y6/Nl8Yk0c8VebykYaV/zWgsxqBfnSEi23
pQpcUKLFzvm2XUTWUhvDf94mZHJxNxhqye3qEFacThL+lBIrJFIF3DKsr8pzG3VGSFOOOuOftyUk
RKUM8rY103HAiu22nq/bBL5Dlu7AhOxs4H5cVNK4xTyhNJ9LpCIcUlPKyvAtCce8FwlHFMhZbWXK
MneBJMvyrxv1kHQc0B7LutLXwp4C3mZKNTJ1hxLBJqrGj4tND22zv8U0DU4fcwKAKGwwWR2ofVsh
BkyxSJS9zb/wn7dxriuoQitjqdkZrDwZNggUIiUg3REi2UiAwqYG2eacPraJc5fFacEG7uy4qR/j
3hYSLXZm3inRsW6JjuG81ZLLTfB73Tak71sXXWOtbmcNIgX1zolC4wq3aKCdjfQdWBMf5vu2823F
iCmQ/FYTY/hxePsFkNldPJL/wpEuFdIOBr8CG7/CJBdLWACQtJFOhICPT5xEFVq4PCFmiriXa/84
HmP1q6R66+U77LLg8AYgOGi/5hQ2Frzz9NTrZGxC9bva+67Jlvry/YQQoa8vc7xWlkhkbsHtUvcL
lcu78ThSEbY3zE7Ze7uQghQyh1oRlxxhQ8x+dq+RWRW0lnwhgAEn61XPMELWiLpdU9dlA0hTAK+h
0HE2WtnkzAl0MLAxuy9lJ707lFz2AMRHRNN3nfthV1OOh8nT5LYeZbMQApu8s6rlbux52UqyH45H
rWq4dUnplkpH7E7G8+OkTJPjz52dBoK6ad3XCFuzENFoOAsN55LaYQq2OH3LNjrnSyBKSu33QmAJ
tva56DRwINL0MeHAKt9mXnV9t7iZIFFoqB0Xwoq/cdON4wM1ad5dJubd4Rzs4mkoKl46wlDN1wS5
0hlJBNjCaXFJjo99uN+H/XsUYJDItaJQGfP07RM5faJg2XsjPNre1fuOH3db6ktx1XjnmWiEwXob
G68b7+/zQfmua0KtlfzjRibdtGZIV8OCsohHbdiPr0aIDLfRjuY9zsNBoeUKavoce4r8lWB3g9oL
hAP+BCILv6L1agiGUplWSbScn9mVqIM7j9rSmHbbDcfL+0DI9DDh6ryfjjtzV8Dag3ZhogmrEVlk
899hxxL0P8GbTW3aRzNobB/YaHsnaXkJImJuOyUObAPGfr4C/vzO7ntTtwzRFFAN/QJXIhmL3+uo
cYUL/GHCqCjDt+DmF3M/Ec/SVI5fFE9jr3OZW1v/zjNa8TtqhzmYp/zGHWnauBjnQoBXwoNIZuw1
pAmwhJTpJpgrtESVAeKkFWJmEbMbU1WICH86d82RkRXFJ9gTMVf/gSXVNbdyySMiCY/S/VUj5RL/
OHqoTh4UjjFXCLpgOmbwiqWhcbnP+Met8Pw4X7usB+TuAVo7wTj+gQjZCgO0osgGJ2MwJDJKMLuz
6Qgo3sN5us3363yJNFkRPXdOaLx2y7rYQCNI0d1jiugootKuClZK2eoF4HDmixv28tESb+VdWVQn
anBaMck3cn00KV5ZXS9CtV1OycswQWVNrooDoSHQ/yNxOhysUwN/3l2mj/GYGqBdVcKBx4SnxRSS
NAD+0oh/DYSYqLlwQMtD7N3I9BvHQeEasd2N+5RxMoQixejsxLDoYgEIeSJmQRmxYTNJ0x0l6iV2
DJ6IivZna4U9XhLPtHXPFK3MQs6OxxnKchJynI6okK460Tu9WuIP82ZfJ+AiO/FF84tohU7Iia5G
+9q8Oc3YUQhW5x5zCMpqnVQA874KH6iyJvHgsOmHTYXnKzHSZLylN9m4Jwcn2XrXgD3c0edB3/t6
ru5t4Pw6LoCO+AdunP73x/3fX38f9+eootcZDLio3k3G3vZ9JWJJzLfPvVBGnvwR9Enxz78fDr+7
vsVPKc9rT6dwthAMjN/Fh9zgl5ljT4xoZ/KA/9mweeq3s773FWQjJwj8mSa7RH++EIPm3Dw0/vhV
+U4MsccIlrXZLp9/Gz/++njhk1M2XonOBWezPFFInn3mzh6YrXNn/7+0yAR9686udmhl0+1vUU+e
rjv3j7zl8B9Ms/gdGpr/AUGx8ZpcfJl5z6u3UFYfyfPLK+8GeNugc/4DVY7ypZPaEIyrC3nnU3LJ
ReMt2dZp3790aXnn8V3OPScgUP7g3OE/jcOP8d/m8/87XhULsW/9/fQWNcCI3N8jnTQPuT1VDtlB
8lB6R+4mQXPzfcCGfp/QUH3taailwNdKAOVLoS2aJUAW4EPlNntv51XxfJnKnltfuHuiZ1J+VDxZ
YGMusuG3nxYdhfc535Y76rTIFEpJ2AT07NM3LZybagnjyVNPv6HOY1lulvD3n2Za8Y5dHE6uQ1lA
678/nv3gBM+//u3Pf0qfROOpPS5ds9ojfQqVtwHWmh7vbVtG7x9EKR6QIbVFi+ZZrghF0qLp/QgT
m7LIKzMgZZzQSjpfMWbeq3pFSn8az7myjtLTaq4JRRyI8vuZx961CzIiWoktUfjHY9p//+V93H//
3X/8cfdLPGiZu7x1l7v5Bf73v1cS33kuyk0WkGvjkf7LnxTripJYLiDcuEkf/k//y7c/Kr/tYrYN
A1ElQqU0tFgEah2cqv+7v1N+1S0bvICmcVjE0dAu/W7rD+EuQhv+vZL1y11pT9c7j84n8Ndv/7dC
oRdBc5z5XofWoOSfc1eeS6I+Cy3in7/9i0LCpbD7IspzSolT7qo3QLOxh/E23n+heKJyBSJpUC4I
zv4v/+nbX5Wf7kRxccWDpDnzmv9T9k+ljfN7z3EVi4QokhiDqiRkRH0EKoUyX8JQC6wWxVViw7SZ
kEtMcUg8e4rMvA/H121RRKLZOwgMnLzY1JUEHsJhOzsbBdcyXr1Ap6oWK0dbWiKSyGRzD9eoTsTK
Lj+udw0mqXfl8nUfjAmvV6kEzJikyLc1oKPLpnGb5zHNPLWE4/W63clkRXUnFiezBRPd+qBvPIi5
Fdk4ZMAHNcfosrQFcGXJ/UXI0n/5l99rn4qGBZyNzjiIUDewsxhih+3ZZ6ZaiqfRhZ/G1r25FHIJ
srosmmVvL8fxfNidpvNp+NBIVCuQt3bbY9DurxBlgzQMiwUWZlm5NBdjUOPh8ELF4chumNUxDPOI
BEUR19LGoNCWIcy8XAKh7YfHDbJrLzCz6eXTDg2PE7StgDX2XGNbI1vx3qqi1Qm0qs4RwX49wy31
E5HreJp/jOJv4gRthBa3iYmGkjuY79fhfBv2HLibr4fpTFG8AesRUUy9DLeICETifEVIHGnb5ujh
Nu2V76yJT2cPW64YWRAm/CIKHZblGrnxFqdSyBtEBqwKG5i8WxQ6ur/pbNP9u8fl7Wo00HkcD5HM
H91mLS4CA6DFguV9H3B6F61VuUtBgsoZax5ZyrukaIKywUoQQIO1trEccXfX+Xh8Gfbfo3T6THAm
Nmw03mEbsfoDBvwcHjDCZlBX1DpKNJu8tSXj49uw/9zp5iQdi2MaMOW4/IrXAkPMbu/axRTyYjCz
kfNUGHHrF/i/mAxXNlOLp4EjYoxl21l3F8ns36Hgf2eYUZEkfSbeLCZuOFoqL8kcyvVHPMxOdMR6
sGO/sq7vy3Hefzcqwl/XTSFVihtHzssDSzKC498QifY6GlPyqpx6n4mXjjdgUTzdmZvDng+xIh96
U/2aexqGEcCJcG6GtrIOcfsocCuPfWiyXHQBpdhFg25Nw+x7uRp1dP3cfR8/AW31H2Y193m3ScJ2
WfjaKCvz70jiryi2Ee8TsH8V7s6k2EHPlvsILRilWaHyuGpx8VSSZVSzCF3ursA5ygmJ8+0oM8qO
0iw2YvnFgcAqz12IDAqq2IHsvgKC6ss7l8f8/SaGvce1Ty4ESca162vhCOnS+Xz8VMi458vjpmR+
LGFFVFIDYuayXcBDl5exP843sPTMQuw+FYrivBBeOC+bJrivn9fJHNj4sT8+brHB2bRD+e4qh+Ui
CaKeVJhcrAq7M9nbEbtEnW1s1yStupA2ToY2Tmc74c47ABdmmgpbtYIIFqWaf5YSb/U4z98fF0hG
WmokNRVObaSMw3KfLpfS5fZ9urDSVhRUKZ5wi9AtFgOOPv2iRCg97YLypa/XZw9nhvC0UCypnFrl
tghxBI6tGpFyGXBgJVRpGtMNIMaNCr1PmvFXy4WhMK1qz654XA5QFUmyfcGdTuqarsylDMsEeqtk
WGMAX4/D5aJqnL5dq+ZavG0ozwGB/4W1VVK+Ujy2C0gzLE1Iv4S+ktID/uFfyHh4U29A7I6Ua9fY
ep/9eMGlGPZH84WWorGGtD4wplqzR2lWk9AajWN5xDxsbEBzwJqK66CZYY04BJzzYmyLPmSG6YfZ
Z5G7JmdJudNOGksACkQWgfF7wcpHCPbpriiQVvwwPorWs0mgWHA6mydwmBRnoSie3FHfWbBkFBKl
tG5IzpfOvLrt5sMB61g1w1EKiIzLEjfr6h15jlh7rHC9NJg6jkWSPBuvgOmmcaljFpxNmT3LhSu1
kSi/L71Pcj7lQQ84Vln3POVbQY+q6l15lm5udOKiyYIphHKwTvdObEmRlEKxF+iMF7yOx9l4da+R
Ig266cpTBTzgDTVwyrFtS/EptkGU3LRwmn+djseBv4J3l7ShqZfCdbgw8nHDVzs87vN0Nra0qzaM
t5Xkfeu6QvKyoiIARv5+UB8DvYX4UrJaNOb2BMPRCIOeKx55wvN9fBuvcZsc19SVYk1oZNhmFzzt
5cp1Y4AWJ7qGMQyZlzwLmJmXghPwDES4KMqQtLxG0ESzykoe0I2sEqnJCM7wPMN24+R6cX4UOLGA
d8wQeH7KFsUNEjhW3nqGnQyBpW/TtSvVJVXls0SzL1W+NI2QPCUM45aMePx0StMZ+6mGs50coByW
u090/TpOJvJW6VIV1uo7eXe4Kp4PzxSmg1lSTHsRCXHehDtcs8c4gLr4Oe3H3eswHR/x92uenVgH
ob8sqkfa3ooKJzHgbqsocCpgmYnSSu3h96Lnn4Y+15xfU/vBDPu738yxJxGCt8JI3BYdozUIUhTW
LIVaIHdtI7e5Nr2cdZ4X6NCkjbgK6jsvbe3CgNEDsCyVz4UkZuObYzRgPdB/TTpWWb0AcMWCYz6F
lYxSFtHKyyR1UDzLYArUKGQKKYqoQ6qSZKSQVGLWREyIXoI/zPuwmFQYpJX8jclcdlrDohYUgi5s
pVSyjmuYIMd/NtAU6grHXhvKXIWMjoQy0Ii+z56+5+D+UrB8iyVS6KSlBsC47NIQ4e4LR2gpLCiv
PqOokytm/PzrXXnI5mvxhgi+wmKNBhgnqbbNjoROxHHOxsVpn3WaVRyeyYMOKpqkENd+KNIzEweP
c0hzLJNwhsaLEWbQQ2KY/Tr/vKlGcivMw9x1yCCdB/WFbbFQWxdP7BDVmMv5ltRDOs5QdM/+IeNn
gTZxYXHWMRht05JPMsSZkYR1jxD7/DAVq/jd8mzo1LnCmrcFfWtnTkAodIpGpjJwZ4u6ew4ebk1c
eceF5lxmlZCRlre7c0hTMT+xTZ7A95zOTLkKztczyyjxn7UXVfhSMLkWDk+7uH/g6oz3PfSBvBmf
Z5dnXdbmyqJExBdbcDlbHYjPmWf9pdBVuw5d5X0VywZ8kXbey0A6isXyOSw2vEJzFzKNcrOCFHnj
eTDvlQwt95mk1LjOTctrpDLgmQ9vevqr62rhVWJHZO0b6luERSdzepXLU7HcBpvc80t3ieRO7r0m
GlPWLqKQn3tMnRKziYgK+pacT7ExviFebUgs746l7bAwuXk2rO1x07zAw3xSRuvhveVesQJCMD+x
0hfurhcyVaLFH40M3BCRaUTkqqSCMS7I9FibhiG+HgeFVCcujMzn3pcRejCyjaRKnJMOrzadqOzK
MqQ/j8Ovn2y86oG4rpGMXNM/OyGl/ohEjMAz5k3bF8pCGhkVxKQrFy5aDkxVa9SNz4EWDfQ54m20
1H24fdcqRsRN4xv3pAW7F/th/65JL7EjjMdXT/mQ+TTdXUJE2VomxQX5zxwMBAl6SOq3vF1rW1ua
ysYu01n4J/Ewu7KSwVFygBjH5+f4cvsHffUOp81SGiNRH+/XKBBWVovJOx0W41pEarRdAdkDCkhu
CgU3YQkRaPpA+OoGzc6ny/1zp84VRQkohiRlrtGLIQM2OMm0KDcQCwfYhmJqkCXa/eMxxwoPkY7D
CcMZrs9K1Z7QbrrNxwFMzp/z9XiIk2zdiUOShtM648e4B7AAc4ug+JWtVW5KF5bUlYGtjR8XUGep
zXXeIYmOLu+Ud9fHGWdlGuPQ8Lzxr+6RmCFdoJsIhRMyilLQhVU9Bzt2Ronf4Wd29/ltvL+PCsM2
3qgoJ8TlAYIH87vXV/OYRuUiKokBh63nDPMNDiCNSX7s9+Pt9vU7btyMrqZ35eCrS9r2IGpHq0IE
EvJvsFH/PiOYgZGsLxGcKdppLgbeLV0JcFJczzgfRoXjGvfC28YhNZD3wR7f7Q4FuAqYEK7DjRyr
S+zhZpD31TkrS3EsC4KiZ8+bpJ2V8OfZZVlBtx+nt/e7Gqik1ZXeQTehO0NbUT575d4a7532zRZy
mzmsdkcJFhIPIL2jofe4v8/X6Vf1FTneb+Ag27Jc8b6tdP0q54srBov02Rz4zY+qFWyYL62rwMWY
SY4bTbSw0ruOpe0AH+GybYU73DMse9GA7LOe+bfDEfzWx03jNCciEYK9jas44OHDBBXycClEXtN7
gnK5KJegvnJ1APhYlHPPPDVh210tD0P9IbuWCpAS7VsM3mxdoRCLblR9e1jUDdNS5h/jlpup3fra
ckF787yV38bLbeERtlI89kYU3muEpsEHEmIe5dwc5+P7ypvEFpU9uWdAfdllZ5EgT7J2nv+8czOz
z/MdTSZQ3/dRidC3IvAMySvbZw+VAR+JfGjrYrMo3/nEjbyANYj1LfFi47APx/h+xfxPdLusjkdE
x93jFu0zwI+dtgFHzaJBIl6dGGeuEHBiFiIOXIQIsHsA6z7ueEcKASdOIQfIZeauRAnsKWNcKwTE
tNDOWZvLCtBDoFl+SCwWryBijo8xPsnFET/NeuafO1BtCg+7V4rpu7K04PHMGHq61rCGyBzhbirG
IzdM/0XOQBDWWozxrpZ4YZIx8NumFC1zS3vXQIrNPh2SiXw48agbLca1/xXg9pR9/oWbJhKiDxIa
utov8BoREHCB5dJmvo3b6VQqjwCXjdxsYQWEAH7L2TSuPbOAiKSNWa+O27gN591/+8fqWvwYRKaZ
x7/+Yoic6K3sFjMNAkWHnfGCTjdl2wLK2Jmjp+l2w9IzNSBOBAQ4JcQP2k2PlT4Vp4BoqFVuIauo
TsMsXXmpIqXVL4Ya/7BAJxw/ppuS62tlpndpdsTII48HguDU7mU+fDqqUbh1O2uxQGhozDaUriEJ
GGcLDTdfqgCnqmCrHmkon7nxSwVoxzLn2mGKjZxv0z0WSafv3cAknEtXZDwOIFG/0OYeDq7rSo6F
BegrgWaMUOOACUYzVm+E+fk6HXmKKfwJC84BcwrsNcY0U/JH2FHv1Bp4XRyke1yPWzM+qI2dKYNw
z7WM5r8c55cdEFSN20b4fIjPRo9d7gr/bAjFSbSejudlMIon9yFi7pb+avdjGpbVxWJ9eSOCh0i1
Waw02NRtf50ugB8IhjPVXRLqZGK3whgCc6Lkdn1czu0I5Txg4b0e559xGrl/YvlydRAwjF9WEfoM
fxj7wmD083yN/6ofFbSj4OU9vb4e4p8LwwU2nz99Pp2MSJ4wD6RzbueZQJwdlJRuRim8zB+7KV7q
ioR6zx9l6fbxDl7U7WKOhHg4fqB+2JXrZMVNaqGYRnigNPmUg3Rg5I/n+fH2vuUBZqGzuI4/5u+j
zuL49YqRCmsOzt8nli5o29EL3A+k3Pl/jqmuvhNaE27aIm9fxnH/fvs8GyvhNvEwSvy73fKXLmgE
1VAP4+Rch3O8mqXnTlV6nqAo/8v9kqB6gWZhTF+cFFr9QsvLTT6vEZakSbWKQYqZGkIvVmFayxZ3
2M78Y56U3XIROi/OtXE/UUUytzid0p1aTtceomL+YvgeJ5KLxVA1i0JmZ4M8VwX7v+f2OlxYsaSf
IhcQP/raUXGS5okKtvBDUyGZM3Fypdho7lCGnwi+7cV1JrijEzSplSlMczwOF8RUmDTObQNXQbbJ
RJNJrErZvU+Hw8iIny+Y+d1djbXwuC1aZwcfQdsOJOiiQR8MDNA5VzgVt2CTyPxqlvXxj7hFmT5a
eC82QIg+KdwnxdIAkuV1/BM2EtEuwMHB/CuF8iuZ+xVnQ0RnXeKvVO6TkgwE/ETZSyn2kru9RGYA
4Scsl8jGWdT2cl3+LcLlKTcm9tiRZMZfL5VjyUOHfzaKbTz8DYJfyCX7z1/UH+YoznJS9nCVHy5z
/z7s4SpXWGb+Wkv+pFU+cTxMtQB8IsqtF+7WcZ4MxxFvdPjGBB8pUAe25u4neMT+FYE+Ajhy7WmV
4pWAfVwwmlSWK4xS9D5vlSqjzKcXRpS4KQwjLqFezAvcJ+4Mwd/fB+wpwhilsRUQ/Vhp9aYNNkIM
VK7sJsuUV12Uvuywl6XcbyFkVLvoguhcKvykCf1K/Bgvs/EdY0lOPMQixPwRgq/m9A47pBkNayJR
dxbA9qXl9UzZmHuENGWF1vG4o2tk15N4yH1IHET2gsFxQKxST6fybsgCc1u4Aq6nOBspM4FB+1YW
u9d9AQcfw/q12DFYzwjn4+zq9/v9sgP39ge5a+fo1APbvo6+sUPo/DgdobDjCnbw4/4anye6iInS
E9vQdIlxMfQeoz/OoAX49IVfbX6YI2kQB9hRgdptP027w6igOwDFyi0HwU5qXtARwFJyiMzhn6Lf
c50crsjZjBb14D//9oddF/+2cPeRL7xq7JrHYd7BiZbRU8x6/xS5ohQugAan3HZtFr/Dzn1dFM5G
xYNUATHwyMTXmD7iuprTdLscB8CEgrWbkz8OylSZnieYW0pYG2vxm8YrSEwOJTBf/dNHlK/FHTTL
ORo23JlHcZzud5wnZFxoUDmnOGc6zkbRUcXJnGcg9BGh464V5QkHbo7zdRg/EAxsd33EH2nrvm4X
Ew35GMYfHEGcUP0THEucTB46WvtEmT+jX9eZv4je+/pxnmA18a+L0BaYr+/DG6IbuGBrnMnbEJPD
heTN7mV649uIfp+L7+VYCbRJeC8HRV7W7nsrgtePZHca9vGH4r7vu6UixDyT03Dfv5t3Ahhl9yH+
0roqJCDG2364QK+vsS2+j3Fh2VSh4+OvqOhReeSl27uzcP7l9/8nIdW/RHGb8lqWaTsnY397eynK
vFC+q0Pf/a///GX3y78pX+WiVB/ihqIAyCyTs0NKOaUhIYpenX38sVN3KUDEUPDbB2ZshngNu/mt
IrTJt5dvcDa7LlO+lCXCy5ucbvNuuu7qTllp5q/Ubm987Hf7s/Jd7v0gK0Z7j+pSm9CBJu9fFKU6
ft2fzT0oH1X+R7mda/yGHD7dj2NcPrgHIow2NEXAcrs+joCk97jP8Qda+g/0Wb6MP+z88dVfRoOP
RePVelWlnRF6s9avefuwyPiqVjZJuaRWcMpF6lSK0NeeaVErpoX7bR+lgLf+fZ66XVz71XnIOhQy
K2EgVmLxzjtmQ8J8/j7Gp6nZiBYZNk5wbTFrLYIV/rCL33inViinJn6ZcMqcvt5gwzbCcCkcyCc2
G16MRZZglzZ05p4JuyviRmzuGV8csGMl7VlN8XN3BiUUUbbPZxc3EdwT7rMln2uMM7jslCtTCYMP
p6ou+aJ3mLOGPRNn6OAAVyK++sb3SejmPs0PK8PjFqfTP/S/D5cB9IewLyJgGHj0tU8jwHOVwnPi
a+yrYbQi4X8U8XPvQual99N9Fv9amJcU5l26XaBKL+mCWLyXlXXCZx5fddGGRBtK5gENshfNGqxD
osU+E6yQ3L183rl4HzKHj9NFdX/aMqR/XmBy2mQI7P5+seMX43Z+6RzBpsF2gub5KkqFC4SRSFVo
9P379PZubOz7jhzh+B7kVYK4X8IBIAK6BX825iu5Q4Vf5945b/HGdI/zQR7mYXbanI+Q8NjEJrB7
yotJqOrStu6tvD3LFuYH40fnjh77k7r186viMicLaRsoLmdlBaW5n0aAQfkIKT9tjqjtrFxkWOVp
vv3FKKU4C1R9aDGH8QyY7McJ0jSYeDvsFvGW8F1L72D6Z6vKlhrdxhO8lCMIaeNLncefELOLP+HO
vysSup/DO845m45xwdH4W8x5i8jbOwxMOKEVj1MEAwPIZjbGEeWVLhhTgDS+fWKwgPiRdiFX9vmZ
aPGRvA89dc+Zto89egFNyFjwrBzdo3biAm1jzrrM2ww8C+G1UhsHI6d/d/ubnRrMpot5TBGJgUZ6
65U9Q0EiyT1AoT4NDlZ2p1sBZchFfx9fruNP/O+7ru4jEURYRpl5JbTe9/GPCv8jYmb6pd0U90t6
r+K4sK/yj3/9d/i2+2P8B4N1Ocf5bdrH66MbWR5dLSWb7O8a3yL+Yentjx1l3l+86qV4Lp/x5XH8
YeRaSBuKAOPvug+ZAPCmjCD7nhQLTRYyaECU3efdcPwJyPyoh+MLaP0XVQcM6ITrU7lFiLFZl/G6
x0YEiFaptlwdkgngwKMBfpjepvgDyuuQXPPth1yxH4RExmihhYx57L9f4+goePR16NJXlktcEokf
xofFGThsaD1Crc8iQP5+iRt/TqqLJzK8G7Wwm69GqMd9xrINWbPOY7zPR6XGCG2GLsS63gE0ygEI
p5MKNOq1Oomr8T4UnfZ+uVN+WaqxxtWYWCX28bjhlNJ4pzyuQYRmm6WC2b/+QmE8J/jBKOHGJSsy
UH/GtWhXPLGePbq38Yyl4Af7dnk+1XyHCcpX49Uex3ssGAotv7aiHV4ivOaiWsohbS9V9Fs7rafx
BC82gFJljVHTiPoP7tH1rFDq3CqEe2lnIdAWaCZFlEWBTOXIYG9G5gJh3mkoVUl4JrlbjTN8YlUz
2GheuS+aZf0HGEJ0i2I44UjZdvlQRLPf0aWkWt3op6X7VOgCqkihLtwb1zeNrwDkwpArLOL1E6gF
Vzj7lyOKxyEi3fHsancFJUXoWMN8GBE1xcIzeBbu2BEl1IKErtiAc+uX4RANGSAv5P6V+EkpyMhP
Dj4kfhCOxXFaYiYPAnw2PIyP6Gk04hzx6RZq+Q58w6ICf7KA1lViCXA5ePWgNN6uULaHvlD8WXGw
gH6e1sAnegMM9Nv90zDJ+8gtPUxd54zKHYjU3jiDh/iM3r9ZWIJS5/Ypq5QihS/4ygTHu2qAFXsc
jAFinBtF2FSlL2x6ISWOwydMNnqd949bSkqI9XeLKRKrPMGbDbLk8HKbjwAXYMP9MGxpOoyp9591
ofcfK6HD83MrFqOmVud3HaYYFigenpB0rSjc6+PrzPxb41Ea020yfPILiaN/xXLM/4gXWrYM6vLM
etzRcMBihE+l9RpX34TOzFMNRh2zDCV+jj+u4G3ycsxipjuO30ERzMUqOFUq8b4cj0OknZvWqWrY
ym4kuYVY4d4/BJ94UBk9UF8rvE/HA+D3RUm14hZlBRykXenpnEeAX/oxKmP3cE3iFhGPlQeHxKov
kXFrXx0VYh/GBDO2l92NEWO6zdKWPhPxJKjHm3Etqja+aqEQqSybztIG3YbL5fhpr3lO6u5CqBWc
nldnobd4e5y/R3rjkFfcsYCPzwUsImsoFMX7dEczNaX4q/U+ecAwne9iPRA2HwNGvA9TfJG5EBjO
b4LCz/tCDrFDcOdxaduFWICXRQ9ii7mbCwEg/Me1VRA/n94/8lIay2dIKHwsR61ZJ7mg4zy5WFkr
itEiKLpACoCYWV0QdYYCrNlpwFYv/drLOqRZF5558jLihBr/tjO1NBXfdtCgIOnmCWbQF2anN1vh
QVyjm8iO9ypsbhJyYz8ej6tTiwuNInQ8UNFkI9Pxiy59Az+oc+M9m/jMfdHLJM4zNs4KCRxn2jL0
BGO9Bngp4hpdgiTWBIDsKRwZVw1OR32df+5ADF2kPxI/7CBDkGiNIzrjWQd1lG25RiB8VM5SesWJ
SYlfOol/Go5UyhvtKMM7E5a3C7dwy/Jh+rF7vc4no8PHjwmV8fwhtDo2rX7BW2vauHqUbL5Z1+ch
dicht802LcRNZITXIAXteGTQknjHEfJtGxLWa55Ki4G2DVlqseJ35P/g9RlR+gaDaqQxFl98Jh4d
1tA/saMn3rbYc3keVIKPt12eNWVXxe+jDEVqbhfDHIbZ/jbPx79Nlx1MAbjGd9T0oV+P9R+hUGhC
Boq7wK/ypdNSolVbRCV22MUO3q3Wx457EXYOTfXY4Aoo2GaobbJQ0CTWBoXnIzbksDv4kQzn6aSL
qLoJ2bK8ZDLKT7js9+Fs7OTpqjy1fB2oyEUkCgMFO2UwGW7fyW0wJyzGw8vVi0Klnk1Xh96qY5lN
GkQwqmt8jHVZ4UVU3vtgs8X9KnHoORUcaasQB1ghzsDAn6mDLIRZ3xFYtjB2f/dKrGn+eZj3j5N2
mHkbcr09HhdaAmeqwyhlkPMJe1HIE5qo2ylPO35eTUii0GEvgyzYoyOXOn6DwqAuV6LmNzm8XRZS
ASkzGwrdoYRsyyHmtc90+fPtnHFuNxm+qSspQiabcAbB6vjtNkbtFiswAg7jfZiON+OonnAu6aZb
Lxo/8Fet0waJ593lXgjKi99R33xftnU8DNdkPqswnsXdFgQAlBzaiWwu0l3yjQLfXMdoFXVRiFEC
BV6rLTOeDj+N+bp7uUIbOB/U7XG9zm8A9QDieRctli5KWSztGviMKfI+YKc7II4DQgHK6yugTMZp
iemtBY1wyRzrwZbxq2g7LCIOCsAT2U+YK5+IqoBSNN0WyieFBzlWcGn0ebiCiMF3BqeJlUEXBTC7
KCWgM0WTSD39/WH89NdPGEA0v12HyzuPjfuIkxJTBBG8p+ABPt/fT+boj8NsBOlZOX05aRbzAzwX
GmPoANl9Ra5bosEn7IQEmlHA6qLyZgVgtUYpMcSA4g0HZz4OFJQ8jGxxcgQrTlpMI+ZZe1aNnCnC
9HO4Hm4Kt7n9VhnWDDBAgvECCDDQ8P4Z5PxtBCzs+xifS1dUuZz2sCTM8GXpLFCLGQCgDBlJXrzJ
2/x6371/Xt6V513L6df9AqO3fzfu3PQ4wUE/PnavFt4xLlNRVgiuFPoPEtPDHkSz6hAQhcLv2RCs
RJ3NNjgGqMav2vlUjZypmLt7vn0ae/JEFHh8ujYKtqgEELswS0mUsvC7/xzH8w6XeQbA393+79/j
HCQG+dG0CsbccRxkTuyATI4/oHCPOy7E58zXj4QV0DVOoqjXc5gtZMURw2UL8tFHlETVrKc/tO7a
bLTLMLMyjMC8eCeGqDeXVvHjzd01bcaYJWeVkhh0DDnlprPJ65+/nw4T1MnFr0YcKCIpdAFdR2YG
/pmMzffhqii6VS9Rs/RDUnNpup0ayYgJoRDTrpfUx9ZD6dZSj2ut5vNMFTNGhhpC6hAAo3ey0Puc
X19v4/0P8/U/rJC3yJOvGmoqUXQLEz2CYknxPVVydEnhRpdAwdZ9OE6/joTIcP0x7s4vt0tc7IiW
P6uY2ddDVzF+L5WcJeygN8bTC9j5d+yQnF9hGbufRh3Tm5RKTGHFcm3VcGO/oWCdHcs5CbFaylHk
rh4F9jchjnfi+0qK5X55Fi/mOdH8cUBhepxvKekuRxu1y2GRilJOos79z3KZo2fR+3M2LxK7w84z
nrSKtkYKIgu1MjqoaPRV3gdEVjwau1Q53uKpic/XEAM7ufhXSkcCqYfc1zed7S0hFjKXPqH/ZB5/
fHNZ6VkHRfukGbg0YDqfxysIRRIkWgk66QtpbKOj260ND/TyUHvNHwiZcpgwTIC+zCmWXCNG65+w
+RYOMZYjgc6PV0Ax1IVDKUYWexnORaPcjVcBU2SpYydaNUPSU8w/bhblNJ1hXCBsEnnl9Tq8nSib
SJZKAjaQeLvyX2bzbOZyJNVI1OGqXYyANWxQ07C948zAXa0I0yAPD/fbw7zxOzliVzCzFysl/s6b
LvTO92+7H7cdUlQMwNxXwCzzsNKK0rMQr/+pzG4yvJ9506pZV3I4CMID1/moME7hsWDZhbwZjmpg
pcaiyhXjRtwNDuBhCYyMeANF9et4nZU1iR1li60PMZod9eLDNPCzPu/JmCKiQR1De23jVqElrPHr
Ulxqv3gqN3OY33XLw90ouIqdOM/jcH0ThRa+qUjyaIZ/uSsOVCMkRh2yzkn2UpKDJbDSYEASOPP4
14K4vc+P4wEA/RJMXOW+ui0zUSOAC/nLQ2EWb7ibiLqyRYWc93Y0D9omASn3Ohx+RItJ6WkJc4mS
WDU7vghNNMGYLn4du8VnU9Ry2fp9+Ty8AGU9HzTcMsjHhBDM89AdHqYjv/jhB6I8ajPjDBEJE4D2
Ur9ihZvVwzY4Mu1BrJ6G3XzdvQImifmJi8IWK+VU+wpFKteEPVU77Wzbb4LBGyKpxF6KkLQU9i+D
ISrD+4pChOJqnHnCHsoN+x8QFAwb14cjsEkM55y8FHFCONK4K1dtAfd59wlg4tPbGQAclLij2xrW
SWa2OpIlHRQFgwwxuknRrr4s54e8RBlBpx0H5cbz3j/fQpgjEOU8TjDxLGHIV31IeHNElt+ucRNe
J8QM+mlOSaMmADjAFOEK3mcm//kOo6ASYcQuCwVspMVQKRaDnJW3lJVT5djtPlzv7FJyuuP7dLnw
pSmWQ+6brc0qMILAdFgBpuocMWwWTOi2df4KTyiBeS9v1uR9GJv6qDwQuShkpSzyXm3YWnmxcuYi
Tpvrl6SasYwRIgnehqjvUJhBRO9kAl3uE13Rg55voV06XhCl4ZIXvmJ/V5UEpUEccRJOyJfIlvjZ
4s2Qx895BHJMMexP56ExDnZ9W+XWLwHjpacYvSZKkEE663G3f2WPPE7V2m2YFkA3qrbjYQKrZizc
y3De5cpKm/VKuea4aOIfWV+1Z1+Vi7OLVvkkXz7BtFCv5ieof14szQUzLldrSoGPF//aevc2u6GX
UuMnlkl6LqjofVd3wR/UfQ461szbblWqRWG03c7fbqkWgNCCe/cr1YIe6MI7AN8XjQfSKTX+KZWy
zNo9DqSHcL25wkutOHJ6ZMVqQWSF3ZSX04lTaJeijaxQDq52n2CtR5baQ6dsoXA/Tw1bxbYnpvBx
L54tGpSs+LNCWUjjFoKhtza1qVKhJRYALFPUtmZDeQy1ewwY9+nVIkX6JPOZKbnmXDm1VorQys3n
jlX80IMQ3FMtFlIscUrPzv2OqBOAAO3uNB+o6B02AIu+KcttQmSUvSuyss3F1gsnkxVqipBo+jX7
8UEWyu03K1FYJ69SoSVvskNDwUlyzPsTtsVSQIqROYVgJx6pK7xZpAyuzBqeHEFMR7npqYqTlzF8
sWPgBy5VxF+jn9lWDE6/IXjU1U9B7sSlJpVpzESj8k7A4jZnihAoW/9x1ulDU37f3QDQrZLcrkiN
VkgNlDRFn6KmSIBGSoDaYVqjkIY7W3LZu/2A0xDU0Dzttgy97SxXxHctDqheDuhZEW7ky05cXomw
MjpQOQnDxme0Qi3Uo09az7CzDQaF8kndhiRFFgFJojty3EuZKhVBnX7FPUyMWPYqgjrtJfOlBPfk
z+4CZEQu5aDSNWSeTmQ5xiQFBejPxJEKCikhaYj1ucOYRKEtiUTKtgxHeUOO66F2qNNx3Ol46tDx
xHpJ6BOx5nq5BOWdKszZNOF3GutQJRnmVBnG1KxxqGyzrkPS1j3EGfxulAnbHqJQpoT2kNSMipZt
yzU1voVCOYS69x5cpYPN08UV/oNzjo1Vj5Q2Ug1zcZBipkSh3HHdeNbYYncooqGuvBdmN5crn1TS
61iiavx0ENWAclbKNfS+fC82mCfKtrvS17Q878ilJJX6p8ILPVeZbGyBpIydR3hVQ/atH7ay00wH
w9+QW/0Tt2Fjk8ySOlKCJ7L8rXDJS5sEwGjTeDJHc3zcRDvQ1kzAU2lUKbJ9l3k63+8zFXXg3Nvb
bv+mxOxEAWCGjaUZM16knPMRbWenAjsR1JLW60Jt+DFPB3MhL59K5LYOJZKxzJymYwz0HcbK/vTP
v98Vu3/925//FK/d7N1cPXBZu9yF2sAUNc85+m2eObStGpEXRJgO0u/R0BZ97QpNUQl0G2pTBfaU
myKBP3gaz4/jdNN+rxOj7Bb7gnfKJWk77efzzB/3zlGSJwqFQqHyK2Wrp9NWcnBEofHPvH+uJJxO
ONx01A5DDtfDLgEOTzCG/A6XdDlixad2iY24RC8zgvxXgHjZXUfsB4zZHcSG7mgR89XzU5d1wDAa
O4o7viYBpFbkNM9yQw1z7XEHGxEktjFWJzCE4j+dr+5XBK5/929si2mPsfD5u+CZFwipyL1SVGKM
wGcf8SMQoGkygIYr4cQAlK+MPAVnun/CBgdOz0GWQ9lk5s0R5GfgcY6N0nOTE+kGilXr/FSLsYsl
TqDpXC5/qde9z5jgnFXcaaQnULsLzHmXefRMFY4SGHs0Oqy2esu8OEJHvH6/Jebg4Nn13nBxGw65
zTsdUjDPxVxvgQryPp3NcTtrUfnevVTR92Xu/GXa7zjlozwPITzz5dc9dopZErRvIW+olrZ3s7jH
7TchZ4JTmVaryC2EiTX/dzCSWZFhmX8ynah1RHrUV2doWbZWZ6bmeeGkAMlrriWDeiPp3FnnQdlu
6+tIOrT34fr68vj1193L4/UV2q0RFV85/WI1cJarbN+HafcyvN93CdaRg0NdkMhO/fsVB1MbGbJ3
9hDWAu4O8yPWiEm7E89KIkmRPiTbEoA7CXZRKRonzehYTJQS6+0xjS/JmqQkQ4OUzGiFS2u3MRGX
eDHkjMxdgGEBCzI2xYDUgWB2tGf52S1tDNZu5gp9SGMaxh/UQ8+FRMxqBzZ1mS+7x8WwlLGRueYf
U5RY+gexykVdKBdaeS+JbYoDIGeneKxwBgBWa+RhA+A6Ml/wTHUaHc0iSJPgohGKXDMeawYa6XH9
bph3y/5ko1Przg49xF/+j/9TNx+byjdAZfb+zbiG2D509ZSl0jFPPC9EV7uYTUhSljxBMf5IPZq3
3f/7v/+qsFzro632qaeuPAJhGnLOwK3Oll0qfCpuzNUAUfeWnjelC5cbEWWjWx83FvgOh78P++jk
Q9yk04tVs/QZJUWjQjDzJD6njnG14wM6kwd4nNcTDEOcrzflJqUJ6DCd//7dnB7W8w4JS8UdIJQL
dL6n7mUYgHG1hgh64G5jAjHLsyAm20W3PEX0HxLaNhcNi67enU7sA5qTp7urFlHOq/dll3hK5EdT
oS125CbKCImek7PAf00fFmjIc9uAe4ivhYdBLkYpTFEo4ZQh6dTRdSHI6b9DhsPOi4fhg8ZCO6um
pVApNUacPOPScNrPcTzu/j4rjJ91whjAaiS2w5aHg8d1Gu/XaX9LuGHNqu010G63yZ2rfToWhso4
D6Pi5FelJ5TrfM1Jv/xVk8DughEMrl9MR/AxlF9tfNczF5jjWwSmxNnmIp6kwFTqOOn8pBDG3AC3
54PafRnPb0Y0KtxZCzOa/kbEe6br1SjLd8PxV0U/9n5YIQ+wFNUcJxhK2JbF0ntnW/LBmXxAzIXq
ZTecdb62RjJnkT93nTGYzyJ1lAOvQxE5chK1VkV6xsKv7xbsgKfwVqkcdx16L8yDP+afo2aiCSB7
0Sn5dMaEWPx4gYGFCrEizM3YBoUCEkza+eXvUHhpwZK2eXeVuDyX74IHujd+psJEVR2K7nC+nOUS
1vJ5/KnQ60JI/C9CoWLqSAmVZb3cS+GaiVlyI8i7ouM68b4prp0JWDhja87n4yebsvPrZve59p1e
RvznKP5wxWTAlnadxm84YEX5uN1n7pM+DDDjQy/iz1wnEw3y4UzKG42Phqe1B1Nsd/s8zS9HrX8n
GLunbS3NIrZL5NXY64+rVt/eOHIifXc7GUtsx+0gKr5EJTpfcoo8CpvH1deCY4i4w4+beXiA/V8o
5e1tsFWerUZXZctTJqjaVtlkH2y5ei4L51JeLqc7P8zqlVSMXGXn2wc2G6N05sj+ECFabNm02pK7
lCzUjP8SbWBcGja5L+B6+wqSRlVIAITcXe6q4QtDW3EqskRc7lX2eaNAlraV8pbc0UGyoPOw0D0D
I9X4W4caf10DA/nQmCj1y/QTjQOi5d8DxEMQjcM0GKOYJHPUFqNUn2uNQPznlpFbRAcLVXw6w/92
V5vcCjlm1FVKyzL2Usm7ipZgUK30MRk+iewMHUsZygM/lb784wFwqoCFop6OaIGBP7ZV7AkslQ+B
t/A+aI0ShYSiwJPLVwAk+jOtM9lmK2rJfMgEdRGlHLjrnvp0GXZ31+yu9Yc3vr5on3toCfctjuNE
h9GHcYSwDMC1asalei160LwOS2p0tG//MkMkQIeNEC20Dejnpo/tStFbefhuwppdAWsSzeQ+7jYV
vONFu8asqx6vpwY4oRskGunBWCvYnLOwjm7M0/K6oP2y5JxcDOZm3HRw0bcj2lR+71axVqsKV/u9
OUtB70EBJypFYyD8sW5W8nrDaQhUjLJe4kcwtWP//vicv8/KrbgHgIqDhfq63y2Jikbr6EJjmyWq
gvnjFYpYfgzHh6JbhRjE6fJdI3L5DgIDo9PG8kLMdPNklf7ctln3JhW+v3s9Ys/7BgSe3m9dZbfg
uTPMRuDHjwuAcivmeNn4JNm/g3IXTj+CHQ3a4/X40JpMZVetbIhFHb0FHGqp1AdubL0aij/eQR3P
13+bjn/hV68YR+4Rwcm3AmiDVOuWbuM+2OpGTsGz2lO8AWFX0shNjraHUPIU+71ZoabZnNjFSNTx
38aff9BA06rVjHlmGxU2Rql1qnyIoToGysPFYuYHdLiBvvVb/fMYB2rAUlIXYoEeD0YA1JmLBmQh
se2qRXBQQiNh7gpPVkQOVvBhoic1hQNLfoyEGWpd++cq0Pdxd8Gf12E6PpQ9FqKLF0MStQLosBEv
SE6S9zBMPWwSD46TmDXVrC7RPAQct+8fLaLzi8gYnUTjq1ydPT3s7U6+gGzAepFVASK5+EkcAgHt
Vy35e9wLwhvZxuOtN/KE88a4UhBEQ6OSmDHhocrXWC+djSDA/1WX35XAwCnrZfRSJOOzu4AtZ5hO
OeQ+hJjkm8eKcZx7X7MxShctM7GK7BYYNRiGd7Ch0BWIVoXibAoxWWNDTul3GsqSk0Jh2cbjkjZP
4wEqPp5w0LG0jjsJhAMmAd4U57XOZBgPsxt2JuNt2jMEah2PUTa9V7m0dMNW8U/a1ssoVjowNX3i
Z1/qWu2qoU9qf/zqhiLFpgnVlWAQYdob6Xyajha2Wonatn0oMxxrgaFPMj/U3KutAvSJqPhqk9Ms
aHud94ntBs+V221XWe5Wbc6mT0rvdlkPrw4RQW2UwLdIleQLxH2sTYZ+tvJXuqE8qWlD1cKxzhr6
lTx86srCmtrLZ0AwdKm4TOEvLo001HiDz9XTUIrYKry4OocnZSxQmXNA5lwV7E6QkYQrPIUdlO9u
i4gLEZhhO6KPBiVUvxIgrp3OpgRJJ5svFukZg5JTEghNCKXSKwJL4UqVEkTMQb49Qat+wfWoimaF
I8LigRA/oH4GsK6N33m7TEdNDWZ+vKx5tnIPExQ8osGnAy0LZxMCHGwiIPgrggLSeeuGTlW1/nkz
8vtShWwU7P1mLMOPhxLwl6fjqkuFmbTBS6wFaOa6xmUBsGOTXTHORRQXJV8Ry6bAtCI0nR7n/f2R
4PeybUIwV1yuZ4197uQBZMF06q5qI3mHkE2jWDStlzzKszUeMZT0+s1FO0rsKe6fO0Sw8Ts5+A9S
rwlTXAamXeKCxJSrB3qOhStCoQo5tRyKwjDS8bEnF0l5fFUu8Gpd5cCCVKKHPSXatrT2jA79ZwjE
bnpteRN6/iJIh6XiSowx8x9a48e+YPDAsGQnlHX02XoywDNkkGJGlz7mLr930c+JOXFbna7BfFWi
n02MK75P92PSue3qUJTSwd2kY9mFR6J150CejTXcCdXiLZmsLkNRY09X+3FP5YDlq8Z/tNK1xvz3
frjcpPTSXbii6YPwXPSGzvPu5fjQIkK+mpA4vo6ELfqOTwImwVeGwAcxtMlJsYSAEWMAxICVVEpf
8Y1FEgLTgLacTUdOIg5qQoi/QdA8ZQGlnwXrPaOHKm3NC99hTdkWfO1CgvH2S6UnnvH1cbtNgxY6
lri2IPXq8jehMWozRLwhEWIcEI4HhQG8OthcWWax8PYOx/lORxV5VJoJ1Keai/g6Vispv9347Fd/
obzBTb1RbE0RV6NOrOpZknzFeC1lFLRzPRZyyVx5OtwezpTxcZyUBctBGLVrWLIMvL25uV1nPbt1
RGUBvVeCKWVkekRqAIlygoIkmN1FU/tByqW0TWdbof/FFFAOzOPYEWu2QSbhoOF11v4LskX0AIh9
3s8qxmLR+sHFsomWlig5wtYTfJUEyj1ch7cdWCEzIO4a7aD137t9AEmu24BSkcu/GUnyh+t8Uuc+
VNXKGLFdNT+Mb3ZIW1S1rxYrNYSn1A/IyrescRUINp94GUgvHSbY28vjricS/cI3m2RID25SQtpd
KIbruZ4iAZBKLBQhQ9bWUf8YrhPbJMjQmjUgloW6NBOq4PtwVqD7ZY1Eh/113nPiPJc9d3N2CY4W
hQ0CvNnlIebr9CvgTsKsXGMmJyZb5XJqR+/A8Z7x4RXBKisDc5xSrmDypsYnFdLjdEoXQJCdRamE
fASDQ8misTHUYVG3x4vSuUyWoLRJS4cgFiOpo09UEhJXAj9hmA95Eoqsk4Z8WT155lU8oLE0KCY2
W+cSpT9z9VoB6a/w6Cr5LCszIIDnZsFMZq2HWZvTVXkhvD4LVWac57ML5qWGCbV1KFjpSZg01H0l
3agO+YxDOD7E/FJNnAwHNn1IVkGYk8u5bEbZvKpRlEBq4L11KEopA7uoNvzZ9IlyzybkzWITFRln
WyqXKoGJI8bcojDFgbSvxoNQg91C5EAnaKXqQ0UbyrquxiW0cCU0JlcR7GWoHD2mkytlFW1YIPw0
qzAuKyxGiUx0wUj0mytAe0kcZrEauVRusuMTsEeVcM8KiNQVee11kZgrPs4/4WS4HMbWOTBLEtja
IQWoQHxehIrIf2q1I6JsGes4AhFuWbsBcYNU+K+pNqjSd4dPpAM0CdfRA3gVlhUiuqSQymuRZhB9
xK+DEcLUEKu8Mj90ZUtN1bl0ydlDsoikw7oFynJRGyB+Y/gDYFCgRml6vUKfw32IdEvB5hrOxmDW
y93/UpFClJXv2USrWmqwXcyXAy0kgu4Cn9a1+1R0kuAHhLyEfzpDsOHl0/osCsGWvVQk6CI1dnDx
7ucVou3GLZwXf1Udakyr7ARRJ7WNKh7olKGDix7ecCez39xkluVGBk6xCC0tl7kLKbuYN0RZRhz5
wheorI313mptL2Al4JQ3S+h9NE5jpREqF0IYB+SpVjRaYr4oa2g43Y2fYne0LUEyDuI7GLAgj6Zo
USUdRV6FuJBzjQRfhCXMt+nwgLapaL8HrYnNFCQnyhEP84U87zfjQNuRV7FKBTyXqvSvyCZSGUll
j3gE1O78cYeVLQ8Hjly7e3dqYrq8IQIIaMcdPh6YC/IR22Lutig6Kcx/jrHZ846fn/JYOn9rFR85
vZJTDM8Ff7xzfCeH4OB5AlDbf1BbMh3Pv6onUbdCAAmTElh4+pWzeOPuQEEr/y1rDOV2J6wklGa7
mHJj3nGvEnIxjIWApjJi75klKS+p4dDeajtpcaHxSh7i5pWIhqO5f6ovtcxC8tbbmbKMJheX7qyl
d+MXWW5lNEZtCa1je2d7GgNheVLnmXv2aTbqfFB4uKnFO3fuLqtAIf9S8iIrQ4pjJUc1OSEWQpwX
0jzzGafZgQ8R7WAmldP6Yp2HZRhaUNuzyAZFJjsmFOUR9JKMUQhQVfcZm5I0nSAEhGuDXu0JQgt7
aFNRCPXidOuF7zBsB7N90W3RLjn3P7fD2a4jFmYkB8oz93a+vOwcq0wYLN7Bt9ouBPtjW+IyHAKq
ASw+l+3CJkd/Z/6pmxdN1fqs1/KLkK/g78OPgf/9MN0AGOmgnZcQfQ4iLfTGNCJN6LEjRLcNAYoA
CUxusdIsPq+ZJbOjLPvHcW28STRX4lAGRCbzLBZ+sp5QJAdJ6AxzlpC0MUryrL2esggx/mnAgXfU
LZritroIsTzui8WJ9vtlSN6TXTwcCSN1TJsIbeGOSHTWG858XUpjVq9IWVRf++ZCppmapSZWitBD
pN3dPs+ACnaeH7fdYbwPMPNOP+m2aEPczpYjxrQw6qMZM06+iCGfTGH/uGKhFlKCEZ/mzx+KD9K0
bj0ETCPLk6ijm7sMUXwSiJHeOcuCImhzrS6g0XRUH7Kxn5UlVmZoylLoOjDba//lrQXzabpR1Ewz
moTIctXNkOkCgxbj4NrGMl+i5IspPCK6Ctr95vejD0X4sOLnF2Pcit6NtmcjJJwoeFFtvLrKfXlb
2HFtYDMS9ARFfSD6+Ll5LXXVhCykFddoC6srX4jUvhVANgVHGsC80Sz9LsTB/C0bRyvCqP7WF1Fq
r6QI2bgro8WibzDvc5Ytsfo+CxoQa48NXtDH7XhXPLcqpF6AXRkw7MdIauukiD1pyz89ZuCZj9Ml
EfnJw+GXHd8HazoSw6O8mYREFn6CyLdiLBBLrYyhQF5PglDdtCEbBA6X+AINtvijLkIKS5wQc1Mi
PNaGjM+4ctAcy5WQKySpRUrat8S6ZrJoIDp3Nl3mvy2H2S8yvgr0KK3QGR5V7dCjfWFRa8KiCzm/
PDWA3B5IQWoUCt9vL0Pixj+plNTpQxKQHHIAi9ZeWdZEvp0Ab+mE5qUaKWmzlcNbKo4hDmfQ3MIm
JD8JnpYp4QwDPKRDOnrYxwXRuD8OV64znW5oKo7UXBeHbyNzrA9Z94xQtWCsoKekgy2SHxu0hAMm
i4qOTA+58iOcXIRCMuA0H6iA481cxuOuBryFNyviQ2y/IrmbGqNuQkb564y9v/zorcGiGEz+bop6
HTpOOXh1m4fU2eqta3Z8HUwcPC1hB4/l+6e2kswX8/lzWKrQjiLbEHrh8GFCVAhPQIivuK2zMiS0
PbY+I+dLiJwtHPPeTlzNAnvW1KszvwWCOpXuc7fCbX5c9+rLb0OvNGIlWQxNtnQ0ssFA5fn2uCRP
qGmykKJNxk0LSrNoErgKLcqlNnYkzrWlSZeOMAZD54WdnBp3ZWFTYketRVDJnAortFXo3hbXCxn0
hi7YaQd1mLdYXRY/nSZkAUbSJJosqKqQZiKZKKOOHJVR5aP0xTDlkq8Nt0WDJEy3PmRKMDdTQQg+
ZShnVJr0WOq7y8NWSSJm2Of8lThzU/uhBssCMq0Vh2NiS0+83W6pCjWb+Nt0GiG8BYvSdtKEAo7R
rKt6V8HwO1u0nJaQNrK2qyLkgjsTfV2urIcEmj7otdImvXggOhGMoKlu1a0PYv21xUG254W0ABgQ
kZ857KsZAo30zJ1cQmL0blZspWCecNiw919z/RThdpJTS8v3XYjB7sPLdD4A+iG/YUVDubNCzGhn
cUM1COepMAg23HGmrKbeRdgdqvK5EWn98DYYgE3Qek4rGE211BvSRlravW49C/zZR6UuqYQfn4Ue
9EqokBTmMRRn4iUtBt4FM2IaUXr2hySbruspKsUj0icukVYNZqliXvVWd1o6jTLnFLDSVdu0DBmU
/P38ak0rDkDpJQNNE3zf2AR1tBMy6Z+JrGlbqGZuyPrTjL5gPH8tLrQ33opIlEjWi6zX43pkeYFD
qLX4XxdKnX5JUtRtEQrURFIdWjikqUJW/5cDntp2gw6yLeKIdiDyS+w8Ji+DVu0r1MCj/z+/as+w
CElXPCHLAXlfR0basv4KWqOcMsHyd4q2JBKMTROM5m+o2dEkfR86Z2LJP4MKg6gvxSMVvqpDvBlN
nPAKNfHShgrInsMjqUhQIypMsDO85pTx6zyTXuSs9jJcTUt9tiHNscGRG473DTVzRcgDWuklNXTe
iDAalDgwBKMXb9AyDEXQyTXy7uaCHtoO8jJYcClVi/brdeidaclKI3m1dKWwimiiGc/iPDECFT5h
szHnZCZ81KoOPWPF+tNqjvqgOP9IWsmaJV+Gsgq+dL/tftwWuaVrnLqplRil37mlGVySLcTQAeNR
JOfikfQMJtfYCfucRpgQNZ30FLOICZY4StL806tcIMHEWOXwV8h4WkyoKVdB5q+IA00OlCF/fG1F
Xu5q2Wm9rmMMxsHS1TJ1F+QBOzZyVaiXrB0RwRTUiezz4BPnQGbSCWvq0q+LaJ4MIT3NX4tkEDr3
PIT4dBmvN4hVjbf9AFjkuKv/589/+oPVoooGFLJBqOY9JRi/mGavm2ZD4JdGkmFpPQyQH+8/5+t3
DGzctPsMymhy9Lc8xkpEi1wTsF/xlo471uH6HQ5gHY0dc/ikKafAZcfhzZPT28RX0wer6yIxQLWC
oQgZu9FCtvGcrGNbJe7qpwQuCvxEELALaiNaAyiNH2+IHqmd0ModqDV3QCsSbfJUCWLKhGwyWYRQ
4ik5+cxRJxy/9zm8G9vtchw+9e6NVQSvDYc1t2VyGuHviEzO4QGmBOhAfEDgnC5L/eM/a8+wr0Me
bzAIAXrS/OmsxhjrYHY6fJEaq8tchWN1aztoMnUVJ8+W5lXVNGhDpgGFrOGNUu5nUZ/aG+1CMp0d
0tt4v1mr8T7vfPdbE3aVHxrtGMdm0eYIbgyXlNSjVR+KDSHcHQ7xeR8/kqm2PqgWvl5lpMV1RLWW
0A+3kxHF3PqIGlaVTDIH5yBuuIZ4d5h+aOfUbivl2/pwhVcl2n9inqnmngRzLvjkb+/zwxih48d0
syYkyRm4Ai1GGoyhUWCU6vtSlcJtiAAfFtoHAxZQOMWuCOD8+aRQxlFjPn5jfGXzMG1QD+fYYjQN
gw+iXTi85ByBc2nPUPmOgw3YukX8MZpKBbSOMEUzPlkVa9RZvde5347yeLlfx8VHvAGk2H73qayo
cnQEIk60phF/m9UB1u/DsVVuqhYYJkbG2Lb/mB2AP81FOLgFF+UIk4m9WiJUuz24OtHhPJ8/AcaE
+8zm6+V9AFJxoDfaHoe8qD3B1S1ICO/DdAMVrIGY8zWJo3KmgU3h4ozll9t8jEp3JMJBayQigGdj
KLL0TR7aRBQSl77J3DddeOP0vo/w1KFgKGaD0N4dswvnKQqxS6zleALfSsXpOHh5v+Nxt/9L672g
Z1aFqESRemnzrfvGpXAFB4Kb5tKL4n/AKt7rqL37ovdPthBz6LC0i1R96s2LB+O0PJnwckbr43xX
L6ZrQhdjfLX9dwB8dUhGikdLhEp/QbXYFoeuhhf4p74x26u+HE/m/GIMeRHqpD64ks45D108YwYY
pTlDZdpVm89KQlFwoYOdcOfybgyXI0LbDwfAAFFIlVVINi2y3kcMJYgEfmODV92pCUALvrVarwdh
ke66oBt1ohTB1XodKJxejthitfT+8f1PZwR1O/JNel1U+l2WQsPRo8l1CHISIHWIldzVvYExjAWZ
iKMwnkmFw/jHO/2PnO/UVibYviIgK0/7nme01WA+9Dxv08KZ2OtiHxsFRjgQL8PBqKybxviFz/g8
Ag28RMOtd2T41OWXuZNSGHsrnlpuvnJ9hRAyYqyXPaQXAGkYrp+7y3jdU2N1FJWJKXa+tLHlB3C6
/z9URxxBw0DvdXwzFG6JRdb+uZeSpPadkKDOc8MKU2iTBj9EuyzHP+BxNrLSz5oDomQHIX0IF04Z
uUqCwB06pt0aLvJY6wj0ZTQx0IU0xNqiIvYyZr62pC4PkTJc/X2HQfCUCVUWmU+gFBKUKhMApe7n
cD3cMEJyGd5g+rx68RZkE4nKmeCcRFxmqgHBEDiuRlqst3Z9kMz25Dbsx+MxzfCVu02JCIQ7B5V4
uA4/YzF60qtOMouUHcKtwLGhStDkgbs6ge+35qXpNKgmcNdGF2F9qQUl7HlAkGr3d74P1OiDMEhZ
1Z4tXUh9DHg2s/nNK6KWc1+L9vuZb2NbA1czM5s2JKid5JhO2i8WlS+v+BfzTNtxEfYeGm2Vne+2
+MawE1LGf6HCuJRqKdqQ7I5OpKCFB/0HYo5hbzwoiv4Tu9zex/Gu1IGT2G79y8/0YSu0isY/8uY3
GnCaxOhCvprv9ABzaE+18ey2MtMscd2ZzkOmyGV4QOvJ+AM0NXi/MC5Lu2/px4lcl+0xB6A1TfJV
odDA84lAhRS2TrLW107IPXyBUMGjwLdeVB3yEdcCWT/eMkQiOjSFXmMfsjaW18hoXAoUF99JF3Lv
h/P+fQYtvtd23jlRJ6o1f0zjz50F4deuM2hm1V1rxKEqAbrQYTE22n1mMyRp1hahX/eZ6W+qTrcj
ytZ2Iut0YexrwqcPaavruH9cb9Aamry/MgstAry8gSau8nGkYlKdbxXYkQy8mccZ9qH6P1UZ8rGc
DjN6dEzGaIo6pBHILCAZb45mOO7T1ytY01X1bbUvtKfah2Tq2vxJWINdH9rm3/+vx2hcn+E8nYYt
kRYLSbtSEWYVv1Do/p9HwBD9/CUdisqeWXmpeIfb41D32doj8RKzEjtmGGqx9w7JfX+7jHvspLKV
81FKFrq19/ImjhLPT44lX2g1rVuNi4o7GjhV+yP+eR/6PBYMx08K8Ysg24usWa87hoJDP1kv3wt7
cEKUPZzk/rgrA26IRLWQwKm9Vduqhih9lIt1L9JoQ26Q7qpcvsaByZy5PBzwmQ1Hi18Z75uhRTgy
othHMI9rE1EAbGlFmTtHqVcb5dcLdwSoVxczY7k629u+5BUv1/kC2dlYpwURbvyzLdS4FbGReEYE
n9+qA9joI8GuEk4UQuzK6jLxU4tEcpt+XCdsNTzGcc7pxN3xgRCoGLISTHCGrOT083XvAEMhYnoA
qTnv3idIgYSjYq0InZK9sYSjVtXjxgTnJp8oHW5oBTpiELLRd7ahkno+YXqs6skgLgrbb7goV7vz
oPRztC6bPu3dp+3Sf2PR7gF1CTrW5iW7iyuBEic8UWV/2UIXpdYyst78V8N5hHgN9UXctHY4JNW7
owpW3+EIDJs9huPP47Ryd1IierDQOoDGelBQFuhOgBEe9d9aYcjhAbp4iD04rFeLf8xJQjwl5zrz
xW2Qe3iFcgX1+vbfPy8IYPvdCKzr2xizoYiQuzMwjnksIVcxAD7Obf8OQ9oh/hTXwLix1q0pWOv4
dGelcsLukEQdH79UWAyE2WwpTZwMq/JlSbktO4ASOYiwwaVrJaatSADgjbkK08cZjubwQAORp7WQ
WZdgn0psToDnCZhuFTQWl9S5JUE1J89RhUMlBMpc+fV2+RSr0zMZb1yamP753//MFt2f4NUrZ8zB
r9UZ00M3Bu9x2n+aN3YEqHWFefrMO2N+UljQSEVrtLGDkRxaERuVtIoXJmBvCeMIN2hkv+1kAhBu
5idlj0JyG2nSclbD7PCP5/+4zhjgV+SiOyExnJrf2M/pePzreD78ZfzHA3Ij2Be75bVVISGOr964
Pf/5lz8p63EcIEKP1/FiWADHXDkz4zz8gFkHMf1LVydkkXPJT+N9gKI581+/Q7F7tGmYrsyppBqk
Yl0s0Wq6MV7IUp98GqgUVYNnodU5yjjUu3bNGIY4Yo/MZ4nQBMm3OLnCnZ2I3kxWpIBLJiBNKCQd
59Sq8MVcsaR9RjImbvjZZb7g39mA3kwof5fjCKgAUPuUqM3DfOw6/s2x1MftnYhb9ELNHkJKtYg3
YwKjzDLbKkikXicoiab6BIA8wQJsZWmiiKiEEsKS9RDv+jLtlszxaN9wwlOtRTGOqO1kiguW5LJk
jChq5Jz/LDSuf3rT2dEzhubhCIUqSuM/7b0PRZfNazzCCDGkdcf0sP0pbZGlfsVISJLW1uUipyhg
OnF+oGiwmhPkzQ3HpamRmlrGRqrA6WEi/LYo9iQLViLBWLs5nOvbZVggaAi6accWzAyprw68B+AY
qECCEIz27hq/8qIIcI5nGN0QqgOgzVOhoUpG7NHYYUvZUU905xGVKrRCjwU3kKkzWcKHVaf9ajGP
y2G4oyexTyRGK1FKIixA9U64vGaTLBQVBmK884p9rL35hjVn2s6bUCAyLbY5OrFpxZ3/HPsww0Ne
eIYJ0KMRO5Nx6H5NHHQtk5edCOp7ohxrjegw7tfhB3ToHLXLc88d21OyFR9se5eVSHNIQ1nyNiBD
ozg6jOdJE0GVrAKsBIqBYPLt7FmLjLZn9fpPZj4rvgATKkJ1r753On8arbdYQGiy+kKDKso07nHL
BXHEc4dTv6IRdFcDlihMH2G7yj5DStGxlat1rbaiFAVtdtcl5GQgkxNhr7i71vvhmmwdGYEw/B3S
kMbYeTkO5+9KqKQNuRLLudPDvo6Eq0llW3g95n9UI0pZKLyx0MHLxdr1xf4tFF+wE7YzBEELaePe
qYwE3q5TNSft/ArnWYDn0oTPTzkz4e44bcJcgbvC+SgUbULgheFodN5WV7ES6xPRF3oCLsPCWz6A
6IryMnkIjh54jo11z+SO0VW4J2JyZRt0DmyNNjoDu8cZYkT74WynjuDfIjbXcOb4GIgOFCRKgEQE
AKT9M1/gjfzAcSgwZRCibcrWOz8WVTIigjnIK/ujxOIrL1U5gsz3LbOku6Uyk80V2/hU1YkIjgjo
fiGYW4aCL/KutwmGJhSgkrxiyFzvN7WRthUl2avoEj8XtIu1zyshOAWYEvMRThvE0UaX4+Nt0px4
wU8dNllxfQmgqv3nX/5ki82vd8YYVzaUh94/hXL+j+HH8FeKb2K5Of6tEhbIfFIrObmSIw9qR5WB
h6+JlrJrQlooFalRus7oTbh4lLAO9V2sJjJQdYmy8NoPvddy4bx96lTeFFsq/egyHYPhRGNckhUL
jSPKveXu1UKksrNt2PAVUbBt5sBQJAjv00njqqwSmhi22NeCr3756183MVQt4kwZKBLzzyYh7zXd
2zahLMx8FoaLM86tr6gI5DYP2RtvM/TnUH3MdH6F2WJqmUYrSoORlEuIYzjGcBRIYsjqzgcYUmYc
hflNW5YIorl2cyEoeRBX3F1tRc3RormblNmjMLwMGOI/OsEO+9ttqchC4A7EU442qpOsyUO6cDHA
lqkWimWS5SHLhFv3LELY+GE8KC/uvDPXeVIeUxt6jU+m8QCzLRR2CKr6dRKTlsiFekZRW3dAeVFB
yeOlMXY/r0N8FhCdXB1aHYWZoMTf3OMDoC3ejOB9XJUrEJJHFGkv+7I1TnIOiB4/rspQVguttpvF
GPifMuqq1stUclbnguBY0IiqPAehKDF/wm48PQfAIHDpE/Nv/2T+f/gRVCEFKFPUIS2o3Kug5xqz
Vlz3Po3X4bp/xzqT8cNckp5wqEvfYuqlCacg7xGDlKE3ujZQOTmEZioTTum8ognJyM1a/quWSuUr
iiVefqXi492GNHbf+pcjc27TH0jq0aVvstWCSXEMzQxokSHz75a548oVNf66uk0OHsyZpkSDtmV3
+wglQBro7WqeKrcqc4AOp4/Dad4W916Rra2f4ONUwzv4uzYg5/ESKVxlmSJDXLoaYZhB/gqHiC06
CisWoQjIEiobz9zEA5IgrnacSMEoe8lDquTAK6AG9iQc/fv9fkn5m00XVJDxEoFKWV/QvkGVYdT9
xdhuO6Ox78OLwmh9yImbL4MRbYC2PapFGGW78k1b55ty8ssWZFAuCDEbEvmwVnSDrXK7z/cXHSjX
irLRlR+2kr0LLcXIrfPQSZNtTM+aoO8paJqcdtOK6k/krnYp3FuJv91g21y5cfDXeT6pblARdFxW
wBvgzqoh3la0e+GuXVJo2aW17jd6+Y1wFByo/sN6lujsJ9dU5auk/1JBBs4K6jAPBn2Xx3PPdsz7
ytVYm5WKseLOB4I+bSGGFVr0HcfsqdBZFQzakh218dVUIo4HZ9xYuRcXLwrTi6PGuoFGLAgCT/hw
NF6s6hD/LP4E2dhGJNzBs1AsKMGGVaQ+dnnFyhsufMOOC8Zutgqd2pZeoVXoMtwV5SyiOyLFTD2j
4+kFYNbM6egZrVY0+a7qhtwBL1Pt41horeiRX8XSbWmI/1q/WPdZhG7QOREs6Kx9qDN4V/pVMu1X
Q1mbwkBtyHyPBq4uKWNZGBIrC5EniWg1nI0oMyowjluUmZqZAN8JAL6lbwxBE0VI1yEVzCYsstIm
07UMmhLL49jR6/DLdPc8XeimHF8WMtLDPneCfeoqXLP7Pl4hTsWlp4aL6CUmoieVqNlzaDBKimYD
81XiLoS9sa5JVZRb/rRFZ09RNwgdFVW1BgmBTMksQHDp7Q4wJV/mDwfVLoqAWF1G+iuQaOeICqdz
me8hO4XiROzg1dKzqXk9PGfrZkiMFgnrptDq3S7FuIH1LuGt3XYcg4pSy+0Qm9IbF++vzBxYrE+b
VtS5IxK4COsVEe/jeVfxBVkU5NLLpS3qk6qlb5Q/jD6dXrQ0ACVhesW6IMx/0VvgzxIsCcgKhjei
4rbiT+eOEHV52FJxut3/jQ/u2x+ijxUW07p7FlrIZcB0VYsXI85SVGhueRB1nGifh26b2t0wlp+4
l8xCQ2K3UY3ohSu0QCpGNZtU3ro7YWHFrkQs6DrwKe62eDBOT1y9eOZbjqpVjso9e68bDIt/uBaG
EU2sQFFWKC7TBRu8UGniQdjBlaXvhRMwD794Ss+8GtM5KoJ6IRJFo9wHxN4fhwlgxcjxve0wiwiV
bcqinADyEQJPI+NsaQVoxOZxEU3cZCQrhj2+jz/jVPJuG5U9TtWKKESi5BhcVHZ+hbvz0heCtR3F
xEbnUgyruo4kBR1jg/avl15ZgBxaXCRmb+MF7kS9fHyBraMqq9LSzyWCjUHPpffPzZtqQepxuFyO
E5jxP6e9sjwLcFx6kBPQ6oC8rsdISe07CiKisGWDii3RC0YVUfY1UVtxp5S2ke4WV9usaiSO4/mN
vN49dUTGV5UFRR+FeRY7BxKtFqadi7E+4wJCqAjRk8tHRsgZRkyPxt4EJiQJrSgMsUDnCjurYj4e
7fzfhEKsS/9WIwqRwFuhpuY8x1N/dAdOpmIOquIsP+Jcu+FAYFbHHX60Pbogb1BfGdb6GZ0v0lfH
T+XNC5naCfbHfifrvvJbSChrcZUiHDJ+XOYzdAjTkJNYWRnsq5fCsMHSoEaKVnQAEUp9+nWkVBp6
h+bfbK+OOQQ0G8/zX+i/AtSX4XjTVEIdUpb0i9JvLxQSQltKSPnj/oGoLzhCKm69CU5zBQLUFACZ
C0J/GA9/NKzxz1rbFxILirO91xWhgC4iiVywBDpKXd2HIpuKAdKHrEk0FVA0wDu01t8uGUtE3ghK
Hut/bjCJhH2FBpYvGqj2acfpQZpykJ41jpQrJ6lrsJVqmy9k32qPGGSP6w1D1YawhjdBUrb0lVvz
bOekzJzGlxAMsgiylIbTiNnK020+qoZB3zWb3EjXCIby8AVQoM+3+4A9YqexUCRjHzIRrqObP24f
IqmVQ+IV5FlXh2z+9+lwmVx6cMHjNufxwxgJu8v0MSraT9qfFf5LVYpxpTz4GrskD7vUGvum9SRv
kfllCISDhEKNOq7VB1d1oWfPvA3dh8PphMiOVnwq3CeCBugXlxbi9DC9TiQAaMzQgsKi20dCnhQQ
qi6ySj5e5c2684bG4daZtpPzbTny/w6eUcrLL30Z4rnJX7EN8izEr85ql/habtxl/LVm/nuvAmjx
zBBYYgSYnQmZVHtWlWenWbBTz4tjDzMxlxCFQSHYA+O2Iqe5ZHXOqniSlpALyWICBxFYpyNiyOt7
bMX7wRNckEhZz72g2lXOXSpel1B6NdLQCBlzKjKg6P421VVYCfwbqaqe6LBjhcBUXLkA5UC2U1z5
BYFQJ7xqooGYja/H8QPgkTliMAn7Cet9Cc4Rf+48jgBGSfXcl2E6J7FXqzIMUvW0QZo9pO2jDgHD
PxMi3L6f0+GuLasIYvAtbomgJzJsUVnId+lOGkVQteEu4VST3TYCdE6YjM+ENwNcVwK3W7g+9Oah
uktVSLzbMMTs1/lqGQsCQCWxYjxmpjK07OeDsMEvXgH+5gGeymhPm3uztCOqQhyi8hv1WSbQT6ti
44sIEwaBvugf7VeyUA/mb/oVHoWE7bR7mDOQEjkCb1miHD79NjtnVG+Knoa2IScpsWG8zjyyxpPT
+nsF6DbUbDM0sduiDrfDNKp1m/oXDxXZPiFEJNL7k6Un3zoMPFTfShYCaAtKuBQpAcKJKqQRmbRl
ZMQZqtLUAK/R5blnC1XhAH0y+JjVihsuYqqKUdb7EfRKVB3YHFXCJJdBeOc2qYGVj7i1WW/KqAiv
iZKrURQMShdJyw4X2RWbA44RhDEKOBahBITjLfgDWVSIonk1wvjGJpbiMTmiogDInKK5CvyA/oix
nGQdeZ73oaJeslfRct8xucV1JyQp6LR6G5TWplxW/AqQDaJGRLS5Q63IRi5l5YVlHgxIMS0LbpWE
78kFApAc7+TIGRrmBs4zYEq8KXSq4LJoOS/GV71F8wv0fat8fxhfB/ivIcwGnv4Bkc3VJopcVjw8
EYwmgOjTYP2w4KEXrAT7x+P6PbUK2QQgEtGrY4lO8W1F6lbWbmyN/CtZ7SyLJ3MPNO/0TYvWiNSI
DMMKOajkk/q+CsXZoET5Fxrp9cfzH/+QSPgEJfl9+G6jYRgnSWTqLGAgBVsazP9GxNzjPhPdZBJk
lY4uwwTtJZEDD3Uzw/6uOZL2jQBhbJdlrBsXAEbjIR5wFVISSiV778bHCztSu2TkxnEOxL/WHfw8
jFTEvTCyEK9x6PpQMiWoErjKCPofFG3gzh/qorv8KSpxSLBF3wU19KJKT9RRowWVqjz0vFbAQem0
VRfK2xrTE0KsE8LoTEpWvI7rWtGAz2eLJqaf7VBiSX2oJsZx4hVGmcQ5UUR6UUKyreoXo0x6NYrI
h64R9dZs8zLPOEDux3B8aBGy0pHsydhL1g0p4WZhKWIy1DNZucItYfXWgkS24H3Gs4OKUBJBKBSX
ibF2GDquQ6FjPZqai8IyeNi9BDq0RYJLcg1FdDqrIkrChAvGm7elV8cJWScWvKFXmYVEjQeZKEA4
lZBxG6pbmZ7dGoXXtLj8+nEqK8lCweavJk0UJs5COUfhdyFKbrz/g9i4+o1lkJEpHuRJiIIPF6ZI
qaEybpJk/iL7rSd5JgWqGwV5sADBhkI9TziV/66iUv0rjnC+Co43KzLXmVC2oeVFoZKHLuG5RAmp
aamONm6NbsjH20KC+XVD5knUIoisxcaLVm64CN0wGcT7GaDUUhmfXjrHIrbKRS6zMRQhYREX2CJX
IbwNzsR4iRh8C2oq3DCaWM1TtDGQyFrGXihRaRIHRaiwhLMpWq8bnlHr822XVNG5cmddyIdIsIJC
rgoJY+/8aW6jG7uYeuxl/F18RfFl9Vc3qhXZk0XhLgIKg9nMdh0Zj7v/OBVPLgsxmjC2rwnzwN0i
8GxXRUprFJEgquGhtqLy0JnBcdiCIIrsKTgKCqhKLi06QxshlGWY0+DZJFwQl8o/FqGynYSaiy8v
DyXwt8T0lCpJ6cAVkcQy+EuH+QQjE22hkWKmVcGMKZURTidNIQmuRJy9qm82b1EpvZKOWB736YXU
qZWYwyoG6nuXM4V/cXRXSolXZSj461OiFqT5OkHlEb5qhV5Qh/ELAMRWKsV1DR17wCgk85k1y8Pd
Nww5xZzGUsl7Gg8TtDRfFZdX2PrV0he/5fp6xVYM1j9vIVopRLOQIfbc6Ec151RkqhjyorQG00Vl
G7GldINsVZnarh3z8YhyKG5D1KFCbzJTJ6uj99/fVA/fiK1gBw4VMC19BhtqUHufIfPNF9cpF1dt
44YE+hoJhsYXz/a4rtCyN1wuI7wDWwcQT1TSmfXRiIbHAKVW6S+eD6Q6i3XF+pKVTVppueKgmmt0
xQIfcXnShAQ5Tm+1qS5rCikRhaDTvsV7VAR6H++tsMWPmIRVcvJkOTg6EBRgbb822ePBT/FOKLUT
Uy3CNKOjUywzKUposligZY2k+imWsOrFKCfcnQOkTLlKSV+4DGmZVafUcOPA0HWfMpGaYBXmUuJI
x0W6aQI8Db1qrOpDBle4m1G5gzpkUfpVdsl+W5IKVUgq2NoFQLdKd2jWQfNlwSmyb1Hqa+U9ivi6
2WXbJm2hUuGwLNiYsSq4RiwceNrjQa0HL8LV10798WTt4U1RgNWTg8lVzSUeN81xAgCc2+f5/j7e
IhF4QADgaoNsmWG1tJ3Lz5U5PUikWoiITBuu5+d8PWACCREMl70hFe9/U6q6Mtkg1npMFiGv0WkF
HRz2pVLSdp5Jc6b1Rif4WyM7C45UI1Q5QsQa9epeoVp9pmJ1JLH6u93t+3SJ/g82RR1cATwSjg5h
wMkpsSApGJyCkBPQlBknWDuCZMUUKsk4oc4RAqIFD4oLEjpjowikKaFcEEXqAbvplYX2gj4+hFzf
u7GYD+Ntj/PGb3Gyjdg/VirxZK4VRe4aY4iEKNAUkswcSejPLjjf8nb8vLzbysANG87XK6v0DVtN
fP7cvQ0XZcvVQhjs4jZxjupWW7fGDG8mS6zx7woHlQsxxP0ouz5ODP0GgMWKkivc+YEz2ClP5T5A
Paa9kfjJFe715T12fCnbNa4ySCf8i8flGrX/kHAmCOP1cIUbR/b5G3Kf1r+2n48RJEUcM+DEvjfr
izcLtcDIkPOr9cCj0HBIrnfkSnRZ600Ebco8TrhzhKE/pFjwBsO7jr4dJCYUpjPlYqTiszSRVuMf
YL9tv8Mx3kyNZNv1QbZ05V/aaC1PDYuSK55fe/+FbJ3DX2F3+O36L79wEMCkmZPwwidMElWFXObU
j8hMpxf6Pl/v0ItPzYqxkjL8BSHgXeh7+y/ECQvZ57BwkoTjrxWJOtmMKPitQtSxoO0Ri5N1ylMi
0XzxIeQLr4kkXZDGAv2CRUnY4R63bjn3jDyMEPuFkKrPm3TG0/P/Zl7d5X14Ge8RZBg24rKQlRon
eVRo2f6z1gudRmk97rO2sFxYl0u0K0YM/0qjVjpqbi6nSs12hsSnzmcy6ds6nRKTXHT5cTFYOzEo
mqvWlO7v0/77ORb4RCYqhIuUsWEeYs/EcoR6w6RiEbZBHufLdXydPuLrKR2hDE2FMCFdeddC95SI
/gxDxZfgFwYPqDL5+/jTInRO9yPgEEAhVpBwJarbMImdL/FZR5XbZOZIRWkl8isUIF4k4GEaTnNE
blYCj4T8FydH7E8vLAlp+fMe4dSUfbSOWLG8PwhlGFUPwD0L2bjvWgmXEwhhvIYnJXAumo5jIRYn
w3X0uB43MtitwhJUdtR4x2PrxrHy4SD2M7y+wjxFkULPlWU5omKKCX0Knfr/N7SCLbRH5fYKd3sI
PlUEGYcjlgrvlG5BDoXc7W5BSH09TpeLtqCyDG7tfTjMP2/KZ9nyGaGXrRYQc3sqAQyGd5RjGxWD
RdlVHwHRjYSNwnK9o+KsVNdD9wI+DjYvi5vBrj3lehxNkaEHzEHoQ9PfcyFkQreYSqfBuFkfsbRm
JfLeK0FgjOLzHcLWREH5PAtxvHgzZ54rp1xI/Vsfjbat1t9W7p2H9toKTwiUK94S/fYqvEIlKoAp
bOWG0dIiNgjpovKeB6fq7/PlBDPDXowmOmFrzP0+49/w/Belva8SvTLL+y2ftog1qXD4oPEQRVfZ
pE+Ng+Xu2u7Yz3lVxaZg/Hop7nQkOO6yCHQlb1UJ+ITlMWRPG9wP11HbUxY6IXzT1Hq4vyeuLhea
IKOopQXGMG7sFXa03x0mwz8A8c+Iksv/QIVt0IGK4ziippOFkEe7vliya9wxaGvLqeg5SqNzdpNo
SYKV4tXFf7wTDqwM3Pu7MFbS43TetBlnB4pE6pre8HIzFO/KuvosZJdSQ+W2M7HDU3ApbsDuaTpr
veHw0yIykOP8EPvmP7ij83HGstsrmDiHOB1hPFJwrg0eBk74UE5CbMPh/K6J8DSETUfrIlIAW8Wd
Mtyr+mOGfM1xHu5xWz/LBLNhE1znSMS/KsWNduh30rFCjNwwWHy9XWi9Cb7u3YMQnQ20ydv7FacM
b9uscGxco6jjhU2cUK+do4JECU19cR61TThrY6Jw4mbh8wSf//jydgR5j2SLQ/xzxwHCSLmc376Z
d/XNiPlv6Md/Az8pigIOhOpcsPhiRX7uX/ZX0o370+d38rHg1UIFTXxR7pBEWNxwxnmXXEfWhKTY
9e1l9/fL+LYbjcgfzgTYc4tvRkRqBbYAnOVpuMAklc83ACnA7rGrtpyi9ZnPqp5oDwAARnTifUBr
dO///H667o/jll/PgyLdcMWrjIlH1yHElhikMJzNSsCWezNkcNSwnalwEIVEPJ8+RroVTvmSvVsT
N1z8Hcx41ddDat1aTvf+tSMHGjfkZTQm8PU7hFfOEXQ7vH/HgKK9YbkAd/IQpcHYiho86IoixNBv
1+GTMScvtoZn2wMRAlQidiMoOdWnw0CP+OfuuIRBRQMwdvPrK5YmRaEJ4IE6ru6waTDCGDYgD45S
FNAdL9A9OJCQfWvF0FdOpc5CaXVeFYK9o8ViJ2hZrJH4ovLoMxTl9uAU2sEP8YdYhE4cpRBI+GWs
l3g/a+ZXXFj4hcrdKWaGKka9EkzmXsJGLit8LrNTSmAC1IkpEbfFGoNxPmMRskcvZkF34JUv3nEp
o4KLKU/ffnF/bSdURe6PX1u9cuyktE9dtW26wj1NTOi3QZGL5S8QXIubCq1wBgT0qtMCQ7zCpMvb
UILgZcDzjh9I0MC5HF6hdosY1LhqF/O2P+J8KOwA4PqC33LgWONnGMzzAcI/iRVrGyHNf7Ze1y9Y
NqJ1BiADufWJ8j5vj8fhfDAv5qI8tiIkaWhEia73hFMkiqFfHtinjR1PFp3B2PFn1UioQiLFk8G2
93CzGpUx7poToRB6pfLeZUgUsB6ii54hPPwjFl3E4xb2boWJlO75wEk7n8/coBa3yyq5Z1TMnShm
xlGC8YR5VwoR6TKcNhXNX+/erlPcXK7L4Auh8icL7aNyQFe1IUOZz+M+HT0rKk6l2WqhgFrX04ld
Ua3ebN74zLQ26/Q31rZC5NNs5XzR57eHEXrs5kSmr2CAhfkGUWSBHPQAOfULe4xGbFAANr6eqCQj
6xdUNqGKheVoNYQ2OMvOj3rI2U7w+TJ6CGusw5XWuAFRI+hGPtKA12V0Ff1BB2gDodOGfETq19Zw
1oDhey8ixd3CvpVOje/YpKlI9bYVpKjzuIycTfxW69Dh2imXBE/8m7SCyH0KdiGBvghkCDYNODvO
RfoAwIa5Ss2Q4TU41VNDUrLm4R/2OqlCVrXcc6FdXaPl6jog6YNG/C2uPLKQhmUhtEX8ZL7pVLqM
qhe4iHsQZcjDRhyM1wEQWbEHkvUgIXzoMqdrQyfDPg2Yq7pD04RUw1cN5qKPumUBoRwnU4e2wnks
eLQbZHBXuhsywrDCfzaLU+ys7u1RGZEBRyfWjoX9XHqhbMcYrm/bwxMVJw2EApva82VhMjG7WcAK
r5NqN2bu/IEuJx5wi1/2DdwdCICKw7xE5KiHHdBP4dEpAPVIrQ+pFO/ZAkdo0rNzLz+vCNQv4lnE
SzNaEe8VHh0wAymWq5Hj+n1VfejdQsCA8GC57g7BlSfs0Yjzk4hC0AyArCuejMP4SkSMxmXTvmDL
lW3oMBAtZP60hnyqrx6vRkSlC2wPkXIdy9GtUNTDMm5BT1MLQX4YBfNuWBc7Nq/jOa4kyhAdz+K+
z/PuZYrfTVWGMg0ewy4zkhHy5eU13kWNyl/sDcO7TbstpobvnmFm7I+Z/z4uPPPQ5q+Af3aBCZTQ
vje/7l4er69x56qr/XgNMxf1+PABGob/mTS9urIS8i2Hf3BVqDnB42x8aQXqFFhChLQKbOCs/WPj
4Wu7weyQcWzj7lPuHi8E3FpGCBl+YGg99eJakX0Reomw8elUlhK2FTR+fEmZOx8ss29zm1W5gbP/
sU3XrYwJ36xS2SXPQl704Tq87bZIoVYkJwlZJy/c/aLGNq9i/328vszDVYn1uJuBsE9fhWX7Vnvf
iUYM4WcigZLhq1IupA7ZMEktT//B63UcNSsr90OBAWcCPv1CFqFeF+XlG6XK+HE5Tvvpfvz8knDJ
Qr47rBuLlKE9GDQp+QY4K1yzVlaSihOBmM0kBxlLLSjhfuPcMIwG1don4bortu7BYRPeTFZU0U8K
Oxa84J1x8d5o7Bsor+QMJ/so8awR0mJ9iLQEAikiC39DBR1fOkdH8Nt2GSWWFa2y9N59Uq4gDobz
fP48zQ8uftDgqhucWNE4Ws68eZ/uWEqGNPBM0PrjOQFcsRPvZETKjVulSAExyrrhxfsveM9xArm7
IfEw2SvANPbu5xX60zXAe6TEpiRWmDgYO8aKXMWycMvx68ocKXh/decS8rubOSQY/oQ8ZBUDhKAT
l1AX8hKwk6IUyEtM/H1+HA87BAcFWIzoHGfcMWthehCFa+DaDxceK3//CZPC+K3Fea0VvNZiYV4m
dgzmM0++IlgNkooKvDzuN3Orw3a9ekWSQHcYqOOcupK+856DxYsgrsXCjljlOz1esUNXvhebaIqf
5GL9LhbJ0gt+104Do32wKTyQgE/spnHyAEtKGeOw6OLLqXJf/HDd74HfK8l/HboLr6V0UlTMdj2Z
BzcZcWzeCUBBTNCGTJtiECCU08rjc88YR4qTCuGkK/TaT+f98ZHAyKa3V/kXXcm3x3WrKFniW8z7
EOexC7Rzkm7LMAncXeHLA1tuSayAA452d0zhLGFQ/FdFlZX+JmmFf5l/mhfP8J+7EzAXdAgZf/z0
Arn9V3g3N9Bct1HRNkXt9o/Bh1z6kEvpL0l5OAhwbeFUjElxP8YXncubsb0CDjoOCCiyyrEd5HQb
+jQrFeW9UprLJ93uB6S4Y/PJ6QgKxwLd4i8xzgkuVXn5TR1UvSxVoW1rfoPBkAhqhVPn5wPGsGJ2
EYkgwUQOi3Otyo3UB2g5tOmMUfKmGCSNYCJZHpKV9YYTqjr/hKxJUismidNgGLyXT5PAsqxMhPZr
tzNddlR96dl1tl3jSdBuVRXCJqFuL2b/A5bFilk/FrhfG2hCnF942mMBxSSIIuEfKvHpRoy5waUV
ixC3l0UX7u4f3Pu/P26KpCtXeqRhBlCYuxLMnQvsRRoPuRx6fA+lUESi9ZVlF0kZgjNOMmEljdx2
4agsV9ZfrPRDY1XnFp5feRC134KzeCbH4QKF5VZGkq3HgT9rqcHkseXvYO6OptPq0JFlkYm+tE33
iSjuNmsDD/ICOmA/wjBjQMglwRSn1de++d+KB+ZeKT21R1yCWZSQlQdEk2DersOZbQZVDQgS9Wop
tABiHcBWmPf3z4vyzlvBiOS3lmJBVpyeia4RG7HqflpY750RX1GSNaw6RQbQg8PECW2IE5xRzCAh
LKQoGg8R6F/MHv4yopfMP6kY3rVn/uQWnRWcAOIeblUQf6X4jkXIHnvy8Hal4uNVHt/Y9ht6R7op
J1573i9OXVbkipYqQqa+rRrnmxzu7N8q6lUYyrkDdxTMRVib7FnaUAKe7GH6ET+OqvCEnk2b0IBb
cGOQOqccTsPHcX4Dsaa7v8XapfA46350nHq/KpazFK6IGdB4vRq8VwwbJMVt2YjLqxbWeZuG851N
3UL5OPMCA3z8WabYJ3kbChBdvWcDyTZoS8KCKx1ZrBEz0pYH69uC4xkh7W9oSsDTRVgqqLdX7ECp
hFrXAZxlii2cN96bLusvO6Oq+LMYFPaqODTB8w+fpJ7gJ8VokmZdLkCuYLmuSwriZ9PrNCYDKEUn
rpfqedhcKBvFEch8PboIQ7RW3h+AfInulaI+Oz+IWPhtNhTcpf7BhGlqW11wNcitdjLtJqkCsiH1
CyJMgI+ZBWbZK0dU+fLIQn9hTxs7tsxep+nGATUqiqCB1TdF4UvirqQiiwDmk+lT+JJMjUWZFeru
RS0UGHrEnAvhDBMjOMGAAQH3lXAISmHHY0Cgsjaw1dwkdBTDt/I9Cq5klTsD08UPexgPxhoiaryi
aB11sNm4HHNLAGBxRY6KOSuEkdflcH0cR4KPhwQemTKFEhQvPQ+UnaEsV4Jg5UopSFfRziYAo/GG
WYq94tKJgBX6s+3XBWrCrRVRhHxt9eAvrAKgKXKlrwH6iA96uw/776oNWghLIVtq8GIDVkj9rH48
k1L0z9P5f+uheRFPFxBRz/Ez5bqqkAy2sgg75XgG6vSD3XDFCC98J4SLGSmCIS8/WlaMu2rbUJzh
ccamZD/hcFNceD9FxaIkyxSBLcKRlYPWOM2/TkZRgwsHXfrNbhVWyBW1JESkaAG3wUy2dngIgGLo
C0ezxI55889m7eFwiwC1KKcmLJMEb3wdUvwW3+y3uO1dKGJH4U69pohcylWghFVfoVgrIp4jfpHF
zdeiYHXnqajq2fhWbO/c44cqVA+uRLlE/B09J450gvXiGTcJLVsIB1/E8YU7/5vNkkKIfzFEZx0S
wZ9QIyKN53FUNkStiNIqmFaKvLVKeWvCBCla7IbheaLEoHjc3NaOjT5GMk4HxXIs+lBgcIPRoDCC
sJw9yE6nBHX/v2pbb1FebDhkC+qPos5KT/JbJbq22xSjpSxDqfRAeorbP6T5oPjdnc/p2ZYEPSI+
JvLzrTOYBEZllimRR5GRF+EJI84Vnu49ni7XqV5KGEPJGyWND8pJlJ6/ZoVmqSy4akIuxjhcj58b
6yOERSSHEaAY4VbAJXrwsXiqWLTyu+t1+FRCX1koy7L4VlKwh4RYuJGCHKtgCnE6g349jkugS7Rx
7sAgV1hFGAHl0oUAbDedD+OH4h/noQ9pTCP72QkFL3PbLir8tbi8osYbTx0xS9k7SKgR7QZyP7Sw
YIASTsVGLVcJuZs7XLCNWi6+vKJrQlauC1sAdgr6HKmQgih8ylF7eTPYIJGGjp8SAxBWTY41ybZT
fP4Jge0/zNc/Qmnb//WYrkqNQbPyF20oQSmiEmcLPGaHtPBj3vICVTOiqoKJHfz6dRqPhyWXp9j/
pe+IZkFLhC5qKWHQC+VEzMXrofQzzfYUNNxciixX/vvmYpVcMXIKf1OlsNyWQDzqbMVCK0NqKJBm
VG5H1BwUMATAy1fzMfiRNhYyWPFCmah/AFMq47PJPV294SxmFRSK5vNNnSaP2f6byq8qUQQCTMCh
EtJfxOWK59J49j8D8VJRXqoKT2gRwJgtl5v/I2gRKGJxlsxhgnJ1OH2a7KAY7H0WemkybspK+T6/
vZG2SKy07ELZgqdI7O0E2N0elyjR12CmNauUpyKFY7c4S4rt9DXDclW51ImbtG8p4cbKfEW7imMJ
7RQMlKUqP3r/Cmz5QvtPH7HTyj1L06I6HsRkUigXVcStiJ2US+xkyaurY6eIEZtQLOs5Dse1cyft
eqpVlp9VWp5lC8O5CkeFhTr/UGSp8P5oDOG/ukK3tRGlBO26UNEbJrewDEJ7Bp0fP5DiEM5lOj+o
8t9Wr28JA1WygKpZKhfNjtAGWa4wVYRTiHojwIRvs7VPusxAvN2HK6RgrzSSDqJocCmazmnrddZL
JszFj3iZfsWBaDwx7gUqvIi3cm5tKCGOkSCwvng+iWK++YEBZlJPImK8fbzvldsrVtZyq1DZUDlU
ZL7T1zM08A9obgGe0CNcxapIoItUNSgJauGpguC2bbGaA6ZQa/NQnnlzjDMQ1/wtEU/hrsq5ihZl
kY0kEYXYcVmdckwiGOgyyzxZyhPcipVcFZ0vKC28MAAArUr8F0NOs9tlnQNCgnTrmhTFUit8d5Uf
xJ07FIzl/3r/XJZzHd/M9ze1YkeWrBDQNGlC0vjIzlzkfl6GcklRonvXpV87wDG4RV7CQ8ESb/zX
W8KZK/pViLrx6scZTJmHEkzXRJFA2VXxkrJUOpz+K/qrVFa8CpUDy06k3dt4Hq/QZ7jurlFkfbcu
SGDXqMq2lCivfMcu6PgtkVc1DN36tr4to1QyDUUXCh9FKlEV3ur8PHYqyZkq3fUrhuzLIvv+fnU+
q1anLrNQAMhXsuO3EmOKcnBSEHAomwVac7QBLeVA+hBD84EssX08jh8TDLJLJfPt4IFgYRfnLBmq
gy3x+yFFsl89B+vf3dje5E4DcA5AAxmdc8EJZjaap9UHl9Jxpw7A2quZuo7JQp8ilOz9StQmHhar
RLRYzubY5M5sKI+uMz/iW32ZvkI698+lXJEWbaF6P2Ity1CdW0jmDy3w96TejQh30W/FV2hDHRNC
gJO1gKUh1BGEIBOKiu1CTqct2rGsBAUxrA5lhESJ2cpyPlfIEChvVMKQq7oOv4j8X6fDYdSq4oT/
CZCQPEX1DoYM4DokY3u+Gd1UykknjrgNZbJ+usJgJV6f+Yy4Dgl4bp3ChZ1fHxptqxo/phs5nYkq
kSIUJPpi3VOiCaoOFyGe5xetksBP1nh1S1/TkKvGpiaLFNCnq+ezsAkctb3Y6loeScLiCrYZZpkS
rBeegpjovWTGVy2819jwDTrwzFOatgRB9H8p8e5V9LP5gk1KgDMUX9OLwEs/ZSrDsxTgW8olUjZH
WbV+gkvmpN9pQta24EW38rIqWRhlFddimlpkMCWG1Dbeg7SGaamU+Mm8Zi9a5ZWWIJFCyUsqjhB4
1Bxp0dqf3ZuGJGhrJ9yRQ3BINtiUIgAHWoU5N6Sttqop/xCqBS9gg18hTHKskWSfJFPOvFjJ86Wc
FTO/ULJ1IqyqgxZnEsVLVSa8EKVwQJYiVksxjNeM9jLROItEU1oWiufAs/l3MmD/MqYgGnze70rr
yims6oeCS5frMEcGE+n2ekNopZtzkci/ZaFk6H/lNwhL4Y8orH5JsHUtM9MuOv0yiGEM1PSKYBrj
FWCTuFmFA3rKmytCYXQOwNnCPabFEn/PoCyrhigl9OQHjG1ZY6JOUgnS9X75UNFFklD4sTkT1DaT
rRqJa8wS81FEHK26fGl3FpmJEwLpxu3DUpSy5L3n16cwJry6FmWJuSOely7gwSGU6bwEU3DJAHTE
DPJ8RsqvZOJXcPaVeFi/kSYX7OcOsLeSK/9vrZefSe5G+rWCL2ytEP2QdaF/XuezAt5I51AIuq7z
jgj91rV2C01MVpZe4fuzXaOsrhInSu4DctrhbUymYErp3rk8KffQ0BwtbIdTLItVX1YVryjZ0qlW
hBwa2dODuLT071SLgdGSja36pcwK0T8qreyzUEyDvgpmLo6TWdN5HK6bw5eFqPoW43ZB82xp+1FC
LGUTKufa04DZP5FQ/98ubEsC/a8k9FMyXXhSophLq+lQwmCF739yYsvJ7c2RYJFOgixl36crTTbV
lYjSOgyvWhFwRRxIx33oQpK9QFpSOUDBPzhftV73V6XSH9kKXqXSgX1SNQCt5yg2HRsZ8mHZaKRi
TpShwvnn58XZJu19+UhB7LiiNybz8qluXF/A2WLKQEUpsPvv9UKmMuvjDfxUbMzuZyKAKDvrBLw6
+XciOJnoe/FTB+y6ZrnSviqxr7JlA5q3u0FoV41fOVd4Tt9SyIXfPmdO0R2A6QTGi6UBkDDNNR4a
qGCGy2oIJJ3f+I/HcLSIDEDNfAUlbnC76i6QpJh22i4zFxB19GBrBBYbkPcW5z2gWK2G+pUeRczJ
YBgkSkDMHs0dgqy/JFYPy1nHJ+j2tZgv6eKMx/H1br+XwbftuR6g3YgLqXEAe6b2UuP23HoQA5nh
Gg9/Hyhfa54BZULjFMrwr+p7kk346p7EUFCZVVxdADnHWxiiznyGaFXsM/hCzCUV6VK5ve24Argl
cWDgZxc8dOgw47Cc9eOM76QJjcx8evHGYRxgPOh8j1+hYxwRq7jPl6f7ux6/yJOt2CxhKNQ8DeUN
ei8VxmxCp57F58D2Yha0OA9FHsVPtg9RMs8oLcHEnGNAXuosmkGZ/lSMehYzmp+E30a5V4WIAYs+
M0hyZU3nD+sOyUAZbk8sLQ/N7DYvcMMROaYoHWLU+sUsqnPnlXXEr1uMtHbtb89K0kjFmfD/mPNv
8mHEya+uIk8JMF2DVP3TmFqliQlPrQ+JPPV5b5VlrZhJL/Mm/u7QmNrEGp0/ArpeuJaljhC67/Hc
Iq5Mynlgs6xd5fWfiX1V30pdnjkMU958Yw6+iQuK1bTr/skwoVxunIAvpDh0YcPs8rg1LwgZVCxF
hFaizzvBn5n/vJtV1QqiNp7Q2NVLovAWpawQ4M+K/ZVQ/0VoYHuUXRNbbf2t1l80fFQrQRiuaF7b
2uqQCI9TEU+/cy05W5++qtnr8AKjCitxlqW30jrbYGWpj1NIpg7dk6jWum1dYhES5M9L3Cw/xNx6
wkCuUybcBgPE7RvYsy42uFCJbbuLFnMGjSW2QV9XvuYpYt4FYcXGNyVOqsMBK2tALyC1WagUa6Fi
883X/zndIKRgjWq6o5BwJMhZK3kWCeTF86RLFURgQ160XVUk8KUWCtCGRGpzeJEUcVngWu3Z2GLd
RP1OpkGxe8XaSri6CSa2lpHdENl4A8RgLkpSivVWMZTcy/wq+dbOq9Vo2kjD+jYQ+TaUf1cAYFNQ
OT5gl9eOnjySSjb4AKWCG0Qe55frOHynmC6ONacYrlILWoXKKSLPQQtJdgp8DhcXbBspRseTh/o5
vaS7ihUnqtXF5HlxXQz7nYi+t02oyvOZhbbAHIgbB2ZqyyguVLqzZPUkamt+nX9QZ0kg06kInRU2
wXM6dmObeFkG+2Ftufj/n7V/XXIlN9JFwVeZBxi2xf3yc7fU2rvH1KdlKu3LOWZtZZFkZCa1mAwq
glxrZT39wN2BgCPocESWztgcbVW1iEQADr9+/jmMAZrvi0PeKfonxB09s1JZg4lBA5iY38VBWrWl
xMkgDyaw1VfbxKUBDwueeoZkUFF3TCWzdunpJwD5A/rDXVxDVRViHoovkuFpdAEbivzy6eRpAtv7
CFOG7uS+LHe1ybcVabFszWSlkDUbR+uO/x79he9K5aKQCBNtrQHH9O01LjWDFbHGE162cN2SkIcn
DHuil6UQy397a5Z6Mz9j4kIwUiORnO2oS2QbysnCey5Bp/IXoB10M73UsrGp2yl4oCzsrXC8LgrA
qRJfcdjWDqAwoNO9TTuYvFg3I5v2sj/MoUU4YxoN9/WPlNTVSp3olD+vjx3Gy/ihdpuXDNnFJrJm
mdJQs6HwyWPYIDc/axczSrkleC+3fYqH7W24TEoCGlVIze8hOcg+SlNOfYANClkluCf7HJNsB9Hq
LsoSxhaQYzHD2jnfAgTOcrL31h8+FLEsl8EK6zTnnOx+LGqpVvo1CgrFVQ01TZ19hdkmwduaSQX1
f6ofdQdTTy+BerJCIX9iPjY4o3UrdPahkv09/X287N74Ke8RN8Y7MEmvkLdeYC6kCZrr/wb7+gsc
17/qQ4upDt5LlL8SGWuu+D1h64TnRSC4GtboGQ9GAkK/JXZweKq15Q2juh3f1m6oBPM1I4hL8Obh
FGSsqjYt1o0yUU0AKykGX5xhFuqaRMshsx44w5Lb9i+wp3E+iTbQoD454LG6UfghKfZW6mTMCsVf
KEXy6Rjpwe8NLQrJKflSk8+sNfjw3FOH+TKbwjs9t0AkOIwakSHsH48JOptAEdsI5YxUWgq8rJTO
FagGCAgWFP1ofJTWlFGGxB7F1zjpEnajkBJKG8hTwueRiejWJnj8yPGn+U/l6PvqqYGQAKLDCQaP
Lvgj5KibqQIy3kYiNnH/kzhdHhK3u3RiEwxqZjM+j9QKH1/B3WoTFqFgsDI4XgjlfMO2QLvn+FIO
cRlu5nGFt04oZFpwtrOPdi7b+G9kbZ1sWX9qsJh5WXsWbddFGa+M/T11KGmn5hogmxBcCqe23UOh
HFjvV/Fp2PXqjZAat+ZxmmyooIgsLueaR5owdKQZ2TCYb7lPN+3+Kr8dli6RPkrZRB7clo0P2W39
M+LesC/00EFSCOa08ttPzVsleReF9HJe7ofzffxYd6J8ob81pk+5PO6XwiqUwjLyYna/lZpJlE/S
2oIKTThOf6Cz3+6UuXCvNwbg5NdzpBuKzqnwy/j+/vWmCaB7N5KwEO9a8uoq/2ZZg9hGvt0cXUXM
+b6wg7WOC3qpbCcL5SBLyYGyVsO0cCfpOPaAFYVSyy/YvY+7crhlFt6WtgNlA150WGZM1NVWtNPi
2DRRC8Wu/XE9q7ZJPOD1ZKxSOp0f2hpMtbGmh/BdfEFT1pINEd/qAfJGi43t5muMMY1ebyXpSPPE
lnG7uZRBqUXvYvPBm3vUxLPyl8A5gGC9dUuw0bNmA0p/bFj4aZ4cli/6F+VGrRSbxts9V9lIS4hi
n9abTR3K++YRXyc2ZmM0xzXcJ83eiSYzMDH7TV+TiwLhtqYgp2gvfcJB/NKh142ksdbNnEa32h6T
10o2ncaq79pLEQpAvuelKPJUJeRpv+KrS0lp8TPf/fJqf0hQAuuKfd6KZq868QoFQ5xSVSVbCb64
ThljZVdNIcUG38/jj9s03+nA9zwW5outGE3q7ZqMBhhn6gkZMFH+Zl6hUfuXcfgW7XYsyv6p2xFp
WyYYxQlrgpTZNqzx/rfzx6i1Ybr2IOz1zVauX0g6DRB1r5QXtN0lvlDle0R56mm6Lvf5cYypp5IV
dzbtpevfBovn+XmX4wS0bj7z8fq4rv1LF2WDtW/mZXyrNqmwWS6S9SkZWxru1rOZnwAldj9/jMpn
+j5VOzK5aOr/YsLgSkZmnbvSn+3mQVJR1FMMIEUoHNZGGCCV8j4eFuBId4elLM76k6GKUmQFb0Ed
v9sI7XQZtStl3b31Cha3hy3uVFut9nsCK2t7NqxmNud1Mbu6aEjbkrGHE7kLSatthzhf7tgcH0jS
4bEAe41RHVAUTh9c2Uly8TFcP+16/B5QipXj66XeefOl48/x+FhZfcefysuuWf+9pyCC9PRXFumk
pxl7fEY6IuXoklVI1q9SF4Mzn6cP9vLtZpUnzvvU/bE9/4F1QpfN2Zsb0VZlD55N9dgeIgo0HAA4
HnjJUfxLyYbKb47WP1v8+sFxil6m45B4uOzjMwR9No5q6PKpfF0TbsNGa5Ls20t+ei/K2bWep4HF
gk7fre/ifD1eHjBEGv61Io19KNLZDkOx2zywnfo0DFv7WYi4mH5Bw9bsojyjXEQpehMMxkXZf+Ol
lIF6UuJkLvO+tRfGXyCIwjsx2sb8wZIVFuhxZB4CsddONKEpa703cwf4UXB7yi5Ep0j/TZWF+rpd
f0Ok4v4qzT8Md7JaUH94H/3t0KleJ/Mv56RSZxJGJYVS16ZfeWiMs4VFC/cfgsnQnmsWPlc73NDI
9el3Ks+6khwBAPVOPw6n6Z4wGW2huoZYrdL+einZQOs4kIgmBEteAN8qPJ3TdN2+H2Uxr/Hp/lX3
YxUL5dLb8Loq28t6fGCpAI73x3y+azIpOrNeInc+Y07Hw2pcrwDd/JheQNcvx3nCp4ULUDy25jBs
cUP8A8hARG5IFnq8xh+S11niC/XrQg5xTI1pn+NMlTinIPHfHKroN+dcNLzqej+fbudDuAhN73i8
3MxmL4fhaK7ncdGtec4kt+lwPkDt6FUApnc00SemzaFYav5SEV+J+xksH+zXIbSCuhuupj3d1AR8
/QAfdhuJi2rONAtLjtiggrhdf6MpOpiMUlZi8ReOKbEE7AHMRwMf4yKdGHICZg1qpbiEAxjZFpTh
BP4JK1hEqSlKVtWhP0B9I/+1ShoRLhttAaXox0ucCr9kKZeNV+vnluPDIt6KxYja8V25hVxSZz7j
RrujFV+GOUHxlbMwBSkj6Cp+I66+97PCX0uX0EqOkIX/01ZO5kUnKvX0Ya1kzC0j73SF+Xvv58Uu
qgwsosWYhPmmFtfT8PLpjjylFvO2kXZFKsLc3TT7AR9H80+n8xUylYSaAGbiD5DnAQF0D+Ie1Bus
SpaGpDCX3LOmS4r3+zCffkDKx6gnc+ZzQj0FWYLMZwkAm0KHbCE1LuCPT4IuWbJz8x7tOeNS65s7
JJ5Lx9wsj5ilpf71889GLSz+6yF5kFiukOIjK1m/51Nb9qm+CkU0bOv1LOPHOaiL8mHF9FchynQ2
xRlA5TNYeFDjqObSZjQJB8e+xEoE/WFlxUryuUPLVyoSJEZBtA1HRs7UZCK5k7MUEVOSsgC5s3T7
VL4xkzZJD9ivB+oJG8Lcvs/QZL34lgJl2ywnRS1wpaWtuJqVh8vBvtGUKm1EI58Sqt8lSA3T+eB0
2ia58OIVf4RFjMx+s/4Li5CfoeUWb86O9FCelGzNgx3lyo6yUJJr0VIrl+iTZFgTyQPvKK0RWPTK
YHBWdo2GWrGqVrwg8HD/7jQux/F6GrSX2rIkHm9TIMfv8Ffz+3H+MzONqxgoZ84iB7Zpa/vPVxMP
nzXl0UmOyJf8r4ScsnxITmypgUpAtOJ9PVvl8HqprvE2Th/jff40snljmgCbpOifycEHPfAxqD4Z
q0uwgijpGODW5J1Jr6/gfkAOF5uz/B82GudmFlYVNstwdRBedJYsyglq0mlmtaKQ8FGISBTB6Vgd
BofftQ6dgIbuSQDOZK8hkjXiDwdgta39Xyp3x12hFl0VqxncWDUShh3izlOPPr9ixX0+n6brt8dF
C9bz7nkF8iTe4C/jT4br+QP9cEJ+gOOH/9dofbFi1XRwoSo3VtZO2cPfrP8EuAPUr5b4T1kc2ugz
TwjDMop2NUiRQdL7/GYMFWJecDFENiuEPF3PaDsgCCusudOXjS/HSGsgMCxs28WaETDSaBvCcGeX
Ob6UpzuBaKLt1YW0T/QUB9DB3XOAolHX+KHRH3eetYHly4Rd5Ml9dIzTCidPZ10oHSAJau8kfEHO
iXZY64lfJU36kLUy69oeWdJujNG09NhLUSVOS1msY0xz2KCYF+Ier4fC7i9Oy5cxkosGeXhqeS2o
eqSlvM8YlQcY86LLNnfwNtyW5OxKXIqR0rDxdfGPPLybO/nt8BIX2Z4tWdWShEDlEytkaL2ZZSe3
ViPRyflRIhFCGbtjm0xyXtI1xmeLe/YUIQgg47oN24tcv0biqrueXY1PoDr2eLdcXOrqgImqEN/F
/d3E/298SLF9IHCKihSy51GVnuLGgmPdIv6aVMnpukaiohGVyb6bzWQOo+ebjR8+I49DPZWXSXFO
aM0+Y/oONKjRLPvWjOuWPmOfSkQeeWTNfYbZfzabaJNQpulnzClle79JSZvGhcTrArD0/e+Q50Oc
DTRjWyx7S/rG0jHUEPo+AxZHx4rVTSMB0+0+XK+Fa7Ad7kCCcIjaSVyRQd1ZEOpeAkybNyfpn0jK
s+s87paFyT/Gl29mRVwBezQPjyu2SZlQ5vbQPrjn6ESesaMgcN0nup7xbTHgPJM9G2rjjsZT6ttq
1lyAvCTGqFncM3L0rGcECnh6PRA3VOrASg6ZLf3wA3PwwDlq3Wk7HFt1e8iz5ojzyqsnCMlO43Gi
DCldqJNf24St6hjaK4cFYje9fSiPl/s8WiCYplXwGFvWo0G+UMerKst9Pn8b3WuLL5PnYQdS7ROD
lHtT2B5xga5jooUt8/Xz15D+ub8on8MBr6Vfho0/ItNOQ02wK2ozvfCqcdhnnTgn2S4UDrNJrSSO
PrArkbju80VotUYcFhesNt6/8J21RE2CC9l13Nxa8wJIXSqLFUIXKq5nZ0lTnoPu4WO6ThfgeTn6
R4yVubU/P/4mWv5+Cz+t0xnZHybI/rFYrQcVd0sio+h4Ltgl65pflumDytBmg16uWD7lxRVcjpcz
GahjtDrtIscsrOtbVW3BE1RsuPoBglHtk3ue2SysYbC9OE6M6J5s6clVzN1UknH1aDGP4vLsir6C
7dgB45lL2eZrBRLYtZCMzBa5zy9RCAQsVPiFmLv7fFIEO9Bmc+aeHh5XI37rRvtKelDxj2S3mK9k
ZNG9AXfKPb611m+tRrotEgoiJPsLpbrOV+6xxA8tl8APwenHf1utv0V28SLyUfzIEudUVeE5leo5
XSc1hMo9weRG2GMLWlOLZzf+BGvsTkIpEeWenJOkpfLSEvlD8XX82wxahQIvlppbF4TfwGuH4SoL
8LzOLzGTnnsHd9Uk9GqdO2rXd99LyeYUlUDuo0xYFuljem3LPARZ4jqveQLSxJdUY4/cp/GyEJsf
WQ1jCM05yn0Ylzk4ZOFoTbi+l7Q8bdb8D8yRKjvu/ANnZYGY0MaDkdzPgchCmICsxYr4F/szZJ55
/BlRxIQQ6+kjvjcvOoxi8XlVMPBKFjD3HPtZWPiOXPIK7IrLTBvqoYop2D8DyRz9179hOzD7E8MO
eyde7q4nfn+BV64JJns49artdghm/CCy/eca35b/ZMjhWUbzwONYgye1SIzORx8IdJl9UaMbo7FX
qTOHosTMsv63ECWlsG3lfowEMxS6KwCYF7Oq6tAVG9xh7BkhhJwICKNr1cxe+kTcXiPhIUc2FoCx
i4rP5ioSG72SeGdr0G2c3eO3T3rO8ffm3wRWsbjjb2kiIPkEoqFr0sJrK4ykimcpNgvBuFB0m+LK
pWXOgo+JIxqAR2WKvqqkhy9ECTECntwPacgczkN1Plwe4HvcIc8ySZaeN4X/gSX4+NaK8MiaZMSh
aMncLwbQliZmXq2Yx99KFkqWEEjZ3FXK4Wlb6fOed2TMwPn1bP8pflitFAhF7pFzi8XFq5ZWDL7U
4t7jnNX43P2J4Uy9bLdZjV9mJ8XHYfhItxB/2KJwBdEUUq7uDamy8C226bAofpV16Gl2SQ/Juthv
qH/jCxet9DaDG31ckXqTmLLUS+i6IpSPbrdDvCvC6CQXNlS8tmk9Piwan1n5hYdhFRzge+Pvog+v
p1SuOrE5NydjE6YEX5nAwuNZ5V8N8uJLNZIP/JVLjS/NfDiGOpf1wAVRtd6RS/Rz9HkfvL8vxCqq
Vi2bbUJIDwrWPqLUG8/9G2cTsZX4NG5wCymZY29sU8H+WhTAFvblJ1UNJXypRtppIOwJhCu+5y5M
HRaaV6DWCHJfM8ZERrNyrMqrxRepJE0oJFcRKHyJDJ/Aj9u4mzExphw+T6wc4lMtcj+mbeMQq6f2
osicf204Xjm2TQcM0D3QRpKzyFNIBdpZ9YW8zxpTqFmBUspXqMHRlwOiMozlmuQJaOkAvxi0DDWx
UNN1n6j6r84lcyCo1X1FCOYJWmIWVjAOau2+OUGpeeZhQTuouK/VIgzQN9hfpebOKo/BFDjE38yj
FetAq56Bl3Q+2zHzQOOpaX/cOmc08w1B71j6Bbqci4UeoIWKeum4VM92TMmFni0G7d9/x4747+cF
ZmfuPYmqY9UzmqtUPQEGTtMDSb6HN2g08umwBHCAUW8SIUhlbw5g407m6Z8U5r6asW1a49xxCXiq
8q4ct1BZVESglmAXe6r0qt4kkWVb5hAluiwf/ryZx35S+mXohnzNn/kQVjiJSz6JSqgzhkrgIB0E
YQMGxH4bfL/WNtFypu1mQzBMMz88dsh2sLKhJrBb7b20EgWh/tQ1ID5dNMNM5DiSuFsH6m0RI4u5
+msah9I1MnDB7pQPcMTsJ05NiJNG1fVTCds65EKpnJ6er5KTGkmBXDhGgkYytyHMiNKn1Os/0MDU
JNIolyA9uD9z1cNyPv4encnZLMvcZ1GxemMPWEnCESJE5MYNO8npn+xgnbeV5gD5En8bVQ+kRL5z
1hJLCrllf0Vd1w6XVNbmvYOlhzSwtYG7z6iP23sQy8eXzFjDPkdJJLbrcvfKXlkTFEKSXGO1vvCV
P+HUWWecIgmDSpvXex/Hy4H9pfRrKNlMC2pIQZx1s90zTY9KrJPx7lN8vP12nWBHvhSiBbq0RX6s
bN6hfqzKNbFWtwAK/rQe+zerRdXnHNAfqDU5gJlL0DQ1/tghUhl7WhyAvF1KWYETOuXK6S0ccmzh
Tco3sm7JCoWx2H2IyqqsBRXyu0Wd6VKkqg7WLcThh9HFXrSdsXeH/Rc2BPwdL45rtM5r9fhLUdRB
kW+3VTypA4ubVRZhD6KrWEORdpdrKPmll8Hpy3ofbCQ0pOpmkpQ3W7VYf1X17vgjrfwY+WErp8y+
vcEE79MpJ1G6tA12XTRwpv3ityprcxaoxrYZWf/rYySttaHNUDwtFqgRsZXzDbHNBn+Drjuuhg6y
dZnWuCCSpQCL0NpUMo0JNv9f4HiuPCY43XFtVo/qSrtksy5ZFL2f171d9Pt5sBPAtMU6v5hP/1Lg
Y+mpFapsu0a2rsHwtn8fbsN1BCLqC+s9cUMR9x1esS5M3MZlHnKivNLEiwCbYWOsfX+gkr7eZZHO
V5vV++nY38xZklCBi39UFrZwGliYVSP8wjxLsyopSnzHK+i0shco1tHkjtVZSfUR0UI2iYTf7tOj
8hbZEbjdalv0p0q6TmpHSk/HtFfEtskZX0JZZ69HrUnQkv5yigz/o4+8StxxnCLFLteGO+Rz+MJj
VHSRPbnevyQPH3FH5ROjjwVGdQJu1kdZ2g7Zsr4SJe3w+GLj4FOhbZN9MVfuTnjCZ0Jywx+TtnQT
yk4WnICXTqKOcO558gTqjF35Skuln4C2S6Y1aaq8bVDakY9S8jTZthWleQqlaQRjqlRLWY9SiqqV
bKY3mvfppqQ2WTZl/Xg3bxSsOPW4m3+yU7foj/FcAKX8hsuP4TOinuHVNxb6h8BqCoKb9S+5tTED
xNe2tJbasjlbtmEdRH5Zu+DVeBIfw08NSIYrWuwUEu5kq1J+Xu98PZotLjDm6ppelG3Taz71XDHl
RMe6a9+2ilLnnLY8/CN7YDO4li2SEenQCsFhK0GIvskNoshQdgj7GGOPDv+ApV/BzVJgkm//hGvk
U5i/7FqFXysg0Y1fWXyenr0utqSvoz4vaKvcu8TKyz/L2MUkgB9qfNHWQsHozhmUcveD3SW8VknQ
G6t8/opLFjIfpZokrXDx5fA/np6Y2dV6pisEKt40Qcv6s2DEdolFr1NyWfZyfb0YlqWkKvtys3pC
sNqcfTslxJ80wXC5pB9oVSUf+5Oa2iOkWSj3/XZRAn7Fyzt2dzXTdo3PGfLLWG8iKS8NuwHIRhb5
8x1cjVdxGY7jiQIGfynaXdR75HD3LvlqBGbhjqhTapae26jKxNMumApqg6ugb7a9ybS88XLOV01P
9FtxeRI7uzP7T+Q2Xaf7abybaE/X5dwE85mX0hsBbycGLqBb4VutQsm2X36n8fbWpU/dTJtHX3D4
Uoyvt9+gt90+C4FexypF3y/as+mYCHknz150zIxrzzBLOB2BDGkLPVnY9vmlYO/HMAO/+mWPi8Hc
rH4FuMTUNS1P2ue7Jj9N4y8G507ELoYCWBvOxCfP2ZvptwfwtGwScUkPkevtRpJubk/O16Q96bZv
L49r2t02rylDX6UUzYCt9SNhYfK9VK0o22ZJW+ta84dGk2GcFa2p2JNkC9KA9Gq7Szfg1kF8phk7
vDWprLOtX1p9yVPXvKgqpSaVtLm9bbY7THbkmSzdEDHM2g33Wew67DrAQn8blsVmHR2s7pBlhXYp
RULV8hBP2x73v7FsVuy8BgJQaEunrf6ObkISFu/MWbrCJu6Y7LjdautBFM868XRyH62932obFpRx
rcBUq7akFxjWlLHjsR0KTSswvcoZtyV1qPlK/NViKj0T1YsdYZDWLV6rEtVjXXFfDhu+nAmFVo/v
VEtwoLXoWG+72zI8ym6v5dOupw+TFkXSCiRX9E+QtVsoXlMqpm7ZXXuAUexFO5i31vNF75lZQIIT
FhE3xzLVIAWFJpPeXWSDF59cHeuEOb24w+HxB4pT24pQRJ2bZ3x5yJ0wOj3NZ2yzOqFxSSi3YVHa
56vbrSXcs2Ftp0240yzphu8IWFuWVfH9Ngk3XHP0eG7Cj7vSk4kJj7QrE7Y2mvnZnU7r+7hbKUnt
Dmn1m8b/TwpmcYvm/29DR03l5eERtIpDmXSkKu7zlmI6Kho7vKsGvWnCj36SJqyXBz5HarM1u/yc
sj7xhI9zzdWv52leRqDiTSZ78Zq3UW6zKpl4KV9NQ1fsBXHMQjp5rJ0itx21mDbbZGT3vPUuyLA8
ZfaU3jw6wSJ+E0kvOtc0ZZ4wvfHQWM0vNF5ZskJ2LPTck81kNoLam/NoWKxbsZJ50ujMPT89uI15
Xy6urrcJ6+55OaQt0Bapth8XsD+7Fg/LM5igLqw2A945PyUDpacIED2+hbWj76kCKhXAdkNrFzb2
sW6MxZdqbT8TYK8UKHDPhzPjlbRsw67+a/vo9sG/K85bB0WkoomQLH59t2zIOSeftxTrdpR7mt+7
ZjOpcTibC15d9EB8W5b5F2E5Cjq9kNHplqLBonrSPQhtsW1hafeyN+ooEeq5YNLNI1d+Ka7ZRBnf
QdfwhOEqnpsueKQ1j9fD2ouZxLjXWS3TOJrLmEFijlj2PqUXyr28PNN0MbJPD/BI4Zrp+3OZIJJ3
0uHb2UU1z1keGTrm9XG5LMbNHoltHv7xQP98+G7EfNqlkohqMF+pBqFo2pXr+uGCqJKU7dJi2bpY
jjG4U7lx1IQCmWBC6bPfy/twG9dxmaQp7M9JTYT/Awf3mC6fb673SgOh1QyERpmIIiBElP48KKpR
wzjV5Rah0iqLOgwmEfPua5emP1OwP1NYz811OvtyohHk850IIlVrVfE56p507TQPb35a2QLaRkNp
U29St+3p6jXqX+qFSlH/lhKDqlN5tsREyW0LJtJtM9eB2bZ/at2hZQUxPzbaJk69RTsMmy+tniKl
slzORxy4cQ3IcZTLiBiA22h+fb3D6Arbe2Ydyvl+AZKx83W43tPKsOCNXij8PR9DSk3sJJdkspSO
rILdDGRKCpsqIcaM4wgA8yWpRzkWmFogbZupcQPubnCkUSvzcLR7grlDMMaQmZHD+PMGJw2eO/3M
uO7x+ZJF/9Qs09jB0/R3YH3zesYPWKdRRqhy8D+j55fWyeNTkgo+MpG3N/yu766V72Yo7qb1Lo/4
3aXy3ayRhTRd/fv3q5xLz0eoFol76pXzfeqWaePrdMo6vOOI4XjcOtfHxwt++HIbrp5cCIckLtOH
Miy2z+WZluIOlRPj47p4mvV33Uyh7LfZNqvk8kmsTXiYgE+syuf4UPxV7du9LkW8sYa5vW7VxzW2
rtIPwSShwfJXtff7NT3Ap4mxwqGoT5T32dVyc6QoTa0iTew+OPxP3I+id/g0UsoLxfWkJh98viNv
wxD3kyn7KeSmLXEdTV7Zftrak+3/rtem3GfPzg90UGH9d/H8FLvHh6ZCqGk2vfd9aburdGsqvAVl
Ma5iWYp8xxY1dcXUYt16pJt4gIog81m4AQpfEhzlIjo+UrOwvX6badnWJ/3t33EOGqQkTVh5+uX+
Gelhhrda2JIoGbmtu8wSh25yohtcr6zY+BV50ZYcXBd4mbBxurvwOZY4oPVqvx5/w9sdJRMvtFrv
V6P0eODQO2qX0wPntdAQuJg/Sgu264IV1BUrUFWYePh4MaHAcHd+MvGzLKl4I/NeMjJw144mfxVc
4yWAx6zQ99eNxJHCMy0LBFWH8XoB6vQdSZGMU6V0PpsYRADET7Cn76FqODsDQ2tse6MO97PGQ1Fv
Z3dY/2r3YBBlpEdVPo3S2IyRWWV5XMb5+1iePM5JSXSKHR8U1J/GG2TTrsfPNeYlgVRaI9loGs/9
bUOq4UYkFzuiKp4tZqir5/tV7rSVM3ABMWIa40hJnlaekAP6EiBQu+dmUEqv3eYeGa+GS+RxhhHl
I5/mWDTBZCZHhcEnhSKFsKeApYYr8PgZJcgSzZ7lhU/FhSH+9k+s6dOXRHYvzzO25Kr1hT1TWvbL
W87ZTBbeRU3NXC5rwkaUahOuMYXo0sdFUMBP7TjhmdNec2GoSrj29/kSdqApl1WHJ/u0TxonZBa8
rYMndq3b+nV90k34/ts4gxI5Hx9Gt9tk4Z5jKLazZWwuzvXf4WNjaR9yM+LrZexYeR1a2PIXnkLJ
NsnMhvjaMNWVvn52sDwAXknv16T8nmvKvOCzAcJSD+M6yk3rZCTR7/2aHI6YVDG7pJ+9KyJSyDef
75lE/WQx7QTYeXJ3je3WUTAlKGhpuZ7tL/ftF2y55XI+cQowTX6YXrK9kfuOciuiIFvKn2HqNS89
X8GzTCUqJ3nGxlFJgxk1xbdL+tmrJx8nKltH28f/BSvAdCFRu9TJp1UoZ8Eev++ceVbTVrHu0qqN
NDvM72+tuawSq2yPHSWHjUR0U/Lw+M2zlMyuV7/r6vvdClr1AvSnkJdb/VI8mxVBPyrnzB8X/kcj
a6w1hkgrGaYEOQwpIqh2gFjyhDMu/7wD3fusQHVt2UlxosKwKOUyVux3JKBPYR2M9/0x7ahyZ1oA
5qdtIj8eAfiUGln/e3kfEw+L4rBmy17nKj6+IIric598jEz7Hy6XTyzDzupf4HSGWePL6Xv/QnwY
Ay3fhaX/Isujy9tJg0lKv4qHNMzEIAqchh5YbNp1hzSwKJJNTraYO7jH8/V1OhDbrAJjCqlZK8cL
YQkgzmwUCQFclh0Il6baFji7kBfSIfoOCdLPmjFhMvidcsdKgoVVXamk3rC3SOoSQSwBTNv+KRhN
sgdvlPMpsaw/1nzn4sLMAJYCUAz7f1S8SXEgZYgKQ/LS1DrePiFMJkCXOSidfd07VvNeoxtLQYqS
hhDtRdJVPCHUrOCQj+H+/nFJZd5y/0xZ5+Iqvl8QWV7oJnbY//rClE7FALBHj1lpC5JbM1JxaCvl
njhYYJPsXYd6Yl51z1fyxRqf7mFoqB3sVHTyHGNRef0r4syU6SQEtOqZtu28tnUNKDBrYPhp0z3L
43abNJ3G9Cxyg1V64kjBP1QNU7K8iCR9ZXSVJuMU0DXr2ZVwZAl/irBkrQTncX0qG+rrNWWjqNlS
ZjJWiXxLZT1OZVN5XfuMHVs+jDVmlNpKerEI7V0XmfisUfe0bF80tjz7ktNgSw2KLsu2OfdMzhVj
31pCc+SS68ghRs4XH75P5yTqqGV3HAw42hJfKw5MtUUWdSHBF62xm36+zjdi5zaF9PPQy+eAdDic
aFeVoq5kfFqCIF5RwM1WBVQhiflOtDQDkwbg7jWpFA5C/DpldF0W2wnuTUDrhz/aEDiyBH+8Xlb6
AhzzwtaVolt1Ue5FKe7ZvAuVCjMf1Ej7LJUtsgom5/jylIYIo4b7Z8ZuiS+YsxImwTD76L5yZV8V
21ftNeu6DDe9KgspnRZbjtcV1uWMfsJnPAbg+6+IEv2dln1942vg4ra1qhytxs6S0ix1uNrzAPF5
ig5uousptks20esxH/8Jh0LfrlyWIxUtN90CT/v8bZzdGEzt3dNO2aJ54+GY+58P/NXz9ZEoaues
Ss6bvda/c53u/6+JB/tbYPLW8dzJ0y+U0+dPhfVXSIuSePi0tLJqvnmARRtfdbygK7Zj1Syx1zUD
H50yT+ohTxxkckAgLcO2wzmFuIw9rmd6WUnNx94+7/qQTuz1rO2q2x59/I0qclFyMEkuWAhInf4O
IS7Zw+T18/0PM+KH0BNhN4sw3KZPXYlzNZWrabbGsvjalpX9coXKkADppZU1y+0r2agk7Fpm8zyU
L2fHyR3ruEFSL4edI89w7796zUjnHJ/V+RqKJPfhBMq03ikSAmBPQI/5SPzZUpxUIOExEae2owZS
PHw6CqbTCdSo6hJ1YhztmimnuvI4RG/l0l31JALd1sPpNjsDYgUb82J0+QReixVR6KaYiEFCqcw3
QlCeOJYi6UVkgQu+lX6+2d/xUKtaMJJqS8rlPn+lJaWTI5NNGgtkbZpv5jOUtVhKBpJ24cS3dIvs
jm41RsSbI1q7+1IucPcsokbu1MQE/mZYlADmSGVGeylvqCU6rlOS1J8F7Izw+jmrQ2ejcPtQRkes
YETblJR8U8GCfugDcdjp6Fq5slYhs0UHmabk7LOap1t4qullDuad22v8Gc+5+CNnRAFSrpYVTy/n
m5ImqOWuXjuYcE1MY7vicbrsaW4tWcN2uxL1KEhTJeXabM+/jUBhl/f5cf22AwjbM3guim0ljqGz
IITl29nP5F3foZLYyaTBdK72AQgMjZ285kPyuC+yhn7BGLLks6/FkV9EbrA2oO6oZDViVSbSQ5lA
YNaMgZ31Z9tRugf42d7Md9WE2+qEEtbyaQ7tJ84hHZWk/EaXhQXqtYSEkwBURHPFs+cBo6tDojN+
fT7jlKD00/3dSGECDluVvBDBuhDdIw36pt1oZni8KORKEY9B/shXzYJ1PRAZMNPfdTxN1rUyKEPa
2HxRdlXKu5LWuWhfxwGSxbPf8XRQej6Y1mRYlqLdNkCHa74o6Niul0F3wjrKZqrNB9r0ovWCmQpf
Db0aZdLOuqdy8+9zsdRaTF/LHB/SKM4Ucw2phnIL865Xf+okGd24C5BJbo5TwIgRgGQavWFFs0eG
jZKk+Xm6eIRnGrK0w9ZynD0JzjOo6EssHNW2+JevuH3sc9rTjJA3W2xS9byp5f38uqeTIBPLmxwh
a5XzDrIVjv1vt5qEnDn3Sh4fRlN/vIyADEqJCKNBYAz3Jhy+nQ98bcxwUOgEBAHGibyZ+OmyQomV
8IDNuwU91vRBn9cF6n9YyoIIkszMj/fxurYaHaBz63G9nz80w9xI+Bo2m+iLuH/y4NjZZCuZl9Wv
1xVkk66YlcEZu0nPYSuP8k6YXPcrH6EQ0X65zpbLODzwZ4bbwoO31B759GVeHNgclvVMT+fX13Ee
d0TcVe8/HtyTOijUhroQ/8LxAhRVKV6NLuxzayOcV2ht0K9R3jg/xNZrschq6lTwOouU3Z8iUyUY
ZTfRrZSY1ub58YYHMk+xbkpaihNwMC9IMqCaMSYzyaSYANm5xjSmn3rV99uD6tTHueuZFqGo2YQM
q2bjzzBGwEIQ+79oFDg9G8fXerMkrnOotJXYWC0uHW5yWsCwhVo7WFqb2NWw+Ve8ei1vstQ2yaYP
8lm88kq1thIbosWTbfJK2tfVbKAb77PZd3DasbHhcyvnAOf8Ma7k65FwLUsCIVeX5TZh0EfSUmky
cXq/uYSUWb7bgdnfTSw+TX5omg1jY6Sr/9//T28pDZC50NPtLp8fL9NlOyYNNbD7W9t1ar9Oseb0
YEOn6eiRm+Cb7thU4RfjNEGwnPu0nSuVbCWn76SJ9TpCqebgqWeTsBdVVPX1Ntlcxyw/VA6/bP0z
OT8F6VOUMnJ4FRxVXTSSrVmzM6fzTFM9zSO7u+TK70IEFbnkAqmoPiUzGkCrWORLpbzV53FMgIqD
WCnwxeX+edlApV2j/yOShUEhzFchZKPi2JouCOG2fLpMcxFd0qpkXBK5AqqeY+wv4+vdgsogFUtw
8fjUTbOg7baGBVnjd7BH+EY9OMCF2IvjpKo7Pjf+tX5zQUEsWPP8Ac9n/5q9X5NnxgBbDrEulfvu
464brtlHe+JqC1M/PJ1ifB2mjb16D34Pes/CjCHemacbJCBi00rgQpgyXfn6nmT6YNT8efjHY5w/
4yvV26vljR0+ILP3sQNkj6t2ftVuDcnYqYd108QBsi2SW1BGBHm5jcfzK5DgKB/MroOHQASrXj/v
sQA5Kq0dH6gC63GZY95eKMcQBEHAr1xpxi6CTbNk7o671r3zi2DVhq2abUkp192RDdn7zBqv+yzl
m/DJiZfKBIRiDeukjHfMwH1N3Fp2dna+BPqNlOPCfL/uVlBUVzxZL/RjB3PGRJ9TnP4FQ7HTPPz4
l9fz5fIvH8PP/41M2UYxf/4ZmFLE9SF6tVYYHhn4Qi0lrGh1UnS/fBg/793c8L9d4+wtMDbE1rdh
KRA5N+/weByXhcCCRGRLi8d31K/LsJrtcpzPtzVPaPf3OgBnZ4RV3vzeNbRgZRTEo3SMnyZQnMxr
OpxfzZsfT47e4DZE6MVhMZvxgMXASbNk/HYrYAONh24cdVj93+Hg/mSewl/N7UYPrPa7Y6My4AZx
cM0bVDRXoKV5+bfoodUWEoNLeTpvuzf4KjcQxnzvAOkxoz6XqNuE83Qqf5veTLuDP2O/QvywKpuM
gJ9DraAPNrQO1KaF7ADmqES0XrBYl6Zd67dp+ogeS+E/AmuCVnm9vQxqZxeKTsFEB35rf2z/rHkJ
1xPhYIxGoRZRfC7Rr6j9gjh7tekczn8coPtluN/H2VzNNC4UckSVCwqjP1+WXrSbexvvKIF/HO6D
ke83yhMv02M+RvdXWcQjnnK1+uNP4m104S/vwymSbkax9iqFNeoJW4tvxasASAB3kZcGwvO3WBIK
d+Kvn7X6OSG8jMOsvc+y9Q+eDR99PpH7PH0b9Y104ZEEH3Re/jIZ8f/361/onV5PilxWFriwvvRS
lEpyUXdIJRNzHKnVNMHeFv2qu5rJNGTnk9bDyXlc8RR1eOqWN4J+5vTFOEQP27XL4sv1VCZ2U+Pl
cobsdNlkqaMu+0JRgWstgOQQBClxWq5PE8URIqlgvReLqzN6foZQ4LHEL63ygok1gY4vROHin43v
9EdNgRRsjWpFI6w2ZzitExCW+zDfDyP+t8jodjRBTaA/ik4UzPUP7NGY7NUQOqGWrnJVcEq3Jl5n
I5kR50OoZAuocb1SAg1niwk2c6CRC+Jpe5nEIaBtRJQsfZ/qhzBFzVQ/yd5hen0Fb7WJ/rplQs2a
yWknBFaD/2eMK7O2Di+6Eb8F/Iz4J1ThGw824fWpCyQOq0MbWzBjqtonk8xX4M/+Ct/z3wCO9yds
HPwrRlVx088+MNs6U4KjF1f7RfhOA010SbzQir1yIifKevmkl2/jj7hf7qrSq8UI3CfiUTRfElfI
TPCfLQ7UoyEkugMpKCEeb48dJr7rFDFcvp2Hw/gTAgd0XGIASlyolS7r1bzHw+N2irVPocKqpNDH
GgWj7x4f4xxvN4IVukYRY6/prqvDqxn2IgtEOPQ26E2gkYFo4BdzIv/drh9dsO9DPRGI8Sq8LAEV
15x+awx+uVXtzoNFzW7/Ie53+GvDmXlNa+sVE4jN//zrnw/D5fY+xNWYdvQ4Yh5BysngomKONKzZ
dk+Rk9Ht5vgfR2OYlXApU3wFihGOl+HjpvkbXLEynih7rBjA6S0N6P004SLB9wzzET7nCpl1c2PR
Zhj8iiZwEGxroZcbagfAznWjpB9jPDhlK7HBJ8XpX9Y48F/eLtPLcPlveOXgTv1FMYBlwXzWdpuz
iHgaKXmseybiNYZDgmG0Cg75euH7oVZAJYO4tSzCj29CQcV0xvfz+APSrAfAqSAMcrrDjCclCmC5
CF9uVl9kPPWFt8vCfQ4Pfgp3NSgv/tgfZI5sBd1GcOJi0kriHyjALyi/PHRSasFJquPaJVdesy/8
Xi5LlKQab6mQnhB7i5jZgVcYGTaIf5+5e/02iF2OA2SY8bP+9fKY42bS6yfWMPLkStjy22fcmWAZ
NUxsPklJwqmv+OfgPPdKUixcIUQFplRUnZSgeUtIjZucjadUg3bhK36Mw/KYrWN6GickeD8ff4ki
rNGJq6Uc30aSdP3pppnhkXlW7H88hhP4J8c/PObv49+mf/kZMQi9FA5jIG0fFaJ50OfXA48qC12t
/CnaT+ULilJJoXrT//fb+JbIf+UZk0P8rJ6/8PcHVOiUB1E33iihg7waJRuI/wJx+F8ApvhXcALj
xmgTedRBEvfXlMi5sU9oeDo4llQ+JynEDY/se5TqQGWM97+lvAgHG1zdc1t+M395uDjdC9nk8xWy
uAn7z3yj5zewfqKVSEWfljyfh/xdZRVPUqJs/0EzehXLFDGIs89U/sH2OGr1LHQY/B2ySdprycNl
ueOpxppFMTQTZZttR62z2/rlueRxPWl7o8Wu91hZEl9ZrjgvzrtI+qQVc/aZs44yfYIUtW3wWQ4P
41h16Ceb/8M8D/GdsdAabrHutgf2tVgp6yR3YaOmSV0mTH6pJEeCvDxG3rqWq3JvPTBl0shVFN3i
ttwjy9AtC11bLDHHh1mgF5tLvtlTqetXsN1/c3r8vy2/qCUHB6XdZG3cvlDZeDd+uUFz0H+MxuuO
v8Q2U3IVZOceioJpSyVkdvnG43k+Pj4Qg3xUYuZKyf3sSpE0vVJC83L0Mr4P389T3NSVTCbBHQmT
jy4NlVRyzPo/O7OoJl+GZdRCyjprpNKu096W5errwVDNfFtoFOgi2cS92sCNMknUWJhjmYwu/YIt
FPTbrJL0VVw99YoF9VF07M93/s9DyqrrnjKAFMzEtVonpa/DaKqKR1OZ5L/yFMtaAiOrHX8SXusz
psunlJbuhZYsNoTUUxe6XEgZfDgu8UICL7Y/1aNXfeXyA2qZvMilYhdRv8GhQh4zXlToFfVJ9f7L
ZXwzStRccdw9Y+kUhtvAF70nCuNZq6ddYB52/AkkL/clZewKJQGKuls7yrLdeAS9IKNt/CvK0BUs
n3UIlmcTAU7vDwOkJEyirFESdkjF1XUnFZpMZLLWu5MhAIuznnMG9ykBwXGtZ/KV2pTD7iPp8vBI
3BiEteQd9/E6BUjAMuLeRUhcDk8wIRl/9fxirsdpRviN/mbEqG2Tw9ggLw4n4ztqDJ/oEtXBY3Sz
wCn8c8NyUvfHcnDs+sOnkMfDtTY09LXsdK5uf5RoAb+BKxcwXX1oTMffztDBA4g4Y1ZRKuJ6d4OX
Kp5z7Ms4G6fx/Jt6yCUrHkAdqs8iggXOzP/PbCkuUV0oBhu7fPvEBELcknQcn1RgL6J77Bqk7xfI
uscfv78/eHtdGQn+KHpXgr8iTPeUaXBHqtjC0IboRwTYDqOYJuuNgIpCWFRcN2iRkby5NR6Pb68N
/dNqU5Ja0dB/+7wp+Q4WcEFCsS6TUQS6X3F/pZTSFOFzLuPPuVeSHEyNY70tqUIZKg7rwqFpcTf5
MZ3Or59xN64RvR7vDOOG9qr1jD0irIuEhmLVwi7S+U88sXic0ynnhYf0FHspoVcVGr/62fPegcVk
JQBmQo2SOLud/I8/xtVBpVTaN/1EibmRGGwxjzWvPP0xLfjrMB9/xe8aoCdTMaAs/dptE15S2jNR
vmIhBqiGsg5T9yiPh/Hjdv/UXI6KVSdgmdqh3TGN9+P9DJ7PAMxURxCp+JvLJdzp43q8TMuKgI50
HWI6sFQgbJRNVNIYVaaVr0ixJtMPZSd6Img/LoD5UPFOnZgvUsyae6VxMfbbQaub5U9RJPlHca1T
KgmM5wJvPMdUKvAgFDErt6msQN8rt7y+AY8Oi/szWYiXzTd2C+DEuLG4ydLyn6A48ZZCnI93lOLP
qQj9oyJST4sv0CgJaHxNFIJQB7juPraVZN2fjlvZTslsaY5ucoh49c5xosehZY4G5NiNJn2CX2Lp
4pf7dHOBCSWhVT1Y8+pquTVeqDj2p8SL8LiaBMImrs4qnqjwSXFjKozejpvOTPqR1LsRD6YKDblm
0yt0vIQVO+kFqIpFMzjTpGpFcPGesj4LRiEK6NpooSBZfarCpHUpGpt4vMc+SjHFIZxGt8Ycg8RH
fbg1FfRII9Ud9b2kq/r+qFuEecUgr4dbst5bcS3yhFLZm8fk2KqnjKityqt5Q4bIe07wnJOlBeYT
cixzmKaKX5L4Mv/okh+/oDLGyNccw3g/KkiujpU90WWIRSfH4Xb4uxqKlyFGMdTub2qfUMlRGvU2
4YWZUPMC364fatGgViBZa9S3E3zX8y4PUOTWQGxfdTzsY6kF5qVwn0CTkJpZqGelsPbmx51HFgL3
QAkpRmRqMM6SWCxX8KQKMEOtg0VLlixgGZHtWcYLGMwVRqxIt5GtlbQA+5OHeCTPIMc5BsFNm4p7
kkBahj0AH6vZoD1ImZBbqmUZqq7fU/QKIIVpKAqLIUAOylAQMJQyP8GWl2QDZtVqaQOmK3bng9kT
gVxzEfY+hY00KTNcM/z2s7wGBh27mbWCZr6pi+eRDCwpJk3yWRxmOYoqq2LNjv7CqtB/Gc7z38ZF
wSlx9Zahc8VS07cJemegXr88XpYB8OTx1B3bE1UqyjDe8EpKx4BlvVJOZmncfZktjptGhoBczEql
klGN0prFy/7kJKq35zjkSAnjxzr2p5HG2kLMswNKUBdaJcXaprgt6qTis3kdbxfHT/IGUQBAr5Qb
K9lIcMQ49cgCVHjG2Z93Sk4g+dH1hPUSwN3HDI1ZsbeOEHaMNpj9a/xkSLMtWNUEmYcX29ZxA0dv
jo0vK9kAeFwSA9jKg4eN0juN0CtxOrx8Hqi3PeII4/fWfnusrEhbgwaX2z2a+CvZeMm8D87+cTWf
QdSEWuNZybht8z7oDEdw1csDmPRsggHIhV5xuTnCtQrHbfMEeDYoVNZVMp8D9KTjz4OxD/P5Jb4f
W23O+6CXhE7EqzYc/6V8VO0/ik8YNWvARdtNHC7TkaTpHtNsuFrmhZKNSny7LLAjYpaMIX3ok6r1
9x36GEXja5xxJwd/W/nfsuK7+Q6jn430x6wE/jb3pwCWv+qDp2R8m3v82ZT+ADknDYbXll0FITkg
FERoq5yfF7FnDonidAheYnRLXcFOEYJiN27gY7SCat/wcnhcB/MvgDcDmqsUhn3anj9iGhufO1bW
k5FXNOokJcfpdkaKqdP5qEmfzV2jvPj6jptjQ9ZvXhJC13mhQ6WYedgF01fwreMXvrX1+oID2N2s
DnOzg4lCHjdcChR2XEL8qRUNpt7a4DNRgxyMW/gGmVeNgpY+158ZQxCBuJmvdIpIf6VePnJ0a6wb
T2/lALMplTvLvcCziNedNqXz8dCVs2XXXq9LbDUf2fXzsjxUEfJPhrVjwCpnjx8gTls0hffPm3Lr
TcfUYYlJl3BvtDXUR6NirQp/SAAUtQfsdwU7Mf6d/afCkqa4RMrby1Ab504xhl6kwN1usi8uXze1
srgXjxrTGrsWp3/asXVm99BcWIMD93Kit4DcdD+m+ds4KxffMcvFM7/0nCAHtUvpOjZFfE/oKm5W
ceniYX57oDKPr1RKFkg0yGp9v2RU7ETggf/d34M//ePjBfirbso5sV0xm3J9XC4OBqPjXnGR0h82
R9BabYju5fQ5JpzWnnlQWAAoV2IpO9gZROu7+YcJayKgtRV779U+gwWnxPQ79Bsp758LVefZwxxF
jgp8QNvLVJvHzpEwHxCiD6hcXUHnzM4y1Jj5NIxP/qYq95a5Mr5Ojt6IfVx7fRHvcINWtFe1vou7
8jj7dmPX+ZuyJkqXFHYPGGbxpw0mcgZ8cwx7UHo6UjxC37dhfjgBBxxgT1SHMPOPBgpBVc+e8snE
Gu8pJ8w84IYpug6vNbjG4o9rtJm4Uaag6lVBQdhzfXygJGnWmvmC8HjzLyrzyvz/FGXeyt8I/QVU
AoCCsomw9aQvvWe/Fvheth7kUYRO2exXWoUXIngVtiH92VlFjDB+t5VNOJBTLAtAS7dhLLg6rtfz
HWFzMIxFvVUWbhcdpqf4IwGUr361PXNQ85pG0DAhfQ5sD2ctUvdiwto1domJIh09kw6649XUw67M
O17SMWXHlCHNl7IqbZcy7XmehCpovXs/JKCQMj0rD8gfM8t4f8GTS7ygMvDkrL14fVwxWQN+gtEy
V6IzShjETAymSBxIqpwrMyMDsCKbZRAOW0zu2k5iNodcPScX/uiRVC/mKXxqEkXVJv7P4ymOkSdx
YKuVa3WKPAj7fNdHOGgJLyONnWThkKRi0Py8rgsPuuKZBkxtKQRxJFRiruK4uFS5hnpAoW4l34cF
9/qb6LLAutV6ysf1cRgPFlBbidiSnWm+NnA6wbvBUDicPzF8KPJXevkDN7HNvcVDuurV8Ckn7F1N
LJs5h/X2eYi/3fh515Jtokf1MS4LYZSWRfEpHKM0OfS5H1AELIUuen4fLq/ET8/ViCLBmbQvevLr
c8XTHsFf25WzZUGMx3bJm1Q2VkZSDCagsimChBwxb6AE+x2kTFbZtFmTy/njrHlBXSupxrc1AtqT
9mDuXIDXtdaVXs3jPlpoq3UTl/t4PZ6NAsaazll50yyNhRNeC9t95+1cIrjiqYswPY1xLArUFEfs
ln4iwCYW9ur5kz5Nv7qq3uZQBPfffxCNGTIeo3k+b9e4aDquY8q0eky5z/SA2CuhXbstRlTJ95eI
Fitui5AlPpddTFyM7OTJnoDiW/ahv99y5Y7SwE8yLk95+JBreWvGCTu/QrIWegY+huvnjqxtJ8W4
YWKi0NJ/zNn0kJuN+fkYbpAQglkW2qvMYomwwCd7GU7xLiTakz8t7IdcqwdmrYSbm7OMFsKNu7B8
Sq0OS6rA1DNHF8FVdO9WQ2GtjKxxOlnDJB1fdNsHOdrrbdL8bdGm7MqrJFOLDcs8Y4hvU+G4+vX2
uDPJVO6KZSZgklkVfB0W4eyEKxuCsqhM+W6WSM7WuauYJ9uaHeXomzA53u46vLXmf/n0Vf9TKrxq
WME271Hrmv+nDRyu//m3Px3yRtmvmOvdKgnl91k85nBs/YqvkUVKCftELZFpbljgCO6Ei/x2Jz/0
LHmzDW7XSoEVl4/BKLKf1et3RZOKx6dZpIRMVMzJxMqIzUxgDwmQpN2hAHv6UiqwZ6+2JAhdLeA+
de+kY3Futn4pr0km/MFaEhVrCGlMqMoKWPrRELiGxxW6k1a5G0nv9PFKwZNbE9/FBojgos4PcM4X
zBv91K+578Lwz80H2MRtu3zjnn0U2MC23BwK9ILe5uk1NrKYTqb7PWovFd3UdWjc86fXQQ8D8J+D
Zg87dlwIJeK57Lf9laIsTEpLqSBnKhxK5uWheR3Mpc0xwHBcidtMQKpe1LNsc9Fhz78dSrdozTx0
PP5ZMNKP1OXBXK+UgWIeaIHDb1t27owMNP5WOumtODVmbkxXGmUuJSMs+sg8t+MZ849UHVbkMA/L
1XZS0Ay8dak8ROXvBfJgfSWVp9/m8ZPIAFIn2of2otjIMV6V+X8/kNtHBdGWfrbNJtbnsBeHKVVS
I8ylo+kOJD//e3z573+2tF//9l3J/PfNJlUTUiyoeax6i0dRDWhST/CKYoeYTzHroPiQXl7hQfYt
c4eQFkpjUqZkKdNVvuHQOxXWcivRCEu6Y3SU21z+fEYnQNl8GeZpC8VziF9mqct7yqXTs+Vs9Zw0
XkdDfDZ8Eaxmr5DpVgrB2NqpF0fVa8wgK8jVobxTYFeGi0dztZkpurZY6ThePgfnict53dMuFC9j
bsoRaWjzLbAT9AoUlkJ/sEwG7C7ezwB/SM0bqhiVDk7xKlLEUYk+KkZyiXFTCFB/ppP7v6YrQHyM
hr/8Md1WnjfKfJN1twkyJY5RpmKqyAiQZCmrWK9AhGT8sEwKAL+snsZFNBsg4toYZZugYaAyUVjG
uxALBTnNgOoDjvJb4MgxT/xhjj8K2kLwehdSWQUNNpfJ6K/z9wS+F98z6yjBtx1SDADJ8J5RJ5x2
pt8ePhn5vfRaFW8dQkxIFnbtLkgE9dtnvGmhDfi5wh5L2szOkSsVp+LwhLNkUr/MY1pXCqsmdqAP
p5NKL8C4eJ+RssfHDOkflbK0ZHMTWKt30G9+mKe7Sp3CtArPATxP8MDR14AgPL8o/RycpPKJu9Tn
tY6faEaTbHU1m/7UIKWfyKH1BY7/kk2w4EBp1yhCQ/1YZ7tKbZCJg9EYzeDHGUtquhlvxclkT70r
8V1s2Bhb+Y3saVlhvf/MgwrYIv5iJWvnsyvZYAzmUYaMNXH2i6ZT6Csoa0NTd+i2EgT8ncY0slLr
7p00U+WZQkK1Vy1lG073LOz+pzyDQqtVV53iBcrNeok5YP6Umhz/gy/5R8Jp//v1Pv0yXl7jfUZa
o2RAz/wnc1IJcmZtzJAHptoGx0QbHFN5lL/NbePRKgCJ2V1sGA/Tu88co5YjOLUcJ1doRFMSTIWL
O025NkYHOtrXsb2Wky7Q6YfjXeEAF0MFHCGiufNlKZJPr2bFN9yqY6Zqfmctvdt1QLhxm/EnrpP4
DzjGNv5wEVfhxvVADoK3RMMEEzvSWaNzyqm5rFrX4BJuHDY3a9pN/nYDbI05+Bjux3dtWixuz6Lz
cHts8J0dgw3cFDBZXdmbRY/gAr4f8ja8WdLBw3dsBzgb63C4aB+ZsZ34wQru5A9wYGxbqe+yPhis
xuaVna/v43y+2wnEmutFq9jwAA/eE76te1rGi9KSbu+/DD/LDW4/Y80Wbw8ivXs8fUPrVEwGvEVx
Pzy8DTcjSfcfo5EBc/j6V2X+bPz7hV/9eXqDiyKysvXelKVsDoZ2xZtF6YBp0D1AwZU1mHQz7rP4
lx3s4SlL1v72uRqnTQGLlXY8NvqCH6NrUoeXfjknha/zKzCuXiCDSNxyUzKxpTywbfgxhwBaVGWs
st9eSt/Ono7jvMbOS2USNz3vjF1w4Sv2L8ZF+2Z9oeHyAypkL9MdBoV/GBf0rL2I3MsMQ+S9Pn5z
SGAMbLUvLCSd9YEIXvedBAO14y2nOTZ5zyoLpnpKZJ10WhrM1QxMdeP57f1O/r+6uabwN+jzbqEi
O5sVNAFs/QEVgBop6p7LLwwFX0Hih/muvc+CL4Xq2SLpHAXf44oKHr9Ue+dt+CbKsBmFSRfAFud7
6ok0eSepM0o+W+Ph6ow/Na3ol8GivAWCzMYvu25YGI0lG46xdIT9SmbLIOFfWDglfR6sMw4ndYkm
96+Pp26m6/18fTAQvaZ/mPKqpQdMnjrWhEwEav4FSae2q2L7iqutmX4/vE/z+bcJY9sXbbEsDz2a
PJRv2h34I3bKw58xm2+8MMKtaHqzZu+wxC7hcG1M4ZhrXe76RXaZZFJMcIMvxtjsBaTheo015tjH
4w0TjnzLPMzlMiz3P6Gwnq9UOxrxH822/hNriMu/jrHWVLvFjYPCNc7p8zp8nI8HWDbaCWLVDVNd
cMsO8m/9QDvkBNIL02E9Ri9LmpfQh2fYhmZ5eDGbM5rV2Gb9Q+sqtEctY5tHPKO9CYSE4ydDMQLK
y9q7zySvk3zh4ed52edzuizSxhQNxtJ+fkyPxTrXqCGTz5a/sXr1FS2ear/H2UiPi/Ti8H06n6Ks
APZgaincOI4w5uh9Pl+/RUsJVuaZbSWSg4wl++zoQHiA3nmldqCUjW2qUKu5xm5vflzsgstqPlIj
3b09YBCmg4W0fU3rMrfJ18+ZRDH1eH/R5KCSnD+6QeDEJG2RjmAqMTLbBA507OSHaWuV4Z7IKrE3
gj8Lra+8XMY8dtghU69fMd4ZO3LsGqxX8iL7SbfhZNNJbxp9Pa1kyRFgJXZW+5xm2gpbgPFQkUwd
jTKy+TEldqCN9H4dNjPFOm7oM9NzGS7mIUeNWMZ8N1iLDfiiRXyGRVugDT+q2K9L6FDy9ffkrpHT
B0fAH73tetEW8qeC/hGXl/v8uB5T92srRaukkPKwakgNYujn/iQZFyP9fWcUtZ8X688ZScg/oxFp
WXY9v1sjZswa4nvkTmcq3KVt+B879o69h0uOTCt5vDgLkb8fzTQUUnABqCksRAIz7XJg+v2q9kRb
v4gZCf6gaT0bzmGPetIwdFLybfWDoES8RtJ083hnKZ/czUzG0MXj8dfAzG5Vi1ZYcqrHGCpnGgIG
dtDdua40e3Sa6eKxK+u7CrJ5O+1gkzVS4svWYYBh+DK+qp+XBb6ZzQST9bTxBTlmdFypeNNLKae9
liKCHWFn4e0pzu/urT76ESSKoTRvQuHZ36YMks78eCgEX6NXU7imblzD7q2I/771v8fMdZHx82J7
6GNruKnktAcQKGe+tPHLmWeopgxu6yXR/nG7+Sb+hxt587vS0JnnLiToOvNaycwC7cdPeo959Bts
mEIfv7pt4RdU8S+ottdHNsapq9syPk6Te4norkW34kApuFhJsfBuLz7z7Jx0HXinBd9MXACqnv1h
/I8+IkRtdI2CXQWatTX1vn0MXVyY2WlmvWda25wmHmP8ThomzmBiiqaK7CQuFR17VtQS3wU7eT3P
S1wsa/aoeXDufo3WQsmXZn64JK2BkhWcRRG/zIJdJhxitUnU0GRKCLTRzs/RbEjm+b5xNZ6TBIwa
ZiTXYGK+xE+TCTa0qhZtLSg5Uu7x55Fx6aj8nTxvJRL7Z34IEi5CnBJ26sbj5fPwOk8fPltyN5L2
iJCqZ35Qyqo5yqislnFJYS+vRWewi8hqH3817HTJ3y8irze+j4IdC2jlwnKJYrhwCOIY8nyju+Hi
l2E2ofxqlJj5IjqTYvooYoO2fgCP/WNDqjI/adXbmXydL3KGYZ/2LVrUvuIuZX4iB70IYvP17tdy
KFb3q4wr6lzXLlx24u+hbjd3tn3oNkZRI53MD/5Fu9FizNZWecqMxRVQ02wsgRvB/CTTcbem6+Tr
DzVGF9cV3BSyaox1DOImqGZy571XaryEMSKJs3RgJLraNY9n/2xcIir2hn0iI/RC6rgmqtUTt7+P
//WenTZCifNud8ogs50A60ezdnb72VX8sxvps533hpH2Er8qf8eMgCr85rjvmeWy78kKnPG/zH2d
xjvtRCZkg0wcgKIZkLJ9Utxl6tUpXg/bU4U592qFnwL65Q2iuI/hpkRMmZ8uz5SKsidFBzArgMYx
9KuZDojfUNHKxwOmY3Ac7tMFkNY3WuCfCc6x25a3iPlk8AykVXuzyrSOb1GpshXlSHZqcUkjnuQh
gxZdsGBtwEWJFOQNwwItjw9jwT6V/TAGXorwsqdU0Vo2V5Zh7cIQYBQryaG3wxuj43r0jH+mrMvo
MDx0wZHqoKn3tRnnjERzY7QkI7dD99m64P+KYIW/TX+bbrE0Bv2eHXiPtQES4D+Pr/e/TX/FF67+
njX2lTRod3+eh1ZgTbBU0nG9eRAI4tRKOgmnb6ALVU+a07qshatHZiULdnu2z3HF3XP3rPL+oksZ
YKJHJerNfDsHe+GWxPD09+GIMxW0Yi0aEK7F2YBAXsCz78w84aT1Zi4VowJMZgGqSv4OpzTtg7fl
3bhDV2/CcEd65Q51M0Axfq7tJnbcxJ/J9DLuhrtQLM1oF4lnAqp2m8YI/3occ4KWo9+61/8UDgJt
Gk9vlF5YQ1ch7l5lT/mxQnDP4sFVyW0qRopV3KbGl2lK2Uuz7lLcmebi6QsO9md5Fn8NRfi7hsc5
5Z44p9jl4CTiicDb6n1m6dmXiF9h0cgvAt/B23wGa7xqVCUbwnMrnQ9L3FnGr4Ddna8Pru/x4y3+
9cU2wyj59vHXmBUbqSky4ffxnfeNLLxr1iUNH8K4iB0AhAtFF2Rq49kNnkvzRL/Pdx+Pk4tCjv7t
n27jl9ZLf1rxzpW3225ViLKY4uRXWxXQS8kVGsCEnn/8QnI5WWy7XdzGTmdjRIfP+BPnpq9lHzZd
xmQqpey31ruNpFIO1ylRO8/8YF6WV2kjcZm9+3hoxi0oxvGOvtb8D6fLd6zS3sYZvZSP4adbPK7F
2mbrMYWYRWhX+3E+TT+W1Oaq3G+OQcikZGpcILNGTtMl42YeslfIMbe7qo4Hy668QWVQxB+CUiph
WoGQu6FJBZxeXKVWW7FrnowBBjFJc5Bv8gDRmkdcyfSlXMIKr1PxxJ+cG3sfUKE4XJCFXJtvn/lh
tXSn2ALV8tOMSxE3a6TWKkmJWFxWUpfU8r2Ijy794Kqt22D7cQnLS5MuwgRw/LX0sjqIKpb4vsr2
KT0aJH/jPgzPEZLM2ydL84ijIx5R03bbfEzNbWATt4GdVuR4GY/TB6WXHpdhTkUUvKRVM3WPwZpb
K2E03LzXJyWf8mQqHivyfPkO+BsaTO5GsLkHIQD6951M3siR37ObE5f3opSDUCThGRek8ZlHIBSP
i0mRb6t9HYMnL9T0lMggtn4Nhgt6/pJ48r7ot7apYmkmaHec5vs7vF+jWBbNIQj2Unhatid8QPy5
sqCcEQCFkX1c4puNd1TECutxn6+ot083kPf4MbKna3u+dvkw8Yttt5FIvIobF9Os3jwjG48g989i
UzbDcZ6WJWl/s06O6p7tb1zB9cVWq+bPqVGu5+PCxtQbhDtuXEGYJoifTFlEXGlIq7pOuChbAN54
JsfbWp1TMaD8ZGqfNhEUSjLVVxXZ1k2JXVU8ndBxK8zGGXE0V9y58E8Re6qLlGsRP5dafgdWqcSx
Xjwx5jH6zh9JuCB5Jsfx9t3syG46IgBy8wpfIuI9GUY0zAPGBC5RgqnqtZCwU1RBU8DBmR3QKyWz
wscSN+ZlLnhRz/2jK4xfg6GyviY2Sui5UzsGcbHtCaXUgfHlx2Jhi6zrl/iJ2wDI+mKn+mIGRm8F
LNuwbcJ6BWlZt3DOftvpW3wBxU2I15zBS9eePxY1r4BVvQOkbjdNLqW/qTjZvr0ddsnc7MQ64XSI
ayGBSkFm8X/v6nznj4/xdEa0C9aw3kYj0sPdES0pxZ+CjVRBbVVKBUR3bInaIRu0h+NAnAezYmh9
be3HDJTiiclTecFmUrIm+9hn256FzxTXYl7k4rQRymZ9tTmLFsykibaWQIEl7lbAeWI9Nj+Gs00Y
mwzvcF+XD51gH9/Y62X8qZVLCzb4YXv81sAbybgMN23WRl6w0U/ICUarnKYHmMKPcUYmwvDMU6fT
S9MH/CJ0ZfuWEmeTcR4IFK0vnHheSiN2BJnljyotskVIBd9lLF5Cg7w2QyQEgtG4Nr4N7Z8ogRd8
RJ43SPaLAB7h+SzgFFLnV0uQBk4vQP2vX7oTtsMwuSDpEQsZJDFSZ9MVbBIJG7KsqU+1OEs3VIQz
J7o9AqQsl4fTW7hWtvXZH/MEjXDAMbvr0bCJa8zOXs7L/UuimBfS4Db2jC2HGVKqqMOqCz4j0AsN
EbxuNG8g6okdlpk0/PGfgNewodqcIG0XuKZg85w4Ux/+eKtBiRGJWrT3fCnjdMcpWPm2UZmfmmt/
TSyZS4OxmG+yv8WGxIVPLIVt7lKsyefGSHpxaHFD7r3U6q255XXehM7n7+zMzFmX57blzUUcCR+0
rjvp59ZWBIZbJRrppDhjhYbsSJ3YPisfYuAU1Or3VBJtm3EvtcDv/iTHT4i/h8uvd+W17XFUcrt0
uqWZ7iSTgr9Y45vOj1FLjW+LuY/LhaN3tI/xUQq66js4HVJC12yErngOe3bydJXiQZ8vd0QU7ZC4
isWBiO/vit0NubQAa50s11Esa98jHXWC0aZgF05dJA0/EaMAiYU81ViYZSFFGF2VreBCbtoWdrWY
lHXQeupJfzX4Kw5YjIkf9vNmrFc6Wx1c87O/TbRGNKbNGOkJDjv05LUc7qj/dd/qjeMtSPjxh3+b
YJWols5YByo2IxfriHr+7erPM99SjdMQCwGrCWRrcRaujFF54BE2q4vHl9E/wvfNMy5Z/hEXrS88
81wEbJYH/+vqz3PWz91QP/fTDahm1y7DjrJcl7E+1cqrqNIPeEFk5Hl8I/p3+J+zaSv855A5+hGn
X8yY2d8QMvDXoF5lUYYCle0F/9q/XoaP6fkb1MeUs7fop6fyzasnWHgxxuinfvrruibIQv6JZ0Wi
br7IJc6GjRzueItd6jGpH5F1T1QlX2b2yBlNwuo/PtMcvKlNFdYKlxILjswyozkZdS5mmV3YiLDr
FBFfUzACAWzN7EIo0jwqLMfWeSxE1pyvUbjkTN+4XKpjFcOC2wTMbffPFEVmyzkfet8qCzQPRNb6
B52Joik76XqkEoDqIjEGyWc2mR1NFlbi8jhD2OqqIRGgthUvtlCXbDfMP/NlL/NPg0PY6MPoJa1F
8C+0dNIq+boKY76Ac6GcgvLLdv0l0+ZfE7eGTZXGhXynyS7CINoI+z2L9b+gVRo2MR2X2QYtertd
wwbY4M/zTd0twRBEv6/X37O0zFdj4obN/MWlijVi+RJXUMMGpuIL8iHgriIT/b70R+L14g4yG/q1
/wo2rnVHXNKwEYXw6w47R/5ZniBa1V8SK65+jSaoYcNycaGOTdNLsAQ1bHAr/NY5Y1/BFNliZh3E
2EUfpk2YFdzB8FtL1cx/oifKmkRvVtn8sjWpwpoDjK7Q7CLPNhVsgrmcnjnsLcPWvd8gq9Z8DRFl
zUsj2ToroF8J5ztmNFGZFq2SW1Br51klcRdreQ/NHcikD/R5mH100E2QKHimO309j5cTUBpR8QQB
r+pp5eEnekV5uL+fj9/g88wiB1W+Gs7U1NLkeH5UX6URrdt8mw1pfxcay65WSvSrq4NAD30eb5fh
qD7yXuRIlbt7NV3Rik73LiK9nIUyuI9KSNBwjntdvjtJvglVZsXRaYILUbE7DQbvenqbrubf/JjP
dwQKTSeVCbSQaISR9GXXsy64CsN32eq6JoJ1ttqmDnfT70Ns2a3UIcvzhobfDw+yKgIBMQkMSVdJ
SXg7LQZlQyd65kSpz6rKjWNIxoOtNKbAf5B1G2wApPn59Tb2qb4CC7Pvtggp6Vx/3fFhLhjRWPv5
1pqnVD6s9fPj8n6/3+bxHw/zgvGn4b+C+Ry36brgHLPDaTo+opqrYmNhcY6Qr15E1vw///HnA6y0
rhv+teU+n4/K36r9AB2WFvx9f+sfj/P8bVH+lv8uzN2U0t8C//E4jyeaiL5WAY1Gu8ZXbtmIm25V
qpuVl8/rEfo0wI6clLWqYKKMvJabcqQPOltnx+JiPmreLPYynJJj7tZRsuSNsFbRzWKn8XUwvzvQ
OOjHXdtd1YbHlmmXj1esDfQyR+eH8bD0WEqYrlPwN5TD7L74Ltwtmf+JsiqbaeYDRu0Q/r5MyHp9
VqSo8auygtlm1bejcjedNJBI29aul8KHQ0a/9jpdRxOyIHYhOvmbDq8Khy+KIvk23v/lZ/xD2fn7
uqD2oeCZDhBXwCBnSOkdRxjxqMhlFg5gqvZd8eP+mjfKUXbh5LjGU+mv+nHzN/S7qWpp3pO2TZzG
S7PnlX2yUa4IkMjE74e9WdzK+XUePowkXWHK2MHBlpV5Zeuw9nXvjfQn8Lm7DzCu7nHSZmmaRTPp
hDeLuimBIKiH8edxvEXjYVp0MzGsS5/yi/EKlfMtwk/v5CdFGxyOx3HRDAabFeYRJ4qO+xkzx8qG
2bF6By3xN3Am+M712Sw1HyqpLxpMs/2/KM84D81V/hWVuPNvNOJQyq0nMe49itZfJ7TNdDs1jzVc
yjbbJzFBJ3v6Nl7Pv43EfW9ubJwhulqO8/l292IC0VZ0033XS2ooy/LoL1rm2EGGyQ0voodJmDoI
bO/DW3xaZd/34Zy62v7dKv532YDTcq2j2XjFfjT+9eV9HFOf3deSM0Sr/GqOch5+PV6mRbnsrJEO
7nE1t/Bh8Rf/eEx3pOu5TrSyslonjYDMsvgBsnnBzNm050CaHRW7MizQ/NnNENrcW7XzNeH/saHh
uAHaMh47hWq3i7sXRQXmRbgKp6YnzJY6NrHvq1D9lEG6fDi+A/VyahNZHk4nzVY0/OF2Gc6KfeEj
Sb12NW/P+i7DfHzXJzb2XTj93EI26Ry3j1p3KfiQVS8StJLRM2DflR+X0shu8SARFeSfmnI6okmX
VUVc4fRd+FlOVZTxt8F+ka02CYJMHOmp/JKNvWU7DnXpYcYxXEbDfiQsfN+JBt5vJP7RXSXdpQke
dU3Sd7k0/zWmJeNn3kiZAt3G/Kpo+yy4kGJ7IfFfdmII83p5LDCjazBXcbfpoZ0Gry+kG/ZbiRug
bqNx927lMH4/X+L7EWfR2ne3X49mhWSO6O+Ht5/QIUx+fLFu+LiZT4NnD+jE23iEiVDm1cbPKpMM
i5G6BWsDq5FcYBVSKJDDiL+kvo3rttsw44gqvMRP5duqUApzXai1g+rZRHkWAqHl/Km5/HwOerfO
sKbvsA6srqcz5rD54VHntyv8FA/TXBHFdPHDLEN7l7NNPK7o+Dhlr5zmcwDLVA1mr6mJEFhN7QRD
BY6DlI6slSvogwcgD84vZG068/2SYi+VuyFizi3+hPUpsOOlArprcP7xbg4KhjHGG0Zy1mXEHkDM
v6U/7dsvdviA9JMm/MCG99aOpzOV0V4GE87HwOe021LqQwkaT3YAdujMc6l3R1nqoHwfa0pD++lG
+J1uZ9doAEAxogF4vNzOP8cLpWkJubyDZpK+n/VrwgE0ZR4MPdt35Y3UNQgp+W+fO+6A9aKyO4i5
OXT9rd7gtKfZKmddUqxGmVdV363P7U/T/Idpmk+ks5W1con/drVieJwWNbLnRFmn2tOM1ZUKYtfV
tPGFXqadu8nFNkQTCCo/ycILcj+plTvtpb/i2XYv55tyYP4ds37u4PFRUAW1fu0e+y1Ls9XuJgww
a5AaP4zzPM3wOhLlB8gVWyceidby554SshRr28NhmMfBP18gHz98Py/nF3PlZvfKc8YTb1uP/cYc
cM7+ml/fwQv0fhZcsCnCnoRCXJAyqbah0Jior2y5KaWRhOJf0D6crcJ62MR94vCw5fwb6crUtLe2
/cIR7FG89rOrcMMc4/IyzAfQY+Np+nGl//a4KWt1DKzusU9RqcLbuWin2flPDrNEiphabjgsq4Ar
Rr2M2rn6E2B4GvlcPfbnKjwIpTnUHjZ7FrWngPras9v3UU34l9r0X9LuIZPaWXbvO33RLZt62f6O
i9aWrnUBN57QN+PKfFvSrQRtxzqj+rWmnhKVTxNl7dxs00stD9FzgA75WGrL7jiPy0H49ZiU0IS3
2zTClAn9M5+xd/p36eJ6ty4On+Q/+3fZq/Edzem/qy3J2keqzZJb/Wriqx1Ktgp7clplj1/XUC2T
l2z3yX9q80HblmmPytPG7NUedKcn9Y13T7vGgHqav43zgr+h/36AadpRt6tibhe7f/tTjOp+RnEE
uABzHvH9NsEC0YIG/ZYFE1iZNP/pJlMDQ/3jeAcQ8jxFVDUsUrKZDOys7QaIu+EWq6/iLjjHj1f1
js4Hxr5o318yF51ozTO+AccDZvZwvmr3IIZidhEL+zy8XaYXnIu+Ho7yVYxnqFzF2t/LddRPhcf5
GeKeM+va2TXWhBogxQHHrpxRLsUk7orGZRneErvhBCJPl3yaPh7zRTnbQppME0jIch/m++OmbIBd
M2cPp9jGrnWd9MC3yjZ8D8FrezUvFfK6+hIsy4PwAlKGp/F0PmIF0C52Ob+Ox8/jRXt9fC5ORrNL
g6NZwQ6H02NGtT98P7/pI1IqHrIS0WDJ1zQBYWIBloBBpz/nP9deIsuoYCOKddnu0Gxx+PtiPmc8
PvS/zaiTbFtMZp3jZ2FV98JTUvh4rBuyUax71BML6Jl6MjbTqCagGxypL075KH8jiBEIPshmoDGu
Vj6nCynVAjEhXfSYR3c6iiLIQqVUS1ouCgSirbSBoiyCJ2TUEMDAEVqmKSROaOXHn7nLiY1DpNP0
749FfFudqBwBFzFErGZ1F4p4oWy8lfSg+7PwVDHThfJpb2NRvqVUvmWXlcnEN+dO4/wxarl3N9yF
ziLDDP9GsGLYYhKFPiTnC6TJEnPCaTiYZlr38GTikxW22k99JywFj1YnX5u+RqixWOBMomOzKsOm
MxeeA5XtdLKjVgGdCNPbYrqDVsqk3k+COizzMRZIkbVnPXS+LAGTb2ejcK6nBRPM0ZIc/X3f8smS
oJtapQpVoa3k0lY2yxTK7/0x2H/IXLYdmf7dhxzgjGlKktbxWIr9kpulEktUYRcqh9Iox1mEvyqi
gpFcSTzRHTfh+yFZwchEREoPZdlJDdA4FlT5USu12aLkKj9q0uKm/LpgUoLORFbY8W6LefXmL9Pj
NVG2USe/rfVKqv7E+zpaRrOEhBg2NUxrHk7jnaAuSgXVrsP6VWyhnE4S1Rv+RkHRNQw2ye48y/r4
Lxhizp+ngphrGLyRlz/zOvoL1lrBEh8OsHO6O7ROdAGOn+lW7h4Fx9YwQC1miOxA43V0CbExRn/O
8F+MedHt2G33Z3S/rQiAQ/TFe7nE/+wG0GILO3n8+hh8kZXZ3EaH0wk94+T5VhK8J4sj1xsG12RX
muVxsWE9MSwLgQ2LR1So0OB5MDe0vE8Py12KuYXD6YLuXvzUQshAGV7Wq/HD0wfQSRemgMEahohn
zRlGp8QPoJOAPqtQHObhdj79GIfvcSB+021eqxOQ+D4ZepgVzrM8/nRaEcqU5W38F22AurVhc6yE
iafXSFrHde3jC4XphZ+2Y1fjg0YJ8FtGdi2LccjjirKNKMr4RzK4NMa/Vu0V2b/8jNxVJkpIFteT
rLEG0cv2ror4ZzBcHkNqmP/R+fQA7FHUCcVT4/hUTJrQN/39cf12OA33IfplItAny+Kyz/pcWERH
lxvuVgfmNgxjFJSi0Tz+8r/++58mRUwYJhY6thr3FrK4mGRSo8dquS5pxVI/aXR0JIEjjAD2toMl
TuJTIMe9jYPqwDIYT/R8hGA62iiMTpwbtltTSO5qrAQjPl7OR6QHxMj8fbrE6rXoClu1B0uxZq1l
ADZjEzIAbe1put3/r+mk3SQuZdtGcVfFk9oejtEwDm/RDSCuA75q4wM+kNDXVk2i9XdcwxoxtwMb
XEKm/tX4kwtA9ebhEPOF8Gg7fx5MQNDxBR62y3h9g+j0w9H/xKbhoDvbsEv2aEtajC7ZjYt+LBA7
07+KFt9wzd5/Y0AuAlgnyE9RleLqcU4OnBNf0qU36hWMndnpeG6rdwJL0QbVtdwk8FCurWiGiK5o
wzNKU1sG37lize4jIGgB5IcqghIo8Pyuk/0Xo1I+oi9lguphH3B4+D/HLJ+lI3ibI/IG05KtwFPo
3/uJwdQRYFmaHHqEGDPiazHgS0ZVFdu+4+50vQXIjwCuZh4hrlce98opXAfKdX1TRkQ+zvd1vfTt
Org5nhyr05LcUl8chrK4PI0ISC9b5EwAWVMBdONDKSklv23lVQenVbc4qEiaFf9w5aWVA74s1QlR
hjneE7VLHIM9N0AYgj2wa5YLh8mp0cpuPW2ZTqJwJhXGVti1I8Y29/yBB3M18AoXbQXPcYL9VHW4
QoIfoWR8w+gCFeHPo51y9tdNSDHchb++qrF3ybiTwAduq/DXlknjYsXT+Osn8/+AoYtGJ3ZdRqnR
ruipp2vReELK+pn0jvTbadQT0qSxW0nL3oZl+THNJ275qUdzAWqLGOgd1W3BbADnSHx53O9WcMHF
YecVf4+ZN1EsoWD0odUFyHSoLuFiFvxA785bReNWib9r/jXNKvbPjkChOAJ5qBrcIxRk5qALDZ5J
z/wsn/eG34CahGdAmhNrk3EF3HiFxaEfZF4deALI9C4HujnF8/MyxJgTrE24T4eXy2DChhWUC4WB
JX7iNtTB4yow4+jGTcYCpIKRu+PPPHcuuR3IAaGbOCOloolbbQ4VidGrNzb0NF0vn4o1yEK/oFph
8vOEPepY26AWBYXADO+77CXLQh/Gn6fFyH4/j3G/tuu4fUQuk5wthwDNlQDOiLfi+TAn29dpnRTu
cACY0NBx2diD3vPBzcElJvvkO82YpmDP/H+BwTTa6heMP9Dp+Q8bRahPlsVUDNVKhwTAkGHGIZhx
KmU87Hrz8LnTjhrkfLloTn9dSjfv3H3LaXU6z1ZAjaJ/zJGJO+Qc1WFY1f1X6BYiQCkhj8U6GaoO
OlBXk4cO2493yM6hirOOgU90Y5niNH3c53GM32fVhwGY3klTsHkGqynrVj1rvu9tZKQ1B7qDuAB0
RRMq2TYQ7xcjVEpbCrEXNuEDqb3WN8Z1Op4Rr+FOR5uWVDCoMeE/ViMSyvcMT+Z/gp5Tg9uGyeVm
FtfBqSgTHc2QbTuSjCvqmkVXFbibVROIqRuDsSgBWu/lkvtmxOZlYuUL/FdoThzmbxGUDl4a9xa8
BncKhWHKdqiTVjoi45P94bHcpw937gdLZHMcFVvgxRKqHXYc4WV8A1NC7byHb6NiqSvRUuPx2Jnv
VOCOp/TodPyLghXr4JrO9/Hj8DIcv5kw9WH2Fe36wE/KckkY7XAifN/rqyfoEHSGIYEkluXzuHKp
CilpYje5ehAu2KACP0JID6c5kmujHTMjimrQBpw+gqUM43SZZiVoFR8hPhzSKIhAUd5KG2TbHNiU
vxQrrQklnPVtGKhWq0x8jCYGP31F1+VevsBVtRMT32xcs4AHN7yAa4F+nKIzO8kxfTKaO1I/TPlj
FrmRV1qzaMpKTWhCgySSMVYmRIJWLLh67utStK8piIa96mydm0FbtAgL9H+VlB7zcxFIk+dsc7bY
THlYO+jrMWsNqJj7yX0eycdLdpnlHRka4ywbuELts0d8ELI3CHY1tAv0AE/jcZopLRESi0f/ir1g
/Cu+qmhXBtfI+SIUh7A/4CltEyeRrX+BtT378Gb8XYsWLE23vn93vP/0lkt/KA2zObT6eEfzrl9e
ta7ABoC4FaDxanNfS3ypxm/GNj8oWVOrwtS0vjFkXn2yO6FKhfNCtVoFcxMQLt5UMSfoP78nfSCW
6fMl19UX5oGVG+oAfhuknZVQeJ0cKWYbICUDsdH9rtVR+l4yMhAzQsO9j0eJckdpcKdSSiMpd2/2
xptRpoizNyIaHQ1J1q8ItTLLY5DGs87My2c8nUaeSC19oc0XkIes93dSnsDfIKvsUlaGxNy2IMV5
bQvWL7XJ4Vs7gLZ9JZeNL5KLridQcJnwjFtjJewsHN/hmkgpVcQNBT2t9IfJDmG8OyzXx8eLkZTH
dXncADCohJx9UUq1MzgFTEq6Cryxle+TUi7g2QGPWr4NC/ojxqFwD01JIzahkGTSW3fDUilqUV57
Id0xnRJeMbAXKI4fCwcY8I1KZWu2ViqV0Wx46+yfl8MNqJmuildQ5ixaAMeiLpgKwZ+Qi7iQOhlP
KULuFpu8LeKwCdK8qxpgBZdXs6yyTrauw56udw4+zlfrGRg/7XJ2oyyIrzueLoG1s96vjUmGIl8z
QhCV3GwOL6ajaH+F3x9HKFLcPl3pyl/hUSobaddF2FQKq8TVUknLSBKo+XKN16xjb/W3+g2lPwfG
aeDuau9H9H4V1kpsDTVl1/DasegZy/W1jPQDlyq2Rm0NW/COlEU6fzMEggt2tNgHjVZOWcV/FQAa
rQewSsiOy8n95bBGfdwEDC06Th8f0J0ed2VaxjtBsuoLhfQtxk8AmhHg5lE2UvsVfIbBSSpBLyY3
mfFlmJWb9nvh7Ya+lEoPO/VFmSR1bj//L73whmmPzpe5V9leC15KVYdWYtJEEK9wv+tCQBaxxhPK
el5vFD3i5Z2Q47xsiIEDUm7lHNlKPpm17mse3oig8bqmM5RdVdpajqFeG+dAy3hRAx3bF/JR2QAG
8DFXBWNAS3odxRlCLcrjPt7MY4T/Bxp9FbOah9meVs2R6tFFy9xTVl72apP0LzR2KrAf0fe2RaQB
cpAEPlp7dBf3L1YPTykwdWH6vZKzGnrhpWPpRKJOxFX+x9/+48//iV/4b3Rav16Gl/ESAS2iT1Tl
wUJFs3H1bH1TCS4KlvFhw+JXh4jUxHWCJry7iUDPr8jkZv7vcQ/UtaTTFbA5QGtopubdi5xHKYxy
grRhnBiTir2ZlPWtmqKrIjh5PMkyvJIiwLKw8eAKVJUiPxFD4j/8Cvx8d4q4MdO4oNxcT2pWh06l
lBxY59JMD0Bbqq+eNliJNWMWuNnAa4bHwqIe/Ncg3WDe4f+efi8mwPMCyuZYPqOY9ERbUeSRSjfZ
alWaMpaxfRo3Z9nzVBhOwSgRNkmB9Zl8IYnfsqQhy7Fi9EI+w2IzmIuyBsveE2N7ufU9FBVZd6Gw
10FG1dmSZIk8C8r8cMoBQJKKURZ/usTIEMiIbJLyvMp6QQo/Ol+68GlWdCu7KJySXfNUAO3mj//5
HwpcJZdemf192sOlTEIhReDsVKBBlrxurKhosLS8Z6txFiybVw5S3qRRlOREHxY0C9XwKCmLUgR2
rkHNAryHWorM3JNYhyGD5RNk8R6zgjFX0TPAZu9aCJFWXM1kYnrwarA+ZnRXvDyWMWXLQIjruCWo
r+70aZjCtdMwspo5SW6Vt3H6GO/zp7IQu7x6tdQrCgpyk1clKZmzvBCrN61WFalcdCRWsXLi1bZ7
xNmgRGKbiqjMK8A0ctUIknxGbnsiX9IRiaSC+OPA3ptmg/n5MU/XtyiykHbGrBTMfLYAOpY/Brvt
5ubEgwfcEcdPo7toh9QhC95adNYSgi3LmzH9zPezcCiEgsDItqfTRZBmSnBFoZmoOVCCocoINx9n
PaeMcRkiBL7meJhgC2eDOAdEcTkKKW/p5WEF2yggG45Dw0Hu/Zr8xBhiQVIZ3spG9SE0nk9RjyK+
HO/C3yS+iDVnrRUxW9HWfGDe/Ag9qR9vdLrz+HaGrqsEpluJnjDVZHWq+dbpStr62/j5Mg2zkpFm
mXWWaQnzwBBp/sd5+RhMlKEkgUsJcr76kyqYqyjYaTPnfLwS8X46/GsbsS3l2X46cIoCT2MoiaAO
yQ0XWStjttx73WO4NiC6SgwJZ6VKVBRFHwJmSw8PO6Aaw73YatYukHLhJok5L7zcBEZJHECRs9oh
a8Km3OW6zn16A7ChmkSklqsu3trjPF/riCj9LV4cwRVp69CkEhtK0qZ24euott5iGiPRZ34NcMq3
cdbWdOgmrGDFvQITV6WHc4GboIHu8rDAGCKUrmfkXE81cRSuRuGMxVZavDbHYsz8fdBLunkdqI1V
SV7/NyiMv9DwUUUpdtJunM/tAzclqmCOqh/wTXfsYovzb6MS19S1BEfmF/tFz6lkigIzJfYJBLIC
uuammZ+qiOEQnwSP0eMViuy10llDu8BwPe1zU/OGt9oVmyeFzXUf0+n8quD1WBaJ97loWc1CSWtm
7PY7BEuz9VZHBxwJNghCWU+MvtTdlcpqeaB/yiCv5OY/pPJKOXv4nO5jmwmYHvdEKqCSegBc5S1O
boLSuA2VI+nZBFy/q+oQ49dE4PqItzjEOZAJrl9JKHu4rP1pZ+ZAYV+uHWJ/Ibpg2JbznYG5VlPu
eVvWSuCNCEqbjlTC7kpawleARis8hCZVUvWl5BcaESEjjEGOw+scXofzRdNE+aaHOo90+Sj9J10l
H40NcqjYM8yK5GSF5H0Rngx/wKu2xrGzSDPCAeFxQUJIoaMBv4d2mYUDKuxKyVAcV6jXFfgUDmhl
wRK7YzW147xIk9sOVjaZQ2ktqTmGCq+2irZOGxMO2GKl6JJJ2tzfrL1fcNgmBcadN6wjnIkIA9oo
BsFfLA3kVjNnioyVYYtS0QZtRWreti076b3Yx7bemq0BrmzCiucpRp/elzb/JeGUF9zf8xCFbWPc
ZZo01H/bF0FgZhFQDoweWklr1hT8eS6l7pb74/UVqvEfCaQDngxnL2Br+Fybld/0SjzC94g7d2dG
8KbXwwuEdRYMpNxWGcXusaNecfW6WWoZw8IzSj8SfypRZxvurZQNr0uhvXzTUfodu0MSCu4FUMnI
yMMHzYvFERyKp5t3omVIt200rMGNxXfO4kJl1HbapcGORoW0Qf62aqXWLaDXTnZv5WE0k/HDgcSM
B1upHUlFxsJGNpBqDfFTXp/RSKV0tEq/FqykRI/iEa0diaTYyFg6BJ3FDyqZy0ICZDKlf1gGiEt/
S2TGZAc3qAhpZO2kVvLQith5icbdn8/Hg8coKMQomxbZ+rnvywfHOkVLzlCzLB1m/a5kb2ORsZCU
m6PgRICAW4PdmjPx9wPp8o5ZEEwOL0vyU4yDXIaC3EU89j0xqHHZeUN9jsHypu0TRjWnmqpNzL7J
8bE47SnNrWjqTjKxuzu1lFi72rxe64uQ8idQ+Ambv2HC2/kfoHQBCsty9koNI4/n1ywlCiCJd+S2
WLNqh3DOUG/O0w8kIliUnEIvte+5lhxqQMPBYIsDRyduti05wgW/NMjcK3MpKGmfS5wIz4GGIqMs
Q8aQSDaXRHA+QDgoRepuW6fK2PsFzidwTdaW3wQ+27xjfySMihiu6b+Za/qziRf+B9nKPRFEkXfZ
Nj2VlE5FGEX/8sk98dpBedOZiMKhJ+E2Nw9vqo+a8+b0iiGctr2pRiofeh4v5x05npH7Oe4tlbh3
o6eqIOcCOcDUrDPys6pAqoPsy20AOICiK1kWirXrb7wjI4dqJbdgW0As7W7+WKoJZGKJEt80VU/I
NVN8zbaWnuXX8u8Zh/VhAcaa5m0JWUnqFbJtlkAjlPRZ3ge1KJQxyBFAsBhPloNyOffezlJENy1R
aeCVQX/iHi43zzAxSB9aQOqikUBVtvBpdMNCdtvRtCmexKbyUGpMYzYdjYwvxvE2r/900XpQ2MUC
Kq3txaQIWcbjxagCOxv4w/iVWl84LwJX69f7QB7niutRUsHbhrzvbQ328HLRcrZFSPSQh2EE07BW
Qb58Uh1RK9DxIiSV/jr7mD9AJRn/xhXYEgCcDYWHVf7bccsq005biQQu1JWFP7ANWnjS1jXDj8TP
jbeUQzbOBihZHw5RpwV3d3lgr2i/rsSSVHalCSzCHA3n4PeV/z3DwdjfL7fz1cHo4jRf4GE1Prvo
Y0JhFUdNqdFmw3o+W8mK7na9y7SQKBA10MGtG//G1p+2V2N2NSap8/0SP2efgWXW267x3elnPGt9
TCTcPsvFeu/erkWvj2RAF6LKCxFrIHk+dONeLqxFY9ZRnnj87MCQJsr8Z89Xf7k8jOD/OB/jV2gT
l/IVcl4Bv9F9MFRcvN4nb+jYxj/Tyz4jwLKrcPuNvvXjCumjG1Hc6ul661Tg9sBBK6yH5gQ4zzSY
I94tewDl9m7l00t4snhsLTu2DN2O4OD2FBKsas36IMhzK5x/U07FyytAjvo8/oQeKhsOvqHmqZ4h
LPYCg7i1c24qRQSY1deG5OA6pd9Ov33S8n1dhs/YHFW4qo1GDfVy2KlDGQGVKg336KUyx37V0OxE
/R1qho6Lqv901k0i7zS+Ny9VLJJ0BnEXkQbuxS/DIjV/nb6vOr4TrxTY7FNvepYLpJBhKs1Fyx/i
brwK5Pzw7qM+IHyk9gFV2VX+3hgw4VnZ7Wksw3fot0WtM6H6/PE+mkBBNz1tFlrUTHx94MF8aPg+
PG+/G0YavV0KBCi9VBteXRvzQobb/RGNfPCISsXaXyDNrXKl4K01imbhmyFvD5AujIwo7vDVmiPy
bfzE2F8Xyyq0LbYUnMNQRaWIyaqhGTz1pyj3aokXMGxWQEgb6tKQaBqD1RvNuFjMRY1qtaZjSHuc
CdalqzVP9MkIwsFBT6dDfFYNFQRqqfPxOfHSKIkXkTWN7VgrJ4mc8SLyyoRMjmHgU8mS5nGSSgb9
LZVMrZj8iMNjFQnjWa1iS7O1Ekv+Nrqct9pxWWSdWDn3d2Ud7cVBYBJ1r6YVMZsrZbtaxCnyXCwl
rfgZvXmLk+FuW2/UdmTKFLT7IC6lknnOJc75rqgzRWGIXVX4Z9+xBVfPMHSZVkXfQV9ArY+NtIhQ
O8OQZtaQE62IJCcKnZcEIIzVTNnte4Q2wrqUPE0jJUo9s4UfJE+ibH4/Xb5rHaGl1EQc8QApdahw
ylZhHq4JeaOvGC9OJu6fx8eipGKzNi7lPEpP9CjmXRU2bpZ5pOqu5CiLsOegjyta16aoNYAWRRY2
YpX5huAkoXz6ZlNFLjjXJmtzT9UOzLNqJbXoRXHFFL1YWGEC0lcUZS0ldE/mgy6kplnLWyJvx3E8
3XruTyKQxpJkYbf9Vvcbn+Jt1NjHe6n114q0ziDb9L2k9zZdBgm2gL4QK05Bmf0+ocfFU9ypsvvG
Weqfaz6P6/kIme0kvqaUm5Ftq6uDWaTQCF3ISSzhK0jTxxM59GWZxGiQ6Kw52+bZVA7fuBKihO/B
TipwyVoqlhubuNKjnoByYdY4fPOwBLDpAAmaFw+XcUAw53X8ARtXyiq6kynQGShrVRKOAbsGqc0F
ZC1XqmJVQH5rJXZbE1Ng+HKzXQxApwAycgmNzbx2xWnvwhLpVuFabhkjmKkOJuMItNIL5vSYts6X
NNtFxrrmoRzR8NItDETVpCTv6g1rd+Uh5cp1MFgvFKC76ks8wfTPDgWGeZi7ebvxrCP1FTGe3H6l
0aHvJCpZ5SvFzhSPaAlg0nofY89L5eSW8mH0bxoThQxNDUGySrNHL8158AIIPfJucIhabyJr34Z8
1AHvouUBgPkIuygBWt76waeOnBdi3dSRcVUlqao1qPrSwIaeoU/wkO0xIaYR+e8Bu+XhaYpaLoLG
vDZCqGyl/E/z9PGX6ayRC1ZiJxk66jifDRrVXekkqcqaRoyLTQAITVKsl8gW0hNwUtY1xSqtWw2d
KxpaZF1gs7zSEt73rRIqpnRZkTFvj8Fpfhr1MjzMBwD1zTQuznuFN3Kb1ulZ8ZfC2k3hvzYhDJy8
LkIkG3c05SrxiMSHgGE/tTpmgTU4sRBenbSh5GpYV3QwHnrPcLZCCSWbMO6ir3TgxkSXUy22FlkS
z+VjWHHEBPxzRECW+/p9ms+/QUv/Bb0SxXHjf6b1SJ3Ix/tuJgqo6AzitVM70VLDja9D6sghW6Ma
+1gtMzr+O43Nu8kYZ3jgmFCYnCS+wUU8d7WEcP9K6xwu56m62VPkiKM0nXbjCblBMfT9ri1FxBIX
zNlBwdvZ9ianroAcl3iKAJm7+yeS8s3sOFuDxIYWa+IUnG+/o/MA7IUJfcA6Hs2/1voPyjAgbp7p
UlbUPx6niivjLQQVVnCL35O335mzr+IzOJk5vs0YzPyRgibFGLdSJmfNxUE3prGlEFaaFV9Tc1gy
PsnVh8C7cGtNW0mtHGH4vHw73+gpg7+sRNClNGbkaTCUprwZNRgO4w08QwSTHlQ0qYlnW3l2KJ6t
2ws9NJv11EalFnkmHxCFSzG0D7kEWTgnopKat9NhI4Mostu1wNi99OKFzCwP1Bz0v0eSDsuk6yBu
p5HG5qh0rK0ndmUYHbae8lPP6FvjkG7/0181nB/+uPPMpkF/DmMVocF68SWaPuThZX9/B2sTfUIt
kQHz04TO/HX+VSy1Rmu1Eg1vcBy/2kGwyrE0Em+szRx6JhZARA8vyl4YJfCumWqpo/akvQxna3Gw
tC+XGUVfR/lAvxKbJMFP3BELpWGU9KldSAvNF7QbXN+ssq0q/gwu25EZUSNOS/mzZw+elkrT83al
RPdOv4ZPUJwnOo4ilMJakMJoRE07YCTo3v9iwmchnBhzxkY30V78oQYtudw47dI0HdM0nt3Rzd2E
9qQPHY1Bq2wY5nu2ipXe67RX6srwnfK1rubTzAPFnvBF2Q4jIuetUioEK/VQW7+oazXcjlBffSfz
LA6P6/jzRuNYcWD2rJREel5F9l2Il+G3T5tFv+BINQC3HCdCDijUcH3VSil1lW9Dbd/j9TVUfLbC
BveAv8D/ZmI+41YZX9Jx5tghUiDToAkRlvcyxmHAeS+hWum2D0ds5NFhFziKmEF4vBq0i6xZUNgg
7EkRJVxMxBnZxYBDx3qj+ncVhQQDZ6vAD/80zallcgkLaJexCnnfSmUm4drtSvaTQAntPaUuXK5W
NqYnnHA1JgWeb9CuBtWv/UuVDMTdr+lUXGpIkjrhXvxBwSPopC/bJQKlvztWD3CiTYrxC0dUhgce
PJTpxxVhVzCS5jTd7gq6tGhDuHHL18Hxh3EKBfx9zaDsfsz2Gggny2F9K8F+Qm+KHv6/zbNSk26Y
xmNcdhbEc75+DD8VCE8jjeBijO3p3s9GnjhkYszz8XzfkdjOOwb0oHxkXgVDMXly7TskvY6QCbED
bxNJNd76iVjZakNubYK2JAtzz+s1Gf5Hs3KJBTxitrx6ZGVMJc4WKfeDwvv0+uqGtPGiK+SNiSwU
9q/8hQ0+qOQdpmSjPqdHKuOcN62UyI5ErWRUNQqzSgpeTejxAvdpZybG+3ioFpKFBMaF8Hru0/Tn
yVLha8Ol8obVzFnBW15Np5FuOBbCq/CwbpEAPrWsGssCLTHRCPMrbioBJ+flyBo/RgmftZsUQAU7
N9lOeey9WOPZtrQ4UkZfN1JK8dzD6r2H9UwAftCpnTh9M+/y3gwU3Mc61TAAcA0yXwfMbTgZPVGf
ZzjFIit8U8zzdBuHYU1xEfYsMRdMsbQ/p9Km3iabszorK/g8c2SMaICwePQz3uFaxcfNrZ+XwFSx
chZD19OtpYYXNKwGzQB1avVJoaJvcilPmKZqXgedg+OgJNzERuqgdVo/q3abLq+3TBh2dkdiDAAj
ZWUxtNw7vKdlWGSDVy9BYTVrtJnPeMpguFHPJNiNck6V2q7QWssWAvEQlij8wGbl6sRRzatKdmy0
WO3YwUnbR0euW7CkTekQkETlo2U1j817fhr9fB8XRX8WIguI58M2lmYHT3zBhbxXBhKlhq4bx7aS
3CMx6zBdEc2jj5dqRUWzHjVrj1ZYrkRYwnUEToHv4xeZSfKez7AFYS2yzTAY6wI7KNDjCoD+G6SN
3f8iARFvG5EE1c1WfllAWkMWB4WlqQvRanmAqWFugJKf4V+Mb1ImLjhfsbyNDldaAYnMgc7Hp7pf
CgnNeXQwa2FTRypcgU8lfZqjRH/3dbreDynG23IzSakLgSbHb29I135Qy1IZE/Dn3Xw/Lw+jod7H
l3n8oeykDF3hYDoSgsH/XbNxeZ7t4EJPjOCjzBurTmF2tVRzmbbMqrG3Vdmugm2S772rQhR12LHz
pRlDhRum6cA8dS/6rJCn/bbbdeUUGqDJC15ZObnpzEu6jytj4TPWQchRICun1DnzNhdZsz+s/ae8
0aq9E3PCubH0a62UIG5StXUJFFXI8wx0SGEyYCUbTk0w4bOPPHyYyNiG+3AYr8dJpz3m2Z8N1+mW
qU5LT/PuL5+kzbQ5f2WmE7XOw/myB89dFIUyA+gIxU040E9jXufpmqBELLJuc8nPc66IsfEyvuJo
ZWirUjCxIYK95hhkvQUh7/peBX96yII6PTDvOzGYiNH8Kp2dTG8xhjfvBxGzUSIabcXYI6JMPahO
CW+j6F+UI5AddBm16jT5wqXkVHjoUxqn2fCP27b+Rigbc8XyhGNPyjIKrlA6DDbofIdfhfAO//cx
0lAlAkShLi0Aq86DWuyTFUsu063LsBAQf7WDr4OWaP1OrKcfZWy1QW6CsrXeNxKHXowyEIdTKnpg
88pqq1EjZ1mvTt3E4oKzpMiPsUJjEkhbplfQlnJo2pout97v5fyhproYQxl4DVVDuxRAfYkO0O14
gtq3WyjdFo3kSH0Yw3En5BAOmtqOQkqx9gJYsfQQS5RKm4ABVDQRfUKHjx0fiqQ54FnPMTUMK1oh
5fBHtyINSzW+1RgZlYe/98BRFs6CcEN7FhF+JVbIJeipdkRxxGjJYKw+2MevWeu7kINaDibs+fGD
QCqP+YIOScSlxT3Wft1s/crh9B10ySnaRIJtLx5fysBFcEDYRbgcz2d2d/EvY8v4uGHdQSw5gz9l
eGM2T1U84JQewvUYLNeLt3TIO76rqqTv8v3xv/PCyjoUqko49eHyY/hcDo/766GLL9SGhycsFP82
dvDewxG+bc/9V+E7y6KHvvIKHFaHO77DMhBOvuqeu+v8r30CKibahwvUUyKOBX5idLnwC+MLNDtf
f/yLmvCx9mSy3fBj1zSipBia+DQkGkSC7ZeopFV/lAeIdTQF/bguj9ttmrW4vmvFXkzKnBFEh5Jo
UaQlohTKJ7qgPdOncqXwtqGIKGIm2nttip3eVH7ydIpdiSjkgbnC1s5XLApifPAynRTGl0qkknC1
DQi5YBxBYrRZLlJ7FHVeawRCpUSEL/c3zGoarmD0niwFLi+VmmNRMLYIdiKOsODlU+9BbOtKivpW
yN7OMKRWBvVi9PgBLOVamyufyvY8dCQcFKOkBWu5cHWc8TiGyy5iobwraymoXnNBu+bq5m0phuZW
TXDeEyUFVMgJHIhYHQMMNsBqIy841265NtMEo0kAixbHVxFnQivd8Vp+RYAvnpBjPVN4MiplZCto
dmzmhbhe0eziAHYpfC6VTp5M2sjaTkxlToIMrwkZJRjPpX4NVXt2ivaslMSXH+ijzPHp4zlyrBSk
mxK7WuwA8SDPEFKwEF8OhNJKnrUMtW8wDMxyyF0TqfFCJKNnddKViU4JlDdNinJLqjYPd3M2VSQd
ZAu/Jw2k1XGODnLdSHdRi799FWesWDnw74uSg97OySiUxO/yQIfs9XFxczJSU0JyTVlHRtgrOVmx
Df51AJIjQOxb+swdEL+WFfWZuDqMD7IFwEHe58f1OKjeXpOr+Wvz/lDUtUxTUeQhdVlZ/442QaUz
sInnstNDSjqWzayhZFvnAfPVcbgC9uRltD0BCglCJuV8Q5IV8znH4XJUtEIlwzEE9n+swWsC1Yh0
OgwHhYvqCLuWv26vYqzRJDT+F+Z5bY7IJpxoEvD4J/Ms/4ikgH8dl/PpMVx+Uem4MrY3ljxMD6ZX
oJdeX0C/VFtGAAfKBTYSjOJGg4pXOYdBRK5gjSQ26MJoM3/DGQ4BpdZa6D2dPz60x9xn0lQjxoAC
SJ1kJYrJOWiHprRVMCUCkhkvrXmyLrq5nQFkXB8X1Ww+weaLMe2EwGXbwP3AwRhGlr6lRsuzeg9L
GFpkVyI1WxeS6gm7o17m6dt4TVFf8UbvZsOAGgmGFaJHeez1ipk2eiNB+ZSx2JC1ETyNuVE+aDP1
mmzjb9P04UcSKfw0dR+HOvqaoD61zQh8KxMkYvUG+N8SXecdK7s9N0O/QZ8UkqxY26zYhlp6vt4P
wfHRhBRIDpHuWHTHaCifm7zpQcDbGN6NilBavhuJFNj5MZez2Y1VXETl5NzeaD8m9cSLD8te4X28
ASaCnpkCnczkaUvbaZ52X3c+3EWJCDgRHPybNpgBFrw3IsBDX05hQ2ZI7RLa1cvsmVphF8VkVvah
68YRQcjCYlw2jDEUUFEvCdszvbESdHVyCz+JqrFdwOGenpXF5Ap1gMNLKMEEuxr27p9nkSlkdbmE
O1zpYYHB1EO8FG88k8Kz0/jqxj2PQPn0bzrePm+rIsbTaQk/J0Tdj8jZBYiqGTWBCo8t2DThZOIs
1Y5hVC2jBPeduU/s0Tif9EoShCZEyUm0CgW0ccmTIXvWSjQWNt1DuzGf9m38RIpxJeOTh+MDO9/i
60HkqHV1HGolMlyGMbJNufyHRm9P8bJoUxiU40uINt45AfRUW2471ymV4MjrMxFCtsJ1STQTnUsZ
J5hm3E2BZTKGV8F6NWJKTA6p1Uxqxkbjsbri+kHGeKBuNzbYyLJixraD4WuuCq/nizURFFYr1Amk
EStp2NkWbU9ciTqDX85Hd/FB12jCAjbpnXDjppGKHqtcfozAwqdJYrOF9AZfp+e9OU7OjwKSgZkK
FpPl1DD1Y10ZqJC5/MmugCvvmQVkHGa89wOoLHUIPKtJMQ/IXhG5wkrtr5KsuIuWEjD0WiwAzCNB
Qb+IShWRh5ZvjSBMyVa2pucpILylJtANLpmnSUnet5liWIgZGEoAxjAocprzCbCYNsii/a/oV/5e
hjmuDHMUchVhpRXdxK7fFZO4D3LPUqtUZqpcphb7ckw0NFk/hE5CiYo6MVPpeiR0Zu2W5VjQK2Sx
EJRfiKFzhUqiOw9tXwspWs3aM8PqyYxssEYDv9D5VpbIa/nFPkdCND4mYYJ6KQZew6dtGto8xbv1
8hMOFsect/gfrdI7B2N2l5HGE8FcoKulmae++0WfoFhkjNqTNeFgy5OJspQsRCEC98VeqV2AxTyK
4v4Sz2jHqOQgqKwYGnxQS1tGxFox45iMR0nvKhGp2PItwiFI0xqFqfSVFNxpwTyyTSQLMQJ4P9RH
r+ANWGEbtHdfq1X/GL0NLSWG9GtWeu0sS7TztyzB9Fw89WGLEqV0EmLkua1A6QhoeUeZTzCtBXI3
KJMxoill8kyaSuSGKtpS+/18v2jDNwqJ5mLlCjhf13diCV0DNKS/T8WzaKRj3z5oxQqJPpFzA94h
vQAjf3XvKO85c63vzd7FXKuA7MW4+jlxovDzdmL3gG81vRgNbSOQH8b7gsen9dmbWD+XR2PpFFNO
ApX2rEIiEg7yVam+2oyfV7fujcTqBJye9ykxHqjlTXScFdEcEAPuzzT6YZ7ecKSYeVDA+aEi7lsO
3EfrYzNp5rDMxyGlAI6hUkYRwkKVzYSjN8dUPi1DkZo26w3XsOlf3IxH7dJX7ZqtiJ/U+1Uw78vO
KkjUrDFuoS3G2glYhOBi4z0dCdYLIT93o4GDKY0KEIxW6vwZs5SIeD57pmTS7qp1TeT+jM0hwj8S
nRlMssTOilSrTUu+m8+zkpAUo9IfVrOZ0bbdjrYV1kjio0K7B9wPzoOH8m40z2xlsgs2ZDWVXcnp
4ehoRFqiCJtjGnZtaWyYvfpSkkP3QWatBaHlJ+1oM/8lLSMFhG1QcgZzvYlv4Yu0OGIp4O20i+2a
JEsfloVvnu/KUnZQr5Z5r8p0W1rLCyBHJ9JBx/gb7U+Z0vCFxbjS0F4Ukz1vHmmp1XATI402VZO2
1fhtcbJORg0ASZsYnZZdhCsgirlDLZZiOKPPyiU1Jp1Q6pp6ZnMYeINkOXkmVdaGG8n4RvBp29jT
ogl0+esb6eLtZmzMn1JaWRW+LC48K8erPRdt1izdVhc3XzQXBkLT+/T2BnGA2hduF/S7w8JF9aSU
r5MjzaN/oSkR9qk4TVdQrEajDtpsbjozLwSMYdMuxFsGU2fPxBKzNeH97RgSTMswu8NHfIXFC7Cu
rnKRtkFNXLPFu3StVDKt6BFA9qt8tUEXpSpjO+g2O0gPzyXh8dfEZzBZ7zAefVhpKeImZwGENgq0
cX/Hk/5I2e1g6bOwY3z5LAJH45DuzO3EAGaDElLTPXnH+v9BfgtpShHWFX4iU+zR5rHOCjKuE0eX
inPwIBjaAxDJWYYbSvi2gv9yGa7fkjRWvFLh3/qGIMyXPZUG1rzdDBKw/ov587RIsvyaMXZ7DIgb
NUmshJ5lHV5c7SebUiiFKf+0bw+kloyu0yO4Kc0MOVprh6ZXT6yu2EZYkM1QZwAw3NEIhJsWHmnH
5S3W8KpT4nNPmeuyq9oAF4KXrXNclCwAwwBW66D22FRVhA6/fFpCMejQmM9aVaCsY6NsMdN3nC+v
Crahk35sBTWY0LmvTTpviyyWeLQVTVcnTQ6BbEKCgtqKzOWSyrsUBeP7ZGNR/VwWbzS1Xogi70Rg
FGMN5UcEA6Mxm6DydDWs5MT4XiegpIM8u5Kj76XN+Gm/tl0k3Y2W8TGiXQBif8qjJ5q+KY3eh1mb
YCqqXuHPW05B6Hv9GZXa466jRzn3EuuqZHknelI0a8fN+DUGYb5qVXq+rK+Gy709Ds4Fz/bvGgZS
BJbLSe9Uwq0omKFgbRIBT9TBvzvlsTQyppFP3fBZcIV5hdE2PDP/xWoZSgljg5HJQ0NI/4+C/TCW
sEyNegfujtPKR2gWo164802blNe20Rz9yhFrZ8daZBfgEj8UndkpGBWlCKTW7M0BikPOqUsYvFok
+4fxZzuGAzJAJ3jcdV+GhQk7jlcrtrdsetkz2ygjvmSI07fhdnh5vCl9VCKsV20N65XPrCV317ZQ
JTpGjfxn0aGy2OSd4AWgMdxdjDs4HMOt6MOQ/sbuguvDPa2aRgGK5TDXGwk8hsnNmCsXexup1A0c
AIq5q0RtEuCQEEBonRWXPVAc607Cb9lXhmHmYdN/h5131QHkhv87BQnSS39iQ0RtlOgaGRuRULio
W6mwiUC1dxN6/Ug7h03fhRVu+83oWu5plDVhkYj8d8bdvHcN/CA2dtyHlzQkNd9SVdcSV3IKHVeK
ps0hDZSCfilBfl/PFwp84L/srWk0nZSOxhVWLnxHD6pwgdpECUt2YKbEXgd5f7AELvzyWD4Pl2m6
KUvVvZg3sWMzIBBzHiUumcpUtvUTmZT7zJBOWjuqKjgqvgbz2NcUPiTjxtdXIw+LtqjPegU03mxr
LtWsrVKHmery+fNmRTnYRXxuBmEibBF6kefr+zif71Hn3S7TS0USXIa0GGATU6n3hqWGKZuyFrxn
oBQ4ehKQVc0sSueTlQJ2gzmiLp8OGwHWWE0a1CR600jVJNdxCiya8akltJdCyp0H9uNxg1GRGo7V
7mWTY2QXt4brwcLpFZVKJ64LMH5joa9r2+qbEdDHrGZRS5a9Rsr7+rkDHBbX1uCvhTh+XRIEec4c
7O04GrfRvL9El3vTbmbi5puhqxb1rKcCikLEZiBrD/HVAKmbMimRIXtqHDch9qQHhnkEOjTFNEeg
yUR1maaCN6ex6bTvntN8etyWZbXKaW5ux3JuJug2i5x7CdX6VHwKKZx+oadtWGqW1eEId41CpKVR
Nwy/NoAkZ+c+j+Nh/Gk86ces9T22Acq5ikNxGe523zAa1mdRVIWnEiDsAMXa+ulkDMLL5mk9A4IU
AliGd2IRj08i/IdSSKZ4vwoBQM+dkJh/UKl+uj4cG+5s9TPW7Wr+ldmbZcdEU/JQ0GB9I80nXhs0
1vQNp54BJa4Au8QRxZvhsavjb14N3oQ6qDjPNjlXh4WcMYcHxYZXc3yoLylDiLlomxNQbqaWht+t
7/AdiqMrMasOss3ZW8KOJ05isNbWE+TzXSMySNzPH86aL9/fkCFdCUd7qRXU5tHoyZhQUsmZ1SIp
uh2BhGj6YdEa8DsJw+1yK2rrZM575H0Aps5NUmpWtbSYdYqwUf5xPU1KC3amgNGx+K6P08hblluw
if883Xa2i8OtqUQAv5qGUQpPPOZsAntESZDrhB/8Yh7FN0XyCnkykT0yP+RIObEwuwRGnqzJ8G3B
H8Q+AxRzwSaUMicv1q2KP+n9nFjQ8531vvB634wPTnx47p8ObgiUsmAdzjd1+tStkDgFWKPM/PxQ
BPm59pZ1EQgYTqOFDizKZvwgY5Ze8+sohCj0+z78mG77McO8aKdRZlk4F7jwC1D3/oxlSKixa5/B
5rx6sAA/jvtEV6Mt0knTmDeLpE+UzeX1xQ/2Qci3nvqePPieMtsukjrXoi/C8cbsYpfrcNtxMX4B
LJE2m9Owk5qWxOzuomcjmzOaBGdDoNuZ16znIwTK6KnY/44OlOahwrZsRh2dZJ/lWOvgfNTHPN7G
yNxFWMmiN4sqJFTiu3udleYRWMPmm2GNNveAVOkL419UrWsE4x/ZGhbGb8/GuOBI3BxLGuLG/MdB
DrMWFrWjMIqf0UUqtoh3HCyExQhT/JasnSuqoCc2+PPQ7AI2zeED5vhqNduHhxKHH/P9rYj/Pvcy
Q9VWYYWVpdMsFT/W3q9UYvavT8nfmj6IVmZQGAt/YB5IF37ifGRlmVy5Nr9JntnwW6SmR/svUAri
+/LPjc0oCPZ1M77EcTASGr9AW4OgY0OeZOs6EY8OLXc+Tjic9POAuiIuW0waYJ52F3+3h/xf6vg5
Ff6cGCMBllUsr11qJ3V4aYV4OPFT8Y8kaGfYCnZcrgu2AOJ6doiNuf5IAhFlx+8JoJhdIz0UxF1Y
pPNwuXwSfv/v8fuvMvYAN1ChJ4mEya3DfF4UtZt7lckGXjxLU+L62JvzM0uDb3Uz5J6/VXuABdM3
HmrlP3dYUnQl+JH+0CD33bSSXXCpYlW5lH4/NNAvE/Qx8rwdlsfr6/mnce+dVo7faSPdgbAk+j97
FvSXCh0RDqsfLIiUbxcIjkhXQ/kc5JmxDMbXZ7fC5trH34piGWt/N5AxqNu43Y9hZ1FQvF5kPQCi
6T+NBIqY4gdYenlmOVrzP8KWKATbJF5EXYUrWKp96P6E7InF7wwIcroeEeUZf11eu0JNom3jhlIb
cIMvwd8cj9vXpRgTRHIpf+KsfdsvBYZ6elUSCbgI827qreIYmcW/jUeQ+ZNStUEx8NLEh4mu66Vs
tD9pFoHs1WOKlBdFUsoRfQzPRkcyo3h6hQFFiaZL+bnxlbyYPiFPQ+dW85KY8SxDaK1bZIfSKuuk
FtQAJ3jKnWQcA2NGDw+eccKihe/XUdKdQWMuFrIQ/zFz0qA0UnS55cf6fgbLAO/+8DoAdxFNjIuv
1CgCuTX3yRdbJ0MJHkTuFKGiVnzk0CDOqKTG0y4b1iYjFcrNm9OEGaQp++BdXdanKuzyNo97zbb/
cCx/2CkN1O46PeYj4SvYP4NuXe7z4xhtzvUePin9VYj5Kj5de8Emg1jAl3tVgdDyzg/ZILw3pHrx
R/4fdxVNwJ9y3MdwT8wJYCu5huT4EjY16pawAsk383iJt/TTLgq/hFdgbIkYVpE20Ky/Rqlot7+m
ali0MQ3X6P0axSr/fAcOe7JnsdovVksbWhfTv6talynr1X9hyxDS9/389n6JptlppXZdqc5W1FNc
Xlz6FHkzEpRmdIFZcAXl0xenBKB8EgAaALZ8MyeNP7EJO4L53QagR5+jmr9tesmv8b99GU5K4g5X
aCQnxO0Cdhb9aetNKevb4T89WCUQpeTDZfJQJ2ebb9DRf/gNzJRmlcVOsK2wtd4HbSfMvfcjZdlN
XBESjBhKcI6Ve2Eefo8fZa/aqOvxZIlfLKLN/4uoYrQvDRWjBXN64i6qh1jjCtt6IFxoZbnKqthU
I8ffhOz8Pv883y/rb6MT1To+vsw7UvZ362hZiy4e4g+r9zOEcC2yIzlfjSyf8Wcurtv1OmkVVFgy
Y2OxCDJgmbbwvO3CxCFlD0351EwasRWe+HK7IPVvtGUCNlV3T1OknhZKDFlra3ZWpESK57NaLuC7
Tdp0AVirKJU7pJWCzcVP2y/EPBb0Wg/Oj7IrUWfKzVzDReclgZPP/S32YCd6G4yER2biSUhNZdEJ
Yi0bZsgsb3hkGOBGV8i7cMBi9byC8vezIjxo6Su0Ug1efC0NMaM1/opL/PV8ehuVXfTiHDVFc8SX
asQJdvZ1ouoHwAnA8uK03HjBfkssGUeC43gJjf69gS6hEqFFEsVQxLBo5oe1IVym66XzhoTjZfxJ
A17iksP0iEcgZrefdnvRN9H07JdlxbLf7Mb+ON3v40nR0F0eil2ZurIifmW59CXbpcBp8Dh3TQLq
tDAdz/PxEleHbMggqyo/K7K43imqcEyhNRtIDf0shZDmUUaeNn0nDVHl5jB6UR2bfclQP5vjeD9f
4hqGDUxlfDDq/cQvp5GGZwbPajXRpD3jj8kfCqrRtuoFMQYrr4lxKzka253MoL+SvgKfd4oQ40Zc
jJy11GJMiDtE1LURLyHuHeR9/CHY4xmWd/PK42+pZebhiZd1MN8zXM6Dahwyr48Zeo9v4t8pQ/KH
KDgWLYQoN8GLnCfC7LpmgLjFrONrBWLTxbeTx8UmONoyfrSVYvmxRkFmBWsML0Ydw2Dq8+vriFwj
R/W0ilZyn7i+KOP6IpNOhzDeCcvSsZGvVKhlr9s63HYDVl9wFWKH297m6fSARNcEaTPNa+1yr6aR
TqC1f9A2CJsVb+8D8fHHXWgmDLwZhBlSBy7T0HSopbkDjBCzNuYAf1jM26wt2Bbs9RFOIHtekEzH
Pjc/z0NvuExEHvFTU+Tf3af1uaLdgOg65uEs7yLlRdRxyyK/p/PpDA2eQ/zWGmkc+OalJSWfxRn4
anrJj5+HjxfVle/DTyijtw1tyu/TfAf8cFz1bvR/zV6jrUe8D+cZb2ljpOJPzj8X9Epai/z7Mb58
O9/3BWUdN27eqgROgB1cdZmmWd2OfyEIEW2aPKbM4/5nV4fTwZ/t5C+gixSdmeUp/yyPP6VOsWws
XQH+eNJr4Aqj8M1W29VItyYWC2aBE0lEzMo1cSvnLRHDd273o7u/LRuzXWNVqxbyAQq6Dt9WKQUZ
bupaIHbxqyrjgUpwHnEt1TbSJPrteRynGXoHr9CVTzcfPxt/S2WG/9GLS9pUREqAeFCJBcBkKB73
cBoWN3hAY3Bp9/nxcUtZm7ZoQiuhB1NxTd+H+8kFZ0E3oB3bCUMgPj1WlILkWTMbSp27VUTxxF18
5l3HXHwK5BUXvxMP93mJ+EV3WdyVdT6+ed9aAqhO+xPvD5wmEW3vRn9i47xqSbm4Qag2R5IpQSqG
hvH76VmMihsMJIY8L5S8uPAz5cfGw/FXdJmub7onwB5Qu34Qv6D/dqFBmPBf/oDQnPhzbP0hQ2Gr
yWISE1eDXZEyuf8db0m5pF6Ln1zmMpHGbWtvniCk64uY99DH91EkMxo8R7KmmG3LIXT1UkkzSmKN
jo5XFk2L6Lt+VyjgGQUu8XAxzyS7Fs2Zur+zLj1f4vv2ksfwuvyA/xMX03RDm65NWLbS+D03Sj3B
phR9+UwxRc0mXy+8RqzczqMJYlXRKzaHHg44+Vd2QnHt4rUm4qGCkyEPOnUwTS/ZaEl6zaWPLg46
vE0QIwLZEvCgxG/ff2NewT22dR7zmeI5unaHcfDxGn13ptVcvDCwzhLh0bdxmRQtnnMlptdXpI4x
z1u3V12hiFOwlfjXdNWeDGbgUeKBxwWTiwQ28mYRv0R5s31gcPKosorrpCJIVeTR3K7ilii+dmBk
lO8oFXfdPndEEsRPs5a+I6Vb4y+qFUMQynIUcde3TqYnJuietSlHyFHFnYlOkn2b3svXtFlK9Hkd
nEZX1fF0edyJZg55idMlW3YiuXIiWmC6FuIAaAYbiRuEqg5Tnm3MGYrHyF2Zzm0ji8vL55qlSyZ/
8kqxmpvAOxmp+LOqQIgrKQ9Jic31yDQFk0vpH0TuTtcwQ5yIxyupuL/NQloYtSZFdSE9c56/qePJ
rEIqhAYWlA5oha0zoIFi2/2Zd2CkO8sKKiRr4+fDsmN+wPaPeVqJpWx2E1nR3YEtSMijOA0de3R2
VkUXs+px/70t43Gn3ZYlP4prIi0LzbA5O0A5PCOJvcihh0hJcXSs465UJ7m6tj2Bbyp+rmWgk6oi
pkuUU1XAT4HZVNQRs/+e6SwIFufjomUUcqV6bqWMQNEbIEX8ffaKrNBFG1O6YLcknHf8npkma9YW
O+F4lNCV1eKrzfFsMqxxo8EEt0LSrjKC+9lTzvSvkZF7P2G3nrBNyIUex+/juTOUE8h0X8Vy43H8
QbYpIce+9LQqyPiXtuFStZLdibuFVf+k7C1/yAEPCH+zYjvDfwL20QXMpevoNNEvefuyFoarKWzs
jm5GxqboujXBMceKjtuBMtCKFiz8gpbmyddogYdrObwP8Bbo3yQo2lrOh+etH7IVgCk4nheVxM6l
54l9Dv+jssSgHzcTNJ5Qe1K6Q1ulCnfhtAZN1aG5mHhSmwyKsmTRSXxv9GHoXpC7azMxMJBBWazK
JDpD68hTLprIeFO7qviHggNth4pgP830eli5hxMbqvlkJHB/bG7R3P/5thgzHpcie+KMoBGKZ4Ub
E+753JSKt5Uddirw34umiJxLcjaNc6WJynL1CxHljBeP0w6Nf4ntGvcdA5dcip1Y+rCc0QZG2bf8
xQ2zPWxOs1n52j7JJfJ+26g/9doKkauRznyefiDaALSMduhMggho0PxXoMIOw/H4+HhckGf6PgGK
O9rekrNZziuZZb0VhER/sF2FfRrltOrtx3G9lBYuNrkEr9KhDFGqoMdonGfXzejzq/YMFLoVexOe
8JJ57jSX5TB+JLlXW869mpc+hPV7ONOk4eN0+0QbjGRl2gmyLXnfyxbrVTfJ/p4JPJK3OEZR1HmW
MgV5Zb+gsMo2HKpUbD7SWNw7iZi2M6aLsV3ATkRh2tjqYds9CzGktmDpha0p1xEaa06aaGo+zqeT
HZkRxaFYWetl+k2mxuyoY8jYR2dEWE3GB86BZrW9Q07FL7fBzv32eUvnlqnPtBRZR+kIgQEuZcM4
ASqo2IZzqB6HeQyi08NL4sFXbEZSj1kGO+LTuZgWGQ13Yd/nnqutmKwQjKFleiQso6B2irIN2Ltl
28T6l71dO+bY2JVx2WVyK/Y8ofRaZoUbeg9k6qd1NAoQ0EULyXatXpovZe0J2rv3YWFe+x5HLNvq
X0uv7UccflkjMbJqZCjuuJK0RfxzLAlh1SRXSsi52G40CHiKIDLUcJQwVWzmHKojp4+AVWrFc5gH
m5jO5YIbkgpS4dvnFIrafVLfPP9Khqp33wZalz5uf6eJvVY+wKu3tGfcsN4vO7yrppY9GLi9kyXM
0cc+2HU2VtP5+kBLtsdElUwHEaix/K9t9MIdxsNp2qNyGX0yM1KrL5x42CXTEBXx36w0rJbf2CoL
awSG79P5RLQ8sLHENxfN00RV345MESbx8p7O3+3Hz0QQ6kacUniIb1f8O3C5ufULQZ0wot3bBLNt
0YTBcQJV5xzpKcNVHA0QZNSwd8GNgHosgEGmfT2MF3FG+PdvkUwvjHF3RBJdUAaiFVzXNXTM0DXT
NKklupp1UlFbsqKbG/fgJuNFhzDiKLbWnxHj7piuSPtNLTx+rtVlWrClzxy9WSde6MGVu0r6WGRK
hmtEljL6dJvgxlGUxkK+wXxuSO7TpOd4xzgcQu6PlMm55QW/Qh0biTQG82TezR/RJSazdTq6a8x7
WjJVo+uQRBcE70GHs86vQeSy/WNLTCkiDXbmN8vcWftTkv7Dy+PlJdbFQFzajf9i30FgaWTSj8K6
1LgHNgzKPwqYZwBH9rje58eCkwGxB9ve1RWoZd6nWXkwhf8LvoYO7O/Ilmo0CB2dMnISbtaxInV2
qGcjPpYBguF3YJiP80rXtinRrdat/uxtwhlz7uwVLVD43QBm0bIfWTVlPokOBeetWOf6QKzyinpi
wub5gE7Tx3U6jVCnAUJZILlcH6A7w/FE43L03n88RK+8mBs/XUmGlYfAld4qqVYtWAZnY0uiDhhp
gFbSAEgkjWGE+Y9vh2E2gbBZ8vv5Le6h4HK13xPz9ilvaELomXx1deYVnnsn6k3hBbwO30biulbk
wr9GVnO5GT/QWMYfB/gv7wCAAYb5wbyiI41uRKOGL1VZO/cbZQxj3O7ELQ17PJgpoKO3w9OQ19Fo
86uiCgv/YPgsIBJ4a4wB9QK+COksRdL9IfmRq0/7mWhUwWlc7vP0OSrSKR+68Uto5g3ZFiD0P2iC
4PLGuK0M+x6M3FMASFHBdEUTFO1hhZO21eqNtjNHiyM28WSUB2oeib8plv+iYgek0eyJk5FQjriQ
TAv4a3aBqwml8b+h92Y/8OwiHvyXxtuK/YGOPZog9yQ8m+SZ5TnT7XxcBcjCd6NUaOCz2+TJPGlo
ZIvNn8EVM68cGNGTNa3uNoiYFQLxM04njRuxomokZWO5lqYZolI2jTT+DuvQ7GTCtrr4Lso2FA5K
6gBBGABKaEwdnnloFqPbyRrJI948HOM/nq/KqynZY0ZxyJ4UMUx7mYc3RQd7cYW8vU35W4fvMS/T
Wgsb45fuJlCSloP/nrfSVux0MnJjKIZ9P78qwsTftJ/QSrtbeWjVSBW3V5XSaSM5vvPSozfF/HKO
VzF+8zw6D9RNJMdxbNbxi5qTrq9CT7mMOp+K78nksV+VHQSTh9PLRfXU86L23i9N4JHCMcf3Yx+/
okIadkfgyFqV9/ZuPKPLp9dCy55gsWdquEbaWktKRA/rPg/xUKdv/Iexku5yporDCQdJxoc54df0
Xk8w2nU6DHqVutfdM1+BkeXyB6U8I3+r8C4tqewzIZjRn3AQ99U/ghO9UFPO0dnvuAUpJIfCuQDw
HK7j5fB2VMx+IVkNZuNYRhojNqOezdnfonxhuC3/8T2kOlxN37kAL38nJirNX+7ZtzESvDC6UHzI
QnLSTTxsDve7TZ+ej4pGZn6iHyL4lUjbWIC4ZOWSZ7GmGdywaiXFwMIARD/YlmI3QxvPWXWze27d
q1W6XRhDo8CMgz2dPpWQhikMT9tA6gfH2jqxtnPEDpTRAWlXfW1zf17PIzVe44JqBuZguYykamNW
mvn9odOQZ4rX0GtBH8UhJmTF7WE8ohwaMxoexIUfA9m/02jWS+Ycsnoj4BlTrZ4Z2KabVictKg3M
N0NnpNq+l9WtxURa3KvNi9wfVZCLJ6FEssHh48MY/GNCQpmQs5ZXmMV+gNTlcMEREyCl6n4KMXcC
BsRaaDcW9KDp2jzLmELyE6zwE8yZ/E8UhPH0J9UktsysMdYEohe/Q3cInjQKw+OmZJzqwIm1GfLt
0SwuhZagiqZjqoPPq9X4gfarRw8sFQOvp7QEfebgzZau6yx7XcxZLpJ1cX2Mp/OwVsJIGyv6Nncz
0FG8sdzUZhFTeSgVYyluhnvGpwekjg7efioOMXO0MZi37MDhm9OPp8iZ8wgtkkVXsLdmTTjmXEhZ
qmF3yywCBGiV9brcjQFjCFVbzb9ZlIfibx7O2qKK7X0jD9DBBc7x46nETJ6xjH80QdC/E9/91efR
nSyooWPu5pO5EMCFWcax+cs8GVmn+JPmfCk55yLM5NUx5w7zQZJn9y8/Y75TywwNmzy2TYquIITk
EEH87rZkegcrhx1Pcae8qZpF7hmG75ltJZshaLuhJ55InzUlC0+xsTmP144qRTBYwr9C3dfsyg8q
OUEWwTdr/Zk/a1cq25MJbaQgEyJ3W8pDhMJlHOJxB4tx2djfj2l5jLgOZEiolho457BRnS+UIpNS
eljm8TwO7qETaBfGt9pnpShWrzOw0JOt79S6x0Zkrw/1wHrJJDItiJoL//mAvv+gf2DB8rTsOqHs
qbsbZSXllQQLUSkWgoe8K338k2gqsujPE9wf24J7nEd4YL5qiPN/J0y4DTA3Vn153CGLR4leaZ3n
o4my54MRBfMU38835XtLKUwPfStjq6m8DTO1XqafiuHIpLwtC0afS0FxvlAMRFleDfWGTQLQyLcD
T9TEd8VK3gwz6upG//Y9aXZ6Vr1jRRvJA1VGONMJ5UGlsQqivvVoJnZMiZwYs9VQg2u7iCMJceA+
N7KUSqlfsY3JrEe7KVrVNo+MMAarqjXEAE+2rqHOx8Mmn60LZ/FWCm8hCYeYZ3CK1GVKnAH5I+1R
ud9OyuehBqQ418YIUMVwyVK1FFJVkna1PP+s8KS4TI1U3KbdHKeHpneYQkUgeNkmnJnLvNefYZqC
kya7krFjwzJ/x8jYz8NnXJhKKclnnVXbtg/pz5RnWedSMdxlcA/D6YSa4s+pcgKLVpkBMAp0V87S
+KZNGDSXbmr5HZPkvyeiz7kBIVyXLZqAG4NVCT0X27OqIA7GcQW56TbScFGwEdRD/vFhZFsZk8DY
wEskMLPk4n9f4LW9TDCteLQ6eVSr3z0ryDNXbS3YgErV9XrTSY+LpfGQVR8dXCWVJzqMolfcKF4x
r7tiLTezOJvfo3rjqI2OJ2U2dRxUeXasAAiFdUm9j3ocMGGnPqSsqsUiuXNs7dmm8n1sm6hIG6eX
UUJsac8COKmjeNAioCwrJYBDULq/vcdGQlM1uRW/i0ZKU/O1dUtSFSO2F8YbbRzT13kcf7Po5b2z
RzDVzjB0mFes2cxDgANdJzttXn8PLKXBqJEIjQIpg1RCueMVOl8hXn2ZVJjK43Kfjt5ULv12lJjE
HwjrakYFahNg1g7b4iHmgPWz4RG4921XecZXh38A6VkUdcGSNHBcVetGep9dyGUhhtZBjd9WHRYe
82f8CMEETmvgoQQC7L35CZVPkAt7empVIW8yCT8Z5uobJVVfh1qZK5C1SJwy51ut3OmitAXTKgv3
kjulgUMdQnwHPHRT8ZQAG71ycJ2EjPidNUvFhLC6MOY3mjVlIPytDdwkcW0cHudj+JgYJgFAueRL
0V1hnv8Puinrc0kfhvCA43CDypgSUHVhOsM2gwMSy3qpt2FOx6CZiD0Dv9JpecXgeJll/HCbWlM8
neWlskdNaNH864Qtgqe7KVTOe0tM4AJV72YuQ7GWDX/b+oG7VirWlRhhEyXNv7JMtS6Dw7E54IF/
cXSF2sKl8ZO8f/U4f2UXuf+YDXCN5j5ArpbAW7vXrC1NEdbF/dzOH+PL22V98l/Zol+OwQ0py/eV
ZZp1GSDJ62vXjLSCq/ctk/kDK9ggqDdLjkCdZl+RA78vljP6fWtZsIA7qrWLa/qSaNYWDoPfyMZl
8Y6Lfeu0fjveSlhy5t/5hbUk83bJ4Xr+GL68on+H6ELUHOqFpvYrX8wW82aAY0D2yYQXMkbs6vyt
ryxUSroq9JJ3rlRLr3BtJ/vSmde9l3nMpOSutjZ/9fu8CmTIH2pIIOftK4vloSQ0Lrw+sKLVzqVa
6SF+XZN6o4VdxQ3r1DpARc35gWjeh0vcsPY7Qfe+7WRH+0+eswpRXeMg3JZnzWmj1veAvopURN+I
cG6hsFIodaY+xNNx0Mx37PAi+IwCmKnCqjTJOvA2gStlRB3V/WUcFJB11ojJmk0DjVkL2jDifTON
FAq6Ka5ZVsYzVrUUGZFaI/iqbb3VXcFCaZlyWCilW6rKZVwO/32thBlVPMGTLDjmLYOpwIOsss6L
ghF8oGHDBFQyZOXX4KlbfKXJosxu6zTi/V1ILIvvNb3rv6T6AgJ89eKMWagOMZCVdFOlclOFnKAk
nWVkP6WwKKwsRcDapvFl0RpfGGQ/rz2o/HE7GR38Z2x7/dM0/4/z/W8apqhgFQUwyj1HA5E9hnu7
m0hvgBTngf4vaVFgMJoGgramLzdpd+yrOrvCuxIqdVIbTXhjrfI2GqnWuNEv8Gti1oL/Yq7w9aE1
jfW1WKNyRQCkZaBR8v9mK7XxlVjHHvCN1yEK0n6mieRu43zXcKOtFFhv5FpJ8bCQkn3R2g5pEb4j
FTZcf1+85NKEqzXxDHyuWE32TYjJc7W2bfJBT37VfZgckZ58pQhQGcifNVBoqh1EilgvMdKCXd2n
x3pkyVSx0Zqt5HREKv6vl/GnUvHve/FjA81yvgLe4/sehV70UvEUKhFvVFF0CLh4JryqRJuwolmg
x2lX23PedVKdJMQyQNA8zOMQz5RVIr5axmTeGIJNh2byBu/K1+j93h63H8N8WviS8T2ydlhUX3aX
zlqSjTu5wpDnpINu1+GWLAjl2cYINj5ztZB2RllTuIDJdmRSuntbV8Jx2CtKXXFD2FdjYGdpWmBb
cPhY78I7gs7AZIaNNQSwdoPpSq6dVa/4rSu/ilIiyCQnFbs3zh9oEu/jnqvNc14hZWf2WG4jaA5U
iYotZEB3yPlWFpwKoDxCINgWZcCXDPGIpGOoTZKGLIoqwYpFsoewYwWebTgxXu8unsBgIJmhzapW
riOnq0VFvFxUSDBQxFsGRceEv9wz8FKOfnvFk9gHN1OLNmb+6ThpX8ovwjcdhB10rlyht871DOvF
UHoWvzF+3IxeU+F6XVvIUHrqD6MTV+rlYm8BJ1R4fVxJT+EH7aNX4HVUT9QdHM/fB+M/Hufz7b6j
Qb9j4JtgcpzdprOUxoenoUD3Ie7l8MJhhv9pUbyxNn3UhbZzR+nU4SeJc2i9lUIY7s93ExLftHgp
5xEhvCA7ZsJKOmVDCEcDtg00P/TWKnGTCOo5UcSFpasZDwtQRufX83haTXEKyddIofMK8+LYESXa
EHvuQjGx6RVw0IZTuh+oYx4169Xermlu8vq/tM6yrhfLk14xkkqcdlAFZTw95dUiUVj+H0tl+X8r
qRaGTCwANxSTVecbqyLGkg4MM0EytYfVp2chokx8BEI0EYfIy2W4avm1WloKYVRw3ydjmQ+Bo3hN
uZs9A8UXHSqLVeTRfQaLDwzCBxhHP18+fVuwreItVsPFoyTe0dqCpIi+KGC9zT+PSlWV+ToBN78r
zOO24L8rHk4hxY+bMBn+y8HBOuMhbSmZkSAEwYZwBVDvz57V/GI9XQdiodH8HRMEhhj9dRz221px
WL/Spg31j8xq6SMJvgfB2i4MXykVgVfVR997woSwovqq0J7ZEJlglhZGNRhzq7AG8aI6sZtbRCq5
aWQhNOPfZ220AdMRJVynHZQbWcm7ykBdtblI20BzS4yNvjnKBA17lEvaYSekkbk1OKs036SW63go
vonrLZ6W+DCw2368vBKRzOOoYLMzKTNDmuwFwKJ0FokKBMOB2feVldHqxnltdjNOleKn9DIAi3Kh
548362do3fKdaLmf0fJ7sykFYwTCnlJmbulNeoCNYmgzqb7yjGONRxvNhoMi28nQtiKVALWtUTH0
4YuzbA638Xg2Z/blVtycCSvO1CtlNaIs4C8S0GaNCDTciUVnPRms42FrGFllPJGcKcTE0U5Kr47V
R9ioBgn/TeTA48W4wb+N85RKwxTiy47FDtTIknrnhVjP2uRxjS5O5f56TqLCZlYF7q8Rjht9NSMv
UbhdCsljVPTPfFRcPjH5FCEzUEStlYJmejH7ex56FsajiSmefB7F5hVyWzfDnyZ9wJ41SbJAeb33
5fN6fx+BIIACD52WTWRmEKOp8x2MWPzGuxhEjvrt8MG4UTAaXK6WtKk3wlX8YhopuR4m/5VyH7sb
ZuI2ZRWlMsuz39Wa/bapIsv4hCyD0KahpuJ5U6cvQ/gjyONHUEoZ+G131nDDDGSiOavu49X6hQDt
vigQj3xqUS6IRvv//N8HO9eDlXjiPjQrDFdrV8K2dJ1qAuTkDx5W6nrO1rxVoknfixokQ7uV6RbD
L4qdhvmbxnPLkqjg9rUFZ3dCF1wh2u0lfLUVNUhzLof7j7MKdhZLpew+A4aJZNdJIRnxyamPA0yG
UQqarAjCNmM3sI9IzkR9mZTzZQgVSk2nxIOBBphyxdSxb9P5YV7OiFPYFl8b01fuWa8jS5pTS7oV
XR1R3XM8gq+Obx83Rcg2Ka18p+iQmOOyCk9nY+W9W17PsLTLttHYTcBWaK84JWePpI5cAVPaPwn3
jhAN2UahNPllX0qiGNDuEI0VwD8YnE7JlYtFUYtXc9rmPv1yV2lza7G5exdXFHquCVKOnIVSZYHj
7TaJpduwLD+m+ZRqsBEN0FNH775UbyYyQ8OXha1oib6qLlQM7caaxgM7xjXFyhysQ3GYj++pA6lD
ksPcK1rKUVPTCqoBgOKtwb5iwTLJDk5X1tWg7CeXrHpY+LG10oRcNyHjUb5F01FJWU2s5VLcQUKN
lHAW1pYCenHKj1jnjoLIKzfbKJgttLioVAk6Y6g+UNP1qk6dPuSh+R6iEZZUCOhtN/6oAmapyq+w
ZSUchpwBQFmaRIT51MpN5fyrMvzPPJ61gZrALpp8RjAXjmWyhJfkl5kQCcAOCjCBs8t5R2bLcIQW
QOPiKLKwd8mastUofo1aykSunLcV9pW3CdYeY1hSvD1tip+TUvd48uZfKIdfS2k4IdZ/PwOe/fNA
CkIxRp1IskMS8pwODoh8SGNc4ZUhutqoIyrFuv+LyjHOR2t4OVLZLTTcdZNLDXXMTcKg+DoFpNfU
kBb3k5iLg3g1m+NC9fI3/O4RDAlh4SmSQeN7HK7HMR5d8YyNz5yT0iItCKmkx82c+Ir8V5qie7FM
5R4A5DewOkSd0Q56oslrVkkekMf9H+LD4NB57sLhDTVjeluBqnFACT/01sO0Nv2VkHoZftr2sDSj
dyvl714vwxtUGhca9eUzQ/HIQoRi25Q6Qm/RmFoAlKLiRbxSmAsy//2FPPo9+ItSwp6tfNV2HiOM
WwsVtWI/xC36M1IEkoOUV1q9kDdUr77VuYhu3NiY42TkUClQsTNBn7aPY6cUb6OTjLFRHzBVUR0P
kTFqXkb/MxEJvcYCmWebQkn+BW69daqcBgrk+Tc24okl3fcA7gtOSMfgK+fFKO1P1P/wrmwEouNV
NsGM9ObzXHngmSQxq60Gb0lruslzzvpee0Zx3rJCTuU53bbCeJvQ9FtjtIZkNm+gE4GWEqI26lKe
xlFjYS0kPtB5PIIiP61mKxWG1FHGwBUOAloG/w2ilsw2E3OsqlziZbOZMM+AHrcW9Q6AvhKPZMET
LauQJObX8/XXHVFiJWb4jJkdPs3p4sjnFd9x2BNHsxQBy61wRnh45GZf8QSu3xJgNGpuwsEjSKdB
mjySvLUAc7ojh6ZIZC0ZlKbqVkrin8vFkav/jL9s0b0Ro6FSqWuxwm6OJPu5QGJ7d76skvbKpBy7
e0G5kmFhr6foLSEUZcwwuUFJUyVdtim3cq7q03in0UJOI8Bm4m9GJEMPTwLwG3bNFLMv8/awAcum
W58gwHFJq+V0pFQVdeVQDFcplxv3iXIpV2HV+Now9RVXuw9TD7bhN8yQ+dR14k0wLxu3t+G1R9AT
MBFxaL0iHqIi/KrLoOGZeDqrQvBrxonFFfPat6I/R+fvih/mH8YlgcvqGdaS5G7T/ZZoeCx4XdpT
owNw1UMN0EdN1PG7VsQGmjcDiHAXAA8u7PwxT3TUgOGd44uKTbsB9VIqBdpLUnCakEQMeBguw5KK
ccpepJd96mBWgnEGC2TtdyJjUyLbxPITrN8Ekdq2Aqi/sqLqpFg22ApUYmBuqaZ9+UBCZD6UOx6X
90GvLYikdFty8D/N08dfYH5I/I5qafLl04SgNBq7fuprQ09jIaobGtJ3MXbpisBc8GQWYyfuBznx
iBG/TYaWW28IpjZTleQy/oRB04TmwYH1QJg8Q+PV8fBhonr8d9G/4FJ+ZZhFXmdGQVpnofocFh6i
C5U2Dio3Nfzz1e6KWkRu0Pd/ounar+efY3zBylbWyk2eAd7fK6SxwC4Qqwc4pvEvtPdSOkxPzb7Q
TqV5x8d4vr6Pc6TaRI1unf9EELnCytwV2L0xqYbottfzEcBfZXSh2tb7MG2H52aB7uTorw1O5O3a
d6Cs5/K/uDGo8RdZz9lUPobFvu3D+QPMs/KRTmWVYRThkWy/Lsb23aEo+quVjehaDpdWhrl8fAku
qR1PNtED8Cugf9VZUDTO35mH0/lBISBOW3fUrS5Ndxmvb4rsu7ZWStbisdnkyDs1oSLsBS8hukZr
sa+lm6FSr91ubzNMuV8Ze5PilW0fuz158KPXDCRPbMbHBeHh11xakTXV+jEoVa4x+DZPiPaNq378
zM4fFcuiWCIhfJM/30cYExEX0s4LFuv7xd+65nHzX86TOaPP+BssvKgzoAPJg/HFjjarpZ9NXfuj
5oS5VtcZlb1Wp22X1dpCtMQXbXtJ2r0qNf/fXXsuZcuesbevrrg5D294Yx9Rgke89sJfO4PsP65n
I0KLcVZJ1/3jcZ6/xRfh1+1t69PIPuAthbDRouTowVhmutPndfgwNshGtXHRKtlXe9iYHUH/uMA8
o1Uj+nGveXzzeSvdg61+nFbJd6rwANMw4turGqarV4DObRkfp+mgF+OpRSCTRE1SEItRDzj4XFER
lfSG8Njp+a2aIq5SyzJUqbZzFYzxkwNB/zz+PF4eJ3MRa/4m/gqKtg/Pyznel09Imd8/b0ZC6PCO
xoFWnlOdSfZ/fjPxiTH7cUXT1oW0A6IF+cdjnAF4btTDcFepJckHyUNt0zzpieVhvI83bK4ezsq5
NFwqib0847aM1MQrdBXoe3KcRmUYt03zzdjk8fSreen35Vd9jbquQ3VebPwYqElC5gJE6mNa7oor
w06INPyWQRRKmZZrxCt6MkJEBXPAhJWcturYCCYyjAiRLVfOsgdoezo85meaP3KEv2cfBWq7JYro
71hL68Z/BewQeK3H0AgciFPxZ7xlAW+GeS8FKPeibbevf/WmnId9eMwXRQHUkjaBQeLYXE+hhv/H
w7gch9u4/MtPMWZpWCKMxafs9xb0G19g0/1MDwTorCI/6ESmb9CgsR+IE1qyrIn+YEPQXtkf5NEf
lBJ2EvqmYj9oA2iWjZn4qUMre/TIcvmD2uif66VJIuzPOckxSjH2N0spCQ6o9NjffAalJwOUWglQ
GmaSYQOVZx007sKqH3Rn27WOlK49uHtSx+gcmSPp4hqL7aWBGnRjxy1MjzsaUlvfTQU3dVNLfguC
qO1SSlgjGklux1E7aH+/4n6Th6HF2v0634FRhtNVjwhsvN4xqAaHK2GAcvbhvCua3QKYj3i46kgx
cecQnZeWR2WvPlcEhMc8OPLMogxBgwO7hOo51DVLhvixzJJ8FYp8sYiQYPuZLdtbLkUoZc2LpZgA
fy2+FjspQuTaO0PsDVKezacV16U7snXGDFzmy4NgxZb3GWLy3fFTwfwiFqkYXWI+DpJFbzA8ANNm
0VFNZCBb6Q29GkfqfriYcAkBUHfdyhYNe0weKWudTGIV4WX0uFw2ebAbi1RHGBbWYdVfu94xfBbQ
JeGYb8RIRoleuGpAc/TkM7jnYeTnZTCfqToMWXjrDnNhYsrD9fHxokW0Vc5iSU/wz9/DZdBUZOd/
T4PiimeXl2xIMlXTSMIb6ynq/CjpTaLgeDnfqDTpyR5jY3A61n1Xhi3S8OkmfjSum6YK8qaRnkmY
vYKnfB3fMLBWvr+TEsHgsGMV4kvZR+6VQiXVpb3CTNN4MUe1nGH40HT9hEIFxfpxcemqZpuGpEN/
Xy4DMH8pWdqyYeljNvM1nj5WgrY2CJCsgwU0KOZboJ2NwJhK2rIRQ/bg2lYo4Hezx/i9NSWzlbk/
ayFbmVip9SvVQOZa1LLd7RW7y+4HnMqiVy/+FVo67zNgco2vN98vSq6RaRk8c8cB4Ksc4xX14DIa
X+/ECiFAnIuthvC/iv8FtnfmwWIP3gSN6q7EHrc1TS75S5DreICjRb5BKhFa9iwzxqC2w0/nuEEo
l667VG0buhpZcJkExQRQkbmVTyWpsEnWN5s43pzLDFnV8fX8M64QmCfJKiSBYLkVla3kTD5X/tvn
CgRWXcGoX8a38arcV8lOiDPagbmAsSiX75jyNZduNPhs+QXjaq/tSyZB+B+WVJ8AjCaCejMK4sUs
DKENS9ujW466TzET/AHATdhCALR+EZ8YKLGnBCosKL527kR6HeaLX4hxByg5/FNcJZesvIdD2FoH
p4J5EDuc/SL4sPXVzIA7xZwe/jdkggCeEHOECIIwbsn5GN9Wm/FMNzxn23mCswVHOxzE/oPZ5ssn
2WzEcUTeOEQi1tlBLnmfjXDr3OcBcuAInIYPjxkRXKnyI+d8NmhdCTaDJTHoUosvUvjt+EsEeKHW
54i/bNZf8nLL9kNs+TJ+hbhW6T/FOyEQi8TCS/iVDYXwV94er1eCo8ti7hcGhf4LmN/pfn++HmfK
wgMvxiI9A1zEHyBE7X0nbGJ5vNzncXRAUP0sbHETd+V1ytt4/wOtGedJw5P0v8aqSMVb8sCWUfPK
wW0wCr/BA/ayylL5zwekHbINd/FzutVR2V5SET+OVhKN7e+z+O/5YEZPMcVfyQJNOLGKHh5qHu4h
XGNtNaXCZ/xTCr8Vzndtaz12qoKVjp/RvbDz9F62vJf4TppwJ264KFIPoKjO4zS/JSS1LsL31/Kt
oJj+aZr/jT7vXz//XdGJdahK6CEWNiKODt2s8jrUpW1EPtWCEwpJLmnB54VYfVxcJgtk3U3EsctQ
Pyo5B/rBFrn27izsh0Bnan0I1yolJTmPtgRq7Qz4Teaf7RR4a+FS119Khzac0FMFvaJcHLMdoMXL
uoyqFuU99cEGbIbSxJrmjpZvq4qzFRw6/gty+ie+LPdvLLcwVWsWl/s8fa4rJ4ya11zYF9VFPzGu
vYpWehnr31+Wv8XSTvjrStOdlFpJaIqSXXLz9BGkfu2rOLw83g591VSKMmfKi8oS7qVRbj0rFEOS
STrL70QW6IStreR3T4WzhAOUe/FjIcnmlbovo2qlvXLFPSy8TmV8qZZp1qx1vj7inWG4KyYxlqIx
AtFRQmUfskFSZ6XUfM4x10qOmdXwPVdk0CzkgJD/ppBF4/PLGeyo6rwv7uohxn7D5ev5m7regF8q
hqL8xWrT/7z+wWiu1IYylhRm6RfKFpIZxZOKD+WghFIvJQwwgoI8eTrnVpa5BLbAczDiMruQ0/Yu
U242vqGcnTNTN2uAPP/jMY4s2ZYYsmTzgWHm25FiLuQOI2IPyBp8wc7ZNbCUcIo4TSSewcyYoKGg
FC6mWpbyQHzu5yumByDvoWaD86aSYlpKox6oAo4uPIal18nalvj9dFnwCGxJcUXlU0APCXIU43n6
AelDYxG6WNTthiTR17Y+jUVS82mM38efzH/99z8mq4Mlvxpf4bNFiXkERAKgy96j8SzeKavY4SyD
Ii+kxC/0onJABfRFfpx/iyszygNnknxT69lTanL4qWgQ/2ARtVO4wqyt2llU0ccb8OVptBj4zRyA
6j1fpyBtyPuqACkbViYO6BBgJostWQf+3SFXgI+FlP+wuWBie9WyWI4Qo7TsfbbPg6pSCntpxwYD
bVRYmFJ6TljZ+vV9ukWzS10tYdqcOYVX/FgrTD/ez3cCGsRfNkOu8oy7COEDPXlbGJJPKYWVUu0q
jkK09dU4GDF+zUUrKWcqRNIbc8bVzaK/YgomfnmVr9hgarRiF283x+v9tuZpUQOyOGygrxbXNsxv
Zxixfico7vyxIhx1kGfFamo5+ltucjKqdedjGQ21KIn5lmlhVn2V1oAR0pD0vyho6l4EWzLnSGMh
pJpjHT6aLHBmrsip+mcNnFHzUpQvA1vhQuNkpUovWdSZKL78Y0zMYxTkacAe8Y+X8xUxiVSeOrmi
HpIzKN/L4Cz9SshHau4+vO0rfbc9k9ZqvcWtLcVXZqUr7un0vGaKKrx4vkevEJ7cFcQeHCrlk0up
rOrK0V65U82QANxr+7QOJshZmY1dfoy/EwvNtVSa3pblNMBIzwBJMBzUsslD8fM0fj8fYc7RDaze
DBZdKXwy0ceIrsjDDCX2TENpSataV1kvISEZ/gDAHbdxuKeQqpUIxF3z5odpPoPqSreRbCDUlcva
/sXCSTEfdghd6bhrxjQz42fzRbPpdHoSSgUAW0jX/xUf/Kd1wuMAWA6fw9pvVgUOlh9wMqTaQppS
bKCIlIDh8Ry1YDaXXHBfpgJ/L+kqZxtsQ73Tj+/jfny5VUDtWrbCqlUMwlgoJSv+KuBZNN26JtW/
yLlHVHsiCdAWItoBgyqQw/v0zQhOyj/Mt5iJliH5yflyGTlot7tR9jDqXrTMBKAWbOtoakJRzgwG
hVOPGxuy/Ac9S5r7GZ342XlKp00lmWKwFS2NzFw6PSf1C9ViFyFHmHnXKwHHK2QUUrDYBi2TKq+y
B4S8coV/jST3rv9IXaZjqQrwZMvsC/06wK+13JXcTluWYQxkO22x6H4YTn8fjit2d0e3YsHfe5Z7
bWYEzNyp7WH3N61OFqXOMrH1FDrZVURkx550jraza+VA6AM6mnHUj7Ux5hAHDajMY1hfZ9z6BLny
iroQ6Vz9vsxOrmR2ii1Utg2SiBz3kKD37Ng0wzKkqWf5tuH6L8v3NzlZkkkdW+648DWsiT8l7O9i
TX3mMzjk0HovSFmfaJRpSyn854FbMo/oqtibLN1qbJPyXTciVgjbaBNAi6qqtp5D7Zyn/6AJuX/4
5RfrRp2NYsfwRp2fRC5ULvUgpU12HrM+HevSLvARC29Gx+DUXRW4mzbysym3lebJqi0Y0gnrKhDS
vOFtkJ71xEa1VDfY1cuW8SZCSqk2jobt5s10snevZQ3VTJREpBYkBSsFrsXCdiyJ2oz9FxB70Xn3
pFzFrdpsxToGFqbNuH8H4B4wRjZuO8c5r1G0G/YF5CB3G++TwGEvjzeFHODpGMp9opznSvzLZblE
gbZxGNbyxtWmwYsbfyY68kuGooZ2gmY7XinRul2LOZWIw888j1lttehYCyHHNvso0bY5EKP3RTfF
GVMo3CGmDAhV9c2pw35n4KCDGTt3xwemoPLEikPQ0we3+mJ8+G9KkwL3+lrMxG9aHH06eW/YmLEI
gBurEZt+yE6lsKhNmUv+v/lfgb1NYsOou7kPTygA6PPeRLxEWDftc2eN2MeeflKF8qTYHRBPifWI
oPcFHhSpYXcRikgUEpCe0EWWPIwFShEMsEjU4PUODmwm8zCP97NW4SlzpiZxCpRNFFNZDDKDf19W
uVd0RJVKnD6XjJQOrbza1p2qSN3pPrxdtSR+zV0FUtPxinerOMT+nBrIBzVd7hs6AAau3VjOQg5W
STEneiWRvExv+P9an+40Hi9KZbmVaWB8Yus0vg7mJ5D6MGdzV0LKjreIMKBp3NEn4/j9TfHsOxmL
nKJUKJRKTBfFYge+AoXC3lVIuAgiIh8EgtnH3So1bysp3bhRO9RoZByQ26fqGfQ8SmVlSM77sELZ
gwTrruJrwyh7WBJyLbg6NodEI2mf15JgRx1CrSmThazw/IuwZG2/GKWbimnD5fJJwykhraDHIU3f
yxk5sCbefGLzbIKSoS7lkvg2uG6VT/Vn30CGqWmCqqwxRkpNttv++VLORr/Eib0phCqlh48NLcyJ
sqFqvP7TMzoIHAlRlE+OvHGdTgRQRuSghoKlYlAvvsttVuSioTPyUlQZA5BtwSVjridRP8iLsCi1
14/IlFddbREeQcr642xkmjIG38ZPcBSVzGK+Wco9GJ9s20xOiEskhzx5mis2QdWS6VhXWEdQtE0m
yygZgLCPjbpI1240xQTwRtLeL7rm1Hn6Gx7CoMbWbd6EQmaldgyJt6AHargohftGZMTBDZHW20c2
U8nkVDyzS8SwSip30xZv57FY12Zfb2bV8N5F0vBCwho61ayDqXe0F3Urt/+uLtyu43FA5/V4bBe6
TX3taA+rmL3bwvGIeGD8mDSwl9z/B7//jxGKVC4za6UbBgUSQGZHlq8sG6kNXerRTBAQuDlFlDHC
JFTuw+3z9WTHPrh6g1JXzjseExNjUPEsC/axkJa5Xc4rSFevO7C+VJDbuo365EqSmjG6sVmAwfag
udn8f7jYmZl6hUCqqUXYBHdDHtfhZr5VYxVjviUf/EOrOMIU58DFFTO/T1iyzJh1XYsd5DhQ7hSJ
aY+699dy789zcH2l2F/w3Abq0qLd1I6UcpH4GJ89PSy0OSc36eI9hUXtzihhbwtwKe1abEW0vgqM
uSebl+pHfMJAZ6GGu5i11WzkBpH9VAlH5pzHfE4SqRa9KLlMZX8RiVYVmZSJVbgDFKwKrydgP3se
AiInkB07NRbGohsRwsTRoKWLailuC9SIo8YfTifl0ReMoJVPYHLd2DoGqmp7iQrXpuR+WaUYEMC/
aMnMhtdL6y1FNxKFQ/cu6m1LHY5Ns86xVWhXKgnbhgOk2PUpxXmOqORpNDu5O2ndurAQ5ckw1hAO
ulvNWyS0nBKrM2epoFaqWE7VYTd/xjKp/lCgptk71kzMS6EKW6myKJngUglwVkBZc76mGOi64ino
bGSeZIXcswyb7JtEiT6RuGW4BoLfsq59nNGClAauYzFV5WxDEtsqrlkpU5rUpwx1AbauXFt3oXlC
x6XmXF+xGa9xfaW4KDzKpqxGE83dE3H/GmtdpxXqqFYZsqKM7ZfXL5yvMJ1OChMDh4xmWLPldUK/
1/dhB3Cu5ffKaMbgFL/ExVlxRH23dk5tnWOknlRCtVYi0/w9pLIKVKWWNNSGxNyun6bXKMT6UbrM
XcXL3EyDQv9FYdnT8C6+jkrruEbGNEu5DaxMKH6F1ZXQSjwz8fWDc2luYkgrAE74BzbQpjTWdgV6
GhJZJzDPnkbGlREfLIhosZDe3U7nCQ+QZxR0J7PtGyn6CExcAkDMpBw9mzYT6INCskGF96mXSmlr
r8d6nHoaoOG8wZ7P+bma47ozk3W0unzielo1PFb2T6xxZJ2Ag6Rbe9I6eS7SlvHIyHXGAmIgfn48
qy3TnxHTIk7mVIjQQp66MgjqwSBSq0yQgqCbVsL7kL/R5qCNpBW21QxZGZWGQp7bKVj3+ZfbYxQv
YyN+LaNSxnB3Oc7jeP3jeLu//2Wc/2DEx/xBZcWqE4s0VEb41drbXyl8/Rn/clFjce+AP3/FrLHN
FKvfY+/P+AOvl/NxnSTi2uXldxpJBgdRzHG4GXmFKvrpAKHpOig6gREtpUy6MbZHiBqI4RdeVvcC
S97VT+54RyHgJouu3EJOVxz9HYvhqoR05aaM0cpNsqxDFl1yXYfmuUw6hMAGs+qVSHDsvDJXdgXC
Sb2jrK1Ekuf4aJZcQfX1UqwpZsOhZwk6LxKNzy0r5uGE9HabhlzTEXsnXLDOCdywSyGuo17xzajl
7qISIZBBWTEJAigi+Ldt6NoooStPC1ZodcSUHuStfkc9lgWkDeYz5ZoXr33qyYi8FHN8cVlTqgJV
/rsANVkb75BgK6LxsJjbDcr+hy1DG4lWCmGd1FGClczzWnDfYWV75uywSUwuko/F7irDbFc0W2bC
4gnCi3eiB3kVw1qxhDkWrM9gq60YXqdE+ZprIJrKYj1MYln4AypO6oDjLd0K+L2WDi14nqiFEg+0
3ELhrTt3Mfb8/wI7Q+UmYo776w6W6KyXWhIcK681qeztx59mvcUOlFH83fhzON5/RwTPmrRhFqEd
XTrcqIPSonls3lWBJtQR4A0SYZEKB7c3NbmnKSXoiZ+Y9Li/W6C/Qv1XcBfak1lLvYCK5glgwquH
JHIEJAaNMapKa4ryfT1ZSg056BzrvGTIA7mUtDZXYQgjaj03+rfxk8ZkJlyhvNnowU5BDO1zUBuO
im+RWcE1CC3rPCHLhJIg2O2YKw/8tq2jjPn+6+3yWH69Dt9/fXm8VW3f5soliqBfj1OgfGgidcmI
WFk9Akn4iP8dc+2WAtIywtN5JXuZQVx726WFczU9Fc12fYI6n2Bus0L6A+tZOAwOuWS0+eHWYDz2
AYHENoERX89+f9XaAk+p7E9nV8swxM389jwd/2Z7q+doaSEiO/NLoQNayztzxR6CUMeX6/xyLDEa
W85mRlbnI76uTXrhNr0t3nwxhrnghCifW3lBoUa0Qt4hxNSfsaGsJCPtVz7VuPTK1/ldKc/Dps4C
c6oJSellDmrape0xp8q1pY1xE1up1yoCXqOT8zfA9AALwL+6otmhf7UIiC+kS+VtXIoC8CfIGkgj
l/FXErtCEeNyx/tnADJlY+zYfDbqaWO2IWbHS7BNfOuDbeUFLaJ914rsGnzL0/PZPc8vUyTaKzzG
qfCs8HRCXZKSfNcJ7kiv0teWoSpOLLfn/KpQG1eqIrD1w8v5qIhz668Eaesix/fbv5s39hO8w0k7
QKZdKkaRHAizzUsljU/flKGpjRgMDJOcy5M8ws6/EmzZboPWmEQS336lV8csZ6HegnL+bShzEYVs
A10oginf5tfCYnVEPDB4hgCcTwqLYQ7sJ9frykgiErkKm9wzzuLj47rH2pqVi1AlPCNmXwdw/7Ck
pj63Ntt3LTs/um+9+D0hR36fHXJT0clQrkhcwbfYuZy/FTaNM+pR7X4iTA02IY91zMIpi1WhEmxU
q2SrdeqL6XNJLVj2zn9fyVndMdr/g3KKbai0at3MOfv5eLmdf44XbbgMbbcOxVI08CbGgUFZg+bZ
134hRhD+tE96fFhAUW7Fr8XyOrFbUbV+3/W7zNy27U95eP0uv8NuLnn+WSjNnbq9eJ6BvrX4yrdS
oWLPF4vXEcqIIsDMhHtyhKdNKfgr+jbmnBVr5OiGoOyKjo06F333uDt7+JiuU5wAkAS/ldYU4igc
22HHiykqqfd7hGCvy9KGYscVeskAhdLmYhy/dp4pt+kXYlAu4QSVA2MPqMb/6IhLGJhGeBt8GOFB
O7WdZnpQx5lmWSNP5Nlm2aKlkuRUVj5H2GMKbMUEf/GPx3S32aDDj/fxSigFbepE7jmjWQ+F53m+
xhmjM8bHnbOBE+6n88cQH/eR1fK0CvoxfkeKsT0vQ0byRlpCmeWQsbEBmDjpxE1kbXwHkZEB4e/r
+O+zcDhGJ/6+jH9BF95AKf4+TmCeMU53jPMy+QSa+BfkMid7+PsqvoPn8SCslIWwJLWjtQ86r1h7
2W/Y+/Fz/4TFXi76S+TTrLqgVNRribAFEr5dk3kYkYWeEsx8GhdLrU4U9Fhm1Km7N4BDRwSrgdsa
BavA+c0yP/Jsu5R18tVCYMbHpRLBTJfeXKtsrtySfPRs0IebajhYGOM+Fs6qCjljy+fexPPxPr3N
w03pZuLkcpWnlkjx4Cgz7BkDCQ49azh1+ev5QuAWBc/VcyCRTwG5oj1CifQHUQWsYR7JFS2nKwSX
W+LrUn5bD4hy3tw4Wo3ZfQOfblhqlTV7JWA+5QbyVq2yngT6Zux5Qybaoq1XBn9ycsfLKwypv2LR
aCZtIXP586MuPWmUxDY2/o5y64atrnBEih+EIAalNk+TApSpxI4WbL36PDwGy3GAFIF/H74PCR7F
qhMbPwLo1g2Q9A8dQ1IwLgdOcG+FnCOtFWmqIhNHgR3Jdn6mqJHywPnLGX0Hb8XbEPclcAY1WxNs
kw35LKZwA+GFCxyNvjsq+Jg6yyUQ33BHZYBK00LbPLtpql9cJFz2UmsE4Xx+5htOObqc3h4sR20F
dgdVVoL/opKM8hPmyLwr++8UBvZcwtYHkGV7nEpdtpQoKQgrS4iU47KowL0qF0cxP3EjpBIgRJBQ
S9PKk7epewF5I/PhfYmaWgES8MHYvAky2v+rYPs5iSRciFvLY/uhKwSwDcRHGQ85qa+wFTlwrHZi
cacJgd/Mj5cDVPR1+poy6GdYPW7ozh0dihmtj9L+x7l5Oh92sKkzloZYj3jzYFZG4ZXe6fW6QngI
3qZapyJLcuwlBUTrmWZWHtMldfGMNHGQAjiBv2qPJG9zqXOdjadW4CqtRMCA+CSf4z1gBjV+edxF
56hM0hqe/TOBisvlM+fQGZ2oUXUv+eekyDYr+fqtnXMJjOdJruyPKLa9F9sRWBoL6azciOl4kozc
KHFMtQDwUs5dBJYCsJIZN9t8G7eQPUe/ZxsHSupZVsDGvU4Zzzt5FABdLzGKb4fvTDhHxejNNJ1A
04kdB2vKD68NfRZIxEN3i2KrORhaVjBkqRW6km4TcdQb2Bt2vQbdPQqwmlPrVZ6t0k7a+PIQj7zY
TIPJd8F4ky24TF3VeKlx/PeXeAtaToSMmaPiy42JSkNiKyPf0WL/Cgry1xQjQMVJwn18icS95w+0
O+RWBYkC93/6m9L71/e5xGRovc0/nr8rDuemFd1aMcz1GsXzBjrM1fgOwNz8HQfjahDFvC4kf1gY
ek1kMYdlesz69OtKSqKl59KSEikkUmp9/JsCJaBMgbim7yIn9wGSbo7xIMFc07LpL77qnygiKL4Y
D3Uw0svizaA2//NYTGRGsbeC1G3D1hYS4ffxJwHez8sfz2+QYlxgAlz8c2txosiWNS9BvdbnIv2J
5UqbLhd7s2rw1jYiF4JTQ3aqHcayNNZOyxxUmTjyIGqwVF+oDWMw+3WYKJsed0xiv5tLVNJjon1i
UcsGOXvwvMaYckmoxIK12nC2d69lz1fBv7L6NkGJy/aO3cA580YRhTS92uxQyiNl6Q6wirW1itFA
LlcCuW7rJLepCTacJFsJkVvpJHGIxWF4fTVyvCSsf1nXUs6KllgeL8lG4LLuJUJdl1ZO8z21rcgW
bMc0yhOXeqnhiIKm8fr4GGfIvSQquTS8rAung/AmqI9pur/rMx4LyXp6L2wFXQ/EBKv0H2SRrvPS
LBWHlJHVZKMi8D+qaHvMDEZvgR25QZFXMDv/zf0vlVhDTE5/KSguFXe22LY51MydcPWn71snRzmT
TEqHiW0rCc6bgimCqmB8o/iVOmSV2Hj7bWvJ3u69Is4i0WxZHzL2BCzKYrb891ToARWqdNIwRzBH
A2LplYfj+aSMh80yqfkMhGxKVy3yThzEZZHeD/OCkN/uFcjHU+Whtqt1fsEf0+urwsLdSl3MAd2A
n0ayaB4Ub5hCP8PKnmvXfjmfzoc1bkw0grGPYt4dIxq3i85qUF1yr9O7KshI9nXKkTwYCVwjvISn
SIhwzc66d1wQ5JEpAW1WyRPOTg/IcBLFMMWhO1oe8N0GrDyMdzxWQlec9kYSU/X4KuX4uMFtfKcl
TiWgBiLmURvtcJl+6IgpGlJQSlWj7TAlpaTGCCELcNK9t+M9PSzNMa8H4mxLmwRfrc9n6VgobLX8
OtXoOJyo4Ys1u1P/sWXU+On7J/F/fIi7+ISvYo0RYKZri8Xcptr4H9n8n3b+pYojucB3r5+SepgB
lf8SJUd3fhND1ZJn32//kp2oKP8t+3/c+9dYLxg88xrcrEimGgcGJTuCGRkBQ/GudjA9keTvj+Wu
RZk9S2eyjCiI6jD7lMSugfZV2UlYjGS3aqvQOzAdVyPOuApHwC+W9c08sbfHrICDyk567EimAEX+
PV3VdcD3zgCCnE4DtqRwT+VRUpx1WhfkoaZEniWTIhB0PPTqQ89cK9b5KJHYKrwSfbWd7lJsWvt3
MKpWVSd9hNnC3widldK/eZdLFYxw1jdNdvzSoG/Rr4mw4P4e2gyWaUfb2PrAxRgwI42HQnElapFD
RSXdoAKCRrtRSxUxCmhdFcLyIWlYrJKxKzFGcCICu4dkYEnF10lDHnmKaB6x4opOujmVTBn0kkvh
ttzwrhCBlvzR4cCYXuRnWHE+a4u3PiKz4dihBi39lg4Ri9YIkx5vSlWikyI4MfuaJq/P5YxfMG0p
NRWhYUcGqeGmkmqUysS1fmOcCs6h6FLbSr6RJaR8J9F+cuUEFKUQwycOgVq+GacIx9S9HtQpdQU3
9Jjsa/fOHIMKqjYth+V/Wes8OwQ7Sc/yCtL1IuZN+fR2G/oWLCtPSQedQLFtpeFlviLlqzLG/WLj
6fQMJIutme6Wh/iAh3dTuOa468HL9AyPbNsXh2UFcyXQVp04SFodB1EpzlEvCSB3jeCd6+WVvuQ0
U71v6HeNYTvIV2pu0Xz/kEPagAX6J2YzlZxjGgohaxVTndSlQHMDzFvvUS/WGjj9vSKF7i/TSUmc
ZTL1jBs/ssnqKtF3LQHBwaIzsh4EyK6nF1e9VSC+T+0ZKVLYfIs37Rk+F0dju+Sb8j2dDC6y6t/h
i9TCDFdePo/AaMF3koIWnchip4uQsi+WHqrh7dWbBZHaRMXqNRzSwGiCVtA7eMA/Du/aCLuCZ6n4
BFi45vOVsLd/0B2tKn0wJkZqlMlQHAKJNBlFtAYNfugCeIO9aTi2OKzd2GYGAIx8QLuqOiCTu7W+
uWa5D5cxaNqfLEpWG2XfiYx+9B5smY3To7GED7WeORyeDGMvo8UZW2GlsQVUgVh216Y7bg8BG1rY
LkqG7rIbxiNdkGYTtJ3dtVI0zCSfmovNj3m4KQ+ok2e5GXV5voAj/g6KVxl5n/eFaEzTNYImzvCX
ydxYRBBPjrTxiw6QqN9l8GteqPPHFMX1GDu4C9dTy/PLSC5ItAcTqn1+TI9Fz9S2fLgnnzn2VAh7
/7xBP+LXieLkMD+I0p9L13sC9V5amO7Kpr0wGaGk0FlZHQOEWqCd3j3HqInMMUpLZBmvWnG+YjTj
pS2NjD+h0ALcxJAEh8d2g5eH7hT0LPjBfIp+6DjfJpQ5rB+P2XSuf1Qp71h5gzKWrcsHfUcAPLre
ClZLbE1Jpg0bxTPms2nw3VUh6oUpQFtYQl9Z5+PredMSQuAsI9QG/Elcz7d5OkJ+4vqmoUCz/akJ
BSFd8BFolS+QIBs2pMuhHA74qCU51quX+ozCF+EAwYmwIOOdnV61rKkz5+rMWlxc1bJs7MEZAphr
YeNQVlRuHHkoZhSfJxIpHQOFVN3FYOzjvCzb1El8qF0lJf7FaejzMI+6ki+ZqsRGpDo6Z69XZv2U
MlWnC9pdCdtJR0LSeJG/XHFpy8cAs+eGW0pSW5YhZFzBGzJe5pMpzZ+NBAmSRtnp+iFj1r4qej85
JcvKODBHxFuezKe/TMMM00zfsIqITY2JpGmfSVC/5R8PkBA7r8jjHBVnV2SbtK/K5TnxH/Qx8GW/
Abmv04rzX00Q8MN836+gfs1bfrmMvybBD3VYVV75w1Mc50oJVxxyjc3rayOG0nDeSbFTaKXeZpBD
O4tlrRYoh8+L3d6tfb18pRW+CFpm1vQaTHg0ce3L4/U12RlYVKIQiMl8JY3PHjl+zRZ++h3CuBT4
VIZ6SVzG5gO/7qCKz38bAStZ6mBuItQ9MkcUi+3im6bRNFyk4O2sfBjt7zN7irkrpNqvO8BdY46K
QoxwJNNSKdaukyejrOEA52K1WE8lNq0l27k4WsI0nLeV0ZLrJnxOVOtbKqTahctXYbxtZ2AC5jTu
2zGlx5Q6ORGsZpycpZZJs9T+n3Ge/hM4ae+ffx4+x3kp4pVjMQPCSRrCKcQ2Z5HQMrmIZFUz4rUy
e0V0p/V3qFA3855wbOoP2SWMQ4gtKVikgLTSRTE1ZSaqZCGVmSAF78TRAYIyxGr817WhGFVz/Nwa
eY5Kcb5kuJK8p9lsPJTY4wRnjNCF1RVYbs2aVcd0DWZNh9GzdCIMsY/Pm24VPziXoelPNXiUYD/S
ScnBblpcKu5vkYKHbt5vn2vyQGng6bmxzD0scLiaM0dlClXkZb8zkWWV9PKlU2uUU8vkMX2kA9/G
KyLQT8m2/aLMJcr41eWH9PJjTmnnthVn8DDRcoxkswNR0jCH5PZ4xo+KS0UEsXQ/KdBEsWnnDIA0
MshuVyztQB3fccFoxIqQS2SCYV39CwtQNN9r08OPq71mreGTzzdjZFoW0IPIagXMI05NIOnY54mw
dD82JjQSHBPSq6dxMZ98GtTUeVA8YLRUIVD7sPahKV/WSkkFfu5UMEcf7snFU467lU4snCyZ9AH7
XIxhnothe53XmmeQsk54APM/HiP4Co7S9GVIMnuVopfwMr09FsfUcxuuiiHJpNLqZlyyU4g6X00r
RUXOdL+fT6fRyJjxBN6GS7JsLg5ttT05NsoO8GWJjAhjc2B0eqy3RoEO9dJP2dA64z/ssGRVwPDl
LdkpxZyoaK1GmjOTZW08o9IF1pTVcHipd0+VN+jABBYbmziLDhZXxuaJ0fQ0A7rWXu47VUctth5H
hqJ3qIQGlexjKU2QGmNZJlE6RYoh3z+Gn0rml8U+dB1swNWaIEzFLH0TWsGVfoV6m6DH5Ww+ymf7
Eka/ZJqYsaTb/JGl64F01KyljOpczkjjInaM+/DzrPgedSapXN45gz+jAcYKir5j8zPwpCoH+AOe
cuWHbNgLmTbfw45WX/stZ4kvbYqTbgU6dnHK1RosKE5qLemJV6M4AY62IznVSHwJz+3948/jiMK/
xOPaTEqCoOOBjLl/G96UfYhAbOsk/rve2M6/gSX61kgLisHguCAMC1lJlOCylz7iKSLBr1JAP61U
/Fl5D0X2s51qnLVlYcdHdKQ4eXyJiKQQMzxW7VlHPdH03IfVA0uH55Aq9+FFS+1k8oR0zAtZDpDF
tSEpaEAeIrcMehcCinck2hs5SfQ23v8E7Dv4Fv40zf9Ta4otK1Etbdw2o6SMQcFy4kqrrHJM9aXY
ZZiqxCZqNn3OPzjHVL6Gl00M+qr4zN7cjxiXpz1TF1J63HMr9+eRhCPKRgW4FIXIauinUZjXYp7k
Q8XINPJU2C/Mj/82QrZAzxq1PPTz7ZIpnEtiDGW1HftYR5tVlEZpVoOqq9I3m2HDBVxwIjnDR695
hhVHbsVDCDw8optMVHd7sey05TRxrdxAF3tBY/KLEmeWnCOCMUqt9uS3cZ4O77Dkt1EZTcq7CHwo
wMFtJ+C3+zij1BBrzjB/6kx6FUsrwnyPpn2e4Al9CTzVshfllvOgo6xD0r9fnbf5q0JnTsgHNtCy
X2kwIBNN1C08FQ2TqAFUrmSi85D+104BD1kqDlleGi/99DjqVCd1t8Vo0zu2ppfyNTPoKR3sXTM4
bZGzgZKkkp5SVEqupZeI7MW5jUp3ByvnQqayjHPmvoxwbl9PZotcbdtb8DWlA1LGqsXxqsm3TL/B
qi/T/Y7V4/nDtwTpmbmqbiUtHeiW85uRX6PoXLyZJOUrgn3mXmjoEV+ArHLt11Naup7S+IEVIsHx
XHM3mGY0fx/LFAtTX4jc1NSqwbpbEkfX8bi6ZfzBxpEw0jPMx3fbXW/5U1OgFJFN/AMP/QjZaWJ0
UxIgncRv4ic5JxPTLKZnwNigbAhFJ1Vh1LJAGWM5n39Cu8orUDOnM0oVNyk+o/uYz+bNfBuvyQi+
4yST3qdU2kF895x52WDlYWnFvGe8F5WrtJUFwecbzldLLoVdhIPKhCAiaXziGPzAl/N1wDL79MAZ
wxax92mc2Z9u+0ptsZSh+xssoW9K24UnrHoZbLvjvHc0QGd9HhkoH4AlrkgzrHhkrRSsyl1aWFcm
x2rWpnF3PCCgP8AnmxnPHYcW7Ksk8OY0781uWoDVvpVGbCJ+z0EGF9uHmXRsSpYoQjrnxgPTzr8h
e8Rw/AYoqoXyVnfQv69nJTHXip2+QqsGNt+dVaJAsf3RcZj7BDYaLrSxZBoVMFYtORWX6Q3R0+sz
Rq6eR8JjYglIP39Pb/dRED6caxfr+FnYN+/GOuwjwWoKUSs+T2sERni1EbPhdFo+Z/uYL/Rm8DqN
k373vDcJRvOOt9z6S/gwKu00fj8fgUPc5ykVy8GeIwaH1pBxxpA9nBJZ2etRDeUd9VbdgmFNa6gJ
1BbkFbhY5lyMV3+BHpj4Ssw8MyStnHVQenIbKToQWEISgE/eeOknzzoNBbC1vSOPqX22lEK/bQO5
0jKu+HT7iY26oKutQIpdf+k/KAbNlUCukoDBz4haI4NGWV55H2+KdDLnnF+sKd5ZhkQ7W8OKWSzB
KhAtKDahUzK9fzx//9/mwv8AKs28LSX3LFIYxvNCNt0hpId2Y+uLRgKgfQzXT8rALBvWZEW5V5LU
24mYqSdTiez7WHT4f/4TBFPvl6wKMdNqJYDhR5KTF0kgxML2abxBOZrY08efYPD3tTwW3CgzHtIQ
FP9hggBbRFNA8a00v2i+X4gESbNvbd1ImHYbIHtPIAlOqNh4DYROtAF0gnrHzh9vbtAYZrjc/5UI
rX+OJ49mUexot801ljzNNxDniFYSYNmjdp1WiQUBiBPmT4Iv7gi6si5TJMzrdockTzDbipYmKICD
6wjo8nRGm3dcUg2kCJP5dCM2WFVif7HnEHNXfztfRgtIVTKdnZSqe+orVxy6WgxsMY9BgOPTiFX9
vRi5ri0lkA8yF4J2n0E8kWXMdWXqaj5jgRx+YrFFi57GOwCqFFelK9KNl+sUOw43kqVyw3BsJ7e9
vQzGkVvgNet9pnw4n4+psqyJ4zhEwv6nWy6VWxax6TDwHRPMqBa/D/NZTQVUVRQQm+aoKrmrz0JJ
myYj2sIVWkczzC/j9/FC86CAhUapYXZhr1keIiHTPGIt5/GPNbDQsL/r6eBA2UrrSitOVsGU+e8F
AOVsuAhOfe2fBvyZZ3vGXNEL9P6YsOntoQQDJWe5LD3xQjRfpGSJculNBEEFsnu7jgzqJIHBGStp
QDIJUNT9tkqchfUrna06bzZlXXspqDwOLsyE3SXh2G0vZRXTDEWX8VXJ4NbywAEMGtx0bTAIWpox
F6stXEaAG/d+VnqhSwaB42tEKdyV9FEjqR2Nly6udTvJF9jSbian3nTSxbEu4+DB09bOxpl+G7Xy
NgdnNZ6xiqKZxGi8kmMfeX7AZVSIbYDmwX2c6QYUOgruUXiubZuWcTH1kprt03NsOUGUus0wnTVz
DtiOGROriQEMXSPascizeRnfz1c7NEkJkTlrC8Gw6ueCagDTmc0j1NAGOW9EpVxS+dT6geOAT9T1
orwk3mUBbRbZ3qmCNNYmMY6OCXNdejoov895vI3osz1mZZcZJyvEBq3CBl/kWRDrtLFcuuef973k
jH6BojVB4NYzemymmNQZvKXiqHKoCzabuB7leOsXK7CD41xHkfV2mCNp7X0w+2ZLcBGQRFF90eUY
dPha0xSSmlPAsLUChhWBzDyGXgh7cqIqaqpZPZcBHxA1/QpZlV+hs0eV105Mzm1Cr2QnbS45fEmq
jVKh2uDuBTL5eQcN3FdoyR5eaJa3krOLcIV5G5XKFdSMnAObxSqX0gImxyu2PX1eWGEicWOlaHmT
J6U0J/K0ZoPj0oWhuaj4FWewExlWxbFjyrQxkTmJ4EYEgEbI6T8e2siyajMzp+FwcZJGnCGjoMTF
I+Yj8PaV61iZjFHi2t9a9s1EYrYV6ajsEldlrnLDaoUIbC1/dyZ1rb2xMjP+Jt3F0xZiVtiEQdfp
x3WT/1/HGStl+47VSyDocl65ZnQqZb1si6+sN1hGwGYgG9LulEtfiBSiyOjNWhIVZCB/kNSSWIqt
/4qZ4EOo/Iwuiqru57tKTiuObZRYR/ReCxbDV4SFz2XwN2iJwZhomKtzt3ZLwYKX8mBuO1pkneqp
X1LZNRI+h5U4SfgRaf8L/AuFzG4DmsyequGke+DfrBwGlsXU/p8SUUnGIjeWxZXGJQb82jO5m8mp
idzDrnEOzSqyid/WGU9Q4/iaXkIo76SyriLzK6UmVaXXr69ySYYdWMkcGJRm02W1uhHdku1TVgiw
uBdCTYeZH+HmMTRM7hQ2ikqcOPiUM98JA+dkfUiW79hBtGEouRJvPHF+WgYAl8p1NCAQXKC+Vzgd
mi1GsI5KfFK6ucfcIzPhTvq7Ok5/x4v/NeMF4UDTlHFsGHMFKwjLA3JtHVOJ5rsgXbUdmwye14yq
9+fd7u/b+IkcfeRwLt/f5Np7JXU0Ed3Oym4zINAMhFoJSHn6yZciYtme8btSJ655QgTDK0vhTnjc
0c+y+WIDz2b2g1UcHGROAfLjPpFyV4aO1CKYZlsmUBofWWmCzcRgza9GwhTEpzjRDphM7/auDtDZ
qfgxDPYEbkhp3RCotfpbC6EqeuxSb0jz2uc4g9xQBT1chXWLyJiJTQrnrHaX+YOC0k7XbylfV0A2
6RvkK1OSdcG0Kj/RJTSI1NatWMJim38IJk3wFJri5BThBM1CyPARJJkKeAiRe58uJ5W3n6f4Gk9A
QG2h/r1JzRJKIoLDJOlxx+f8ATmXQt3Dyk8FG2oW8CBPSJerfWhVyqT9saGhtZIVLWQue+vW0DDU
y/Bx+0KUwRF2Psr4CoL5p4Uw/4zDatsthrmQSJ6UgnguZr68mCGZ+DVpwytOuIOxZMYnbpymj8Ny
nG5aVCN2+62vAHSa9cVRbhWXsFMpuLh4nNdJt3pRvQrcnZ6HShh/UtJit2jkrOjAErNskDTSWGLU
Dz20x0HzE7OslqaDuwBmuQ/zXWVcqlkgiMjNdSQ9zU2kr4O8A6RESKiUC8hZ5ZrRqZBVxDoK6Fa4
2E/FNoq1Rz9SlVAWtkJB83KUHEcpYZuwZI7NlInf9zLocrw9XvbMvS0qEWp7fXy8jJ4OJsUjX1et
RGnlyZotYNNi687fsfIeutBKV1Yrl4rti0sRWNeFBIoJ3AZ9klHBa80eAACP/j6tZkXxW8RKmUoG
p1D2c7bmp978g4MLZnkWCz/y8im33fIRkVQoJeaHpE9WacWJ4aqUNVh6s+7WKUaxgWSBd69Ea0+T
AQTwAmUs0RvDDsPpkmLlLZgMQaXJjsSlZ4E1IkKb3dfB3dqn57WIvdmkMycYtnH6mSIcbvh0sqcc
L8HiHVHr+6jBtxsGS+RMU7bbGV4s/BdEtT73Pu8pcnYF92QqT6CyTU12SmqSDcIFEWqaLXQeWpXe
R6NZjP6EIWMAfj8qZV3O0FXic3csA/9BpbA//PLLX3cMii+37GbWbzS2/Qg4SUT/2VyNAsRtpYBZ
yGCpjbo9Zz3wyZ5ti+jwstymBWhIPfmojE3uZQSBUVfYNwFWzw4Vdfw1KShuUxUScnrzCtxsEEf9
r0gv++IaVVvu7vEvFvpE5Cn2LNHVWszr/6aEQFUvWvoHj1ScF6gYAF7GgOyKBKnC/bzOw9uOMl4h
F143I3MDjiOlXtXLw4hWdnibbFA74Yu+lE5KqVIrMNaukJDwfkccAQVVpfl8U0dQ8Y5sX14kF8tj
jghfcVCGytYR8jxcyRLDmnjp7Y3Ia2kCnbLcxmmiz8SwimjRNzpWgR0xzQ2tzWVdboG148/zcqch
RbaBGG2rgrMtQwx/+1UAyJygOtkQ71bPzUI7SVnzVoQE//P0PkUmgmAQ/o4O7YC0WGYlI5Mg4+P1
qLSZduJg7XAoIOpOBeSZSZfioimr3tdoMgGbqLm3RLntcgsYh1MC8JzFhykAnEp6/xKbaq40RtRb
8F2vosrOp7OSNtmktIvfmeLItRRHvS3Q5GnnXoOdiK1mIV50DXbXt5gaWCKy5RCgcSDbfZoVOrCS
ZZLhhtosXelplUoPb1XqcQL2VuqoN28PO2vH3j7jPl7HFNLQqHWT5okqgX1RiGXdcPYSzNVWnlQj
9Zkyrbh6cuZhuIAY/4ACJhO7n544zuPlMDHc2BSwqFlQyUtnvURO9sRsgdxZSgQgMsuxzPb5eh1n
NYqoikL2bQVVkymtvExhdVhhaWV/USMeJCdR7At7Hv61NpFDuxie20qzqQfZDNjExgXyhDR6IG/j
/bDmxXQKmapspPG50mxsykEqymHjXJXPfOjXx+Wykxq9lvpKVoM2zTfjZS1JHqpaymm9AgL5CpKK
bZFKSqyNaYE1RqX0GOCGlHiacTeweHqtqRp/2Dbq6r3iVSYC73GC6gekZU+QhnLFAMAwqwNUSwlS
9Sz0xsQqEi9ybjuAhLsuJQteShmxDUcIAo12zhsrJF9yevk7OICv5zv+6P9P2782SZLbaoLwX9nv
78aY3y8fpZY0p211227NnPPlWJtnhGemqyLDQ3HJqmyz+e9LAKQT9CBAz2q9azt9qkvtDBIEcccD
/6+79+kwzvAwpVg9ajnaZLGGPGfrjIYNDtICjZW7BT5b+AsHj+sXgC7P6/tLIa/R+k3wkha+Bqbg
ZIgsPEvGzlJ7cP9wK/Iuev950/hqWPY5/VHeQO5XoNmO5XoF44Z93UEk9TJMN3krjV8IRI/x9dcL
XV8vEmwCbqVgJGW50fVWjgC7L6JK4F5qv9KCGhu9YHmJji2B6LM9Ac9aWz6dIKlYfThCSZfSBA5d
zBRds6FBV604aKKg6yHgF2W00I43WmZKRjr46bAYlRuvz88wZGZpRFOUVBUPberYPDQROonrUMen
xoNR9MMCvvHHw8v4g/E9lIWaKHqBOh1BCQnUsephW6aLAQ9UPJeTdrY6K2I1JK7A1w/rS2NPlazA
iw24+OTsJzZ0LD0GKlo/vXZYxNbNRL8OM8qxprLX+ryUDq8yZqq4AnHoZtzhZGcl/p+vYUXaxyHO
xuncNLE5Cn7k/WJA7lqGtMvJ8ugqYiGf7Le0q3Cbm/xnK9rMeu8IcANUomgP3JuSO+M8iPZ/2z4W
3ikg/HnTR2eLsX7zyTUNQXqQWFU+YLTojo6HPuFh42CvPjpy4aGsiVf3poBNcuYhoNNRrJ0Oxblo
w+3Y0CEalthWZLsXnkAMXZNjeFfQgf0C3WSdHxDYip8XDakogWml855BW3MMHtdjffhc1VIRpMMa
1pcpFQkpDXBBwocZWBhe/MSExT705ix0KSpaAsZ1qvfmZimnhkRkfBY3Q1HWmi6Uaih2B5gGKdpy
HWNJhVE7phr4sDEbC2Oz35RDRWfqfiI8rraP93kRTadY9cIhHgxvGHfrflH7iPNYhCI1DUcpTA8a
23LfqMuzRtjtA+s4jDa9WanoV6BBdYgHgNCcKcTunGdCfKonnByumDt1LFLKZkBgnZBi40Q99cP9
7fw7nBaFH63c3POEKW+jMYw9dZyNmyvMqLBRWLQ2rMXhccyO4/BFHcuQ9zEWuN5g/pr9wEan6O/i
szJyhK4g8V7j48MsRMMWW7heKtSgRWwcAhfBDS1jGcg3SG6iWL63vQN1OOsAgzxXu5CiY+xyJVvO
I6DZ97aE8NLbqvyxfLGR3QQgbmOeBl7D63yZfoUqc+Ni3JQVC39Q+9QqvibgTi1yxg84U5PS9gZ6
vzCfThrb7CLXjhdtq+xOSywar9IrCs3BdkVGTm4C2lKlrZfbsH0tksUTUNtAztiUtX8w6pOnftUo
3TFKszYeu8iGBRgP8CmDdgGLO7awgc0HahRhd09lmcGO0OTcsC12OxzR0BGH3GuzIZ3GObsebCXK
AxqDomTzNLSFMvb4UIW0j/u5gSmd2hGTcBw0wpHnZodx244YbaWanY1BC9uVhusiW9x6MqSbvTrG
TLynnFFL2w/jZz7jxT6opWdo27vyh2MBi4hg0h5Ytn4bhdVrrrjO4nDZCYVfjV+9g+Z3faR6Hgul
AOq6oTLCfVj8OmXsXBUz8NCAS5eud7z1z7fPxAoGtTbsPD4qFjfhG73IP1f2UgUFsG5QyNo7dJpT
6Y3PYruxrLMy5ZWS0TxWTRsOWaD+tc+CarVsGDEYgk0dbbislYbLKt6P+no9JsKnJbtxqDytWu8v
W1w211t8mN6V5GYXm46j5tobJdfOR18VaK8lk0dLZE1JIkWbw9b4TSpyXla2sVYsbCmkElPz9WVQ
KhyrFdSSDU56Kj3Py2Bbj34WVAElIHn6NRpRE8PFXWLjumvdNNHc5nCD+PMvxxmmJN5+wSy2siWe
ys8w+ixNdIKA8UnDlq95iyEfqezyBfPz85Va2dEITgBC1UzM8PyBNKBSySPwrnBKenVB6vR1/JbM
meZxLHICUQXEWQ+zer3sUzGMhtOKwblpMYxcKVphvI/Lldk2HJZKKR3K42347gJQaRgn+HVQi8DX
ALkBNi0m81F96ShqDZPxTFO4OrXTnG7UqVmJK2hzWy03HG+71aRMJUZTxi5tMZOfbretXVtNdFiW
eV02ea9B6PpzQH6sXVUTbEUhr9sudhiOGL/zvb1KlKWLpd7pbS/j8EBjojhJhTAzznXetVKiq40S
Xa1ihoEQSRscnByOq8YU+Ot0U7HgOj6JwQfv1+aB0ubETwv6x6GMiQHbRtkMRyLBsq4+hL4CfJQk
8hXXUfVCsweEwMTUojKL8XesoqpQ8tC8zDDz9RLGPlyAS67GwFAxtss+zuVLMhutVLUiqeiieVSL
ubYluFsUURCbWFOc0hLXxewb/14t4n8StajkI2CwQNEqM3GkjhGvBNKjDNTpojPtEbLPxqejGMoC
lm0eb9CLMVCnZGqKNVpas8z9AI9guFnAM9314skwP0Ce4z3eIbN2ne9Gp6ErqaTByryKj/RlNQ2+
119p2Chi2AUxAtXKC+O4IY3HXHEcOX47X7Y2sTasEpP5K3bsvD6eLOcIwR5rOJ3zsDW0CjpAFE4b
7u4vI+wp7GmhwsJEV9bacusEdzPVRM6TtSTeSgpUYJcu+BfDC7qn+DXzhbAyC/8yyypAljwCUhXU
x0XfZw9jJGnPCGTpcV8lRHz4wrLG8kVpv6jEL6wNil8U7DdaKnuXN9f5zbHyyCzrxZ+yL3L5Kbe5
MvVTFnwHf6pbcrdSDRJ+kfuf8lGbLKs3Er4Lyeh+sNn2eZeH+3W/3iVpyi7DD8wwB01SiJHW+zmG
U1IfNv6kzM6XUsz4U5X/qZIxTLmRtEX8iHXyiH30wzxLfdj722D9VZJRhtfg+Q160LrlTchfNP7G
fW0+vKJtDMNo6s0dCQ0Ev1hdeL9waIrFivhO++SHjP58xEGVvLgmLmE6+XBd+H5yd9WyaGFcZTO2
3MezYjdOzsoOaIX6y2r1YjcIauBFV41aBQljiWHwB1v/hbe8NkkY/LyIf57/D3GL2fIFhNyqTNUM
+EXnf8P7dJseOn5e+s+5DFX5BT9sg7vI+y0SorLwUrENt8kP2fVxDs1TW7Vv4uGMZfKMVfzDRmYY
9gXXaIV8f0VIjkoV7fhFHX8FTZKAZXxz9UZWYWTk2qtIktE/WwbdvUns4rbZea0sXAewwQ5OSY+i
y8J1+s9Jj/ZxG5vI7mbg4Ict+1CWAk0f/6ku+VNt/IaTnN561mDA3hvuts3iTJGUH61/zTg4ptgo
P4qWEadnUlx+Ym0ukFNmlS6uKZKipunir1mW320bp3wjb66Mb26jxG+L+A/KAqetPqk3XXfCg6je
KGlaRsXqEyrCBZOWnRafkjRFV0lPfNvnjM8KitaipPp2Hm6v+AHvWziM2FWGtahRQgKSty39wEIL
74wB+h7EH2iV4fJyFRew1SyZrUOzUAO4o931NJyvrzPO3gHMCPPn+/EAceUvu+l2xdUlDHdYu/Jr
swJbWtuNBrPNBlo+CpfK/FI+BUFLLTg28iltrBjJ5L2O6/3JFhFAJIoiY9S8IEbIED298Yt5rU97
uY2G9BC202LtuKM+tsjw9jS93GH0Gk3ik3IRePV+G9gpVLkGE9iIfN9s814D0OYdLgBWvF6VvZfL
GpiYt4nUD8Te88wMf7hKvVJ5XfgmMsYdwFPw49qHrP3NqxRIqsvf5L7zDvNPrtL/6TK+TxjoUX4w
951hrA18eZzaVll3GkMrs3TWftL36OFUbZvY+ab9WO6b6RDl38K2fYNBbtfEz3UPPxc+EDmlhi+i
8q/TQ7ysHzrBgPhODzHSh0uu3oct4dSi1/gZkxP+qthDH0679CJMWngGw8gnijz5w9Z/6KOTCwXM
Nm6XkXUpmT/e6JnL7zX3B/J4PqfrQkbbqvlNWqDwQpiZQ5YccpEDHqeMCV0PG/Z+ZRpK3gA7gW9C
qP7r705O/H6+XOav4wH/5Xr5pTC2Wl7krcKuFWuAXcT55QqfAjJLrnxaxoTH/lf41Pjj2q9m/k3i
kD/69MuBfrUqSuVXvcjC+Fy3oqTMVjXLVBYh7OaMv2ysD8FQrdn8iML127T0sn+YLxTFBln7y9M8
H8fh9AvICslmWwYPoJvWLOfHBawlkFiA2T/Ms8cFCJNc+dTbtOwZ4KfX23hWPqxjBjf9puPdX8Qp
E7QEM29ZxwssccT3e0wRrou5MrTAvEft84uotCs21RBX8J2bRPr723iZ9inSe6MebqGrwrv7RdT3
FZv2izefLchJ+PXeMNIvukKjE3g3BtwtaPP5P5RPNkIMwOu+aXK1iAlkJgTHb/sRqxIUMeQNH54F
BpWEiaflMYq7KLLQ1m6dwUVo17II91qB5T1IO863VwA6p+fz3Xa2Pxrrh2bkWQCfZOowzeWf5gj6
AdTU7eukECb3+hKtB96yahXNooHlRaLKxs19ng7yh1n0YoM7VcEs8fx9jIQrC0ZX/hXTc75D+TDv
74QAKpZ+4CE8h7MHTr9vuQKGINxAUo2npPVUseskR9f6F0vr9bdJ8SyizIC+JL6XTVB2SNUycACt
i2I+vF8eXp3ImnkVs4DuJ4KWOi1mmbxCyfzQ+gG6RRdeuIM+5j26R7s0jMoLFFUgOUpuH/NnIt9n
ERpxfAFnQn639PCbY7OLmfR4Gg5pK7MOZZxlGWNt3+adNS9k8hTBDiwcCaImpqVyxi7Xl4EZ3b4f
sTwROV1mDf9o0S+07QrfrvRfm/8LeB03KOUYT/toNx/OJbUc0q/DMBjawIJxO/9OXMIGSnEJNuYa
FnAwQNKX1fIlWOxWOy+Cxwt/4Xtb6oW/3C7em+9I+PZ6MZ69UEFOO+j8Cr03b5+uZxy4qQNc0Arl
sgLLFjHyi7vvs+BLFxmCL9n8y9vwcoW9wN/LS3lCAj9bTwWXssBFgqOWMyQ8+NpZOO5rO3KUhqYT
V0ibKGwOc2Glyi9jLsG8ZpUP2Qk6L2iQjFCAv1TQDwRDI1Ii3IQDvnMs8Y/5Tw7a9r/+8mcf/BR8
arph/0TYZDRjF1BYwBnCygKMTb1Wsiyy3+0/LjJZWv9pFhmuZGQUxY2ln26DF2LT9PZ5Q+xweWyy
IqKFGF29JiEeIUMJBt+9jTcJx4VYpBBXMZTIm9ucNzItmvC9MDLCaFeRLWv/WRs+UPPMrhRbYdaW
/tDq2Ju935673f71DoOjxN37146RJvbILBqOlzbyKj2jga/fw1UIJdSFcWVyNIHMLUNmlLfvZQSr
Zhxp/2BfgaIW5XQXviD2uBek6cm1xoPAlkWVZyCW4oGVfrHt/fLB2VPIfagPNmHfw8F4Yq8y6ctA
zdmSa1RziZ/O2zqmIRfJqNK9DF8Muy4rEf/xIUCD0fdFIABs1Pxt/nU6HocdxavFbReiXggk0Aa0
cLqBKmQD9hI9/tIgX0GRsTfkZzWEas6/AJmJWlEKgcVoueF+mRSyenFY5uFrtvNXFLOlX9lc7E7l
Nl48fynyEYpPmYvqgPcdIMQNMUBtBbLTBPIrbkMVbevZUTsfn51iFknW9KEWrIJ58KKPS98+yvAQ
aB6/ImhP/5fR9QqcTk+EBPe/KDHA1i0QGze2wlVZol6WYJkDrN5Nfuxqk/Bj77Qz3HzDQgDZJHeX
FQxQfrWH9SE05H06SrUsAwEZO5f1eoY2MD83+QSl70d5lbxmNF1e1et0OE+usZPtyZhP5+mbMSrV
nAZtr/Dby5cgJFtrEUZCAT2tkoWreEyVm/JR58/kWZ79tCt5ty65clVsJR+KdQeYEOd7uNym52Gv
7Cf3pGBdU2w/iFb363iZ05ee+6XICQymGdnK9qfpRTmT5xumjNd8kyBxXkUJg4soXzXhVxZW0Hjs
x/vF/za1jmpU6BkVPNKcfTfjeZhO2t49DZly5s/4OGFv8/U4SUl+oqR/O3WL/7BvcEJkf3opKaGW
e6HCrCyvqZ/BTJdiNbRC61fw1iU7z/x0NZIJhzG7EjXtVH452z/bMgFll8Qp9vailHtqEoyfYHdX
4oei0sND007w0aAeM7yPcAy43MSmlyg7Y4f05RDQYAZk2qCLci+YMAxUOTylk3Gs7gB4eKVWjuP8
BC3pmHO4XIYPP/p59zxMhu/FTrK+7WPNJ+wnAAHEhVv0Tpa+W81+aGi/xnxAHGr8xP6LE4+SYq9Y
+AXnWdkQCHoyeCv4x7dznu/skqKLWnXRMJRUjIi/noVWUfnf7CAJe6ZiTj0L7kIhGAaZoXRhvLyr
h6+ivszj4YsNh/f2KKrwVlhrw0pFLCAo1fnhOcog+GQfuSMj+HVKRREuEAY5XLm9UPeIX+Rh2C5T
K/3wi3jkwZAnTZEyZJMiZJMgRir+fBg3sDEkvB73++KnLPxkQQKxFOc4fjPihSDF38cLAAcgJh80
I9P4MoutqbtlbZ4FIQVH/aKRvmgYizBhrLy0pmaPxXf5GN1qVBIYzB4IYTifj4Dki0xLIwDxfxC3
z5zKoJ+nFzfTVLGAEGHi0Fhk6Fh+GcWIXsOiQMyBQ2E//To6WIIE7JBvaVlFFrNCZPyGCUwsYLPl
p3ktf5HF6SP/Rt0Gvq3DlqXW/BfI4SGC52n8urNMKB+wigV+gFCkaY8AcX4/y9+3MULTVQ2n+fTx
BhWH2g5Y1IZddpbL7MHFMmtCyOX3wKUR6/vIK5kF+3BXVnkINTy5b1tbBdethWqHsz4NF/mVF/EX
SIjsAIZi/M2EpGDhBzaGis19xnHsJBBd2628WBvoTzdczTAUYsW79l06GaQK3+Q77sOzWeuGBrvT
gvK3LKTkgToJ+ltMNee+425RQXn8lRxGSOjhH5OPpQzVYMEeywThNRJO8vdeNgR9hqX80rvYL2Z5
J7NhGcafO/Yg7fmg759GzhFfyaRvQ8Xmnqa8Xx5H9ni5WS7LsiZqWsBOd6Aw5b11saweY3WnWxmW
tczqPPxd+nGjUksPbjyLSSGKcC3wQQv2tPzTTGxAh5KDIswK+aeZLUlYl3bUgccJNZeMZkZKXrAg
qY9yZYUsF7kN7yUpcdN/LBv4vfn9xC/X4bU7iSxbKDyVzPuLZIncFDHNQvEuqqsi9BX7FsigsU8E
HEs/Z0w+RsYC8AX8wyJj0VAjVz6RoEUf83L87NVFjX69ABDb5er9Svl5FFEdWchPd51EtdDwx3Hw
dtIyV4JkPoGjyXvI43uQ77htY5RQXJumFgy0fMGNlX+sif+YLFubMkYiqV8Kv8jDXF71aMkSJNFw
v80IXiNTM2qpMYGXYLImamUWmUyfaFo24sloEwLQssljC8GJHTD/8vRkucPlReXBTKWWbyR+HaPY
gieMQpLP9pYPsErxtY+3COkxcYhr7scRcR+c8GGONzf+DD/jfyEOBCoYVjvGtegfbowOW2E4mf+r
Ru+b3AfewBvomsdVIGarbCRjeQUMOuVsHCJfSFnDh0bh2hprttjoLK2hHIHF7u3kqIdDKL9dsFB1
gb3XdDkTzpXEgSb3M6Qc8fP7aT/cgWsP81vJyoOF+mQnoladfbZ6CGcKyZ82sU/5BvItG1h1lPYO
L/9//fTn/xcgbpUN1LH2S76BbsMGmixcpfLjS+RfbsM+zMYnFA/jfqaSoN3TZRy+UPA18j8YwQgj
mlBG4l/IvfMda+xFGeMd4YdVtZgpLsYq6n33XHQpHSAYFss57bDEOydKQLkuxXKPkxtfejy/DrvX
u3mxNENFVglQK19EW07n484Wzi/V51LXaVut2vJbPvYYgkUo2OUiS6zYb8MW9X6BG1E1eOUVy8On
Ynd7w5AjmE+Io2aIhDjTSydbmYWttpUjm60SwtUcjh2NhBDXqvKwoTxPNZQ3DAkB1VL7cGlsG/Lv
tvFe8V6mdYgkYA0tf2rw/6/y72Xhkyjd1zS27jK/DaL4aOsiRnClsb3Non3mZLWOVL+M+HxS7hB/
tYtBXRgzAXYsf8WaiXy0wiJfw5XY3342R0bLns0wAztkOt2HRIoHf6aJQR8IPEi/Lt9NERMDX8sd
TlTxb+NK8uVpvAnD1HBjnj1rCHfUfR5etTaNDRfIpD74pDhgYB2sSdUSnAwZxLyTX3b5oHMESlw/
3p7mo3KMxhOVtZzwZ5oiRFXHrtjI+if5AEUZop10knBIvNYmjq9TbrgD9tCrpQZvuf2E6mzrPPb5
14D4Ms3rsBHNZpDNUd3gHFwFzQF0pbWdFEUceKJI0qBhsEg8qiKjXLQMXKr2ZXPmrlGNyycuojzC
JiTu57ta9Yc0r2M6aOH6+SsgfV7extOkyOiGyT0fvY49HdtUKK/kaYGjIEs7r4eMG1wJLk9WVFHE
EMOBDtFVHsaMMqCNyQAfg9FfTl7HXo4jwx2iNxto6U8A4rSpJNmhdQfiO65iTbFIQnwVqRl9yGJN
XA1uMzOiCF82p2FjSUvbAGYlcHMksuUtrVC8uhRsTZuFhyiLtdmHiWJHVQXiHTkkjzGYZWu79+sy
j1GlT9nELBsYCJkgAfOOsOLcAekSaX8/f/tPChX+9X48/vA67r/IxMxjppJxVIzCPMK0MOx0goI1
mem7GNSc1bv2lvmQUZkcTGn6vCbGUp1Ng4bSad4ZBrwNih6pwlccbOl8GZ+NIUCGoDi5CDdUxeHO
apnTVg3dVQqvqA1cTz+03b8DOvOmt9qH0Ef2Li1b29V0ZZD3AXP7KPsG1e95khWprjyErUZp2Ye2
nEfBSqvfJn5pnXxoJlB8Cf7T9LJJHOVN3GKtN5CsTFmJKQnfxQyAmNp9HiD9bFwNNezSslANNUW0
7QM/Wm8mEVzo4nBw3QaqsLuHpsNaZaSEh112MeuGH2elh3D4l3ysaLTCCX2o1ccZS0o0rC2jRhuZ
NzjoFsobE4ZfXj7YGazAxUhsi5J0Go9GFckit2QGC7smmMFCQ9CMqHWJKHmNqNtkf/z2dZY/jL4c
+mEYqS5/GPXN/enlD1f+xcPQEl3ClixYhaZ9vyJXmlZFDJ1uO6257eMLmrf+eB8z0v3uUdFsoeIK
adRi6cJCL5fpYBOqxII2Ez4/49iLZxjFMkJmFSTR9Kscla8qn5ZgjZG4vi1XxKI0SLHL9WdYv9uw
+t1mOTYNZaH9Gt1qC9rY3w6XcfBi5gUKopUC6Kr0BdBQ0dUWj/slwxIGHV7Tpet1Gxa+Z349TJ1h
PhYb6e96d0bl6/dxoAkjJLsSNvnZJuVk+U5UXRX4t7H9KRli2htbxNvS5l7hWmEEL0479KcEHr+/
na7KNbBeFB98j12DXWrDTTRh/Xf5uKQbWEQGpUK0ItZLgdUuTv+ww17U/qaiD1tfGMPZqWXwwK7W
sTLeL+E/Yh/LUW4TqlgyjUkJ4hfwGq0fLW+s9RuD0K0dyGQvFf5f5KjJey068RJwV8hzOJiYkAmw
MPWCo25hZWW3rNOLIfBZueUrYElmQdpGEzYV52jvc9Oz4KMt9NpT3FnZ6kcmZqOTL8wMssUP4b0p
fREdawcj77xY/QDinzCsY4qiGW4ybuG70spV8e69DEck1J+RuRukWlV2sQa9NXGozFpVjEQLlkCm
ubm1f5kDwjwTy8KTOnyGccuiDvtaqtVGwwkxao9a2eVh+0/nGoj2XzCwBlOHXgwJb8cPTMtamJL3
YTqigsfiZ12uV0zascrXlB7fWUZUHgZrw/FRArduKEA5gT2lEsqkqlkdgret/Pen8YVamF359/jN
Ytnif7NFl7K20Ed9BeaI4xNii83CvCrzmBTCfQVPO2WGlJXnZJoAbEdIBzqGuNju8Q41ZguLJGyp
ktE4q/0IZq/3g+1+zlIpWQuYr49lMt7wCNJyJexTVkaz0h0R08wYAebZpMnbeAZATOP1Fn/F5/Ft
2+RnkpUPPXj9ak1KnVg3NWmHsmZcqHBr+1CQWV79DhVcFk3MIhcZC+W4ZuKXjOmDwfIPagKg2u4L
AsduwaAmyae8qlp8VTGjYZFrYHkqFkMRqvi1nHH5F2to6qk+EiueQdk4GXtVZMoc5xdU6dY4h+Gf
irHkb6qpFhRlv0NUu3zGqS9UTm62ympRzD4KgLS88gKFTWJ+fFDOd0oY6xXrQ7XPqfFFKTG1ovB7
EWtIj4ijwDRMSyMv5SBU2a/ta7CB0nRrsxiyQNQp2XDUxr9ETJ0WgXL2ezOsEvwlnlzR+XWoLj+1
7PpvlZ9Z9VVna1vQdZuLwk8xuVZeVr7MRDd8CNSlAg74MU10MrsBrR8H8yJ7ugl7IdRDVR8TnBuC
FlUYtGAsfn2dL7dXsn0D6ZuwH3nLvc/5LRNYKRGUIBc7HY4HKdq4eb/tBtsYRETEI7NrWnwF+3qU
TXpJg9C7qiGUDIQwWdNrdgUVoiryrwttKEZ+9IXOl/l2uR8IEsPs8gQ+3gYJweIqNZgYdcZ4ZRlN
QP5bAM+aYpcqxi4Ro33Rqpvs9EpX/JEHp5A0D+OH3WqxIJ6UDie1jW4+sLnAKXdQNkScDqCr2BIH
qbsQKqPR2HlT3JGRrUZ8VDeG4bT7tKCqErp4veAmJsmTcT0rCza8jzqKkuI3CLhVtEnU76HlqTBL
FfOaFwPYO1lbGJlpIRZS3uLaO8Wpv2Xue/rQgeWez0Y3MzH8vUgbr6KS/MOBUwqa1xsc/lOWYVUX
myMNRmgruDJlX8QsJFeqRIp4RL9UIRUTdm0Y4F8J5jSZ6thSG5zHxGW2MWPVF1UtlFPW4D0eJU6u
LT+lyH1U9KJgZDGPMccoZlaLUuET9nWdCAJiSh1m43zGk6gYYha00TYPislqJCP90/4Ee7sVMbke
glqsakUDtKGn08lCG4XiJqG9CvIFu0SjHIp9X04QK/GaVLmZPPaUT04OfN/JKxbJYsDXuKJLKNLl
XvXOMdpimcyEXl8v0NkPwbZJi15xY6u3o6m35RRYd7GeVSjXz7SIJQYJJklhHf9gWoxkqaokGbpi
PW5gD3LzwXONteMeok8wIh09IKVdnjbdi7yJxB2NCKVsXPI5dp7NQUX0TGD48jUXE8KYreIsMgw1
NGB7ObxEbTuJ6FKraz8nHSd1NAG95jYeAQztJnbTh/mOiQw9QFeLOTgxUJkUPEznM6zVaD2CUkRC
S/UxW3FrWCSlFaqoR2Wh+3k6jAO0QBBD4SCmvxjunBBQtIFEJ0bsv27NsVQM7BIze3Vo8ro72271
5jFu2JiKTEdQmGGJdYR5/Dl8LhPS1zHPTtVKCkMwMyFf6skfjY9PZlU4YJ93n5Y9fjKzUjF3kXk6
ZAHfLtPeypItIQXm5ngQEmccXsfjs1xdRhxTiY4hGpqK+djF4g4L7y4xjA2l5rQTJnTKRQ3iTl4u
BKwKqV9zbzfzzC4gfRTtX8d86E3Jy3TZTSZGD3iM5LIFtLNtY26kXj+iR0t5qYwvucQxJgNUbZLP
e/xAoor1n7RU1JL/RBpbEbJ5FHPYOgPoiq8WVDyuPKRh/52+0lFR3ix4TIM+mlZ10j8ZR25i2LWr
0HTaoWV4vEjfuvp0Fc3lpjiMHa9gQzAeRmor+yD3pGwxizEnymGUU7unD4ojKJxTqQZPzCnCehPF
RGFgzPVSKCsVqqVTx53owmx2O/RrYBRAEgTGt3ndk2H7X8lwhILoVLShacO3yMzSr0ZknOezLZZU
hgvT7faxAA8tNOEELour/2xOaa7l9AKdwPrTKLItBjgT6J+3dvtGM1GDMAUs+DJcDq7agbhNL+5l
Lm00HrIyReBfAcZknzL881il78r1TKekywfed8g3sADBtGBCBUX80fdbRtcEBsitbK/KwChf7AFy
wjwSNAKfSNmnno37wAU9DyxATdbo9nmfNNRoz0ZF4bL+oVq8p8P0vnuFpjYjgL/Ka/T+rDkWC2QW
ppoqWMgD9judDofxxB/618uEqcI3mFpye5J/yF4UERVBCXoHugiscyB/fZdn2YNrgr15RHXPs/gg
l42J5Ww9mw0Fv80sveVj6OFbFIg5mlQV3LMxHstdrtZCXKjdRWUHK69wRqKfA7qgTgJD7QFuBE56
3clIUz2boYPkxXRuXqQvcDltcH1CrJWur/I/Q2n2Ijw4SQH3RoYnFFujQgS/IJ9zthDhggMKtWfa
ezKyVF+4IblBqGeTMFYPk2UvSd4rL7v3C3hHKET9T8sHW4e8CBwdWQQ/Kdkn3un05FvOoHiGPZuB
hAuxpiKzZ4il3a724bmJkcoh+th1HGezxPxsVMzTkfLY1E88S5kWuhf/yDqwCjsH3HKy0u04fIDe
AvfwMBLsurKaFz3Yo50z9MelBcw8jZfXoxgLIsXQxm574Tjq/ZwRr8wXYg83GBsqZg57NhRtJRE8
XpxyNi+/eRvuNtVSKuv6HWFfAK3rys7uNMwVfeXnaXRdRArl/BWs8OlIauL+XB2msqsmJsgtT9iO
Q4aoQFxiFL9av9+zUVhOl9pnsGwQq+tfoYrR/Ii6xdZvEVIzzQP0H3lXsg1OB82YuF3odR6gQvEb
6naLQoPO/8ugcEhXhDdZMTzf/79o26qNSZS4TNwpIq7ywhn7dts114DetvJEh2zu2cw95B2fLqV6
XQj2/zuMnJ6pgwoVSsUu7gMuTrkoxjk+5HM/Gct9/2qbBm3bqzSlu2dzrVYWinzQTxsDbnIY/ULr
y6DpFn4a38fh+HsZXrlnQzaduqhXD852RS1WtnKvnt1Y07AL2tEZFcGUxZjVRZl+ctPH/ufdOE3K
Kn3UY7C3jiGvWZGOXbvZPlXoUAaCxzXTLdjZS8BQdyrqIiTn6l4+7FNTDpPH7AAmupRP/RFYN5vh
AZroRFoC3rsE/N2zsZhOdq5PIIUmejZDd/UG3ea3y9w6dhf8KQeX+3R/UY6zMpRXRsf7BKbV6MY9
28BR6pJa5pHm+I96jUtttSo5EE9S6TDxDJNccHFVqUNykwXbx96tlUmBHyBFJ+i3q9jTk0A8SLFE
ORQwn75Je/UPFLG6WhXVjj7pYoYZqt0/gUf3k+HoH4wWVLbZhTZTp2Jj0CdFzGxwdotnOhVFl8jK
OBia72sVt4d+3ItS1m6z0RRV7ICGUTJbKHkLnxEuqzyiPLbGdbyhwiNu+8d8tty+JW7CHhCLuVlB
kZb4VcwYWU7zbfehfJsFrl+5onPaim793QKXVoLOU5iDcSZHUcmV51DH9KyVMYsFAmzhRZBC/TJ8
wa2b8vV2HvYEZiBBuOEAr24ZurUBixS/aPwXNTtxIX/R+i8sjTDcdX/6oP/c/MEh21/EmS15VuUx
YGyH7M1Jh4/hOJwLebEsOlsFt+IMaYus6lLKNvIdRJOsJSH/TBGdirzsmSmZDbvu2fQIZhU8zef5
bX6eXTcuANcqo0l6Pu+6oizYcvg//O0vDijncsvlc9Xh5GErRdwKBG6DrqK2RhEbpkBXcDyOL4Yo
ho2fppMM0m4IXMfGpRBLvb8kJgdnVXTwLX5tqQCjH4erPPQ3K+vYIGRcgnpsHvhIXivPY6NsH+7F
LlwqpO1D2PZmZQEv4EH3E6IszOM1NWa5Z0j+eNDi8bqUy86jo7pJBS7PAeFlcUVtXnHPpkQwq4VI
DjPy3sYLor8DkcIRRDtNIkTHUxEv3E8KEjexQRcD219dXeJBsNks6Ai2jxRulZdQxUbo0P5vLmv3
ooP00lHa2OCDLeRViNvFZvkR1L4m89loKAY1iDEohko+nSD2uTcu/XCCyQ5mqwqVSzaZCfuqmeCx
jSeKRM9XA7Mil1Qrl1TEngFXO3KcnhbwhMT4KNt7CmuPLreIDR1c3twiGTAodj0fJ2WtqhYZha+1
UVVW4cC9MqIOGoUuZSCdCraX8dsZJuIA4//ziyYBgoEZuY9ZRV6xskoTTieqcknly/LNS2/metug
rsbcfd/EpJCF0tki5PmUTh6xtBbGRd40G6lX+r5CvIDl7CnBU8ambwYcUCkckIdjyoqkIv4eg45P
tVzpMWzMSyuvUpQAIaMqR82ZzQFSoKhK1VJQuLXuYtOOLE3o622MU8ZGqOmGbi4TyTMTOtERWaC9
4+hMKHsm8pa3nWk17csS+exSA5fbXtFcfHIOBp8tPMJ8gAI2lpvxAjNhgNWxt4lfU1mc8X606Vrm
gfGZnbSxuA+lHKsIX1m5kvlQ8qVK+SY6bzJ0HLYwbtXHJuk9vACN9ZuQTZq18a8QsomaM5E7VSi5
8lyawN68KidfjZfmc52+vhpbjN7JFZt+bvOSaAaKyrzex97vw70o1MxD96AU5JrybNkYNbBBC5eY
wsR0yqorQutX1P+K15QzC4QmQrEn5mLvyr2EY+DsFAArdrYJnOiI2IUlsIxMYYyyj48PJuUt/2po
mzPDK/YkFf+l6j7ztjX3NQunjneqdtNCDNExnZEwhSYmSjFMEYhdSIqL6UiyUKITE60P/PRPYPJt
nnguKgIFeJmuaDVgUbQ+FB8mZ8KvxFHuzAcidkdjShF9fXiA/FG9K9xRZLH59locUOEQNgqTWY2o
yowv+Dooo4aN0KliF4rnON9P+5sdijO8z9OBAgiqACmrtVlXpKOSCp1aeR75o+U7nxKuRSbarVT+
q5wrDzVdIb1CTSRUMdnmq+wSDFc93DK1ctsxg/ajf90hN7T87e75MryNuwn/j5iWaTIW0Oe9o9J6
99N5uBgjCTDB6W/URHST17H0oLQ69FlO3+TN+oQFiOuqVxcDNoGCbIvCLm+Rlc7RJMNMXfcwQiWY
a7ZSSOuzG5CPtqjuwqry7lgZDoZ5XZxX2N3t9TLfbpBJvj8lVs5jFUXSum/T9YrIlpeXO5z7Kp97
VQahr7uHksSjQsX8c+cPb0de1mfuIKXQdRs2KS9WrAppEhx0m+fdZThPB/luWJ0upmEKndcn/aqz
Zl3p80kmWib5nCRke9y1T2myaWDij0xv5q+Ht/N1NxzegcLywp7AEGdu9IXdsITjpHIAK9b0bvqX
8cNLD2oQcYAsAId6mmTGr/uwFCLB+P748rFZCRjF9MoEm9qBEwpnZWFJYmmHfF7Gl/Eb/vf7+USV
uEKVcIPGA4l1bCTxWYxxuBw/dsN+OpS7rlG+bv3XvhXlX/fhdKM61GXY9lVexOVyi7CHaw9hEiBO
rnxaLZ9WEK2ps2V6ruGY1/E6ar9bLh+D32Zbe/Xx4A0zuPBXvWMwnRBxysgDaNYEfXU0aymr9J52
3uY7zG/4X0Mr8HmATCpCYV6GvfmjaAR2rbeLGGaG4fL9fBh/GK7jj8a+wYHsckCha4t15NkWyVzm
65VxppYb6JqV+2UrOz5Ot+EbjRBUTpHH3H9DxtuPYg8f/mYfBLvdU1CrjIkFCn8HPtp/mG9Qnalc
nedYVn501X+qW77J8YAW/NfzeaV87F8pRG7tVDfbIYnTkHdfh+NhfNN23frHitaRRxTbD+cblZCD
0MEGNclFoJVyv5IvW3gbjlAZal79eDUrqk8v8wuwSRzzz7eL/sP+zTD1McCg6hN1AtomQGPkuKEM
+lMuYycZ928AqGMEqfFHB/BltXfchTy0yGHs1LZDho3P5FsS7Oj3eBa1ZjCncE1Yr2gJDNA5e5xw
JHeB1wzcDr5nDIrbUB9FzWDT8Me7pRLYlgbZ2QDjM0TDXEm/uJYD00X/ul7Ui+vpPwYRaIqj2LNh
wzN0zOKmlXaGmkEH4M/47m/jenvF6mbKvU/jV0CB1M3qmoFfIiFqTHOW3i+HEXGngzGnLjdKel5l
KnSMon5yTtgZxboi6C/cxF15fzYUvyzbuPJc2wjpmr4U6B3cXs+2l/kBw243hnIWFlDnOje5AIVL
s0SEqOnDLiIfpvackjdLShgH6rwOB7MNDVsZkena1THsCshVxEAufLHUC1DUK9GDios3VXC2ggeF
EVFgOPv7s2+lkElVeVKh4GgZqSjrnSaYf+NsqDQt8Xw/bpAStd8EKy23BaHjV2BJOVxfM5TnZYWl
Zvg8sYZcQx7z2M5GciybglY25Tn7ZYsO1dW6qxPaVSB1yjskEnvtvYxgYbLwBt26tt1GfzYV22W9
2K306RISQiqgObr/CLt25J1mXu6welD3DCFSpdCuZ7taD8lCRASHYHRwuBVKbTqek7E+HNnWEUNd
m31VUFprQ4LGYr1oLY60IJMTvljNi2o7zZRaCvXNFTWT0ZCuqWy6hqebNpDczVgP60npLtEHpT0l
dlNmXogxZOlwwpiju0yfNguVppU1JAYXPG4L7JOo5KjZcI8VwWlbr0AceKKGXl+UPXm2Kn3Fj6Xy
gsOwQZK6sVVuM1aS8qGChWKbtDHbhOX1n1hV/VXV7qXXnqxRIW6q9cqO8qhuh+pXYxhY6J75tKUy
vmYYjY7QrrqWakcCYWV8FGCrYf86KkqRLdcEoKTYpQL61XcEpFlpmR4YspJVeJMDY0hZhcxc80WO
0U0pO+lj4td2UmBDo0wVZvEgpKGbrWzeuPFfJuh0s7LNcbSiRbOQj6xe2cPlnLGlGfElFWrkTNv5
RJq1g11vb0JI83vxA81Y27PxiBC8SDVyspi1rmtduVKwZkBnuKRHr7VyY4NcrmMGhmp2KQrb3zrU
Cdg4udWCC7CfbWR5fgbsoPmkvS12cahrrbKt2rZpm1pRWkXMXaEfNr7FBWaZ3m7zG0JqKTI5D67L
ymRPnItGC2Zj+IaXvTFUbourpBtURccEuS/ziwtQRaQz8wKUeZMx1YsohSvdQutu9G2WGa2htlk1
K9kmN+6CBX1vypup2jp6l49OGABSemd3aeVW3LI6dkXGkjbW82iNri/4IhVTq4g9P2tHLqej9m/n
giu6LnTwltxDRFLRLf06z2+KzGpDJ6hi/ItBBkKikRdgKhz1iEV6dADirBRs1TCvdCHXDBFrYe3G
tWzvv8BIomnYgwjcKy4/c2dZhVr8ceTK4/AUhxVtwIseB6oYhfOz2NUT51+thEgK4KoNtaxvAbbs
vVy+r3xXOHoV1qrYaTYZ2AVbgV5cRB9sDXuUKwOijU+nWU2kUvaWh6QKBFkocH6VMeno7sqYgeQ6
xnH2SPLqCuYJMvnxdH/5dTKqbmcMl17RbV0s3mFHHTP9f929K3GvMnwEnHttlON593knq4iFqyyF
79gdnXKwyvDm+0emJgws8rlkjq6zLLYXFrV6VUi80hydEpDYytNVHgY5VshmyDladXnNpuBRksAX
RlHMF4MaSOtEUNZNp1n4zxroMGJztN59KkRVMB0IFlbQaxyy4avChkWMKMtDaItSsdXWPFwmXQXd
93BA58tu6uVtT6c7D4CkIoBFX7L49OJ6egaiZZQq4pqBMK/MONvnYUuDFv9OM1jcUNwHY2Px7BXL
oot50c7WIQIb9ZtEICHd28X41zfbA5ZWuLTivzQx3tkPp3dAsrzffgTUqj8Mt0HhoDombQI7TuWY
qsk3RC43RSyzmIaKxRYQ//INOTrpzheN5yCsP1oFay3zPM2HD8yaDIpkzqrQpYnknkhy2E5CJ5IU
77oKpewq9/JbTH8m/Jnpb0M+aT4tui4WqrXShLidNmGc0et403wovxOcgVmHURn05nwIWJEFWcwi
RzuauZVQIswJpuQ5ujAxZ1NUFHM0zvb9MFtlfVUCdU1gitTlqmlXjyCw+8dxni3TIClEbTIW2pgv
ENTmqsonHsFYAmYLn2wIm/WBQq26B3PqM1ZUHgbycvWl8V1ScU1ys3WYxKD1xwv07m6wXVdPgxja
g4I61qO9KPZZHSbJynROMOl2Fk0dxlS7dYpFV7hNE0rhcm1eOZ9KrOOvGVL/yhl3WSLih2QKkPss
5Qr10xudnxW5zEBvliyI1wevmsOZRYMCcce5UwyKLBrrczZfYxwcRTBn4UNbygkoPubux7xerJ6x
bpmxBm0ITylZrdlc1FVQXshiJAJcZRmEsm0JE3H4CcoK/CIXJeRRMK7kLaUoCCB0hZFsPeLAlDer
i1u4aD3aWYmPRpPtrrfCQ4/ZEuF0YUI038CC4x4UH9nrBVARETvb/I3FSaJNXxUCMi+DsAbLdT/e
Yd7fabJkgkPcIFj3LstCs9Q2aPai6WJWPprCBJNKwvAwHlVTtg/zJjzEcUEy2cD1Vo5ZXYwVP8cJ
IvK31/vbUyJdVnFW4XPVLcI4lDEQ1baf0o1PXJ5CEwtbcI34GbUbldpg7E37HUNs1uxOlvOGM9ft
o92oIiXXbI7SOie8xEAO05V5+biqEthrQqHdRIACr+TqOLjhDbFH7t/64MqSAPfv9+qmYugRupL7
8r6wgpgF79CGsFNOIc/Y+VYighpHXalYs8wuYhpXCAxnioJjJX7ZYhU7mE0SCYu9hJk/lDzJIGYb
E5U2kh5L9Fv7STGA21BBNdFqhi1lDFWoNquVTq+bXgtoroznfHMlogUF21aI2MdK8hZdbgTPeBt3
emHX+goibiHMmNtUbMFCIZxkTPMZ9pBKbklxeF5n3cAOhJxFJhf1ni5czFY1Dh0rG/NBbvRabQDq
OA7v45XanzVX0S8M9ox19ta8puIL1GxG7RJxeQwaKAzPPCsETukDvGXLVC/H6bbXgsNljAmMBWcW
ARgVC7IO9Ma2TOw9MKzx82IcyO18NRsRtIpKeQO5akvFDijCNEzHBOBFY6eSFQRjtUTotWykTrnW
DCyRpCRV2lBi1vE43K5UXLew1iOsflmEIwnfz4Rd8lggCSqVOXA94pJhFK1QHN4uZL5y7Zum1W4T
VQFxDdUoMSm/E2yvWQVelIBLF41S+pzKu/Js2piUd+xFlTgqf7LKID5Awt8CsoiIqUHuSxeLGBn2
eFSbG0tCq7yO0cSqE8zq2IB9omaDG2qe0wDRYUGVp3FSimysY4EjjPLToNZ/3QGtmBlk4IcmIxFt
E0RqXJ+4zX8l7dmiX6W7i4ec3sp0UezOVS0Vr6vZzWcSuowj5uOsBMLKaAD6Og4X47o+T6NxJ5Su
VFqiDOuyWl5ExcbNbSmoamMp2aBGf1MdIOMCLAqWk92KQA7d/Mr17mH7B0ZaAFLPzVYI5sKr3n4f
o5bnhE3ZyzorYvwUlBUrUNhE61VhX/5AI1UtlHlYyl3y6voHs2v0U0O/XmaAOTNPB0P15JiqMcmS
VWTiNPRYewP3eLelm5rQTcr0/Eap6BJPSbDju3x9pfCno+ai1tnK91uaNi1eO0GfKLZlncd6shYn
4f3FRQC2uKIVjzGgvMv7YD3ircMW1bBybNYVuU6EpuL1bSx5q7ZQKY42k6DgdxQuRh5kTbTKkSb2
hhNV0IpdVLCOOuayr3OUPKtl/2pDGrCJUc68N6yGI5OFunkVi7bLY+48Zd5sJckGD7lfRa7aYPLg
23SywcyE5KpY7VhB0xe7LZlA5T7DoocyT3WlKOZpWDZjBfNjakit/q95p0a/bnL8zpRXGc17hBV3
yVh1F+3VWHMlWX4KT9YhuwdNMWiwJINlrL0p6QZUiuhuYmIzCPEeLsML2GejBHFds7GXK89GSlga
weUke7LeqVilUHqupw0XEBMoerqJhhVtkSZJERkRi5bIowFU1zjEzE3lYfRhziCP5MkpSq/YAZ4U
4L+1ddTSvBy3WJpdrHDqbfjCcq0nhE3Ww2HtSnLX8dasL+PH0zxcDukIvH8arIf8UX7oxk3NK1X8
jfl7+tkI2J9S5W1NNI5BFt5hfJ/2xr7DtkmAvF7SuSR31TZ9ioYxqymHIehamjGRSS+ZG8Mw24YD
N/cTp13VRFfcnnVJGpjWbb1GG/PbX+7PGsd69mjBSm5dsbYPhB3VkqOyiwXCgnS8EVCaARYNhmFL
+GeyTu1KZHMRcPs6mwu6Xt1SaWJXXZhBtOKSJCTOU0GQztM4Hq7JqDZLsqEqqLWGxA3R1WiRKjMG
Hh6jIvTCQhHXSyrknHfr6m6FWctY9bR3OVzva0qf921Mn7sM8xXAiK63+XxNR0iYhc5M2KptK3NB
ykE4I2D5YLUOqGFLcboYl4VoMHXVPmR/t6Z9Qw899K23wg2UVRS2wEewjReiRLBzuTvitwIzVG0V
ywI9eATpHqCyizZxsODTMk1DYYA+Vg4rR5dzRem14WtzGTgYLbi7nu+Xab4vQupVZSbeYuN3FdYb
J1mA1S4Dc7bR7q7f4tu1TayKjaQo2pfTcbp9KJIzXjzoo5IzhkEgkZao066zPBrg9B6iIoNWjYL5
8qlR+gMiNNt0v4YSEgUWCMeIpkVIEQ1WPORglJLSOmoPMqcUgYq1NDJLkZSRtsl1rGtz70W01VAM
dykuU8FMmv/7/+oyxfOqlWXasASuEVQjTn1TxEe93Q/UQnir5oBSbjPAJh5FJoYgC03go8StW0WJ
lKHTVLE+2DAMMKhJg6KLIhOsmzFSfnu5CpnaKWW81QW/e7rMX6Bs/TDOxpQ4v+6ubwNEUQYBhBD9
y9Z206BFgCEePsnGEM4YJIPNblwFpB1cqLN5dmSrGriUintPL8fp+gruoQw6j99n/nsG9IbaldJP
191AqHNPoJwGszXtXDZZjsvBH2se9gJ75Gz8FBH0GHdUsCV8mQNbwkbOoE5wfplPq/G8192/7tPl
i7LJzsZp4RfQHw464Q/TxfKJe5b6dnNGwGLRK0ydM19dI1wb3IPDnUb96aKG5JPh8TT6+dMF2sHY
EwFcwPkyGwvRchlY4BJ2NO6vKz+9qrZa5VfLYhBT24jW+2UwEFUL1anH8QUQwhQUdbrKzt+BT3w+
847s6+5xZKgS5rBvjJ3Wdw3xbKFvcxy1mm775D2rMD8mRrzjRSMeu1GPEfbP4TwYVTCS8g5kuEa5
wr+o0iMHCJSDrY6HF02QdFkR8luI7/2n+fL3WTJv7DOoYoINs7xG5as/nQeEsT5DSJhN/NnlVcBQ
pc5QKH6SdGG35rFWhM1p99/lbCVvUJNfNf0Kj4dJWGB0Ve77kzLTxCEcv91vKYnQt1GJ4MXoRlZs
2zqguVUfVpdp5OAbwLL7gpvVE3QXbhRLnV+q7Jeq4JQc0S69jglff+mk5S2IP9kjALOsnTZnehoH
JwSnxczpdasUzkIpXIXiLUjUqzMxSLo1cUXDbmErK3R1IJVcQ0b0QlVR2fk9sV7I/+d+HXZ/Gb7c
ASWGFaFgR6rGoV609cBpvcNZ3mziaGIvC+VDy9h/Se1pjNGEIqsUzRmVYm0TmlhlYJYajaebpW3f
h0ZgtabQYpw6J0ptFrO08Uwfopw8O8ro0Ui7CrPUcj9XEyvqL0l7vQjZ29qejjBPtyRhvI3CvKSV
bLFP7s24z+YvzF1ZrAE5xGXlDN9c7mGU6O2S64VciIk8dZ9tH+4zZ29PdYyY8oUsRVE7aJtV0Rhs
w/OD+iTq0PwK0EjH9/FIskDbVce8rGaxb9D6Zf7CNtO3CM2u6AWiOP/89TEV5gN5yJHs2UopPntv
Xfhw21CYX46ftFUZu/qo23F+wdWsmLOjFsXkkJVM/BrxHys7GjJzyPdLj4W2sSImJ5e1cErB+9vt
G80nAE7bjW/aeszsQNPTOYIij2xxuvIY9cJNPmuzWOzeqtgyHBplo0Lti1AP9uF+kO42CekuQ9tW
HrBrxV1eZx1pz7oLNmM5NYw6fYpXsz58Pn0krIolXBOfKqUbDl1gGtW1ZmTpK/WhkdX4koLrAg+s
pQ/tGaMu7jqGZeSFbj+2vdcUIND6IqWftYssdC6npjC5FtpyEwsbUXStpYidm+NwHS+T4dBfoQga
bKhv0bUyBsSCwLF+8LYDqKAI6WneYZfF/xCXKWyXFCzDSry/vR1fb7ezGzjCZoPQ3GpopGUdqvL6
Lg+B2/QgXjQ/azz8eLrNf3BtrnLAHJdyeUBcKl9QX6Ao5GQWuIACGY5mv8u/ngeggjwJI2Phc6x0
RhvazgSan/653z1NxpodjYF72J2kAjFaxjqXVDDtZ1RjuhSK5WVTJGOAnFUbeBSOvvfLZMSEEYOn
44e8SN56AjH/1Hw0D4fdfBb6ue3+2bdeL8N/b2Q3WJ6uPGJwFW8ISoallGiR3l8ULqu7kDo2MTY+
sxCVYazj7aJs0boNuEXf570/zid6LrtfdzJQGi6Rdf7RsAEO8N+zIzpIwb9h7f4Vb/7wIzQrKMG5
jEF8Ljt0ZuFg9CuldFxhgb6Q61jChby4MVLCcePBPxqxLo+YovNLMWm6fD+9QW3uX4F8+ogvWq1h
4sKHpdkdIK8Zg1UfCEmXUceYoqzytlG+Yi8lJ4VTWBfp9vfL9IYza/43yAHltTGhx17by36X58rt
Fm3sUuC/RyDz6QlcvNuHNMrEvoQy+tPj7Y9Ujn/9/cc/hpe/Yhcj2NX4J5zZIob4SY4Xsc39xz/+
8mdiY7u8HfXEeB2GBu1e8P9ElzcL9jZ0ij2hPFu19LeQLBBlHK5RL2swD8d+r39Z+S/9jCD7pTFW
bzMQXf689J/bNx/obgqNPw0XqnEydnDyUVVMjqBd14SPyiw5ndV31DJZ5ouarE9Mz2fhqavhhPnL
/Wxz/oediBNFrMCEB5Ri1Ys+gzrA8/EOURao6bqipQ9k0DjWVZo5memA+Y6TseWsNIJBsvAMNKAK
er2tJxw6qhaq8np1zc6GhgrZSka2GkcBtYtkNNr+CpXT1oLSRGIrvRVni+B3lmKo7K44bY96mGVL
AMMtbdSTWXhj0NIweVOGH5OCgsDaeCTlq3zM3HY2oQPVFzXbLcV3KFC0M2SxSPfdeNZGUkjVCPbT
LhYbpbSgB0jRFuhj5v8L9HexEX0AqfhiJFfiMpqVL9F5enpqAFmvGl3z0A9f3ShYVuZtGivtRBao
tp9Vmq1aXZFGlzx2lNsE8xpf9CtpYhQd9qAq/6g9WdpyHkTJinoR/tTBPeOpp4P++mkjdZAVLFa2
yPU87s3jTYol2hY/FP6jXNsilGTHcLS2UBFjWKJrgtXbGGWQSY3TfEUFTlEUW2VobJ6y1bbSxoK/
7vVv59ewOsHe9+tw/RNemN9gItnsrD1cqFkECr2elCzKgk8tty5XTWpIvV/PK6wqkph26V3Eo6ir
+G2AaLXVP1ayP32g+NjdT19O89eTRevZwMZlmL7LY4uCq3zQFimC1Caktp0mY+62ZkN03tuAh2XL
GU8wzAlmQB6G25B0NBqvCvGabGnNYs6SKQLt2lA5qk5kzNjw+sWuqRfV+nss+wzMUAt9KRlvRKea
vQnfLoNyFj9IKqT6MZz0f8jYMieCne1OT9ezFneoQ5PdyhlgFhQzqFopPgx/1AMFbo7oyh9DC2h+
Qy9fKGe0FlAehH2qAIJvKdIzFiKCWYE3plxXxewphLtcugjIoD+MzwN8oKzAwidshhFEVplTBKYZ
uC9yOMtNSV2IvGCxXDz6gR0ahZRGyqNBLPQO0PZqTy42tdVw9eXjhnELqCSQx0iSQe3GKIeO6gGB
y4xbf9qP87P2Tj2JWD+E4Vsraa5PH7fhBdjmZJQV1sfDv1zPw151Jas6Fm0Ajv6dYSP+0rBud7rC
zCartFFKnG+XpAqoqzCTWJKYgl/5k3FD+K9ge5UDPBhvX0fwpqzAFzulWwYxECQl3IBcLHzGkhh5
iSa+BPz3WJVrtQUy9XjQvF1cLjrqabhe5z0AeC8a4uoePb6VZRLw7nmYjoW8enQI3rLkaSYcAy2y
istUMeDLRb8eRtSUwxKzw/nQKshPy4tb/cTXz507l1dnyFCwd6vPD4ZhdvoUZfw6e5h6hExyYFKG
Ojndy0kH65gPz2YN2cHF1AX6n+aM0NyXWorHpBY7aRVWhEgFYAZg2klZjIXY0PDxKvTH0/l+4y8O
R5QvBIiuCdxW2/gNFm36IpMJltttXcNqQezv9slIuwb15yqT/ArWD4JLeM84sgRJ+oOyUuNX8qKP
VsK8tPlAMAoKhnu0+t7mvDxHyfdesGYtJCuDx0GCYhbiSZAydCm530PBQkBnbIbBNI7sTRYMpCJK
TyodGo5KsUbBGlNXlDjcAegObsLJzpNoaBcszbPayv51xBE4FrubAuvzRaFoJzMZ2ImbGLUPT9R6
txAsCVjK7UvGqSzYuA5YiYU9ycEMFlIO5DfDpH24ixSv+sfLGtdoCRsKIU2pQCEQw2WMuFivWv23
t4Ttu7kdtcjiKsHkBs0sMs684bezEXPGJFJM4D6Tck1sqcMI0nJQWqasuKxiAXX/hr0pBXpf9ujJ
feljkUEwznF6x+Vu7M/n+wl3qLlmJVuHVbgZnxv7C2CgNMU7D+AvDnuzu+us5r6amNdAQQq8OBsz
+QBdOr1g5ZG5ittH0rqtmHkazItwmej9QZpXYX2IJvyezKU//O0vf/y2H9EaJF0F47CwDV0M1buK
OgzV+3LvJcRvUXfkz7vgcyvL/ggu7LIX+WOWn/BzFX8CF3XDx02YoiAm/K+/D7fXDR+3/mMbFYOv
aVaIz9MB5yDTiBUiyMIFcxCZ0PIPy6cz36dBCTrSUy3DF+9wfsjtvQxQEXAZn0eYWDwyp2zUEvl1
EzourcjMhca3eczoAjvpP4wTzc0kWPPHE/xtqUWsulhPj/82175tYoX8r+DMo9NFnuuroRRJfW2p
OpYB8NuolW/7aKOU/7bQfreN1aTjEZJb9j4irNL1q5+ttG/78Li2IGa6kneRZUpG1kHCOTFrK3j/
6trejCn/go9Hre2HHGHVBY/flRZQPePVprnkr/3rZyh50/WPgG34Vyn6DF/aabD4u/6yp9N0gzg4
lbPIP+ulJebSCvs2L28kuNE4kKU3/r5P7DLMNRv2Yb4UqRJXICDvyEsypqWWHcnbKGPi06gQIN5P
JE9QjMu/zKQ3U7h316F4vMvZbRsjgm8hKNuWziqK1CgBRpCqTh0MH/Jkuygh5lMMmKU8QaTu3Zg2
hRYVq1noyDtuvviDvNR/gG6kSWl/SFZk5cxgYgFVCvTCUIMjd4G0+BOLiyKCVJU7XfNGLsN8W+IY
f0xmhnvmQ/v4QGh6kc30E/xR8TWtCdbFiqHMev8wbDwmq1PyikXGS4JcoZu8XIaPJVXlTLcrDIW4
H42D8WLYnWLCWpycr16voiEn6lHEG9H0aFatgptuNtxlNE9n8dw86/2T4n4Kw+Vconpj8DKeDXNh
uHR6gzSAXdrVbmG5PY06+HqyuFq3V2O23fTH4kZtEAst5bX/HN4HKqHAnpXrUc9h5E1sz/QeknyX
FysLp1rMiH9Ale9P81duSpBQ+GFEUDWSkqpURMerELxat5TyZR+61daXHaX8H33EwhK2o89e4hHj
YnhRVpBpof08jzkxDnHdp/LUChzLVmWs3GXB7XgfsYHgnOgzyxhs3qqg1FaP2M1prlldxSst34C1
jZPydt5NavCGlumLWE6AbF8CRrHTIcisRW5UDfeSOdcMQui//vLnn50rdtl9ezt6raxIhrKO2cb/
MBbZYhA7gQVS+nV4H5MyH2qMaYvYesjGY8NqLGcpf975z3s+uh748j9f5+P4D7FKFj5v/OesEOF8
nG76d63/zhtZCoAKflQvHzkKahVaqQhxn0u1g8wzMzyyfwWho4WafewkJwvaimhqxmPFtGoox03T
XgnNn8FP+fl1HIlPXvZh6s1oz4RN2lQxg9asgwvAwruvFxjreIlrIVzDG+OIuOJeuC06p5YEWspY
uACX4pYUVyxiFYThirvzpGwpC83LZrUA7sboPpuYlE3NNrS3udQITsbMnQVPVOYxWLrNY0sbyh/G
/XG4kB1sV4LVZWJ5YxzzIplbCPe0gDFamius4M8K4ZG+jRN9V8hkr/uwZrR0W9l0jjo8hx1Z6Gl8
/Xh7mo9KZBvJ6lkHk7dFaJYuQPbylVfhApXOOhgvkBdrwsWijFzIn3fh62win8v0zGMulr8MT1l5
CbZ93w6FYVl/LU8fYgUFrtGrJGCcsVk81Mx59K6Ce5V4z9/zILNo3TEV3DOrXBQYJPC7aCuA8/P+
ZEMc+O1iki2Bj5RWhmhN3of7bGifp9ma4HZ6MbRmo0l9oFrfdO+PA3FaiotcxeKbdw9gOJGtwAZj
yWZfh6+DEvJ3MGu4bob0yTpb2OGCrZjjxyA492s1Z5a1U3GYL5y7sLQgXpN+o5u+sIq/wjgPkBWa
/cdPVaD3L9mU+GdrNyXugLnVzOby/Qa///jxgGyCJV57LdPCkxo+Qr4fzjfaVVgrpnm/rE+GGc/G
af0RcI/fHLAUVYkFcQ0Kat2v1Hwmex1QiVQsFlwNQdW6a5ljuCzIglyXi7xYviyGtXaxpTAMoy5S
LouwyMsUnBlSaKebmPKCVZg5y64Bt8Jr2G0pDnhW4ILI61V+PS/XeY+fTmZvlTN5HNlOYhd1aKRb
KbS0lP9VlZI5j7rVYW8Y9jY9jWAV01DxRfIaOfSixieyrot19eGxpvegwgraijfWI/YPeYb/wypP
KBmLRQTatDWrHLw3gLj0th0LevSGoGvTCPBhyVwqB25WicsmGv+hIjWHmO4QdE6QF19qhLbFf1bt
ZHa+zHh6gW4Bf1EDNjRr+dEiJpvCAEPQbqhJcC+dcLhC8d9ebwMzwfVrd9LFUmY2DGCDJ1ecVmMu
GhxXrN5XOn1Zaybzh4y0/Dt0vFxsxnf3Plwm3XnMWAcli8//ztDZdh+v7RLCeSXOlPOXRWjVuUpt
iIzaUjEXMGSD6MTlOm8kQl7A9qNbk8tHSOXt5DEXlKJe2FW9s/yFU0DkbfQxW9XWLE8HTJ4CsYhO
cqUOruVdIaxCb3mF42Bpja4EkQvXNbehr9pnMY+PHzRxwjDpBd9jlOgyjv85HL+MxBS3y2CezBVw
NUYx+55bHesUQbMQDOLYAPMLD+fPw/X2A2zvp8RKXk+ymuLn6XizhuNX+dMiDDHlCy+eqcmVVpG/
93qeAz0vNLh+mc7yx14zhyDg7OPd23xVTr5SpkVAw58pZruQ8Wd1M1WMEv5yd/v7BZ6UrFhhkSwI
+DkWidg96MFuyD7lfSw95pyJX7C35Bds3FfbJ6MVBEu6jyxRazi7PF7C0SrjMVP0dXyMznaDayXE
ts+3iuVmvr0drz6a62tslir03aiWi1hMhSLsPqXT/89xdg1H5A1OV6NuTtjKvrN+1RF70cXrzlnQ
M8MEWmaNVND74EojAM7uq9w+CEK7iwmC/TxfDtNpgGgpNO9dnsHm3hB0zj0PQvjDtrMaeTl8gCs+
Xt4mowCxYuw0UXesb5WyCBbK6l7W5Fhk5WZs31F/yYf0b52lIczrOgEE8I06ZeSv89ATyAPkSLVm
C772FGG134+UoEkBeFkKfQt/XWxSjj9JkhLMq/ETm/FX/+4OdD9N/7rLYqYqYy6N5Tn5qywm4d6G
b9Pb/W03vMi/VzDyM93uyuRvM8oOl09SUgtZF1MXEd40S89fpWQusGHB2LDEPgbhUu0b3vQSi6hK
3ttImbscxbzDM3pFAlUWFnZF5+8iizmFjxJJpod/XjmWk9i2c/28laciC+JAhms8zfeX1xTEBey8
jCWZOGu4IGCSN5qYFbNdMhVFlEn9tS+Fv5MKGwxb6WOJN1GEyrdSMS5FNecSGHiW//c+3o3c+tN8
+Q+sX/+79gZLz5sIxNd2eUjqhCaEYzH29vX340keTYCH6GK8+dV2ehzn65igZlUxgYdTwHqBvT9D
2oYxPCs3WbLS8nbymPA0TI+uOjkUd8QAklmN3ytNXkhIn5RSKJgp7B17Z0UY42eWGcMzK3Y4urKb
FxtGkgFWgCX882WDEe1ut1kvTSzHLYv0z9obObvnCi87TmqZtH1KQoXKq5CJFb0kazaHi0D4H0X+
lmYyJKNnKUiv1H2CoRL6pInpIG+jbKdeWYTWSu212Sb2yPsHmlk4hN85U/avP9t6yQ2VGhVr4mRl
t9ieuaRzFhyBpYQn0dXdRkujl6wQaw3EblBjkd+wKE7xZ3JW7Fcv7fhWaiLoUyoxwkogmHd8Gt4n
izVJQCvTYRyfn8XhunTAKgu8SGv6hVSze0N0jiTBihgu2MteGFFi8aCyWIUhCX5nJLBWzgQCW8Eq
MtilYdxkulKUeQkTJSpFoH6Fvb/Kj3OB8BnGQWyuGRJaYpAIkWRXpjKtU7eF0b4d0XV33Rude5nm
nSxq6qjQEpYp5d1kD1U5j4E0PNaV0Jxc57m4YBXqi2Lpb0Da+OTQ8huaQdIy45G19EGvxdMHmGlu
2KiePIV9sXSIr3xY9oVLUpj/mgjrw2JtzFHCQOFfMU4IAXIAT6KWDnWp6AmXfVHG3KggJ2tkUuXh
QrEDephBeT9djK/k/Sgs2maxowksmsuc3kXNdk5siLMnXl0RM0ICtrQhqCRYDpysiNnJEVqfNJes
WT3hKrIKpSJ0zn60r1xFDUXqLCShXNxj67vbWEmpq51+nr45bDuW4E3H1somi2WkjCYwevIGKGPp
ateCoWpg+j3zrUl/nk5feN4Qu4Pmk2z9YD+NT0Wwth77Kerep/EZqs5xmqJo6cN2MtbrUMEYPBdg
fh7Bo3RZX/l7n5zhQJ5+K3LxUZbFmjzcJLlEZy+SoYkldjgF17WBODF4/IYVCY6v5OV9OgTx0yvX
fPhiNDrM8wJ5+7GDGbb4m/gD7oe1AhM8fBsrnkoujpebXLsL249yFuUx/+l8v+w1XEo8exScUSXt
QlaExPsMndtYzxHn5vVP6Qv2WRGrEmQLyl9G+47sLvYzFGZYeMqr8vNVrELQ2HoHnN/pz7Kf70oH
U8bKFX1QF+7vaLwxgN5DnE0NKKO1wzp4Us/6J9AFprY+57zVyIcy0RVcakEotwi1xTo+ZslS6CzG
gk0Vxplcw9OQRnQDJuXGhtJ3wvOKulAFLaDPmpDPY9UCHjxlulgPzndaJbqFmibaK4Glcz9YP/yg
tOQotVLRnD3UdsxHEPbAYuCOpwsb8qxaQ+faS572MFn0+sXetFZnwfA7W+/WO6Wo+Wx91Mda5ewW
pDF8+OYizCWEJegJT66sYvVuNqZBSyRRSitOKK9wwURxEBb/UOG888oXAeKD7h57ObTujWizP7ye
v5j7CSCXzL+DuQMCS0E0YiNCmaeKHycScPg1mwdrx7k4/CuGV5+OdeRdFOSc4pTTCZLKxgd5m06U
H3zHkgNbeKRVg7JOnAzDqJld+TueWx5UYdJtyIj1WuaEWtOiSBe2YMe4JTZGATgkd7VdsJcpZ5QK
q6XVpisQudp1mWnF6pt2DzXEWqVTFZsdgBlz1L4L/X286Wl8Hd4nY07gJNk7xNoBSFhLpDcxwDt/
pYZ+p/0AMREZV5Z6aaPVyB6X9xNMEtcf/lo9YoXrD91xqGrXevVk/jQd9bbYqpOwirE9McBTHI9H
O7o0YU1j2qCNpW2JzX8yPLmpvREdXlZoki1yfRwuYM/up0O5a2p0vS5nZZEsFpalOpMfBj0NVMUD
4vPx5/OgfNXFinUu4ghB2GQdfOLqd8lr1aqSah81gbiHRaoNSNSkSZRHs11v5w87zgbu387XY5Pe
5qMSV69Z2plV6ONyW7GFcB2WrvVu4e3380GLS9TxUEBU1J7mpOrPoz12IVbJ8twpMpRaklXxsGAO
m5lAoQZNRkajugidf7+l54JUZQxx6WWvIaMUeRR9aMkikJzSjLwyZkPhLAEE4OFCB/AVbU/p9ZbL
IPx5zNOy87wR4lGzynCF7MGDZqi7nwPCYuhxVNZd+CAd9LZRlaeCP5d71DQWFUcvBuS7UQEEw6vi
x7kihxVoGsVyyBG2bpFd6Ju8kkeCwzdd1xXHJB6uSrkFLeDR/Rja8jvFzV7p/2zBtGOd7rb2mQGK
/O9p1NyT+GgMa/aOl5Xdy6qKdVhLGyJG49eXtNMKfGKluEDbMcROvLKeLQFdFm/3N9l8bj1SJxtb
FJxA/rYM9x75Vp4GgYfvBcsfIsd2ZPdVgmbBHdQhbGfNFsD2Cvmn2xjQKbC0/Xk9cF3buhBHOl/P
Q5/byWR7N0WbMAblpTxGLNOetBR0Bw4XwPGFkmnD61L7DR7LXwkr/KOFYIgIHFCu28YVGL5shW+/
eTiXfI425KYywhEE/IOxGv1ptIXMHW4x44INE2QvTw6cUz9d671F4F5b1ROu+TZcvtzP8hIe7BWy
KQ1f4gmsmuHyoYEjIZHZfXvz7vG+L9TXYgTu+D5I/W+4oH/GrnCZ0D6h9mM4jcaZOX78NL5cwdYY
D/8A3+xP02X8m2w4EUJ1EUs4YK5geBqPQbIA/gIrMi7zUd6opx7DVCHYZ1xB/LLuwxdbsEkviS+7
2OvaZht0ffWQU/g/qcAABJ0pbHgeLjcVJ44XQ2RY3ZQVPYtHvp2PHiiGBr/wWvb/wnafb2I/V8GG
+rFMJn7g0s+4XRcroQTrN3G5Khzi4hD3yEpyaMzqlEiXgFoNpqAtoXDAbiR75GWTipFhl61j0yw9
jj706SmdbwWfSuxtYQe1rOEJ2O89pRGoi0Tv/mN/HNXPqtiAj6U3UPsyjw2rxWP+oCLN0NdNbGzM
Qi7tyy42fidgy91SyqHxQXQ264ZWDfo6On6WOT/WfL/ZJ6TSog4mChfdqj/zM0tlGx/IrtBW6WOr
uP4845sdp3eoi7IbSuHkF0V8nMevM0RJ7XQGyM7KA2MzBsdMkSWs18hd6Pg/brfzT3wg56ACHWVF
HYvOhXhC2Gqsjv/KGN4Sx1Gb387D7S9wdT/fLtNeC4azdhXym8IQ1g/zcZUMwo4YG4M4YLs3zfM+
0r/LIZ3moYeYUmh+wc1L1Q8lM27YKGGTL7bMlI4iNKuBbM0ybjDTysuacNypA7q4Gu3/sQypxKG/
8+4Jp6sk01R1HcvBMPxnFW+z6KMgCVwiqHHTolsN0ihjCYAbTuEbI1pfU/I1TwKgkndZG8Op99sC
joImg4WX1Xi2jCEUwJVpcZcuVpJClpeVLONhuiUQnjgE32MY602LVkU3Hb54285faIKjC1v0bAU0
ZZA/VXtEubAVpradL30cTl92Xhlqo2HqGDIk1nWCXUUl+08fuz/87S8KcVirfAcSqbN5j9Vs42XG
op7ZyRleCCPSCtDLNbIvs4E0HPMmhkPosxLH8WXYf1A8V53A1MUmLAIA6nYezNhmeJ3lHsQfCNP0
CypYWo6pH5vwOsxvUNGQKhnuGDwAZAhKW59JluxS0+cM2KW+Sx2c3UeRz1Y3d7IjLbUL62L1zD7J
k6ZRyVHhCg6LCLg7CUMRz8LS8SxT7FFwTvPOoUpQDt1C+iTQ6rJoANl9jPMPLuPlftJ2VoQx5GL9
2K5YsXCZDmp2N89XqTY/ewlqpQjiJJnQz9njZ56tEeetpoCrWBELmy94AKSqaa/gZlkUkSKWBQZl
okXxmRhm+j+ANbWRnvl4fztpEKfRdoDIzFQH5aFRso6xrFHeaBAiHgiw/ZCYkFCsZ0AUfqokMuz1
st99fZ2gpeZ+wnEGy7NIyeaq3Mi+YEQ9azycxZCSE44j3Xh0ErufqjJpU9nyvorp8RXm5G54H6Zj
ej4Gr2XBxIdLfE8AXYGQOJrBGMfWPU7EfWCdawNdqYIpihsVEIM1Sejhsjw+GR1Lc16NFfofxiJQ
jZEo+/7tMkUwp2xJ0uz/R2UudA0WBRtSZSNBDIXGOQzYoLU3jAiq+KIBPFdMBPCU7yLezVuASX2J
6XVdDEOcIEbQJL7N8+44/PqhGRXROhb0GFASQujGmGI4ctLWWqV0O4MhZzAvDAGbKu41Q5W9cz7B
a3FH/ku1K4uuj9q5bFCz9bK09xHFS/IC1ddhKBYJQ57AEHAZVC95/JD5tAF1L+c4wl5t+SjdUs3p
1OY3ZfRlGXPYaCoafnGer7e/2LE2JFmxikitZ88zVrHsIAc5xoTrMLzuZ3muu3HwujiYqpFsS0oY
fUtliUeMRt7Vtmq70yf/tIwlV/Xxxl36C6IwHH74+WeAr7/S7uxcrAUzi0qOv4k58H51YmvGHOcn
4I4zFk6q3UBEfe3QcKFuThFC3SuHZdMrcmwsyNzsoNs/7F1aVJPU5Ajrs1vQX59Ws5uiShnvbe6+
vSqXWhYP83T8Uug2WjApo/7oT/JaFQPD9cLT0cqNqSF8SDioBl1qCBbtnrCruYuzBtDiYo/78SAO
1GpZvSj8H5BpfcGXteEv8JRRLusQCLgeQzsmYL28eiAhDWK28xGx2EEFCTOU9LfC4BBcyQa6TXsh
q0Vcmz+gVcGWxqcvEwTjjYi8/X2eTrf/hUnKP8tlkJQHivYMcMYdbz+6ZJOCXkK8W8XmTjlEgVXf
kI4aay6TEd8b665QdNuE9Jb58IRqC6ZS1jzcomgAt2xIRfxca7663p9SLMAQhBsshXtcT/m4ZLNl
8B/Ojr2eQbbq82EYmhszG514eXfDLIw7OuqlZnRHVVjNRFLh98Plx9PzbMM99Iq1YVgIElyGVU2d
j225p3G/aK+CNZ8QokUeqrD5y/28SYhUjO8wTGyBliK6K1HbhJqKSTofs3NPgoXczpDFVTdWtJq6
8jrhxeNfKRJ4Jc+rCEurQySIF4uw46p9gBA5pFioWGFO07X9mQN4LfbHwpm3+WfSp66a2OYzDuPz
dBr/p4JJBpUUfdhSXIVVgcuPYGHF357XvwEGi7g2A4ENzGCGXUCvAokjLdNkrMQ1Q2s40N0WhnlZ
kjb2z+uOFwE6Gsk/wuqVm8fqyEdibzk/QxFrlzpakbby3rJYBis8vv236OGXX5QHZuPPNAEulM3j
bOc3nRbRM8iLywtVsR54LNsByWH88pfpJFcXd922fQj8vulNRVCL1d/4zNJdrKRafQnXBOPXMaCg
NEHkLbZB9XiRbWUjecU87CUoNtFTZ8eV2AuM42XB4FFtuZ+GIQ3xTuiUGNl290UMimC959Xtb9t1
8cADPNYQxudPliyyli/DSS0WNB+gtu9B7zJuGoptb5DbHW6aMd3G5rCiRYQdxljrOZ93xqx5MhT4
InE8mUdM3VeLooYwyJ/APPt5gcHfcVPwz64JMdEchwYc81t9lN64C5ePn22v4O9cW8bK3Ve23ceq
5cdrXezI2Zf301exT9c2P+E6z7dXZ6gqdmETu2PZA55PckcXmWBtrF3dGayU5QybQRVDvIu5cVRQ
gFaqDfqP38b9Hd+KhtpH/Odpz/rNbFBzCVHpxl2ex7wNsH3uF9cTZg0ihn+kw2z3HeNl31NKmFUa
VCZ+W8Rm4ViaU/B2eBktQJrsrkBnZQyc2y0UP5iyWhmL4DlmJbtmf5mvtn0BI4PKs6ny2BxW4gb4
b9+wQ5JRHKKMyu6YR4SMVmV+Xo0vI1Gc8J7hKgTdpMNpPn1A/+POCMulYBuSC4qkYfgUHqoIM6FE
d3zTjslSkpsxBJLe0v7pNg+78+nlqEzx6XLt1jC+ZsEPVNeVjWzFhvzSIW7AlBUXgkw8NAarwdsG
MeRiXLkDE1D3yztW9L3s5YN5CoMRG8bRNuG/kFDKYw8VCQPAh1RBMVxdh6VyOkahCkurw+Z/dZh6
z3D0WRP7Y8BMeQAMLMYPPbHRcLGChCRgdOKaFAdfooDbFGTfR8eoObIkw/R9x5S2n9GDKbENE5P6
LgvGHIchOqsptmowNuIMm7gaORj/oom+XolTbzgT1MQHcce836SzEmKmY+Ep+kcQQ/z2sS2SycYn
wP/rJBq53D5i6RzG8UwpDIX6LCjN5qfQU+fGsHxCJoF8jYCQt1BkBo9LwQWGN7jkBk6fTQ20sbQK
i3Of5i0ZgbyMnfLvx/vLblLeWduEcy+CMxnTbBxP2xigUqK3Nr2+Ja/Bnr1HEX1MDCnPrAqTGN3D
Crf5rHy+QmoqpagoQJfpArboYmkCyRpImJZskggzD8FN+v18+PjNLlKlpPZwY1dySgCFDOg/DYrZ
UEYdLiuSxsPuITCs6Nci9A6bzyRrZWL2MagvUVptElOrCfWV7oMpC3Uxf3g4AoDB/UQRBCVZEc0H
Xe2kPRaKBz+LouC6frB4Le5FsIjvcJufdmCMypuJzudZ0wQdGp0kleIaPdbyppNDRRMCeTUb7HTi
MMU0ZUONcN55mffR8zpLyjgTxjg0WuJqJ9IrPh0bf4kYCqUdKTxfzsYl8cNDZMRvek3NA4AZe5mA
veAKTzZgOVR8nhvItyZLF8VswKzJ2TxEJozssn8yN4M2MfSDDpDghmqt92n8KgLQ2RorXx/FZpTY
uaNKHYutSI52epDfStV11jkEym2aq8bGuLEeUFsokrRr6Ewceca/9tf5Mv0KQ/mOVvFCzzNNmzb3
MF7hFqYLONr0P2vIPlms/koeTalhMTPILBb2+uf1D+P7tB//Pn0bjz+BxarBh0TLwYbT/nVJNmg4
Paux8su8H6qxta1W8EBZCafcSW0Zo4+WALtix1dsf5jf3uZTaqm8isIobZgtWmj169EmiGU4Ms7M
JZPqJx3MtcpjZaZPs3HnBk4wYyFYeaw1L3jGhZhJV/jmBWg6cFOB38z7SgC5tiGqX3J4aq1xaBeD
hCPYW4ZvR9WLgyrDWL0gmLRunJw74JbmjDpWRcug031hL7RV7sckrljeRtuW5udn26SNjRp25AzA
vZ4O9uAaLHsTw+FzMV2rCgStaStoy1iJKFi2wfRO8PyhIHq4G3mPZa3YTGpb7QlLQUQ9qZqS4cn4
RCUsilMJsAHcZi2fh+NVxmGpLPRBbClCpFRyfLSXNkRg8XX1KCF2++E6AsDSCW7iXdlJ7yFusKDZ
VsfalgfqIcLa851SFY0rdf5MiE1TPZLHTXd0VLJ/r9DJQ4Gy1GN4j1ZniuF+olcWo9f+OJiHiaCi
/7pPly9XZSce8oap/mXAp4V5QpQY1/sv0zxf1oJ9NQVbi+w6WczTAoV0+0bha9+VwWW78ann8Xg0
FpsQJKcva4Y8BKCgyy9Sbx5kJ/BGVEA64pM2tgl/Fcod9DH0ohiH6WRoPc+zdqonAVamYLPIqXx1
ofiaEQlXSuFCf/EscxGsonxch1vwQDsJYdN51mWQw/irjt+S4qaPySv2fATpXDAoSrw21k58XfUp
wtRYQJWfDyPUEVkZoRyrDsG5Olk2WNz0pZFBXrRuxRsCnkoSqvWb4q1++LRfx8t028ahPRNXEUwJ
27Awqa3gRKQ8xuqR/aR4qI892iix/WRahcxdCPFcbWKJ49FuWtln9YAdLYiIlIZmopK5CboFoTyg
6L70AyunbEJEuVpXixv3WPcxAUMwjb87/HOATibkPmz7UHRlV4iXsGzPuiTQ3blBbkb13bKgNXkS
9knThIuUbmzv6XocNIXV+w+BRA0z1pCJ0tLTczuzb+OGY0Jz5eEVZZ97N1C9rSMEVl0ZSp7WoUCT
z+CCxAnk3LXj0a663C1zAjowAINrPZYMm5Nhl/4VxvNC89dfhjOE0fHff8RxOXrIKWMdyyyFdkpE
fG24qo+3SYIahD6yr6/TLQWPnXEMi3KB2nNAPawx0dHaKWnE3paxaXKGu8RstB+MuLv9BORewl70
G49/D1ELRLJBHCs5rgPYCiyiy/o8XAtVAuWzYz1daJLYQMBwnfbyN3Ws5OkVis2un4jk4VJtMAOk
tiBvvudbozKDOIq0ExJMBSVi5BkttBRDXmLK2S/1CiGlm7ZAHoNbopszUsUxEPk2MvolLVZ1MRQp
vxuaI25LrbRNNQ8QScgZw+HjKr/1nLXtIvJYv+QfzRYo6UaN4uqsL9qBh45ifoJ7Rof5bZhOi36E
OfPX1MygnKH9r+DWFgIh2NruRb8wD0eFiZlao/FuuH6c9tpqUbQt+wZ/IDMMquPm4+EHMbRhz9bG
oMhWXG3RuzYy9wovz0dKfRwfIHNEiDwHFLuSZ6Fs3CgZPWuzOPnDOwGsrcNwOaSfir9Gpgd8XA2m
20P39/1yTbBUHjsicZJP+AGWqps8ioNilRXrPAZ4RhUKvudZmepK+/KSCX2/qs1XDJGoNbE8EIXk
W8ZbpniyUQXSZZQnLeZsdNjyfR0jLrHT1b5eFWKE6JuFMrt7ZMq//syHkV00AjF4OpbxXTGSxXLS
KOU3xbzWZRkMDOH5TnOS6qV/K8w+IvmL+XFb9Jd4/lUVA4GkXeA6C0er5r8lehGTJUR0Po91M9k9
Z+UY2mgt8NvzdLneMEz/PH1LA8cXeRkYp26s65IL3c/zl2n8I42q3pQQzWMIDBEgDi1gae3MLoan
tTDF6zgctNkXXQxcZbr+8V/34YggcFQkRn7c7/Q5FJR4K9VpTNaF+Qf0zv7hb3/5O6bTtA1Glws6
G/Y2D22LRjSYL2/YQ7Sq7QObHPZkv4PDSl0XFevlcdo9xIoyNoeWXSw5Wk7HE1FWLj19nAjlKTWk
lDK7ZQwPiA2NYNnF61WfUOB6IXU4LVj7KypQ42jeLmNy1CghbOXRMUz4uv+QBsJgA3WZX09hi99T
4O8yPv+QwMm2QBgrJJbWOpv2PVs02P91m45XXOB+uowvkBW8LK3tyTl+rLgswLP49DpldFKCMFP6
1dBgd77f0iiWUVSlZ3MZ94sGAFgwCC9WZrWamB1IaLUwoeKpbG+0UbkEJRwWmGhjzmvUssUSDDHP
F9YzhNMf8I+alMhDTrO9YOMLguIQplY62xmH6bLjZQxtEAhzNjdnlCxG757uL7uiK6paY9yGwR4u
yXAaWwIm+xuC0g4vGgrMeoZJEYWp233TMG4Ymimz2QxlJsN5gBsUNfcJIb2KgWlB/TpMzfytZSgV
AyVlhWTuodwvk1HPxjLGmeSGYk8fRppdiWZKnKuLBaco25+E9cvX1Szlynp4N3w1X36+P2kGA4sm
gYguH9AulVZM4urouLb/9dOfP1uQwYD04K21TiOva+vsWCwg99Po+hwP2tD0rI8G7aAmBgc5bi8M
y/roBEdEoqLWr9m4uV9XEyF3b7reZvBQEOhvnAbzLU12YHFyqHDOoB5Zso5BcN2guk4Fcc9YtnCl
r31Ny/X3Hz9A3BICp7hCltViO2m+6telxbK8Er8oVhPcc/tFIf9GF5v5LgIVQ+q8Dbvxe/sbpfwb
fazhFmoldnqpBB6pDMdY0Vv/3c8//PgjllvsUvUWuEh04neWdfKeq1hjc5b18hd1lC5ZI39RxL+Q
7zfPoreVyzxU5LHxbYf72xm8iT9LiX/8tA5hJ1q7PZmZMoGZZNbI+iiLZ61MgjL2G1jibR9UKUII
1mzcTrcwokRw/MIPOgmuKJe/KGNTXySq4RfVw2/QreZRrQ00YE+w5lNrn4/T/gbKUx023xRVCKxg
bzbPxB/0kBbY0pX72cAUSABmMtr3ML6d55vYNGPFdhaWvnrE+r/db8ZW5rVjsMqMf+sn5kBcZVTx
iHiew+PQPK4l1/vAKqxDlXXjRleZDhJMKG6nj7VoPC60TEhL4RrlYasAg+11rS1GoX4xC4mFPbiK
zyVB/YWth3rYlkyf/GHU+KcmlC7HTs0ojY5aCOtg7WRN+CPNUdLKYbPoNGnMQjl0ol22A++CCiw1
KNqob0LAyZsA3MsuilLtitvNi8LKZq2M2ZMHKgC6am3/6dDoGYPJZg6fA6RHW0exeFzke/U5vOYf
rz+eDuM3/py3xGRw4tHjfKnEzCJtekHJpxcU1HFnbf438NIMfWwXElWBnvSxw2XU2YoOAtDM9ujQ
4WUkM2FrLu7tCZhzac/Y0qSQ8ZkNmADLqgfXAKMWx+lLCrjQckodc5zWQXhPw9TEaua58HJcBKll
RQtoc1/fXwSY2i4WuoV2q5s5JJVlMNBZzVWNA0M/wr2ncSpsaCbagsEGeoDGJngZCBgd/6ryXcHB
wYOODiyBdd3CFtlBwz5nIR7m1q1Z7326IuD4p7iOHRnd/V5KiSyT6VNDVdikAyggbetAPmIRiCZf
q56HY+GGu5aXj2BXOuWkD/P9ie8MQhxaoL+RghB8CkoqxZ2xrM0KVBisqytUifxk7hM/DP4GddV0
uqfIiCYmmz3n9xouN749jYfD0pBmNaG4JJt6z2r/wyXBCrhiWYsY5salvFnOylLCpcz7l7/vYjP5
VsQykm50TREWzs386ckIry/ywgxy3MuW1cbMw5VBy9mYThb+ClegSnb3Rq7yWlV6LaoC3XaDfKyg
wHUh2ZSt+bGUQXUXX8pID8kuwyW8ymeTVcIl5EolPI+nNavvD1eQ+75xD2wiarO0sK9vCzkIQ7vy
QuXDxMbIZBVWt6ZNVIkGCtmgDD7gWVPfXL95DIpoy+FXnBI1XbTqTmucF9JY4T/Np8CVu4aI7ZLp
V/bheNLMuZo2Ip4YB1Ly4TotQ9qAVO5/Qib3d5BAdQmuH68/Kb6WpVsWi5DDEX/GLQWHpE2aK2EW
zP00fjtTfHuByhK9Kg661bA8FcEAz/eLAkrDuveDggTMSA0Hs5Evp/nraach7PQMIplbZVAUFQ66
kR3DMlyhYCvMJz+BW16gCkFpg8k9oF2vF7mZm+FUUQWSJYMto9pwA2XYs57xX6dTwN3K37NWbS9X
DwC/sJWATQxjnVbYRsA2RkCqa7HzsqhvnWpdZFoWMUh12oj+JQO8CSrv/9dPf9arFpCCeQi/Yccw
wwuAoRzp83OQetZxRVeITwEDSDLMBJs0gCZJzVg4cfA6AIayJKMvqW59Ol0BYJL/lX6ZRYB4ZS0t
e5jDuJ+xMAgTu/ZyHWiE9kwYdg0bsEVXuyQfkxjZ/RoppeTiauNlaa/9MqYfLAPXds2/j6UM5Jdq
BQ1NbJLeEpNDK0BzB6rYKK1VN63rjrYGWmKISxFNJtngEuamtnpRJRuSxWpzyVqk2Bl5uLfp+SNZ
y8+Hz3lDdMPU1JwFJVg75+IegsWxYXxk08bajn92zVlUZ28smeF8Hf8x/5fr7R3VXGrOgA6WobwL
SDtW7P9OnefbPhSnhmnlu6Hy717UNGlZVbFaAIuSkCgVqqTUYyw8oEUH2pgz+rLfNdo4tWgneDDt
5za8aKzRrKKyAYQCe4WGQyeHApwY/p5lsYCOjWPAPGTCrrQT0DjUCc6BvScy7xU3NZH6lSvXmyDw
uRNTZVSYV4dFjLYxaniij/fH4e2s/XieHkDsTVBfAETFKTuXLFJnHLexGYwKRonmJ7Awcb20qWP7
9j9Uvi6528J6KSPz5oy202pk8ljYP1oIiZO27pdJY1cmyXzbPS+7ssDR02kCyC3zf6EMLIVJwoFO
vNkkY2JoYT4GZOHyM2atP2I+4ScCA9u7AsvBOAnHDz7jU0LPZhjXTjxgpRoPOdjBNcn4aBN7n0ZW
zF/HRH+iFXlFLPsSVFv8Y3j5K7VN2ADr7g3gx8zNFNr0MlYQzIapMKc7OZWyiQGSkCZ6hdoWbPYa
h8teHRVaxMQqya37yUkyEF3JQixWM9XgqagsdTHP8CsqWLPYwLZ9W7TdYG81Q8R4fJ1sBTfOU16J
9auzxH5kJSUlRQt1sYWkoyVKxuiQTWxFq5sw1RlYujowKe3R93sGfXy4ohsq+8kl81gfsV3y3Xgc
M+LjoRP6yZU5CgNu3GIJTwGPyDfCcAxY+Jn2tInLGMhJkCwjLwNv9tOHYhgnyLmWdfE6t7F+lM9s
9Tttats6DJ7Ca/KHBTYxarXtDSlkiV5VwEWfpjRD0MDIzoLYDtXEv4kzWYc6Yig3QbBsGWn7ue1W
sa53epPb7rMMLiEP3vaT2YMVQp/eWMY4Fv8hcIqytUcwExfL/I9LUHdzoVnoRtkB8OWWwG3l0wku
aAVr/8W6qH97Mv7P+3ixndZQo6mO28T9lgwXpPGImpimAj96flacAFrBXwYUWnfW4xyPk9nLR/Lr
PgQ7aZfaCKxSXmZpuvWUlRiQkQ1rQ0hr8d/dSideGKOCjNRV9LHPRGfXCiJ/XnvK9DRjMvgeza8/
a8BAdc00Dh9+7JewMJlYgS4v4/m6RzROvgjEGSnVe7jM5/n5WVmnjoHI2IjrBsRwImoRApCEJ0rY
x7QNvwKDFbQ4he7Cte+bmDqwJWEbuZ7h6XBfBxErTpjXA+SLo+sqVMjBFK/vdV7Y9jLuzU6Sbam0
VBsDnyEgCgePmH5HVanczwOz7BBnZFJlTO2fESi/LvcAJRMh4KUeIkM5wxu3HRw0Reowvym/3cXw
fRbyLscip12hShOzj+yg7c20LZvYbhzvJ7CoaR8MryjDAnRnFFnxppcZ0S6q2C4emg182FLZjhdQ
WHjZ8qEuywW7oOwGAjEJky8SZv0aoKhKKtmjbXUxoJ7HW9/2rOqYuXIbvow/4XY0SdOHeEaulQ2q
4sDJfRvOGDiiOZdaRVwXOvLZUgrz0//8/f9OYKfyMey+9WLpoIO2EBu63NDIy0LmAdL/evK5FlTI
wv0sw2vdkBJX7+smIs67Z7PHDQV0VRmFR14XXjn1Dy06zzDta1u9nw/WsWELGKagpp+JxTcpkBFA
ox7G/dGBdKUSE6zxhkHLGUE57KeDBiTMih4xHlcVD9WqyH1QkkmNQU/j7SsMMtDLY2x9IosUohRZ
dOfLBaDBIeZaZlojcBXr3baJ42XYlR4iozh+tAgB2Y9ac41ljdxj60R3l3nWYqB1G0WUtTW6fGzF
9ePtaT5qgXZWfh9gFSM6hHNc4elT8g+DVXpFbJVXYWi1eaz6A+BjrcovClEc5A8wgKqdqwv7mRvH
lHQi96rUiGkRI41ZotJ4Oo/lS6T6HLp2sX7ABg/LWE2rBbj/Mn5oEydsVaxnGIZwQS/9+jqOaAEe
oJndTVHeQVP1yViV40F3zKwIaGMJRTrvdARO1JCDS1Y2xDQGK/rlzWFq/bsbOrwiFh4Jc7ZGKAXe
pvZuGQMwXRQmVa7w2mwW5TA901ANn2C5LqkV7XrKWO2og3O2OM5YaABq4U1PPZdtG0saRDAZtOx3
FsOjR7hyYmWMi31CSWTxLK2/YpQKFLQYF8i1neiz2kXDNJK16DA7aw3Cv27R8SxdibKrtX3bM7ww
ytosCUA7wY+QDJj011q6u9iFOHAGc53T8wQo3bpFbfN8WWwtLNw/g1y7vhoLwSw5HA03Dsf5JWkj
sX4IJmtxHo15dWEUaHwO2pGv8/HdTWwx/3bGkso5IS8IS4aBZvVYT9tbq9fi0WBARa9ipIUecc6W
cjzM8AflePg3NvU/HrAfBRv786KvxI68ti/DPkFrz1KZ+LJjHK6OoRa1sgAW7PJYU+Bqd39TzArc
VRsrsh0OB/lns7Cw2prW0/X2NH+zv0sNdfISVRjV62I7R7rK+2bNPM2SRnbf7ijd7Yh5oNpTXuSi
jW7E9fuwStshW0/G38SiU5wLqDoPeNIiRl7ayJXPqsECRJo6TK318pJsZ/6lRZnyNP8Oqzzo3/Sd
9r5enkV33Gg8K0txDg48VCNUEfFtmRacWJzVvLPSudie3UuQ12KdrYjiYQd0LtN+bikcAqRiGWte
sByCSLb6vXr2Q5XRhOwnAxLjCVhQ2xeFWWosagu8Fef/yUt5/kJB3kr85Sb5yCfqQrYKNgUEMYsC
1tBZ3ksebSXAdrg5IYa6OiZUIudQJZOXZS5IGgD7Y5pLKeZg+XmqIniM9XrtuktUeBcMnYIXuoQo
SyeHdathKrUxvy+0Hx3XbO6TcyNPVx7GUjuz8yi6WhlNGWxtQYYTOyqxQoG6rY3Fd9vlWnFBtKXW
CQ1zbC0oUsWCCdyTWEZbTZvqJktWa8TNL8MO578auwlaOYBuf9XN6qpeFWjVSyCIpk5gGYLCooXQ
Jvoft9v5p/Ffd8DP3T6R2xquzefqgzTHlfmIwUBnqCixhTwWClHtga5YfwTlolw3us154P8BdWSV
phsNtLvez/rkr7zP4p7NAh71u+PbfL39bBbeqxBSWSywA0LmH9AQ9DM9cW45AjytEgiOp+ypCR2C
/jR8WFcKtBJLsPR0CSxu91vjdCy02i1yjY/NwqLxcBy01GlbMyLymijnZo4usX31iDtqLfBK6G6A
9FSRy3IW+2VtgCspbk0P2wQBilsLCDVhy23pW3/+fpkxqLjqbqdA42KDzZc3pWQ4L2Lovw+rvA0X
MfxO61QxXNxlHR5G0FZhQNQAslJYiPRlHajzJMz/cFintmYW1lO34YrI3trneQz0e00gbYEVvnL+
eKJleJOyTMaAhzE6UvopMMtiKbQH2hBDou6WoMjDlaODTe9deeM5K6JcAcdO2P9+MfocInzL+iKu
Ex2zjeHZiksV2lJdDIL44Zzh2smjliqfB8Tbp4AnacU65I8yHLtAgIdaFXBUx4ejk6FBWE/dcJi1
dmk4u4xHdciPTVmwOmTfNgu27y+HcTj8Yo6ixU45BiiwZpMvnoCNZuZauLSPdUZ+M3fxhz/+9cc/
/mH3z+F9sHmT98FYwIm8SZ2VsZJltgpM4CNsODe0W6uwb2OR4VVLjisWG4/PWitOtC77MWmiJUnq
aJM/JZe+H3KhZJNEMRJPW/vh559/BvnxB2MuDIQFi5/zOXeJXhtIgPQxsK399Ur2iV+bzyc2VjWS
WMIoh3U9UBiLNlNKni/3oWHMQ6Izi6GbQeIZbMQ7pu1o8KPot8Fu6hg6HCI5bPi4DRHMiuVjRpJt
WHcOLBNr6729ZvM+gEwKLgNbWrk4hvBlWd8KNrS8Q38jicGxTj8ueTGAnMKY9nF6HoGHNXeDebEZ
1mh1EcRh6L8otDxFFwte+y6r1+Fy+Gqs4x/mE4112H9ob6eMCTCfuITrx3TZdRkQqZb95zy27vUe
5idsQBp8KsCYXX5EwkyHikVeU+kRdy7rdMfV9V4Mk+Q+wmplFQZibSzXkAlxqRfsq+cZB3XtFY8A
8RZ8pBBqqGobWAM8DEpNWPz0y7hXUC2qJgyL1eyI8YSMslYeQ+tjO3qCg8JybGvyanUsemv1xe3r
tB8TqCtVFduOrcpCan+73Yejjp8KC2W9TCMM11yBxH+V7Hu8++4h4OY86cv4eyDLcPnAcUTXnQxV
mDUyPyYKI+DzYpXBqFwx7giS2i5zOpxxG+IqeRaLBzs2/sFxsQLRGGUTS84rEuHH008i8AWSs48l
dGgJuuCDq7tbtTDKxCljaQz2ykkCLfVvOu/lyrMigvv3vlSekVrQFy4YIiZrM6GTEzshBeUF8jCk
3rgQ1u/t4/wB3yaCrZi/9f923T5tCimwirdXidfnCnwgK2GOI7+BNiRAwcUCFKoszaoJ6VA+1MtL
dJDP6NdgEJXxVy2/h6yOcZ571Teo4V6YRX4ReWwrj6oKMMlVNKiyCRJQC/gFAjBbBl4qWgHkLbWz
nDGcNzbTjHA/QeTFXCkO0YIxRZebnJXpMganlHlvYy2WcOIvKSJzN7uErKuL2N7LvOlkzNqskGXT
+jrtk0c0d2RXWfYXK5GXxy8Y8NguWjK8K8uYACCwekz4QjOxKn0rBmfmR1eEwkJmBwYCjKTKKp6t
wMSDr+tRSxtwL200GRtogukUl7HfRFpXMRIFQlbV9kX2gJ8J1TxQ+NDXRSuzThRiDKs6dw92orxK
KUh4LsvdhAH5nqoYPJmjo/wZszG8DxVXfGvml+lZhyZH/5knJT+ETLZDUrXfuKtVxUIjiNzxDF46
mlY/pJ2ElTIILBtMR8hAKkj/PjQR6XHlZZZlMsPksXqbgLw/JPWPJwZyjmwjJyAZcbE2avrbDZ2H
k6wGCq8GyFkNToO1Xx/JF1RlsVoUWsIPoV4XNqYMjiJk4vbhZtOqtHuwKpXhN1vm3rTRukNfc0ZG
L6UdTvMWUIA6PguFgrFLZG2WfT8b8etjuTO6PzsT4nSwszGhbvGVtQNCT0Dq4GUWCwf+QLM1LITN
26ahf62vWCO33ks9eXBW68tzONKbzdxC398fT+Y6U1Ok8s6TCaJEtS+dMMRgeTejCfevIviizbZ5
ksB5+iaWwFusa1UT2AWLWIabygTny+/+/iOBHkAR0PV2HiAviPlkjI/utcQSG43Hi76H6/iP4eW/
hMoV/JINW10Nw/jxD5t/ng2w5EFHXET7rIxNB8Qpo1fof3pGsBIVIYlNh0QwsnAJFASAvWxWGg/a
Miu0pMobKG0pjRKhL9nQRSBgaR84wnqM1+1bYIWkLIcPsxO2jRWhRfrYJNELzAHfOT67GkbbwbRk
jS3qjo2kLAEHM7cgCePX45hqlqY1mjIYTOtwD+ebq7QYDyyfPp2sKtFmiRY1uyjWimDkM3adfIJU
fMJl56cMJyeR0DbiozZdYVA6E8zHLHsz3QFiUkJbI204M5r1K3gyeCIo98xGEbNqJyaCNCJUsXS4
PftPYgdRzvCXVlNd3aPZ9PTr1dzjlkuutMgqYlOTuexNC90ydn4rdLWfrqITpBnnbRe8fUzuL+KG
pA9l14ydoDFUHlMDi/TZxEsNF4UeZXhVDUbF+jPUW1HWb7i8aPBvmQAj52rzI9Mwqb1EW5TNKIN5
MmW0N0tLHkWbfMwCvdaZ5TOuhHDgQqqQ89LR9MosihZmNwoVhBhVI/Tvg031qzWmfEHPvDT5llr3
EJt6Px6PaeCsIlbOtmDiU0hLKzioYgNPH422Rb76QT+q7V2wxlCO+roQfIfn3dGBtYJcltOGgGIW
H9dBzY7JeR2rOse8ephBiOYLOAVbhg+2Mc4Qeoem0+t4mW4rKAytdaiPPz9DwWkftBLaSJv2aKID
LdhtIBFP4Aph499Few+ZhPP9/4wfZnu8Du4L/o083KV9CMxH+hdobzhu43Uw/zpcbUwD6gxPMKsY
hHcSvbtiEGq8RCAcYr1pSkMeBdg8H+8vxpRi1ebjFsepZABxzHI8mQvGOvGgfH1rfsYioEdrVRbP
9zK8j5frcNyhM2XZcidCtNhC3GgDslRvT4AB6hgr+86rAEnWlsPt0dx9A59Ra1nk3bo9s70T3fSv
2G2ysam+4UN0Gpo3Q0enUvR0p2zR9oGwdfkM27utFXflrLSHweWuHeL5BBeK7VKvULa8hZmLZjWl
2lfOLOJleRz/JK9Ku4oy1vewai644VCBMdZqsFya1mPApFmGoc9sqeyHKh0cBrYLQ1FJw6Li0SI/
gJD6zoweNWrd1pvNzl3SejU9GUATNl2sfViazGzksALzYjtBqvhEIQ9tqM0PykOJ0/23ErszymV6
SeNKN50wxQrq4rBlVquIK2OwAZJQob+AUPZbQuMX/QrtuhUKjbRi8iw2LnrpTyL9eTK+uTgXxXaB
RDGI3TCBg0qeaARyVQzpx1NN1/mYUjqseooD2Ex7GM5yBRjLBKZyWURHtYfIFhcHLrtbBvymZ8DX
0elWROyvMLdj9zpOL6+qzV7EFHTQUWCLg+fj/e0kzsTOiyKORvFGfRM7DHcp1f0UGY2qYaTIJ7t+
yrqLlcXeT9O/7ujQ+UfybkQglzBa204de7p10bYK0HfGmBKVbrHBENBeah3zRGiS96rpxVWapooV
S9G5SU+lhBc1pbRdwcoh84KiOo+1vN89ua9kAOwFQhybf1b+NeA0+NE4nufg7rV3UYUNWg752jVk
fW7geM4GRkJToZ2nZove6cFi2/WGwvcshmE+vZ2JXO6+4f3Cqf+QNra6qLVvXsTfL9MbBlQQjmoT
ik/FK6s9SO9k7AJkFHG4qrX7qphlYVWjdYT3KQ0ZBbhe9UhpWiyKsE32hvF2E2GCOopSYusPvM2w
4JV4fEEbMlDBmnrJoaRG+BDG4bZbYVG8zle51Zol1nkK8HEVY3DhHBjD+OD5ywtWsXxsbEGlIq3l
hS8FgwN4XGW4vYomDq5UxIEFHlZiI8bEtbporQl549CEkoZ+5Tnv0Fha35rWqM8KjFhs1Q6/mGD2
g03iKuhHuA5HHcB0W1a10o5SFx+tdhT4Ub+yPI6rEOHJ+TYbC0VeqY7VhL18khlZLS4TT47aVwAA
03EVWE1MKGrX21BQ7vE4bew4diNOceKSYHxJCqW2ebPV6LhwesoWVm4eiudCExkkxuWqqVsOcueh
sdw25p9R6WoAhE2sJMKYEdisO71ptgND+WeJ4QWyZjqo6FdlTFvE4nLT4bdG5aJ4b6FFgzEgmIai
m0vxsbjYA+Sg2OEh7GBOuKYq++iUcVuDAVs5if2zpNBaaUzgf5hv1urMhmzkIGkWK3E83M9HmH4z
IvjABqBoBObuH8rMFsQksK4fWpiHt7cBa/OOHwgnQjY4XrzjQoslI/e1F1kMgZhWmk+AUl4oH1cx
EPr03hBIPb211aCEItgank/5uIxht/JzKd8yfF2mtfkP2zHk39AnvGGJESKCu78gXlZ+ogh/omZN
BK7pH5MJg1TKjMvk0SkA/JQOug3bahLHrh9wymE1Iyv+109/xi/AmobxWKICbX096GoW4ef0Teub
aVbDFT9jy7W+CwBX8fxNxd0TDkLbj/MzyA04nGtWvcrrZeHAweq7bMPW9+i4AaL2fLCL+TK9TCeZ
wEX4Ybd8uKECzVXZw9ds+i58fR6u16/z5SB/Wm68EdHob33tMq7Cun0/YYS2vnZ5udf+Oy3r1jcq
4Z36+tzPmnyt7y1YdvV5k6/1ZbbLrMZsQaaXNGzr2wmW6Yrtd5nAre8zwVNYT2MzPFKhRcWz2DxC
QCuEablLTBtMlaUkH/XnBpzT+Iwq0J0/QtSd604Kw7t+8steRM3JWT0AFYCgE8yD+SBRwRiS0kMI
hdg3sYoqWsD8/m54us5HnEQmDPC0OyliCBIQwrmyc+G/QypIGQmNhgtrXYAnWWT8XLSKrR2RMcbq
Mta/sNoIhppEECZcxrsokJppqodlchm2kHUJAgxM0z58XCgf8x4csBMyWypN35MRbcerPikxd7og
VvcEHkVhgYkdq5xeoOV+43W7VO5SCVaztTzzatthoC4YxwiWsH3SCfbPe45Zg1ZY/t8hfQCS3xUm
UAZA21MUAsceh+qVGN4qgSPKI9ztmv55MbR22uBpuN0vw3FDZoJO68vGeCXG8tR3Gwbi2JXqoP42
eBnD8aaE9Ojz4gE9NYQKXhcbQBgbigS1NfOQ9oUfeJLipDpWXOrI8hVkmNFxCUbqonWFIS9q33NQ
GfxHE9SjUNERQ6ZOYG5lUSfaev/QHXA9JuYPlHpHhMdmUeqIMg4bHBTM1VrBXBzOZnyaDsZ6PNui
lutupnHIHudLSzN1sbHKXG8iyDSF9v4DHxJUYU376+5f9+nyRTaZ2ehp9NjrLd3+YAPI4UNYtq3D
Zd2wMmPFfs78Y3PgeToSF0Jgn/sZ8Nfl77voXGw+YnRVfi0BpePgK7Yb1neAu1GtNjZdm8U1psNC
Sel9wsd1H9Kg+jRGBF5JFzPtD9MbnDsEn/Eo9vKBWK9MvVyws151J6Ouw/MU340wgedqQoO4W5NW
3gfjfQbVhV9iiYT4ZVPFHM3tbef4656CMLihXXO2zNJ97EnMJwJr3kuReKRVEXO4lwpVFCLOdzjM
0Agy3xwE19vgCGrrRvGv/zGfZR5hTo/PRdibmS9vvv5KJlIbvpvH54vNiBYAGdGk56/jBZ809rtJ
QBywOO/38rdI+5NgqPD2i5Dj6pVyuUMFsXoPRRO7B6Lon8dn+e47/9MsLM6Ev/p1mcfE10sgDDH4
smlyROtRQBYx0K33o/FHWcVkM/v4P9Ew3KbISi9UGHBlMCkh5Jklng+lBoqCrGKvza87XPfT9NDC
o3Bdwa6Qzf35t0J3tB71YBWJYpozOhrITtRZWveJ6jLsZesbfRdubuKP9FHPalOIkdujUUa3VVeN
tDDa7v/VWaRqYvLIVwsr2A347P3nULHXZo+mhCuMUiRa14ZMX0fe4HaDpGZ2ha+LxXJENwgFUW7l
Q3Uxw8ROZrlST4VeCot6xUtSNsiddgAXg10ZO2jLkJfIg5OU2VYmksV79hApe5BNW4WLP19XL9U6
KASu04Ha6wVU0NZDNqEt6yt7SdH4piBlgSYLBXdp+16+GaW9VI5su/Cqj3FMUp4ph2MBUQzo58LV
PUMqGnIw6ZIrvL6osiKiDWcjuBXR18TIBT9pS1/B3UJNp8Vsi1U2oWS1hyA/p4Ohs8aATR2zE6w5
RUEPC1YpS4vo+94A0oJk8KqLTeJK6+XOf8cwqgV/Y4Mv2Iaxbz6nCcyVnZcT+DjxLcpE9fzLUVlC
C2jrs/bUBVXT54zFbLrvVU7WNFEGDa73VR7KgZTpYw4IO0ZCoXV5jBa/xZxXzccqj13kp4xxWYz0
RZjnqWQuEcPVSNMstBk63WaQDxvV0ytjQeaNaGaTOItJEJgAo4n9MsZhsk371583W7W17sIIWqCU
F2RbBW1VNG0obZK8zJwxP+ksfm9b3kZVxd7WWk4kFin6GBPIm5J3U8cs2bf51+l4HKhGB7t7xuuN
8kXwp1+e7i9lU2V9IQQpoanTg/cy6JDl67Kv+kpG/mXIxKzjyH5stHndSgDl8NP5A26wv/H/FHMN
eNl1GIuKWAyrqQXyUt6AhQhXl8Ub9eSb6WLOy8pKTLBJWcTksA4c07Vx4JiQCFphdRu29/J2MZrO
vHSGGaHj5lZBMYyrXdnJZTq2FauNjfRZareVJKat3i5jheRPUF8UZL21WYVlrIWI5qtgNaKO4kzR
8yieMBS3QTlboq7ENhFGS+J9M8vV5d53396O0Gih9bQ0sWC+9bUIWfpkbOV9susuOtdlaT57TQx5
9pX1rM6TrJ7fHf5pnt3phl0SrmHgT2nMVNsp0QadEg5hAyuzbrMDULjeAOTJNZRqPf/s9ugfdsHh
cvywFoyYrM1Yuo83j9qyGltJ+ELIX5jQhJ5Scb2MCc2wn3QJzXwVioPw03r5FAMQ9RI0Z5YSoA9c
jf0mWNSwjo0CZutaDbuF+0nof8Q9VMu3zM82d/JuGHjnaCF97oYLZOF03+vwPFwm8IMpmSD/eut3
zqotzu+NfNjO/2K9/KLL+5ubuu7ut+dO/r7xB26WAx/GRQo+T3ZyprhE66+cD9rFdKT8kd83BIyb
KrgkmUJ+u6xfBmrhDsPloHFmnXm2YLbAv+7j5UP+OX+fHMCJ2EH+Jc9EvJxJ59q+C7nfhpqkGCZ+
4k/E6uHE5BJetz8QC0XBHcuf5H5j3lREOB1VEGSesTgYyREKi29nnaU6/zGrizBO2fE2yx/1sctK
v1l/PibqF7EHRaOT0Ti79+tOI+1ia7rObOcun4Yiy5QH6KUedQS7yo3zeyV/5AUFG8kiYjvhffhj
Yldl7ksvLyPGagYjK1zTn3xKv90Gp3TxU5byhv2TyDG1V1tIDihXeEHQV7LsXy7DAcMn/n/YGXPt
y6CYUh1rxqbWHtyUOIko8znKZfKefaMzSE0IUS8YNzCf8DZf5F/vWY85H3IHk0Ygj+dCDf5AylJ1
DPiFqrd2QJn7leCtt6zWdatBFnxkIvakehLTkedni5aE/rc+iKLPs7j5uqx5NfL/Bpa1HYWG07iX
//lnbWRj10VLXF6nw3nyxeW7GLMAiML96Tx9G49L8FfhHN+SgU5655CEZTbc4S6UJRkGQra0Lz+w
A1aHbuKJJhwQl63pvIS4FXZv29gAxc+8MdZriiFT66NDvxJMelYq3eAQDNuHDfJgv28Uw5GmKA+X
cUhY0V0bzoMsHmiyP05n8oCAzw29FUnAPEU/tmI+D8Y0WFC3jCMznTa9up4ButAkNzfQ2jA8NcBQ
NbQDbpIiCEXpR/VwYRC8oKwVP8/9yCH2hMLP81r83IascFCQT/+Hn4PrHHvw8pF8UAShOaq8ie2q
k3fFaJIv8csVTSqZJkXsUO5C+FHgdBSVlQ/jCcxq71dH6eWj+KlOLKS3+ryUP8/T3JHnMiV8cIt5
/StCypvP22C61oNQwl9v5M1XseFcq88z+de7YGaYjcytPi/kX8/Cs7tBNYhbjjGgPXje8sX73YNd
08VIX8g/X0Yniq12L/NwUYSfx9guk0mf+82jaV3GNi/zTREd17bavCyUCvZm6sWwfyD97td5fhsV
OeKFU4sw0zEayFIkb8JpbDH2K2T2K7rYywXlJW+YPXZfXLHasMwyuWcZVhWz+ly+tGz12KOfy6og
LzcoIllS5XlaES0FO38fLxBbowp9sSAfKMqeQYO2Ub72KHa+k2J3mO9QZHGxVUSKaZGz1mpwXWyt
VMzgcoqjUJbrGKRYhcFSinTMc2BcQqB2eMHYZKHYFl1swjqZxU/TDTrquSmMzXiftYi9OYTo7W1f
p86vnJ51PMd0nLfTFPusi/W6x7ZDZbnqhjqOMVmiQZG6DuU2+lhbuHgbn7sGb0UiFbsuTzomChv2
K8hdxVnDfPfqdequYMdwqGhK7IN1P1xvO0JgRugd8jeVOw8hSsvuwYci92mzXx1tnCdIQPzgNL5Q
dNiWCdH/tGO/KAvXOpZjPM0/4RI/zBcoBPnB8Lm8QmhMWfn6Nlzg9aaN6oyJZx+zjhi1dCh5HabW
2thjtUTZsCMvm1GE5t5XjBNaXslbKyxM/NlFmgflKz2lTz5SPtsTUbTaEAyDRbdW42IVqeIXZTmE
yHNfmPOqCOAQ1NrqMj0EtCn4E4WajgrlpMZloJE8AWnIBWtAvOXl9YhNO9PS16ms1gfA1Y+hAevZ
g+Y5sxiSRkQWlSPP08YInq77+wUCOoyKOBTczlXXM8A9A02zXY6VzUksVcU7RKiDAAtjJWXFNtbY
hWLSR83IKnIaDtDk5t1FhPbPfGPP0ulV+ve8XJOyqTyIHFlhHn0jCbzpnsEvsqX0+GgiNOVKjpeE
c/vAMGRGoYmQQnt1/Tbr0UDvL+ZsO6CY8qZYztmPN5TMCSuMPymwvC3VgjxtG4fJZIiEEdXpGTa6
JbrccKzqxneXG7baQ/X6fNoOkttn0cC3LKcUKnI8O2yLtgbjyw+OVX+Yz0o8kIH95F5kLhTacpWu
GB5lODzEyr5Ee5lrD8X5v+T7UinpaRwPIAMuCCG3n676xbJN5yhQ864U9PdGRdR1K2TAbnFz15Ey
5TZYCqLEWEslmrHX1+Gg1Dp0fKRA1vq2f05Oh4WPuuzprrkmRWCzNhaFa/nvLdo+TLQDtH6sz55O
KErV4sa8YBW9GLDPl7rT6Xhd+t/vb28wnLOmoAc0p8krltFCOxqoJo+xRF5ou2ip5QkGp2E1DSmp
1JmaaHErwiUBkSBJagfPKXTpwjqwLqALIi1ZovTyIgwqhMEGCcStFJJ2YUGtLfE8zGfXI6DXbS9z
2FctGQSRrQEutAy5c1UTdxreVVFJnxZSWTNQ4KthfzD7tZakZVQRlgU2S/zseXox5kx6B6w3czUp
yV0kWUG5TDxWm80GBb6NkCfcxkx+AaYsn42O9gAvygmaaLdvhBXpJIXCkNEW7OE6HdKUzHkjuH9W
qynck1HLM0CpyvXYy/ClFfCOO5GFDZYvxGWLVk04MYoUGyRWzvu4GFVgHutxC12qWC+aMvSjZRO0
3BmW2e+PZ+i2nKHvYz2Tbjk/JHC8pOUnw/LCJ1OuxBYh9gZMp7zeOuxK6/hw4YOx6w8wcAwQNyyk
2ybrqWXgxsvSuXcgXAPV0givXF8TXMSKGc33p1reAiu+Z5OH+C0GV6C8zbyL4rmZnz9QjaUxf66v
43hLavQmWn3vHtfsLk7RN6xdCt9nbuUV6Bks4iYckdf5fjxgI0piS3X0aAcjM14GpWVqGXO36pGm
ARTktiYHKNEd96HA6FzQyjjXLm+uPNVOE1f8qZbKA2U0ZQCWsfeuvMwsRkiyrRICJ+eWXsMb1XHy
whGqVg9oZV13R2Nl3Y2tf1XeXhYTerHj5JtEcB1rj7kNT9hXQ6bSoFwR+55p2Eem15RKG+sxvVqf
LqmlmZHAij3XQlPMHrRsmKjjkUImartJJ0Rv3BhO++G87VB1tMHdbehtvuPwB9UdYDCVbPYIF687
P8JDEUnRvlvDILuE8co7ID1sGZTD//HtaTzYxp9fLMLWL2RO/+KAtn6hIM8vuoDL2zwmMFeGftI6
K6Ov286JG4/gMTpPSHuZTawfTHA6kntivVcRUwuur1QuzdveGIOttK00W5xL1rfItmNHWGFX8GF+
U/i5D6VW6JDRiA2FldmP96gIZE1Qb3qgpYThErfsFenFsCRlVzO5StFHpfp0xaZ/0rhJocHb0h9P
tbp1ZTOsFYsVznDW006Sx+gRavzBCDDtIE0f6z99HYfDJrctYUUHZFAeEYPN4sbTgwOrmZaFZqVa
sCGa7qUIFga6GtVw4YE2hYrqGGpP9Dkpj6iSOH//6rqicSo9bgZsaRjnRfhzmD4+K8gBhnZZzPh7
BQ/lvIEJPM1YKWnUdNxkJkXhw6JWV6ZcZKXJCjUwT2+r0zgSrVHlx/uYmXUkLAnlLVaxANZgu9so
w+6K4NMee7HVoG82ifFoR7CbpS1NTyVlHQVUiO5E+f1G09HrMOOmhxm1hU93YzFBCnGrCORYMn6m
p7AxzTCqYobso3WvLJF3MRGIA7Bgpot3rxUWLDW2d23KZDm6cV0Jx5ghYke0VJK+DJqATfyMBqm3
3HqmhuXW5ppiABRbw3PVpueVx54Xs/kUAmVa8Nds4QuksMTMEt2Reu3rDIlClSwKQBBz7hRadDG8
RW4TKW+AwZXhSYjbEI/Adz0rsqqLBVHiymcTu6mR+S/jx9MMbZLXVxpSq10Rc1PrxcdEWJT0Gwqj
2mK4TLHQ8j72bjDXZbQptGJARh7/FRJzHpHNpZwVo4tFriJGF1y4FscLnbcVy7nbWhLfqUhu1AWH
R7SByk0MVYwfQ5EnHGIxe2D6tRrZpN/KT6yYb1ox11YMZJ7yujcLTi1b1WjPNOr/K35UtXqkeehH
jVB2eB+v53FUOIcD+VSN7/u3+UcLIU5pn+fheIQUgLLaKqNQ++j0V4uXPJtDwVN7wqu7GsdGsy3r
qP0WTScpZO9iISAkENikh+mi46Ma+epJjej8dSwrppk4TcqqDXMRGg+VD663z9rMF+p+PRnf6Ti4
qY02OqBgOIMkc43tFY4fWMJx2Nj+s119d76O98OsChVcy002LYN7C9d6A7B2IVyGi9jAIi7iHYus
aMVPXDoXP/HWMZtguQMkuCVrk6JJxWgCQQPbjA1B+AUDSv649B+z7nMP/2TM0Su6udggRvTAhr6r
gAwl/lTp5l9CCUKGrcs2R0X3ZbGzZ+XGXBtuGWRagZGIbvMzlHgYw/kgH9gVrUEDLKK90YVV5ZN8
Yx27sTqCKDt+G4wcYhT6LvJ4dsyxCMb+DDGGORqWsHySNWrPGt6DAqhBEAYw5sLc76A9Ekau3LfS
X4wHB5OrPnb4JyjEGG14mfD25AVteI/yAQD8Yd9wVvbKDbBt4Juxtya0EfWs7sNdmkO9XQOZ8dmV
L5BDhoHbUJVK/lguX1jrudGwVU5DoG0B3QcNR7bgg/Iuy8ofDIu+60eWBnV2uwwUfFpCFvKaVePX
ZEj+WZFrBGaHqRfbASdzQ4X0fj4rrNt5NmOBODbK6OP8apytf4MIqRkbYASrEUWARqHWvzU4eLsR
ynnToytrT0oG5x7cIu11P789TSec8Y4iFrSrvCy7VT6Ycb3HkMgK93oSMJM6+rDBAsFO9dTbrr0y
gdhNWwcAPZiEAouGk1GwZ3s+LMoR0sJqnsf99DxR3a0FjVLuuq7bmIZ7xfJTBRWU5CeTflhx01QR
I8H2+SxPk1+1Yn50oTKrkqYM3DOUWjmYsuG42647S699OYrl8nASd1s1nqsRBanqKj+jD5QJWqie
CMElKwKQSXZMvVdWGyiSvWU2S7loNaJB8LP4qjSqlEyzs54bnGUPoys28EhZ5Uxywp02zslB0zEh
O6uKWaHFEpzMulYW1mUWZZ0sV2hW94F8t9Z91rbKr7Cd9UuAJW8z2boqyzrgssrtrJR3xhgL9LTD
XFpzPg7uvIB/9gYoaa5iUJFGObsYzMW1eUw7KzfbMi2BQijzpjUWMcnXWoSEsFdk9iH/XNHHrNu8
aZRPSnZEbJR9AIbl70GEyyUFE30Lj89KeU1+OwwwCcl1+DgNb9NeIRjjNow2ORZtZBOs6Gt2/iVJ
mmXK4ymYnQ3kK70TwbzRpBvR+6NCgNk2DkfVpzGzp5cTdjgljeMufHK5ZYFuUHigCzmtsc+03ivP
1H+DtHYgUrVCtjwwP9z4NlW354puZ/QzN9f3zkZVBEUfutouRGKEtNGE4QUq5gAzo3zbmNeDmh5T
tCPzbdsFzTDLKoWgzOJmVZIsDMC1mKsoUmwVtoVc4mtjHrsoDPU+2vpQ0pRASm+fL+EaJRzDTF0P
uZvXjaK88i5gpLLdwEi1wkht6Bm2jzEFI/CVI/QxfhCNCeZoKHKQRWQ8zJ7RnMozZoEYFgG+DS84
RStqWz4M59EFfN2sfsJKl7pWtpVXgf9vvwmt1PEbjFGHViTZuaawCOHLvytWMeMOxsVsXiC1j13/
Hc6kl2gldpfwia9X2uv9OkIvIqtVpoOA/aDwpF+ZwWxRfIRIsDT7bQxWVjm7O4ikF5Yy99O/7ubh
mGdzsPYqoOruFUegaVmcabFMtNenOFdMJuf4kmy78Pdphbrxt49AEAU3x5OGODOGsHTA+p/m3Wmq
MGrlBgGFWGBIvinmUlRNh4m3oojJ4gV8Iu0rMtkuBT5xUt5wmcarGvjgIgCn2oco6c5pSYZCdFOy
z8MwfcPsZuDXnTGIZgR/9ssrpmETkwmhDPKeATPg1vJH98frWFje2GSKcIzKbOOoHKC56206QVnS
nsV5FP+6Cn06i7Am4Xr2LKO6yOZCs/2hlxfQ33UXwB8oRwstX2aWfjHyfavnVLd+ZzW4FbUdkeU5
Nmlgs62ggR27dJjVvIQvtrwj7pX5C8uyXjHTmlA+xPbhA+k8pkcwTAtMwodRXN8UxRdNJIHygY7c
w/g8mP8c5wcfB8XvZNEI5kFktXJC5spwojSKM9D3QdDChQZqzedg0TxkrdrLBBexTaerilWEsXc/
rPxuGb7rjskiQCk/jIjIeUM0JaueCZh+uLzc9RhDxdN/ITbIY8R+Pt+mt+lXhenLhgVlmwVfJ2sL
LRhUhnRtZU8UKxzN/3+YaAwbyITn+TIaafw3zKUrnmnLjKUlp4BdKa/zEUrWoNDmtDWNyyS6bzLL
6k5huSJ0Gyw6jrHIPhOtq1j6qQTbvLTGefigo3brZwRNXodRvSoMCXIXTNkrC41i+s45Ek2mhAOY
CMc/M/wrPf8AE+ITKYg2dm3OdnDJIuezPHgnm1RQx/KDMMxkrTi2+eMdy/J62Ep89Dx/8E2aOUm5
8TImko05qbxG9g3q5Ji6WOBgHEDYJxirzGOMJUgzRW4xQ7tYMjVZo0SQ+yaM08Y8waVQTS5cJT2c
B/Gn3KVzlTAxe7gsncvyFzJcENkTzNvL4nZ+KgXCcqSIqVDYDH1W1VrxQBv8sJN1laIrXa3kEp/z
wo7qeOQ9cnMFDfysi8Y3h5N3Zg93VHc6wiNFPYsw0dsEWWKCXdLeNgsmoKPvYry5IvibOnCmHwTC
fJIRnUgW1DGTKLh5lO8uBPW70//v98pq/gxAjX49Lw2jav+G4AQ3O/EfjaBx7d631F5kUSX+CdZQ
Arp9nq6mQnv9N+tWninwjlqWKyVXTRVNrdRK9ivvY3Z/1naaKdaECsOBLd+v08n1CAyXwCh0poDy
aHjAGlF8XVJNcQ3rLrTpY2po2qIpakaHFc/4gosZ1Ni3DQFjNwoH9XK2BHhQfdHj+4wSK3n2B/7c
WHQINBE+T+qaJ0l9P0VItX9HjLOJpeJ/S+ZfjXDzyLI3Y8KfS9lsynhucg+YQseiM6t2sqwdFC4t
Y2koT9DvysWUrAqFlfNP35vaYcl2ltqRYm+KhGR1n6w6RhDom2tu+Pb8BLCsU+VUH6aeFvddcU1Z
fAJ/x95vrxnDeagTmOYNU1KfC7D2XCJlOI/ZWnPK23wCBawEj1nkOc9R+eauFm9OKtaqfojOWxld
VZplGGX/vNZqBPJQdGxJnpVKVsFLUKgHa5mbtJ9Pz0ctkVDx4gMPSWK98UQWoqweTMFKeA5kNHyu
tipbFbdFDZ2U4eimZa0CY2t3998Q/CuZvc8SRiujEuXC19fpZmehTraiUpGEXcyX/g6CVtUqWW3t
9lLJb7dlTMis7mC4Wgge6wovkZGNbn7UnIAXSxhDnxT1rDSEaY6sUU7ZdzFjdFUfqFaA1WUb80yj
JYafihT0scztQ8As8VArVqaAhy0taoWzGBj7/6bcdDQIveKWlBhmsaMaLrBOl6vD6HMrNRW7MIsZ
bLkSriyLLCbbrZieL29bRXTdehEN1n9bCDr0ez36NlZUg9PhtwUpa24eQbW5jckvOukTh62KLFbx
m+WKMVPwavdsMYC2MTdziKGUrG+d1laUdhFoPesPfV/xSs3TsZIn8JvCqTUX3Fj1VeXx+kr0L1Q/
gmU7bbHh2hReAh4o05VYXB324HRqCP57MtA1q1thqi/LG4WRyljtqlcmG3VItBcib1ut9qePWXV5
qxXmlCydVizgSIoFTHEWzkQjDlZXSrPLZGmEUDKmiGjGj1j527A8oIU0Hk77URFZ6zpZZ2orweMu
rDF2g6hXRQ//DktuHSGtVLmvlMIw4kNFia22x7qJUYgOfLZCuspXZLHiL1OisYy9WX5DFvZaCWgX
ZvirECt/sd2olMNlqJa/VlNVFctXsqNFE3C/rQayquqgG8GC3E2f7uLsgy7OOs6ivy23xjL9DA/z
+7pzahbOYEWOsWAn7/JNhzt5PSdO4YolmijoTV3ahNVkXmiy47daFTNmrNbz+2JNLctWetxcimde
Ib2IYJip8FnFhXm1uNKbWmuU8iQWbOVteZ+w/suKZ5NxYnPpujUVz2+V/G6Ct7fR4eSN3j32s1vb
NBWA9U9u+R+UsE8feHwWYCvteKf5mLWdAcRYLxZMfEZK1NmqSO1TBiOwY9pgZDeOF2mLurfUfVUl
F2JgdnUNQ/ne9qR4eE9yh9+mb4tG/mRoiLdL+HrvrFVa1LJVmV8kBfI6XC2UvhL/7WOpe2NFK0Ze
2HgeDd1jdMGmSwxR9JBWGe1+yJteszSzsOqjYGHRLU+Z11l3CFbe2cSxcSO0xpYmzMb0qreRzgM3
q0rfjLFmqhWsX7VUu/1rEYA2NFObmOO+1WNijU6s0cJ2KXxGgpTMFMaaou6h7eQ70yR5zAyK5X8/
+V6jbS16xFtxHng/AzJYmW3tuE/X71W8QCrWCB/sMmEUlMwfZX3knwUw0FpvORAJaBMb8KQn4U1P
61roHY8liySxfqa4p5KEVcl5agTn79qymVypSuXVyx6KX/JMlK6Glicnemb1dEpqJs9i8e4QveM7
n1YVe1pZlSkmWBvL/2e58kndxupks0qpMmhDXWql4lIlDqdTMQiCmnfsRujkeO02Aylo6vHYF1oT
LWtiY6jOWaHQimcL+0W23y7jaIe5LBHwAD4i3VDHdRSzTpSCz6KvYnyXVdVBiYfUeuL9ehsut38X
7k/D6QtSMY+AdmyMNrOUaQtBAzexN6sUudCtynIKZ3woyruOtcuryjttgPTh5TLtQH6G0utR8vJH
eDaFjWgq6mCjB1uE3F/xcJw8f5LM/ehjW+n88ZniUdcVphYS66/S6CbS/UUsuUYG79cZ5kYO14TB
y1GVUFx1mYwYo2QmmE+bo6TPH3T7p8wwVmqEaR1XXqbCPqwKGSvJxPIxtN9ca9foqCFh8YtGv3Jd
IeH0iwb00Ufb1HMlPcPKfHNf7ETeEY21PEEjPuvChJou11TqFLMGCcOk2XqM1SeDR8yoZ05FWL22
paW9idYpfC4okCzwYgYZZs0seJvRrBrH5rEOtUjRtQpnxWI0OQ6YLOQuG0UNMSy0fKkJyZtGc0Gr
wAVNVPOn1XsZD7h3pULCNnwD5XfFhVO+BlNNkCWsMiXmapZjU3uVSFIdkx0x+CZFfHexNdZ9HIqG
qqIEz5XoJfPhouXi29t2K176ny+p6YcqXFxxYSN7tbYB/Qq3qujgugjdjnyVfY8XjCrJNY5mlOM1
2t4srQgmiykmjsyRAuWoY2bvyp7eYj7X8TrvWitSrMMiRRfgVpJgbRWra1xH/RWubGN1xnmrbZN9
UyAM8joqm04ysJ4fEMytnSmrY75tK5ApY6HNzzaGJYVUFouuYCBysUGUMGQZ1oq14QgIlvyFzOLn
alLLKpr1X5cvJVqU1s8oj1Wze3szkMtbQW8bLi7gfdvRyVmtVEaw3o68EuTYv9HmXMXJy3hJ0m9M
23JYwHyJam9KuWmYoHVoHfau+kN52VX02jftRLEb2mgoMquUa+5WhF8b+7+xWJO5PECmtkuUDmhR
XA47gsXamYt6aF11VWAn20qoRwSVRA9x3YTZWmtUpCPIiokbL9Rd1cQoCiWLlWJv6gFPQpKxJuRs
0TvO7rStP0oelxeJY0qkrlxriMKKddjtXWVS1eN2dLqKler2CDsWCQR8Yjn2wODh9EWymEKr8sxi
xRRZo9Q09W0s2k2O6HckWkpGnhwjzlnzHaWmWodgFMBWjgL+RgHPCjWxUbOxIPSvw3kkBPo93DX+
687OqIubqBjvaZ0x3wZ5afx+N99v1J91nIcbLR77H+jXYHDMizF3zuNFlAr4k50LmuAcBjiOrQIL
176Mx4Hiy9Ovo9h5Riu6O2iXFuZcPAabNMInrV+V5cuWLZ/7Pphw+YAKw2kytypNNqCkikuAtDZn
2ct7pmH0u8twmO5XJ+zM337bZVmm7Ny1UeHO0dts5B/ZTxcY7S3B+9GKLoSMgSt0SGIr0vCK5+m2
k6B+LCuw/VFfd5tYrVRWc0lgPG2VOK1G0kL5kZz/CM6jbeUfmd5eMIwNHe4vxM5fpwPIBhFJgH6l
9rzBarqE3wDqWL7TCVR1673HCAQzuobL7gVIo79kZ1phMz/E6GyLj7JPnR8qf2zMRhWtcvDzfPx4
mU8pFvP3FeRcNzDFeTigqCam0H4kZ4SlmK7ymK+3AW3gxL7ZQ4NSHfM+xKfBRY92XfztVtLb3SC6
2t6LcATaiMnDheNfaf5MiuVdjXFrTfvy+65J4/+Cv93Cww1GfwSewW0+g8FxxykzT+Pt6zieMPdD
Fcn2P1V+sWEMDVm6osw3v2RNClVMbbMge7Cqex+/jpd5Z+yMm2DRWvIz5qCZRJkgG3bX83C6Irn3
8+U0XjQCdN1ad2oi4iTFYyw1C/YmOo/zJy+2u0B0wlze0VB1tByjyd1+yxOJ/gLwCrCGtn/Gfzli
lcbMLbdgiho92yuUsDngli28pan4ql/vUrmy92n8ep4vt939NKkvoW2ZRsN7rNO6Qn0CjGFbDK8m
lc/t1awCdaqJpWvGZ1TB0X7annRCyjwTzbQsmXxoUEhEfmk8vIwymqQ19bikwSmICudiv6R5Ex8C
9LJl13aLoW55ypzTHFqnq4u44R7LxB69eteWbHOm3jFIoFzVeDxO5+v4WWOsYuzAEvb0C25Whx29
CXJ22gtwQWQ75owKPfbtxIwFR89SU8PcfEZmzbfQU/MYmp7dOf4526qHPcMn7ixrV9ZSkYv+1AYy
9FmxxSRn0tq8peM+ee3MNWYJaN110iy6ovisKlxUwdN8u81vKfVSM4mIoc6iSnhTjXZ85qaTcRCj
6v20pzaVtLvQZ8xN9/mU6DvSnk+xdvazzwtnL7Q04VyvvedWs3PRNtpq7DK5X69FiuQuqHKQ0TbD
UHDzXe9WY+Dg/rBNrvg+/1r9kf4TTvzj9S4jJTdecb6yess+rT6WleFRaouzo0DWuajLzQaa6iX7
e8DhQoohRYFTJ/qTio5xZbl+oILE05iyKLe481wg1ZpAKphAQriOTNGbuaY3GSNTdWlMAT1N5FOG
nJxYuUo7saFiyzWBmW2xDu0Qmp0XpK9Snt4+sWILX0rHL7Tj12vXodqq4iRJndJ5XkmzOWiCsBje
5tNhCVTTo9DYtwsvc4P1qz3bPlv7lrHb3BsZszsPfJyCRnAvYnA2UZeWXrr9V3brgEX2GQcYwyKa
ecnkLXB3kVWKB7zJp+i2JjBWnOxvLkESbnAUpPvEV732MzflAbyUZFhnv+HJpC6h9iRjnRcbgmBv
eji4qZmApov+LhtEzWjwsGguMZD9DXvFKbXXNGzf+Oc+oaZUS4xpffIbCsVfxGBiKnLb8zwOWfb1
BtWsKdOCq8D+YZd2RZzSDVs+DmdaXtskv5oqYYIum1TjtTymUUv6L9SnhbZDJn0gfFRU3eddBxZu
1uQoo2+Fzk6dVN3JAD7ff4Pdl51iAamKul1bFn3yrhZHx9n0iWdVsBi1x1WP/oL51/EC/RTaK+1Y
ZALrC3vlXVF8PvmweDavwdhOk7om7X64JMcZxfV3aSPtTeT1J9zf5ZVpIrXI1+GT7jOBVM3kqfMt
4fTwFax+QSM3T+e0Utp/bUyoJtqKZbPvuj4tuJ43a4q03+dDqzzC5VwpCZ/gRt9fhrN2keVatndb
IhYa27XVlogFWDyXG9bSpl5f16yjodn3pRBVY7D9RIJI4RG1xIBRpsPMhpZN5mUnKZHcMhe6S5QV
xAKQScuyWVWHFPnmcEpq7cozNbblNd93uSrh+7VRVH1f7GmjjfCZgLDCS2plQvn9Aa6E61158cu6
az5Nq015sqJfZ+S6bUb1loQMz0eQERCTyfNp3J2nb+NR0x/s5RL2gFwdpSd3u2qLT7KBvExraKyY
rUPd9ect440/VX0iCbiKimoeTZ2txH+21T7cxCOMAVv8h6IAj8MHgro9Q6fFdDI0Go7uL89So5K1
csst+oX7opq10XH7q7CrYR2+LxIdT8ka0S4sNrHDaKk2Fj9xdbLBLjX3g+khLLloSr6mXec4nl5u
r1dtHX/nUFvRFJFVNtuTLStng0q5qo+slvIoWpbjdgFJpPjrcDmNV6qifR6ut7fheJz3xlS64ThF
4wPJs8oqqJ+mS0CX2HdX3cbr7XI/nQyfJb63pi1+74cT2f9I/qpevmLRtcm888tpOCY3bYmBP4qj
LPBzeIsXYONff/11Z74YlQWq2K7fxrf58jGdnufkBgr/vTd4iCVAjO1u49v5KFXE4wrZsgLDJnue
QfpRru9J4iq8tt5vgJYiEt6NWbs7X0YjSC9YnnR6uZtNydvoQkJY6TNgy8rbdKWydbMecIS8SuOv
k9LbFsDNCEf4kNjTMNQV6riNitpDwHwyt41BTJFPmsxTCTEY7eD41ULH+UVewbMKVkO3y8Z2lsGh
K8PCeNg3I5/TUx1nIPck9RbGI8KPp/2orFE+sB69GES7O+Anb8M3W0Oilb3T3AVaDhMJmUd8IuE0
vCgfZsuHqBCy/+bb8F0Gw9N1Pi6QuMP9NttktLx075dmMNnmUDaLnT5U5Q/VLo1hkkWKn9ikCv5m
HvvNb1fl92r/MRtACN1EGz7uPSG7pQNvIZu1yqZfpX4SXMTG9Si5t3ghRuNh9n+5FdfuLC9kVTMe
pVnosOzmPEMf6bz0U8DeUtdp+xRwSdbzK1gI9AnbRbVcoCXFDE0/+/noujGH4/l1kNeqPX0Z3jMo
XtdUZ7yYyzh8EZcoMs+QLH1qH/7BXhE9OOoPJeK4qguLw0UtYHvjzeyGE7QtAawitJpdoQnHGXu7
40U+S1UHXGoZDawmZ+TCynaA8Ntw/YKuGO1PdsJp6Ta29LKrC331yAj+WRMBYAPo6MAfFOf5//6/
estrWW8xwMs0r+FviAvaHAcZxY9PKbJne0OwV8wnnQ5q/QRsOgt/Iyf56zyC8+7p/pI3bVcoHFmF
8i1z4mKjzG6zUGL0TlZtlflN+CLc9GtlywUTUgztzXEHd7h2oH2MSqX/AXfk5I/ywopA7BSLmg3f
kbmg+fTxNkNqzpipX+Cv8FkpAs0ruNzjqi8SEZvtUEiSI6RoJSaTKOvTr57IiD1heZa5fWsN4nRs
v2aDsLtJhv3UI6OHncVUw2nePc/7O2Rloe/1+SKB0xPHeSJiNyftE/fCjotd1JKXTeetQjayE5Xw
1wPR6fUK/rW7ZjuuywtSC9GeUkF1ob84TT+3eSgYu+jZISWJjajy4XNm1nh8WdeSTR4DHfDZOGHQ
R6o8YX8gHLZaNdV3kdK/J09UhYyeFOhI9p/Tg49aT+HaKjAa7FtbU/06Dpf9a4LuWRcYE1tliyJS
6kB+Vg/mXlIAd+GT5ObNfDrOw0G5g6jwXopydghgcLsMpys0+SvirAzZ+t+tK8mO6wPha2+RePRi
vOV3KBehnmaSnsq5s5iNrSy1u0IsY9R4zO+ORYrPh2cAX8DbUHigCPjT8oCU/yJiMEHsh/p5ZxuZ
WzPN/c2z+phQkI9vT4qazVu/aziAbZz4TouLDtWF6rX679Aa0sygkskwiG2Fnyof1qHPWtgZWSDA
wmetsL83d8FbbOLy5elu+PukiBbmPftagphuAHgfZZ0+9Lq6lUWn+o9tjK3We9DZuchCx6J02MRP
WM91NcbSB8ASKw+i8oyAMc8qug3IE83KNpgT4pF0F2MN3TTVD+76gBjWpQhZI8HRfReTCsw9+/c7
QrbfHLmgWazr3+IINd6z8uAy/15HyHbOZb0dFd5ayIdQEy3mhm5Z9EWoo7uIVlO+rsKvSSeuyhSg
gNV5ydC5prCy3wy4SraaKSZfFkpqQrevQ9+mi8htJV5MgtufEMf3FPGHAbMabveLpre68IXRM7XG
53kw6nSHczc0g7iLiV+S21b1Jp5YvYoI9XwTxhp+Oe1eafrHO/4fZS91YEktaDe1orGKmDnIzW8S
e/fLkQii/LqXNmzET5a1yq9XQSjJztsZzufjeNsqab0VzlIua0lrHM+7CO9MwrYJjbPi3x/VUg7R
xMy5tMNv9vMyKg+lq8LYSG6dLHTxIRj29WKIbcTCq9ktBN4VxZqHUb+GiYF1RFV5/X3geha9OvaL
eKQOQut5/fhGjfQ46R67f2JsYh3n8mXKAAExGRf0ZrTUy3i5bvA/O2/LIr5rpaJM0anK2I3bHW3j
/LaJXe4FZthDQhvveA8BHaPQ7N8iHIAe+eyYNPKQcNvi7nUXCw5EVQUWLYMCusxHRbr2zMrPFgvm
N/jYGyPL5YPVQ7R9tirY5uCWf98tW0LYLXHljDtuDG7UeO4HGMmkX07WZPErX7axpUOT9tFE9zG/
vOB79udKbIhJhXyBYWffLzUuylby0G0o1muczM1pfJcxF4g1ARsDz9t2ULu2rCivVEWtkw02W1av
nHs7g8QCibHTYCIiQVbmPjDs4Nlof8AsZYulQxsZS2WwYPVqQ1jdfVVUSVaXseAFWwbf36+zEgDJ
uKVTLjG/x63QOZV1vNEC2YPazcAwtKBJWI5E8B7vTwihcFWYuIiZcBRG+cRbYNIP30ITPZ3y/SoR
UvLvUdi9JPmmj7Gv0wWJb5uH3DeVcRymgfLo/4IhvRaoUhvQUMFwDF8KwXZilvjndYdL7sZv+/F8
2wl5FvOdq3ej5D4boEDfIwbs7jpeJrORX+X+LdwNqw/JFwFB6wD67mU6I5goTljdCfYyLNSVbKHC
907SwSzYIq4rn8rX+LCGxa+TMcC+ymYMfMl+HHLstgDSXst5xoKf3f56FZ4gLMEKOJh2N0vY0IpR
p+IThu/bnl0rclkdrrB41UJCGxdhvEGyoIqdRJvhg2fxZUd8zirnUiy4+Yt2HS2rQuHJkH+5bYg/
X7EPvdJZoHYCJv047V8v82m+X+XLZTfT8gdjEW9P44tdTYiqwiIN5/M8YE+7jF1CfnQNoyrv3SMO
t8NVx9EdUHu+VbyqSlpJZpjSV0RRc2e5rLQgUBpb8mo0wATw9YLhDUvV7HgcN8kstehSlTzs1nk5
uPne5a6cFJGvqagZZUpf4RV5Rbn8imp2UaXv9mA7IcI+jwNEQbS1cnYqEpDlg6R1i+JUJllANuxo
DJAkQh95OwWr6up7DyJgFnGzY3XRkHdBRaGrSPzXbr4A/ImqLBySEBGW1Shz5WXY5Ksx2bWZ3Mi4
vLIRoxNdeJC0gHLNLI8i+1EwyGxbc2FV+7YbL+eSNK26sMo092jMQJP7m93FcJ5E7ggk/xKJFZ+x
ch4m6DgASYTNZLFSNKIyRyY38kmW1y23BBrfI8YouuFyqzYkiFeEMGMEMgQ3IUOAGpCLAHR+YsJM
UcT5Sq664hnkcRwbmHysbVCC2WB1tZ0P8TzeJtmcaVt/dkRJ1vWMLC1KtoEu83MFRPOukqWX/F43
YOghSSuBw0P9q6hwfqesQdssATEGRMZKLpJzO6D3LV7iS5OXqjmPYKFPqy9Vy0uxJ0Mm08Ku2LOT
4PaqWsllK8NiJpdsZjHhXuNE5SKhNRX5UaxtCXvbxtIDe0/hfVayH4yaZ9JDN+SrOvSvlkt5uZgj
KJIz5wYQwupk4aeKlcBFXsnO+69d+siuNZBeRh0V2SvKKwYUX6v3TcVRrShfYJOvL5CY4Wu5x/8c
qu1/wU39AmtJM16wk7e2/bz4XkoaFWE9aOmltPJL4UKgYbadJNJKWaSx7g6KpnZenkDVsHE8R9Ua
yxpRApiLA8haW4AsS8WiEzfBXv7ufJlON5mBytBxLh/9vaTL6OUimzgZi0rIvFcyglKC/eHpJoIj
Dhts8fV6yXaRZWnBOoUwLtDVQQGd1paFyrcOIyJlXE/JXNGUopUMJa9bBHrZrd26/PFKVTHY9tFg
CuwBwKO2KBXeOcS68MWXJhtCLDYSzDd6IKoikBqRqJvCbg65YNUItQqsbLBLM/bW/HjVZRu6bspZ
P5rHSpIMO+Wl1WtfspNMIfmh5Nyb6z38Kv06QBbIcVHksCIaH5LYo5AFMYtmUolGK51GZpCcaSwE
1474pk6EKf51L8Yf1ltR1AJ7vRxOP6qD5ftpGH359AvZLJBtm4J7ha3voxdvq5FvqxJtnTWJ5P1k
PKzCcNp4WEUbv4wbaaO6gk5Eo2MSHNzVYQAhk2JN8kHaJu6U8IC3PQ+030A3rhI5ZS8hFdGQ2a/m
yoPBLq5kXUpgZkUoqxrduenk/fDAF77MIi79lafQruMRZdRUUxjOr4CJsUR8pZdP04qKSEfLQ5HZ
rKPQsbCEYlqwq61yP7HEfT+p4buWCRTCD7N9FeYSYGSr5dZBSOaiJpd8pId328qvrhNsPEYCWfW1
2ebIjKxxeh6LaDxm1MMx9lqFCx6mj0Y12Do0MdYshM4A1hXK++IuCd5WYLZ5FpUtA7Yfjv0fEWoK
jdt1KL+S7HBF5VRrTy2cgrumtcxzTfxI9PIP80gDAabT/niHATBimycuVoYt/YmQjWxv1EUkoeRz
yvjJUk52+FA0EbjX1pZCgeIFP5Zd/YiLXP8Te3L+bAh1FVdx9cFtUGnxOh3Ok4dj3b0MZweKeHXV
UDpYK+4wW9ZuauxBa9RuaYwgNX4/Hj/BJd3NW5hO94Gh6IgnK208N2ute1qyk62PYDy84d0whQQJ
luGwDX8asK0aq96Kumhb+Ty9vyWf2LSFFXYbbr6uw1DCSi4cvXpVyl2xuCK6ul0WyhFtIRf9nF1f
XC33vMCscywAXkYBneani3jYpmHbYcPNFqbGG7OTt6fDtHPwBDILVX5FLyulflIkeOsZyONf+GJq
1w3nDrStgR1rONiD81WGAU+ynzHrItUVghc2ZYB7bRbJwipKQY+8ICKZzOZ+DbS5+oAFqOYYKjHd
EwLwhMt4kpmgiVH86UJFhodxP18G9dU3dWwBdihC1vXVZCjm5Avt2Tv2UYmA7BaMQJFyXhKxkhUu
5Rx9zGrX+xMFO9wOZZHgea2FY7e218faqKz3d5c3T9NNVebIYjWTxsyXtJt7Gy5G+Y26Yijz1WGr
8AIOi31xmcFSuaT0TBnTEHsjMU8W7wmLu0BwAbQMoU7K3NGGmyOpjHNOqXz6gGSTJV4h3yTdGugq
97j9tOVF0hMd5A12/gpa8M5a6509nd8cj7jyV+WUTGyFhgwJfHyRVHUeMDKVyclvvWUqDSJJeb1W
j8YIIRVyBF0NrX+vk9Ej2PFwM5Ic4suDm5LAIBjk3yyZ1Cs8eJn9TaezrPd8JTGBk5dlBmVir1rr
+MWomp+fAY8Rh62bX5CavzNLi0dTCNna+L9fQxoj81uJIQsMxmbN4nBYgQElwYhXT2DRn5EYfc6M
iBwtCZIYXybkfXZb7uC/Vw5eMmHtu5MCG2cltu3bdxuW60/wLXg2bkAMNH0jmodQHf5gVr0aqwr/
18vtKP9Kt35xtv10xCGE2DMGjTtvmuQsqpiUshvy3VAym/ex79ngQxAjvhVg2RDUQh9vF+rEux3p
Ucs2RJHHbAiuHM9Q5WwxjhKCOWrpUIW+YUQLaLA4yFY6QMh6fh/t/2xcO/hPyVSRb6iICe2USpc3
HjUxVhCCAIILgsVygWx1lgXXdyzx6CkhHdgLG7WrCEmQxfjDhuyG49fhA+DBQb7uHFXMTz7fjwsM
oq60yz4045oHM86I9PvbCUdRErdRSbXVIml+KfM6Zm0uOoCa41BcKO2ZsFDlacGBvaxCcDywvFt5
Q56tcCR95ZClANwLGy8CexqbbnxfomE7vFeZLxib2djPb9GWsuhgyj4YLPAo0/fHidhur9iA7Fl7
AEBSZl9fR2fBIAFeAU3ABkfkYQWo0MqY3YS+605xprqYuHpsnFt5GbJdVMT0FciO6fkDljAHmq7s
hDLv9DHvPuo67dC6lLvUUST5g7K2GUZ03yh9mc/myZijmgcPY4ewH+oAbXPwOyi7AoNDvpIqRlzM
6R3+uArj/P4nxS/tYkGAaAjnU86Np3ALjldrZRJ7k98fuCjzQHdZJn/oIh8XmwKIan4KwCxkCJXM
TongUq6zjR9W0PNAgG3vkjdZxV4it6vQzt0Z10Dm0yowJK1pqqmmxbBWVXK74n9+6WCHkNnnAp2A
m2tdl8PuZYQ5CShln+Xb98KzhafaurYpJp0pknIlYDgv5EiDb5EHZcF8e9+tzSxfp/o2PKemDE12
h9lrccnHZ0BzMl4r/muEiT8RdYs+OGeukr19Ndx6GLRwUsH8amRaiwjskBX5oZVVokYgD/Z4hCac
/KrPAUV9VsSOl7amZF7KoxGEWASHlqUeM0UvNVG95C/1z1q5LD7tUiFbJGq26S7yNmHcM51k7Bhj
XuwUq4IZWb5oxDk07jImGwpP+8hZFwuj2fUOAKo8f0CD6e1jRzeRYBIWp8ciPd5k7xHMFa2VhVy2
kSlkluhjMQA80J9hkT/Nlx9146T1wqguFnM0ppMWgMCNKimL5TQOl+Hrzw/KXt5dE/PB4ouAxfCf
P8tLaTIjzqffZMvJ0x0SxJXFakGKEFK6gyqCYXkjVuJfMTWp4Cj1gPJjscnLwEukW3j3YwiZ+0Me
jHXUpYgDLO2mnZerscHH8WXYf5AIp8WWJyZHtGBBa7PTgqx+Am1y/MBqBwibXsDZjC5V20QZJAm7
gI+zopW+qF2Rexdwxv44vIH3QdEL2TmAFVwddxdYY26uJkZ2h+NR4XLYuCs06KxX2HsKXF0wz/EY
XhoZT/AXCifAyi4t3K1q1dlod6SrOe3zZX6DwcyGc0kpXcVVXZtWZ32RXk0tAZlc0XUXiNDFgbYd
zgrYJ/xs5xeB3GDj7reT77fxt9OzJN/tckdbBsmAVHBgdRwz9X98k3bCjsPy2svMMzdgBygrc2vI
OYsokfeGN3SCF3adno7oNYiKBneZxXb5ZAGa1d3VXcYYJ2Im2O3pG2jZBipPphnTq/j7KM1kkxHp
1MdOkZWVuPe2CG/dp10ugEFiLHr52HXsU/tacNsWYMc+RwstGNt3mTMKdj62lhW1zK9MgjE4xVAQ
INaILFTx2bPf5t2h2kEq8SAFE5KsmTcr5ffObj6Y3n6ZTl/sHSSuve1CBrSlV+Y/mSBBSOzn+FEK
TyP/ZOE7s3nwXN58HX3d58v4PkHkxj0+a8ErYq9hnFi2+I9H/UAnsSFJfOJrE1XXHS276iUutBYj
bs/48pWxJCg2Gkb5ylcqh2wIXIMwPhQLTOyyYGvmra9ks2siwB0INqgsPMkaIK9DgdKowGKoeKrY
g86KXL59ptx8/orfGHnp1jc8jBC7vspWScO4yUdVTvPukQl0aVo34YsoPAV/k5rIPIkCBNMzVGXZ
w6IHQb7OXa5cwl36d8siPw6fK6Xhmdjw4ANZnsn324tEiUnMTTYTl10MUlyqvcJtZDFl7kNnQEqI
cHydFPu19dzNgJyrvKrrsv5Bu8O6ZWxeLkxGvGFEyK/jZQGTFB055IUulCYWovJ9npgwITdBAFfE
3UR5IBPqfJF+7Hc9hoaEx4ZftFFRUMhivWF35MHXEnwuy/aaCV4/D+Xzkl3+hbX1mrNg2e9cIuH3
ctYUd1nHruI0XC7zV3vmr1IVGX6fx8hMJ0O20DyyZaJSZzE7eUJmSUc5lDlVg9RdGxOjzqDxam13
fZ3vxwNKRLBz5GfeKaZezOkyPDHtb5skCHcr2QBCCYga+bmInS8rZdXWlrGrdY9zt7ojbBc5jt8k
QCukcR76oZs1TCULFGYB5QsOcpbLD5upOWZ9aZar6N83JXN/KXdXSe6vriPzLpSv9TajwPKR/Dyb
lcLrBYqru1vmfa1kYS4HPphYQKxXaxblilkUOoQ2qDoeJlLtfPj7eRF+Mqf1sXMrV1lzq9SHah6M
ciKdapNzi5DBAcVshk88eeYkgcx0/fzLgNwdlf0lENCQ19pYrORRsQwHSPHRhLP9ZnehjEa8UCKb
jx9CtopnVXf+ShgOmExHmXjc7WWADPac2+p6ajZCEO4WswBZFRpCVKj6NH5cWVGPVtyNMqyNG4Ru
wumMT9VdEElHUhlQPTTcbi7Ba96IfOsNcxXZ6AI5zFGVoaBsvK2GAj9AVkfxrzxIZnsy9eMddlzW
2X9JTdK0nmQMGXHtlXLTyD1gIpy5qtBWkt8z9/B4fEhWtW0eC064wfL3k40tXMZnPUaxjNkMifYg
Ba19sgUTFZ+ol404QbVh4SuXcb3NCGgP9XkXXo6TsKHKmBaTAxu5fL/MUshRUGVJNZ1LAaaCKYOg
Co1e7WUyQm/AR2QzbsfxltTYWR9YR0vo9zCCNMGhbEGaQhMAZaOHare5d8xjYX62nwpJN0yH/hTD
cB+Yt2wJhpu574SSyJqYZfk5DaS4NUXMZc8K2clnMQXmaoUFOjhJAEosbhNUEiUC00zYQrynbJj1
b6c9XQZcfDjuEqo/Z9qLoHzKlSSWEmoojBhXZEv51Kck5YPSljmlDEmfR3/MXev6d1b3LN9w2YZG
RpGUDY28FrcNGDiH7mg/DtVIMWUVprQaJTwp1fwjM1QxESsY9HKsomc2oB8Pl+WyN1hXYQSFR4Co
udZW3LlynlRpbc1GAHcWUH6zQ1jKsiWPud3JtJcvC0o87bLfsv5GFpd/pYtltrKikaNPVSjDmL4E
JY51uSOWht1eR6sGrvLFlDGj53o+TkvQwp2NSs7Subo+tr/plMoWlHXs4WSFbLdy+e9jjKQDXVU4
OtN6/rQrYp5MlstBRhaxY1UqWS5vtY56S1kh/wZLxzBTIStlx7rpY7/h+tWiFrgcT6jkoBbwO/3h
dYK5BzKWfc1mqQOtIHJXqM6F7t/V7SqQWem+u2J2+vuoahwdXm+VSLLoz7IYPz5Pt1/gHf2Cr/KX
1HvMQk+g35AxUwo80SpuV2k42xFMZuK61uA2n2WznxeB9B5DJstlH6lexe3KGCOh3atyUbS+xtr1
oXX74MUk8sN5FsYqXU5atiJZlQ2zSn6bpaW4pUUslvobPGD5l+qoPS3bVDX/wqO9RhMLSv6jioUf
guqSnVIg0Muc8fCOn6cLzAMebxIOOvJaHwubeV4D8+e6u8yzYsnnMeMtK+Rn0uTbzL0HcVTL4qgM
3P8qXYJSiJUbPJOJBXab9ydvr45l6r7LGpeN8WjSSnPOkuN08Hp5XZBrEV8qLmnlpZXWJqco6vg8
H42koj7tb3Ldpa22q8pAaO7nI3ae3Wn0EQ6vVIyx3tcO4UKely1JfQ+RnZp1pT6bpRofDf0rltnY
CEpqIl7vywuWotHGoicvjfghyIqf2aWifhUMNpzFyGgRhMeYn/5JzGIuL7FUF0464LFr0KeGycB4
JNwOX6mGVygvylDJimVR1odr2OuILGbjeuJKHIa3IkBdCizO9ycHafDpI3s0HtblwZZyy5ywuM2O
NE0t2geo9NZGZRbFNy3k4VCTF6zt5YHGiKbvhOHnQkklBD84nNt0QPi0K0Y5ASWI9CP2h+oPyObV
KN7hsWNWFdDG27vcHkwpSDbwemj5xdT+xVQYSG5i8/KY67otpdf7Iiw8AKvdTAiqC/Y4uv8NrKur
LKya9e5r20U37b98sIbktV2mb7z2teds+C6vZF8aiD9R0O6LxLFSvmHUsMvR2Ceoc7HRVPHV975A
kqrOPVTLcJ0IcVmr9cm6mGWn5U5Z9pj7yEo9DMsG8WoAJRuUr5IaZTJixFKWrE1Gq+Jex9RzO+/q
ftpbEA4l0Fl20QRudHzllqHvuGYZJZMSAyhWFYTOE5KN5YKHWkCsNFkyblCsglz0BTb60SBXDMKD
ApVdyrKPm/WyMZpnsTIA6sZaNx5bW0IP/xXx0muleIP3GzSsgE/eNKu2Y1DYWnluHg+YANDykrLb
2SLzhNvOa7QZRpaSiiiiqZHnaTwewMe/3i7jbf8KttdxfBlPco0ct819vI2KFNczKvWxf7hatDpC
q6fggepqOQj9vp7wqFlVDZvkp1XhcsubFQQqVbgs+sFMaa0gkNUGs6xuELbXpFMbZXXFiWZpHxZq
M2yYol4R61KyvbZoxm2VfsUqLVYkq2VZaQnbc5TpsBNIVqJ4kkc3DZZ7Gee38Xb5MPbUeTdcEY3E
oedgM5QG5dX7qq3FjapC+5SsNmusBY1r9giyGVEyrc/GS9mZ5NSUYHZJjV86ck7vSwhxPZp7QwKE
nMbHxCtZKjYOmLRhy4yRoUcEHBcahvZQOC2O9dzfj8PGIoDepy5w2WapyLM5f1tks5TGOF8S97+U
MxvpRokS8UdyTpnO950F4SEMJNtQP8GIwO7l2eK9rxWoyiXX3TNb8LeSvGBuQxQBkX5muN+cmQm/
pfJIna0bJr0HbLZkSY1fyveGWHS29bQPEsVOm5MXIH9cLx8zQ4k58y5+Iq5gC4HJBFxI83L8OAvT
HXI7UsZ+xMYAACw33LSGiZ0zQNM+MJvFYdT4CTvnuj9X/qgKj5aHoGoJ0tocEX7N6lVndHFS19L5
Ez6AkMK1pH89i+09/Vkb2zQxE93phs1X4ebzBxf1MM5GjQCDfBMX8XcMBm/drCggn6B4uGmhxYyJ
Mwoegk2IJXkaoGfve1lIii3X4wrFFnwM1B6yvC1jQcF10IGU2jpAIRmQvU8wkGCpvWBZoZVixNvn
nnSNwwIaPrZrq9+nXyHkfBuhukbFf+l9RSceuvyECpdPW7HT8pld4+VlFL2bRMlo75tkV3cc77zX
A2O9z78ucScbVwDk0KCXIKGG2lgo1nUVW8Qt/DAXvPUS5tjRbaLpwOMUnfiFjSHkofSU3Gn8oli+
4HXcQh0EftH63+C9Qbn0RWcTO3koZ6QkPPyGVeP4G77TJ6tq8YuyDn+DaJXLu+otQ+ah4JUiNPBF
5mmFwU49QoNfdH5XrCtKyHHiyf0NMmyjTOGSzNOKRcKu4/GZG2VMqttiEmsoOvQ3DbMEfqb2Gwtm
AEjd+8gqfbg1O6F6fPoyLcLD7cALeXkLjV8O8nZFU6rBH6ROH/C39dKFLVwBt3pI1eHhVvzFsslE
WS3TouxjD23bNcnbYK+X9ykpy66z9lAat+mn6thdZqV84qILH1ih9v3jF/43mIUs4X8gh61+wwq8
qpTvoWR87CNGpSwoCk9kZnpLLETZV6PHbjIp+9VTqjK15B034aUVizZljaI92INtWIeO/BtZHpXs
pSzfCv8iwZpxPQ+1IqebqL4p5XMUZShDXV+doj368MJ6NSKJJ4/rtEL+Ime62YMmUqiWSicUNFy8
Hr9JliFOcJW4WsOUQNX41GVWy6KxbNk3PqmRK68ti5FpmwyTzHR8EGVIzFyN4uJOyigb1fLeyy76
gHL53WdN7LQO/4pVcFDCKRdHOhVs/hw3A/JG/mI1Nq9S4634RRdLNEtM70bVLNNzmAEk/wYbp07j
iFSOcSO1HzPVEtXxiyxM51eqkYVfFOFMoU6NZrtBSPwcjRordkPXHkeGSgLCTZN1E7SwXkrlaTdo
LvIb8lCdgs8dZ7SSpwwVfMoQTzOU8hdsdmLpTfFcPgcbChi4FPJ98NmZTCfnvUyr5uEL0gqyACja
0LIuNYGrpJ1QYDHRyafG55kssqoyJvBzRR9XTAChQHCPOlM8jjIq5gpZzOVVzMtchTcUUqzcj1K9
bfzBJuak5orjVbWhCWDfayWr57KI2p6V/BtlFZpLnSoTkNTsi9zvqpYNkyqLXc6j0eAaNOWFuDLD
gaL2yTQKNxUB2RerSObYrA4PaK+2kr8os6hPXcncV+YxIyRpUqRAZpEz2f1QTMBWJ7GOQVLdVStF
KReA8x6MLPP/OtUlydngiFDOLBWUvroHoIoL8YcLHwhHx7W2pRq2hsritI/CIDhEamCR2cxDBFSd
fNg6FouW9EnORnzZ63MlKEUnkyc8l/ODqW3nMJk/QFJpXQKozijAw7IgPkNQEJzNnI0j6YPK3xhY
dgiaP8qbaP0mmKuyXD0eCr61EWdCNBKTL8uEkzB65IfEOE9+KSGTIRtwd3ks3C9J6pzNvgiDalld
ir+RZ+EXq7DxJQW+DmvULKfCIIziD6iSH5DPkKBialVPM2eo731QHfVY+3yYLsr0v5xBLPersib5
t5s+9gXkKW05m2I91bFazkweKeoykQ9WoGyVV3lox5ch/OflmNxl3X92l00e2sN1cpd1HStV1ixo
Pvy3Z78hewJNFis31mxuNtCXakaSNjcbmstTY9pBqip2dFZUn76gIvzRPHlBdRW/UoWNorNs1QvK
41/IF1SXoVtbJC+o6sPnUKUvKAtZs3UXJG+raqI+jratIs7N8raq8iHOQP0LaE1ylaZWPWDJDkup
+wzMIgsJ0gUnVO305Pwy9ikMo0TEOYySUuyhIhTnleoK5WzgyirSK7hCORsI2wvQ+m5+JjWCULNu
UMMsZwXhCE0bU6evhMxnI0pGQz5YHrKmLGImjPSccjYhZKXRy0Y2k8pYDYfkSeVsKudKlT1e+PV1
vtzg2uVLZ+ZlH7bRJGiWuIqWXQVr5g7R/Q7jbdi/YiXS8CbfQhW91sP0/DxeELKVIVLLxh6vo/Cg
MXGrR6YXY+Bm8eWpffXPMM+N/viP+bxDIF6aqyUzLOOWGiuCM9VpzNmQy341VPkGvsoO5zw+Wthq
hBg5vYy5Yav7Mr7D/ksKqglp3ceKZyTFlbNhUH2ITC80AORsHvDKBCxkE7Dto95X3cvWdhMrlhIs
ZdloLxjrNZB6oyujMlIqIJQvxrMI60GIS3d5A1UoqfU0Us7Gp/UWCWABQnpeukfUbTddTClJ+duc
TZDrQ0gUnQNldcYKxyiKGIdnDwcDIhSb+fuDfC52lSwv3cgbyfvAyVw4u5Q5OwtlZ6WmCXM2rn1d
liJHCdo6JlOBjUOKS42uKOP7QBha03Fxlq3yoPWgTEiZ/Jdb+O+I6szlSFBbxUTAZ2zyRgjwyxZ2
U3zWBWrquDOouECC+yibss3KJk9b2I33LVyRsy/Mnp93YVAF63mVyi58cXHTJ5eFftPFSzPto7Rj
TR7HadkiZcWYZZyB99onAkUKPEfOxiau43YyazZV+DY6NVCbsymBfZBfDIJRRuhdIUB5GhUB1cdM
bGah+Bp1ZZFoxS5jAturMNNo3sTDLqN6lyocp5fTfPEz1OTw4ypSVjLQdOj72YRLhAvVYdC2WGbx
epwQBdAHVXIjOFy6I/MdVnTZxXwDml8bBlBZgae+JK//Zq1JpayO+ixmgUjJ9ZzNA13lNZpcVpL+
oAwo9et0OkAh1SZDqWtDC7JUK5VyNgVtlcOq5WRFXsXuI2r+k2CR3RGu5Jtk1U3OJhuHJvJjtFpt
kijbLOrm14186Gisldf/4iTrmOchn56bH4hW0Kjp+5xNFluZLFu1hUyRqETIaplbM8atMLm8CXcy
s9FeCaZtm7jzL7skWRMTpq7SXuvvQrpXsR6VoPCaiSlZiFThA185Jcfx9AKVkM+AHLBr8P+TZVwR
FRaZbLs2oQhzU1hvD0qAQhj+bLLsyGJPCyvkvfkjoy0hSdr4Tcr83Ef5+cH83l33l/l4fILk9V02
xlmbC0vhL+acn7BJrk46PlnEcmNS3Tpmd6LJuazJZMniKcAqNqQq9JyND3WOTqFcvXzbefiz/ady
Lb2H31nAEXS3ofczbvCLho3vqOQvqhi+heQ29H4axqpRQ3Ibeg80+3COUv6iDH8jjzOt/D1r3LCv
XSs/Q7nv7xyC5nWp4ifmbCZsmIg14mkFDGVEnRwyWenJWi2JydmwyjDAKBVZ5WzsZtj8J8Em4Bd5
VMrUsieU9fEwmbyrLmreSgXc+EUX0ypCgDbZNleyVkwGAy2n5WXtWsRCSl5NfTL2U+ZhZYUlZS1H
6vM8JkRjztikh8CFVEsuW+3Mziu7JeYotRMg/0btoNiI2q2+aFnFOMkXK6BZb9aVlVo0jiyktpT4
axkNf5aybu6i2twGC8imW2Z16UVCFS/YYH3ekiDP2bTxdRJJDjf0VbQ6p5LNrqyMJ+9kjuqyeLGK
rN+zqH4XE1Va4qWMukuxYRy70+xNJnm9Vbu3RQ51iVw/ajoV9CpDod/yait7Op/vor5Y2TB5bLP2
FfEAyLylXTNn/f8+oR8ovis10wM8GoVeXof3Sa79KjgP5wS6Zl/yV5Tpx0+sh/2KrEeFr4foUjsH
oXq73K9Ki1jXs/JDPj6UppXJLcf4LavvpOAvhwKSnQX8lrd1YA1WGfR1U3Zk1Fao111ltpAg9fO5
rxQiw4SNg04dO/f1Cw/CaD4P+8n88nxKZMQL7hYQhF/zicPnvm6fmAmHpZafvPzcd2PQSUobQNgC
ACe3FDObvsR/1Aok3jb4O9aSDQLHtXTSDD0JiiPRgd7EwEm2Ti6Xt8rs+pr6PwP0DNYtTtNFdgsC
Q6JTuwjFUfdZAEDZe6nqmKTzGIsWrAFGX+iAfI8+CeoCQG6+E2xb4k7CM5bZ56bJG6dTxomp8zUi
T7ugefl2+zU2kc7qFQNPbZfeuq1AAfKFlF71cLij1wkqiz/wizPo1D1Ufey+jk+H4TY8wRQ4o7ON
MXm6Emjt7vAUf/iw78pmjYAwkBXobGY3vjDi/wAqrV9dW7pflgYZ3bfrpS/3E9oYw/0wzWoVBK3X
LOthMV9h0TuuxtbfHeb9HeFoyfa/kl2J+MCX4UUOzuDK1rVB7sC/yUsGUb17nwzvQdpVNE1xldqT
kgkTe182jKd8bgtzcPBFs7Rguc+fBiuIQWjen/CQu7swGcQu6OnFXJCXmda6zcuIjpPoLNE6md9Y
uVQvRGijNoJYGrE75FluKlI2qw2q80a3xfbje9XcRqxtdpq1q+oKxkp+/Mp8eQPivk0EOo80hi3N
p/1xkrQwLmgtYFgQynVqC1U5vZkdXcZn898jZvA+WaFFJ+w5p9f4zyY45RFQZ+AeXy7z/YTICJLJ
SQcu/YrcVjFH/jpcjBq6Y2xB9tjplJ5FmZ3PXrSh+vQ8WXTO6/0KAgOyitqrrmNsL6152r5u5bnf
15ZY8wVcClhZyWXQReT+WsGMqazX9WJWuMNcKxpuM5+AcDvGPxoRmZjws3bwQj3vemTSD+01FTGJ
s1pK+55xRb9sJRA5jkHWoudVJ1zld1ZVS9TJrWz0x/t4uQ7H3XTdDdeP0/71Mp+MmtRW7GPSjPEJ
oC5C4HR/nAEhRNd6XOADA+aBtP3lMiZeQu1lEGn+KiKup5MxWcwh36+75wnA4xPy2t8GG2KIzWWG
TPbla8zahNxAOzJ2hwXLJdZP3VzN3w1OXi1i8lVnzC4PGStXXs2ywVcjKLV3wxig9ba6ZwB78Vut
iYyxQIF8IOo1CNFdpLHVlmxeNDLz2bHD8mzQlUrpW25HNFj+Z+2cd2PXkOiiMCuteRreNa7w8hVu
xRp4zAqY2M7Ox7tYq0F7YxebwTs0/ywepE5CauWxl6waOilp48/IEBncgJNPmihtG1McUeKjXZmi
v39PkLayIEBYz3yGcpsjQJZued51HRP2EQE4G+2YFIBe1uCk9MhjGoeLmPejDfkHyQCmEtb4+X59
RSpqJCtDk6ATr1NbpAsepHMj/QmtGfEJidEmXKWXcXbCTFsmD+SYzSW4U72YuwNQp4ODrU2ds8tC
izqih3BOKD1w96KuFilXe1SecRm8UcxG1oR283BYamo+DjdYCr96G/a7r18K/PNtOgLvXoavrt8Z
/sYQw4hgHO18HgGAFkIBElBwUXV8TA4K99K2BAXL736dhUI7WsXjDbfA652VVFCk4y4Hqsduth5g
uEEDBrJ9Yv4JLs9neFFDnAv/rU6M4XeQ1EplIK7Ihhy14HF37tDpDeOvoSo+KgRhcM5UGlm2NrDl
PRGMDWDwbW8Mvfnl5ahcVMtokKE1m9kwwYY9p3bL0ORxzq/5Zx6hL0lzorKyUw9+3QEn9zY+/shQ
dint6tmEtBbeb2cTRiAEoAYTfeHg9AobeVzwBvi+6YJyP/PI4Wavp+F8fZ1hpNN8+aKsxgD1W1QS
pZVzSDRE5bxCuhhOqh7Rw453UJPW2VhlSC/L20tOhweHsIN+0EaRFRWfMJ1hIiRvs9gbgi3TjynD
pgonTOnJwz/ang39Ia8Ac/C84d9ypgYzTizEp8Xjv2R2+ddxgFQogtvNM7Ajm5moi1lauWTEboHY
7acevkIQNuCRCrfL0qljMKS8pkeSuKpfQ/yrsl0/PQBRKnvL/untKozLiEuD1RobxNOJSzdJcnZQ
RZV/GR2EjrvO+meOq/Cr58HYmJarrWFtlBUGfbS4FhrSDrq7xcUxJ8cm5OA3dlgOpjziBC4wU2xh
dWpQBJAjK4NZO6/zZfoV4CGOyhLFskQHd9RVq7FN9pBUfqGsky/roAyti5ZvRcUBpwUqvxGwQ7re
4qKQHUNURzZxLTKqSVJkPOKdo2Syb3yeLweY/O4CdPjwYGVtMeZdgSHdtRXjCiMxXkBAcG+NyhyU
JVnMqQUd1vY5H8f2sE1tqYztDhi364SjvsCE0IWVEwAmdHJmHoLWqO0jflwb3PJPru2txq5FZWtH
wl/Oxo8wCxsD9HYZ1VvuGRVRJJbx7WlrMIMf/Mo+s5nl0x2UFiUY0cJW4oj0tLvlabfg3reNHeTC
xAWl2hZxYf+VmmuM8DpKmWj6gWb5gTzHmrMioweLeNxLlRdJ6fl+Hb++jlLBHq7oaixbO/u4dRFj
ectvholYMGHDriu/a0IpKGy0ybML3PMW/W13XfpdowLPqoddR+Xy1i3bMCQKabjJzo51DnfIQ/OK
DWz37KmAc5Cbwo+cf/bLGmFyuO8Thoalq99k26KR+chuh+l9IYH5s3ZkxlsZ1gxndvDI6paSlrQ9
b+F3B9VSbZ2l7mjhLO3QftkOYiVdl297Y9qaLXtWKE2NSaSScstOq44p+h5htGM8ZCGPP8VKtWcl
dAYyixsIj303vmMDB8UgZyg9uA3aYi17S8CXbbVZAmg0rbmoKplfxhf2skR00u1y/sXnFkW4teX6
x+HtvMMekmfjOxsCXu3qV+1ymEzKyFa3cHXbhZB/MDjtu7G+z/pB4/hAvIUdvyBt5Wwl3hz+IXgh
QD0yOChusramo+siToLtxCrRRMgQKZmxjRWKUM/krH15KYufAkvhVJ7GWlePtj3Z5cqmymWlFtiv
tZ7dwVgPl/nDkcxNoRU1MC2W+RNC0LmzQUVGdy34TWvUfg0U/W0dp5JsNBKJCn8weLBt0y31klB+
aY1Ga87aAqELhCov6vhbgrzolsXRz6odjH2wSWPsrZhRObZfsYOtd03s2HbTWHemHJ3dKWjS1vUm
rndHyymb6j2b1djkWPcaeySrwWjVnN0wRPxsHj/cnnX3xaIgWqrxJyUXrIye1Hf1K1TL+GHx6ZNn
S6tcsfaX3CFlQ4zr0Cpu24BejlJkIbr0xPITKbbr2fvK5ePuCMNF22fr94mGO1hwzKWCSBb5wv7f
jbY4HQYMeHu9geI64erCfdd81FSLcYTOKeTET2xanfXF0rRaF6Hjqx8wHEF5UKwUu5/lJRkgDA6I
rF3qJbHd1NAts1mOS4nh3jpvNq2N1N7wA6zljOLVVW/x4raYf5sdC++8YHVyn+UpA3izA1Bzaxj/
aaMrSZNw8094wwvnpfQ2ZoJiggU8lgCktXHep/GrHy/9K+YDpbLpgqPfohrq8mBELoTEkuKJFvLl
3y0YnW1vvY35fjEK4XJVPvVV5x3o+D7Lwk8tydYhPGVFjxtMN/8wC4rHrUAiAdWU9Wp2OIgWZQ+w
RVtoxOC86wzzmg3r9WPqWFnCj2BAKdXZohqZF5RT5exUpc8Uebor8X1aoWR0pvkDvHwixTKeHB3E
u7q+/mx0kdZpGA+X6O1Gb4c/kNRNeW7uMOhYWv1DdPbeGHuIYH6fL/N5eMG4Es7f8v9h9LeaRdn0
2LRNRkLFuWK1jHYluJqN1cNqHQjYztYaxFezXQrKcrXfHPjBbcPbU9lKGJgUhD6tVPqV4Mbamh+T
kGO2UCvz5wND1LHcw4a8CKSaCOXKaX/+GvIOvd7OxeeipMMUJ2Sv1UVbv9scA7CVsNuZ2iWVpQq/
FP4jXGort9mEKF5Di9zWxXcEjsgsl6PQYv4ycmp2LPpWoVkiI05rNv6cDWoD5Zz075gJUVas2JFd
Rvz/JLNCShaI1QTAdtu+SaSUt1UstDy1jkZS2bXx21migdijpCzpM7A4qqq35Z0bkoJAWiUnyGaS
U+lVZasf79dxFyR4lXyd310Lu2sLi5k17Pfj9To9TUcjnfDTcLN0fJLkela0YZOvIf1kf4DcfEoc
gdWKf+BFqDYQ4Mo3p1+Vih6y11gIqiG8HdfzggE3zCzunoe9lPWg7XrWIlVGGvF83plj22y+WQio
O5+S9QqNT9yiB2Kj9+acyzEP5gn4/i6oVaf3MBphfpcqtGjxMqBsWwSepK0lR5LuYP8nwRShtTw3
YZlR6/Z5YhulhW3d6IZ7oZVZLUO1FDAZwk3nm4OUIm4zdzMdr27j6Mps/pE+GK9u8RRO58v9BBS1
32DmDiwE4yB9UH/aP4f3gfaicZaPaWP/fZVZZ+ntDoaGXEhHe/NCBRzP3sm+t2FvHxbJeZe83g8n
syd6D4YuR1eIhn+9Y/+1kjNjjQYOboC893ebIDePwr6995cdji2mkje5MrrIc969UCIm41JJ5hc0
jhWMZLiflnYBZcmMFdmiP902kvx5G26vxkTBmIhyYyWOpPDWI8YsM1vDPVz2r4YBxgPsjA1nsLX+
++P9IBulZdZ1wYw424KzP07nM1ZCfnPgaDaKI6/EpuZBpLu18z4u07CDZz+KNZBoHPds5l65TNDD
rwnyYXybjMCzj8tWnGsbKvg0NTDqGlcmdDMi06iky/QEdvwdK7uvRt9jkPs6X+Qz5kU4x7Qp3Oyk
4TIOVMM0/us+HK+LHoS/k9djXgbmWW32C499NGqdgpXXoFPluhuOX4cPI/zV0zfhmBtrYlskPgyV
oUi+gOw32l85NJsxByE0y3lvNlY57r9I062RLZpwnpAVY/Cf14Y9z4AIdn97kh3vMmOON4I5E43u
5wMNv/ZXCfVBeD48lBhWJMoz8kAGqooRHqqO/nUfIVT+PJjPFV4LZ+S51C3msNw7uiAchVE0O+of
h78EvpFPztrfIchqPXswMBFbFzrHzvOkPUoWigGGte4RHlMsc8ADMbmA7RE22DGdXscLlhMbkQMM
iCwJIK7TVR5BVGYsklOj22cHQQNo1/GmiYYy4+NusVLM/LP357iep5O5/pva/ktnKgJy2t4R4yXd
T19O89eTlS5XiPBDqVkoKOyBFU4Ph2dyWhuj9cX8Yz7Lm6uaYB5rzcsDJ6Mmj5NlI8OTX1C8H0ZF
GDfBvduAzlJSBy0Vym2xYdilt29eNygBPsYKglEZkzpoDP46Pl0GeKBXReCsZhW7+pq3pxka2aE9
+H0Me9G9dFRoEkpEW3ZmbKcX819eAbgNfHrjX71hFY+8UBvOVbXEpUOS93f1fKMcswr3U4R3tKyg
XRTTmvXSuWHNCuz8N57MXpvgXGZshh+E3izbAqtZTjPO4Q3QSBS12AS3XrkpAqcD6RjbH/YGYWtj
9J2nm27/4r7YEGTgAqvAjjQ+6YW6/UfXu3nTLTM6qNdj8Ee74HzGJZA5j4NggZa84NBee9msZPzw
lFA6GYMkYRwInAy2n9kGSFEy3ABvV7Pb2Dzv3FPHmO3HccfuLqEF2bxfkPJtHjWRYEPOTBq+4f+q
8EIbKFYrqa2Avr7O9+MB1nsdzD0O39AyVKzCOiC5DYm4hOLT/frhWs2VN9KEb6RaDBBjQRGOgUMg
VeRaGQzNrJj+IesduUBsHMbDtCywja0DFrkL3YIv44eiGzI2MhNZr+fW//X+ZFx2RWD1RTBys3Kj
+J6MW268/dPHm+HeFy2b4rkN2xsrm113N3Ec34WSP3rK4WzMfHFesMQH2JX8Nv/vu1wrPmUtwDWW
/1br9SSUMfreF5jm2KRvbyL4/bKuJVguckfzoNHfloTxJXrt6yz4uumiG2hrbQmGNJAviC18iUKj
QRl87fK87Gvt8KyTsfAjevnXrfa195AhgvTIDdI0O/q6Droo2/7h6077ug+a2upHztFo3oYgE7WF
xSTV7zwSReM3gZNrhTZJkfF0l4DQyJ/rg2/txhchfUBsfOzpQJf/unudXl6PgDKjbMlI2CIwO6tg
GjCFAtG3VbGGyaPiiciFpW11HHg9FxFimXbizSGogbIjdsbDZK1H62Tbbkok2C7h/bDh9HBdS1DB
LEN4wejuDU+y7Cps4d9i21ingWXddX2Y8ZCB//7Bwx8Oh/GQMK+Nm8kWyxbl+rCYBWZKLsd9c3/5
b4bmYKJDD443TRTl2LDID+Z9bcZXy6cbwjB+6Rbbw1/J0htPLcxP1rBRiONPg48lK5gDhigw80VT
slVgUVU5hwgkBx5Icoee6k/ExVw80D1c2/U9fjsP2CK8zXYtmP2x8uPP8/l+3pGBdYUA/olSlCmj
xhgkdXD9bSOwZtIRMbTvw8fbsQYp5VR96C02lv/My55u4xvFDTXGKwLz1bVzr2Oi0xuy9G3k45IB
JOJDMZnCCc6lw2/HYr/5mQWaputONfx801R4TJscBKZiz0whVjguPK/KtW9NsTyobXBuqKKKusAk
c6139/N5vtxAXu/vEGG8JRRaEcijZuUSgZufIg4HmcwgOsSLwm7z8vZTbmxXx3xQ/jh25s3N8HoT
bofvDHOeHlF6OhCmwibPvAw9l9ahwV2v5xEzbQ+aW2HzMgz9N0HUeT+cdphrhStT1DPbENTvryJC
5POhlwe6ehNH8sBwvZgkFgzj9D6ephFmWL+Nt9f5oIUPssBlrKolAuGCXbAlsiSUVfJQfjehcYUC
RaWREYh5GN6v4gLRupy6NmJKEd6aRZ+iiOVxOmiVZl2YC+lCX+s83F4VxmNkIC2YRfIwTE2kNsMF
Yb3E7+mr3SIv6HUqt5OFwS4rb7wCUy6lCbmDnecyHKYZihe0z/vw89ZNyLu6XWN8g2QDMT8V7YP5
9JJQyy3DmPVjkxGwZottWK9oaxth6WIwFoRcS1ETtk3dZi1ds84SZyrdmfFgX8aPpxmQt+w5p+sZ
AnPKKVkuwKdwHD/qcifL20C+V50P5n5DXNKELM5WypOZiXjz4POADtWMkzywNLsqlAzbTV3zqsN0
qY0D7Q0vGbk+QizmPA5flNO0gYTJu4IpcYwkQYnMpAVbmVPz/3H2tk2a5La14C+aDr6/fBxLslex
suT1yHd3P9yoqOmumSm7p6pvVbWkccT+961MZj6JQ4KHvRt+iZ7u5yRBEABBEAT2t8+1m00TmXML
/hb38n1aCbwBV7/hGpJ8zeOxonQae2zH3H4KoWtXytKZ/9vrt0RJ3336iMHIpp9HDvj+rfYUjuzj
Cfbe6rritUc2BzF8InZ3bUtgfx63Km4vr+QgmzGGedw4fH067K90J7779PzQuLO6ARXG53K8Pr77
FG/f/bh5bvvl6svmVM7qULUNQmTc7nfYRQrP69um46c4nv1tWb+lprIR3e8swzSn5blWYTe2z1/e
dotAjJGIMbSXQlcs+BsDAu8SEWB3tsdWtuXlH8kXG+Nuef/bJ4l1NPCxs2rppiWn13pesfNUgjOi
eMt2cMd97XbD3jIoZjUC26y6bfIovbYfxOEBz/F2dJvqu92cfzCgX38cpz89f90P8nxflDdj+0X9
IZwnIe8Ks7wgsRgvOw5wj1sl53Zfve3R2z3vzQX+5f6Vl/Rt8woYghF+nTzT3xyKfYwtVPDTtAdH
M1XdPnn0IBnyXW6PbI93e1fT6HcbsN8Kt9LnxDtAy3oYxRb1+f+aZePPh6PNjOy1pnJ3NzItVN/s
vMOzVlXc9l0FttKJ/LYoX6Ts6bm2SF/h8dNRqOytJWL88vjwsgUKSEgoYvYEPIZiz0/etVE8H/C3
fIcrA2S/m10ngIiTgOhVhEJ8//Txl2dGS/Bo9BpXdpvw6/2X746W5MQ0ZLQsVt0oVvfd7xtFFwiL
2MT+5MaR47wFflf3qcVjdkscQnbfatWtuE91V6rN5VUdJUC/0Z1C/1vGfJ//zjynjAHZZOkB9J5l
JCXcDw6nfTdD7TnPfr7Ysh2It3qt2HYFeZyHh8sB4mMUcH7qKb8tnUU436fP8vrw9K0hUenb7XkQ
/szp3+9i9gqw57Xz6oLU4Z5+vH3fL3QeLvu6m/Lmxm5Et1VgIRdMGICg7eb/PdwI/JYQqzhr7gvi
O090y2sm8m0x3hf7LI/NKrU3LVjXYOFFOjyN3By1PQT70+PD5z3L9+O7F9GmSpQ5g6yc1dZEFIgU
um+0OAhxHYZu3zTOZlBfX7dWZz89k0VDa2lN0IPKt/IANHnSlAom6igWeqZ1fXcdol9kdhdRye5E
U6ib8P/fR6jo5Rx1L/Z8bWLhr12vtkpBwgk9iGvLsVwHI3IeQkVTuGUubvs5iaCJF41mL4d3uLNP
nzYGf1uKTcDLtvct4jh1vbt27XD9y8PnL/QY+y6TFXIOj9htO+/fijLybDhMqFFu6o/4UEuv+vsv
m236+/PLJ3YOwotR77vdbiv0+617Xee3Gqg3eTXY3SX+JuY0e9F6jL/nbu1PO/XTHusg8lgw2nJe
9l8Jo7swfkus2xrc0o+D2hGq28MRT8d/nOc1enElDkdXkhQEBTZWdTm24vaKhAoihMExJXAr2UXC
kRVs+XkYff778aTtfWPY37yed19sRy0BvyUS288TZNs+94luz1wPffyGe8voYC87QkOdQ7ql4902
R2KyhKErt1jV68PHrZz8LqptE7tuxva3+PtuQPTLo5W2wg7ygPu72bH4JuBM7WuVkQ/BPRLSF8FT
K/NDHeq5uDf8+Pz59f3k+t37Lv2ZaVPA25EkUw7v14ZM5CRvO+vNW9/TVtrR6AigvO7O6WIrtDJ2
km6WRyaIbl7R+8SIxActkxcP8+8TfNe5l08rYxMqBt2P6bUrVOHhfVNnisYwTFj2QV693H/+vN+u
tnu7x2/IQ/B40D7ZddwyfENIJaIPKW/YLptK5MeDe3aUD5L5t9unFtE3ccbftxsRLniXwxdmNoLD
tPI4hrheb2Gb+5G17IidUY4Oi3RG7t4/+f5pcESh90w78e557fcXN95F9yO7GDGwh9sjYtSMzCLA
JlixXyeY1B0mvtVdNsJ+pnYSEybm+fkzzWkrnTN7ufwb1/ZD1rvXuJvdPWCyeClknVc3huMp1i2V
rNma49Eku2sx4tZyExl5CdHeUN02RyZ3eKI4IqFb7Zb1ewoZB/c3bOuXeAsmfdPBQZinLcpQs/rg
aduHpyUD2uab0XWx8zX7tncZVh6+A14Nvzz8r6+PL3sRkiuPg8iT0S6err3kfRf/6adH8lhNeBYi
B+xyPPunJ4SUpIVzhzDxt1ynyXOIv2Vu7B1Ej6dl35Tsb2Sktd60batL8Ot9e9HVXsKQMEn3hUm+
VWu9uYdz3g9K71Nkm4p8+HklWl3CvUw8NeJZ137ETt319DcqiC3aQYYk2Ipknmavv8Hb9KA8qVwF
qvp30sfb6K3cwXf/+PFXopYtNbleSdXthcHRqvbp4/On8xn2P96Prm+vbw9bVbD21+wds0hRL03s
Tk1vD7lf7n98/Pjdf//9P/dHPv/996f/JLW2663Wtttudl05awh/bY0ff7n/+F+vTTWmDWWdlJd4
uDFHIOvl/nEvbbodfAk4X+AWrDiOR7/dP73Lx/tJ+v7LjCtOpgXG8+nAYSK2fIZ28fe+c25PrjZj
82689gSodSnycn3Wxb23axRxoqOz0Mb549ptK3n38evr2/Ov3328f/34vgHtHjMZ4KrbvruSVeE+
mbUD9Fm78OHH/ZV9817evdzfvvv13aPd3ZZ5VMRJryHu9n9zbaGM/NtvXx5Ox/mnh/uttRejTszt
yhC5+iA9f3r4+vR+dDqX4buvX16mzcKdDNrtYrLbg36V9yjSvEyKk5c3O9e2Pa6c1dx+ffz8226Y
dv79elRz+/G3ef8uJ8/U8bijOD34n3cObVHuT49b4IWpz7kvxRZlvX1jaxK8NQZvvU8YEUKFrput
9/PM2y8P27XLj8+f13WMnLyM3/mzF0f08nqrBT125L88PPz3/Xf/9vJ8reGvD+/W+OOWN/+f73ow
daJaeaerStQWVTzShH98/PT4fprfbvL2boRbzHTeRL596Cr6E/doc7TxaP7+9sv943e9fFzd7gkX
oljUPQrRZO0frKW9k5klWwWe2/sfMIRbcdJXspb1Eob9fcTRCfTk8evXl3eXYNvR3yX9hXymXJ8J
t6fL75vt060Pxl/fzcGf5v0JnMzg3UNPYY8tdsJ5+9zxbfKtIuz0fio7WzHcwjrnyr9d7783ISDf
vKxgMHvfqqNkynbV9PByVG37vCdavDsH7xK6mTH2Eu2MKraXaC2b5PA79uzej7/sifzHFr5Vp2iB
Z/ZFbKR6JE6MZLFPXI+c3vVyI6rk01F5V+nmnrRj5v2XL+/O33a/I5/hTxNVju9fT89aka+jHNWe
cn6EA4597rujcw/7mmhqYa77Glla4jveY9edyal7P+l9Ec57SvEc/OYen/3qiXoeXxWtQH07AvTd
RT6/u5cPT6d7tmVxv3vRPz1sLa5I1bZ6VW3bSxGFzXD+P2PLmP9fFe+3iEASxVpbMN5iZdnjk7wB
9v4lUQHX7q+XbIE+JkdVx8cVRUl8p7U0s16h6Fta4uzfc3KGexmrDC8PjvuV1hiNdMrbP5ZF6dld
uoNPysf+v6xAkfT5tg7yk9/UZGGviyu/tF+q2WJnX/oGymIdVuLI+BPfe3pun5yeMPY5GikbrvUX
Uda05RvY2xe/+/Er+2qQ9O2tAI4N6fjqOddD8ijzjkQOU88UuS17iqwsa/uwf08yr1n9cGwirUL/
jtpuQ16ef71/2lK1d/+VLMelGOHKbX63e1/uP23wDf2+rF++0KWIlwTvL/gwcHZU1f/WxmHti9cy
7P0ew3Hgm36TfOpahN3nOhj28bVx69P7Eanlsx8xrN3pYU2Aquj3ezROHev3nfc9H+9fftzeDu25
8r++c5OWE7PQuPQwKftjmJc38lr12DAqPAo/YtufHl/3qOVBHRtdto6+XXceWSx/f/z08/ZKaKsQ
9/r2W+sFeP/5I/ue2MDOC/DzTe65x+z7rHi9L4LHe8rU63aY44XdaoDIRRSJH6cb8Lj3zPpCu1vV
iK/K05Hw9Lf7p/uf718evzsPSuwbBl7FW1v1uDhMjb6zr6Jq3d7x7Aj+/oMksxxIUWDA3yKIt8T+
VjTvrC21H0UXbBb1AjbXxJkjorMHsc71vP/69vzuJL+c890WgDy9c/IVzO5sbxw8TpXdt+7ft9N3
DX3aTwXPP7UTiiOfFaeTrdSo/eaPWvLR65CRtxTlcviL3Wd3V/td+78+fXomH+tPGWcHuZvA7LCd
pu2AyFZH+O37/8tRJEzvDmz3DmgLum3VO17b5cgr+3gCjzsdZ9a9Aci58NtZ6O+bFW1tQVjhiSCK
P2yNgdNhFz497nO+f/ntu8/Pz//1tXVTGP72u5e3z+zzBXTwfKg4fOUowM2jrscnE4Qyz7o7/SfZ
F4RpNvMvLI1UuYzUXuAzHLkt45fOZItvml8GC7rFJP+ftqW9K+/71vN6xFH2zK/Ht6365vPLd8bM
S13c8vdbF/vtcu/ozfnfD6270MvXJ4KOXojzFZN7/u/NeXv3IaNLBO0vbot7wZ76zKivcPY69pRz
/PpusixDG5j7LbTy8L6N3n/erlo47yKOPqE/MArEZtb6eygkOEZCwjiAV/CMgCiuE8qtuXw/BbaI
IeMSRPULbA7Bg1ifFfg/Pn7yu9f4HQP7a/jt/HSUiUEGMBmIERh4PkoGvGf4DDJ0VqOQH/jp8fMW
OWdUiJbuomJYz0RGh2i2vmvi0Rf48R+PD9/Bd3b4tqT/GD+1P77cZuRs3naQ/bFHEwljzRSR7A1R
btlHG9unQ7gbQFSB3ZRtikiAiCeizBFVTuNIcjOmzmdhriHC7Tn2Zn+mQ5QL4W76vwn7FOEBEU6q
whwREXFO3M8RARGH+4fC9OXl+e15ixAy0XYolOGoaPLx4cuZurh5EswdvVUE3XfU613269v9b3uI
d+vUNUtWPKgISIVuX6iZxwpaR7rAtkn8+vXtqLVLVctCFazjXqGnoLI5WNy4s2JkmI1NBjbKoxnn
YKXv2SSEoXe3fb7/RGGTEL2AW5ZaO1V8fXt6/K8d8rvnpy1yvMWJ9/+29u4P/9izXTceH3/1Id19
/2k7Wf7t4e4vX9rI1799cHd//eXh7oetPW87j9w9fxGG64fjR9/7u7+6D3l6ze8dJqYeG9sN7j7Y
u7/6OVw84N53iMOs4/CBDI8VO4/kThzekuGvfKB6Bbvl6PaDm8PFw8pyle7H0QlcZHCehc0lnNEd
IPcvhH7gQLku6sy0iKjC9EqYnuS0fbdkfGiHSdGHIybBZNqyGOZVglyCyxwss+Bda/4wrDWRNAuL
VWPPcc8FreLr8KxwPJGJY2mYME6ciJnDstfBDmAybY81NVLq5+34vLHAQ/aKoDIFs5LpySlLFgk6
S7Q3w7yJXfNYpT34AUyWy2Nl7KQZNSKpDrMUFcLJpD3mqAeN42TBLJYxOBNQkXa2Ypi2HaOyZGx4
L01LTMrgZO7OUTXZB2dmMeLcjxdKODyzbagrWTOrbO5dMZTjgnOH2327bhu6vlfb9wHabuemPTtL
FL1Fr/4Itw9MVWIHZ9F09ZZZiIPP2NMGTxIPa2sPS0LQ4ULv5eBjDw8UHo0c3NrQw6dbdRv9YtzV
PEbM3S3mnq5+uqLQTf8BSz5wMX+3w0bhHqP/aok8+lmWOkoNb+X8fR3kphK58Ui6H8CBzPtqaiwK
afRSx0T+mvm+8yaV8+QDyQH5YFQs2Qna3A2QrzAukpGvXr3Wdc7tRTpjXgCpUzjPRDaDunuV8URk
YlgrLJO4AgrbC+zU12tsd98iNYRz8Zr83hPQqB8gaxeF3HpVapiyR1y3qIxuqan1IPTWDqMzgU8o
s04xNWzhgjQVtmpSa6ngVBQczVSzjcKDqTYq79jwYOrgmGBnh7I2sIGB9XkzvhtY9RwUhWEmvkqF
6Y0FOaA0dAZbs+Uunt6HtXf/9Ljdpdz96fnnLZNxjCds/3v71+///PvbL24Oyv4Lts3uNwPO4B15
vVavfWA6iQN+RV/qLbQoh5+avAOf8YpeKI74AqUgQpxamM3bBEg1dicyHq4A1oVekG9DFyQ3GvmU
/wkYUEr3ATp1A9jgh8HtgvseyI92nD0bX+RX1FtxlG54Sj/wvqRxdMY50fquXt0ouuHZ0ousyQIb
xm14KjgRmJ8UuaOSA0HHEEc0lZraZbak/3kZj3e7d7Mb/64ahnXEyolK7btcgmisA30uQsQLmesI
d3ZwgihENMPYNIjhxBO/Mijl+kjuIoTbYu7gDGmBa7mH8nFF3cndFqs8Z2uGQUo0hY6Ywja66wIR
cSSerVnE0GzRiGeL5jEybEfiGeMx3FeNNjqZfIxa6R2YO2MdCIwIDt9IJxMXha5KvwOtQo1OdEA4
rdDNELi73z0/tfiFcCEuO8CW1MkgaHugIU7AlhsAJyOJ8VhPRHs6sBXvlwzGy+1UAZ2Mph1vqSQ3
2So6ebPSKA5pnC4B24DTjf3Ajgx8PcwoaO6Y8DgZwjo4JUWPmRsnr3KOYWM/LGNzJhQTTXfyMqSB
axnBTDTwsZzwum/oRNBJDg1GhtlHJ4ONsY+m3QaOZODYSXS8bdj17g9by9XHt99GN78eccj9F6+j
Dm///n2eHIv3zI8qHh6kWxrJDZvmZ8sGFznuAW/cjrHrFJzNBRbta25YMmx2QLUI/+3IQE41G6KI
9x+bpPqOauYY78NHIFx4tnXl1O/wDNTLW84dHz+QqZeEtDvTgwnhpeByOYtg/4FxTax1gT20rk5i
+6xR0qrv6WZDC47V60kViinBV/lMx+HV7iExjGsRKE++l/FARo6wXOLm6RiXzToAwwflCuQAteNR
S9Kw2GzOFugW1v/AspWuqJ2x5xcZt4o572nHoQcza+QQbGsPLgR8US1aIKJNYJPubIpN/dhMPj0S
7q0yOLMoAfS6ZkU1mT0raJCs7dWLSdnFt30LDIN6JDJxVOw0rHYm2IvqvYFqubbMbb5bNs32hvqN
7I7h7vsyXdUtLe5MrWgPrcDJ3dHM1O/4Y2O/4S3iy3Rd2ujlht4NQO5Ht4vR3Q2PB+Vz8EjAR6bB
TnqB5I5rcEb84YqdxBursI7iBesNZHjs+KlQNs7B4LEillnONvbFeGdvxVrF2Izrx0HhNvGsDE5X
rQLtHd8zGzlKJGw2bb0p2RmFLSCaiYq75Cx2l0M7li4zDutizy1Ks5ECbl3HK7rEAO2lyy0lxIJi
WzeIGFVsCwuVhoUKDFwl5bkqekUpD2AUxEnjQ5Rm8/fPD693T89vdw9T+xmJBdvLnvgCFRi8pDXO
mdSwECGIGaEzFWxQUXojd6YrEpvfwAnAsJ9Fqr473FU46dtuypEM7OAQ2M+4sBNkCBjZsA7BZL7O
zEITO3IRyAnOTqJAO5qsr8uiSE5/CovLo37A8BOeZeIyzBCcmwaRDgFjMuIRbNKwVkw8xYNCzGA4
wYGAKxSIGgSMuCRt3hHWKynSzVa7gFJGZWyGhihY6jieyaQjTDoaZVwmKkmOW10/Z7ZWqB0uCHPZ
cra/wU66eSRkzzQrXe1SKRCOmpwdLuLLLSbgEJ9Zjl7GBME0jE0S7ESrlT05wSCWHMvb0JCuDaLo
5svSRs6zjOkd6ym2u0roZhzZjDNePVVlwiSjMMPIcBhw8wN5Ixoj+Rj3cfOgUQNX6OMn727qIrM9
QkZ+iP2obHkNzNb0QkkSdkWlS/FeSPCZMdnB9VxH8eoBRASR7gfO7OlFwbcPwSsjM04nvJ4bhmZz
jpMryQNKkptFeck9Mar2VPP3A91dbOpHZroE97BpMFpMtBIbdfXOQ1wA7yfLokyZLVSVdNfQazFT
RDe7ej7mTDL/RcdAvH+q35K5nwwaTKtsMYxwMAO1intEf/f96+vjz09bpSQlE2lL8PrhcavwKH53
3TJ6Gk7csxkc5ELImxX/TXkkNkMeiu3wiywW5+To8pbT05B5A1sJlluNoJ1msRQ690UOjIMcmOg6
NGVaAqjVCKcJLBXw5kpA2RLvfrdV9/j69GkiEk0g7fwRzrYZZru/pg3lllRZJZH7N+I8K3T7RPL+
9on+WtYLS1KmX4h7ldTbF5DFl9Gv8w/Y6wP7wc2aYRZhniG5z0IwAt3qGyvN/DFVOAPQgpXJDp9I
fDFSC5Xd+BCGD5CHi/sH9jjuNYmRCySxfGfkXnf39gERAz8/4ObP6PYP1IJMGMWpzFOs9zkk8YWM
1+1yEkScSrh9oSiT8HN7scOjUAkPedYwhTkT9mu68wv4ZuakwM0eF7RVMHIVSs9DSn6oGVYgWl0d
PVFHGD4abf6WfCClJBfAh4GCqYe/jx8MzqAMBNSFIpUEM4ga/y2hIIMxiH5cAGvmaBMX/ItcgJMH
8kdrdmwcRAU8rICMQ580ZC4EKQoxcl1ykVwFYhCFHlbVHpaFOcvXB/ZS6OosqE2OYApw679JIhGE
KEQxwKMFsa/QtXSeMuHQxkS00cMUsjaFSJTp4kB3kQyyxJjg62Id48Kku4pORjDq7spkYU90ERLt
J04CYaTY4Yu6ObqFXazXB/ZMSjPuDNZyNyMbdJZs0rWKMLNYWFBlHnkhksnBF4LXhZrYV2fBTai6
o0ImIdjQvSQC20BIyKAWrmqbPDPSyYDLGJIm1dS2OHR15B2l8FTYJ2IGQx+q5jFa4q8loZoFw/9C
nKjfm4WdxwAiCAPhg63o/xfd7yV7TcCNwk18b8KHahdfiIutxseFlbXzd/nNutjuIKXaF+Y2xVIW
k6gLPhYPrnNNml5SmTYOnW+vGxe24xbQq+wmpr4SG+ngEzHr0yDiIDaL1nVKsw6ZbPsZLaTTHQ/m
PvmFOBz7LiECRfKspdXt/MQHDN0kik4BkWlxsm9Pr8pkMYmdrmgd3MSNJNsVqgW8mZBmlrnzuBjZ
66pJviAOFO1meOI9kE9UPNVYl3RXkEiEC916RD3MQTTDov/hiqYZxEZF3LjTZBLMnfy2fZN6Yhkd
ymp094HoZ+5Ww/qJaLNNJ/KNz8+v7sJZQl+ECWQOM2xbbP83i4OupSftaPF4M9n2yEqIiNOeE6P5
xAvFyHjSLOohjfj1IcKelYPqlTvqlWc0tVXXbmJsa16ED/0iZiT9B4vp2SiQxJercNpNWXcG2Ynd
ICvVLYf4s8HjlpN1p5oItEvUDztPWI6sZcDoURiDN8TEGrcIgNpF9DFbdGaDbppIPF0En/a8Hqfv
dyyKG+ixYrcKRJYjRmBT0Y8lzKFHs1T1MwWLxqfOPCurSBwX6f+52S7lGQvRsNo4UWjitlhumo+t
mjDRojZH3Wkhcyi522ijbt6JOqC7MMTP/CL4lDCQaWY2jd2qZPxE0I0aMSniTqMr14Y6TU4k8n7J
qAcruzjqZ5PWYTwWrwgVwz5eP2WTHSaaFSf9wtuQpjVDdgVy0hM2YMDCTa6oyHZf8KIu6XwgtiVA
HFBRTL9QTINe02Bf3cLvC5Zedx5eHyHA97EGp+klUeuELnhQL0iI15dwgwnaBkPMQowY/ZtEGcge
GStuUVm3rixqFVc3JG4hiCv33y3Ppeh2KtbV8tuJhD6jnwSTiUYX9DUUV4E7fAl4UJ3ORKIL1S7y
D/z8uXE4mxvJI4wbHYVALktXF+Z5ET6Nlm6Qlt7zmrCSIH5PHAqP8BzrT/aEUmnGwc58QkDsTn92
4quyozxKkNdXgIhwRHNe9CMHsaZucfhzC2MYYEPyk4sEdj0WV1kbCyZm0xmzrBtUEqZLncccJ54a
OfgYy2+tz0+Qpah4b59HbfJEl8syAp8WPnuoC5+9LmQp1286OpF9STgHRT0+trsQFgXAm1JbJl4a
cVZt5yo6TSWIfxEwAWYi0o4e4wvdGw9nlXlpEYxjmVxLkTuhUKhtP+WZuCm1LK6c/eIDpj/CTbZ4
8omCboqbHALJHm2AD9mOWkn2Z9PFtWbRXrLL4AyiGmZlR6dseUTosI5sj8F0GjORRmJfTZcXN0lf
IK5Wp5M2TNxNwgibFtkw+xdIZMiGb7vVIovpM2fEcfxiFyl1ESJ0i2uUCmxQ8lnywjBIv9upEYW4
EAcfKAluqROui6x4/QtEnhxOQnMa3OITtbsftHaSXERk0qNiKA5gWShnwj13jJz7xQVCghBTjfpq
Ei/aZ7pnn3dihAsu04Qat0zctagUTs/ZZFyMGHWepN2SU31BS18nESqyVYW0cL/Kwn/LeBUUJqmr
LPs4oOcyuTRn15t15TUsrnmz7a/dgx4/J5x04ANGqy8msZHF4443MfTkWCSCVHvRRGMnriw7D7hF
BPvkZiTctAuhiosItEciBi/OL/IwpH2yymX1IshjQCmq1UWa0C/M236pp0RILDlVieHbcxbd92FJ
RWnxrMEtXB+MUmixurrYsUtexHzD4jRhy+IyJiz2CBd4Ns/hdZAvpC5nMo7rSKSwSzw1aqiHrEHs
DKN6FcRild2riolBIdt05zNNEg2YGKFRNPrZnGwOvqzSBMLCV7H5WxxoS/NnLMhynaTOEn3MXQbx
JGpLtvqKgUs3OVGxuCm+2Ipm4jMRNnSLMUlsJ/Lg3TdcIlCz4rpMxaC7PCzcE2nOp1t6Xc7xjfog
gchk8EPc7nxn6O/+7fn17afHfyit+LavH/969/uHjy8P8Hb19hLR09K+e02bo/SCO8/nl2n0i5fI
O/x4Xe+GU62njaXa0FliUzeyndu0NrK/odG18LQQdRvZy5GFx+9pHeiGjXLcUHuqF/wywC+DaM9n
XK6l2mv79Eu1YFiGlRbXBX5RV6DBE8y7KPMmgx+9JFwZ3hH7RWmBNngAuDjrXqMz2u01dWzzd8GJ
jhy13t1wy+Fp1fEmLhYpN4OsEWlJ17Qzhu88LTLfwIYpiOeq6RZiykS8opiaens6vfk5p9n64xMx
W5ZK1B6Nc7K831bBX9oPSybY0AHr68UB7BkYqp+FjGC7KCzovAPKs0N8WFBeZmXuFtUAGhpq+0WL
4FVBRucTHZwY7QMPtduk4+B5M5NGvGOL5pZ8z1jyzg+co4sOUwfDb6kNOQa/BK6vNL2sAtE+EPuy
d8P4dOUsrpwbOE8Hr4hOPfGrdb+Etqt/5Xk7kMZ6A+s+6gsVmowiZwY0HRq4viVZnMYs3/3T49vf
H18f7n745fEnpXJIPoqb/+nh/V9f4Tc3U5dvs6+kFkUWXYQ8nIDzNxUQiVALQ5xaruETGx5b1AcN
z1rJZNGDCftQ5W+oX5JFI3IPEd686EPV8Am7CIkgzkU9KwSSLVAfg4KPDO9x8ewwezZ6MdDDXBz9
r9ELGz0B9cLLzt9UBiVe3O/7PF4EUPZXIEA0vsurEi4RW19F19O+kJyExWucV0hn1WeywQ72VeEd
w0eo22N9RnwkRrOtvadrR+7qjvlDAyi5Wedval6W/KR2zzU8hScQfBl2y9/QgKpY1Ps0oOnaCbGr
o82KK5NZ0GYFp0yeUZ9g7WNR4Iz8FAGe+pVbSE4Us88QNr8kPzPuRZx9USSHko81pzTmMZOZCrad
87cTRN6s/fue+h9PW9mlh093//748y9v3Q4sdlfP1Xzf4ivW6S6SWs+XuuE9uAgB4UuXugjHsJdz
z9dqL4ds7MSjv6hnnlk1MHzWhqezh+NIdQo8MepN718N1NO1E1WssRX9hWeHqYq1pDXqK6MeT5EG
4YztxcJxoCc8rsp3mwJC62svdQuHvIi6/rFTUb86C3mTusNMGuCU+ADwmpRVY0ex6gBfrLJshY3v
4CBYNJmn43dHitQvnlvMHwqgVz8wj5WMNxElJ/Urv4gAlAxHsVQUPJt8qZPD2GXu6PAOBS8Pk2el
401GfddWjlq7CPhaFDy1FxUkJw7GfnGOLkJxsMbDxXy6WRSgP1uF+3TxAiz+5tbcdtZWDfqH9311
cWR11D5tQcBsrshlV7sp3yKIJIZYr/jjzqYywGeb2g4vScZNwfv5hjuNfAUwtxMI8NjRLa3RLm5U
/Eg7WeJGO4S6wS47ahobukDQ1ymkE3T1wPbYrRq9GMnmWrMtAyZoY1cydpWUe6vMm4TZS4XLjRB6
pvO7kSIuCLB++UV7JrRnFNc68M0Rvl1j7+ccTdZJqL4auNuQccWLdoaPIK6qsjCBgwstVxVhZ3z3
s2uh/C3XQrkA3GVl6gRerRQ5jA+sLk6zQV0Bt31akbxRjRdxUbONRNRrAFnNI9XMLgtpKapdtswu
lyw5ljR+F0I5XmC6YbX5/WdxcAPpFFFjggr3toOaRG4hsolA+2Yhzp0z3v3r+08fv3x+/Hj/9vi3
hzESHLfL/IeXj7JKcFx4S3tbzRiwKYpQkLg4XjlZSv5o+WoRHWgv0SL6iwTgd1wcDJ0snn/r55IQ
T0yykzXOb+1NBtotaXByK7B+tChJI5x0My0WunUkjesEnmeNf+LiQO9kj4U4RB3j4nDjZE+KOOzh
ceFhOllm/egg67RVJ2xPGeFRgbPRy6QHbVzEMpwsTn+2pQnDmhN5LQYFRqOc9O1N2NJZnOniIpLg
ZP+DONTRifRI6GRh/Th4nHERwHKyNP7Z8MkpcLZm0MYo+IFyIuvFg43xvhdW3qY5FlgzGWGOi/CP
k31nYv8SJC4OU072u9CFlZENHItO0VCGhv5ctSpTZnIagOisTJmsdQRRiUWhnI192cWoLVdYSFqe
tp2KNGblZJugs6XaFVPezrLfv749vDy+/pfYnu03BKKSgXCAlxRZOqGGzx7CAb4ifhXIOm+ozliM
H+A89hvLJJ8ifsO9ek4QyAkZ0ctAUATaqzZ1NnxKs7aLcXU5aMTl4hlATU7hHYsEJYwhVqfQz8ZP
EDpOoSd/EUiKXY/Obvo0BQiij9Eq68ZkPrpJyPwUmsyEpkLwMg2rtghbR48pPGYcnuobhPu9pi9U
5rqgfVDWnM0+Vez26QfimbIXg7zLyujUWGFzVTsMnhjnCoZtR9LZ0Lm7bbAK6Wz0VFDZkrJwbN2j
YPxOg1GEnn7AgtBnxdhQnYELA1VuqK3JTGNXt1RnBsst6FwU6unk0+SGMa7SKIxIQ7jljhllk2Q6
nx3mjoUBz3iX8bojFLHvu7sfPt+//iI2/RZAqfOm3enqK7/l44C7y6Oc9ixZczZpN91S8ACtPV8s
QKPzpOBJr/PgET8OP930zupdEu4s4ucG7CxzIhrUw457BK4MQV9ju/5MzqPy9qwncQ4eOiFiIVp7
drI4x+53LX6bYc8S6yccb/jjPFRoz+YNsN4d2czJOkvU6u3pbyxn4hIdrJgqrYHMO13z3hIr4jB6
JmNX4Hlw/cw9n/nFc4vlP+Iiom/PYjTn6P15nF9H2LOQzDl6HFd87lmfBS+EuARFT5i0RY/C6hSR
ISbGCx3Po4mYW9uzcc05dulcFMd8jLN6vSRc4zlb8QLSFnM/78AFJgI8WYVthOveItusVYZn+CQ0
fX9k6JTps63BdAQkBc8IqIh3TpkAkxux9LELW7K7Q3u+SBTgXm6Yg3T2bhN7Qz82O1WcTfTE6DKf
Iy7uNexZ3FNuTeIRnzV3//T4dP/y2y1ZfGwwaTYv5s+/H2/a278sTyUWM/vlW3/zTYcqAwlsoccv
jzW2TlLAxATo+EWOL2uIm28KBdjLP+2ekprFWdhCPsd+Mqga9cy9NZgSko1GPjvc2O5BT9EoYC6u
dXL+Gv/5+cDB4UYW2DXfdD4waRLJEeMzvIUDQrXa/NnpyuJLsJA1AtjJ2plJGp/AUwIiamDWOEg1
IIIMhaJ9gFFg4IQoPC0xA0aAxRxWFU9FMMMSKDK0OGAbkME8MmARD5MphZsWRo0A+gHzDTOgSwCP
0zYW3vaAd+L/8u+qfffrxBgPSQ4F6PLrHAmL2QY+d/hVOpOP+GzYWu0DJF/BQ45HcB2ckQ5Pjus4
c54v4CzmBCWNcJIx4DHfQGUcSazxIk/Ddu3mzOImt30Aki2gaolZ3E819tXZ034xPuGfh9SeOozO
U3scci9qg5NME28hLWnk3iqLz0ImXHHj+DSF0EFhA/RJ/DrbxAWUPa8Nz/BQGyFaDU50zpXJY30B
J7xzCUbPw+R5Np2Dl+dFVRySTecTyr3ReM+o95McSDF5orcOShVs3vBlx93d/zUx5N8QUzAGTphQ
sNl8Q1QhVgcxDSgNa77hiBxLheBljBo+EgI8nBFj0fCe4OeH5PaBxSk7FgdxlWhHAlgkLtY4i4c1
POMdnq9j0khneAuLF92A9xzfhX5N1OZOTqnGwgeGxV9EKGLJwAB089eBpVg8rF0JGv0kdG466bfq
B5j0iRBL6Eq+m28IEcWSQHqqimccKLACoWgTIOPXABysScMngq/IQafaD6Y+ppPBUX8d52AAGcpZ
mwGzgBn132t4ZsAKRoVFFqcNd797/vXXe8W6h63CmvZNv3WIOrP96tjMIlCzsKPPjLc69CsPM3PU
cJngiBlt4CrBUpMD1eM2XyPnm8T+ePdvL4+/brEupWKV3Uph/fJw9y8vz1+/PD79rLD5/ReL0jIh
YA6vIPwAk4NMwKcRCbFsVIdVeMIwKit85NGZcQhmSKgcFMa5Eh8mgPsoj/MHlrieIc5czwNL/M4A
juPWwe2UjQ/x7i8//ufDx7e7Pz49vj3ef3787we59nGmY/as4C2uROA0sEHpxYBBryUNWHIXYxJ4
TNbbHsyojmivK2IDC8fbztTKqOAGJlCTZxchx7CMVxW2OAhltfmygXF/kh5GG5jwyqJ3kpwQHXf3
x08PT2+PPz0+vNz9+8NPDy8PTx8fhPCwQqrtSFG7s7jU4YZmBgAOwtLivW/437+83P92E+pXEOrd
hLPIuYPItzwkNywLuTmMuuYey4JdDitQyYv8A80C1g6fv4JoBqITDdxVgHI9mEX6HSbtgREPRDob
eFbya8dSJFY/2naAmwS0Gj9vvzy+3v3vD7/9/fnlkxAAO1e37bVUOdTNlyH12raY4xyZJFLu/3u8
9gODlhu0O903KKM3AzQhNLBRD4Pmy5i5Z+e3NG3UCFwyoghTebcHn+/f3j2N+8/j1Vq5VWB6fX1f
ovun0esox5z5Q5pg8EnH5XeWRXh+zz2uDt7ChA4eSHZ+sGaSXn9AJzkzDZvwDY5o332gCwFDprio
nF0W4fCW2Z8hs19kIZTFjUjjmAG4DH5eK0YT3Su+ahBHlWPqnqx27d4eDWDrWJ58sBWfVAx8t2Rw
fPgUYj9zx9Pkg0mTBwLH2JXQHWHsqHGdPV4KxuEzmKAxjkzewgMgeRMvJ8+4F1HVijqDSD6A79bK
sHQEa2335k0dnIk9PikZzAx/DlMqPlvLPZy/uCsFXkgEXeUY9R7fZ4xaw1Y+g50LKuvIK6aKKme8
Yq/Y5OPs+Zccn9mbAlqX+rmTzcU6fL+VFFtJnsVUIXUOTmySdPYBtDi9yK8eBZUEYhd0o0F2GjN7
D3Wwjtgb69FYDvaG2clCTQUTliAJ9kZVFMbwgM/eksoxYqcNELB5f6c/dIRZHp9e3+7fD0nPP909
jy5PWkZ5vL/iUhuPvdxF3uFpFgbYwfEKie27QEFwYMEpfwR5juAUKMM7NlOqY+hjUxK7CIt5n4Fs
74ahLRnaSbJLRiyhOVzAvSRNh4x01CPgckbyugkT4HGtb49geHU9qxaLBEFA6cyfK8yI9pJoeZNx
jc1Iv6KX+0aZBtFkhEPoM2RlaLZWlslm4rJpQKPCqFGMZRgm9opgM44lEOzsBxFjHMtyqWMcVprx
S0iZ7XzZplFk4OhRxqSVy4eV06xbXmfrJsw3DdKC53WOdErwigP9+7xtO1NoxszwEPuReZZyyt0N
TFYoZ3h8yVAswhnSYyTUdiMTduX+2qgqk2arhfdmYKvyOjM54SOKaIUcheNS4v7t4aVFCJ5f7h7+
11cRTRCSFRbezF698iwKeNTuBD0P/AjU8LZg2dqIH6CucKufWStUDw34gWXF5IIle0E7Ai/ZW7pS
0a4felFuuGTAgy8bFmeQY+7IfdsTsKhcWi2wzvaLF9jCGblw1ffYxLBuUvD1IpvO2kCt3TzQHdnY
MGcZDD7AmYH9pLa4FFb2AeOg2GsZ9MUzsBDV3o0Ji3jB8QWotBuSKnBMZCt+IPbkM1Nhw6RK8KUt
VNsizB4O/IHc9FhRSvHke2+naEz0+IKFyuq9srMo2TH9ioKnWzrK/ALS59UPUH3HGt0mDHOgppqj
abTp4KGBCegcqOwDKEJmoN8w+tNC89nINsLyR12AqNVK8IUybFSrAukFBbD05DPhM2OR6cHkUtFz
uPZOtRxU9gLbpmmg95gC8g+D3OEbKtSXBNutuLAvR6Ht6+qEOUZ+buj2qoCHkN5ucORC8YTS/QIo
XzdW++5mEE7txP6BUuT4ZRje8+GvW7ohrumJjWhTz3jFF1Xa57wrh0Pjh+7CZZH+32i/7s6GLYJn
cTfGGZi6snJTf6rh7YU3XYDCL2xE+0BC9lll+mThM3AfwoN+sT+04QFfNbyl5MPilazimeBG4F/J
yvQJ+fni3uZgllFyidwh6ypCmchdyt61TpCTZkwHa9FL/HRLa+qG9+K1x0YCtWikwjAutVJV3Kvv
p4gwfCATsIeFRl/ILxzptl4Ov2AGYXULvtckhTXknvxAyDfA9gGaCNTJUXEP8wsfqpFtwEBabdkc
Gb9KeBqkjTGsdCyvKsuZkkXIiqilH70SwiMTdeK/NCVzKO3DkhFsBZb1RFOnteFBweHM5Rcnj4YH
TS26qgQyd0i7qV54Pe4ICD1cESHF33GLrWsvGSteIO1rKwXTETu2g/HVX+ywiycw2Xp4fpQCwqnT
sX/A9a/+lA9YOvmurHRSKSDlxB0k3UFUwM0tSuMdpAnH0EPJqB7bdZra831R9h7ybuFicF1LOxvs
nOl9T3gkhMMrS/Bw3dyONOi0HrVcKiZtdZKpXERzcsI1Bw8dq1fHJ+uND77CMHfLSzsHeK4GG4Cb
bwCNdQaf+eV+wWlyeLYWuiSUrGoZ43ziq0403KdJn4GTaYRuXzGp3aorRkROPDDs2kEWXjw9G+yu
4HNPdyZkYwlwE1V2EwW13Yvcqlhlttxu1qTgoJ2Um8fHyLkoloX1GCjYk0JXMTJ895Yaz4Hr6uvZ
Yj+QYFQCyNo5tOm6xBH76JD3dbCtzD5Vum7UsW4foJs581CbgbLcF+DmzYJ52zaV09sJd/+xl6YZ
8mbD4Qb97fnx0+j+BFrPZ3ewHLq1guQdzKM9DmMGwjiEuXFoSANxotohp+WnGhhiRD3J05JdDQsn
JxmlCLS6XAMHnG8cmMXA3anPjnMmRycH+dxi5wy0lUTDepzzVfDi3VG5+7eXh63L9+8fpl2+w/7m
hz41q5DdkiRjIlmSPXvAQD6OCCKcWJJ5YAxgE2LJq7xSJ/lH52QJtgZMd8gDxSTRwsAjxNhhV0/6
qpPoWgayI8FCZkodqWZTrpCXgsIb148nqwF8v8jEMjY4JJj0yxzYtM9L/lNExpUmzy9rlOOGNGAD
wWaUkqhwjA1tB/hNacOptH98IkobyKI6mao05r6HefaAkzmHcXjdExbXoU7mhcWhN1xY5B44mdsV
+/7qO5pnXgePaeuuH5pnXgfMmh/wnhPevXQYwSRtOmDG+Thr0j4h5EneblhcPjmZQng0XzCI5s06
okWGjVNmA4dJe5ZzYNbzwUzaJ5xYwq7oIE+65zVP8g6Q3h6y0Nt8uHG/Pj59fdVUNhOO7Fu5D7iV
S83J61sGbyEcGBBNLxk8OF2pg3rqZHqMf5YBy8b1eK3klRkzOIScRcQjzLPomtMEkVMQgUzUrQ2a
MVDuej6zJYKIZ0zDuMS59Ykt7+ru1o/h/Zvktivmt9++bHnqiuDuwVx2Bx+gwztYID9/ytiwvs7S
Fw4w61AdIOsJNcbzFDmPl/bg1Xri7h9oSHgpuSeaYYPBjAc4puxo1hM8dOkeAzgxMLSir6nHsmzG
AM3Eax74RbkNGTpJSl+9+9Pzz48f7z/f/fkvf9XEr67KHeQ4KXS1Y5d9RrvgoUM4r9KQZ/GQY2he
oStjRGEcmdSWyAlD5GYAszn7Lo7UDU1oThhEicOwbL4OsFVZKDZyVz0AbFh7Yfzp4fPD24MmRJZm
VVusqA8Oxflkj1WJEHnsW9VLh3BPKy4UrGYUlaEZ5V2xh9wPzbAJstDlZXdoz7bmUKxhlAaq2bB+
Vv0rsEfzDYvVrzYRuolAOhywL591/4uVXGll/hNOSvIy8QYBXYH/iEheI98FrLlhELx6ROG6bhA2
9nguQQ4LgsmYcqClZho643sEkwY0o72vpuYGNKk37goKQ1AYxyZuu4kbIUzlVil8sisVRp0VvaHO
fd5Lc1eYUFjRl+tEg19d2KpY0aDp5iUYRC9TmgPu106BUxenS+q03fh06ATvLmweJs5GjpBEn3xP
+MJPCRUJN3YYnTnCEZPoo4jyu9bN/X+7f/p098PjpwetOpfbC9n8/HUP+vzp8fXt9SZw7qgmQ518
CydAITIHmgfALR5sxGn+gpPziYWzjY89mp9PLJwEa1TGZujZ2ehA81OojcC2oIxNzr92dmFxzZsx
vbt1GOD8zG9dn6N3ittxd/T08PfRermjSB+JsHiMsEiy3Kwizg50uY+QSCAPCbmK8buAYPqY26VJ
FMzRezInX+HGMWfvpJpEwbydlilx9O7HydfOt2IVZkCTWXt8wi5OdI5eHTUwtow1w6QJ1mGdhTCM
yxiGS5X6VWbDditlx5VivMYAL6iLv/vnr08ftxJGd7+7//xZWl6/3Oo9PB+JUuhZl+sDDC+XQHL9
cr9zefJQzrXsQ4LsAgnjuMzBcPhmyKRhyjQcYHGftAOaje3RsYppoJzt0Q7fKrlhaBr3wQ0+dCvN
5uwCcqwOVFM0hqtqGchmc/bCHXRHWZab5G8FQ7f322+/3X3/8eO7S3KmIPxw/PPixjTj63KwQXZx
Y+qKw5uwEczueeGCOGfE8gvTXLH6QR4GzmTgRKnm1+kZ61v0/Jrtcg2Ld6V1ILoSokUtkYy+raNN
Wxsai4m4OEyZkQ38iuPA5Kq14BVvNy4bFG7ywb7Zxb3y+YD6HHQUjkKwGfRBXGo42uG1geMkg+Dk
MuFULrOCHodgMSWGPI3t+exxctmuo59/frn/9TAJgfE8OK+mbNDSzcFhysXNfwqLsivBRUhMQRyj
Mqn5IbTUc3BOLbhs3g9yDx+/Nsfh+ent4R/HqW0vhf2Hp62h+dPPd98/jb+7/Wz74d/uP7///aez
nqq5ubzM/8/dw4Xby6IbfDswWoLH9y63nDqJnz92yaWq76pgdIK+Bt8rgdwSZyU+EnxG4o0CDwSu
1+6UnLesHGZYzj2RwaH65+20LAcnpNfJHaSEE8bVsoYT2mtVz+py5p7MHN/SxaDxnQyOB+ZUFTh5
xmkwq/GqJC3x5M0MPpOqWUGTuVd8Rmk0da0Ebhdwx7S1iNdh+yvGpKmrIcPD3IumboWgu9E1U0Ms
nXiNuHcWK5rYGDJ5PyRX3D5ATdXRoTDL2sPHJeE+uL37l8/PP47W25J61vtD7yzuUPZoLyyIJcW0
G7wrxu7yOCPHZgRFr+2tI/fWZu33Dz89bqW0b7FJs9cOPybaKsjfpmoXuY1O5nKe9Tyv5TsLuLM4
h8MyssLS20WCopPJkbFrA3WDO057QPhAOx+9pL5K4DA4ifCIqoxQH0QOThhXMLxUq8J3TziXcOqm
hzu+bF0lVmHsL3wg+G7yA+94kMpgVp1T5s6kBpe9WoV2BocIai80bu6cOJlJfBQjHWmncCdr0FrR
d00yjo1e1WrXcuZMaGSd7b2bq7ZuTOGKGsuVrGNCh8QnZdWZyHVVWJNCOlPXrMY2pbIzgXUSXaKC
ZqsWQWaKZqfIspXSF1c/94MP4e6Hj89fHu5+98v949PddoUFrSBenz/vBxuxJYR9+yLuQFeSAmSs
gYkjJF5N77V20wAmznNXjGLEEtc3w4En2AFLPNcc1Hf9F5Z4PxmdZmVgdkqDqgDVDFhyVMhFr8Zw
gYm7m/FaTrhclrpHe0TCY5FPSbUl+WYN6yEEU+Sul8g6NTCEI2Cd8hKbMQRj/+dNh8rtavd19KDK
HrIgsR1RebR03Cg0Cua7xx3GIZSNeTFiL/gYEMlDfgGeONRuVBrXcSHqZW2vgRnVIgTlNkfXDGg2
NISUfRzIZlNOU4kt9L2Sx8X1A8Ekmhyc+orlwJJII5bgreNM2aAZiiUXi2ASOY9Qsfg8dEiTwPhk
1IjuhSUkewcmwZdLM/3d/7h/ebz/8fPD3R/3gt1vj/fdduZZZdWYMQULLKxnTaKiqEO73eQBI9+R
cdHNMscuhSkoeDZ80ptB3uC8j2DOegLWAedtHDP2A6t5ADPCQ9eFsmMcG9fAuTlmKYJpuSvFqR1O
SxFE+3AmB5ly99ffvjy0k/ZZC/eHtz1svP1DE8NW85XmMTjxlmevnH5sezs0k64JTiRPbPp8BsWO
AnhTmMUGLVmOZ2nigvPgpJ+ploU/TXPYnSIniSIwj+0JzozTG50MCk5xKhLJphemsEiWwc7pLARW
wO8/C5Y0InlcBVMxPDDUEBi2yoCFSCR/4+x4dgpaKSCh5Fgm0ooGCc10xAAnYVc65hDx9ngUPJ2B
G5SJDcSrvBy08gUxME8gl7EHw2vZwoKQ8RzkAGWPhDK+1vmCkPEs6BPQWfliYEAkoG1jM4zI0SNl
/Kys+U/Pz58f7p/A0noWut2Dp10HvHITDc/Ctg0aAHoZaU/y5hsyyYjtxbu5c9JgBQY8k3nPkp8M
mQF5NmEv7z7eXpT08fUN+FYWNSXOEhpnjujNbDQgOUkGiN5f9rQsCjPkAHcW3pwzaP1Zjl6otzm8
//3W5nK7tN062R15MY8Pr3vM418f3n55/vR6zja1FE0isxGUy98YfyB5/DDCQ+jLqKdVCqYLXbjb
CiilN2HE8yzw2saMhNWN4KS+BpZoNl2wmJcrcfGKDQ1xMx8kOPEpQ1+/0iPZmBhi9bVbIDLXgEF5
b2CBIp1q6jZCWCNL5xo6Ly90UEYxSsa1oSWW+ObkOXMmVEx/Mtp830GZOEHbxBx6DhNoglsDbzsu
McWLE18jLQQidW4RCgSTBqh4EAdBYpJfsDVkL/qMudiyK5VOWRkU9C0lIHjeYezW3v2gNgwLSpyj
1LkqDrAMCDapoB1NhFiDDrnpWMuGtL09OqHsje2+Wwfc54V6s+zSHXqsynG7fZ3GEnsI3QaFnryH
i7xNVGaVvr0fZn/8+vYgts6FpcJ7Py/EZKGBsBFImV7YN9xso2R7WPDOSQ5cHjR9/NaQtuddY157
y/ofT5+2W/iHT+Bi2dkB8vDYrubKMvewzPl94CzgLsbZpQQ4A9DL27BLV9gK/9JdzyYLz51o0ALQ
WAQ0MGodTjThRCm1FaDFnevVXtr8+evnz7BU3NeSTYHrlcdUFgbfgkm6OMa6pzdgmLgrrGt7Q6Iy
5tu8W/evWyd4mHwmfkxjZ8JzULoZycxXMDk4Bd0kPJM33k3dPNpHLwakuIq4co3oliIeIwhNB6bW
Adq7X/KR5ybwAAYcMot5Rk5t8nJMVwUyMViEJQkCxoxOssre8cPRTIzAjBzt2hsyVYKDNwnWMjsx
ZmZjIq5kGJRNMkKaVbopTzyMxq8/PryA5kQWtDs2XYw+XPv1O7YSnEejefklcY9mUufC6R7Chlyo
QBAbhJfObeR7mQ9IrZNjhgWHQHkurYtc1R14M5d1jVz+PSr5pTeRS5VPOEOL60EniBs9QJk4+msd
81XspBzpJQwIyppMJwCUVtTz3K0jlR3Uu0vZ4ywiflCbQeZA0rmgewMjVikDbFvyuLtEELmF+x2C
vqXFaRT+GBM9kv02db9RqrtF2d4Z/O3h5fW8yqybZ/n8by+Pvz6+Pf7tMDiV+mkthha06mCVemkN
GNVc7UpvaxsSMkfO/J4TSJJ7AiT35COJqW6+yvN/PD692XROO99KTc/PcRGPyP4k48SSg1wuWsZq
PWp1EVzAwyqOyWNoGS/VrIAylIOe66edvWbJqE14ERRgmmxQj+f50g9KXOecZdCjpHONy/sat3vT
c43LonpuzpiUnm9klJVspwgpaJdslJU6Jcxk9xLJw+cpQWFlbwQy8PwxqAxRggB6Pk1MeEsCGDln
HczyCNjUvbX6uUx333/58vnx/YT79nz3pnlD9egBz4xg1V2zA1oXSfAR0voRy0x2wQ2mWkCyHbhU
QCYHSLbFVNyaSgEkc1Aq7MAlAZB5KBXcvlIByBhbiuaAHUC2c1c4gkTfryZ9pBFgNY+bvpu0Mv3w
+Loko04yBRk2HKlZTJkhszLX04q9E/r8x6c3704V+IYSys5Apl646XekJtzL+9HzuWoF7GJcSFzL
cliSKO3lxfOZj4VYTrKt0MP9soMnyWxcqA1+GXz+nMDL5IUj6y3UnssMGwCbTI8lGY0OH4z73GNJ
zpHres7nns2EZlvmbF4gMyDPg1RdPHjxMgnmHNWeipEOF+7SjMRtdBaWNmwVBE8q0uoQUAwczK6V
TlSfDjAezWLpwczGl6jd8R/YRYCyJDDWuR+X7kpgOn0FVtHZWmSV6UelFDsMAIdzrd9n+nxkZpyL
veqEkCO+DC03oXMrJydCdkH1Api4DXfQ1tNbgeTuUSyw4VyHKrfaqmIFxxPGpJWqckxam4lKL9Da
NC34nUESy3fHaLUKzXXZjSNHfNgeIg7JOGuw2WZCMWBIh9OUnF0cdCuKXicHZE2SwcOAQQ6RRYkZ
5cAgtew8j2/PHYo783U8Mujms7zz9bk576e2tpaP3FDmoAZpKi971KBoOC5dP8el+4Kfj7swsQm3
lCrHXcTWM54YjiDhO3I/EB1Hn59enn+9wzOs348ipLrPuVud1X0un2aHRloayGYLzesFM/ZxMxsX
Khpdh8qGjAzZlVHCQT3plW5Fp3h0aBrUMSjUrCo4aKL1l06B24cVqSjnZBObLBZfuoxggwYGhcLq
GZGOzbVgWfWOw5XNNAG5qZspW5ucgUkJBdExaFHrmJ1IJsAVC6VWnCkvRGZTxlJiDsdlMiwaz+/u
rkOaLVudXIHHpfY0M3AqwGXfjUuluGDR+04UC1sgqFIXugViQlyhJGtAM+GYKFYseuY7+Wfk1ggt
CXyv63R1hMImGaDztBjasTpYVq90EsWgpauaayJi2agBrHinBMyI54DWCXXWM3prkTzu7Rpb2JKg
Bl8nTMyYVrE2ewpF7LYdxiToFuFx53CMSTWwTScuJKLC2iQkmAlxjqjpgyBSkUA73jE5LlTAoFfg
bqG01ox74Z0ldLAcOnbUS7JqskX9hpz81OW5R4RStw6ui8XmvsxiyWJQiLz5ZeJUhqS7mv9nx2HK
JggTXDGS0IKHDz9fnnhYvdS1CSNxN9sRVo9lLYYOr/2eVlK7JRQdsIvdtLbcLYOpXpa1Tbq+T1q+
qK57JwpS6MBhKtRNUCp9nVUgpThIFCvAYrEdWhUwkkJaMPXUCRQrNQPZtZdIVZpzWjxmH7vzGjnf
/enhH3trlv0m+ekqCJQ/5Lt/2+rlfr06lv6Q5xeNm4iV80rINaE95GxHTQtbNGC6AeXrphOZCLLI
IU9f9gSWOfCsmeAgN+kEskl6oPW8UjqRniAj0BoQ6AgwwJBnksSJjASZYUU6WjMBVhyy548hnEUp
6KZZCdD2S7Ih84ckipHcJDEt+6WlDGGQSzbSsghdyli8pAbAej4sJkVkI7BhQXLBNrM5ApbTXPCK
K5meZjbfLrQ6YD3BQs27IlnleKnAlDGsFlOPZSRnLWnl4jLjlFWLrRxYzqkCvQTOA9YlVGy20AJh
lEcmU07rvXCJBRMpXNo8rE8gWMye8OVUye0O878ebntF3Kurv3192bKFXx9e/vbw6e7/fH75dNPW
2N4QefLk2GD+crjJwoGdv4+23X4fYged7942w/voS2cOpPVk1Ky937vmSrZxg1XufT+sm/PJ1o5P
pR+XTLZ7bhX62RIoPrK9dugDGgm0wqiphzqCrfgGL+UeWwmTMa099oyymYxrtZJ+NyhBFnziH/vZ
BsKooj4NvwhOhGCjPRu4oGRYLAs2QoksFsxly71AOSKMNWsP+K5hK4F2DxZ6U0EKN1hRrFGmJVxY
ogRFLVJ5zZYMW9HOuB5KXsYZq5WauKCkcITBZ4fXbnVOlqheqWplyGtcwqiK9i304xJBFiec7TxY
ev0hYlG6KiCDWJAtRJQ0FG9Cr8mSk5zRSzNcWKJ7XeHSdG2w7zvzbCu1K1t9CcyWHSK3Q/q4zuYw
k2+72kbd8IQIoGxT6pS5Xixwd//7w29/x8k7Yhy2CUfrZcdOqS5ubn83ZKgFG4WGDuo8GTXDqKmH
WgKNMKwfsITiJEeVC+3murIPaoBL0nlxxJQ1ehO06RzpNQQbFthAsEWSnHuoJ2yCxZG7uSPbReMT
cFjKtSO+S6O3ymaoqWexJfReEuHzfi+Se3Ai4xrgceqlgkANtsrNA6fI8hhYntiPOvG2GsUWhh0o
toTLpiLJ/QpZonkGNS/WHlsIzQ4UqLcVltgKk6VguN5CWaI/JlC1JfQaoDf0KxuJNFYY03ZIsq7G
giTe4o75Q7j73fOve6nM07KH5VVu127T3iYfVh24zjd6J/Q6RrCarg0qG0b6q2HLOSq7VEpGXp8V
SS+77+5be0aBY5NM1zWsC9vLs03SkFo6LN7FXooUVs3SreiKCZtfWF51R3EBVuRuHVYdx23EnvQF
B2X31VHkBIj3MJlW6T2gmIlzuQiB9P05oFVrXJpbAS+yqhdvnd/eWzlf3eki+bs/PT493P314eXX
xycI1HtaOX4PtzoM8bqbnO1lo0gc2xcAXkdcXtByx8agB4f3Elee0hsglh0luTO3rpHrJc5Vgcv0
biFVGY9OEYFkxJTxOiMJZKBXBPGKne8HaolMFJkg6p49AglbkwW2GlgRfhUSgLOXaTwXk0GTfjHR
eMsuJq57G1mE6pBaLvE+4qVGwVEZd4FcEAW/kPiABPuBwWTYgASnAcvUJYAoATbTS6NUkGILLOaj
+gyj+tpzis3WwbigqW4hih5vEIFmvxCLcGnA5rPHgOpKFD16oLigXAQ+asX1KWDPFlxGnfW4tIRN
CYUioOnmg8aMYhFgeZgBrgAMBmbKtcehLCbf7zWMYLhvzblnMBMng3yKaE4Zhw0IYikoTGxrREOR
EtDL9mPcNKIDHrHdBjfyZJFWxlqhMkEeRE7BZwYRl9R1vGX7Kuw3PqHYk8v+LMj1neF3Cwn0qDK+
s6NsZ0X5K7AszKqgYxZLr6RMiBIqaT5dxXr3/de351/v3x4/3v3w8Ovjx+fPz09bOfSt/uVZCn3/
mZ12yNgDiiK8UKRm7Oku0zSP/TwYg36S3NNy4mxP2qH+Or7uJ+8gsJnRe5ZQPwctAljpkEWEA4M8
Juwznbo3OzZZCIZUgE6tVpspHLevo2oltr1NtIv7eGAvx3oRCfFyM9rkwcyyNnZ5MBi8qaFfVRIJ
8QZW1XeTJVzKdrqq8UPlc4VooJdrYy0jN4nATcvfNf26kgBMmIV5d2zg4gSxNW+61SExriQCvTLF
+mQx0dbsp4KY5m1D21yDtBE+diwuxLoIPd8iis5ZVFgiTSXhVNG+cA47XNpke7NGVjYWwGbXL48j
yxNAA3LsuczilwEH9qjxiWuBkIskvY2DaCIY4tYBncjTMJI1Sh6C4qGfLrmyCN29Q+0NDTEXDqPE
waAWEIKzm1qLQrlUnH43U1k9pSYTSfKoeqSVCGKGwHII/bqQXTIhc5PrF4ZslAFmmkOvOmTYmKY2
ZhNCghSXdaXbOYiP1IQhwlxd7UYl0iBuZnI3KpO+7n6j9BwizI0RFKbnELksSMbNhX5XGMYjvAvN
aEsLNy0gvyWhASd8KjDX4BFIBL9adNXsYEXJmkb0m/ywqbMLmZDRgxn2DTLdiD5tzL2+ErFI6E0k
XB/unDq034AtfIe1coHiwGZiDoPVb29PKFH1AI5ILj2biCOSwNcDKZ5XNWzKA7JYehtB2Fs9ikQn
xmSHqw4kMXRnFbbZZFCAcV8lixqMfsV9OhHsrBLmzqXlzkuycC7LUvgJsQ634wTEWi72Ye5EU3c2
WZBdMGiWbo3JwGFukCLiCBtcFT8YJbIqeFoAz4OwBwYECSr8nExOGHyjyOiV9WdzYhJKnW/h+9ZG
dMXPsg2O5QxkUcDpCLU39mSu0aLT7NCrI/zNcJjKph+UbW3gbR/8fUe+w/7wj/tfv3x+uF0Y1nWF
aYPtksS+cWDJ2yprJrl5J5YkQFqndj27sOQpmNE7GVxY8mzKdBmQoceyDO+0mC9JKLTdi7Kzh+LN
bBCLXPE86QdpYc5MMvMTVppfZzQshq2GnYD4qRZ3kZrRgDCHEeNH4JAQC+A8znM4KBFswl1kiIqw
ZLJQ54tj6eE3iaxGZ7rtMlMXKIM3PpzzCbLWaRSncqCBaCIcRHlsrqAodOEQzyUQD9zdsZm4XbnA
stQ++Elsc4UTtx82BDJqBO52G7yj/I25l8Fm18vdnx7fHl7uP5/vcrYKw//+8PPXz/cv7wb/y/t3
tlrB+Ksf2s/YM6/9ZqFaTE24SWC5lamb3ylXhzfZ1iaAu/lxZ4dbvMCx1gDcLu5a63Ur4k3cT4iX
rSiLjvU71uAd5nVHfM0+k9njM0zbER858UVP0DgqVs+RVVwTWwgIXUQnQnTqMi1cx7HI4dd15h41
8crogcADjm7KCCdTd05PFiqLOpBtsWG5UhrnTQi3RU+KudaaKRmkHFVFRsmcDRvZz6OrjWEVRNSN
+kVuHWuE6+DLHT/Q/PV3wQvhmjq0p1latbufVaSULLWFO9reriwSiqoJ0q5suYS3mi6S7cSuOI/j
h278wKkX+SdZBgwuYSOSajDhIJqRc2TuNklRtRrfybwtJvPVke1MPz0k5vXmlN/nF+B4yqOoEltc
IA+sKiatkLUWch4HSQ0fyIxlPkrQF5rsnsaigrlRwUg6WBVClmRkoCwqF7exY2fHFQlnUiY0bH+E
uhUlGZeMmNSSIbtrsE18FzMO9bOOUs7cFvQakhlZx6wLatjg80Ruk7NebeJac+ZzYBaT5uyRNXeW
KLddZIYW2IiCstgMHCeJPpdpYNoNwhZa37hxC2abv4Hxo8J1shFWh9SbcWwiqtbhmoXbseB92nvz
stHvt4tCz2cHkrOs9XVM4T3cdmwwUM/H1Ysgv7UCeHh5/KjQxDP7vHzXetT4FmvkaXjUy7BOxYLG
Bzrwiui3t8e1rx1Rbslk82rd53uHWymm2o3NGVqw1neq3diOVRk/HyDcxk6AjvPNy8tA2sG1iFzz
8+OTl09Sa3eLXhaZzDs4ZSA8x3HoQoYWTIsyO7Is8pkb0zIKiwe0nWeGNDQWlE9uXG6Crk4tCy8p
T4RrFtAxjssdyXJHRNtu3gvND3K5OzmN88Oyl2Hm2j0ROZSbF5e3ToKjHVlGGJ6wblkO42KzSXdl
1vK42JHodoVZ59EoMeU00h52LAsLm1SA30kZmRiVipPOin4QYxoiodvNHbumXAX5HcehM0GDRQpu
tClEt3KQdGtgMukEK91xLPDN61aConav28silbnNGfeuqOwApNOEQe3oBMXzdiBnMcTbvqnsukQ7
Km4ByY8bCON4IruPXUh4KMBxxSYQugM0I+m23EXTl/NF5q2MohmHJjIaDaA1+5/IYuttRaSUkrGr
AYb3qxUow4uBTdPbDs1lPAXGNL+wKQkX242Ek1kXh0OXkWfEIFVLNDvwDjK3Gj66q5BW7XZQVERe
8zVvQnnx6OWEUbXZvFFF6jg02zUtUO4Ue8icO+zZE+w4NvNpO39acSwJ5QmlPNrRmhJ09rCHKHJK
3JwC3pkvo34xZ7w7wfiRbrLYGd1K60aTRjgeshSVQUW4PazQyko7OxG6U+eK+9EpZfVwLSpIGZeL
WLSMR5Bu7Lg67Vo5baeoF9u08dDnlUMfMUoZfPFcxiMEcw1BwpMyadJQy6B/ZkdBIVJWI/NzwuIU
UENP9xnzcHdHwyMl5uGWsRTgZREm1q1COAE3FnNRFI5OJApBgR7L9+KQFTscSf87UI9ubzVjsP+P
XOCwLv5ZDfTWMyOYEW7V/pwH2q5KtOZJPc0dnefe5D5tH6GQZwJw4rVHs8Pao3lkOGlEZDwWPTUj
OhN014wodITzzl0uYZ9g3/GMt/z1Fuqmpo7w6VFtB9sAPCvdyJxuX2HkPI5MGG6hNZa0vCeYdGKy
KOBxBBOyTQUBL75bLN5fy41NoPrFIrP2RmuXeRuagx0W5u14FrlRyBbbnykCznjWGYU0CjhZLpeh
41YcLQorKQx0d6rlV5YQq013Q+cFy1xBdO7QXM48ogfl4j3VHCiXPOaFZVXjbLBQtle0i1gU6yTH
pfscaLCtDV3I3rMqLF6QZbk3KZxlBpvJJTfuPWTL9WiFfb/lLrZ7jzuAH3WTGcOCaNcJOedaRfWy
o1Ehi+2c2oFPspwNjba0s8RuRbhjzkJcLLfN2CMxjXJK5m0Cd3MWZcNx63PdtHmR9AqbrlcsMdmx
DRXTtLIqXb9FO6oI272C2i5ejs02IL1zp9x3GeW4Xq6OrgrrUGnIDpQXm58HezjsApxuj45lCqMp
Jo6ljXTT9tSiWaioX9JIN5Ezn4mE+9UZIg2LdRyr3N3/+cv7ceruhy/3Hx/OA5WjOar7F73X3UW3
1lWHcneddx2NLuzYiBbqChO7tW3EfrNXIMnRXMUdGtDdupIVW0PVSFohYE+C6yWho1cvjWBQkogE
c0vu8bQL2FVXj4hHxiuR1q37TYj+sQ4cHbc2w8FM7JGjoZ9GM6iWQ7GgDYxTwjNu6GfLoHbSEMSt
j/Ued0uHs+Ua1PX39RGwXAsC9D9xuECcyQFbtnQaxLkcugbKrieZYTtWOTA2XKh81xPE9li2RLi8
3vW6ywQSogBX/omjabJtujMP0NEE4YZFj6DDcsnw3SbhgVV83M4TAQO5ClGJ0+ieLYrjcl555FUY
tIjxCp38zkZybNcvvZieV0ysujNwwM2ENLhJlVl1bjNEn/Z+91ud+GU8LHVCtbCtXRyu9lsYYxMa
ORBHv2BxjHOtDwuRSg5mCyLFlSClueLStuspdYGN1O9fbNQAjqHt2cSkOMDyZNd7cUwouni661nM
xAKcx3J6o9bd/fB2//awVdrecXYzWf/0+fnjfzXPdP/vReFt77t2uYfMNWxkQOjRe2Y/38Z0DBpg
zDNO0rCUWAtdm883Tw1IR3RQFToc2aob8H1j+uXh7u2Xl+e/370CP39o//w93bqqQz8sCAZ60sFv
x1rwLs7sxQuaCVQIVByGtQQIkWu5bp70OGxQOPnfemZfbAqETcJO5Kvw0YUl48rIcSejnnSfbDSD
v3pGMS8o49RF8t6V1vfYRLAZpjuOSyTKgr6ngctEoBxArck9lpDsYHVj6KGMUxWFMVzqZXb1+vvj
2y+dtfqh/ev3tFRRwRpSt4eCB3brAMHgucD7aGsSwD1/Dl6wl0Ptx6blU3JCyr3rhqZlwjK+PY44
dGB1IUp0jGX+A69qUrC8XzSAjqxwR0lQQcie50rJMLJWCYryWNszjNYHLLJaTbo25xua1hoosiJW
Qp1rYkaL5uXuZXtyHZxWAcsBqiuMEw9USEVRxe2wWnw3NhWWLF6b7+6b78Z2XEFA1KTJMKS6dpNS
LCxzS0u7WE71A8tGWW8UISejI3xYbs955ohuWl7bK8euHkYcLRJRTuzDA/Z9R9Nyh0UUSdosdgi9
bpORk+FCSmvVFGO1/kFSRol2yRKc8Uq9lCwjqm2gFFVMo2oSmxQiXWpqknKhLLO8km3OUI5oYBkt
25QzFJGoZVwsMjKWBhmMGS0Vk8WG3fulpx0meilrBufruuGG5s6CxT0gDTsfrfdRRHHmzQXLcbTD
RMQtbn5m2LKZlwOSEnutto7v2LhegyHlu0/t+mSV3igwI16pjCaqHglcnOxGM8rEzGot+aRzxQQc
XTPrRzShG4uTjjaYF3EqooDmJq85dPPO3KvEtbaj/Wdejmc+kl1wLbhux/aKmBIFCRn9u6z4WMya
eoT3piHxrQ+LiLo8GjUydVGndTcsddxEyP4lKjm317/Kns/2Tqx8HeNoE8maywaUUbGotJpowZZ0
4/Ercg0HR6l30iwfO8du+6yKi0dID4ZqCvd2LJ4Hgh2VlO2+MO8Ux32faHhXNzHace9m3o5BLVEk
lSxYp6IhjMvNDnBi81bPf9wpzwVs2+DmWT7zroJ4igqcnQiKViHz2r3JsTdGdvrzi8NjERU9ZZ0X
kHNmVrGu7LjkvKJtLuiaaz4T0TLZWyJfWbRS3tgpLhG/p8kLQcu6uEbbUSLfSq1amVBuKMzXRGcx
xHEnJminV++WXjJzVC2e4+yIZmPD2aDY8WDBrBMeX0MdTTo7yXm1i4kcm52I4NA+DJ25ceq8tqho
CZM1PPOncWxiVrMhR9BmmdhGFunhgG5FxSW+H3BXNwSt081lFMnA2A6oH5j7LBG2ocHbsovjKx7E
rOIvsXAaFn304xmQuQ0ooYp3TkZ26Kn5MsY/mSF26Nt7Rb6Jy4LV+ZMfecaOvolRHvhaW5STMNoy
5tajFU6Kw0LMUcIooBmVmoCxSRFchp3bBzuKYXHbVEZLyMburjUUKWVOfSURfrvwN3Ip5ORtuYJk
ETDYfR0zyjg7Ont0NuLoGrPYqScxSL9wNgq2OIhWsUnsOgcC5UNIrfDtI5KhuWbGQrct7hPnGvA+
xyq+IbuSyXAeSJqgscCU6Rxbp1DP4jTobAyeLbdL1pCrDcuPjzlhoe7zWeY7uu7XoS8Pb19fnpQL
0UpKrW/vPQOWwBEsraTQekPCs1khCtOeDA0GL/iF91FJdfaGNNoj34Z0BIZPuZ2EEcY4eAotIxWN
0EpGTDBF3yEDQcLrWxlIbNBJYfSGzfN50je/wQCHZFilLl4aB1kebY/h9cMmQrCfCxDhkTOUu4UM
2NUTsFfWTtnV6MeXh/v/UrSoEA7u+QqhS5O4PMxC2hjt0GQmyRllkd1XMelaesRl1iW+4TA7T4p2
IU04GhbeVt2qTN54RJJuQtReUNyQJOUmJEwTihJKGBTgzUYA/gS+nlV7O31bTsagiouSJJSkX+Hr
CGHcyiLtsUaHSxI7KFmSGCapW2Vmwht3MF1SxkkKacLQhiwyB2qQAraaYa4ogU/TEqENnFx8ILb7
DGcmkrv70/2PD58/P3y6TMbrlYrkVkbD4vuSePuyv/vDr1/eflMM0TQT7/Dfh7q/xxfzbt4+Pj+9
PT59fVA+nIn27smRx1XPbu/xdi2TeTaovaAZJTSz1M4dWy6srAvfsHkOPNJ3dmDCRc9Ehxs246DC
T81EShvBDsZNAGX8TYS/kZNrgFyxkWZiWduoAUZFagsfNV7QbvvJxAg0bOqwRWITAXoAZtNJEpPC
DNAUOihbm4qyJG5o8zRNeAd2PELprZxHBenNnUAQer0DhcNVjXxU24n+ddIIsinIaEECyX5tyx2g
Mrh0OwI3a1dJcfmo7TYm62kBBfvFscmGlqX9ollZu9Ezl/79NcSRi7O5GF3CV2AtcRv4cC82cMG0
qQ2cOPhIc9idm/6WYoPXBeEC3kW4wlSYjch535EZU/sC6cB9gEtHtUGqPYcnIzlmXceyMjtoHHOO
N/SmkiUOHGNjlwIcy+PYbLmONINzrQuCM0HmiiwTZ6uTZZ6xzF5wKzqyCDGLDF4k3TEPYzMhiz3p
FeFuAY+w2qYMlFu2YDl2slYG7WSjH8eNc+YoLAtZCQ7MQsc1u5i2JQPbtFhupDoNDGdkxyTJvrVd
EGg2dMwwaTdMmunHcQY56K6l5zYbOHggu7MKC0MYLBNwZsos2IOQh3Vitij1qjHMmGlliGyV0yxg
d+gF7FnwgiCwPuPHQjkydGE0d8OO9pPNuIROmdGUMKiPuGGlntN0jw6444zayGQkBTS+1g0miJqR
jIKtDM5Gz0i7UeBMrXKi5tctFBo3jm616ZYD6twLd+G2oDhiPJlCerR9dvTGqGMCCtn7gWkWjzwY
DSZIBotu62QY3DMLZha2szBmG66UEd0xg84cG9ZfNMvOEGKRqStmmWAzqfRCIQteFG7jUocbJCuZ
wWrSvdGDIVDmyyx2Seis597lpvsUGJFOETMn29eVUlQmmG6xS1EzkKlkbmi2WjkPxus488X9yPf4
k3Lii8Rb2K4OfIVS3+KxaWTOVbsi6W4dzAAmlx3Y3mI/jl/YxEme3c9Fdl3msRq7CJrHZRleL2pF
7ycl18+U3O6ZNLkXjOy80KBhdmu2YRnQz1mU2KL6GufITGAJlxO4GwkOCJUR1Mjuynx1eLMHdC7W
snRi20kCFXrftQkBsa1cDgyRAz4m3CynOEguw0a87fXDZBmrEq4OcMqT1cErZhFmjuyU2tgEN8UR
GFzIkHkOmzulbURsWCBOapEci9uotdeWwySnuz9utaTfIKT4ehaf2Cscv5vsn55fFJud9tuQRZe2
mqzel/b8QF7gA7aeDIi2vF9nimpPvhPN23WGrplgR3ihI0cIfIoUn9RK0M9HBZKFw5GOyvck2Fqw
a7Pvpmt5rDabrumzR3hlLS9j135Y6OBtoQg8eRg7dctcFn1Zo5NME2eP1Crfz7ltID7tlGEJx6LF
XpsDv1e6kbUWwNdas5h8hj66A7/zouljSFS4M9fJrr12GteazTownlvaH7Rm218odArNyPZoDaK2
XMyaFOSZHXjGGN61Te71gyx1At2oebBDTC99p5edZtE+tsECw3rTbe2KYWhBRRyj4dk6o0Z3cyZN
XEPAMevALabQAO7luix0KnYGdLCfc2TWmsajYDLr2Slzx61JDKONDP1bkx+QbL4FbZALmnwwurGl
dSijKWDoCuyOpTefc42Cvu2xV0XSMTZjL+teIYhc5tC3uD9dsM253Srq/PL4+UEpWJX2imLTcJAV
cfhtP+pOqTs6E2i0AAV9ceQUdgycrjJcppNcRyqGHGgnx04FwXZRdOyQngOd7UC4Z0NnmDbsBQ1N
+V1lqTQ0bG5R8SwhvzNCac2zLEeNHbKyRUb5MG6YbWJog4scutkyTiUQL7CobWAqHwUq0nVcLoxk
B6yyg1hSocb5pg5t2fJGKKIXFZGmaJQrO6oTFS1Ax1GkGThg9b9OQkh6gBU3kDvLrEI5U0VfwAp0
ZFM1DEy4wsICWOR1Z/hmgX8r7kxv+uRHbrGhI8q1HdFUSFJvBm47Sbgd1x+f1BN7oInJHkppAj9p
ikgDF0zBDojONBXTR8wwNghm1Rqh4mLqgJZnlwascAwr0ToIEJIx+xs2ztYtgmAhIRb8nsCsRCO6
S4k1HdyzkV3G9Og4rjFJ5MUOS7L63g3NZo1jG9NzbI50k6Tl9GF67dSAkOJrve1ZNWdUmeW8p3m6
XENiev8gkmSeoSvvP0yUDVsn6dmn+jHdBSWqIj64efDvJuXT8+GfakbFElu7dx87e23H8cRvmbjv
4LOFZVQcJlYNt40cbuAWfYzd2GaOPTbjY2A4JViynTasAWxCrCMEuxuwjMCpv9QG9ddkbeenTevw
tlHthYy9SbHkFNDGtR2TO6ojGbjCdLvVyWRMEKlaB6FggxY5KJx57cytbINmWNWev55yKXWrEwcW
E5JjACUA98pOXdI2Loqi7ZCM4m5dbTdhpvEe6S3D+hA5DlmuD8ahLTnZNU45IDqZ0diwKYNYYcTL
Tm13g2am8vOtsYEdgEfZSGTGcSWVhF0pgFTinYGdnSrbuAWXyQxrzOxcHG3Guem4u/9x//J4/6O6
3bg9hkeeVNjuAci1EI4+WDFXvv/+wlHcBrYxybMIG/CFjbhXdqt3HKZ73CAyY+an+n3Q3L2wSd2g
5JmBNd1ks8QSoLm46/C9v5sak/YUw+CbCODQ7LC1k4ovkIR8t1kWAk2zhzn0PLzPMwFzs+lGjWRU
jzMtHZTIoI0AFXZgfhLeqY2d/PXkkscqFl+HJVxRMqZFSQAJIuOZiz0Bt243zSDbcf2DMt+tJpPa
3PEHGGvJLG0dX1mdT1iaa/z698e3j2otdEs6DbSjvMNgoMzysuxBYANfMa79PClT6ix7E9jQBiI2
Mmn8G3pMmKH7ggC7xchhEtU7qKYMs7PA68FtOnCcxMcOLAtFuitksxt7Y3o0XaoMEUXIRrbsjWBD
e6C79iOzEJmrsFIbt5v8xrs/3789/u3h7i8//ufDxzPnI34od/96//bL7b8+WPHHD+nu3/54yPf5
F2SzqPlSHi/DKzesJdjL7G/SffZ2vLBzU1HLZZq2KM0t7/yG9QR77VNbOKyc740bttz98H/8+18d
8KDM5rFvrEfIZLNAW5Dr1hrlhg1z7HEY3LFumMf07X3DGhi34/30fXnDWsBuFegFD/LOA3uHXJi+
rt3qRxlZZc43rgpq8owLDRuh0mvIPdYSrMPavKXHOoL1QwsBwQV79weYvyUxIW9FI+HNCkVcDUsi
Ud5WAx2+/YB1ZNwKvcVuxTpu2EDGtUPzYzF/f/enP6MEeKpX+XKonGyNc8MSfc7X9r3tmLdbxhuW
2ZHLbdh06OY+3rDMfkVwcfYjjmCBe2eBNcADxyXZYhHaCrQ4rkFYSL2TIEclWdSYbvMYwESFElbO
jQF4EO7+9Jd/cagKgYqk7EwdhsUMXBUCNrt3PZaooGzuHAYGBq4KcD3h0R7GjQXWIA8ifcqbxJOs
bVvOaNkjfUqRxBtH2d3tApNHCUk8LFB0KdLHI0k82bOxFd2+OOEuT2F7GX7/dv8kWOLmd0/7ou7C
aUM5a4tJS+3mYtGwEbGmxwaCTRe210k3F+WGDTfsHns1qQdHAs7XwFnUm71hLcF6mPBVJaCB4858
B9yPM+5vW0oWGfxOns5vWDtPqs+yrFMeWBiniV4NfOVR76chYwc0oVvUQLO9NLeHFpaARe2s0lkT
N9ejDZtERvUe6++WnuadZ5E7vns0A8MKwSac8cCuSrBX8vleZjgOE46EW37F6vk7iLMqiz3iTaEM
IxOyRWE1K8s1XGBHwAaEMw4jE8EWL4c2qss4sCHgAotcRq0gqywq2OkS4siUHbwgyiOWEG2A1WmQ
LkfE2sGTiDAqMhEQUQYRuhrcwAQrH0aU7pjUiCbLJKoT7qGMAUzeL2VRfc8ZTRmJPom3T/uMM5jw
9/P5y/PXp09gw20kqa/OGVHgBdIAL3Qm6CuJdNtP0wi2BCwyOWN3RmvgRMDXkwdtG7WRJHO+o68k
ZYhIX+BAwFjaprMONpLHA+9gB/xOEVcw3b0+ogdkEw0VHJdmm5XeZ4L7kU08VhBv4KDMJM1WoIHz
NbIbeZhmgtPAZR5paGAWaggXOAx6v4EjAacb2O4hyVJgCcrdwz++wApM4y17tCyJvC6XBie00Dy2
JJIsbdXAloEtgLvdtdA8uCSSDvetJvRgx8AORu6cgmklywN8BbA3nzRaVIFw93L/9On5V9QCVm3K
2QoZ6d7hF+/uf3zFr7H9LInndvuhr9MK7uIl3Atjj/UEi5t/76Bbf/fl+e84Dz+/iDBCvM6zV+cS
zHsEHye3C73ZluJGNDv4iYJA23w62d474DK4KNKwP6P34+iFwQ2Mnu0Az2zq14k3yXeTF5oeeQXp
dTTKfupdHKSLs3oaBdBPTygH3MPoflx0x8IMKaiVEwTbGe2i4MwetBwHZ4sWMcRh8zh4YvAC9SLi
uOaRrVqGyjMxjYMzvomaSLuuxQFO4zMJFi2NaDZxURdkV7URbStbciyOpPCNVW9IohAVNEYTcMZ3
UYlqzwsJI5ypqixbFkZXwi+CakEvN3ShGeMixrbCqCyOMU6U/9rOQd1OWO9++vz8/AIWv3KPOoNz
2Zn7Sr1aa8CrTQOWObUV37QOWHIAsRZOAZ0TU+nxwwpP3Hb3A6TCfKO5AM1dgKDSw4eFN4oel83f
3fc+vOdOoHhXtJ/huzOYX7hT4l59Y0TpwcyFFC84tr/wvgczF1K8aNrbKQ4jMxdSvgIbYyye+9zi
kc/t9CddJXP3+flndJUMjcpaEUmuo6tjeBjaQVQ25gFMwrI2Yxx6HJnFgy2CwwAmEfA9AnGBw0g2
C4GbG3gjInQud7nrI/m28IvTjN2DOjZMjxQ7WHSv230n4wc0u+/tmhWPQ0cytIHL4n7nLfx+Drro
eDtg2b2guJ/zIjPlAmdCtcOLQVSfdPfx4fEzrF4iTy38zf5vtARRgOKGdQR7PSPYpbD22ECwoqZ9
HE4Yibxb8k4Uct/GLb7HWjJuBGznIyd2HXnbo4t6dE6k34C/7ZXiGlQsW777+Izn3MyFoILcd34X
z3MomJvRxeYzVxns2NipOs8JER3KFO7xvA7RO9jlYdUytzDYnjMN8yWaWrrGaB5NZb57/V8vb2gr
M083CpCq1J8PM81tKA7yInprl3mSVITEiOsB5IUmqRHFQzpHbyszS1et5coF2bPm+4AvrUFfy5UN
csYb5RrYu1/v/4FLwHNk6qXF2/bX+ws8sacmUOP+xLLIsKloP8aRWS6ESClK7bQj2eDufu2jz46H
rAJehHQuhONxNrzM6Hno2P1NqnjNFkYwi9I5uN/rpMHd3feG1PHt78ow2YMAnWg6vv9ZSE/pfH/H
9z8P+5AdwWwTExtgHnxHxzcxzIvZqgPfkjpahvO/fH7+8f7zkSh64yVN1t08yoAVTq/s5hNrGTYr
kasN+cGfaSbvf3z/0KeHj8+fHv7j36+81Pb339t5v9/t4GdEJaG9EOqlubcPVFLdxp1u7v4B3INu
H/Ck2owzCet11dR/gJUzend6xHUfnjZu49tpV7udgBrgyi8oLLCB8qBcU2gJPLH/hGd4K6/QMkQM
bhQ4zsPr1nKvCRmc1dlAvlExbCHCB8cX3LyxfftAgdhF8P0H4od5tMaKaE2XCASrQMYvggkZsjwl
F8kHRJ28vZaMF7He2xTInY0IVu2JEkWfAlmDcn3BJ10bLZ9DsWIO225qrKJPZB3EBXh3ErhI4HJQ
AkzielWFNoUZpYiRLK+zgTHSCYXYhDEU/RtMq69Y3O7qhpDGb0Q+ESHUHlNOgZtsJhcvtpNoVUQy
E60S8cQEweCbUluu1Jc47KLlNHFipi2iOFnFMjKVMhD/rcoqcqMgy2N5TKy78S8R/jkgfzQI9gOt
8+fOcEqTot1Zd+oOyeaQYQ6jaYwf2ApUsEqjIgS+ApgbkicbCxMhtOy2ZP0TRBWrgw22JNWikFXI
CTa3pEhBJFLQJdcURYiZi2JRCZWdlRv1mhdbc2NgIF/w4OOMcky9RGuxaZa6OXMR1qtdCnzh64de
XtC8PMNN8eWd7B05FBfJLWxJlQU/o3zsjfNgVHhYyawwMvMPuK6SpSLJTBTL7D4NJCkRJoj9SBZX
75wcIoulTjqwdUaVceH6xF5GKoho/fYNf/fwpB2IPHUC9wbZ9YqLuVHXPLXW2wequeLnG2mp9h8I
rDl5tRFjiaaHu7nP0ca/gnOuy3+8zcByFogvWLj9OT4w84LbBBI+77E92vPhq8lqX3jBAMfxDu4R
xhX0H2iH9Yo90r1T8YyAwvG0Q3u1HoKryY3zX/DP4geiuv6kR3zNEBq+XvnKGTAJcBhKV2bAP2AC
CGAeZpAo3HnJ/xIV6tnqB2CfSyr1ZAHNpcH7Ww5XRwHiJsRaWICg2ICFDRIXAxs5rjtC+flhvBFw
XaRsTDQjOBH2W7Bg1iljM/nPID1OV1/G/woXmN6O8u+4/HcXkQr9mUzfSemrYQRHAhaXr1sUXjG9
THTB8GQPe2K49sTfPf/65fnpqtJw/oBZtk0rchQvrtzoAAWyue34ZPC1l+3hdkFAuAjYd2fff4Co
VptB99BNoWBqHBsFIjUiDusbiHVp41cYPxmVA2z867WdUz9AjGv7QIU8h6x/gFAQRaJEGPaXQHaH
Bs+4Am5cQss/IFbADA4CKTrZRNDC8Nr0+fDhkqBN1VNRJYh9wMICdO5VmFuIRn8EFax5HJ5rQLg+
EIsmQDPr1obPwPwuoBTI1tzgIivJDqeHMN9ZGvpifdVUb7anNXCQ4D4QFKhj3eTuWrctvlyU4YnW
JAfrFuIo9o5bjgi2c5Q7t1p4+bZ4+5hz4ycW5jeD8Qma8WOWo+AUlNUnDEgeRK9UlYNseJCAUGB7
dNcdmr49On4FUUSRDn/YBtu5Do5HaopIZDo/0UmZ4xHHIuoc+P1+fO+ZVPpvzBRlx4v7+P0ZVNHn
QCgo4iJWOeE7KmhFZJicXwgaHwMp0ntLv/NHbkx3p+ZopKWx0WJKlMIGR7kQL2HYC6IHq3HScCKy
WMvtdVi32zoa+myfiMDKNDAiUHiFAs8+q1wgM4hXKsHewtLnpHCBfyMbwYW0Pxsdv+E5GUKgnCz5
3FHBJMoJKmYzKXwtPKT3dd6n4zeERaR2NqEa9l9Hr6QaIyoWV1bsS+IiaYCTuermgS1nRfNQ3Wif
5jmDVqZqREgWuwjgLPCyjsmIp/O3XYrKuAIzF6ahLeSohKqLIZOA6wt7l8zozEhBJBSYWbqmNChM
AAIaFKtqAfuAQw46lQKiiSkhE51i0tgGFzFPyOoSTAgoFtN0B6voKbzaWfGfGwHcz4gFlPjqQNx5
CWwRROLcdmPvc9CNEWFkLrDH9jd7jtzuFpGve4piVdwEzgdRUMy2xLk46gJbiIK6UEc02xox8bko
aEK7zJms2r7s+b58qfF+rRt0IU6EeWGWdwlfiOQLHrLko2bMuATk6wu7hxHVfZ05WbnTBKvYArYK
DsvKOX0KzB4HTJytoxBzTSyXOdosY9asGZPhgNbMjeMvtDCDJG3jXwcjd+UZbj77l/uX14c/wsmo
pYOyCsTFiTTp0JF4ZIRaVoe4+IQp3r7/QF58IIq6y9CX5faFvcfDPFG8BCyeGwcSyPm9zQHL6IHv
d/KwEh5eKfKuv9U5WOA5CyIswtVCQszAsvrexduuCvAwBb4IssZ37C9Gjjrf83z5kjysYVWEwHEO
OPhAicoKkPFl7e7UWbsTTtZfVvBOkBwuJZCQH7ry6kajn+Bt6kpH55H9RAEScq/q4kP457va54P0
xPmBujEABQDPcJcdIV/wGZXIKRzMRAIcqBCcHI7x+Qx8hQ8Ep7KAyYADHsLN3LUIZAre6bXVUQrJ
KoYCixCTwkIiRbKSeB99viZA1MgVMEJRM6OkkH5xnRkOqh0laxg7NXK6FJApBINi5NUPsO2wYCXY
wRKRvTgK/u0ek0+KFSfzF00TWr+MOJoRAk8GnnrZqC8AYV/MIEI5KvSTXUx2qYiyXyuKIJFhV1d2
iONlb47YZ+icMsxWIAO+VGV4thFNWh3g/In4uQTyW6y6ETMV8iC/SXfGmAYJChxU0pFTIBQ4lKGQ
RhlmjgSa8ZRV+okMhq6fgrOqN8l2koAsLIoIEQKchY1wtIL1A0Gna/DYrmZUCWA6HHAjNKpDz0TI
oi9XxgmQXTCJTiFBdYX4Lio7lKjcTwvyQ0QVVuSPcC/ZrpGHLj5sB/HdJuYUBhAvQHR32URpZEBc
ObN4lihZXMZtB+aHv91/hkMm66ixv9URlVnr4NrtL1Dnzz6jF7VoDdZbsGeZs+npYP+CKPu5Z+4E
9QOEBFGHt3RZAQfeU7wTRd78oNInAYl8wEFp26CzIJMP4PPXzj0+PxDIB0TdVdcSmJQPFPKBgIXu
BiaS7J62CFYuQn/CtXRjaR9I+IEyiiFBewNC5Ks6PFOCKIdPaRydgF2F0TU0WX0fpf5dnWBx8Rjt
GYbvbdKpAkx+plVs5QcYByLokB/kx/HFD2hFOsdw5yAh3zuEKyaMGCCPlalV0SPa7wMuX1BVhy0f
1Fvu3eqT+YR7LskPeDsSsJAfB6pnnCqAbPkKfsDCnhTuHl//fP9n2JRa1hDJJPUyj7Y7p7WUHQK2
EtwF/Fqi2hwsSqHUwRTv4ExGjpCF2gliICfENnYBwu04diJjB8gergrPAkE7zD22yuAs89dIyvuj
fSABzjbxDHBTQYB8i57/8+fne4yfe9Yhba8DkEUBTDvYJc9OfDteFiQ0fUJOK2w2DeDvH0hdSULX
4yMnoAQsqDjg8wdSVjBUAzUUjFHIZ3hZedUOIQP2JODgfwb81WRS0J8Z/R74H6qyfpGtX4X5u6TQ
nxj7DfZKycryMf6VCDUlk1HoZ/MX5TjL6Bvs7GPTr1ZOvyZl9RlcFKUcEgdPPKUea5FGbfUY90QR
1zKEXD2LV7XhQfg7c+rZSb/BM6he59a3tWc1SArW7g1GkT02+1xw7YNCPyvAGzLWcg1BIYBNIEeQ
nsH0+YXuB7QdTqGf2W5RvLh0+VYnnA0vihfX0avx7NqwkY8FiJMmfYx8UQq3TKSPMT9hl6ZUlMVj
ulcsWp6s4OnOmWD1YhktDxV+NPyj8FCre429ezVJGZxummj1jbZrMbuXAR81p4HNXVY7N1ga7dIc
qnhoOZIfp8+WrkDhpKAwjzG/4uCK3Ylccoof7KZw5uL7aeCfH58e3x7AlYtzB3MPlPoIjxC6M1qc
+8YNXSW6uzeKc6e+5e6b6eOJA0weT/gswWkgm7948Q5effRrEednmQaHvP2o8Iy8GvDXm5ExIhLn
57cGLhLcaVAktrOhPQxtZV6NvfJqthSnr0+fHn56fHr4JKTJ0s2lHTgCHDjgoHa0omTHlYjHldCj
GdbBydb3UP7IvnikO490s1knRAehmVuQ4I9PP22a+Rvw0i23Kln63HTm6uhLSeGwz4/ohZsg2gwU
KPxtWW/KA2vAxYLQyUE5HTp0ht4CQ+0dhj2OTq0s0Sd3V8RIkGXlPIvp72dTD+Y3Ywbb3aeswNnw
eDPTM9MSZu5wzPJJ4VD6o97fQgRFk45yTP1YiHj3w9vL49PPp9mIhwX5of35w7LVeUwFarILM3rh
SVX2mD3iq4KftTXYP1BEWyHUL/EBNoOM3ceFKys+4BkFBtsLOeUDDJ8NECCKg174yvBYIT6oHGAf
KKLREBY7vD4QGQEO1jCoaxgYARbXcFgC3vU+loxtloJGAJtBETPY38BoH3CMBRU+IEIZ1wcYB7KF
NczaGrLxU8UlUCdgGAEZJqAKIVPDHJAAzQ4Uho+AFx6VmAAzJEUYEmzcKz7AKCgROXBtV/Goi9o+
xrPonazYG4dHtfEsRTTFHsq4Y2MnCX7eVbxh64XtF5F5T0625IrH5XtAMEPGa9jQGUA/L83rZGXk
eBjP2mPZuObC9jLj5+WEG9bCuGFgM8Ee5uacL9g75lw72TUtHsZ2mLDnq+RgzqDoft44rdFdUCyN
kHAnJNzxXW8vDe3xWh/WbX2nmXyBstSw5az6v3lsDArW3nFj3fB2aA464udwN216K+AEL2/jA1wn
X/hMhk9wnQt2znGHqQ0fsPOexj3CfIclwUfq6W1q8l06iUp9IngPXZaj0/CGkN+1pfYKvhA4tjwM
muhEAg84+6rAieA6FFzQfUd97QaPQLzT4KSSvMNMgKyxjnSaTj7B0iV16QjvRSZIlxx24cnwMosj
QUvg9/8Rxi8S07UHfTI2xAJXL8436Ib1UGfRSx6yeFcDixqJtdvuWNSogROUaCzdyI6PnLFebemn
zAa2UGTV5oFfpERqV6ATqZ5vEw0Lzcdq6qFsvtjjTbbNih/CdVgOWzuNdoL+8OXl+e357bcvDx/e
nv/0/PH+88Ofnv/+8PK7+9cHIV2htR3hznyp2OxWasrtA+w4Ux2eCOPwAXIcTEacJ2N3GrsNzw60
1cwPpLcP0ONUxY5pQSWBHUdqQGde/QA71SeDp3qw1e0LhaEjoLMdx2ft5kxBDpYRbhj8Osx1meQn
PDN0AObnMKBZmz0jzmGY7CY4zw5y1a8Yv4iH1AT0e/UD7DBeLZ5lVf2jp+mKp+k0Lj+PaCRzaTAW
+5QUsJBILUCBJoA8KJMMcsEX7QvsQF3xQB31STA7WAYlll/wi5uSErFZYWfI3BJuoCbfsVmf5NvR
8L88fPl8/7Ez95bcpe/pmObqTO/740zDT23dHlYvosu7605iDT9NQ9rHP19eHeP3xsKSVJBG/4Xf
3JKg4sOc/lpw/lGbv/XkAwYY0G+Xdmpr2/QLkJ+iRj4bPV+j29FcWZJH1PAVqA/q+Jmw3+Lsrco+
Q+Qn4/oXjYBCCHAXA/Noaeh5vBFQkYNm+ACRPntpz57pnVXxs4T/EcXPaeQT6nNHvTo+wR+71Q2v
rj9Zv7Or1v4Brwrg/EzdKPArCYqMg2eX3w1f9pdXSaOgEAEQS4D9aYQFc4QDFVVYtaCWmSD7DTJQ
yQQSLIFiQ4j9txe4f7UnRicWqAj7F9XRmfjYDMwrXmM+WX2D5nui/kR/BD50x+kLT/a/GlCB1AkE
wgCL+lM0Aoj6FI/SN+KJ8bSX6O+n4zJO39Pd22SwvsruPb/7auxzq+177mq2+Rc0H16bAROgCARk
VXuJ8hbcAJX1J7unRedJprCL0Qn7Sse+pM2e2a4EAiDywTZ8Gp3Mj89PH0Wmf/vVIlM62TDJFb7g
JIHgPI6eqcpFw0c2/JWFsscwu7NEmp+Gd7iDfoWdgzvtmnwMXSDfLg4j80zPM+a640sX9TynXtj4
It0RG6Zf+MrwCcZPScEnhveYJ50VvGd4fCMRTY9ngzuHKe5BkzvDRs8we5V7geEtpCnr02fLbyom
MZVh/ZnaOQ855tkpwkcFH7OswyD5dOUq5skOK0c57yBB29mBdCb0LsC8ZSbegWYi7yKIbOqO/XaR
F1pCVwoeVH5mLcJZgUAEDA5jfo5b56He//jyRQv1ViKgbUBRt79AycYTX+fggtRaHwd0JmgH9eJ7
x6HOVriBRdHsMPpMlXnc+wdyxdDMOHoio4tS92b09ysxao3rBamPKvVETnIG6rNKAJFQUXHe5jHk
U8mZtTHA4PhWHZ98ICeQu8n6ERbmArGx3umq0x290Q/Z0zJFWAxPBCBbHF1dwEjwBi2Eimd2Ate/
Py9W4o+18UXmuh997jq1zY17kO1fvbp2BJ/jcu1mPknDBxCerM6eGI/sQX1jQfvuVkZTduq4np6d
w8fRSr9+/fH1SnP94folryxYRVGwIS+y4T0rZ1JFSantZNofrSP1f3YofqCX07goKFO7cj4K3lO8
qEi0jd+fzeOitmEV1S1dGQ11XGRNV1Gaz9XB+bZxUVSsipJaro6SHhcltaooTbnHdayGTwTvV+PT
CqdV1BdtkTWnEVAJAQkJiBoBniwAlrXrTh/7+GT5Ul2JL62JV0U5p1ZPSZF/oj0J1bff5OKiNmqN
XT2kouo/+YAoqOTdaCjjoqphDbh6WRU/snqiNKYW2omsol9NqXttoQov439009Kw4gtEfUJnf0fp
I7YrYTEtp9BPK9tWWU5uX/6ksZ9wUJbmVZz7OD077+QHWDubVdW3zPg6LElZNe4T7ROFYV1WjZen
0xclGfdicFnlPzMfHqyvwgGmexlsRwwq+5jyWbQe6t5B2C9Koro4s/1EfkUxv/1OIqsTIOzznflT
+U+sh6jsvBFQgrp+zP46+EBUP0BUQNQU3dY/Vg1PVlCUVN03L9V7skQDfOf+qPbXsu3TwAeyA093
Fr4JZy3B00nOw9h+dUJMeEQOVkl9IKOLpmQiyfhAK3GQz3sUZOtwdf+CMZDlWapUeRbsrBQPgFQP
B5HOv653ZIIFXh53pp3HPqrjBJNza+16HIYey8MGBfNZ4gAnR85q4cjdhfAX5/UakdFuAJPjZsUw
VUrDcY92diyyt6a95UKdShiU496Xz494QWKP9pFl+jYiizcddTR2oW2WdY4P1zuWcmSMdh+YHjV2
vLneo+wK6wd8mFrb/QP5evuzGwx1BvPHIdl2j0OSiicciEFysLtjOhhA4Cbh26WojT/xd/YPeIMr
EFUOEg6U7mlN1j5AZpALPCmS9aQkBeQD1wxcGoOijQXBkSXI+HZM/YAnPIxGrmG1Kp5oUfT4mstr
QmCJGlgLUpB0FiayiNdbNBenYpSJGDmgoKiKSNYgC0Wu3fuuGwuIFBoDE+iDToF5Le0D9RsUiYix
Ey/yzBh0Cezg0dYQ9chXVYwJvoIQZasRQETAeJQhVYot4YBHDvhxCTzlYMr4LtGomwkxBD6hGpXh
A0SAK4KV9dtGJxLoCwpQUXWQUCCfsOYxJ+IwI2QFIz7OjLodIiIUUIR0S+qIIQtebibO6XaILGEx
OAWjCTEhwERcBNUMsGemnRUYWUgEuBZwRkpR2Uc0GPch3ZlxZP26B9RRN4KE/Qa9GcUIEnSRNtio
nsAmf8QZC1GKjzJ/+sg3R1y8olpA9ki4fIsFJPx3FV44T5wpR0Sg4kauGHFPt8HU+cMqnuhPStKT
8ar6sfOA7fSvqgwgu6B82K5/wHEd8HVlxy03wzagP6ueCJgn4TKsgbKGgYtRQTXWecAONS7KVbSK
IbLcp7fCDPuZJjtCgUc5KIolIujOChd1JyRS6DzooeLQ00IUOS0NmecLkMpqBck2LupCbCkmuifC
rLhL0owW3YyR1XdF4r2uQWT2JuM2pDpynhAQcCPNUeM/4WAKsJHK4vXSDBEW9jUyVB4SCpzFqiDq
oZiYgOxhBhMWkgmEhMU2isZCYodT50qMEyD6V9ECBt0RIuwLFkbP6voRfI5gv6rKvkAkMGJQQjlO
bh9gvkha6YDnSpw6T1Q/DZB9LDoUId2bJDyo7hsONEQKcl4dxwI/UIrCK7Ur2XHZISIF1uOBVJUC
sgR2eSQM3BMo9hu8IbKEOYEeRVUKHflAcBAVsUqANvCNXNZG0ncyTw1ZEhSE8Tbp4CExRCUgAToP
yAeC2Mz9TA+IGmQHBBR1OyRrYAJwQPEnPcWny5aFrLqTjquBtxCjV42xJ1Ic8io2aOlWYhzWjEra
AhB8xlpXujNKGOjcN+xGZHxnMMSvHggC0aEY0RCqIsxOVR79WacfisgS+jzEh+VtkFNugx7uXz7+
gtdBrKfw5ihaJzq4p3GlHQvC7h/w2INe+YBj7bdtEO23ldwRNz127OgYsQl8Vslnw4s28MqTUNbJ
rk0fyfdGJYDMwGf4QO+2sBzRhrfIP6fxPxIGJBzfanjCgFCgAbwLGv1kAbxB+quGTwTvoft6/yiR
dXJs9Av+u9FlYQ15Gz7C/IMy/w8LFczQgL6PobFego0DDnUgaDMgGhwuDmo55o7cZ7bxE5oQRQXI
7GOC2XtVftgHvBDAMHobrPhFY38FAhQT4ujyBYfTH8cnvIthJT2eDy6IVy5w3Cxq0Qa3uPA665ns
Xx9wdia5hSzdpTtVVT1PVy4aEPw84snY0YPY5JF2YvSiA6MTCm7OZtycf71/6/dmQ0zTngkSLdQE
6xXTEMVsmSQGi5m5AT+/Id4/kBx8oFcNsyrF5j3izYAn1CdRii1jl+fb6KSy2XEYP4qi7UXulcmT
CnaxIveLNnlCgL+Y54KK59X3Ql6tPhGdhOXkUlCJJzXlQoDCcP2thCHbYsNXnL1KABnfB1j9oIoe
EV0vahcqpSLMqhBgSDh/r+GJ9MaOflV3mfwGBwQkXfwM+YBdiUAh8pOg9KMuvJYJoMX5e418QoCv
gO/dQkPuExr/PU5A5z9Tv+sDezhYFQBS0DGi8Q1OI4DgPZax1AWQKEBE+YlGG58soM8rBs5PwE0C
PEwgW40AYkF8xOqjSSWAKECMYAImMkxEIGacwbiEbO8UNUydunc6agBDgWqiSWUf279CRAFWLbgl
EpgMqGBWVJhwPxXYf4vOfWIAo7DAcWYB2BYWC2pgGIrqOf72Vbwbv/LTDrRSDfXx6dPDP/7yEzh5
yxKMZ8WQswZpX5cls4drVpReOItAdrnSmfXp2vE+AAGdocisbkgbv86beux4VoE1uAXY8+qRDpsp
9JUBMis80T5wVV4cr62X9WfPoiNnPw87cj/w1fNdBdmRAFb+NHQVRJ1CvqWL1w1fFeGh5EfAj9Pn
BXTPsiVH9U9ntPFZDVZfgP+j8PqF8Ca5/P0pIbPmnm187MWhfIDXgD3rFZ0EhEH76ewr9lIpivAx
6fWX9inXBMuypWfNmHN864bZs+q7wcDo3Qa1rHx8Fhw6hb+75VkVHg5o9lzR5s4+YCurfLusfX3W
Gzotj2b5qNnPEu5sUSSX7TtetELau3MOqsOqPgfsY1ScsmlRvWNVf9dlh89iVze7o22abPYOVz9r
BLD524SFy7Vth3LfguznqNBPty1asnhZOfosNzXXnbiwHBnoj04rWMzKARksbINPnbxyufX5sa83
7Hk7eW/M1efQKsmprO17w5cLH8asKk+4vOPt1V1yaL/S8HkO9ldzSS0svWgR6c0hIa6oaaGeJAG0
4a8Ok1oiBWte2/Dmwrvx9Oen1rmh64U246WAJ/rZOA/9MfvLV9ZvvcGv5py7do2TJ6t+qMYpdX3k
ybOdpY2egPV95IB1u294A2LXJ/F49qyliY4BudfZNzHPjYJLdoeeR8cHCNoXQCvDs6au7+SL1fMz
tU+Eeov8c5rok/G9/YbxLbE7tqAAeI0BRAJdXbHfUQFyuHzRaHhCv/Mru0u479FoTrhHLJet+IGk
LR+h3jvEq+pDxjcVDK/VmEdsj8ugfCFqeMI/l5D8oOEJ+S7g+EnDE9PrChh+nX2WqI/NKL1W+wDB
m7xaf0K9R5chW7jYU55gf/zl/uV7fIPNXr/ut4cZUx663S2sMh7SdXO5mxjTw0m2RaqY7ZF6bKDJ
GtlhskYZKCeZLrlLNfLKtNltb0d6VuBs5oZlOYRVkkNKcNVtvUY9S3PAyacBTm6bc4QMhe6wEmZ9
pRrWs/SeQPMD8pWcoNTVCavb/RSlnKZBTAm3MyZFjTMmcpIKZAUUbaFITkOywGxrnLbQRMxTBvVM
VVExQn62Ej6KKWF4TjDzONoVZpQqkO20aRM5Sw7gZbQMH5h2ZEgE0cYm+pECZmNEzMYoWjXbSR3b
smquF0RzPTeW+ikzhdrBMUJLyf5Kq8x0ooELdgXMA3jRyDQ67AhZ1Q+QvogRW1LmoH6A8M5gO9Ok
4Qn7QgR8/1i6TAV8RycDPSX7pPCy6goZsCtkfywry26s0eIHVAJIW8iQsSGpGfGkH2issHi9X1Zm
lqWBsZlpf6Yts+2rgRPIXbYq48jKRSE3Y7Du+ABhfOja4BoNTxQnOOyFqss94X2o2JFT5QDpphrC
vB3qDU9WICTEjxPgvWxjGCRXGNioe8W/e/700HnGkR/8Y4GwS/cGNPKQUawQ8um0K66CJkGcee1Y
wjHOXI42toUjS9HGJqQHC/OuroeTA0vE415XjCjOerQ2rMf4pBnI/sCoNnjKL8qkyTk10ChXnJ1i
GuEOho7a0GS5goPoYk0KnIRXQoXR1dUmB/yQpaDaHDVhYVqCfO/yuiINKscIK54HppMFi11goPZY
wrKYUbOdMmci5KFIlhUNTcQ8BInuAjJxdQkQIJRsax2Kunle1C1CBXQ31Cfk5Q2jxxLmSYGzzo4B
4L3TuCpZGAoUIO9ycPyyuGLF0o5dfwpW1dFrdedPspPen0JtQrxo4GGwgUefQJ/YTZwRzUPPzi/9
3rrqPmKu7iNOSbFONIXDiP6nZ/eT3q1cto45mxifLOhTfRO9CjeiCeytdZDTvlDYB8QqKNmy6/45
Zyvcs/FS7+MtOzedrXDP9kU6CaQLzdnLeqcgztbBsh4+xgAXsvqFyuYQsYtOGT9ARTmjKI+yyFog
GQeDK5LMWuGYKLsv9Xc+y8ZdseRvWD7L1q9W/ELRvpDZBzwqokpCYh9woEZhZAJrwWQ8KqGqxsyQ
lMuQ7NbaaN0qWDeiit0qsrJZsJ0uax2CDrQSw/l8//r2RyXlkp9ky3WW3JiE2+nyJJmuk+AehDA9
PFB4DngSdsroJP6RkqS9r2y7PMYmL+Hd8iwDX6kC7WkYnBCeCxBufI8lZ9dcJbZvz7WI+RQPIZOs
cYyMnTDi4jU4Gz5b4Fl3TuHhvmIh3KcuFwkZpAjhHms1SWfRquwwVmkVUWdTR853tmwdMsldtE5T
FRbsE5wf6/oVkhnZRseFt0kbnsQKU4CIVV9VbhGqKw5DdVEhnuh5jhCu6kLUyzBjKtLGqYOTmecE
g++F4M9gkTV3//7w8x/+8WVH7n/xIck/vx8K2g/Asf8BOxodP5wfc11JXl7BS+6f4PkB25WU4MQn
EvJPdCXgKMExDdhCsAHiEtblAZ0I2i1GnkfPXEkQlBDFJnawG5fl4R8PH3FJHHlpsD2sj6I20JZi
I/JqTjytyhKxUqnskSPwpEhfxJrPsQz4eT2PKCorVdhITiwtTxdlaSgzro4jieaNd1hnVFjjE09r
nscEJcNT0lhHZo8138XhSnK+Es5HmL7s/H1+gZZVirIsU4CUJkkBmUFXs91o/CPrJ+qUVkyWFngy
vKgItKeXGX0ChAJRYG9PEDRFYyGRflm0HXtJSgoMoSB1i6h9gBSmihGKHCprSKvOx4IF9kLQ8ISD
ojTXtgZVtR+kwmCMeSFDtNBrFEXvdxlw+gqQLwSQQhGNO/GEe7WrFV7UwcnsRU2pPT9WpZ4QEFAF
atFUKBEVwtJwMWvLz+S3YJXYrK//HO8Ltl3IKgcJPqMNcZr8EAbkJQN4jdkoqrXrVpxWq48JipJZ
p/KPSK/HPVAzokz+RI3VXf1H9pH9QxZpNqru8sKEUZRmLNgjTn6AUBDBe1EcAM+tNzBfN94EHsD1
SV4bPZLRwfuJXlU9AsftPxgNzywnmp4SNPIJ73NY2E1ajS6mgIqreE9E62pXDdFqrh+ZvCznuNlN
ddsjkivr80fV7eUlMWPBfTOoOwchQFS03PXeqPwnO0dCv0H1HYnvVdysGKBUXSL9oklDwUI0ggCm
PRXLk3tt/gSfwPYoykuYX83KcaWVIGOwk15Hcs8hrIN6sMq5gzeXiAWrAmdV8wk+FZx+vGLa2wdW
1wrBVXktYV0n+3b9gSw/0Jn9VUg++OtGqNy4fw7ulWDJw+sbnsr9IrH5zPf3etjAL8rfGVE/sSgh
C8+ckiLyQMYsYYEvBA7khzrAGRaLpw1xIr9Iej0fSp28U+c+T0k3HlJue7327ExbxBu9c3iVemcJ
Psms26QuPYNDonN/nGOvlIrIuDpGt9YO+ETAGcHq3G0mxGO+stWZT+TWQXb7cKD3i7qbJtiF7MwP
00W8D71NoGofIIprK9S9VJaP1108HxodS6AYDvqK5Xyfes7fqsMT8fEB569+gAiAcwvppe85zkea
VPdI3Vkj6u6W0Sfx7HWEkXUPjaq4THAjMD6pgkcItwWNps44IngOHxoYVXAdISCvOU+MpsPXUzao
9JPxZbnWfdcImuYz2+VAcRTBJXIXATwRWzK4t2ujTSYviq1W3eoQlQtl4WrM/fAi3pQTk0dLFZvg
+/1WceaYO+ZEqpVykpnlCB++nEgwsm36lzeXpddGyx61byUgJBnhGOYP4e7X958/fn58eoDPzq+u
2leDk96mdbBAmVybHXCP3LF5wBcGtzC6xeXJS0/bu274BEyJd7eEEWRKpPd5OeJVYsE5RXqhlyHz
1DoPS/5+evn58/OP95+RHsfZ5AscKAzS41ZrZOA8Y+wAZwLiKxxHbL9CbnGaibDCqD15lWkZfIDR
zf8cxIMO7iU69Wi/QGcFfXLN3z3+/PT88gDJp8e/UNmCG9surpQ/eC5bUN/D2jKA2R139nDVnNAY
vZvC1+evLx+72djFNw1cQHeSafm1ObzeiHbAsmvz0l98i7kEOYU947mwNKdoIMOru6jc8ZGleIUC
SVa4v57wQuAVhrcj3rP0iyByP8Zz0Y6vjPxoIPkjjbMvLPUk1LSYPc1cCZjrhTdEJ/MqGd3g2hlt
eEuGF1k/tnctz9kXwjwryUf/5iQ/kbXPkCWH14M7PlHyKwyfVMklolMipEwp5HuWMxUyrn3SmM+G
NzB8590FGmrbPyAz3uJwP3VSQCYgMu5qf0F6zp9Jj4P5R418MnoC2VdkL1O7Uz3Ivqna6mcyeUjR
jEazG5aIfl5PnlCPma2K6NHM1iDyNOtwpjsV1zLyAyaoFvUDhPsBcuZG5jsuOpCUjLGgc+2Y4KbV
9CMdvrjVplFormg0ES1XVj/gyQdwBi5pDCTyk+1q2yw03TSa1bad+fq7znipEpjJ+CABnTd32i7G
ANi3FfUtVIJqWXk9lSlgNLWbv7r3EQ0uYWH9PHccQje+1ywI2X0Smr+q8Y9ZX9w7g2o/yPAVDFgM
2vTZ6nvculX9I55HrfC8f8NfHnSUHnRcHvJcIkGEuEsyQ3u8bwNBjMsjootdDMAOo3sGd3g69gOa
zhwDGOh+7mhKuplfFMYFFA/GQa6eE/nV7oO1d79/+Pj46/3nP7x+vP8C57v9XxcbrYPjCarpDU/s
jMe0/GrVDxBJd2jnkoonbo73zFDfvkAOGb5zk436AXLE82iros4Dstk48LWiPgNibLz5Bh4Sa+Ed
OktgLdyHfPd/fL1/env86fHhBeUrkyPEXlY2yLK8YwjRrcvpB5OxsG8YPpBoXeXTDz8qE6MlP6fA
ShMHUQ9/f/OdtCmwouzBdkXtTVaJYJ/wUFc9meEDvK55iBHrotvhA7zAcfAZP5C0KWTGRqzMboJG
ga1sDlBjujsPunWJ7YBFqtEpcOveAsFjbXczfoBXyQ4WmJhUSWIckL0lEjwoFgQwDljojhCjpkyk
QP15Jt4J2F70R42FbAayP4RiLNdl2oMosL+n3xXtC2wRzKUKLqmrwGt1B1krXNtzli02guyyMMZG
bqLIViKgVbJRtQjMriXBSDu1zYwGAzR4r02isDmAUetO6ac4su0lW2x1orLRUbsIKh2z9gFGgehX
UfWF5A1PgmzY4fssfLeuXB9Exw073P+7dcuNkAxYxaQtAhPmVECOsr65Mavk0S6rM6C7Y0rARDzu
30igpt3gOqqCQNVJtG6ZCDPv2xMibJDKHHjrlWASCEIwGhMYAbIHQRiSI29MYMIYUaN1q8T2h+RB
mKJTSWCzCJdt9ZNZ8F4IIYLHmKyGZwsRM1p3RRR4N4tgO+OuLiVbB9FM5MxNGNlIVTItVDLxGWSD
faC8Js1sEUzBhhiqx8v8zWS7PVaXZkZDQOPu1GWw1GvGdkJR3R6YPoh2VjNZCgvTJhrj1CGUdvsC
E4aADk9SF5ORYLA7S1K1mu1RHlRS8Ro9F0eHZsUqdiXxKSShUU61rrw/T4hLTyFME0SPL3ST0B0u
y5Qi4l6vnqDYOjg8Rur+PyMgmG/YJZllS90hUHVaGQWiTVNXMk8KM1sH0SOuq/4pl4HJQsgLlysu
dDpFCGokSNxxvJOxrTlCJ0Z7VGc6x09337++Pry8PT4/YbyHvm/YjmOHzd3OBfvRqnNmEzWY2weO
W0tzFFgZ/LDENp4Nc9z7mPPSuLf6iWSx7xRk8YGkf2Duh+08cBcPosqDaR55w1fEG42HZPwj6eHk
QC9ciVm6nYMG8L10J3ai2cePFz7M6LdEiI7bz2sJrcbBRCi4ZuCG29sbBWQKJSILsvYBIkOlE0Lv
hg8EJsW5dh8wXqOgEAocfsBVTYqZFAbQ5DxKcaRSUC9F3qNuCgGOziA71MN+q0ks9rx/oHaLELVF
YFMwSIEpGgWZLIKFD8SsEUDwVShCHi7PTh4yc3x9wOVxq0ssdr6bgl6KsiZFhIXJ4H6g2xJDWBg6
CqLGAmaNL2vorarKjs8gghwnVYiIGNfcSaGqycQU5NLtR6oUET2ooftA0BaRUJA8SFGwGgFkCaoD
MU7qBIgUV1QjZUOJHF8RrxoSSzhY0JJMvBrCgdIJgVWlkFiCjH7VRIrIllh6W6aaAkdMge12JNWe
MykSG0IZry4Si07tLEhLc+64LclrWxIoE2tEQbJ4T/ouhQ8vv6LHHFcWMgr7snlLHVvjytuMGSQj
BA1PZDtWUM6aNTxZlsi3mLgyLrGAr2aDR6Zad/e7X+5f7j++Pbz87vP966ua58Ceje8Elqv3/BYO
Sd1Wvn1guhWmvTCou3rPKzdvxwcs+YC5fcArRsSyck878Ycd3w9tZlxpy57uNx7Y6wPpeL2ikBAJ
CRGY0L2vbl+whI3vJ89y+4KWqrA+uSY4ufbiZlnphcYEMYUCHbYlBY5QkGEGUeUhmUG9VmH7v6Sw
wFMWlouFe/xCWcVIZ1BxBrogEgKOw8lOQNAJcFSSS5AEDG6tZRVUGgUF5DA5VRkDUUaPH4jqIjBN
uLR5v4TWBZnw4OzO5ZT8zhueybEgwCrpFAcPHOGBBU0IVl1GJoheTqEmFU/ksDjAV3UNGD6DIiTd
nDFFcLCI2aoUMEGuQEFwqiAzYyDMWdCtUeSbwkWBO/L0Yff03e7Z7Zt+lZ7nr9S0VJWbKNp3uiXi
Buy1VMcPOJrhJ/tcZcVg+lUyvuxyplys0gaybQoem2XZ8QO80VoIWGu7vw2jTVzbHCCf3gcVT/I0
Zb+vqii7Xz2GkfWXlUMc74LdeJCg51Q26hxImqLol6e6YH6ZJ9l17UrqBwgXRb87q4S3aSfq9gFs
XJadzkWmDfgoSWcikeWItaT7y3HrV8mqHl92mIkyEBICpOb7CQ+YINj5m8bbB0jGr+y+5qGBkPwA
yfgVnQO3oFCI6gcIC3yBlGE/0Sam0AYLmtvJJ4htl+0Hw5QIIouyjZ7XrRp/5pCwJH3WzRpZiIQK
qekTf2fUNcKbaDR5aBRC7KVZbsD17vu351+1M2tdNbA5LyqV7i3iA+z9goFSZX0GRV31ETrT+87+
J0n9AHvHIHoh7TkcQfsAe79hCrSgyX1wIN79+fnp4dcvb7/t3s2/3z/9/ND7OEcIhZQhMVDAZvDF
jxjItIiKu7lxRye1ktQvpPkHiigA5JWz/TEHUkLIYhWc4WR+TILU0TFYP2nygUi4UEkhntsXyAdE
x2L1YHmQQArCGIvVbJzOR1INyUAdsj5f5/jAvBqSux3Pz854k6Ukk7AwicHTOrjgyULgHPSV9KQo
kEnzilIXEyqhwENvdqcrhCfSaLGcm9OVspB1cFjVyU4EmpRWMl15ogkjSXEn05XE02dhyTSqQ3HS
dSITPlgwLRN5tMS6lQQN1JP+hUAqlNlAakpeNBhCQ5h1vYcvENsSgY9BtwyWMLJaJGEyCaKXJUM7
9zCRBjKLEkGvJkvhSbE2g/W+jG7giGoXLz8QdLwjS1lBGLzOBE/U0qJa9tfyJxvJRlNwo5nsdWQl
c8ZaizoJjmwTVWwTVrmMOmkgWmVIodeLBiJNNQIbwoSRxG+p5lt2bMKG3O2WujQEVrcRymbGyUoQ
z8n4edHW6wNkCuj8hS4EV/YTAPqkhWR+7LHZKAKLZgxZlXawIh8Iid1SFH7H4G61NI/ocu8GHeNH
Mn7ACdjhA+yaxt3cWadURTzHJ5dtzsDw1o0fCPSCIKb1+J4QEDE8n6I2Ppl/hDuawZc+CCArGCG4
rvDf8guSDJcDCt5PfdAmAHhfOrjihd+TubOX+e2SyKsikOYf8BFlwERNBidORxPCgotoVBIIF303
B12NiRhbWESjLSIRIoPXZH0AobC8lUa/Y7e1B/mFCEEnxeMHIp1/Qv5Z1YxZwgEf1mbQkgn4bgJV
E2KmhRHwRrWjRICcRxnW7QCTYVc7S1jULxBF9OYbhIDgQ3dT6VQxdGQOvsIXqj4FIkfeLsQgUDGM
YcGBaQpgk2JkQMyaHSJCYB0KUdHMAEtdSXjNqVpSR+Yf7EoLpslnTQZjd1etLqAjXwhxrcdkBVxe
7ObTR+ttAcVNuVfxkW5labUX+2k4pskfiq/KPWIEHfpiivxanrkUMPVJZR9ZvLjcRh1dPZs6E6Yu
vyMLGMrSjDpqAaz5ho2cuOMuIV51RQgLLVogfSMn4/v0DRJILHCoSL8qQizXBLOukj4BsoIeVzCq
MsR2MSv2EDc9URErHK6tWCndUcizojZ+XqygowJk0YRG9TzFdLiCDken4ckeYi2e51QvgEzfFdzD
sKTVB3/3+8fX//z69HF8c8YuY/dLIl+hQFnPWnoPetwyGbznitoXKqMAikn31z/sHvXAR7jmqkGd
ArsrNKJU+54gqn0hMRICkBB0EjIjASfRbxN+dV3pq1gGPyWBXheKivxbe/eqfSEwEhxIQlbZaC37
QoVJJH0Shn1B3Hkq6Up+dW/sK8pC7+/51a2rrxYunpOuUfTmGPnYx0f96ubYl4riaNUPJEZCQGnq
ippZc2XGqSnlZivRF+mdQoo0AGu22oT8ViJVjMbb8RN29QlLL/vMVp5xcTVyfWHz1EsYP+FWRCSc
hxk/EVdUBIwEO40VgVMBAfGkMtPzL3S36HmypCwcjLcTwU64SW4XUndHkyafIFSkDNcLyUzEgt1x
eH5Jcn6C8cLhzWHWVsTxFcHeOgF6AXips55WFT5SajK2JIE5eVpV9vhAwI4XRfsA26KsH5qijB+g
WUERSpoqU1h0vrDQ8wO3F/8NDRCtBduOJT89rY19fCDNG3d4Wpb9wEPDlGS1CVAGuIGDl0hZKVKs
9Of+eil0L3Txnbalu9T++inA6yncJy31FfbhxdvQ3cMuWfkAe71lSK0Cu3q7FRypFGBXL88CvnGv
ytwJ5cF0Tyo1zrN3cxbfrWlw9mzN4bM7BU7qA4QMYhOVVSNCEwIrcWGpj7rjRYEJ35/l7OrBYege
gmI00K7eO/rKHtWzcr9t9K64hFMGZ68d/fBa8tT9dPdPz8+fH+6fzvrKSbSaef8zdVq3M66tECQq
F2kb2q3Q4jXNFrBzwhc8RqdRYive5jmMkBzD0wtXW/AhiXiJcsEdgSd8TJQUuCdwfMrTwf2KePGM
ZtvdRAXCC05GFy8rN+KjU+Bs3R3Cg7LwjHUQ23MW4dMi4w2LQ2ensJ3B8XoqDBPnlIunjBarcqW9
txxBZnx/1yHZmAUFTVtqBvcg5jIj7+IY0bKCw4uE5HRUZm+fcvOF25a71P1rrUlLhpj+gQ0EWy8s
tkg+sI5g84XF5x8H1hNsubCmZW7d5u4vq7m5YIcpvRpZC9Z4TmLdgjjnMKlTJ89ZU7cw2In1eBA9
wJaADfAVlMlz3tQt4CEGzu4qyNX6WBKRMrPrlR3JrKadGx5P9U+8Pj0zv25LacVa2flatbSawxXZ
gm39WlnqxDW4ueAYur3gnsDtBbedFbHUAW1wf8FDx3hLPZkdfpyjdrjp9ntLnec2urvgvmnxuQbv
FvDl5f632zqEIwpE+rVk7BYlXMITTHrVyDZpe2mNEU1aLYlWPftNt4h4nOhE0Ndzss0jE27LCY4E
HOH1jnAbTjBpDJixM18ZyWb9hWR3sy6r4YST/kq5ay8kipmc6EDQYdJV78SSlnbYV+iMLW3Yw91t
f9yfHm9CeHcz4XevXz4/ig6S56/2KCk5b8eIIXFhJK5P8LBLFH1K9xQGM3xi+9McX66oi8MCpife
fXA07hJTF5GOyiwCn0WMwAjx8vGaRWKzuPCb6Usjnoe/TlW9XdEYZQ6Oxq9iCPgoTePkYjGTX7Fh
D9NSKrrFKAonLeMk3vhFbSUywyeQR4UL8QMTphJg/GB0lWDCEPCuKxl9IahIQzBztg5Uojs+VoUP
bB3LFYrbyxeM67gQhIwvDIPTGcmUQnQC7m4+gQ2MkRFDouonwuITabEW5ArmWE18Lgq7uOQF+4Zs
Q15xa7ksDPtANsjMrNPAOCE6Wu+C7XRbTS1MAVbErC8pm0jIcAsbir6kTENjRlM5SkVYmOsyu0UF
ZjL98B0nJhafMTNAk29VwxZCEfA22FWdl2weMcCddjL6J6gb4tFmR13FGBXJoVB4bUWpuUI/RrGX
YaFfebjV1laD8SHADZSyGAsPIONqzjSDzSJ2n4ia2aeaEdFGJGXfYfiCBjsF3cawT6QEspCDLk70
E9BfUHFK7copDQk8wqAuJlPu7FdexMJO5oBapQlkXEhDWX3CrbzShKZWkYfd4FO1KLPsI6CC7sAR
qbiCg/sn7Hiien55w/MUu/3cg3AOA4f9gm2NbT8QuBcBMsVxtnRn3L9gE0TJokYACSJur3JEoCzV
AT6tWtbwDubfL5OlwtI4GFcsILrfvhBuX9grMUblC5Z/wcIsSlWWIfBlwEBuNvosmCR5iLP2amfp
VtJoEJys43a4iwJbyjAL9F7wROAFNWFCP+NhAEmomjJY/oU+3lx1UWDi6FCYxi8ELkoVxXkijEwQ
DCyjCKOeX4gU7zFgryxE/kCuM/xlUGoXCrutAifAVtAFZQJcl1xBTUjKBDKZQEVBDNrwzCQa5J9T
ho8EnpH6Ee65AOWVRSWudeN/ARFM4vIjtJgkLdAXC1bHO/a0kwA/bJtfn15/efyp2zn9PNawDZIM
Fj7rF9nPQ4gNnrDWlQaPBJ6xzpQZ4JxFsh+5cij2c4e3DR+mgfIb3BK4hwsChXpaQDGZK1i+u6ll
wPNweQ0gINlq4zP8JWBdbsQ1/UzIF/LpRhO7qrkXRTN4W1T2BUZ+Mg5FN2vjs+knFB5t+okMX2D4
lDXymfRYLH4ZtdVjsn+Nv+cnV016GB7rf0YDbnkdvfLBuFRqw6Io++ROK4xE1rl5iKIGhStDz5wD
PV3gKMpwnHB57X0b3ZHRBTwOwcdKxDOKUiauDLk/N95Zzrt8fWA8etW5eEZRBuWGzgrvAqHeweTD
MHnPJx9h9KzQ7gnt9obeKvSVEUzYdli1G9+1iUcCFzI3+s91bhOjqGx1zjslZXBPBr8mXjBv9oIz
icGpx6AsGhs9LYgPdPSacfSsjM7gARnvR8YHwniHhqZ0zpZbXNdXC9a8AvHr2/7S+UFB+mrjnfHb
8w9vL49PP4M5ZbmQUbwFOe1ZFyZltdWjqM50U4yiwIlK50u0t2hLGUYPH8jgxaM5iiOaKGUJaI0U
NKG8XFq1R6QUyhNBRxi7O0ax1g5R1EGac52rdBa7SNVnTgYvnRVPI5qZEwNr5gY0V+hcB5XsB89k
8ITmIIJ7kgeV+vL19RdQp0yTxBx2KuhM5db39MP83bH1dsh3RDRPMLVdnmfu4bRwgnWYmNtdgOVV
Xq/FR8+hjFMneXnizX6Xl3egeT63fLE9avI+eCJ87/pLDIyjFUusc5PWDBeaiYzHwbVFJ4PbruxQ
UBjH4AnbOtiRcUxkukoDUZk6g9uuw00aRyeJ6LLaTtEXnSQXi0fyXVLwDc1WrdO1hLcPgx35+Pz0
+vby9ePb8wtGUljGp40Gsh77WNsiadKGK2myLbQvQGYcyPzP58cnoC/O9XbLnLgt4bF9d1tBJEZj
h4vqknv7VN/DSVR8/4Aontvltt+oJ8M7N3sGe0Mngu6qnOYeHfjcC9SKTUmBWwLvZh56OH8O/f4B
fC9a6/gBznuL80/a/Bk8YznLMDI/E+YnLM4a1emz4aG06ih5M9PTRg/4XNcoYs+ktgLx3V4Z51a3
DX4pzR7gi+rCsZXH+r5B0TpPPyDqdu+im0f6A6HfY/31Og7PJVfUYlVCGJEEIdr0LdYQHaiPnHsV
Ro9VtVmM/K4SrGYzGbyA3oYwXADw7PVSIL6Mh8oybAkvD397eHnFTOQyj7TsG0/28Fag21vLPD7X
0BF2vY4/ZR4raegMYwdl7ETQ6ULHwQUv8yBRQ19vJFzS0Hy/Tha3e9PDPYcj7bJv6YEPHI9vLFJS
hieLfvYczUcjcNfDHYdHgHdHJ1Y0rMEDTL5T6jIPyraFw/chSRG5QNABRU5jHCP9klgl374s3vXY
dNHuymCMWbGqBvcAD0ERGsY54aK64UC9FZ3oA/7juwbDE1W3Xapgh/Q+e8DwBwHngzrREre/GDE8
EX7/gscv5OEL0zz0Degilh/IOgGWEGChgEB/N2N4Fvr+cu6iIe3PM4Iyh0TmkKCBbJ9FZ1gG24a0
GVmYFB7QF/GliFoAdkxpMjz5bOeigzkE7QuRr0PFHt3jLGin+Gq7egZR46In+DqrhwDKwGaAshiK
vg6ZrEOCVu+zL5B1KBYqIyizcFwWqukUsuhfICthHGhUCDonmVHIyMmo0MClweS1XaBlHoroN+68
OgvHv1BFw3FlDzkkOhCJDKBT2StmhbDA4TLEqg1PzJLFvtj9nbvhL3x2Fl4K4Y3KQs9VuiAFEzEg
LDQVeJBHCqhKV2egt7m6v0UuiAaNu9FWgRl3CxREzSQ4LsgZeWD0L7DtoaIgW20OZIO0nRxMzBrx
M4qHmit+4qmwDSphl3qjKBMTBLuyJ44zsZoCtj1pTgKRZIfGQNMFvr35lZPg+BpUg5WeYtDliG1O
6C32KWCGJ6jvNKSh+o1GA/NYDc6iKstA2OiQjdHqU2DKgCYlJYWATAjIyAGju2qMA2HYXMXhImhR
9o/3mE0UmNWy4kXE/qxwPAAF5tJa8RSwPUschC3MLyQPeL7gadCWML8AP+AB4bmHzzXFindzOz5q
+Nld7jG8veAB28vf8J7hPTLfj/DI4BHgKSizZ8MfD0FP8jtTG1h9LSteyu340fsL7CBgxWv9c/W6
7SbMMxCO6bsbfMvtUXifGDrB0ueoTJ4SHwHfaWca79Kfv4BqpvlG5rZUxrNmRDwSBVA0E1HsBjcX
fHy2lubWc0cfp5MT3Xm0aX7Wb2h/Q7sxRpzmG2hDu2vs0SQk6kftH0iCc+OtbqInivaBAqwPAwXT
A2pjfbrB65DimIgv3dDxht4uZ+LIu0x4F4F3I+WOU46s7xQyzc8xbXAD8x5kJnCBzSBywSukM7ZZ
JD2MpCdCeljzjYhsvgReyRFMZBNt8AACm53COTZ1Ia5H0nR3JbJIejaQc17d/xyz/FjKd5cyHpQs
PwIvGRtze3kh45Usvz89f7z//KDk+vnVFUH0eLWCdsnPfZUWKjYYKo4jmgT443U9oURK/Hyva+i4
HJtcKcWC6DSiGdcC3myUHs0j7NHB9UBRmE4uF2IG0qOCJvdZsbK7NL+6kYrjjdS1x8erhNG7Vbz7
/PD085tMlos0D3F/zBQcvkqUnI0f3Oo1VQjzt2QnnLwFC/g41VcFzoj387dckWa+NrjFx7lJgbPR
uwJ6XiGePAQM8BDQO+G7bcXj/+3rG6ykXRrRZLE+GJwk4gf+RrZ9oMhKW972+IUdTdZCtnQM4wcc
/4CXBEBdt3MGls8AH551AmWXCd/JGkz4LuMHPJ9C9/oojFNYrGLF12dJZSL7gIMplKh+gLxfs/j+
bHODLtm0QirXj45zjVBFU3Y2DwuRangvtSRXRHv+1jfL2qF7LyGLeLfC42PTaHr4YvIFLISNqZ+8
5/iEj52TwjsGd/jU2CpwT+CXbT9aDd+EwF0bz8bCp4e/9zUcz5Kw/C4xFbz9kaLqFuLVPoAXcRBi
c4sl2j+Qsai7rcoX+N1PxgrhVZkD/0BK8IGsfIDfSmcsa1+CSgGJtaaMFMgngxsDb+u7uRiwxm79
3t4ErMFrgDq3rjogCtVWaMAg8cTJMKgGZviA+8C9FGukIsBh+sKzCRTgQCflbl3Dw2SwA9mqHyCe
jukMicJD7ibKSsN1ELGTB8TbsXbu6V0fYFPAqgdwq3N9gBQOsG5uyy8mMh7EoSC0IohsCrYX5EvN
vFArvzacOcIND5xJ/Frhc0CLEa8Drx9z5yVp88LQ7STt0X2SgkaqWTdsgEM8rDApZt2w+OgafB5S
gbthHThcyMsNS0rylijry247LKyD+8AWAW9nQKt3LLmXydjUAs4efr3lZGxGYkGf97GZ7JV5ysaO
ZQN3d3JCB6y9+8PLy/E6Y/9v2fDI0qPypplFPGsr6Gk2tONoeKIrspo28Ae7eCRbxKO4rl+mXbQZ
avAEtMs2R3bRJajhi3xZncwA55MXT0jLUdfntiqi0P/2H9/QMkkWzbXYKe74wKJlEtZghKYpxwcW
PZNCwrZTTs7HyvnYxSk/i2o7BbsR2w/fAk8SLtL1Tjg/AdgyPT6dH+BHEFE462jadzEiSEaEed3+
/UOijhje8+3YJR8c+FAooO25LMF6iZU3nGJshrfAA9CtwHokZFEqqeu1as/A9Bybu6WriPZ8ZDh8
pZ7muaeVPXgZHadZV4fswdHuZsvnWtHFLsPysqk6YJTCZQYG/dpbXZ8S7u7+8uN/Pnx8OzcUJyyZ
uxky4pD4imWELuU94IE+84geqt6XAR7ppUSMCHc9PHE4VvFJ2ujEoYoBRq8DnJcgCtBtoJgeze9j
fFdBqCiMZ1N30KwgemV0sm6+YPjL9nBH20uEjM0OTFHwpEVESDIGGp3CeCZ0V/xyF19fFLFh615Q
5q0yPIGHApMPRZE6Rn0CoY0anChs7MqOaQtPnPlgZlXHLrFjrLMgduJq71p3pjJudnRyC6+rSW2S
Ghc0a0EYnwygNdIJ30OAmYvTxAVnfEdLJ97vX3BCe/BwbhyNDa81FywITbx8XycOIG7uHjlZ9GxI
PHDzjd7JamVxKMbh5v2QnCwUFvs6gm53+dvmp/Skcuw07WQBuTgUiXIsAuBk+bPYtwV07CDuZN28
M2lG7uXCa3eX30vy6kK9UrMqhGXdzfH2DC5yqwzWOr0IqOQDBdMKwXuwVKcOPKSWxaTAM4NHSIwT
l4GCf44xwCD9VvlAZASIxELbeRA3Agz7QMHEStd/wHICssA7yH69JIAyIIAEVKdNgIqQhfS8ErUP
sAlUIKBoS1gYAxPmRlqFgUwCcwYGZo0BbP7FAt6aoDGAcaBU4GCsygzYEuYxQXIggOGLQRHQViAx
fAAdSFURQTb/ijo00m8XEiTG93Bqd4uOcwc+Ad6JUrfTM92B9MA5H67NKQhLHvheIvLxNjOYxEc+
5GGH2/705eHl7bc/vv7h6euvDy/3P36W2x4vY9RSag3SHSTHdnxl4ArsAve1DU7sXbQobCDsRz0c
MjTRdV656sAH1PVh8MLABfdK64aJs7Et2smRdpa9bzB9fiR8kQBuIu4yXrh/Wy2IQch+uX/9y9+f
/u0QNRCvOFsjJ/MyonI22rGFYEV6poO3aQd2IllOpqREVTYisaJOpsQcY6cRTvJKbQafDnz7c2xi
AawFnsEWuMNJIrL14FmXgd+VYCOmrnuFbDJrU8FwhQpCFUah+tv9568Pf/kJpCmQzuh77CsHCJzB
7sDfTuzwVAFefA8vZGi80paX6m7x6qXh3Sxv0C1ePjS4SL3bjc4w9UzAXQX5gfRKsBDojAPL2Gol
LNs/YC1Zq2L7ZMGBXSSwmy2yyyvwSOAe4J0iBdLEvsEjBofHtTZk4hCTtuCBLO4dnCwmrhrdWRzd
yTrgB7JWRLJzLDy+OIY8CHaj7g9FY90RMqf7tQNXI6BEuIWrYSygcW4bmno5pnPrTY9mLnHN6FIP
Q7MTTe1OROOsGTjJgEC3lTjqZYRa0BHPIIZLIQzyPY3swu6orXOyk0M8bV2V8pRGeXp8/bfzz92O
kqaTNIJBZ9e5Ts/TXCKNEAvZDqpDGzb21SquQob+Aa4MWyQ2DAMXhs2ATQPRDItd+mLuwYmBoxz4
rNKPdo1JhUe7FqVQeM3IqG9W2q+/J2WSnSiTbAd99bOVaVjISiiph04komGrxHaL6meL2qCZQy0p
buwNTDeVHkxKG7skx+19omkYuGED1LLerNMt+Onv/vnr08e3x+cr97K9MyKVtX3FCtEXE/yqvYIP
OI3bayh/PDj5of2ZRoD2L4WLIduVnnD+N7gn/u0OTwYLTXsJXxbYNtBrwMHQdtXkIVoozy2SBQ/K
ebOBFECKolcmTuBRLB4G3g7ieUX34GB0mfjtaWnMxjiLzTmcMnUCTx4XzeHYvBJ+Kii1tR+bd6dI
l+I7DN5c4kpGD2Gmvwect1kIkAJmfVYWnVit1HU6CMqis9E9yIxMIbsknkw+GqjLHpIyPOMdSo06
eWI6k8W+Ip2qLwrSO6xn7wYwE3fkm9dkhulaRLsdFIllAp+AbaKq3iVybPQiRQ7XbGUlEhoZnxQ9
Z8Y5SmWJQVlvJm0RdAVN+7pjRvRg4ZzRdhaiLDGDrsWqsJ0JOzgYttsdWGJQGx013aLArjt2RLBT
RdtcSMeO2LVusgqcDY59L8pVc8KLyL7/lry80j3flGwIs7Tr9jTJzl5U+G9JRixd9MngwI5TneBN
GbA/rPI5S4FQyvGY5aD78vOE437/5cvn34Cvm/NLg6ZJBGzxMHXAE4WHabj4Gp0cdmPB0KkGJ2GX
dEV8u+KQ/va+ngTZ/QXfXWAbe3yeuV6NegeFDKxxCvPI7EOA2E9WqCeTdxVjTlkhnkw+Yg0I2E34
W/M2upulfVzEE7lxBe8ojAInnPcGQ/1RgZNov3d4SxGUdSPn6dAF/I0itYT4dI3uMMzoF1UhGusS
SN2ocrxei8N7UnQ9z8kTsQsZbkqytvDsgslHXLqBeZGS7/Os8sk1PLmr8aByJShCz3jncXA/wFmV
nm7dojJxcqsXcGwfFHUnyxbtrFTOxTcyuvd4u16V0Ym6R6zupM6dwH0BjYlGGZ3ZWdxlQlD0lVjK
hJYyaLsEEbmIW2SqyuhE5mLVMvekzBFwygu+M01NaOaitubMSlaQuNFQRLpoPsk4uHfakhPiI9qJ
5BU8kfcYwS0aJY4seAoLVePlwFxYKHqk0hogp9KO4hbp1hgcN5CRWhmPyaAYFjnZTkaP19z3ZilB
YR2zzxESa61CPNmXAzoVzog4u188pKlw9ZjAVXeaqz5c5Hl6FdcSryu+8kDBml6HNWyGh6sy19/T
K8QdnSHlO/oeS54oJGzPHQYsT1VPY30RhFeCxQcGthOI6TVeA6ehQE5/8CO36KV70OWLlIigScTH
+8+fQRoCOQEcyVDXFeceHUFXLpDDW8N7TATrTHQgFr7hA6ZMdntTG5/dDgcH48cB72nSanR+dsV7
0c8KkobrptZVbfzE+e/zrKCoZ9khR0FOg8VUB3Dki+eKvKK2OfX4RUFQOy3mek2eZRH6Ctfc3VYR
iD974P0sC/FafEp/xpzxYXyaExHdLFv4Gp2JjsMETOuCwj5Gvsec+zDgF0mYdlpK+JoAEx+LWQpV
Yz8TXxdm6dLX8jP6Hdaz9UEZn4mfsyD+xin8Z7mgwQD/a1bUh/IfBShotofxPyQshqzZPka/gycr
SRMfqj1oujGu3OZPqwl7TClKyuozvMuwelXTHsZ9j9KXB+mlKU3Rzgo5X7ynH3ARq4hbZfps8Xy3
8VUFz6yPx/c2rirCx5QnCMfBzhjApCeh9fPa+tEJiJ0Xu5ddE2AEhDB773Ph2c4dMpQSr9rOTyUg
4O6VjbKCjABXQQFU14PtnsGC6xe03Zfu3hbMf3Sje8uuJiJciuDms6gDmkuXS1wQzIYNQw3Pm1ft
he+8PGNbjJ1HKX7rUybmuOMhlz7gvBXNbAfUGBHI4uUWw+3igLm9lByPE5Ibi3pIyeIxycrVXBVE
Svh+vtgeyx4SjwWgrvV0Yga8iEBLKTw4FI6CxWCS+UP+IyXRXwl63buUiwCWlniq9P6Ffk86P1AY
/kovHC6a+cPqhreQnggJVN9QiefM8z2Hh4tO/iD+wF9JijslpmgMZBPwHhgINxO3DzASPBYTgiPN
+YHKVqAAAUFbQTYB52F8C2FyRxNEz/PAiU1VGTuxsSFH1FVl9TJbvQwZucFp0sOk3xrgnTVZEV+2
eLaAAhZNgRnzDWbY2qAwkI3vAtSBKpr+sAUwCfXHKvNneAtZzUHVHmYAPepv1oSfSYBLoL8laBLA
CDhORGdatqa9zAA7B/SjS8RrYhzjdxoUFDwjwCYQwKypALMeRth/rEQjGMhMgLVoPry2BIwDxoEK
ZI0DlIBLBfYTglVlgPIQd9EalQ+wPdAUmEHQlJjNwKEVClHDswl4hx9QCaB23IAUyIbfy5xUn7q8
TGlDlmmV3kKyVoI0bk/zvHzBhE7XQUluXzCQhiuPAqskWJ9xVNtB2VwhozC5LmOdIT0kgHqAMpyD
7Mtw1T2ud7+/f3s4K4dVkfhet8xKw2biTe0TsG/0NHTm6ASzkWeRHW4Lg1uTMX/bdOjK0QXS+3I/
tuNoC4ITbyVp3sEfys5T8ui1/Yj2+XTGO2x7GyWBR69uP4e7OmtteMHJ6K5A3V35mPHAs3Lj79Qb
6G4p9qNreAKXDf2wytPFOzb6Vap8ZyMKJm0w3/AeuwHmS1+2vNdhgX9+ePvfnr++vMIK27Ky+Gcj
pdNt6RbJlpXfcTZDOvw+EY0QeMfwYsfY2g6MBLjFDPAxnNhyzg/wbf/s/3VSEIr2AcaCJDwXD3mU
4gNsCinDrhkNLLbzymL/x19/98PDx+enT7jijuVjb6FOd6jFJpRd09gTP12whvc3/H7MdgN+Otkd
f6j1hq9Qt+OEOwo/9GoffjCaJ/kM767pm2GtHMtha+RXGD8UbXzG/oD4Ckud+pU+3xJuf91lPLTf
8yTo/ZWPCPl17E6L7O39cdUB7wLdF9wTeIKmHJ1qpkWYdH9jJEd3yuiOwCMU0u9MW1o0TKqy8EEd
9o+0CNNWUfJhS9Ou6XJk2/Ye+PaOfhYS/z42d0zEs8yd8Q7RjrsW1iK6dD5V4j5VxPd8RTom77Me
bdnN//vh+tVicWQvLUx9OPFcNrwQLYP3n4IAIpuyI1UYbf6qIsh+VhH4WLXxyQSC/YbxCQN9wSuI
cf5cNz32iIgW/ZN+ld93qte3l68f346i87eByELvOUutKEXe7WUcN2eyzvVs3nDCyygnZJXrWX//
gDt8XFoXL/Xq2fvhHD2Pi0TWqJ4V/E/46IKymH49Gxcc8IoR+bp4olnPngnn6KFZILHCflji16lT
4pczrWKV/eBF+iWt7ZFSPnf1kgY8Z1VrfXXjdPYDni90KTC+gudSXoWgJHjLIsYn9JcK44eijc/4
51DShs0q8s0qgMk/rek5vNdF5V8fn76+PXSi4pfedrkOHA5z6c8PLE4cJeGJIwwfWBwYShfkysMH
FkeWcgUKvSKufnlgKBan4DUe0A9EPPMk7QN0Fa4jizODdbBO2eb/9flJtMw8frY4LVjhLke4VRN4
4m4fQekdb4alsm7l7h9B8XaEH0Ig1q2OK8elojSiHZ6ftmyF48rgp7jVecMZOG+koOHZBAosQIqw
zmE8r/z18VftpBKWEiVLvMQx3hPWalnhCrvbLsNSKytegXdrHZY6Vaex7wvP6K94fxu8Mn/KQAOG
sfM2wtqolMEm4KnB8E2g0lODy/zMga/zXe7QnqOvKPA29aur9C7kWY+f/F40UTx+N2fxnqSaREdp
xenOi+bILl29lX1U8VMRafirq/SmkL01yYsOxy5hh+PeG85ERxs+Y2/orI3P6HdIvzp/Rn/E8X0v
oTzgbq+A+96bOnbn2sLPtRmcnBSkjLmkyNhmCv/7+enhLz/99O7xYJwurVyyEsEl7o4eLi1dUgvu
ex/nSyuXvFwuMT4gO+HcIy8BDl59nCwtz30ZTl5ZnT7ziB2wzydtfIZPcO6URcNaAIaHUFwXQulE
zSUuqBFr82QwZ0kNoXS2LK08I4dx3F4X08ozccKzUi4O0jIObAHf26K08qyc8AyriueOjYtIv9Po
Z/N34Fjp4zP+Z8Dv7o48NGX90DTEynxeFAsoorS3G/0SnxfPtovpahWkAU9f3BdRVVHxS3xeZJsW
UdJR8et8XhQ2LqJ+nxvPAD4vnvwXUWN01OVzfEa/BXz2uNB1cjoeTkvvv1zIVCigEz2ldSXT4bIJ
TjkV1pVOhcsmODtyuq5sUgh4OTOOz21CuHTajafFg342/0snN/XW+cfGd/JuS7YobXsGd08cVgs6
D0CnRYkzL7YPnrNK3/tWfpreSeyY1fFq+HDhx4OKZeWwGt5ceOwkfuKny9zwbkW/pfjzUD2Whxbz
Z+P7G97lGf8Y/+M1/nHQREc0ckc0wNVQ7PJGjOPoyzPZ/i/D9UydeLEgYHVlsGUl+Trc0dbVfiUL
8I/38XW5XWHhBNkK5RqeUe8Qb4MyPjP3otqGH7arutqtRAsAN1z8fairzUpW4teOSJ4f4m1Xy7S7
dgwcLQrJdqXm29j8ytN5rY7q6bEXZZv818fPnx9ftTSIsrr/ig4vh7s8gLK6f4sR7qa7ILIrqwvI
aLFFuhvw/P4tYkE3X7TxGd7g1XzR5s/wYVIlX8AZ+xPcv8oi3+3CwXAjVrXkt+t4xQXNekic9GAC
ndFC18pVxfsPFzIWIvA4ozuy4Rd3vNcd7bZl9LkyZiVjQWRvjEe0Dc9lLCR4aVaDNj7De6C/8xOO
+TN8xjvuouEZ/ysIWcY76jjLtVGi18wl2ogM55aexGlO0MpcgoZPN7wbI3vMI2pwf8HT4Lgyh7DB
HVCvwtnk7TX6mFPF3KkGDwi3yugMboB4jxlVzupus6rRduW5eeF5+tFq26Xnm2/4Oromzq48T2/A
c+2z3+zK8z3FTE8Hc3bl+fvu5FC08ZnnW9BzHvELzx89941+9H0D3za6pCq8ph7twSTrzi/aGmfR
zVqLWCw6OmfZnnbMaPWLmj/ZY62i/hS96CucZZPWoMEdhxvsalyU0QnrQveo1StzJ6wTDaX3CEQX
VFOdyDHQUlZyGDyegLsFLis9DgFPgHXAczsShB6OqfW+rOxYSGDH+kBHWelxuOygFqgpKzsS4jeM
z/hnYP55uAiy3AG8Ht1sFhHfToRJZtM/f/38+f9+uMf8tWBXd27luvNy494a7OrOsFx3Xj4NceZg
V3eG5bqz82MSbbCrO7/jVljeuXV4fmdaAtw5KuPzO8Pikf6k0c/4l5D+Pthi+VWMgerpqUukDfwW
yOMbHd+hPb/Udg7PwxGk1I3b1ZZ+p2ReuGX2V8Xssy5xwS2z7zD7rV8it8z+yzh+HfD0rq6aLkfU
aeMz+iNmOkZtfE/Gt5A9N2SuuNVlZU3DBOSulRSDNN4DrTPSHcuH9+u3BHaFX6TzXyGHzeXvEur9
8jFCxGaCfZLo8j1AFMdpN2bdLV8zxIrzzxr/2GuIsQa/VGijrLK+55hVdbMk+nm7MdEimFV5syT7
aSu5VGZVHi/JhthptAlmVZ8u9T3Rg/YBygNRpGk8EwezKlGWClapUqbAWzon0ZbeFS0Wy70UZyDh
JGPCyWj+Fdu/zI/0GW/cugPZ8jVWgcdkZYAv7tsMuy9cJof6CMT3OSKr206fEB4U4tllJSYw+KrA
GfEis9M3aySXN87CFrOId1y/tKzDK0NJcFwmGOYELy376ENcP9XM7KWli+usY5HiOKZuu7jMEc0R
nmomo1FAp1CAB30EKC6zLHPA56oF1j3PgpKTtNq8PKlhxKQzYnl1UI0WDrr9ZVheHlQLDN+7Rnl1
0I4GDpqdyOXVOTM6PKdr1LNjZkbmOWV0wvvo8ZTbX3KYyqNVBVJio4VoVVDchfEFuA+rgItPUCG6
98rCMtYlglXYnUrgWcTmCjdpT1fCKt7kr4DRmKfowyrW5iMNloVlsM3A9PuXGGEVbfMBwmUF8+tt
1bcB5al/XbojKUHRxj5toS5dslTRISrDBxYeVcKyk33OXF26pbnrh2yzRgKdQ8SyzSoT6BwKesZp
+MDCN09d1WtMB7Pa9aN6DLBmZf1shihZpxvWrPYOe0UpC/QDOOHcdtsIw0d1eIbHy5ae02a191hh
fi2UixTsY+OLIOlYqsCalfm3RV72JKzg4Z2az6C8iHNLrSgB9LJ/0OaWSpErKkUePrA6a10Fecd3
/t4tDUMuWI84aATQ42ZXjT1pFFAeGijp2wcX3PrI3RVF7hPGHX+xb6HPYeyf3FvuKRhoxorxbKdl
Eg9JXS6vdjp3bbTbH1133skrR8FFuFfqsyHyylFwAeqsKuNzR8El2Kn7w0deeQquIL5qeDb/CldT
/dklrzwFl9HRGrJL+QMr0TF7zA1+R/MXvqJntmgVeNI+S2GeHlbrau/wCS+4ushAXV7UV7DdCp7v
Hf7a+rTFqsuL+mvr1QIjdbX3eZpi6uryol5ctKch1unqauv3EeePTorTnveq5Yjc6nro8OjOJ2H9
MyW3uh7L4kmbH2MSbnU9lsX1Uh5ykZ1bPqkT12OKR+rc6n4tB3a/59zyTV0FfG/W3Op+LDt809in
VAQepPQGDqkZD6laTFutEGGWcpLxGrFzUczyGtSwa0RvVuucr2vYoFR4MEs5LXAN3PsXZrlMFegv
Kv1MzhMsc+9hmeU1sIVr1Bzw1DLJstIPLnbp0SZPD4p26dFGPKUVN3xgdcyz4FMPD+/t+pyHFxj9
8cEuXdKIXSaiOgd61nUwh/7tv1265REvMGSXg+Y08Ltz1z1jDF2BS379bbDVPKaD20lNPKXGhF8W
+bFQpad/DuJX18cps+I11q+uv1PFGkUjflGox8BT2a6I6ckAVmfI0yJJfnV9ncT9fx4F1S8LFV1v
dZ0fakn5qHuXSrBzmWp6RkRSy0jureAy19SKPFvlgdsy0dZGSPPtrfgyz9deacLaFfQyzfh8+ZT0
vK1lpq8Vqbp53MWWadJnSCRdBQTQJHBnw6CzETBxP6iJ+7MjSFgHGzM02emvF8M6rDJtUyQooGGR
K1ipKJZbdjk7L5smEVsXlntQnvbpEVOgPEi4iRmNAjoFi9f4tY+r8IOrDTJ/y/c1lvmZ2WBBcbir
C0KcwqzHSzOPl3ndZpDkIkzbojZkV71OONfhlgFw//IqQzmBXvofMRR4l1KkYAd6b36cVeDpz4Be
FA50+PDJ9nCehOQ9vOlAZtKMg+Pe9RrdQuOsuminusOdSAGK2tx5BpDHB0Gw0YUzAf19a4Pl9Kuj
QbyOFr6PHQaaLt7gAU7Q3YL41cEsYk0aKMfG2zU3eIZzCZg43lK+wbuKMKmHLwraGDg8g4ccaKJ+
G70C6/ZDAug28/oCJB2WgFaB+ZsOrELK0ir0BzEQpWWybhTRkNIT9WGZqxsdHFI75VymSkeLsaDc
cTMSniS1gOGO9IIHnhqoVvg9XJXbQ7dj7W0k5r35driDsvMQZ/W3iqOk7r3ByvEQ+vPURLXxr8Lx
vn9+7HkbmA14VO89yS9VmT0Z3Yqi/bErsXTCAyHeYtH91MMDLZpvA7AOPLaL94R8Y9jau/XiHVH2
2wRCTwFbPFtLwbUvygQ8nUBA6fPK+IGsPspeqgqcCE+p84YR5/KR1bcRRHdcvsBlzwEcNrJT9sjS
2bqQPUeXrnacT8rSBbp0CZhXksL7SMYXs8+a5jkOLyD5GO/yt2LDzG6h4RntZuDs98zsnQ3c2AeE
7MbJBzydQETp1VeQfeBqGbLfYhdlBRNZAuSAuvGwditdv5Og2i62c0RUAE17ycZnUX4hNuF5/7B9
9gnIH7V37z/H9Kfg+EUZn5m+jOKrLR4j3wA8FZV8JjxoO5NR5Z+ZPwPLl40yfyZ9FU1/UFY/kdGx
XU6pqvlgy9c1G5LPuJ3w4Ny8HWtrJI8+OZgBN+/G2hxQvIzcm48dROS7P3/99ceHl7NPVT7cyvbH
96NC++cP//rHP9/9j+//9B9/uJGcj6a406iYT90D+EtzMmuJ27BXRHIXANE29AAHAk4wsDAZmbXU
bdiIodArcTHvjYgPfvz5/s/AiUDbeCbRQvRseyQomp6oGrjrHZdjD2aZ4aL9rEPf5QAHNrLFrnXi
HJjnC7gHpIqRSXZO7Ls7MhJkgPw48QBhR2aCTFpS+DHVdC7dv/3lhz/+9Y//4w93f/zzP//xz3/8
6/8NC5lma7FnJCUROTPY/uoABwLOWN3F9liSCpWC9mhGYB3BxqF8EXC0EI6KVEsx32NYd7MO3/9f
inVwnJVOC3oLLOOkh2JfnVA7zkkjI6e9YXGckxawLoBxsCc7xihFXhwzdjPtroBXq9AFkk/PuDve
WwhTdHZiGaZwGYZ3tih4EmRxeJUfBjjBeqygXLwyc0K67zY4NNrxZrT/8C/fzzU/Tk342TZJnsGR
uXFqR3esh46B0fVYcvbMFvzHNGCJ85Yv32Mz3zV2iu+I4ltpvm2JaIQ9QXY1FDIiA0GK5DDXa/X7
MYEgI2R0e7H8Tqwx8bF282quKPr+mFdKsJtLcMN2PcFSjyXRexNhXDOMGwi2ayaWxNytmLtd+IgO
492o/XbhnLoIBeCzE0REQUS7iDXzbNTzfe35bgX2yAOd5+hq8dFPGdGRjF2hRkv0I9oTdIY84BhG
dCDoAvO21oxwS+BRvhZKCjgRruFbH9GmMR/Xge2Pl/c7b8DafraZaxOZY1mgqzdYxHD0dDDMofbY
Vdz3eDddrAN/vfncH+0n7QOUgICucdVmwBxzDw1GvToDio8wg6h+gDr3GQgA3z5wO1lmRSJzO8vE
OdYGvCt0PTYRbMQ7VtNjiX22Di5Y40AzsbEWL2dROXcwMe7WQnmInmi2LVSoc1gHkjMZNcGNbs6X
3x4UR1VtZJePyy1idq63C9sWULO0HJffJZ/9/vPjPx4+wRC73zXXlubgBbxOBSa2L/jFFzBR1Jra
f2Ku8e0DBdxbjQS7+MJ1C7mHJZI+CfYF3GdRiNsXwuIL3b20hRVz2op1z7PzLRtiYuH3MEoOkBEG
O/Etm4LgS8DSjVXBuzTH1wjxo868HuOTEFLxMH6yGj4TfIIwUtLm70lGm+lKVyYFb0gYKzvICOw2
WLeHPU0gGW0Wxs8a/wyZf8YQXHHa/ElGoLmqX7owW/9K1r9gRqEqf4WsX8b118b3hoxfcXwVTzIK
jcUwpCq/ZP3Ltf578oPRBMgTATAeJlCNtgCEgOogpVIXQMYAwcDcHQRuDCAB5GKA/qgJgCMCUEVK
bdHG91yBTAb6s0a/IfRnLP8aVQEgClBQAUrQ6GcKGMCAjgbA0vXzSYzvNAUI1IAFaxYbgOUGMGFK
sC4/RIEzKnCKGp7Mv6ABtU4VAPKBbGEH7ZzOkwPsCiXDDHqP5xABpoJY/Fm1oY6wsFQUYc2EGKKC
Oc/vj24iFIkIufk10A3PVKDg+Or8iQ9TA4qQZoIdkYAqRChOTLAhJiB3e6C2BzsiQNWACQ+aChAT
6LMHCVbX3xEfoibcg1UfhPiAOYIPlFQTznywBFn9ug9Ixi8R+R+0+RP+VY8mrHYn9FnGVDsAQjbz
JnvHna+/++evTx/fHp+f7n7/8NPj0+P2x8O79+2pAkl896IoQ7mMit1uTn738nD/9n5UuAb4y4//
+fDx7XyhsB2TN7M17xISRU+vvYXNybITGlmLkihbpGz3NVmgWYrfBg75aufVrroKousH2h8llKtD
iTwwCMrJvGVrmSx2mwOdWW+UULEzzM1XPZNC59Dor6YwVSG6zlJLdrALEnzz8A5w4jSLhfZCN86R
Cc2yb1nqZOR9nQodt+CETTds4qsUYWRfEF0JzR6Fy7lxYDJl2TqoiNPkMeXAlink+RqfYs0YFoDy
WkcRiUREBMfc/l63k02izd5KuoeBI5VN2e0ojEvFTUFNoI23w5eYcyZzFqL9PoXaDR350AFMWPKS
X9QARVclv6zzg5CQcVPtrF+nGRxdsZWid52McQlLQLfpuZ3prC2gfQcufL8woM9ZWWeilM4h3aNS
kklnA/xObgB7ArbdYrlhsZjp9cCx3ubztSog21dYQbCMiaiVe2RMUriJ3fWd9bQRuZWp/SvI6tiB
+a6eChiwWMb5EsId+gS90S9cvgzqcxyHLgRdwOr70Xqy/cYwpbJMpSI6Mp10eW5GrmH347e1wzoz
lSogXHEwu0wnkGzNEiTCa7BBMXc2m/lfuMY2DBNmHmuWE75KtFzuLuNWQnAaDCdzwSzsrsEP9p45
yhHWqY7mnklmRvkyODJf5Yy+jDV5kE4mI+CPhDSMzJYKbG7srSZxZETbxT0IY4aTAVOogscpMLiB
S2ac7m6z7M2Gm+rCubrMwS7oeHXWlm1M4PzEUY/YdlpBIMcNkQlzptNN3HfxUzNrF75LKJ0PYMqg
wOycje5xMePOxOjGc/YVWTzh/y9rb97kOpLcCX4iliEOXH9Kas2oZ/uQdUkzs3/IypAkMhNdTJLN
472XbabvvuEeAYQHGO6BrN6d1eu6EIzD7+PnlfDLKQ+adkWSkkOQ+JvKLH2Uhv3JELPQacxiUQ2S
jYefzmkQbOGkeUQj9ewpEr+dv4wBYPhVXQiyRJgfrPsjX1rhs54AM9BGM7ZS239G8XSqxKgT9EDY
aJXeLPlFGUDBELjYnmrrEniEIXC/XUJ7ku4Ij1nR30zOqWS4BkOAOGk2yUj+SXiUPsFLUhV5zUa+
I4KT0VHh4jGGJOIjcy4oQq4RbKjwkwTFVyUqUophhR+tEyDmZvWpeEkpMJYlG+6lV0mOWZP31PJW
CVxyTw1zqY1YkZ6WHB3wLaiKVARk9toWBEkiDBqVSCDpF9tU7Ok2+VLksT6RCLVKuFO82GSzJAgB
ylAigBX8tE1pp5Y+bVmp18jHbK3wJOKHDT1l36WSXZQjcbP465pIA+mQBLBmLQo6SeKxcoD3AMOt
2gS62JpU+Ihn7JNPm5WYlcinS/jSdumPivutEuFDdWZXeMye3hHlLz6aEW5XJwdNiL2WebNP5wi1
VcKbooROlFjdJ6JLZGqTioM6dAH+/uNyHD/G033wSaFpeDudb/dpH5GlLFQC6l9+p36qxdEzXZyb
g48wa3XrPhWnxrTkw7THHUcCyR93ceQMBlwjvZV+tU2226dW8O90xQke/3UclINYtGHP3U/utJop
J8UPAzLNAmxHho/AVQPopPpJnvEzpwZ1RHBaFwK6A1TSCk1yabPADbsXPpxnj4SpdnN7XvdTB9sW
PmzIntOx2fjG0l5Vcto5kYx7FX+yjoOYkvHV3U8N3rHwZZecsk0/FMYnNeQnUfoqwgSNTMfkZquY
swhP0gibJW9J4PPCZqX7iZyDY5/aDAdIZ+0TriUFBgkdC6zQ18mR18F/3IBw8HZ1Y2T7hZO38cr8
15EHlf9p8fOuSSjSNM/bFk7dVll6VsqjZYmE2dTJnederBV+2bAC2sqSPd2yyfystOk22XSkbCRQ
4aaayPk1DPetV0UYNb4TW8bjaYzMgrNJGc6sWyTRU6Uk3ieiR/hV2ydj1GbeCMwsqJW6TmSWzXBE
JzywTZRSFAX4swJl1KkujAxBflcS7qnmX5Ly7meFH+1sImV7kxcg0uOmEqC3qQSQlH+dUHSb6jGJ
mHVCEovzuHCvdE1NXmJ6/pN222fpcG2bSdqlzYss/9OClO9UKjPUs6SUfrZOtD5pBFCV02lFG63v
E2OpbvIkIuy/tysdk760pN9scvI2tfAk60GlCrlJPhR+sY7ymeZmvekgiWeT2s8UHcTdDwor/oK6
J+kMX//nadqfD76HPfz1L3VVeaeg9XgFVhxgrNoUgTpcQyumXf3oYZ0dvRx+Vcm/SnAEW+y1MeTr
+id56LKJiHs416s19Gugd+lrHTG3TZJWC+TaSYiqvSUDn1V8/tYjGjTyjaV3ndwY7lr4VsffBYnc
t0+bFj42fQL4OJeBhcvW4oRp3SXfKt2sX0r64Ygii5lj2z/9tHRmgqyIFWVWk9u2hdtWVYKNPttR
rS9kKLxUn7xy16533Qtnjpi7Vq8uG7lRuGzVJXjqrVrzlHTeSNdoCTb1etOdsOnIkAhdVCWkaYU3
MtkB6K1vZZc5sVohZ1ryo1y/pv/RSFY1iI9Gm/VZW+Gs8aIwPqApVekSZXTJeXubnLcgMU1y3lav
X1eijPSejX3io0o4cQr4ak1y0RIHxg8RUrytq/WeG2HPBEMa6KtOiEqSOTphIYIn5k6pwZT6J/mX
LZmr0MTe83hbEnERKY0bsWpN09IbxzP3KxGPPyxs2lTJK80eWLxqgQ1VfCiQuX29JkuJDW0idEgb
DaqWRtSHpktuWjfPTyWf2mp6YSoxBFBcSiIvFSCmWn8r3VifEGfzpJgkoRe/ndGCVzcm6cQ24eQ2
NeV+sWqj+Yb6rVUEeIxMEJHtNw8u0NfpSOyNBpz/3Yp87EN43TYLzn9OIM8aMP7bTm8z4cKpbYLV
Vm99AP81AWvD+nhVbxMPYevkxjH/qtptOi/ceh7srWRAhluvkjnqSwlwyYQMtxbhLEBrdmajDRlu
TZNzJ2pTtiLDramUTjdakeHjCEVSW6wPVdvMyHDueOU9elNqmxkZ7tyk5453LhuS4WudMBnikW0x
JcPBIwQKjDNvm222ZDh2vHLfndhssybDxiOLYWy/shtMwvDDcdeKUd88IKintTqZVD+3y4iWYfht
QioIZqrabaZhuPB46pZAiJVMw3BligLetNU20zCIhSZ5rK22YfjhJmUutdE4DGduExKt6w3WYbjs
lkhxPHK7wcQL38YnpnjjJW8lbJl8nAJ9lA3EQGE2QdapNsYAwscmUSBds80oDo/VJY/Vqm0mYji4
SRij22gjhl+OzwUM1rTbjMRAoCmVPGVEm8KVqZSj621mXth4FOCgu/tmm50XCI1IYEPZUjb0wn3H
j8FkiTa5Kuvbpu8SbT2PW58tPa26bZYezuCtCfIZmegkG3r4pbUJ6plKmFQw9PzPko91RUqUSnYe
ft0SqLjOR7f7jbE6/L4xCXhRYzeyKX7cVQleW99uk+X+2FWCM9eabVaav+8+Qbiz7TYbzR9YL982
hNKLJpq/7T65rQWctGSh+V/u0hnZGxWQvy0yX7vJ+VLSiQmJoHlbV9t4zN91m/wyMeVl085vWycP
VZtthp3/lsAYalLbXbLr/ENFsjak/bBkDPtvyV2H6oVnn1l650jZOMWq3mYU+kPHfWPkrO63KW2/
cZ1QZ9d9wSr0/KwTnrQbDTv/4/G54NW7epvL5mmsS/nZbLPr/LcpZzzHgxjLzG/aJgduqm362v9w
OnI+sTI4w8zTR/xR7BNRzRdsK/9OKWuYapt37X898jOGJ0y/zbTy5NkmP9zYbZaVv+sqEX9WbTOs
/O82CUutslHCh02dyly10aTyO+5Woq/bZlL5Lacf626bReV3rRK9+mzASt8SFUWLW0qBG39i8r7K
y2tqT9VbI2dotluCPGO2Bs7wS53CTj0naYRfNRSzDDmt3mZO4ddNRJupwbSqe7XNmPInjlgpVj2F
YORva4J15/GyNiY+/al1ArTVbLSI/K4JQosnV7XRJvJXZhOAHqO2mUT+0Cb5Nk19CjaRP3OK7NNU
22wi/8MEVQg9kK2JT//L9MacHNXbzBr/rU1eainEKJk1ftvxyFj6XG8za/w7RSAj3IStq21GjScS
k8AIbQ51+TMTDCPkT7PRrPGHjhztA14bs4n+pwmFGTKrQgx0+Z+l9wV/WLvNHPJfxyNj4KnqttlD
ftMr3MNmmz3kZecK8m5rpMrvmoCVNat8MadnPXl0qRCotxkV/tsq+dG22mBI+Q8jYaDNTvBNy4aU
54kmYUaz1fv1H6fIcOtgfyNLTZ3CYm2MUflXSmFdu42WlCet+MJw74mi4EKR/rLJhxgtb802Y9lT
ZZ8AIa6jgY180SYRt0mZctGx8Su0KY5jtc2Q8wePzGhaWo8gG3L+W5tIn62RMf/KNjWCmm1Ou3/l
FW6kTe04ozfacbCMqQjsdEtjg8VhKl0chqIwbVDX2yw5/LonX2PWwPbbLDnctY4402hPd2Zj/tOf
uUtmB5PWEpm3/U/HC8uLYOGHFfkWo4Gm2abt/JXVyfQa024zIf23NjmysmabDenvKyJqd0zJn3Rh
EZYcTf9qY+LT3xiBA69i+XTJJvI/HCfuNOij1M02I9L/ciSxEFjbGBvz951OGrIbq+f8t+TCnvhK
MCL9oeOcINvH1E7JDPTvHC/bJj6dbAX6TUeeAsfsueSvE646yoJaJ5jvZQ3gDx0X0GQwiWgG+l8m
JAJGXVN328xA/3U8M4YkzcawmL8wk047bLeZgf7bdBjU1mCzf+Qqmbve1xtNSH/Rcf5W3awS6pwJ
6a+qSmjabqll89uNT4uGSf8FK9BvuUsnvdutuUr/dVu4aeGXK51QZbOxmM3fV5sIzefiIuGuK5Xc
dd1vsAL9j8YPOwjo9dpuswI9UapkcgMdHCibgf6iU0GvjNpmxfkTm8SIaTcWsvlvibRtknIk2Yzz
m0xHbtiNuRd/XzodJmdCs/Jfxjf3n94iZC10ocCb/4Ut3VAkyzsjGizoTe5TaBX6i/7JiCgDDW3Y
pgAFyQK9tIMqhSnI7sBIOyAd+STqni6gpAX0CokkuwUJSacleAIJJl2yQiPtoU3a9BdM72QBLS1g
klsggzGADnAF4Q7mhP2MrKNzP2+ln6/TO1T2+fclOlRk+10SlQ+fG3n7Nrm+Pj29Kv16RW5fJ1NR
ll8XN18nJLyACkJzsv3lL9LGORyl5OJb6eK79Lf1+uTyxVVdcnL7dHHix3WK89A+37r4eZNg6pg8
44or6GSFZffh4sUnt8m91U8EJ5KbSuklyy6d9Gqp2KUjTcPVWennU5FZ9+u9ix83CatADTBqkO/j
y3Ddv0/ffGfbfbzdd9Pp8rjvbtc9q5DqrkttNL+X/e22uwxv4+76OI67/XW4vQtLqMS4DCrkeB4O
83wl3Ez4B7uwS67YW6umS6rMg7ucW2N3e7y4r8+P637cnR7H4+5j+hhxvhO/Oikl75Yw3cfklK9b
+DDcB+Fb0pxRLW1KH8N0yu9CuDm/nk3arYKB/G06jGf3drv4pMISsay+g2qBPpTa/nX4Ntz21+ly
3z2ux930eh0+yvuJDTNogPq7OSPavfBV7CjQ3fL++2H/Pu7GH5fpOh7oQwkL6bS3KQzx8qT88VYg
5DahwpA7wm/x7LfxLnwcTToIDgaHED++Dy+OBV6G/a9v1/PjdOAXobZdHC2Dixwel+O0H+6OocIt
3ITN1Ik335HNHKfTr7v36/gqfJ26xcEsnt5O56ujznOgiel15/8KiH48wRmFk3XEqYno3cPhDCud
3KYcJ94/3RLuBw5jiW5xyZZ6aKiz63hMED/Tx+V8lZ6MBLfiICD8/MfH0e/n9j66V//BvVdcwWct
a3Ks4X6/Ti+P+3Kyl/Phc9vJiHsAPpEJKJSzzBo/LvdPT5O7w/lDWKhP6Kkm9ISb2UKTnUlpso9r
eLbmJZ6/oyqN0pBHuh+2cYVJvCUdQv3zbXyf7u+7x2k8QRj7ALJKOEwaxagJiweyFiUE9VWj9Gae
ezsh02CBx/P0Ymt/Pt3H0/11Ot7HZdLgy/G8/3U3vLp/5I7uVMVtPB2cUPjbw52CGwTdKzJ6Gqpk
QzRVXGx3fx9Pu+F4PH9394v/Kbf+DDSFA6o1onx4xXY+TK+fy4Lc28AO6XBs7E3vn3YIM1kcQx52
w+EgqlrYURx8rXpcVG1a7yuHJlO5sZsv5HP9x198oZbeoEcueFrMbVM88wzdg2uAqRcadOmZ3ReX
8+k2+nMextNn8Zht+SbnVdk1OrIGCs32aY3S6ej4dJz8GlDJcmt85RWruKxvne2+QCibLtDGX4Dk
nw5eCv8s2zbekDut83fK8PSWXffVmpjsE0GWnr3tCIc0eQ75ClO37ZrjmgIJbHoflbnI4MMY/O9v
jwuYEjfQtrvhMrHdB4o0YZmIAffwOdbdy3SYnLlzOx/BkLsMV+bqPCxylUwCV7mlwkrD+3A9n4Sl
aE8aEQxOwRxwytXgv/tu9vi/g9OD85ErZpAdxskiuEryHsn3FYvqQkERUV4HQzX5XLH4LAQijf91
rfnd0+9rQp30e8Pufn5rD5+F9dUq8/uK/32CSAXhwxmOJf2e//2KgtvVsRk43T//+8quz99nrp8F
mSP4Q4lMTz9n8bwotg6KstzjM0P84HO74dd1yx++IuhJ3inP7J4lHgoS2fdRKaZ3z9OeIrSHRm1w
XtLvec5ThPMQpCYUwKXb73na0ev9V5nbZ+HUesr4Bk22zO13/PYpDJR/wsz2WdKnwHWJXkl+vuZP
35HvMZqTOb3mb0/p9fFzkqfhf59Ad3l5nHs9/voqen0d83ra8t+T+/MANpnrr9jvCaysIPZ5waE2
8I7iWbeqNnzPI7x27Zbds2KTAFxqD+OVkZoVu3sCy6c9VlJG6Fe81KRnRyZsQvQWIh7fhuuEwabD
Mr+SNwqSHnkbloKwKwRjXq7j8Ct+Fv92dzyfnYX6Phxfd78OJ9bn14YGe5C+60DgT4tdrm6nP/hY
ljbEOa7g7k0Vyu/JWqfz9WM47i7n211ezVqyM6hxd3/269VuzpHfu+eAqMTuY7j+yq9Xk/WUB84K
ftvz7sr3Zkl0okGN3AS5+ry78llr8gqh4cJ0zGrvnxdnLQv3RkKCWBrh/uTurfikNYnnIC6c+9Pk
yWNyFj2CbxfewdRkfygTbPVEJcPjft5wb7QqyHhyZk66dXc1SW9UnQ9uVNndlWmElMVhOaMJmeZn
ettCv5ZUMZga37XJ72w/ntxp+RCvppUYNBybYdMSgVgSvraYDLeqYRbb+gbWEN7CRqhG50/q/LPR
uWYgRwUiaSlzRfvtmYK3rGaIGMH5LwBmn1+v+A5GUeGLbolR+bVKXG/InVm0Mu0zo868sOWcNaky
xAmo7s+WUQxFPjWEdrHhCKrvGSop3xrNedSh74E5anExS4gDy28BrDUvjYrqj6gERBvTDF1s4XZD
MrU42M/9yR1yg7Yiq2GhnvvT5jlqI49quqIX5RzXb6E2GxWgxSol9yernEsKkHBVAwpMY82nT7aO
38Fu213GK5AGJL2P4+nt/u7HROT+/bfxep/27neH4/R2YnP1ltRXaI+BqP6r8Js7t+xeWDEWLuhY
sSGt51aY/j4KK5I6ioogxkP0bCct/O1j+LEbXm7n4+POr5/M7vJ2ardx/e9bVo/FENqjPdZbdz+d
tqxPa9NIlFZaejidT58f58dtx8ct/dXTMhDsWOTJY/qAP8WnpBO5UMNp3W9/SmFZQ6hYxQzet/cS
cdHpRyFO0mzc0buwKCnewSROt3XR78KiLSEkdOz0tkXfxvvPkDHklyZjg0DPhd6RTRQq7JeKFpIS
3HCzW8i++jrZh3+ENLrbv0/Hg0D5dDIfQXiTBdnRaaFv4+71HH5FWJ+MBMKIR8wI7D7Oh9t43JlG
8K1XiIFeYvlErtcK4+sr5M5frtPb+/003m78YjZFnwqWpl/MHeoyTKc7j4e0AtIL7kL4+bfr8Hlz
CsPZgt/5DdQqwXLS9DTuoYYTlHkV9qG6CB6Glp9KT/Emxip6k8A3Bis0HMLZUM4cO+0h7HEc71KN
Ei7WkMBHnP0VFjtfhv10/5Tvo00yM2GB9EE8Ae+Ow6d7ceFgKRpo6HV/Otj4wy19Go7CoQg2p1kv
tD9/vDiT5yDQWAr9F4Lh4XNna02DeCNtigwanJf36XCZduFeptvOGYC3x8vFGbwYq5HjU5ogtrUg
Ads+uefh5DQaGpXSxrqKYFguNV1+ifEQSo+EPbQp5fsdvD+Q4EWS1QQHEn/d//J1/DiDBNrIvARD
M8QiLH2Yl+Pjyp/d9CmEpnl6U+FBU3rQc8r/cZ33jsWdt/31jBnm46uQfWwpQGMqPeIrvl7PH84a
F15DtT1BmVz6teb9XM9O5jvOdcR+cbrp4OtwBNIgq0HbSt312Z0JKxiywgIA+cS8sCGgdmEvTSQW
Ezu/56ca7g/nP0kXYxLoz+CGoRjcJWJaIBabCiKVyo/T3S0mSHdLGAXfPOSXw8kPu8PjimW35Vsl
mIVQ0NIm9PJVKaK6uLE02p8SHkbLnT/2bTg+xpuvKdufj+erc1mdQ/xDoG6KqAnqObhUK3Vwex8O
5+9eH0jGTRXMsYXrTfSD1xom3u7rcDxCKV1J9RG8UxwaVa/lGVlUkEppZYKt8hz94T4SSiU6nYjm
EG554p4r1N16Xt6o31tyfc2CHplZGETxYffdPcbo7MUTlp/I1bWeWTtijHQR2ThcwMdwc+9wnC67
8/UwCvK5I+vgyA7T5ncqKbimThBsw2E9608nR84TXxLp2S1FsVX5ZxBuW6VCueWNwy3EFfCZFjtR
J3dycEI+sJJgnqXGd8CVgPzYbNwhe29ay1D8VVLiG/bjbtjpHNlYrBMTwiZKy1fyjn7KaImuuyY1
RkzWojgdsFZU4N4uYQ/d8+JKEFE6VVidZB8IwrNLTHEtSRLZzlOJKg6V8/jd5Tjfzm3mCFkDaYJd
CzFEa3PaWLaHdcJU6bkE+S1I7jYBbjZ1XlSgyAE5JsqMJmfsJ+ZCvPttQsTk7OTb9BEvfwtp6hQ7
3TYM74uns12yyGJ4z1cUtvO4HOAV3Qlj5XbBSNKkui+pO/FX9/59d4P/f7rvBS4mIOuSK4vFjIJU
ofMMdKzgOL++Op4bx9NC8h9OPlw/d4/bIJ4s7gpcpk4LNsz1fB9E+4Agsj+LcC8yhZPFO37yrTPe
gsyGqblju9ypZCeqj+rItEtBZ4YkT+Objy5dh8P0kMI5xC3zVY/t2qcTD2W6nKWONhx+iyas8DjU
K0RgyDn8yXl3l8GR5F04EZmXgPGQquAHycKpSlDHUwJAxT1r8eF08Ja0W144r02twUYWnMLG2iTC
UicLxTieLJt0KnmbtZvkNnR060kGksmGr6DsebOgVWTgAgqhRMO9P8bA4wKX2kTgq2y4Sb4KmxCN
zjvzUCMN6ixoIYFPI9lA7KJrcv6rvKEmjdl6rnRPigraS1NBgJIbrRafKPla+NgkePdNnZW+csSG
wN7bOGeWuU9hGRLrxUKdusvThmz0mlRG6aCDwcW8QUvngN6WcCOR2SD8HSwBKgXcg55ur+frh8D6
dfImqaU7X4lwFakRF6oowLO7AEk6q/v6Cn0MQUzirnxYwlnk2BUZQsqnIEIFfuzXhkWfBipnEYEd
EuNt71h8EKP+TSIkLOtcn4YPKS5FzYw+urrr9IFACZoG/5RmhOb+OHxcSnarrYQYVWYxYaU0o2GL
VkbZA2kjxcKZm37TksJ6XeJXN5VgkSFNSjqj73N+1m8hZUEvVXlaub2fH0doh4Sikm9jQsoYDhP8
gSo15ZtMpkYgvS4hvUrKGQksQGRzpUPy2ptLPmTkO4S+vYVuHHjkw/g6uEW4hqPZQPYdYdg+Yv9r
WRLyi6Pvz/U5pNgj60OS3LLzC3gDkRRGkwXIL/iCAB/kPHw6OTDt2ZUVbXUkrTJkOS/idudX6tfi
vwdDYLgJb93F/JW/kiV/Rbe73O7rcXi77YYLhOx2t7s7HJASNsv+uO/mZ2F/ydJOy8VaJb8Ugr8x
dL3I212gZaRj+TxtPA8Bp8ue5/64nty9vWIaZYeMLfNGF81kfOt2MWvJ+sH5LoTcuijkfWNlvJAs
0ZB/enYCdzo5QgXL2f3PD7aTkDYq6lhoLpGl4yeeGON66CG0wmq+TOweXss9pdMNVz7808W+u9iJ
rPT6bjG6O+z3TnTA4oeF6Dzt3KaXo/ubG0+CtLeyiv14IEX8z4BEdltmV6B3GgX6eotXEHW5ffI7
I022fs5nL9yu0xa32+swvxq7akWYO8xMXZ13/LE/Pm7Ss5AuWgwx2dUKt/MroFs4G4AXu1UqY7wM
i4w4t1POUotP03RRQfvVfL1hSWZ5Tj89CS32N+om3XG9/oXBqbDb3UnwRZfLYkPTDtrFMM9umdLN
YiC8T4fDyD+SJctHrPDijTjZV6TM2uSkVDCEAjLC8jPLssvvse08NWmoIYluYSlnygR7iF2UNCc2
S/nP0zWM2wihiVADOuBWGGKCEHshJBJ4A6FZd6Kv+TDkJ0F4XIb7O8+N6UMH1yquc3Hc7LlRIMa+
SzRx4Me4iK/N5T+vExUYmIOcBX+eJ1YKOaGXCUPruxB89y4m8XARk+PQSDZbmaimPIrdhUmwPy+K
79NRUPEEGQIBJ5/Yft4bbyRE9jMRmTg1e73JwYtfw3Xvf9EoUvzVdb/JlBnud8CawiQc1OOzF9kb
DqUkY7jzbGjWgANdfpVogxYWrAkRkm6UNS3jX/OkTGwKHJO93ewpbI/yOTYxNKvtHYbrrwJHEOgP
EvLMP2vwvYQweEd657sQX6pXpoAUJ+tiKRIeqS7saMlCkn8t1AWiidumPspaNB2mVykx38XipMVC
lGxupDYMqAUvrmDOES6gLbAr8Y+PKkj/NrnC2VYo8epc8kMqfFlupYJUx7rz4m84q2Ic7qDn/V+x
P9DlJTXjiwg+jTYcQNPKoeMpMhq3kKiq682m13Zr1Ka6TpB90ZbeHLxQ67tstgUveCayyY3YapOQ
/cKOLQe3lKEp/uUpNNJigK4lNxQV8awehRFoguennx2audDEe5feXyDnD35rEuXYFq3rYgx7seae
bH+qOdBPXgTjmgJ5waiJBduWFDw8b0GSUaLrs74+58OVHZY64RbzHDGTMhBdzDjiCv2ipCQzkJcO
bRozYRwz9zKw5mVneBevST1IKfqCRmlJ12ka+TMEHiu75Nv0GmKWmn/VjsTeIPj2HONjoomnjHO+
IWgSf8+o3EvzhtPh/HgRhLrp84ETxvQJVkHQ3zvIjg0CM1WEKPR2DRy8Qw/XJcX9CAOgvtCidnSr
Hec4ndO8xVvXKnH/VJ+N49JbD/KNZxIa/OKZRIhewMblkEMXc2KbjEfyT31flCPKYWLX7inBYF1Q
k70WkI38PZg8FqGs6WG1LyhPvUYV1FnFJ2V5upj3X+6ylbTOnKPY6Ijr+iv5FNi5fGatEy+800UD
R9Zeqk70vpXWKyob1ScRHfNkRBTEeKMTdWerohBcMvibAtNUU3cRsonRElCEhSW1soVYJQq2fiLz
UI4jMXNDhD9R87Ly4kUyMeW6pe4hMoVXfS9O7vDWYJULzW2VLt8EC69aZ0aqriQhQ3Xyb9OrdRqv
N3kJIZQqd7GgBZm4WnpjyJZRbs2WsS+e5KmQer40x73sKdi0n7vheHkf+F2Z1IpaZzPeh+tBzmYo
inDr/q9h7ctNRVRd7CVY7E1TMBJ5C8zWyfGsJDcRrPNxnVCAFsz1Ou9xrfnjcD4IqxC8T1QZ5gtx
rsFdIS8DTTYqLsQ3T1/L+RJSbpaCpI0hHX8zUDNZuGOipCrMjz9l2mQe6VfpZLVFThcUnU5l7G+M
G/P0WvfJzT7Fs2au5g9tUxfAZMLjKffwYXJqhXYR8oXnQz4ebtNt1VVJRvC0RwKmsZ218KrzX/AP
GykaXJ26/4IHEtDRRQ+E5Iwz3TuMHRf0FG8e12nsuN2oBH+DAlRJtOPZplpMKKHZtYtNWutyAdFS
LJKEipYPzowMwzaQlT3IAdYH7LBAAFiBVm9zMzzmSChGAij5k7VWVgu71FxEaoI47tYL8UmznhRJ
mzAe0jztQ3q/Pt6QP8siFcgKxX6kPlrmfhUCVUtvl48N9wT/2Xg6ej6Ju0bpHMFxQevHxPLB+P3i
UYkNuT1BtQ5XAmkJlJQz9mWhB46UWSNOR1Auh0nMfcOnpPU1OLWhQhPAQF5H6OqCcqE7qItbuU6a
wGqgwPe26WxpIU7I6f4uN/oq0mimzLLIr2tPGk3z6ke1e/m4CDtqk+rYYL3h8b6PYEmSeOsIXs1Z
AqYgbRNE5QK21MOrnu9nZ6HegJmFayJda4QDIZg9F04upQaI6QVmyvXEuZk96aAwa4iiZZ1QkObb
cEh52q6qKp4siajwMFDNatn9dN27q/sYrr7q7Qe71tzhZZKIPrYFh8RSyDo/7mfNrtLEVTyGXEDQ
wXVAmp7OMALmDYj+97wQa+nBiMcSD1aK5PWkN8IEdDtdV6tVxAKCniCMmCWUub7hy/n4+eaU5vht
PJ0P/JEsOZL3DVV6M2GUC/79/cyDSvQEIMQsGYD1/cRS4cdtvP7sKH788+k/b/ySNdFgCMBoWoEC
FE8BRP+0OLmtEUmdPKRI64YeWcXQ2/r+Lm6t4vWRV/U1Ha34FhdBy3RES9UewXZ1XhQRPF0YwndI
I2vRIKNP9ATNAYc4xj7i1Wmwfr90GkIFFnuszBMVgPgcZ0OWp4Oo/8PY1yrPOTxFqjzvLefaIkiI
4E16X6OELBjkPcGkMavSAe6G2bxnTxAkzEqlL4uFyWJbTkdeyxe4t2sxcD7fI4TYC/Avr6XqhpAi
AWjn2MJtbrryFQI9Ab8xASgzOezx8TGdoBZUdrl60jkM1AQy2dg2t45E2k0UIH482eqqxqP7S0FA
2icBZPOCTaIkTVQSzS4965MFE+5xmu7Cm1VrUdYzYjsIWv5+iNnfoJFrs68fX71I6m23en1DdN5i
13n0Gn5fmrwbIsnVcZGX4TY2lr8donRrRCpTojIiwoBF0+9J55tZVdQ9GV5bzBQTaQKN8v4L+pLf
olEr/0tXazHjIRK2yBmiL7E3XreMVigRWUuZUIWpcYzhcn51btqvPrD571xZb0+69YLLqyWTs+A9
t836pB3DTi88Tk5P0CrQDAIp33aM7Snl83rSclyktUXMF61a0xJB7+kkv+QGiWaI/RIbk57vq2gv
UFb1swTiSiGvSOGu5JmuSxudSep6VupC0lwNjT5gVHjFP6F9cRP/KMF+CLcEpsP+fOFDTA1R9qCp
dd09sQ40VQgmPnHxPIJsLZnQshVDqJJOBFmTEE83Xepvdlkj6CtCivJJR6BsN8l6wcmmG+0J5CxZ
9wfk8y6IyxI2LlOnIaGpWOb6bAQ4g/Lv4/XMywZC5QZxWdavIDQC9KSl2Kxm6jxvpVC42hOMELO0
evWccOdp1BYNdi+aNtntNokggmxC1AnnwO6PgD//cnVK64b5JZ9weh9vAohan8KWabuEl8J/Pefd
t8A59nG9OcIZ4oKUTLlPiSL1llto3T6OPzwyrfvPoTNtV7d1p3ZsxKZrc2GftBLBHeJ8YXdCnWkc
2DKD5M54xcC8ez+vj11DpdI6JDcdX4U7Za9B512W/XDfv+8OE8wU37187lj2plJDxWj742Xa717G
v08zcMNircJr04Avu3CfRJ9DX8IGCP2ehFjNCpZ7yZzcfBLlyMGd9LFb4JmVIMwLD+y2MT80T2dE
LdNxgfi6H+fTGe0+9l2JdxIxlWTTiSrLenmRt/H+L4GnEHd8DmmWxVL3LATgJnHiFD4mf4FR45Lu
Ibx4X8yPVMAHQ6uWhEBiJci6xVlUtD3xNFoEKu4DRksAbipY3D0xzzoPYBnQe4Cx3288/dZJGiow
tb82DwC4dx6zcHnk2k0fG02d7QUTFMbr9cwHzPuVfqwk2WbYlyeaO9Za5ldh1+iTNazO0gDPyFRM
L4Lt7+fzhxcr4wf/KbH3uvgAq1/mfd+qT/jINuTdr28v7LtTqbFgsBDBw0On9LHYxQtkAqE/Uz1K
zzBAhrXlepoCBfHXtDMUz/xojfNBG/b7Jpf58/N20cIMjerBrzg/7kKElgQyNcQi5rgIHKVAxiQ+
B17cc4l4bAsSMnewB8bOi9TAM6KK8pSAEpXERio0505Z/4iehXkSqNJ4Bhmv8z6yxWH9MiZw5voZ
RO3Me400XB1hCXGb06vTs2LUvFIJpdfLOI0zy5Q0oBWxmbxQDGablFzsyQBDk0CGrNna8N+v/Cad
GlvsTZGfNUsy3StR9j1UEjGt+ydOZr8k91TjSED/e9PHm7zLJ5MljLDAqdPeaCrgthOYZ/CSAypZ
dgD1y3Bj0GM8vBWFrCN1OEse2o/Z/hE+T6Zs6J9+MOhAFJwqYhnQj5XuX7jPLYEYw0hC8/y5Hdkf
J1hUpICTft303MeGQPBiId/zx6re8z9tUsRm1T9/bgx/cIJYTl1meukd++NtOsZDd5lbs+xPrzD2
MremTM1vvMtBBtKvrXBtBM6NFGcmv93ZV+7zelWrQcdEhc/bhr1zo1Nazb54wx68WV3bM6V3LJsY
ihcaYRKSWzPspXUpUGTIYdKP+4o/tV3BO7e5K2c/r8kEEOQxlWHwludvnSKjV7kfH/gfb7OQafTO
W+HkJguxTH+8Yt/b0OkbdfbWnRjld96kpUmZr3XFXhsB70UmqzMMLggXm25dZ368qvmDm1QwPn9t
7YEn1r64dSVQ64rWc/dWsfdmCE4cK9o0L9p0bnxP8nXLb92uQfMzUrnl9Umdlnplrk0rnl5WbPbM
pAfNC9VUFWU0meb1f92UFbhwZ6ZPrtw8s2jDc6iyOYDTRIf2A69Es2VxK8uFF2xNMmwpo8gEs0cT
XWIiPHpK5S3PoG1uXlX6dS+wmM4heKZqkKdTlSJDP/NnzQpFQzHJVZ49K16HUuznOv/TPK1UKdKx
yVkOvOGQotk3mRtrtSAY+vTYz0Te8qcm8JuMyVPzNm7VphbP88at4iV5CvyZIbO+46msSefTqJw0
1AN/Z11Zd9f8r5NZaFhr1edEufDrJgdDnSoxXoHSQXlVrIBIGIyXLGSWC8PdLKFqSqg2LxmM4fWf
LZ66MsKdr7yxLiOOeWncpKfOPRhv6lmKrdtmf9sqXhWQwSW6ymohVfMeEZkbptssk9W8LCfw2KSd
LP1pXu/XbenKW/6nE6zgvJVolWBkpnNCTIbW6o6n8qJYcxpQoLUu3XuWv/c8f9epFstxKO9I2mZ1
7ZmbUx0vHsohk0a4uNXkiTbHKLxk69PBQxkfWLeC3aJzU1BX187fui4enBfpmoxtYIyHg+Vt3LZE
67ytp8l4LxNx3FPBxoc8yMBExkp1Ro+gR1NFmPOg2453Q1MtnLP1+DiTNTY7KSOhc2HrdLZanY+3
KMV/XZd8f9UKPnCfHWOU/rgQK+qbEpv1LLUZgrePPfPPt97x4sHaknne8L+syvE13Qnh2OKdG16L
6tUY3ZwLy2vRKrWxM183vGNB5ryaCPSdvJbw1nVTunHeaNLU6ontY8lP88Y9nZKXjwKrpuGFOQ1R
tVnPXVnBL1nFsDOvLXg1hswJ4yJclpeKpqjGWiv89ipakrPP+Z/eINV4UqPxrbwXqtpaEEt16c6F
wJ6m87sNw2K8fV8VJYvhXYu2SCw97xHVRc9CEOVGkzbPJh//5q3cepVhej50z/vPjcpWyCWkIpBp
n0ZaciayQOW2z08Upu/FB2raVUiwz1G5sPWV4ZDJT1W8wdQWA6l8KNT0q/BWxqnhtadZHTsjGYS4
XE1kWp3/uuGTHW1TFMeNYJq3bTFiwuteXdKeSvEhh2qlhp6/5jMdxlYl3jZ82Lu1RXuFj1DZ1Swi
mzFX+BuzRfPSCC6gUaU0qKpr/q2pI1Vn35q/M5rGzN+ZEUi87UqpAud9CkTal0hFCU6cIZMcEUzj
WZR3fMjBmLYoT40QJDKpCsu5BG0vJCN12SHhU9+23yAdeiEkqXLzHRMPthMc93SCZo5TeOHSdMVM
Sc17/esMkc25BfyjVWnwPOf/8oqIvniXl+etwKV9OSBq+DoLvSoYeGYV3h3SdV9UoV0l0Goagm7q
XICLp1UadMgnkDWvyDSxmhD+8tkl0or3DOpV8jqX3eL1/0o+5Vxv3twjlTHoy+V0Ak/oKr20nGTl
SdWQlIPOb9xqIYJtklBLnXkwXhXSKDKTNeh4V64mHMqkBPkCEd2kKjyTCbVCTHAV5Mlpo0rIUXVV
MY7L1/TUVV1yDnohC9uUfQMhEmuVKRmLDU9rJNZC5pinl87feVV67o637W1aYmGycfsDrwSbYnFJ
LeiSxpTj9nxsjU5lzXvA2vI8tsrM5XQoX5lSF4vulBLspq4ppRQtX+HRpaZqJsDVCLE1lU5azwlF
/tZsVS5VtLxbQ6IOGKF6Vt+2EWSLTUdNZ367U7xwWCWgM+9dCZGDlfduM1FF4ev15N9cWJHPs6RD
lHM5HsunDOrU4sqEWw78pdERzBELPSUWnkmq8qmNEA3VppRL7YRoqFnVeGTem7ewLS3ysIwi4mvu
alIkzrkWgktoTVuSqg0fwlZVMZpa8cGDpi/VxfZCFrjuiufWgg+vipUWrWA8mJTccoF/Prll+5Iv
KWRhTVVSRE628KIlLcIyz5TKKyJTpTVBNlNnwcctVsI8I46FhEGXqkCbUSQVf98khcuVExmhTFH1
pdpvZYS0mqnLBXuC+ibVgjof/+Zje7quiu43H+7RNooGSJtkIy48nZYNZP5bXXJorBXyJG1qoz7/
Ml9Uo1f1GXWucs0KQYNV8jfXnCHwdlsMDPJ2/ZpMn1+r44sc7SrAlCtL4W2tripXzAmSvF8ZuCan
wXj+akpBSd5K1DTdwCgwPi1mTVWsaeFta7uuacmFv/lSe1OuLOGLWm3flnZe80pkHQvN1ZXwiRKj
S+ZOz9NpXZeqSmqB0Ko0GpkL8fDHts2qaq3JRLZ4SWzSOsHnjfMdXyTdgFMBcu4jn/glwUS871wJ
ktCT0dii+tK8R6BSf0JniyuFUKQt0UrL552JycFxpxFKHHW5LlQLJUir2s7MyRt+6ytfKFv3ZQQt
VC6/1rxsWBv1mZ3ztlbVlypiLO990tpppkXACmGxWherI62QgiX5X50vtuMTHZroMKhuaXIFMUKy
wa6isLncMx98JgEDpZmUO2/Wd23JJ+AZXJOomq2yXnvLKxKShmUsNVUJ4SWSckdUiFx/IW/cNqX4
EN+ip2mNX8/kUXkGa4ulOEqIe1vblarlez5FQlNLYFpninEEBWpWZV+Z/l/+xhP897xA5ftgrU2L
BTJBsQMvzGvaLZYPFvAxb532oTbP37Z8Vsmkb50jcV6a2taUJZoQ26nrcppBKEEqN+DyjeaahJ1R
MGQyBUJ8hXREcl00QsLbdqUSXNXyl961xZ5p/tjEG9FM0plvCLFNX5IMfNTZmKak9Q98yzJpaYR1
co5rxVM57aEx2SvjU+Wa9jxx4RmBSnVb7HfuBCiHVcdyzmEXinDJ5zofB1R8tN2sMPhyUUQ+ekrM
FQ4Ogf+YlIyBI5mRpqrjsTfqdfC0y4AS8Ly9erCc3ysEbuuq9NuWzzj3aQ1t7tyWt7NMV4oW8L07
RqViJcdhRtD6ui8FSfjiRKOaUiuoULZsCIdh3DcjlfjXNnVp33x3nalMsYOF1711pUreI5/4pAmh
fLG1VkIp6QoNIOv28pnuZnVnATjoxwLvswGfR0WYd5AUOB+q3Y7Po2LUvVZ8wTkjI1TE6kIxlbfO
mYiiigPV548zOqFjj60r8jGTMOfQeVS0U4XfZpEgVAxR4eeMK8eYTSpKCbzzfEso4/erBSrOK4Ys
t3DoPCpiMs/7zsknDp1HxRIm/DxvYXPoPPhkkVK58kqmv1/F0lC8tHyDH+NYqIgkvVB5u72YV8VM
IO7ccKBGPLW0hFZ1Hn+jY7cenIsaBws6z6TZDrCjYh8tnjyfouEAdlQYY0IePJc45ndORAvWlTTb
HRsVQ3sLuTSb4XlUhNBYdq43w/Oo2FuxcFm7HZ5HRVW8fK43w/OoWJ+xbL3aDM+j4tgQfPCKqSTi
JZumnKLyTlnF3xshVk6btLwySWVyTjgxwXcV25cW+dBthdFQcfDHcml6K0KOilPNBBZjEXJUrK+Y
nzubTtT81ya5NN1v7nVTsThzJtRM43PPP7bq0o23W3MlKo59nLk7V+3OywZFlAFEETLZko6nlGr1
Xt3WGLCKY6IWVaA3J39VBMOcNUE2GCoYa7VJd95sTsqpaGgvRovdCgukIsL3zCE5Kq15i8dEO1Hn
X7vmlfdaGNdbqyNUHMopCFPe5pjnyEgWSzfwV9aVfrrlf7pPjeNs6lfzQmXF2NsRiVQcsSKZefxP
q371XHYrJJGKM9Rmsz5TmsFBEqmYRF2ESrsdkkjFuPn847mUGgdJpCLC26JE6u2QRCq20C7itN9a
0qLinCL87TxETdvyAlGVfCmWTvtUHCq7GY9IxUjNbC7kImuV4MTZ1PvU20EBVAz5ow7Jg24aXqzY
Nrnvr6AZqYikNIviL8BPqdjrtTiv/WZ8GRUrE2cdlC1k5X+bPnjLgAIp3qbvSue2PH+q2pYdSOHc
K+GgtwMSqRhEFrwZyxPbPGd22brejkekIrrsYnVUm/GIVESwWPi73gpFrOJQ2lmcZ8sUWl6qEXsJ
7YZqMxyRisO6hBdveVOtX8Ub1NaiMRWnC87H7tVmKCMVZyEsp263QhmpiKqzuGDVVigjFYfzwcdg
A2RrFATBpE0qke12LCMVC9YW3d9t7UvAS6sTIrf1djAiFRsqF0JtN4MRqQhzKriPLBiRis1eix6s
t4MRqYinsMhktRWMSMUwthBt6HjZQC7d5D2SxvIRntSjyLZzCOZa16QGU7853a8ifNRirfWb0YhU
BO1amKzZikak4kjcRRfUW/FKVIRwFEiFt5gUUWJMDVHPx8x1ai+pbntCUEVYWfxc5QFiGv63m1Sw
mK35JRVGK1D1123GElLLaDdv6OWrFNjafhULShftaTa3K6tYnb9YHf1mOCAVJxwvekRthgNScYrA
Ym01W+GAVBzjKQjEnucuTQz7fG5MEKaqt8nXGVrpe14F6TTYbrdD8qhYCitJYiF6qvokQJOJkvCm
9TxZffYpctK04h+b5AGZrl228VZFFCVBiRje0iLmqW4Z1csLxKYrJRlanr/WQS2zGQ5IxZEpPrli
oQdUb2+8VbGzXrg2DpZWxUHAkhvYCLa1TRMsubOzfrspZo3rmndHdCk1w2dm9CpnnFGefAxT2dRG
rLfDCamIIriwZ78RTkgtoy8XidZtHjWhYiGqEP9ksbpUxNtYhFK1GRBIxTGnS9S43g4IpCKE4aII
+u2AQCpiqy4KcDsgkAqDcSmJd9sBgVQEhV8urt0OCKTioAzJa2/5bLuhVj1X8C38OpEOXHlKJ7jO
dRrearYCAuHHffHa21pQoiuTqdqOCKQiLr0Q11O8LqJPbrk3E+IVdSkTyCECqdhqJsSYeJdEmaro
0HRC/Li1qZGstiMCqdjfLigTzasiZcq0qviyFJrqZzr0rOAJKl2KEnW8vUiKcbhgKm/56K4vOgc8
rWoa0MwXAvHWvSJ+JFPlz4L6qAiNIyR5NK+GaaIl355ghegYCZZwacxKCBvUKx+42wzqo2JDycwm
Od9dyMCSgCRX9CfEM+dBXwKhN7xka/uSVLW8cKEmRF4sdryFvioyyNmpXAG1ihNOhEAsC+qjYnvF
8nm/GdRHRUR7oeRN8wEu3SdiLecd1Dyp6VWuRG0GG1WxhFrwRPmyELWuFLCbMX3wllMeyb03f2m6
bYv2Jh94NzotQMopf27wg4pQ30uwp90M6qPiSDjReOAzTO2q1qDZjOmjIl7p8nW7GZZHxTY7KTdW
8ZFBml/Kf33gL20l1LIykf/pdrXxdjuoj4ogTkJpZid8TWqv2HE6fM6gXCfBgvqo2FAzh95ttR1B
SsUBpXMVcd1sxwRSESJuKUK22xsUVUSiWDzabnMPlIqQwlIOWgvpEhqJzlvKrWA/VKnVlWNT/s2J
LmMMAD6VWunilVe8WLW6lMXlVZFqVwZbtRHWRy3DzZFMMau4GdUHFVFfLEet+Ns2afw7B+hrhHBs
XxWbBCoh+GBS/z0TtTnwyp/qUKaISjCR+1VEtdoKy4N0Vqyc5vPHVVrqbrbDCqg4Z0tI1FghUVOn
VbjZRI0gkmh/gWGiZAKhFhM1is9d66YpOf4d/7FKk8c5J5JvozGrkrlcVk8JLgkt0GA8Gr4OypBa
Wo7D+AoNQ6xUcKxstRmZR8Vhk8udN5sh8VXsSJUy9kKVvSqHqPjiTtOUA/d8PawxK3fKbMX1QVG0
Cml221HxVYQFWuRSvRmbB3+8LUWJDB8PVbYrRe85QAYVu80lNmmFPpp155TaPExWRbgyIUwk3Fq1
KnNsNo4SwG+rYkEOH+bRXVoNpPvtsEIqwsMt8lxthhVScRTOYi3p7bBCKvakChza8tGSPk3r2S/A
CqHdoUuV3yyskIqjMqV6XH7rnS1GkVsj0Lkq6iLFO3NUg+ddwYZPOnRVKfRu+XKFxhbDBnz/j7Er
DVxvRxVSsdN+cYbqzdOeVUSyWPRYtx1WCG3yYvpc8UFFY1f5c7V9wpiKE7qXsh61FRoIyYykqEze
uq8EL9C2xeoz3hdTqVeTMT349kClV01Xm4ea4xPXCY9kTPuG9+O6NPadQ5PgJSoxHIBMM62kQs26
pqqfacDlr7tJu3dzwpxv3zW0MpTBp2t55m5XtZn95hGZKs7vXepquo2oQuA5d6W+X8WLQ2Ntsf9V
aDXT1GBp8vVAWvh83RFptuICIU+0aWpKb8YFQvpo0vIvtRkXCBm7L/cA8ZdOFBiD6MenGlTVliK4
PJVqQmdMxP7AM0jXFvvbK/6na10yjfmUt7K6qH6MQGd9V0ygdkLiuCpRKV/yraq65IX1fBWTLjYl
tnyAhlZf5bGP2amgKk6xEa68F+Q4yUoZJm4sdLIYrYrxesubG1VfKsixvDPTFLEv+HSaWrlgucYI
HmVFkxdDDKhu6wh4fKN03zlDRYigVn2xsZ33BtpVKW3OieJ/WqXJlWyzF//Wq774XDEMqzmLEAha
CVWd5RoeDplHRYw16jnC91lgnq75afnnZJ0mlgpgZUybJzjwX7nPg1D2hTVZ/d3wvx0iwH72j+Px
Opv+Zb9ul6/h4WqTDaQyX89u3PzbhqlL4X48VNTgubk4jfOGuM9DBhd/PY9xB6kh7mtdJ2+WCyFb
9uBtfDGmUNKpBO6XA6thIlBnx2QhQg1LLVX62zZf/MV+3iTnzliqXccTevFjrdhLq+O5mUZawIHg
vm4ipUKRY4bO+ecK9VO47XwVktMmLIt0CXdmUhWa/+U6JXGT98NYGo1yhYFH1x1/YTZhD9vnK1pZ
7or3DVU5jc7md1jJ0CVfZ/QghH9Z9opfYzSxyiojbuc2cjYTmdItf2sqJRWVLXfjvu51+twqV/TF
ElqVfJwv+mJ/mezb5gsj+V/WbULiXA0wSypNcmeZ/ApPpUR1ApW2WcQPlrvIofMhKYSdYgnFpsfO
j2lkSdyWtLY2/M6JUGGGqPMqX1cJc+VstYaX4Q15La5Ej6dwcmfYptbk2p25n+6bhDMzaZ1OkIam
LpGZEiSS6VPG1pnUCvutKr0WVJqxZk4qj3I+Qc0/F6WUjh1lxt6ZSuw7bsgi++OqpO9b4ceVSa4t
I4gP/K31Jj23zsHasL+si3ZKxfOmSeVwvqiRFSomvXGbS9myUrxJfjqn+OyB502Vbtzk6ylZMR53
DmEHm8d9Ys+9srFylMbvfEUpOo98yHIY8WLyjUeQEWKJPJUMub54nj2rPpGHWfRj3oGyVarAmhz+
A2uqNKkaYHqOWD3Ql0QD9DOy2i9yGI4OqHONGKxU6kqKt+U/1k164zbXVMhalisdkgMx4tVAm1p3
OgcjxP5ym7htmUC5ZGKpPr1um6sQZ9+KMHYeQs/yIonwFmcuNLwUb4qakxcKuk9NWpNDHGYvrOgl
Q48Ty1o64cvcT/NnrlKrNNuJWB14MWxTYdZn25xZ5aVT16nNgV2wOzfFt24FiULozOcLsk0QLKmQ
czOJ+VqIZNV1yXEzPIe0K2rJJ9bZnadfG5tHg2MfXKXSsM1CLbPikFh4/Kg/duupdZlN1vLKz6Zs
kptZwBsMiqivDg30XFKf1ZwkPJGvJ7R8cEMR45Ib68Hbh9QPyYctW57KtU5dIJ1F/GX3HSkN7K0m
ny9l76wvRScMLxJpjCCPhtrx9rhJ7RybbyFgWbtNNb7OoUawF25TmVblgRdYBqlTBdZl0RNYBulT
iWiyqKLse3WJXMlE8KCfnj34Sn3mSsNZErdFh1e48k6l0tRkO4RZDdYkAi0XjOKJtC46Ag1/3XWi
gHKF3bzqNDoJbhtm6jfr7VaJMW6zkPesiUYSIfkINQA1sjSaxvQ5fEv2sauEVGyXRdFhf7xKiDQX
RGuFnIBJ9U+TQzRjjZ2iYDC8DiB6kyHShpeGVRolbtocFDdLaCuHs86Wo7O2Rhp3zCLtW+GxV593
OUAz1shSCYs0uSQxy9hN8sOZXF/H6w8qzRoOrVcIb6cqWzd5UBVWg7QJf9U62zfB/nhVVF8wxoOV
Kzrlr/zMF1Yi6vTWdbYfjBVLfWoxqBwsCctgK4fXZBFR2K/rxDpkEFxZK4t8zTQn8f7yOrbRZlsX
WGJJRYPN4rixDJbG5vMlUuy+Uw7Lz3NgCSWNW2YH0wsaP7UOmeFM7Nd1modhoA5ZDkkTZ7nOhVaw
D9tIp0zmrOYVgU1FQy4OJiQ0SAQuH7bkY54z5vwiF1QWq5Dl7CY1drJI++xPE9WZn7HX8AZ1VTTH
hUQMLQNgxo91gp/erQyGOl9rxHoxJg0z5+Kt/I2rkgukeeVZt6WUhOGjcG1qY5lccyvv43dJqYut
s2hm7E/3SflDDgvUCCHTlVVss0OF2MdeicM+W4fOfq2LIQJe5SuV+iEqhyzFar4qFSl1dlwZK5BU
0U+HalVWe6Ukngub8uJs5QnYXEsQK1Ns6b5roXSiTaVZk+v9ZtXHSiD1Wbxa9qnbkpXTCSVsq3xE
NjbBmxqkHIspgDsI0YXeljKshg/etc3TT//3RpEEcf0+nZ0ZfvsyXG/j7q+P2316/dztz6f7eLqz
aygy8xQsiM5L1Nfj+OPl/AO/gL/eDcfp7bS73a/jff+eXc0tMAe+myTgcR0vw3S67673o9vO8fFx
4r5fysQaH7eYi9uu59ttN/yYbrub++vj8WW4ckvMTsocxteVJ+OXx/1+Zn94TiE2IYrqL+HD/RfT
cTqN4fTSXbaEdRt/lQGeDK/vfD2M7J5nBALcdLQj8MMt79jGrlc8gV1OEJ5xd/42Xl+P5++74XE/
s2soso0eMTv9RqYTXgIsxn47hxebJJ5LSOdjYD+elXqT5BPx28v1fBmv988dUPV0euPPH18QhwB4
XvA/PbzcHNndx93+fToeuCVm6yCs0KrkBl8Gx4zuFvgNRNIF1yeoeDwE3Dz3Xd8kFB/0a2AZ9sea
+Nok7II/Nt3HD3/Q5dXZ344nJmmuSPXX0S3gZMn363ApX8CcDphjSrry9D+czqfPj/Pjtns5nve/
7j7G65t7iutwY+UIEQMqc5eOlq5v0+mG1Ly7TX9nN9VHyoL6ofCmjqL2jpcGtw34+MYeaQ48h8cJ
GhH2gbcc1tm9j9Pb+91d+nB64+9HxfshQCFr+prPxtMZ2VN0ElG+7JBoJC6xRDoabADqwy7Ow33n
fnY6eD6H8/EnIVLa+BmIs9b7/raoDHeqX/DJ/rSrdn/KLmajv40RJW/SW3oxcYmKX8LGJXyNVMK7
v/DC10Y/zAswBApKv/Yq67Zcy40Jz7nvQwBa29BRoFX1fBZ3El4M2yjK/YY8AUf6P0zXcX+fGFUG
eN5mfZ+JKvjlbTyN1+E+Hnh5bmNlv79ThPk2W7SZ9Yy2fOlrNpINgBmAXBzEC7fOXD/gF6qwju75
WUG4X87OMLgMe6enr+fH6cA/NaG1Cgtu1PP7TKfpPg1HdpGmIovUUc6tCNb9v1k+3N6v0+lXdsGa
nNPzVL+Sd1Wl2NsmJOfz/c3zblSJ5AJHR8KtnrfQsltoCb36yEa6hel6u+9Y3WGX3idCs3X+SsVD
1E9ioMpdRWEVY9YXutrLy+ueFQC9XhNYynyoNhzV36f9cPSGEc+B5E38Hw1DZyUCs3QlI60UKJa/
YioVzDO1eeUlX3CvZGkdLN5g8HrGfhnv38fxtDuNb8N9+sYS0hyR80fFCsr2+QFQ2/H33q7Fjs4J
cbWZvytCUVX3rBXQvCoKw1oW6+eXvzq9wF86+dwHVLJadvuhLGXZHg0BXPB+//7qDvN6Hx3PE/N/
fs6RF89zDSl7xnQl+KfCao1Zi+lGPjF/1Hotn7v8St4cLdxbw4u6WdKy4qWm+svGM5Uu3SvHwETs
9atqLflsjrmP7nd2guXQUwNEpZZDopGKcktZolgw6WeeRDErienzeywPTlLJfpKN5Ua4mMU/Wube
F/NMinTY2PxIJGmdoXVvb8I/u92HK0uibS1fuSBSeUnayZI0BITG42t5f50mD4l/ndHvp+H+uDqt
+DH9cMap84emG2+DER1S+eZEbnOi3wp316/FfZe32VkXJrEq6+fNJFZ/geZ7wRBLHaoS8xhqGLbP
ZviKJnBhQZzOmRdCD1GeoqBxvqczxz1fsQKsWpuKfU42bBOl+sn0bXm5zAvkVjaOKCOG8CfvALaN
bB8RupRCqXYJpfqV1LPzcz1/d2zMsy8lJEx2PbnV4IG5/wPrg7eF1AazQW2xQTX1Ci3jp8hMT/wM
LB3KOl7IqdtsmL5db6nNe8r89RjZb3kKHbCvXaCbhC/4O25k1wU872L8QFeV7CSvTAuZjBv67HV6
x8u1+HBlQXLY/ELPKhgEPq929UpxPEVoHEv4Z9ttsctVQ6NH+EfLio+SKmr6DTxSBQe2aDypta3Y
5gwgd9bjcBEOSF3anFEeRQBPl4IsWnnDu/H1VfBj6rhSA2Z5Y7tn925/HAc+3EdFtHdcPAWsEi1S
zGVGC2Fto+WhimKRrpQT8ymzgVDjA2/N00ula/k0Dn8xdmUw5B76T6VIkq3W6rTPxxr4cK59CiB2
fDSoGFwzGxajSoPVFoTRfUUfcz1bPWhTIKKtrkTXr0lIb3MKJYtdU/Hh37HmLBmZKrtqg3WsxBSB
qomMrZ9lbBLYK157gUsynnPBVWqYqHLpAeR7m/FWiMbrGPq4loPp1INl2UDhJZYMObXJvVcCg+sn
C8OUfV/B6La8jbEohZfz/X4uhv7qddJD8QqYJ1e9tlPrPLkKN9SuY7/tU8iQJ5xm/fuc0V6KfBlV
0v3EiSiaSm2Vf6eUKwS9S2NnPpCqMomx3ffp/r4bj+MHLDedbiMv5mg8OxeazTnJotxUJNSBcGja
1NnsF/96esWpORr8k2hv1dWWOKrnL1kIUf8vJ4PW5jJvJvcyj65ZXohEUKerRdxWXfZPeOnRtHwo
CZNWN/wIqyLw7z2xI5GVBG8flZdHduhienm94FxssWlNu6wZipxqD9j3bIDylme3PndfDJDyt6io
FUKTmOUQaTH1oWgot2LkWVVyjolUDGl+/ZyFOZ6Z4gkbG6VK2mGDDq1UPo4vxWt9ant3Ph0/+Uew
chiBX5dfsl67S0vJ9W6uXZHtUxJgMx4I22bS+O6veBe0lWPlh+l2OQ7stdCEY07IR2Yp6UOaIclH
D2IcmxeFdsN25mD4t+E6DS/H0fNhISiu5XhW4sAVzeReNpMFEi0naZ8yRAxDC9JLr1NDWy7x7+O1
eIlPwsawJSKCOKxpHN88R19W1ydrYUV9KC95Ks4Zk2RgS0Q+wJno7rkyRyzt0TSVvY4HAwuLRgAt
Q2CvttqSka2eQhUV481s9MW12SQiymkXmmf3724LKWzRnKSygqZk/wdEToGixeciiWu0FYyt5ZAF
Lw06OZlE7UBaNcqzWSv7KOiz3c+XksPWbZAkp7MQ9WpqUWV6kwVtg9NZOlGpKiwTVpA1b0ODHu1z
qizkFtiwC7lgeD1tDZNvKUbQaMDUt49tevty6LzZFJPYXkhnKjnk/VXLk6bA8U2VyicYhVimWntz
FV+eVwzpd2ulp5hQWtGQaWVjeFmJP5kqJCh9wEus13uKtpTcVCEGRF3eLkb1n6t9+Keiuk09e+5P
SoXXJpaPU5Qq3GT7vl2zYs+csliGpPNMTc36UNY+nKaPAbmmkOuzm1JhS8WI4OLTWoOcMEWnQ8ry
UEco59xmwg0Cbel1oL6X/Yei+9cXCH/uVxnu54+JLXFKimAMG2fcnpFQxEX2sq8qlUKwd9aWyg+I
z168r1omBzlzrJLqYi5i/Xq+OiqH5gln3TtRc+Ztl7rbUM2kRFmjdT67guYcfuC94u1RpiZGhJYq
pkxs9ON8cJKHDYeq1OZArwqjONfHGGSw1F7SxBYX8KOaZlXaeL5O0HcDO2EbXPrYhFZj2w6uMfuU
3h5Dwwmearix0d2WYB03SaP7slapP2qBJW2SuQ5IsoU2nYZ2QpLehct1fB2v1/HgnvZwf7+5K7m/
n9/OJyZg0BIc3iZprZ0Dm8MrKMab8wbgQqCfqdSI1KikVS9NLewci5+v7p6haP8P4/0utC0q0rcX
e1/X3VW7vz2m669Ck9WqC23pv52b/ya+Q6uNVwM6o7Ohe+44fJ4f951TXG4XzoM48Jeb9t/ZpP9u
d3gAvTvuw3s9neUeyLrLdeW5I1ycfpn2j+PgOPo6oZBxjOiuhnRc7cSWK5t2xM2TVUJ9UdDUt/G+
+zYN6Df5fBdLnn3uzmP/oH99iE1/c0Kfvb0+Hhj1WJ/0x/F0Ez9r7dJyfBpv0JVUaDFewJ1nnuzy
vYHslmMHHKi43osEZMbAN87gOewWEsLSpOvItyyT1mHSfB7ZehX0FvjApJTYUm4qtgVa0n0ZUfhD
ZHQx6YBC3kZWYLY27Xd8av/1bZua7wKOt4uTA/u0o5QX1ISQsHCVtkANxzenOO7vH14dFm6ibZKL
sHatg0pNsfEOII8WYKqIUPPMJrwE2UC9QBcxXbVFFWRWneneTvi7kxwHQRI1RBKtK8nifbJX2Ka9
5CaQAeja3X38cZe7dxeQsiAWgtokZPSkZyTa0DUrq55exV3L7g6hXr59lvAJjaht65huWvK2OKGy
Wve5p03BbMu7TlRnMP/W1gGvaSKRQjC9a8IN36+gUfa7j+nkl9gNl8vRKVDPOq9YWo//gr/uNt0Z
IwP474kY8yHieqVckIJehv2vbyFfcL57m9t5dN9GXtkQnUX7dC/n24S2bdrm708cfOzxMMlkUZOG
ehoAXkNAgPfK8yqxh6yfoLCmDs7pbZdCKZxRBOOwSG3DbO/yVN2yPLLAPpQEZ0dkMCaHQ0cXfhvY
6/B5GjiPtF0qEGfGfxJ9QJYrGucv06ZWbxsb1UPvMpcybGOJ0dwlH9DMlmz7RbpMHS8CdHJ4xNne
vk0fjqNeJ7cJbyLwQtgkjxIslcWyIN40T5ZRWuHUzACBFAJH4VGQ0BdgFF4xVmQ7iN1V84a/JJBV
+sokCy50tLZLd/x8mOYJIkQGh2kJ6oBewBgicW1FSjHkWbzBoogLhCUA72ACFhFHVGrr1Dm0C5ZT
yGOse/xRSJ5mfp0rtKWtKJtT2JH9pZb2dikOnG+WVHriVmbKR2+K3wMxeyIyW9zDiwiB08XHhQBA
iKh4sighj1C3i0aiUU85c+vj/A08LuC586vfjAgE06qUvglxlDzASucAkGY3rQhXQsw2Mt0i3uFl
OEhqoCeWEto5IU4WecQH2pyD6Nhc4BCiTWggl9G0kndUayJLW1AJweGibjAvQdvUqUkjH9Pp8kCL
rwAq1VBIKBI+RIdo+jtuY0KAIhkOpllBHK2VLOsWdU0acGlycje20G0KvZDIVLvczBy22JDeagke
YirIb/fPYzmGZFODgxEZVxkRp12j0XRrlbB0h1CCYe85bgrMr9qzz1K89us4XoKedJTM+2829d/s
k+EhBjc0ia5lOp5WxhhIlOHbMB2xPgUzQezp2lRK2/VdleRkG6VL0y4QWQzI2e7d+Yh/B5osgrZp
YphjECM4qXHlQI8i+JjRSVwnPB41Puc6UzB3XgL4C+ppUSjSaCetzmeEGc8scZ0OTtnV3RZHFMqF
T4fheriJpDuXtJhmBR0UhRR7wJrFAouRkyDgWNKoEwllQ9jfQwmWwe9QGoWC0hlIsA7C+nG5nK/3
225/uzHxSA9DWC9fk6G40UvEj4jT6ETdOCzIBqJtUds1BejV4vNq/m8KBmRNzd82lp5xmystV69D
Na24XIHcaTybJgW5w5aWo3kMUvjDLQf8qrjFSBA7cbK5xQrPSgUtyaJKW2NVdF1lTJ6oDf9+Pn84
4c9bwJ6GTcTjtMsYhun0Cva3czzdcfARufv2bNTERfKjUpjRAogIGnlQR4y5hQch0uJWGPf381U4
BlmEtg941bm7nYYLfkf+fje9XocPHkBfpWMigh9LF1iAHvfnD2fWYSLg88ivqCkcM2LltvyakivX
EPBK7RN37fNSzkqdTr4KAkEMHxf+rGRANzLk02KSO9aQ4MW8gs2s8D5eGQu+IQh96QjL5G5m9fdt
OD4Ym7chEX3tgyFBtdOVzq+vt/EurKASnHO4D5Yoi1qijaQZLenb+3AJbRr4l+DqQV6N/BPk3PXf
7yoGyr8lw2TmsU06pFSS7yv+e5qH8OVEme+ZIYstQTpvVtVx6fcN/73Nez1v1+EAWfjMfWE3ynDd
zf+JO19+fx2Zld2thHlpRcWvWG9ZEVZyNilZUbMrzoC8nRc7dtsOLb/DjuyQ2JKlFfkdzqmSbtH+
9aYz83uc7egumS1dWk94lX5Zz8SYbmk9nm7mIHkXp0s9s5Xl2YoaJCYaJOn3fIaype4Aac5M2arm
2crk3bv0+57/nnhxtN0s/Z7ff1dtECsVv3+a4qXodunvd/zvE7FGUQmT7zW/fxpr9O+Xuz/+/Uni
LCksS89f8YELYoNaHJubOb/mxXKv1jasynyv+P336/Pn6I//nkbBWfqpeLVAPT0aLE33z9NPr/P5
0/R7/v67bsP3lXD+av19hv4qnn5JbjvpaE2/5/m37TbwT8XTD8WnX7yWuMCMuZ/KVwgCcLZGF0oI
Fy3SxgrH3CqCRq+2aDe/Cq/RVL/W4ppdRdC0REtQ5y63SsOvQnThM7Gnq3T8KjaustSWwzLedH6y
Ku/vboH38/HACiKM78eBGeAXNzk9vZ+u+yPPz1gTopNJjzb3ZJfz8fPNmfocX8E6dGRJy5gNy3Ys
v52KDGPC+Y/P7E3vx/D3k52Nnm4ISlLuLGdgJLFPRxJrcTea381qNgoV2iFPx2ldnGhgy4fxZMgT
DJnp6T1D8aX5J2ri0BHIN7VGXIenPDL6kcwVStcJFx3aJaXTkfFKkMI0XWa18XicLrdRJBtr0l3J
6/CnI5PcdBxezq3D37a1ZAIf9uApibN6nrPqdL51JW6IX4eM4tV98aJ5ziIz2zDsLAoMnrHILDKs
ZGpzjMVfLwkDAX8YI+1C4K0mHf+tWFqGZkKZkFfT0WSJwwtkMhacpJJzWwLBcRmmq7ytdJiWlp+d
X8emA3pNI67DvzsZqdliLa4ohfj9kEGRJPuRJwB+6qMx6Wi4hAAWMhSUeTqM1tSCsur4s1S5+XQM
MfNn0emY8KykiFfLK61mNW7cCofiObQW6Hi5WUE+qJSdZLrl79Z2ZbE3H4Z/51onetxqYRX+gegE
xNoPq5Nemn8ho9Ix35JqUfypyMhTrGQy4h3z2yGDw0lVKnMqXoWTge02jntntiMci4xTxWNpaTu8
ojMmN0lwRcACN1aJhrK1tAuefsnsZh1rqnPqwG3pAdBXN1lu9qm9bwWN5zu2ZPVSp/JTEoA8AdEB
nR0juWJ+CP+xtCkyghg3JZtM/BOSaZBkOmFhW4Ku6bd7NrxgJGMLabqdkfI8t5ER0aydMe+Gtyob
ckX1ijwXJhFYXifuVdaYfKZu/orbdPqnFa13wSyoVeKVWOlyeF+i7tI52rLnxj95k5qWRtoNf9d0
TjRa31m+mD03zDPKrJ8OR1dpfm/mCB8mwd1lAlxh18xLAImHuKuPmtRxyFB+nYpfp1rWycRP1+tY
fh1L9kPgOfLrGH4dE/dDUWDz69T8OjU5FwFUya+j+XU0WWeen4kVCKijMm83Ky8jmMfES+PjcPNC
mjcmK2qmKy7QuZg8vFKviOX0nMZ52hGvl+mQYgrlxuyIH7RMp+/SwaXMQrworsyXjsaLrYo6NWw+
dtmRsBAxgehQC2ZHPB1VNIxmYuc9sxAv18n49ASKilmIF8lVs35+8bJ5glTVmrIl748ffG2q7isL
GSEAQSxOL5kk31rzBKn0l+iIn8rdk6M9586eFuLHsfeUsllhuSzEc3+lM0zrq0tRnWfEZVT0LS+E
m4wQFkyGnl+piytRpDRmJYaJIVRc1UThNZwCjitpfiW1RVXFlQRl3pPTaU6vxHvq+JXar+2p5U/X
fO2ean4lS/ZURZAmbiXDr0SVes/l5OJKll/JkNMRCCpuJcWvRA0xRTBsg12eYZ3FYmdURBdy+kvK
76ls6nklvvDFqnU6VIyLaD6Zae06JapEf4RPaBpSLsRbr8tKRrgnshLF9+T2JBQc0dOxwiqu1PMr
0dTxU23O843zqWxLEuI868Q98clfQ0u+6uKNK6HwKe4pwVzjTlfzp6vJSpYTMZEKBBqnRXysZRZP
x+/JkOI93uqMK/HFDKYlp8M7E+lJ86UIlqb/50mj//3fObcIYU7EOrgqkjm8ZBfY5TLud+OP4eNy
zFWgiqTVEMapmaCHVCNRUwGlOJ0lMVwTHw37bvI7EC643yJsOQ2OZ2jS6kKV/Z4XiE1a7ajzv8+/
ah2JDePNOvs9/wYNUTdcykaqLakp21ScZpZqf2pL2IUNjEiUbTuyAqvTpTqbmoo2Nhgi1R7VVabG
JvMSPC3W8RTA9zbPC8IO+pQX8pTEv0NDa7CYgDoX+8bf11tEsSSCG5VUO4M84UVdISnexZHD+Kot
k+qdl5PDjnNd2kIjTK5qXq1UoNHFAaoL5zeb1hPke1/m5Of1eMmgdHJ7qt9we/zuVJ1WsncbVhNq
9KLU9X+5YTXhpF26Wrfp5oTdpVX7WUnwRMY84VVdSijtpu0JhKwSRq+bLdvjT1u12+mukPzv4vCf
mex0tem0vFBRRKy1RKiE7h2hVadfWnVMhDNL+thaoQtOxS64eAxow9vtz+fr4fbTD/ZbHdvwEIUy
9KafT/fddx6Uyf8s6UKNZSC0DZbHa/ELxFODUpybndyxFf73gH30S8Q1jP/sfh1ONwAh5Rzmub8W
jeso8PDjw7g/Xwd2qqeObYXwtb8Y/Hpur/+FB27R8VTwMSR6W8/h0M/4i9TPqCNQgc9vLEoEd134
TRJv6pbsPX4I2GdMQ62OYEj4k91iCRwRUKG4XxLgIPVE0NLzi4DopWMHt6q9g2DC00dg2V+gAdx/
6pf65fz6C04Y4tYk0TsEfwvQmIPjX/4bEjs0S5IQ4QtgD2EuFv95vDzPhFVDAMCKnysS1iEG9UJn
8Tb4FUiwql0AYK/j5Tjsx8OGHZDwYr0InghnsGEPJK44F8TgxR+H2216dQcBVsPvjtPt/gvfqaoX
UIrlOFUgqPm7X+ZOTHYBGlBcDEuyAN+VrBfQpeXrbv31/fPCfxyJwdilbVcat6OXydUzB4X9fn93
kvMXHuBCLwBky1bnWz8fz9dfhtPhFxYN4Bff6M0+Z3wC8JkDLDH5vPQEJEmLZQBPC4hP0KcEHZQK
+doR47B//xBkGslaB+iVpy3gNbHfq0QKByND/qROPglSNP4g+4okJh8KsAOOxVrvoUxa+NlJ9V9u
45UD+63j+JrO69Y27AhBAn65okBFSDlp0G0dx3UGgysIyLCMh839hYemq+Mo6m4FxMINKqkjHHoX
qhjt82+yv6aXT0lhfPj0fr5sOnOr0y33dJHj+Lrx5shWqvXN8UKwjkP2uqCSm/Xvs6fv05/snt+8
sOf4WFC7FVSoL0nC65M/n2eHhW7VUPwXfp/nn3oB4sAnj/iFAqRFHfHXO08xffJr8kbryBwYzjf0
nNINd4QdYh1/gAXxtFG4oja9omZFoOzLxKclpfthxzJPzAPEQtQuqJh5z4GHC7smTGyXX5+XKBPG
MsMvHNu2T5RRerGUJwwBuJQmGtQLEqL/agkG+C/PjqrBRhbNpDqOZe4CVlb1xFjsu5n0vdvndyuc
vLPpy9fJ3RferU7I1ZoVP7PfVTkyD+cVxX1Lzhtbv/jxI/UCp4S870V/tyYvnq7IRtWiKsIBC/da
J7LO2Cf5XBKWXfLbxnKqsUTadW4d53gdfoE5oOxn8ehA4r3Nqjr20lUiAU2V13Hs2VVClIFAwr2L
DNF1iTRqUnLeoqT6Pvfmz5YNu/c62UFt18K/RDhtIgyDCEcS/0W2a4jy6BcnPTk6e+Yu/VTRT9mP
dM70Sgm0QJqGsObTjmW102cln/gyy6DKWdZVT2RVepuUNqx60s/sdhtB5G2giqbKKSjCjgWbcyXI
OnJy9rDxtmrE7vO++yiyn0qFjXqS7KWN2kRw2OB3Xm7j43DG/3447d8FxKwuBhxRH/s39t+v/BsP
c8QHELsuB3CEiKA+gLW7Pa7X89tw53HIgnrF7VRIc916Ff5bEgCNhrr/krtC/K5JAqez1gIEyAvE
ONK74Jch+E615zAf8brth4DnNH1A4HngfeWOFjvFwLNf4hfe/tYLKS2eeqhIgjGJe/zPA0ir5Kq3
JNAKMZNgLpw/xKhVW+crtMDXvgiRqrZLDjsPZ4ZA1S/D7RcR7E0vpO8/J6WZoe7f0T0frYkhCYx0
1xGa/Mf9MRwLxK4Xp3iJqoQxEYdNG19F6AKIxuM0BWCriMj5C/5DHjIvZhp07DbzBrz8ZUcyHNHK
wRnDh4cPxyNYKQBPF/Zgc5h/Iuo/fqYJoy8beFyPwi+ZZM91G2LjpzcnJgubrNJfW8JzJwyoOlLx
UZ3z9ftwhXjUx8XdwQtwvwC/Byu3RHi0mKLr59j56Slbgv8MJzoLYKRd+qjzwDf4tJAC6uKd6tjh
iV++Dh8TM5wRTxFFNxkbAF/yn0Rx53Ms81hd+Dk+oIL7jK8B8ajwkP5DDmEcfzISLYon+1++IOr9
fr+EbNQtsND+fP51vnXIAfu/350BWNrPM+InCZJZkGCXt6GqBWYnjGGhGyJuc3FTXKWOUz09KOLc
K/d52u9+vF93ZFshqekU4223H/bv0rJx+h5cR6dymxt/XNwZD8IR4xRHP6KtrhOlN68krECGJNYY
XQr1jo5Z3Pd/e5yhfQpRZoTDxJl9IEZCYPivN5jzhPjIcEfwujhaNGxK2FOcAdm2S1/+4fx4We0o
jJ0YPyYAZj6fhCXj/EWfxAxKBjf1Fl8QNjqddn+VbixOgiS4lvf36YrzGu7z+XB+1w9O5vh7I+Ne
a/wjJOy+jy+38/7X0KcW2eH982XyOZ8zDon0OfT3ceAMCl8oEOpA4Jk0AdaBiaMvx/OLe5WP8XYD
XIizcwcY09gvFRr7a+XTgYHncan7+5WZWhTKFcgumiXctRQCnPZnAC5ENSCsUsUN1Oj94SqjM0iv
u/EbIP9d3XV8AuY1Z58qxACzcTfdElK5n884fcO95Cc7s89vJFR54wKaxGTOt3H3Mr4Cnr5TGsJd
diELgNwTPQ1HNu6HhQlH4SHU8jFOMrFzPvzX8XoLn+xHGDEJT8zZMLrR0XpDY2LuQoIXHa7X4fPl
8fo6Xr9N43d+ERMNsaZeJtrNGyDLCPuIlhiEQQIWlb/O6URIlL8Yv040vdsqgrnMtC6cIRre4Ez1
OpWkt8eLswLuZydobsKvR2MWdE4IHy2n8M8jfB6TfI1eiNt/5af+jMIByG+3ixQ+nenWhZ+OPgMG
vhqyc+RMP5JwuPEpSrcI6ZBtPJvRE3jSFk5A0rY+6ZcnRmEDffL64RHDz8NIndv78CtOljiCpAHY
0NPh/HFytCVsi5CUXpJ+7mIjUbq3RYOACar6vVH/qvGNemrO6sM1O6vmcULmx/lUTiLiwk6psKD3
eMdtFAU4LtCT/Lh/P3sF6Xbq/KHxdOPSy0EimijQ6iWsHS8NZazwfa9S+d7OroCIfR2EKVEretFQ
p8fxCG91HfZ3WcG1ydZDis7f6uPkbnO3aFTpHqNK8IjRIV4Ur+B1mI67l894nbei8u36VO2FcIbz
c/bcLIZwJfE6oSy9mSejnC/e/L09PpA8vOqDPR7FOwrNDEglYBrXgU62s3jQWvGuvaXWGOaWPqbb
xwAjWGbps+Gy4hPYWO0BNORH6Tlr2PECB1weLi4eFNNqYTbYdXj7wDF8OA3h6nbD48UHhiBUZZaF
/H2hqSHdUpcQdIjHPU4AkgV4BHMEDebv7oIUkc4U74XkoDfJxWAu1PEsfWwdgQXOL391ftTufr7d
cdKw81uYoWGBkKqU2ahfJX3WJkZosJv31/PtVjQ7u7ZLPp4jPUeEesYXkd4int3US+3NIhGC2Xgf
rm+SeOhrnVxhKLp9JnsnbvfSU1RVsp3g3mfXeVwAz3osW/iVyr3JYXw9OhrzhA5S2P2PKEi7Lq4D
ofdGOuP5dAoT3cts3afG9myU3XeiYRIIp05cDrvFogtE3yU/W9svmnRBudhEvfZz7dSBGhSytd7V
hPjV8uaP08dw+xUmOsHLSHuwKe1RBSdxTbw5DDIEX2lRXhIh1Il3o/svWfTh4vpU8yUBGBjPdZOO
bBrCJuhgEbd1/LjcP6WXXxEcR8cfw4+Sx9n1JhXl8+wm0aBRkfQItC6EG2gI5MKxM1GDzSJq/IWP
h3/6OD+cwBpeIRez+BYvj9unJATjKXxCMPDRBv8gnKhOVJBltT54vl/Q+MTys8us68dtdPoaxDL4
fs6NnvxETPwpSUarRPcH0+Tlev51dMb1/bWTbmjFYy1zwAtUep4Ojm3BPpWEclzQxCpir3O3R1wM
cfT1QknDEQZhg/mHyqto/nV1kzudtyAIIS0+iMRckTpxVE0YbAthk42mVa9Ualq1s432MYeAROEU
ubvBToJ2Hkr7cQGp8gUbr21Tg1OvjcWSaO46Yul1i6X3TDbfr3BBw34/Xu4bFLrJKXSG277kjjQJ
h8yGqbOwnSS4XweYlve2ux3l6JNtcjbM0iPkLn86PfhukHDGdCtL4nAjHXatTt6u7b8WuQrEHDdh
cSj6OoA+WzmiiRBfC1HCmpDuBiPBSdcoDmeyBKdWIqo6EpWKlUC/IYARHj2anJAXCqmQl+k0XD93
bPV9EIuEVaulhuJ05hMc4U6ahILrSGjD3TkaL4+76PBEbeNhdghteBd1N8dqJQoxqdvUJmRK9F6M
MkjPXEW5o3yR3Dze1qmrb7MMlWS5zd2l+8/gc2fOsrlPT6qR3uFgXc7IB5v65dU97FESWSvFpHgr
f6O86vousfVqlZ7sfNmzU3bD4Yh9gvmKkB9IjwcSHq7JyYfz66v08vGpcBar5V5eZOvINmQKM2bX
vZLaQaGBZI7YnNJdwhloxe7+9hivki1r+5wpjqR22H1/d4YNaCp03S8YIJcZs2uJxOtAeSamfcml
qpK0A7FpJLI3OT9sgl0fx+Gb17JvQlmO5746G3cg4lXaQp9o6Z6RzwW/oqv7hCKSpI8TSafh2wRR
nd1p/A5D+goasGuoIbNYUsT6CCK6bITEN631gsT6dLwTzJq97adJ2lOV0GwwEGK0BGzfCS2Z+/Rt
Er2w2qTkX+cUPEYdX8/X/bh720tkWyXOrFI2ZaYSG9Vp2KXOiZdZPmwKlcT1INjXaSnCRxWXxOom
x+rzrpJggfuf88fO6x2Jabokilz0JCXCsGnGUUkm6Wa9Uac2XDWj43xMN1/vBg88ofOmmuMoDFUi
g+sjjIuTz6DXffXBPFf6OJzeHiAqZzPvp8v7JT/piYx6iqDA5zlL83F2EnMKqglCQDth6puNY9sw
TeMJ5q/DN8eR18ldFpwU4/uwOmeJ+AFOcYKUjc2Afh9w87cblH8Bl7ImtD9ekwy8buuFpeYbf5Fu
PO4C4Z+bub1+fv3hJFiXOAmtyw6OxvTXVRg935JZuaQIwwsUP/Iar1TYe5N72PCUzqAeYHg21yfg
h/iRSe8E7OXbWxixgSRyftyPTqvenGhb6vCQUIR5x25zcUAXBA6DNEe9fggn44mjaeKz+EhPZVfP
arTESGS8H4Uah7Hxl7k4AUrtjsLcUTJIHStOwv3OKlGKengC77MDxQE/4XXwadEYxh0XX939K4Fr
qsiA2B0f1JGz/H31yYQ1Nbv36XBwRhW6aE7fvU7j8bBzemJwiwm3HneMQ2ojM1xHzK/MzIC5YucA
uX8kTmNv6JjDZrE+EXOClVfkGxX7fL9Nh/EM43ZBzP/D1EmmwpKqWzAtIMAWRL4zhT54sWraHInt
z5dPSGyej7AntobUX04k0h67oz3/3gCX4ceS9mbBLDyREekXy6JEjcErCnIperEuFnoHUbL7cTv6
idK72/s43n/6wY0XjWtBiVDTrSTLYTwOnyAJpr+Dpfl2vk+8oekFCpkYiXhjWgf17Vd8gYHSsOJ1
j6kdp9TfBAmhCHeSVu5NjIRP88/TGz/esSHzFSHSFxIuX1j+9z//eacrrXf/69+FX4kyCkd8GFr3
uIQDdpfJv1l4Ml4jxTtp6sWrAgJExkNP8XIcJKFX2VSp+SUOpxvI3dcRMukhfiTwRdwGRm66EAJ3
5tQNA3uE/vj5tmRAa71InpAnHj9eRmz82QFFcrToDaH86h2dCo2hkEDiB+f47M4QSJlSe/x2foB/
wGfZ/FhVldPIv2WpVjWpgJqNe9TBxMDYedSHUbCxyLRTQs1vH2AtD7cbhPFxortkp6msGTqXQO/u
593wAsL7xcmpXwULtE11lCVmY1BwwGG7w4TugZN73hISSDYvyNesCsSfY1S+rtizKDEwIVJRRUsE
7gsWB59IsEMiRYTibb9BW6ndcHTsfXLE+m2cxTwn3Zs6vqFCuy9IC8eWMEdt53zFISid8TvbpOTl
hM4pne9Ob7lTHWAOPdeZ65WvyXk5zsn/mO5YyLzFwmsidWMlUPVkH4pmf0+Mu6XlI7AZeNN3TNft
zHH8Nh7djdwA58ZfDyoa+DtQ88CIAs2TO68wBlaFqOLv/vzHf/EP9gdwlA5CMY5/PeoZoiMcZL1n
4QN4G8EHRtoi8p5/RnKF9WLuXc7Haf8JQnHEMNAeovSH3f37JJ3U1llNRHYn7COyCJbN+m+dpeGE
gbPwfKeaQE5EFkdK8G9ppRHoSiUk1FXEmphOFyeL0Nb9bRam1imRVxtc+eHNCSqnZ8e/PaZvLCP3
Xc6vOA43NMYnJ5oOYrWi316XOvJftk/+9T//RTZNVI7JPeaW2x50T558/Gc67a/YzzgcdzwAkHdQ
qNptPEh2HdXuyYmeo2enwkJ0fHrVILJ14/Wjj2fLhnu/crw7alt4+uELTT27qJwbF0Qg2lpbZCAx
MoGA5wlva0Eqx5yaaCj5KXohHj5gMXAhBtE0VMJhjLyakaquE8Yk3QsfIMpXCGZ0xF6rDOJ6zzRz
BevkX33P658gbgjoV5q3YxuiYFjbfuFkStoCORP52y0qLygM3yoRQsGHaTiePS1i5SjGmU/Oqb+f
odFq/3D38lmKHSiiIiOKrvBz/8BPRUGFoISh8hos5H/Yz27ImHtSWBDUQl1VglIwOQ3t3M071ME4
S/3qyApv2ZvBF4asiHGHGthUoSPhC7Lu5/fp9f7L//r9zwJ9mNQsXQqTErksuCvZWB4t83M8LXxe
51RouGcoj3IUIRl0Xc6oRotwNg9vTnF97mhLnbCb7NsNj/s7FD6HcMJi+RuPDZD+2xuWs57jf3UD
yve07B9liUvEgmomu4RV8H5LmP32FQmh75bblf7qrrjhNqqmc0o9smon/7ba9NvlsmP8KR0Pjl4r
8CARJs75w94MZAIoezkep5sYiFHEo2mxf65eMEVnchF0llm5IaqhtOq1Dkqc8YeTYHffOcWiDXjy
tdTM7tDMrkSas1+mOWcRCC9s01Grgbb++c9/xFDAdTqMjIBqiPGLuHTPtyGcmypfXxVZ1zFm46vB
YxxCduqqOpt7QnNI6Hb1Yp4o79gn7t8SUqPePSnaEobaEspbFEmUgA1d2j63+Vl2+XDujf26Vjnn
Bc2wYEy9PO53iSdsFN9gTwWj9EvRJiEuZ3pqrWK0qa04p1lye5vsGz8brl7Cnk9yRMdWKenWabzY
NzYjUikbQ886Sc/x3GIwtyMxEpR0lHpfJ6eygCMOw30QiLjOZT+oGRyypYKZSIxpU+GlVHOVKo34
zD7m7AgJL1aRk2F8VreePO/Th+Opb7d5UUHkEu6E29GGxs2xVeYG9xNSnoLTWCWxrJDT84b+93e4
5e/DdJcTLzU187GBMIg8n3teLB6PErGDdNnrsJdSTCpn7L+Np/E6zJ1SvggbQdvvEPkUpCBltRod
w9ByQIV5UZSR0ArkEUNn86JYQrGHM6J4oWQJTWOkYp6blXESRZ7vc6muL1i/59NY9I6alHXq6EP8
CzyroLyb3mwKv/L7A+HnTNX3s7TBOk1tRY8QFrudMFi8g6pb/GvRpyGxw0Xrmi2FGsMRhJATH2xk
hxBfxHLbFFDQRIX1SzwnEwoQScXkEoDfp+NxhxXJ1/FvD0gCXsf743q6Ye9AEcfEs71OidCGwqXj
uNQthWIPRD5A4IOC0G86yiC+5rL+MvGEKo/wb4RHt7lqFYBi1LvL9EMoJGiICLdx0MXr8G3aYylb
IVbVVjpxDW39rLT/gUy41VnOyMZcjPAYxATv4ryMJ1lVIMA2W4+SWUWMaHVpakAxKaJbrJMRbr/L
xfry96O4dHhD6J/gH//8v//n/4BykNkkFM2tps7mLLbwUJCT+5Ag8KUUaMsMUhqW1OB4JIS5TRpl
EYTWGZ+mb5MIdQiWBSgxZ/jC/I8TWmSBFU9cg4sn0UhbWBya1kkUDbtW25yFkKuz2L0Mt3H37vwG
YTViQ0eouH+YD7VJfRAdBYwgWlSSwQm1t/CRwKqksEkZFPmmjaXEs4wcjtMgFWhFjQ8KvF/Z/mHM
hI9RlFjMVEkEUs0TTB0x++pJKMlxlrKAmKK6ZDRBqEvcO6f9c/dyhZKq3XjbDxIEoFukTiePhLDV
DQkWfn95zuPo7Xi+xcgvaNJdBe6BjUDG73TnSo/91xHNBPuY9dyOALVFUb0BRBMkgIWFIiwNkapQ
1oWUnrFG/Gc2BXLJX8fmu4gAJCDlmxACQ74JUINQ/H89v0H3GyS0ZWloaWAX+++qwNi4znCFgGBp
jUjENdxMHaJG6xWwieR4eRecR0sNTLBwgoj/62XcvBub2Y2vnV4SZB5EDlxJX6eGdXRPywHZ2RAc
wjonDMjOoaXLcYKi5h+eAAFZjVuhWVYwyBALwvjDt+sGrzjAkbLLmGUZLLGlfZKv5/3jNkNNsdfj
l9HkPOjUmCDv4n3smQ4yv4CNC1Roz2EqIMbZ3St5aNR5ZJuvVON0i4/81XFyucXJmXPVnCMbjP1D
USF8Hto4M9zmF2qWhUhNxbKxRaIuywn1Hn7BOJwdIYWaEIgI+X3HxHDnIXnCrDHrF25TXB2n30Ab
N4CYFXMkBMrD+dol/8NxIPwSR2lWP86bzf7n45R768VevVoAghUz7b0ASOjANF/4LVVkRn1VN/5/
ghi7HB9v0yngPaJtuPvWzfzhTXWBMptImX1EfAJlegTfDYpaMI8KJhuTd8F1Qj4YOa1a9I3PE3h+
C16Dr68XNhRlR1ctyI6ni1OgUPVyOZ9u4xJV5bejllUgQNCyKIPBCfOUKawXBYnPo8zgvnhFp/N9
ev30F3W6XJxRfbtfz5+A0TB8CEft4qJYFDFP7gBvA29+OkpXrlefmyo2hl0fF4hAgfvNpQ/8Hvpl
kQTAMny4SviGc+08zQmrRvFNKs/Km2mXz+YiUA9d+R1/P4yMuk17oQsL9RktTe6XqLpTPuPV0bWT
17tO+Lh9CoX4a4VJ0ffz1XPa7Ra2c9h9TI682UYN4IZQbl2hD40d3zXk1WewSog0emTc4XiE+Uw7
P+oQ45pSjNUXNlqKQYuRcaxfQFX3OB6dKBhHP+ss/m1QnKRWUcjmebTNCJYKVWChCOx5xVJe0ife
IiwsqMNZGfoaHX/BvlwHsLqBkL37eLgO3wXhi0ubiFurOgwxdMHsvLj7nNYQuXOtwk9zPNzLUJ48
SM0mCWpmljnfBCeG+PZADwueRFgFOn+FkBApH6OTc9d78DcFPPvr+DOLRexXrHLxv+dT+cGFTjAd
CwuSauzcgvCSv8ftCbMQ/UKa5jWwloJbqlB5RRpY/MwK6da2HLHPSRnuzu7ThxjbrbLtFNxqmx6V
5FXnubmzyHnzX4QMM8wJOe0IDrjAXlEM6B5nelVh1SCo/LpeYXyDCOPHeJjAKpnz8xdGjGkixtAB
DWOIffVzCGljWaSvhfW9vQVoxor0hcLKbY8InaGT/PQ6naYbtIVhx9pcVbtDGXw/70LPWOgL97L5
Jv1QnL1AOs/mtq/p4w1Sihj2n/4+SgsZMjzXI3Gr4CCmiRyo8onFKCzoSEUQDOfBEMFaeN6ctIQm
28ImQlXPsQFs5tw7EXvY3R1VvTn7DGtBhVEVS1+5x41fWPJ1us7ZYI/P45OptrJS9itQkU4w3IPl
/bRirE+ilCWtS2D3Y/6a3h7b7zjLVgK+36IgC9UrGC6d7eOZ4R1hg2VaIGxy2Bhuxr51j6hxe7wI
ED4VARrBJ4g1vb5f0ZfyblnFKmqD0DoYKGAfYfLn4ZfZG8m4beGS417AOG5TEqV5bH4N05CdYHyv
mkcEzev4t3fULj0XHeiQhKCDBfpw7Adq+nQI2ETFYrCKYK161H/EYqyTzQ2XC+YCnZwX7qmjfIjF
XSF74jllw4Pp7HwF3ALpqfZm1wc0X/54v0rn0jYdpbHq4HuHDPvc/vq5P4pbq3MTdFaCSnq6ij4d
umzt3J729znit6wGsh3/+U7/YGdAzfDWfhYkmoB1tZbuy0rCMmSWVItonPOoohB93C0aadY30kGJ
xuwXlJ8ZIXAD01bJRYfwmKdvQs2+Os0R/PljwBnQwgiNBboP0aDUMn6AqFq8rd+sYW1Ow/pM1GH3
HvJ0iyIPbivpJylcqY5X0rYLKNbSuO0eqCDmddRoyqB8NnNR15P4wXEJGAw7SK9cE3L2KbF5iCq8
lPQUZC/wf/4rp3cCXzt7OvwVhBykhYhdEzO1qxpGv1KsYIS639uzbMyVP278VOCrOKms1lg/MFul
Pz6OUBMR6ge8y+f07eMWfnR44Tp8cJjSnNDtEhBjp6F9p/XDt+NfxuuAOIu7qur5xeYKpDAKt1Wp
RUdZbg51/edf/sCvN3c6dyHMop4wgbH19QjjcnYcOm8396HMx7RLkjisEVrSk3VxNAlbIurnUDXx
tLFv4fa4QE+VY9YfMZKMxtdNeIU+LqXQX1YBsyLdIq2a9TWU4g7nVocuaRGYnBf059O/B4H8r2xz
HF7cnF3vkuKDuVgcJqbDoHbsjmDALv1O7LIMsVpT2vUE5hW8UHSEgxXJ3asIEJmt3+Z539OYJQwA
AcJlFCjipMyIfO50YJy5s95gdsg19izC3LSBv8AqvoHCjHAoYJ1OaA4LCDj+/uPnpNd6tbnbcDq8
nH9AV8lcinGCVrU5p/rdOS374crfZ2Ujf5AmB0kMWEEMxMUQmj6ULIMg2t3cho4zQgiflvJXpwhX
LCYXnWHiySTPWNiOME/ZAhppEGJNzf0X8KHA4v7zinyOJeRd7v69RQEiA0GOII8k4J3jyvMoLuMn
CnYlxGb/Ub98pDHx6P6sIyQOQ0f+JDp+ioQ044WkLIj1vND58wpJG2E5syyHUzBDOjV7L551oqBG
kygOwwLKeilyfKUIhbYLzu3j4utCMByDyM/o/YZuXSgvDicThG9LtFa7KP/FPeW/rFqTELpNp3RR
GRQYEnd3K0jthrB8u6w6U6y7S9BVA0MnXmhEpa7QtAmj3YFCD1C1dD0/bmKSyR+vyx3vfPKcPMqK
ozc5xSEQiKxtq6pLhYHOrReJbCbooDjx1uRLI8YG6QtkfyDcXmnbOmr2MD+veibcwl2qVuUoAlB0
P0aQ70ve8A1Hpwq0TrQRKRg4nPePj4jnsLuJplR8CIKtJZhSGwyVqt9w94yWE5Saypk/XvwsvUPs
17UiTNTGyYcRQHgnQNzjsWpy22ppXclbKSis/BA7wViJogo0ttU8Uy222YoVBH7X0dZDG9THJf7v
H//wb05D/MWv8q9i1A5Joyck3/n8VNbaCy8A2UWMen9MPzAsIDCpVioxh+YxYPQiwfVyf/n3Qdql
rmpivYNCMQ2BUYvcHRw32VCpiXexDOrzeQiId3lbpVIdX8Jl42AqUh5eVbo81qtJ5pKFu66qWvix
dBxbwCKqqlb4RCWDswJCdKWM8EncmME+Tfdn2JzSwmd1rjSPszf9FZCpXrEYwl2e8EmbXkETPpGe
SKcXXYezVMInJi3M68Mn0tt0T7V8+IkSPrG5+WPO8RCOT36lIb8iXLKNNxbE4XzNwtZMfMxZXnkk
N37sqGeoKOdInHwl5xat59NlZ5jqKOpi0+T8CY+96hF2hB0Ro6zHP6jouUGbVrDxlm2hRNeCIiWu
NYpenZWTPu5K8Ddu395+cv+XVRA9Uc52mRAYt3QZ91AtWYAz98orbs9GQNyc5y+Vu3vvn6j3WP2b
W2q67IbDAYc03EKX4+PFWyXCVue26S5JLQfrCL9Y3elsOIXJf2jQijHKRpGZxCCsrQ2JQWZlePzz
iS3O9qvWJDs4d+x10qphv7PqvPkJwFI8uTFkWDRW1vWBcuWfkOZ1+YUtSc2BC2W7rv7K3qW1ydRw
i9NTbWBWZu3yA9Yxwmsxgur+tNKSX7jjuiV3HP7sN60tLdqQO2hw/E0jU1zpxeqOvpjx77bhxXh4
qvBaDVkXMOxsF1DsCiSGLCLMPA3L1+vl+6qSli/ut6ILatxvmOYepgzPK0KBoCTAo1izOCwlZPLy
0Qg5EF8RyU2SgiQXS6PnYsOF932ivoKofCcESAV3g+wJU3qhpqIcPfNhCCKWaZH7k+U/W9thyMDB
T2cOqO83QIj56ySIf61y4n9Tt6M/ZjTfSZox61WVXE4VTQwCd7Do37/CYJIwRjNsTlDAKsmm5DXD
43QbXke5TRSfT5tEBwfP35MqBrRLQYiKeIcRkgAqI+/XAcYs8qDP+D0JMSfIUY8TQBEs+eFQEPMD
alHHwx/46WveLNM5h7gcgdsQk2hUsl9TyfEgtPY8YxSpxMS3IA7YOhR7vr743tqZ3caS7+3sv8hy
KkKeiFHSQoKQxDh1nFSaXC208Gx0umlEEQf5zp2W98FjbPnIjiR0o2tQNwsdl2ILIdqMHMd2e/sI
Q5VEGExWke+vx1cItv3T8fiXwNv/JidyVN8kQiYkWnNrSBHZqHFIbW5y+cWMko0sg0OGCoHU4SuE
rdMEsJlr5/ytzX11WhASJE8IL2FDHwLRgxLUuj+g3eRXhdQskgc/18W/XZ1K9Xz2ckmp+hRZyHSR
cUBCOjP+QEhHqEyUeJaRgXvnMVlSaoO8ddw4nVA0qyZBcZDDd0um6h/KuJDEHulwxb4OHBsz7mTV
WHXkiT0Onv2C4BdkPrkvtMJ0Vukirgvm+6IeR5QXqOCck64QkBBIiojVOPw0+zvA0JkfEta2qchW
//W13Jxg3sT7aSOsa5ifCfUOM4sL3ElEWBxzkicnMeqqqioh7lDhlyNuWdNrbZOFFmCsD0BZuSJQ
7mW43ZynIuzG0mgOwUn6h1LF/tLbJPsTSFLKzddCbp5YNd0CtrGiO5/gQ5L7GUnOy7I/ne+/m24X
gMOUq0ZUT3In7WKGLM8BQ8SwklC4zi5Vw+YL+9y6ySpRhLWKzWm4waQkX7YViXHt/1rbL/Lc7L0K
ZEDdgQYt0rmyQoqLOkv6XOgo9DYpiRz2kS+9DB1/APbODIQqsGRNXg0LrlWmpLhY+FXZJvU1mm15
rg3dk95MIb5QhPuYE9tfVrMVFbj14rsXTKqQKi2aVNnKqVK6tVS61iWx3QCp6g8MdwkIX9y4NW+I
Eg2Oqe0q5kahq3vHjlX1rm2dHKou+FYx9FFMt0dZScpbtyxcWDdeGARt5+FmXjN711t0fIjYTbQe
adkQyIsEFXSEAHuKVQnPRSqyfI9ZE1G14jg7yfOwuRD+Wh4fDihz/zCTULSJBTGsE5e1t1uYB9Ih
S6Wl8GxZOYLYWiCMcg0I/saJHRidtTC8wRdgz7c+Ce9GHt0u6FSrO5ul1v/94x82OPha1UmYMHBO
0e4VTF5qLDbR5PW2prfDTuMdwrQ72XVWDQk+YMFnKPqJ0l+Q+ORbzBqGt1qFp9zdT1K1ap1WLOWk
Ukk21jYJzrSaLVUNTjFULAAEIrTpsWgx3s3LFlTdxqsTQABZOtfhCJvrEgc7CO7j+U00HbrIBqS6
YHUk0ioWzOcN3KurVXioJ5rEg+QKMkWnhm1f2BbbweZ3YhObc7ncE/jPpSgXqQahs8YpPwVABajd
H96kuiGigswyNDGpfg04Awvv/wc3JthXvulc2logSDQwR6l6us0VRgnGKnCgYJmaNOqTTf7cxnv4
y3kC3JnHJvOiLq3xzudbgzZYxY8FglVdro50Hc8khoFb+eMiPE/dZ43JTHKbWNFCLrtOAgP5gm//
NtF59M8kvFCfBrB0sWjYO2HEWQSBrgOgeClzL5yuy/myyKSP02F8derVT/wFHS2wayRg8IRCHAI8
avhcVDSk2pcUC/3WCFtFAu4kbSfVpXuJTImGTMAsvbMjys/QUyZYPVUSsatXFae/0ctRbeov58NK
zwWyhZqcuCiOyFhspHIoSZEyZxMHzObLK93xLh8cSLvPAhKa6rAoqosBgSQWUFbTNKLkg+yzNvpK
AbYiXUvYMhwW+XDcvsPEWeyj4kfN+5WIBYD5TvenLjQYbWiBIskSal/7MeeI++8VXin3XaUOzjzv
83TyflXobJcpidpthuBCr/A6QbgUjAHd57Yjla6n/yq9UjQ8Re8s30i2SeSX/GEib0m27Clg5IcU
7oIApf4xB7ngmbdOTR37nLTYlFpum0QrhG6unJbZUg1GxB8ZAFUsHhSO2ebrC8IKZUFF6oN9iEzN
Cti3vBUXINUcmEjUlV3tAbvmsCq9VJROAvDg3/TZWpovFWWTQDyJJi15bEANu5wvj4uwJ1qZiSC8
ptDQVwjIkgw7yPKu3ZC83xiQMzoXylnnOIWzZmNfC9OkhqzAM6nhIQmNknFos2WxcmGrkKBPM1vL
zPbcSwqZYHLNGhSWNln7/w8/J42su/TvgvopmNzEGAPRH9zjVU2CcOAm5wCsi9Mwn/dw3uNHUe9r
WtDUU6Mo5/ngsArJ4aGnQ9/2qbTs5KwRsWSgzkU/16U/JbVqSF8I6qXQUOPMKRzUef0fhXtucwVE
zkrZWIJRdVk5JQuFjYFGkw2PCiVkX8i5ZmsqskujYFzlFbdFTypKckRpoqtQsAKI+PdvnPcMfNmb
lwKCZ0RSSHys6qm+J7HPCxUwukr5Pdh3YpGUnIlu0xzNAvTPSVCBxkkQy3hwDbq5RcsQpCd+gJff
W58YL00Z4KETJGVK5s22bvSC/iFygTd/E+op9oralb1VtcVTt8Kp0/iW6GcWzJIml1dAfGaxEFev
krNV8l3JSyNJMRIPyJnXwGNS9KbJBfqkW22EW9XJs3cUuzrgsW4SP22bk1wboo/8dHGvN9tErdPy
gOAzCLDG/t5pABNhwustDT5CqqxPi4baLRAhJRde565PjgoUVlQb1OxXoAFKFY1EnnsOM51UylHi
FpKPREFSZc0vHxYSSVOTuwXGa3g77luQae5PZ4nhwUGPP65SYR7Ru7FAOZFGi4zaVHVBKp4R2coI
pVlyKrCiPcAUT/o3BlGEt283JEc+phvi/CG6xYYkKwUesUtSa46cbu62r0jdqPKpO9XwCdutKQxF
SqA78P26Jc/pp7r7O5PFm1qlLaxivRaMzr8ehzeBFNOaYtNtgVcqlKi0aWW/kpLnEllr4t+qDsdo
6nxgV5AJ5CExtquzrLxM2APtJ5CXTjOVq3hSYIQ57ClEEmixPwL3iZcEWcZNJQYmiSyEZFGAo/2x
A1dxF1I1gsvY5Uqighm7mdIJAgl65oGuwLbw4hIcgUKVKAkL90sr8Y93KE55nORvSQOTapafF+wd
phncL5YaT8EK8/aOB99DLxozWHK4vH3uYw7xciDlBTA4ALjDrM+QvEakQ2FMirK5GWEU9ziFEV7U
SxgomqunQVBlG+HQTYsR3jDcId0dj/fnt2dyg+IRfhlEu5PF0vxQlcU1X8xfAS+fAHQjmkFA07k9
Xvib4FercsDoiAENEw5/3bCCIrDcFXbSLKP5sKl75xUBqNYQuhBuhUBoU+gKDNgKqOVkLGwyqRoQ
JA/T7XIcPiEIISGyN8nctmC+3ADxexcmMV3DdFpw/XysiZlh4ReMcOUIGkBLTz15CN+SN8ZnMWE2
A1JXwBoDOhNzfx6qsVmgGn1qN5zMj4ZD3OIDjCZkE3a4SshmaUytAKpDCAS8B4BJ97+74XGYzp5q
hJeqCSo8SEAdLma9AgJtA67qeBSqGf2SdOQeYubV+SXfh/APhLUI1D/2pwcpC2tdpPKjllyT5wU0
FQISmb/t+/v1fL8fZ1DWj/E+sDOH/LXXy7U3UEzWBLfULxeGqYgxflzGEhjcvsLapoCm6xdC9hBP
55fpIilVOo4G8IuUMPT8EibuBAUoDB9b7+R2h4xyGNcDl7STbymkkHBfBkvRTUMX9eEpXovVZCaX
9i4CYjxXhkj0BZRKKlPxHBcfzUCEyiSP5jdzODv9Aj72+IMT9jUZNuaBVjEZoMhaSEV8f3lNpqfh
biz+EUqMjuNw/XX89NM/4G927u92yDPjTWlhYktNhldY/CP0qwdU+vIgFX9P8dmci4wAvqHGYU0L
AoMQIFqcKu/+9MyPLO+Hj6Ae+z6+fLvfE1BzJt+DE2TUMkFGeeCuKsRl2dX4tTRZCw+9zIvxB3V2
sTNluZx8TUScH1tU42xwclNiu3VNpK6/J0AVDIVml8Mr0QHu74TnioTUw7X3IdXoL8TZYS8QFAX6
Kcs1S+G9MS5VL4k5H2rz82em4XiWKCgKJOU7caumXfPH7XG7cGZmTWYDom6LYFJ+BfAuhjdRwdbx
c+8Kh7gK2lBb9auNdNz0KOn7RGpcBMyvmugtZHOIsZsumOFx+Ij6qfpJh4+Hw7/DKOPbPw+Hf7q+
McAfsGQXKAfWJ0UV7jQ/P15wDIz+3b/9xx//IK1QxxXaOBxs/LHxc7t87gP+gOvy3ws22jy9CHRP
GIobQlVCOAzYMhysCmjspl68Cyg9gSoBH/6jmGsYanWkPvE5WIzIx/lTHv0SaoqejHS3xhtqlAlr
O18nRqlUwaYNK7YRSOnHPOvNI4PuDNOGiSvUywoJ+iBe3BIpwCAEO3oAry2uQzzppCQ/DieOgVP+
rmyc1QXGm930EPxyUXCT5EIScA0Q8F/aZWByf3vgHgRwoZTw6FJO7jjzbOQC6LhoPDrcQlBc7xPU
dDt3JZatnc7Uyd2y3S6ujCnykGfD8aTwJRbRYHC7QMnxtbEesg0W0Qfs0K9wuT5OkvprIukGyeT3
4tyyX3eRhePf7sglDneoemA9HC8hgv0HEiLMf7SrX9gV7ixIGhUlTeXjTu5/6vVaBmAQPaY9tDxJ
G6uWBQ3Ylyb0tyaLtVsXi7sLc2efTrkE/oYfaDiJy7XxsA02GDV9/Xxt13l0o3RvOi4Vmoyed0Ye
9TR+33kYKymeHrbZxbcFfrF1w78tMApbOxf2Gp+kt9At4v58WhEnH217lHj0QNzVejG9eTET6Vij
+6htVT3fZAjt3M+8WxQ2FxUvxtAqjl6kCqCwVBOfGElZZWjZ/eXwIhNdNCbQ5GlCNJcsgt6WtIQl
N+5lijd0IIbKPj5qQCLDNemr9744jSTmAoe4QtTrBBc4fRcWohvlsiILYHN/E0oLYfePE4D3y5gp
uI02rmLjMMP7+XLB2NQGBdGSjcQa0ln1nE/Huax/Ry0WrKDlD9dH1esj9Ys8QVfOJ5YfJz9z3nlO
t/k3/L8R9Xodz4zDHJsAXB0T4M/7vXHv2ET1CA0Tffdkmy0G0XRyvHvaj/yxW0sMIvyjX14U5Wfp
NeNmwFTsybkWXoe+Ne4s8WKwgaRNJ+iAY7/M85wHjHmrxf3jl8/dX/mTNfFBDch4EyqJKKaFOyV/
sj41FdvILmuGY59dE5paUgCJFe2MfUi7gDwMVii/IeKJKz9l1dszSRrBWdFFKzMuRIr7n6wr/vso
igI6R4gThna+4NSE+Uy74eqHKQGrQOff1Rf6nE+sUxmmN5HZbC3mwLs5IAm55+Ey0THWWJqwTKAW
+wT83TVx8iui1ZsoynyS9nwN68CvQXedjBToV23jqijrZ3ij51WXcrsTjNE8SnBfdkl5h6Uxp175
pZeDQ8GUNMbLr1Ivq8yA80uPqacg/Iz8/Qz245mQH6rRkughhu0X0kjXB2BC34wyOx7BV5Bc3pbE
cHBxj2pc1e3T8om3BGkccTiuJnmOZulgTNe7BvTc0nApv0mTJk7C+X9gF39o3ggrB7vKe52hvK9w
BTYmC9CUfp7ikvwAD4bjicFGYgjuJvtYwonpdGIiaBMaOr8KC5BMaZu2PYfPgbyXrjrhdkj6o11K
6p4es5AZNTFATHqOn1Y5hfyTkAgzcT9kugNdCWeezlNG+QnwLcmFLUOSDbevE5YeCgsRIoqZ+PTV
71fIqYz76SYmr0xknxohFOaIChRc/P9F85GjrF1Qluii5bnqntdJmjU2m2R2h1gg2OcmMLqNZBLU
cbPELIfr/n36FhRhUtEKGdnb+zhK5W6I9q7IEAO1KGmsIZrNo2gpsqvoigDNo95XbZtUOPhk7lKS
cD5Mr5+01E0GRPEFCSZqJtDTugr1ab4ULRnXJ6yiyCoYe6z+K1Y1bF5Fx4nT4CDrKrwKJmTxk+N0
+pU+xAVzYly5g0ElHh7Dpz9QA8+zgp3yBnUexsMnGt5Drt9Rx8FtOzsN1d1DygmZmMkjEEW5lX2b
Gqr/2UIRliWpy9DvsVQI+GsYTsu0SV+7D6XwvCTBewnxynAv2t/Of80WGoptPw70JiYe/R13y1p4
8GaxbuLd4uHhHwlsSZgcpVtN2uJvx2k/blsmCrY44ivWVISyspDlJbcoVB37G6vijflyYRVSyMML
VkGFW4MWa19OfrsMjIvhr61dFqQTmUvv6tPCF0ebd2Gzmj6vbwBQm9YX1jRkzVAXHOyO/c2bMK+O
V5xnBPL4uhcTlLiijbtE7E8dGhTCjOzX6Q5DXYfPMYwD/iatZeNaUA6k53KgGwynh+qfWxSO/Ghi
XMtEoUFKt2/v6NKSC/x43HnT3+8qsobHHOzm6M9rKC9xDuntVxKJkC+sXpZDxOSQtoZS6T2ggh2n
N8iH3kYEaPKStxDk8KSoyOW1cazHiye5jbszcXcejDzEmPwTbFuipXQbq87d3UMGBRcBASVcUROP
AjatDjbtl645UjrJzPLvj/bW+eRY/7EXmNIShqcYU8HlnZAUhM/pI2EtDC11fx0QBU1+ZxMvx9sU
ATpxKwUxlQt+e5FpDFayhTDc5rWNQJ9R9mqsXZ4HRS6UhWXe7nGAToTzE3b0o69mP5SKCR+L8ElS
4bxxTziVd46k3Ob/HLUmDF/mjbyKmSbk7gyMObfWzlkHL8d8TalfIs4wwknZHcW0cb8ujCWqGvLr
CgdO+3jSMtR1C6y+X4pMOIIEloUIF7KdM+7naczQJ+TMfTDRlzokXyoRWQp/FksYLkeIjoGOgrdZ
ynmze8BKjrl7Xidx9t/2u8KvtPFXYgQ7/RWMV+dXh7PAmUJzD+/34I/NVYE6BP5DGnR2mHa30/T6
KuzVLp+H7u4ZT/vix0AWfC+/B70sUkd82L89zgCVMUdpMtTpd1DHAyjmTfK3JcV//NJ9XLom2Yjy
0t78LrY8+NNX8fRxUuQXDvAlCu6WH6NzwqYTDKy6O7f7cj3fz/uz/zpYsuHfusfwZpM0392Q8U0Y
1ja0tH0ZKDmXHJ7YvKFfzpLZPG0o8fMxBCgr8UPfaWyLL1UjRSKx+44us/izjnKxj0lIMnUxNQGK
KOSrb+9M9y1+QlIOETFxhQQr1/V0sd6AoAMcx7dh/7nlDnpNsh4LPRfuYHd/H09LGJZfm9RCII60
bst30jfphpoE4QPQ4UKigF+BpKgiiJuf7rmTf5vkCSkWOf42/xWpEeoWJEU/0w5/D7qJ9s6TFLZM
aAciIk6BzjWm8m93HflwiWB+7bdJmtf/QeOpkCU4TOgzcO22uI/VnXebyGjLa3ZNyiPhYn58HAFP
dLz6cprHx+WfbtBjNQ+c8//ypx95M6rR0SQlnPcDQj38N9E+Jwz+43HkvyAhijiQCOOcIPju13Hc
jccRpZ5nc24l1RErfOnX+AGXtrsPb/wOdLrnpQfa38+iLh73145fpCbOzcJQH8P9/UM4e5W7LXCm
2S+ip0GGTIMSi0qOvyDi5VTLGCnULDfWml6Cpn3CPj9uxy0/qeNPkjjz893uL0rXil/GEg8mNJSF
qwqJUVI1cJv+zvmQ3iKOUWDb4R+hxcmZ5rvhcL7c/wS2QymWHAfOYsK3nlucAMNt8nWhOygz9mWA
xaiyqtKJpyE0djh/eO6dNX8wjv5DjsqTlGGAPUnnaJNV2IR9S25+lbjJrgNF3sJCpDcuANBghO5y
iRV/EPgDT/RVEng+fBH0CTwllkuEKqs0bz+vgxNJ0oJU/nVx/RBn8OvDP2lD5wdUgWzY31ylAHGK
HrrVQw1GaCvdnx8nrt0Lv59rYPsEBHS+n2AN8sM78YqaeAQEQQ65bYvFDOGGfDgdUgrFcidcNPAO
/I/BuIKxc/RSmO6I3QnV8iXpbgxAw1jWy8Xa8XMdH4QMBPb+wsfgnC3OAvB3oeKPR08JgYicin1c
DpyJ5r+Ov23Qs5wRYDz6hx/XfsJZOJzgwXVUJApSKP3UoilQRbcsQGpf4oCJ79PxsB+YITD+Fdp4
jZABm8syAZHPY/VgSq18o5pQF5YNBP8LYMbdpaDSndU2Ell5SRspxKe/Qp7mfr6EqnYlHCy+MHZR
q1ROfb8CylGyKy0cLlI5iTLPJ9jwUDYuQHxTnB91fVzAIyzRnI3nUQgLFkTI+YQhOrkr2IuglvC/
TyPljyHdhI0UB15QqAf2mxcqmvyTEBnt2zSa1Xsa4ePIc3D8Tqd7J9ECNujsb6HKETyWQ3Pjffx3
RGKEGGJIwcMnP/3gP7REUGn4w5KqUoG3422Bw9LlRIzYkOlFTFyFuKoeKXDBuxII3+YEzAZ1bIlk
62LFI0Ep57LdftuRzAjm+ffrGRBVncYb7hzQDH7exUf2Q3MphEloa+awPPzl9zntkuoHiU1MlOxJ
LSrVtcLpK6Jf1ghHjxsH5u93rokchlcI1fDwy2WRWxH2VsjjKkN2zk8+SZkZf4hIAslkRez/LEiK
hiiTxptcGWvuXbbYCAlWTcxYzk0zjpKG78NnaEUN/UP3O8iQHcG2ESSCofYUGlThpZDCBFEWT1dr
36uxkoMCZbVZQ1LQawKREv1KYRABpvByxohr0RKK9IIpjX6bzhdZpycErJGKPfm/vvpkFMZShWch
WsYXyuRoZ4PKjuvoFofPVYKRF1fmBh16pohahIQW9p/X6Xic9uxwHv9tTwja45atyEb44TZyA5mu
jfU6s88mXEWkOYt11lXIhoaanrl69eAe+z43d1+HCSvJEe1V0DBVTq+vVhY+J1uLzXxzl8JddgKi
QYQaQ6+NilAML1xMXOF51BnkXQa83OkECc9ZasbOgfmHJGom3IBVHU2zstARATHCp83dCaIrqIlV
0GHDYr9l54LArvK2pdfYxfyNJ1EiSxqSHl0D1giyo6Emru/RoyBu36YhMj7n0aooncl8h2BmLwEE
KHW5irRR03WgIbdOqMPzivB5R47iC5mCBeW0nmOxmEtYNBkmGGS7TMULajXWS+gVOd2cRBMtwjZl
OLWU3s/BiLJ90xFfBrF4g4im5Cc8MvkaxVq7NBH5/Du/d+IuR4S2lVUpKl/ixsX5aH7boX59jl8J
+6d2AymcWcQOKWOc7rfx+CoIIGJKKBJEKctl4ZZU6qt2sgUYlbqs+eKpsbrGzoXwP0IVhvtfBJQ6
3bAEEy/zr8O3IZS9ia9rSJcBqElI8HV2xkO6OYt5rr31FTh+IsPO/6u5NPwQhrAKSd+YXyfT0LJL
srBlfiETs8ekQeQ27p0FcP98Lmn2ilqa5AWtkgRUgOjSUHTkgY0DZOUsxsYfF2d3QPGe3/7v/vVP
/y+7vNZps1bwqq57Z306k/ndCcR7qEG98t1srW1zMAPLMjMaM7SgQflH2LLTxZyNgoum+cSQ6/Gl
o6h0Q4jUdxPI5h8m+PpsH2dSZj76hFx4FSd+pyvMXb76gmEWEg1fKibo5vKBuRQIaoEuZ/cqn76p
v3CbirRURhPkh9ume8vf/+vvoDHw5xkgy/dtTacws9w9us96squTRCKJenhq/F+OOX/2zInLgmvH
J7YbknRHf9CuNzrcQAYjqYdO7dNcvPHvV8AsvLOp1JY07hI/BFs10jZJw8Bmww5Vk+t4XfaDFR2s
CYNHjG9BG4d8YvnizwCogTCbmz8KgaeIjTo5Jnbi/LDmYJ55TY7iDo5ydwe3s9065MsuRFBCSO8V
eccw0w8FeOA6vDr2xKSCgGwtc+LFy5WZd05U4zuYhRrW3LXQBCawuc1pWt6AfyRizwmprRLKpvSf
G9jo/pIFnGqIiMOK4jZ7Ku8ODEdnEPI0VvWky1VFsOPMnYcC7zLxm00irbQx2sMNL8lwkEcjk0m+
Jc3JCJ7SrCk1+CX/xy8PTfG8IFSp0kpqRqAr5FAgciLxPT4HXSDYadtOReSoQkx7vT5XeDMpAIR8
FykSfK+ukswFntmi0UFs4mC14WKLDQO1d6E1+cjLchPLc0gBSJ7OnaU7uG957Rg3R8YQkKsKD+D+
HH8EDcTfF2lWj9NfvTKccBTMNkVocxo7c2HzsO3pBBaxiNbQ2tVBQw52PdiC5OlZxJYqAHhSCVrn
hVXHHpLAWDSxs+754hGFmJj5UNDtc9DQkcMKiq7SuYq3uf4vOBS33f/94x/+zRHKX5hx3xxiserp
0M04lv0HFnEG6wm6tAW4e7dGBGOu45AVWGM+/AmrzL6yrS43yguW/F8//wcOL8ZSlXnh27tz2vb8
oGW3oE2H17B73LDUagihlff2hUNHeG/MOZpl4dXzbthj84St7fkkjouYzfmCCd/qNqfP82IqFOdz
KS+UVFG7Y2FUvbLPvJhhc5tomaVmT0htwqhhgEb2sml2ru7nC7sOkXMk250i/x8fko1IwC+w0DPE
i/0ZQv5tRrjbIDBbYq2YiMlx+/YWKrwouotfzP8L9rYpRJ2f1SZpmdP4TfLAVK4a+ElWKt6wiwqh
w8TbAu/yRx9N8AVf49FJHYDeYXv//AT7CD5BEtxz8vA0ODMfS9BfPrHBBysh+cUiHgaRN9nFonHO
2y+WlAwhIEIc7TyDiWDk5Ib9u5In4leK0AqEBed+jXmO7vsVcITkMQJ+uYhWgmnXUJ2Aoqu4FxUB
4zHL76+daLYLhoXu03E+YvF0EeaEFvEuufuo3KmxxkuHaDeSlHoi7SCadzyf3fbcot/Hl9vfeHlV
Zw0O3MmfFlhC/HBRmK+Pk49C4KAfEEkRlAR8WV5sN2Rucot4Vk0Ebfxxx3K+xU9/d0wsLGWTCcWz
e51bSDAH/VJkZCcEHOtl1oOozciwV8iRG/V8FmIcCT/fpFOL+JMIa5BRfTHMBWG30jGaqO07IK2u
jZGnf/rDH/78f5yN51nHI255GiWIlb4yVrgnnRunkojV4h7JgGyDdbn90x691/6ljSkydtszkmDb
ylGBrrI5O3Y/OBl2I6g49+/n3fv5xvekNBVlb+R3Pat/dG7Gw+ElMQF49V9tDMf87s9//D1U1IDU
F72ThgYpo2n4pCJrXkV2uaAT6Iz/wIxBGCGxIElJplZDML7QUAn5F+hbf/ZXiWnIGyhVLmT3HG+C
KZfFgC4N1JnVXW0L4iNp8/66ykXKw0ATCvYlDo7Adm0Te2IpeluYjeLzamFP1/Gv3lLwa3A9srWJ
3akaQS598smHhhcTg3tdv0QsnCdtNWjrDC/nB0w8GZiAn/8+FvKTB1h+mxXK/uPY40vUongl/F3E
pl9SBubXgmTv6/05S3beC3uzcT2Lc39zg3+F72OfBFEWPNCT/8iwr8FZnv47Hb8LZDqz/H/+5Q+L
gx8kbkA69Qbk42Uuo9odneUukIolrxVNUbJugnNHf0VYM94yCZ0we3VkMKfNA1WI6HL+ByLXrWIA
0mXw69WRX4i8//KGo90kKFB/AELXMc/C3vqGI1jz21bcQCGqcDncyl98BBvJnfR3FCl8aQ8XVibd
TVE5MSuXcR39mnWCm1Ub+VZ+E5VXT086K2kUelCLC13tYCJhER7+kxucRsLlbEggn1QZPQVKgw0w
HPgAEEl4EMB9WymYcev0DH4T/5YV88oSbIfuGekz+mYAXgeQquifySGYlsCielC3gru3qcKgJXYY
YbQwgMLZp+upiVitpPlNxuVI9JFG41ZRhSU6h7BnUnSOwKemMJZPVqf7nx/5nkwMZOtcIQAhdRxc
/j44gx/qUzBJdYdc9VcSoCZ3q6H+ASZxwD6vj+N4KxYuNJXKA1CjQxFiY7gkjZOVrrMheTlSUJ9d
NWKPb4nEzXAkq6RK8kg+ElHcI4E5Juk+jrN9ITrP3HExomQzVjjg0GxOwpPUFil9EWogbiOgHPJZ
SZJ7i21FZL316XkSbHKlC0+80vAeWp/L3NKygAUKxTmje8Bgc6SDvTPsnggWs8cLaFYTKEGCfaOT
t7D8nXf8OhJI1hFFJxrQ1LScIwSoy1YpqkTPc/+OV259NOGgwiZU3ybbCLeE9lQI6cwlTNc9OLv/
NEO1/uln4YeIWRHTWKUfir/zRn5HGD+Ov9VFIwxCCAHU7QuH+tKPRauGQKL/1hvkwFP8HcZztTji
6It3CAs7uSCcJRoAQOZ9+8UfWB9FIoiuSymvew7aPRH0zADxHwm99GplzOjq6RdyDOV/dcMvzJV5
XyRp5uWFn1G5n0nN5tUZfoOZ21TE+PNl3tU/8vrSy0evC8bNdfYf+B3hV6JngLmsagN9lQVmU0U5
ltcuOZr6Te9BhJhZ+lu/QF1Fbu+jY0MQC0v8UcoI+M0Tn6nBDFa9afEv+MN9k8iPkKv87bJKoKSo
I8lcqX9Awot6krJhEzPW6c9NfjDRVNLuhAfUUoa97Y5iFquoNXSiAbv+a08tbL972n4unF2iSKRt
WvMI3kjV8TUJfFFgxddiJ7b43PZ1efD+kVHFVETiCu++/8pn7usUiywAiZ0SCefuzX31jlDn0x6Q
nPaI1w5jLgRvhgBkoQNiuEN/oT6ZVHVhjUn7VJURfPhNVRkNcdyglzEEQArBAD4WQAvZ8Q+28lke
+IzeiMoV52Qfhpma0/RdrqT8qURfLg1pc7mcJ5cUozG3+XR4+YViYpMFXUvqa5wE3PSMxCfylm7N
+fYxnid79Dbd25OuJjJ6OE4DXw1M90aNyQxJ4OgY50Dc+deYUd+X6V71E14xRBP52JehZUg4keA5
0Hwd3x7H4frbwkB1DpdOknNljt+ay90/3JIffNJwdXXF5g1IVvMtDiZbYJbr1uBlrzI5IEqvVkKo
CMqS5oI37JgsRQ0p6UIE0eiOq30rh6PIfGgsDlK6qB14bbCa59aU7l+eTtWSuVsyXUTtIulUk6to
Zp9iusW4FP8UFAcTgTCU2Atw4Ua343GlGnUAVMxUXd/ez4+j2/cIm53u09+FzdrsrDw06/zsa/ID
vAJsc917VG6GwrbgzAhpNhSefVqB/ZSjAcS+Jcf/gylP6bKmV45T+VpwlR1GKFpJcvV3Q6KVtIZh
W5B725wp1GSrrrKOKWI/kdKm85Wv9ckWispZnlIVnkktuuYpgRKC58Vq5i6VpjZbYQuKgnS78tsi
nXQQ4DcBe+XJ8sFWX6EWuSWipdTYx3dOKfslVUHlE7pn1zP/ArQRASqBjcqEzpcKLN6TaIWh1D+H
vuB/R5vTY7SHcZtThKnYVQ3bHL1EHTAmgxHagATlJ5J+G5dVFnQKaeQrrlmRKSOYb9NrpxmtRYn0
cB0yLUFh30hwdoiZGOt2kgfjsQpwYWVzULKTh3IIM2aWgPOM5MWuRiYS0L7lmWiCcBZGeeIqbbw0
WrNczMLhxwTtlbD74QHZJyzZml9TeDSCnBol+nXEPFZ4qtnSn/hl6rgM9o4pOg0GnmzTy5NhEUQi
zg/kSah4KSYuQkquwolgVkdoesZFI23yC5KJPFjKHWRhhuNO55NbbRLuqY9E03u4C3axip/YsQRv
+2W4vE3mUt52HwBdsGPRIhA+kayS3NTbhM76yyc0JqMKKjBWTW6oW8AVw4PB67uLET5vIwgwSUKs
aBBejgpRYTdNbrml2nwZ9+KMuiIxUcxovdQfhq3h0GOkpsDlmdCB31FchcTm1iS5iRbJfJtYF5Qj
n8twf7/tGIcJATKqyCgYCmpmLe8lYeFqmioruZ4VSFUL0ocMu/KjS/WadICEFyIQjlN3lUBFovBq
bFnsFGWXMTmAbz8lNLY6LH9RWm+ZDtMntYiE8oTzkHlnvuJlRqMfjmWSr5rcQaZTKNhN1WVRQ8VT
IDy0XcDB024hvxy8t+K4qFFkSBWCnsVD+UeCSOD9P6aP0VsHhQdTOmcNhD5+mDZzugcRuIvkKLwX
IWW4wY5jB56ELdEOCoVi22XP+HsAit32mGS0E7HjFyMFO9qC+BJtWy+oVQ5Bf17Nj56ct5muLRBr
k91hHG4XWh5wjJzwAPNUdbw8tM2soFsFmdQR3CDI+na9XfoBZjnknNW3vRDA9rRfp1qxKtK+5mmf
MKWKZVFhpjN8C44dbK5M+bYnkjtGj/x0QljKxyhwGcFKN+n0ByVZRYLy78nEPijZsnMnWlQB00nK
sfnHJ7IB+zlmPPblUGW3Q5PRCSoCKRAj1j07TkUucR0Z9kdC3slCp3HDjog4QKcoyKjnHZWXajar
uN3b+fwqaBejcnIzKDpKkWULIl4TwcAgD3/+Nl6v02FcgB0KEqBLRXAriCcx9e8FU7RKSRBv/Yhl
WiBzEX0RiaYXtkm19LlzBVMAhlSNgAixlwz0yKykpOjZwhZWiMeg07Q4O80I8jXyGdxHuI75lRCz
W3jiKjd5lVDHbJ+U3sX2TToypF6kMxH0vDy2OQ6nfgGx7nFUjzC1siajjmkkMF6uWObrL6bPywpq
8+2wzjVu8YMruPCmQ50bexMGeUI7NuR0lpECG0xBYiB3i9YJgb/pdJtgpsrtIixQpS9ms16Uh8Eq
8bZKwxVzwBgbqcOAdGErtiNmrV7M2lW4oywa+lQP14JQToNognTWuUuahY2zDu4b7eNl4EyfTDDM
WlOtoN7jTSMgRdO2T6ZL2nC2wX6pszujEmSLfCdzi+wybSNjsAuTU4nxotABTM1XlIv3Ya57KIVR
uihUSEle3vMqanwCf0kKW7LKULijLnW5VJQpM2FC6pOEY0uGWtXm3m5//niBsy3BZiynmISxU5aY
6aieu6etCZuIxyL5P6xCgoi6wLE2d6lfexgyoprI1cChm/bfkEtEvNA2F2+b6QXBxATFQQYLW8zr
W93klLtAt1Gyk0yl1xRlOtVpGEnlcgZlUUpCHvhItimJmbKFsNLxhhWAH8MRMleOG9gZV14YNqn1
IohUK1w3STyAK2eCg1rMj0joaD4kEh8y6b/KRQsEitKpoq9Ceg0LpJYxvt4DFpA+DBmjO1M6hRXZ
5GPUJGiEQPeN4KY6Mv+Y9uejMBZ+adXAABSKxCovpTeGDfMD8HL7U5WwKxL7qP3FicGx8rWpXNyb
NfelVEVqaoXC+dwBDyMMYx/u0r6I6kfgbB1KmnEnztCeU7SIhI+e4/fhehJHxndUI+G45nW6cUkq
l2OKreRm05DpPGfEERuc3ZuOgiY28YWx4l1xXndZeTRbxRpTw+EfgjB5gxNLu8WBKjpPJFGMI2lW
912+5lU0zDzJeo+g6c9UtidVGvFuSkkVLdwuIXcICbdh8kHGrhR8ZJKaUQiBMXtLqFO/6njZ3PGy
+bDyzfe55AA8+rwN9tF1+mZ85kpM8tDIGo4mz2FWYCXkgi/if2JRPHLUtiGSz3Mzv89eYA8SHQVn
0zRsekzQ9ISYFAYDbS9SetmkqXLPx6YXyuRQJape91JFRTlz3+Ti0vkgd/moOhffyb6jFKyi6rkL
YwryEaeymGlJvnWZCMsYDmWubnLlJ6uQXsA+kuJ6JEkR5yIyL1j2bdpszOhLKUNDosJPiAxikqmc
wGrq3KzibY5bQ0ploCxAB1gGUjnoA2yAm85XnatYWUf6vaKNjWMToCtugirTIdZk8lDgrY61nSRw
kOtOF6p2CWRwmKOyDSugCEFAATEjW6dQ1yIEflOT2l9fACzU1BUrsUk1YpgE120pXz9J/fItwc6O
dRnJBsVJMPgAJveKcj3oNpiOeusMgYB+txm/IFuGHhCwfaB4S8tJnQP4hteQINg7Qlbg/vSNVI07
HMergLpX5dpnGPDXOITDNxHA7Ju363Dgr1/p3AEzmBZ88wARGrH7OPOA+DcFoPdGZ2EnnsAd+MkY
dQpwV1eFaQFv4/3f596UP7/y5FQXUcbTXrwip3e5cSV+qX9DlYFfhbWDEgGkTLdhAYhVRRDcmAp7
XuTC9bz4VcyyCrZVGmYVqL1kV1F9BM+tY8fh8yp8Ws1vJqLVJt0VzwshEwgLaYKZi/XVYZbR/0VA
/D8j5K6HFfwRSOXs/5lz/0+fGD+TgeB0HoFLWmwWawmQkPsPhB+JndPEKlr/iM8X8auo2Bwdpgvq
uUMst90wlmtOiGHxixC99T8Ru6JJFcZ6+cz5kXWEC4hNv8QIy9/yHLPfHyd2OKNfVG95unXBOW57
26u1KdRem10/VGYLy8TmbzonJHN2YY2IG0DB779KpYVXUgSBMYab5F9xq76cD8LWVZdu3WwlqcKN
xL2SnEvx8Z1J/+q0r8ACmoDPRRG4Xhhvkptb4s9dpzifzZeps8RTURzMvSvrFiwYkPvDOd8np+TA
p3Ay+wdrtJD2UAioeG7C2ND+/AHvswMkQEitj6fbxLYBIBJSn7NQ0C+6vY/O3QYQ7aKl39Y2xW+r
5dkvG7B0W7NqW5PGKhSWIm0/eZTCJ6tf6k9vhZEoqUk2XW8+7c4bZC0ZPxDHACfT5fwlLlM4fFPi
/CJS32kW5z3fbbcGI+Ba4fP4dJkBXfxQUzx2nW2AWzeFfZwP0+snn4NEMqlzBrK3Fv/l55+3+SE6
CwUhu7+816tzPYnOzn87/v/XktiSEY+kdXoJGUiDmojLSuDqVwS2jEkoFGHiXrpcVy2Dkcc7AUIr
ssQLPANke9WZdlPfZ8rRvf0iXB+kC+SwQZseNowmhzTWv/gsVhiZgKNAxx3M1YWpotDvyz8GvkMf
BxsYyBibvlqGseNaw+MwnQM6xMY1uzgeQCksBp+DRMuqAUFzKq0UhxXg0FptV+ssdWHbNtaTw9Y4
xXo1RcS/85adkelCUCo5t5GEFCCGG+/noHG+tsu+JiMMQMJUJj10gBLYsMs+TkMgRg+zy+2H78mz
xFRR5lGKt9ils65COhpLs+A94klLC9ncUI25z23TVuJ8BnTXV2f6wuVEyiC1p8/FT5uJNk7+wBa4
uu1X1406YStxxWNqSPPoXjOrFc9JJpLEGRQJbd1m4voqB7SEA1Do9Vnxsen64loBTKqVNvqFd460
S3qvI9rN1x45MqoB/9foMIc6hMaOkzP3JQ1PUAIIA6TqKyqcrWhS2aEPKzCIJ0+EicNWOcwBBlgi
+hAcwkSTM6tX84v/9//83bxewSYhwxUJXsBiQPx24PDWkplmMIXOfsG+400ogkYexToX5+WRKkhC
iDRqcRNv+bySzg2hkzwmcBMLfaxo99S5hMSmcZB8EN+k2CT5ebilCaEE4YQgWycxmZDHKWNo1Dl/
AvXFP4O68MANActhxv0T6pRI7SkBD1t9v3u7Ov8Jq+qu7u4QAHl3HH9M+4HPi1rSgU07cdZr42rH
k7DHWPaA7kizeY/H04ZddrkEemH18qpNtrNFXFVYLRbIEKDw/E0K96jTOmOz5aQ8eJrfWZ0rGKCM
hjV9pZk4fn+0cwunPjC3VkKF9KvFKhKsJa67mlvNCWxxVoxfT+XKu59WK92Xfer/QlPldj5CjeL/
OV+PB/wwnJGUV97uV67k0GN1VrmZMBtHCjUqN2zjO2zHSfSHNPuji5+SYtj5Pg6j2/dZCOHWXRoh
TSIG5PhzaRm/UtunoLdez4VuazSr/Hn2twtmnZzfK2yrTqPgMQs942AGaDDhTuPJMEZg8thiwoG6
FJBYpS8qI/P5LZCZNZE96QrlU8T8CkljO4q4/k/3tM68xgG70ilINqnGHi2/i/v5su0WmhyBeNNn
yxW06WiaLv28fP4mnS3lZZKzuXZfeMla5aZaHabDvwCunJ8N/2e03YU1+qdhVW6NN+e0Ah7ncJ1g
NIh0EJKKiHbX6fHxMl63XGRL5Aup40eptOn7Ok0B1dnArPA9GTMQUR82ItP6G+hzc9PmvP8mWjS5
OzhMtwsg4/yrnFZtCHJ2bEqBvNmWzdc2N6htLDBfY3MpV3Lk4qvZNBFWJ5suE352aFbKPX4L0iJZ
EeQnfBdS2XWb496sThAWaXL58OBrb7lD9fQ9Nq/Al/vz8cuZtZZk6QhSfW6WDw87SDIJMe5EqpsO
fjoGX1nTklk4BqoSjOoKfvWZF3HoV9c5CL0kSu8W/COw2nj4l59//guckEfkI4lDvPbVDGhfQPrT
XhpnrFJ87MyGIA6xBIf++Q9//pf/519/x69X5bCxswV9xTIkEipI8HjoYJ7P0/79ej6dHzcEQeRB
gduCS068ZTSXZejMtq9yXnM+vMSHk3Sufq5ADTwx1MUMEIQJL9fpQ85q10Keck4ljbcbDlbaWFFG
SlHp1Oxy9S6fuayKm4TTWp662tzk7VLV7pbx7GjIVrnsGcyaxWFL4/X2ALToqwRP3pD6Ssxvt2KI
cHbU/uzT+VygkIi0BmFkiyDUsxTnw1JdWgbxtCJ8OLr/54dLbUby7to0S9tseqK5iP++Aap6xgjJ
DkUgZGR4MmpygxBfRhiZgpVo4aS+yqsYO6z7fDZ445lTEGb+1F0uzpmWlm/Ag6Yp4goHsW8JiJdj
2asx1yavk0qqqMlmxJ8mD/yGuuQuh9PtDv1Pj8PkBCJ+g1Afvr0SEXY9eibvAGAZaBDhWEmHJYoq
CbxDHZpXTr4d5wENRx/TCeIqXDsONnWT0luFhQLB0Y4N2D9QM2D3FwakfeUqv6QJXR1Yh2ti1X1+
oye4jP37cOXX68nRsYx07nSLKw6Hw+043N4B1+j8gCmRf3twhSm4Zm3IdZLBB4BUM1dq/M9//n/k
nenWklVUHHc3OrfygBvbnw+03Ufzaxl6SuxSVMuOlktzxvIHX7usO5UnEqeRQtx6OrnD/dt//PEP
wkbiIvh/dXok/kNbkRNo/CcLxvVwctJIeBCryNaxrC+IyyAj18PMvk97HEHvBMeew9zxS7VxXTp3
iDCh07u/ukdHl0pgQEox+Ec0FAl7FFou/VnJnjyyUCiuIhvZwBg6KAR/NvyjXp8tz3XCKcnWsL7a
rKe/+eu6Da/CKn2sWSch+8EZ5I6t4NUiQc6mhMAZhDQgHtV0WXlyvw4TWlDAI06d1ILMI4dEa8ws
KWDykvEHeDGiKFGYSBR50fQy7H/Fvxbkkl7JpcDBnEQR2LghDKXwn6TwUH8VJvx41iGHQ6c7lAOA
Xhj8HQHs6uN+l1axVHEhKq16JvbQZlii93gkCvXsKX3pRnbGya+yg+UFFJHdtBP4dXj8CG+vhFOp
tazztxvCQp+hXsBtCBUR399hTJ+/5fU7LZWMRngxVSRHqns33brpiJRB8mzko7qfedkhmePC0tG7
vPrkRKoWRGpcqidskxDZ8OH2C46lQGF1roWoZAt1gi3U54+YF9HF0Q9eRlPOnseZP8to4ZTEQIsj
JMmWskpX2FC1Vo3NpnvTwr0R2YO+RPNEyaK/hIs0/UqY2ifVIeox05JdtIsptNaFlI0ENUb5iBpn
az5CLpLsB0MNLWrTUHiqHRh53q2aBPGjO50XP6W3q4W3i/RJJgeTSw/QhGAXur8VPAkqzwwB4aFW
OkyH/6ef/+X3vy/df9vmzVMvIy7j6YazJ72rK5yONPbV+Mc2Ym+EJdu1kNABajd0GGG53VxRvZEr
zZNFrTvRETuXfCYiNryHYnV2wVdn6H06D3QSLXPTld06uj8sGAo4Le6f/u0xXj+FvVKzH6f+dgEz
a6PDbUyVt1uIfSAQmyVshZ1rQXb4qpAI+iSxuaZyvuUvaG35CmqysmvV8SRWL77daYtl0JANYmem
UdkNquZlus8EIQj9llJEjWp95b6WzTpjCXsupQtPV/Z+HUfsILoRL/KQ7lS4RqIX0G+3si9o+aU0
leUaVUOSqblBjk7Q5brPeevr8zpz/TEcC+EDQ8MH3mXIWFFllUJ5D8lCPdGto69v5+OD67Ly90pZ
uItWxVpfBqqXolzGUFcGTlaZ7D3NM4YWmuCKjvx9tSsmf6b/VNUJrKTXwjD6Wruh4KhZGoZCGrKb
VJIVVFKdV0lP8ktgZ/0kg1VBey+g5MW7122Xd8BKwnH3n7rSncDaNKbSZl0oEYXANN0quDAr8+Ux
xPCbIQFZUlHGeYOCL6jzRnk+NAFyakPUlFJFHdckrkMoDBADhbXNhybWhvVWE7bJm7CcNBai4apf
OdABhnyROf4BBNM8Hk1X+McT+Yw/LteQI309wysKHnLdryz9wNnIhmTKryT7dJ0PKbFSSmDppsqb
VVFD/+dfpNAyBcVYTyaZ3THJQIjfg957duf+eXqrC36Asd069K8WcnmdjnFO1+721+km0AohO4xk
tE9+NBbWQgW/ILuZGO5ajqHqFs3Fjug49BCtEEEX5EafjyGtmXNLfLpae7zdJr3UC05Nlberxdhy
GbfZSyLD5C+2pNiEhyGIMkG392UzWdDNiSPbx4fOxpQEKcxE36h6vl+dySeg3HRPkYiWsdgp/cky
wqxf2D5tC1p2TnDthfRcvbYg+YDxnOkVLO06r9hl0tt6bGXz3nqJV1rBkuhW7lSwKYOKLmf0DE1U
YVrQ5D1+KF7B5IYgndaJjXkza4NSIHz9JJpsMSAn0G6fN5DW/sXxLPkAps3nJGbJv0VOqm7lAwbv
BO+GYEVyIDP+clTe64o72XYtVK3RsSdxHVDSQhKCeLQE6Dofy1phwQiUqFfK1lZlk3ErIUSJg/3p
DWtVPOWdNwYMjCVeOsU4Z1TLdTwOCGkrzLfwqqXJe+xEFWzOCiSpx7zbTvc4BygEyzPR/zXvoyWX
uLs9nIx/g2G7l2ESok9tv1LXwfsmZ38bN1bXWGpnm6wVdoKaJxg9Ivl+64zpPKqajMERGCc+Jmn7
jZnfrRYcTasZG4N8oqISBEKdGu2NQBWCX61XwUyTl90kGicYloRjKxh6tY7MCuLJmrzZk8o34ZVI
eUy1DHAJKMFbagYsUaqYOat1Vi1vKY1STZFneeEluJ3UyrbRys4X43ycr+OGiE1jUzHbCuGIDUdP
ggj+BzLVCdOJA+j13zVr7+uJuovxB0MNac90mt5WmH+6mBVSk7PnDr2lfm4OVe6PZwxriDTXrc/Z
iIUB5TP3ZuXacZahd1sFd7yzK2llVVYwwPydy/Fx23GzL71kUPmY4292Co3OuyOiDhOSozRu6X2S
Lmt1hoJYMai9LodRa0GG1sNiTQgyLR4SLIpe3pLg6hqbvy0PrjDet5QdWaZiTzb1NpjZNOGIWdxK
l7LJXwlIN2kFSnAE8iJzk5Zr1qHoqssm6zYIS1oFiWRT603RcqlweF2vOo/u2lSwKaROG1KDg2go
oTbv9GzQwnqFNC7xq0kjTdjk+eTr8E/FBI1uSVgeZqG3TM3M6Tz3rOQwz7wufZJRVS4OKnA+2Ywf
M88EMF+c7hcCmHYtw58GspbC3dRzZZIMz9JR0AXVikxtI7ogm0q9e71Wz7yNJCj5p9yo3h4clDLy
1VofqHyEX0q02VWZjCmVyQh03v8m6Qs9k4LkLZl+WeEjXFq/LmNoRY0l3B0tu/chLvMFMSbVYjY5
nbo9Tr0pcERIG+tsQ1Nl6stIpdXxIgkw17MggRiYhMHh5Um8SijcCmNJQbJucIusWocfnqPkyeSw
QuWeXbmbIYq1rdafROzJMNp4q4XCQ63W6tZsCqVIVnK/YnGrN4WHBVuNeuQ06rg/n3+dNhWIJwl+
pL8qEODmwEvNVD8XbkqQ9mp9qnwDw4Zi4C4f2t2Q4Ta0qseH3ptNIk8oFKqaVYgqNMh8JV6gabE5
dZpXglMIXph8qQkNlG0wR+06rW2eoJPgfgD6BrFG3V8dD37I5e02CiE4S5J4WERs9BNB4fIbqofr
tUAyec0slfCZfFOXaB9Jhl+zoqtcqEFQ7iatLWmlAmRhG7S6MSlATszqDf1z1drD6fPRtF00tIVd
kQdDcy0AOUWG3V47+5SyVfkY3bZCSVWX9IFA0NQmrqLkRzL0lsK7E2NHJ+xLJa1ar0taV8kqQdSb
vLJIa/o2XEXSvFBFO5ohQqmOQ63zsUquD5SsQJ3PY5dqkQU91K1FXJ1z8qQ0f9yTjXA7z6zh/slx
gE3dpQZLY5t8Bo29LinMw0TZ2J4lyd2v1hZA89TxtiWLZ9p8vTYOpwyzYUEshVipf8/LwKG7earv
SCoT/2CquKXyqy5DpkgJPi4cogW32GsO8Gxg1PEQIwRZgGDyrPvXpbEs2Kze5EZUrPFcPGzrfjhy
5QuIydMkWAnPMA8hOCICy5KxChGLsjgyjD+eSY8XQE8AlRbDZstBTcVjOKh6yxyzwpgMHcE6SESL
w6rBm5rjUtuQWlsCDRH+6POj7o7n8w3H3Hm4cJ7CsuNLgojAomQ0xV+nEewyETmXIPJD5KzX+ZkU
JWo1EVFCtwtmE7nEw/jqnOd/D+KMJ7OIrAMB1nbTFImvgWi0zfPcC4xhDt+mN/T08aMAeA+VqW/j
jp9kqAioAkpbDP+1JoUzXIII3vpiV5q7/2AlghRMwS5QvQl9UIqYtlWfgMBf0JkheBz8AvOAkT4Z
Jfd8HgH4WJGezWo17x2Gms7yHi/YK/A46zQXn1Wkvg4X7JYLwpOV5usokpepcMwZUO4CGum2ceJ/
d4YQn0FW66VwZhFVAki1IgVbnkoqJJXZ6jgfj2gh7IZXCOxgGc74t8f0bSnGcYu/eQRwHJLiePvK
/1IbqUhX4BW6PwNSBMQbbWV3b2eoCRMerl+WwOmcAV3PfQM6B1+KN2gVKeHyFTUgn/XsEC03hoLU
ETfKLPc9CEQ2qqFI0yE+f7PglPlPg+zzF8kP7lMkSI/HizDzyXM6w3vaC68ZCQlDiIFTFylCgmFQ
X/KAiXHsKG5FisSqPsx+CjLk00nwaT9L4vlv8aj4HI4cmGY7RfryqxRFOko1FmxWEWNytaf5aKbS
JUKaE/B406Bf9T9E84yxqkhDsKf6BktAFjsFKe32eAnqTCbdOSOHnEoDX2ia+AML+7DxxhUWHc35
/AeC2euqKl5aF49C85ULSUGTwnj9Nt5kS0uR7qWV5Iq2C0bcCsRekUeMsQlo0btu5ZcuLgFp9kAH
KZQ+JKGh0GT3PgFDOyv5Pn4ILBhPRgCdEiYuXbQiB4Nd9fGdneUJMulyPt0EUjFRymE02u/B7QCi
rH5MCjgkozAfVZEikAqnkSIms93MKAJL1IQlalQE4f2Xiw+ocV+5dqIKI4BMiCsRARgk1t3DZAty
L3IbFoBpWz9ZPUDv0hKa3B4OY02q6rxm3r29CAqvi1dFRqpxpxK2EikKgpRNkByP27t/xMfFGeeb
GLeOO0JHsqK0qbfQJtlKBGOFVqto2X9Vn8zRmCpFm1/IaQ54fIWeorAjcIGhGdw/HHKxEkRuXCK0
dNhQcJPKqJI4mOFBQRy0izhYhmDi/bib+j5cD3hPk2jvRdFg/WgDxVjRH863HM/fBGKYqyqreWSF
jZcUTzfC36CDwZmxtiN7WvzujLgSJFVkVwzzmRlpIKo3nHcpcklnU21QPbOrwKpRVhLsRriL1UML
SromxgKk1XVw/DNkt3uchNHHisTckf6wVHsJCEZDqeQe1MTooBHytfFSsl2I9UFbxLyvPIcuHl6u
heC0oPiJbAZlotv2+bK3cmldES7FBEmT4dHSPRG/IrTSqbx365OcBUfA2MQA6GdDC6WYl9gYgZ+O
x/GNmauiSGvxIq3Vs+ceXlDQHTanWZ/lhW/2LylWTXxWYvq/hn6gXeC2IDF4EqhSkfHk6ExQTnN9
XKCa5uVzsdqFYxI6wJ7cGSHWkeMbvKIn9Hdn7w/X/TsES8uBk4qa7JgEmecARLlUOiqxARR6mjOa
VvSWnHDEqEVkJ4G24p7IWPV5hfiacOxRSp4qApNA3AqiAwrGt1XrbxvZaBMkpyYRlH4x5BkiFR4s
ikwS6gs0KR9HE+1BbCyaoH4yP4QDkZ3gIIGKk3CCZIv3iw63DhVFb+fdHDLxlV4XboauIlUf6PZh
Odba6/QxLi7YrEgHwxy5CyPgZqPFbWTxql/d2W4lxpohD3A9gxN8nnxhyTAjHEUTP/PTeEEUJr5h
9Obx8jH5BnyyV2F7VI8j2PaTs11yTCOX4nCeMFh8TmX4yFIMHWyMCGe9CR+oXsiyoA1UnTNzVo57
0cGlcpHUVS+kvf/cHyVzgtxOA8babJNg1Xpg19Immjo1q7s0Flng9r5N7rJfzb10ZAJzwZyqh2qU
ANH+MX7AFRdeqYnEg9GjGVQdwptfiQW2HdHbcE3uz4xRWhLSxLDBRv9OPxsj293HNr4cGXXwHE8g
rpssCVpiWVa4wapV1CdVW3zSNtWJidgvBaU7GpcjJSnUyqK+jKDEiG+tcFipWouNoh1KbX58syol
65Ib03e5HAtxQARSsfkA5Uo4lJapCMWhGEzjX+2G97RVGpBnfTHJLyDRmxrT5n0aVPhqXNDm9kR9
Mcrcwr5IbA+qTRvGNyh5Bn0up/dEaVu8ZmJmNDgfp3++7hIb15bIBZR8KifTC8KqsbkwEL3jwgJ1
k2ZgbMZLXbTuZneVRFEbRJgjA03jNOMb5KOdrCgkZFpiGMZpuqIzMP+L4QrF91ImSxPeo62uoHu+
FFhve6J8eowPhdiXaBAL9rBJ3UYbU383d+Cy6tEk1o/KG9IXYWrjr04/+zGS+Nc7/z8/o8z60/n+
H+/jlWEAFDSBeO1caND/V1yXAsRJS+hlCVI1EpaQhYL/3izfk2mW4fvVnJlluIuwXlD7Np13MR/p
AyrK/PXcpE1VyyJJLStOuhT748ImurgJ0AQ2hMNy2/jz6V9BxUm7UfGKw3yrOBEwEKGvsggEeRhB
hmJ1RxSubNmWot3K1VK18rQYMs7OMeJRWkuniBhWWsvH3QvFyYog45K4+9OSS05AWIn00ltv+pKl
widBTPz1Fk05P8eGD094oBdSQBcn0GXXw+zcpkVJiT+OElx5G4g0Mud3K2CP8+lwE5arc4ih/B71
hiUJBEoFdqD7c3V0I5SjKtK9QhzsJPA4J0HmJw+VyTi6WHjsNqkptUTuHh44yzKEa+7uV96cnMRw
G2sx+zXj/ZEp2vT+ngM3G56FoFzhICLFP0vIL26jSLKsWtBpLueLN7Z8wMLXhgbNex3/9nDSQtpq
fG7MLrUbbmADFZFWcV0ZzKyamr+FmSK2kDyZzxEHHmdX3bAawc9BWm/Ke9zCQ4aeXvk7SFf28VbP
6HHFC3ObmiIzavzTJhVHmD1nmnYVaecjY+okctxyc3VOPM4sHUOmN3RPihBlimD3ZbwS2GQMgN03
bZBQtiKDshYhpgTyNXn4sWLdrf+aNBN2m+57A00RGAwnkf2fjaA9tpApXdIqT1zPThy6u47G3kZB
qZOeAUaOpJpoywP2OcTNDZpEILLVLjueKasiU6pkUFAjCKItz2ufBWYjssA2lUEkR5w9Tci4FciY
YDpFx5wjDaFPQhFUbZLMkJXMpuORjm8y8Y+7sS3PQBGSECOp0rqsE7bZfsQyMr5G4b//e0ZiuO2v
43iKM/b8388K3P0vELbQp67W2E46gjyEtbABXFggPhIO8fXs9m06jOe5jcW901Xo91IEQoVEhOge
9sNpP/LNaxWxPomRR1eY4ViENSKTk5g8XcOPejiOP3hX319Jl+OA5DzYoXN+fXU7+sP4Ku2KeD04
DexprZBbxM19TNBegC1Iu+/jy6/T3f91eXiWInMSsLi9ncuaMKkFi4RWffwhDwBSML0JrilK4vr5
VXC/Thzs/A8J90DILMbd8zT/cf4mkrzOmSDjD8fqz/fK76grvvLff386jD+E+6ly9n7CewOgfdwK
XemKwOgReRZ48HG9AX7sw8nb90mAIlHJ+LR+hS4YNvTr+Ply9nVasDXhlglgBfqYz+wU6Ol2Obqb
54OGfjXy/LEOJH1+eHZPko6U+KUIUgFGqjS3FMgcsA9mP/F+HXBQu/QSpO2VmKMraQiBSJxFzj8F
MxkTIE2WbRUIVJEOT9LQxIqO4Yf7i4P7q/dxensXrCEyCoR0nyTi7XYTOFnn4jjMtqAdfiXClg5L
LEQqyA1VrVz1mvs17LQvTBhQFEACq9MsVXe3y7iHevrD7jb9XXoYEpKIw7bpnpAxoFfsVmIM0ivN
SCFncvlGOKC/8YdwVwTuGSLzGV0TZKywBHFhzTKbZXB0+wnlmEFvfIzXt7FwsqprSmQWXq78alVu
Nuczxwu3nPUpMjLjNr0cJcQYReCjSKg9cyoIZ+4/hUORkKDFPVluqZIeIjgbzOnSm4ZGCdTcApMT
t7yS5PUizTBtLtybTfT/3Hj1cbl/7tbkBYQ+nR6hYKpAZavgWFPaqLDFeI1Y8vJ8Zix8+QSN/j5c
ZTJROT1C1xqPox90f5dClRWJKZFWo/R8pwOmeWSVpIvGiiez0kPqlV3wbMihJYbTxy/ny+MinI3S
LbippnperGCnVDQWXmXPhb7a+/l4EOmTxBdj5jZdhm0/9isQa7nHP+rMWwEi1V5GDlcEHI3M04nu
ojeSqMYraRmCfkCyaXRnw2USmKxPhB7/TFskCxEE3dK/kbVRD9OtZKRGaWwwreYzQX/1ydTxB9QS
ACi5x3R93Lg6Q5DkKrRLgHjCkQ5z8fv+iJNVPk93Z2I5BTxyoQQQRV2IuqKT0y0tCU6khTGAYBFN
J2eGDkdnZFz5hUKk1W9nYbSP4QLBjXHY+xkGfkSzNwGvYPfthuvbjT9kH1dVlmACIlCaN8kQeZlF
PYRV5iI83FuzOJuH17fdx9kR5vim7+f7+2gU5GIABnc4HXZ3EAlOU7hTn2dAYCdqHEv4nMUbUvOe
/dUqJFDxamPpn/NtB1zhcp4gxTyeAE4ZLvcgvHV8JRT7AcEDds+zEnypg5+NR7dLHYDb/fjDvczk
zvk6XW8z6pOwh3maiQc3jS0JcIsPd5JuuF6HT/4IFX2DCrMYS/Tn5LFMDmckBwyxCTQRUmx4rya2
DgQI+FAvAUBt5/vnZZxhobkuHyTeOi6p2yVdE6jM+bN3nrY0YcN+sRTgVtylGA1xx4Ci6U746+n8
3enlx8cLz0q6CjoLicYsM5L9kmiqJzcGbCWuVsXrinWbsJpjTICiBv2HxH7DrjKwZw7od+I8QycI
htMdbxGqeY7n84W9x74nl6EXaYmU4dvNOaxwfAUTd0rEPuwUutX9Y3wbjo/xz5DHdkISJ74LbFPF
7ZjYlAZs/AZlHtO3CWuUowDQIADc3yp+zS6uaSGDWoe2c3/ICWwSztTCQ6o+YcgQZfYksduPR8DI
4CBzkA+D6p9pdYbTDI8nc6Gh4iD2xsEVHwCS45uzE4dAq0AX/Eu38Rhtu/R+OYHiqPETxfEbBNyG
6fi4Skos7gdclXpOdbzBALcdlGA3DX8VrU6/jnJ97/7vNn1cjtPrp7NdJw8Ui0k+hNrZoWhwAgMS
k0D7L1comUMjBeD1+IMTqQ5GYDCVA4kDcBQYBRC72Y8CpZONR6Fx+/x4OR+By5zaFCROvHowlGZY
jygeFhm6O9+unr9Boe2Hy116jKqKUpBU5KCkAKXVWJG4HPfTq4G30f1cJ4nD6mFzM2gvtlFcJTrv
o86DSIFNoOaOk1vIPaM3c/hFdKr5O53S+wc2JeGNCaSeqlAbBSjIjGsgHf5aiYmFltFcZ3E7H7/R
x0Jr5rY/X6RLiYRTxxyVr2vytjqYNALl2Ug8IKxDHT4h35v4LI50yW2oxdU+uF1/7kDTznCLO8Bb
nKHPWFgqFAI6NfLqTpD7UI7Ho+R6qR93CIHIpk3sFK+Sg7wFVpsOBxB4ML3p8ok7Ht54ABP/C31i
gYSevBnVu6Dn9DyGBj/XcVALUqU3FZwCgB1h4jKIsSkk88J/cYFM317apuo7mwiKoE/9W88mxA1x
q/GfCfYRMaCB7IKLhwb0dAtbicrj5YEv/w0abfhrqIhRC5WL4Z1gQrzfYjgp0pPzh3n7TWv6ILEh
IchTId2O8pSYHejW96lViibQ9bEHkTWyNZPeMq0SaTODUPrj0HVwyjoYbvyVV/F2oFIjtOwu9tjr
+XgQ7Yw+7sVnfppomd5h0tL59ZUIH/TO3YG/yaQ/+9awLNQ1tpSmUCa74wmEpKOKoMhNJ+eNYOY4
GpyyXzNXns/aQRGpvD/flmUEqV4lC9TUVB2/jddP4WkItcVo40ozOfP0AuO3od7l/XwQiJfcCRjo
IZA3vTnHcIRCbfivdzheTrySuZQoOmj+csHSOexmGrwIxiFhSDAOg8YNYmaAeqmz0IzlRXlq2CyI
oWib4gBDtARCJYLjdTYK6K+mJ0S8eK+oesGyAZALx0vTDSnneH55wYJKz2bO1PEGnqCZifXpIR/b
kId3suww7gMg7g0jIPy9NTp78d9gnNn74LzRGzBaiaJXwqPTSwDl7Qr59bIYVMRkwvCeptodPWKU
+3FS0tt4h+4xiDxdBMdMp4RRa97iBM2FhowTbmBZ+3Cm89Ou519HQa6o6FZ1dkHiwiYwt3XZfiAG
Gko9Y4lVJJjSzhoiF9ZiHU3oYEHpsR+dDoabGu6S1O9SL2SZEHi+olUhM21tUwoPsQwnPJw2vQHY
4KUoVDt6d4jspJYHcqs4uhkOhx1Ak2Bhhfd6ZqfIN+l+H3GzR+i7C8YR/4O9SV3QpcURg0oYj3MX
OGL2+pvA3cSVgix5WyVhueCJP8fivhiGIxavDwiYBb/wcllY4Ob/x3c3lEyGuZt1UfRhvgwRlTH+
BBJTtFdJBAmDex29TSdyMYZ7Y2PwuKEmDbzMZwxm7v38s2wzzzNJZx0UBG0woIYXJ1EHQOX+22M4
wryPSJ+Cm9om0Rwiu5+EBgJDBQgFuDPBRY2PiVQfAqFJzBtcKNE0avrUhemJn/tw2ultjhIIrq5O
lgiGnt8GNfSuo9NDJ2ErkQVAEnQtYdz5dtyVDziUTYBnx02RSB8QQWJ9+iv2/D2x+Vkv7fvEHibx
hcT6REQdjCiQuNH9fbjvppv7IeCm+d/zWyYaGH6rjqHO88u3CXKs0SB8HQRNbhIZ3Gi6Zyf4IMI5
3fxEGB521W+pTjMicSlnz4FUmg6Uu2ULg0aooKhUVwtjjs5bD7u7SSb3PLx4vqNgM8NUQjBxnKSd
DhDFdSzqzQzRrWhNYva2NSE4Ryc0XCb6loZIVR+Q756D+cfx9AaJHgi1nE9HITvQdEkIoJmhpH0Y
8T5C69pwFWP4bRo1b6OPenO20/59N318gEYZRKU019nN0R7y/Esw7WW8f/dllSN24IOCch5V4lAJ
pEroy66ClkPwmyOlofc/+vw01ANgZVio/fFZo8WV5x+LqEAQDME8mGPOUVwJNBjJxuPyhNnp579P
x+OAn/jwE/5l6Be4n31yQoAl7zCMG26k80XBtkmCwLVxloLlvw7F0PPXIfGo6p/MT/VPiv9utto7
L8JDqYKqfmr4b0KHJWaC9RK3Vfon95nwU3X8TPcLkIhSbota+IocTC9xCfeV+qkWttjHLVaxUd3H
BlEITt7bd29+f/8U7tUsC6l+yQy7g9qfjPDz7fIVhMY6lb5l36u6F35TJ28ZStXcW1r3/5RwV038
WYyxNvFDmQj6lHi6+Y6t+J5km3bhp7DNTvg1Quj1ou3++Scl/VhrEjKYASq+OTN1Ubvj6dt0PZ9Y
lB2/ELmjNhJv/VMt39EcKem8mb7UawVBf8JSLbY/2i/RJbw2X3MNfNMKn+mEb0KEEF9H4IDZpcoI
BPG7JuU329BXFYh2ju/PtBfu1Yh0F+8Uqv/DfG1H4Vqkuzahu6A6OuAM4RZtnb67WeSILH6a9DoI
awjSuDbpFs1alldWOGBHSC225aLUwpkdM805zwjW880tUHLOqT+/KiGIJvqZ2CgD5TZO5x7Pb4+R
m8jiaTFeh2qWV+7cxQt3aE3K8HUU/NIzV8kdhvgiPrMk+OMpIdndzKFVSE8dUPILN5Rq4BDBQFkv
nW5FIf2iDWXp2SeXEkBDAp8JyrdJ+TrIr8vVWav4jEgmzl/GkY9sR7V/zFTs14nNIKkZk8gx2yX6
SVCLTZfTMyD5hV9rbXJRoZoiCGzpO5Xssu4Iw0vvUidyrA+AD6BpQn3a+/C44VU7RgzpRl99EuY1
7nwtE1uMhT9jVtTdh36YZPGwULJ4+EFxcU3Mj2p5ILJ4CPD85s13yZPMynjT+lv2byJhQsouJNqk
y3He7Pbt63T77PXkf2HTAVJDLMiuwi985QFsyoHZC0pu/0sXZHSiKua6703b33Q9KY+1XXH7X1lc
FTgrR5xfuh5bpS5J/aVf2HIGq1JjqtsqHTaRf2qphRaGTcSz6f5T2yfQ5uMEmSRAKvOm8gQFZ5ix
Ck4ZCFjhQnRqd3xBImwSmH1iHNb2SxJhE0s1T6rvvzP50nkohlg4oZOwe1OtMvUDVs+9QT7w6tMC
hUKOuk/TlXq14nC5HD99AFYqz61JlVHry86bmIIJGYb7+5UPO+qqqpLEepcU6l4RXPjl/IB6Xff/
CYmANJA2V0JAZY8P/soFgjOe4Vy03JOA9OEQyuOk6lXVK5uWO/WkVuSEOWAAsb1tqrSpSH0g2NIh
LZhLj+2O403KkZHCKVq2iTfjB1dhGPX1FZwCPy84/MZNKKckxaDRHPAXHX0UKWOrkjJKFWp9cVdQ
mFNIxWlTpVnjuuKLnZBDVgF7fmeqSgghRGShpWj8mDC/d/UsAtBkB0geCmPEfAxRJVtdpiEihX8M
p0+opNv/Ot6lPJdapdo9m/3H+U8yVbaErm0f5zJB1BXToT5LstRCCfWfaZ/DjE+OpXP34WU6coEQ
/1wrCabW5XchMfAvSH1SGZ5KazXCMJ+Q6IMYvodfpuOvB6EGqk2uh0S9Px7H3cuE1exQNS0EtsnN
EFQEDMBH1gpYMthLNgfUhfQJrf9AjNaGlterRpZmlSbSDBHdzJyngBWeSs182wsmm6E3A/9WCORX
aQ4wnBcRR0Ih/YfP4N3Hm1CJRCW/XqoJQ5meU7W/l9N1JDTvlUeaZ92YJSclHrZG13beBuR7P6bb
xwA5FMft3z744TK+PIqUNOCytU6rum1ldcXzeJdWZkWwn3G470KXx7ePUGctqDKSyelRJ4ebeVyO
UEyJrzR8lAo0dJMUKSilk3yN7y1GBYIVxVD/MsDY4EnIHtsuyceEJ1uY13elYfUn/m+YE+abzwVd
YEn/RLsgz3+cD5DVO2Gs7HV0S+zFUso6ESyhwO8wzkVVsMHIw4IZQDLb1RIIRMa47t6nt/fdy+d9
xGqRYX8XGlg0qThWMdoeLKvdnAeFaitIm9G/x0qRcGQhl9+nMplWN91rPY92AIyeQRAHtChGLyKU
EH1ljNDK0CVkFqolvBDARDNk/B5HOSvbWZWrmQ8qdikAup/PINIFLdumNB8atV4mLG0JFrvUTlUl
KU47t1M5pvPwSRMCpwRDvVAXV3VJg5VSLb1Y/MS9NdtGiJ58FX0QOkTrfPz8OF8v79M+ZlzZRWoS
W+rINHRPJLfLdOS9OEtCpbSN1JeI+brZYJqLI6nQce2jiww0F2yIkOQO5fKgsUP23Rd3fWMme+PJ
SPiXgJiHpeaiH/5zkknFpKFa+qygZss3SZycCsLqLdSuoa5PcnwtSXYgFFEbFn1FU9aPpJu5nV+F
BtQikgutiYW93Jb9gFvyOrGgCnjevk2TN9Xi58N85EMsrxwQHVxYKIbjGniDNiDAL2Z6FLQCPdg0
K9TMo6IeR7Ri2MIL/O+1Tu5nnnR3BHSD8/k4DidfQsgfQq3Siv7xsSoXpnd/BgM7FuV6Q/DVbY9t
JsStqT6J5Zqk9RdsM0/aAl1GRiFGbWj52QPo+6sTYwLx6MgXBM1lcRVCXa2XIu8XJ0UKD740i8KQ
KoT9V6szObvEqfnpKlUg4tloKrBb6BojINCQgSDmgkAyRCBhj3Xlz/ZPcKR/frwCk/1uuA//ewIb
GUxH91gw72jisK58Holwhol1kXPVjZcA+Hf8rdeVTUoIgksLuR3vx0LxGf9mNKNvlhA3PdfvT/cO
/34+GLrrm47XkfQk7rJeFAmYCY60PAXsnMmFdsc9lordQi2PoGCqhOBD9jMot2J7Vzc3Vs+SPPac
h/qpY2RCQSZFgQA0EmBBvXYRNEifcEoIO9FOW2HXljJqt5R9rDQaVnODXpNVmUpVWQC1uELoTFCp
keSwDFMzz+pfUPh5neYPGv2sCW+Ply8owS5J6ob3fG7UFgSFSayF4KWGCq3943aHpkMfoST2EH9V
JMED9NFScf8x/DpiE6Ag1LtE34TMq2PuqD6xuBSI/VdBb5FKAdQ61ap57MXzOvhkgqQhoWmwC3Xu
vYaX2/b3ouVPDT1eiHa7VaG92B9vGoOLAp32YhUfrk3K5AhIz3BwxgJBGSjw2jxXZakPC6T+WAyg
D6xX53v38OZoUJ9kJY7TAeuR4B3CiZ05ddyfL3eBawxJWHvEqjDI547Tn0AIxLv3HbKHQqWlF2Wp
0R2YZ4qWTUGT2FSTGKL9ZzwQo+FJw9XfHh8C36yqcDr2xu7XUXg/Ug7mUYACDsfHdIo2G3+ovk6M
xSAOTue5KL9UDepNPqKowLIyIVvxe7iQRLWWleo8iRoPhOH+0Op4m06/rq/mMAhmOeE9hRGWuYvB
l9CGNEzJJicJSBPRjMirh8cG83o4COciqWRcKDhVuAuBsdICgBlFEUQiTjCeOcGDuXpQ9eNn+k/5
PRFHz/fK0s5FNkrp39wkGr5+ai3DKIXzaP91EAwFQ1OwHu+5mju94HWcWHyH7JCgQAhXthik6hIz
SQAW82KeqHq19NW+3p03Mr1cIb6xhE0PzgD+5gxgwW6gdVMGkxwZ04U64oLlEsm3jp1gcweP/DYq
kS1zGuoMCBCvu9dpPEo32jWJzRgAYgJFTYed8/8Pc5jkyZcjXWQF89ZWXc5lES3zRXwEfS6Y5pFv
lJcAVcTZDQ9wRnA18P9k58qQWj80BzuC/hfeFD1kSUUaUr2Fbb11AIbHnoHlbeY2fH4dUs4KjNcw
FpPwvmlZSPSjwxt62w2igwRzVpCQ67I0GqoEdN396CER3x7nh+QLkxfTfppYUGS3Bcti/JugyUhB
JmbDQg4sILmId2JIVQXBxRw/fA4TejseL6N+5wKT/oFrsoE2DhqeB8WEQLToh9dKJzZKm4TeIIZd
Dr8RiwDxl7QikbJlFzG19XH+tlsUvhD8WFWGhFrcczB7SpZG3Zsk+hKaHvLxux1cuTutIKWo3xHt
Vl7QFtzEJhG2oTD339x7/3G4LDzujGIQgyE+y1NCRcqWdRfxk58cSMFxNMnxQq4qvCEF4YLAonBL
aUluM5ffBScjNhW6c718Sq6Moe0CEcsrWD/EHgeEQCfJsDhFYHdSOjtjHyZa5mXaoGME5WLTAHs9
L/+Lb0H65eN8OpecW6tWLQAqCWN8nA+P41lwGHRqu3nB+D8AO2k2iz8GR1o/0JTjdRmJRhgbAUmi
DRi8tZUNmPxTwQZsktWDI0JM96iFvy3RP4H2+zS1YjIRv4JPWlc6bTXST0FoQYD2SbTQLp5I91VH
pFIrEyKIvMN4BGD8B+YUxTyTIVFZjIvXpqbWrZO6BYwVT4UmbXsxq9gGzJwTLnMlt5tSCGJD5MEm
gcmQEw4dukfsGF17scKDkcizjdUBScrBSxlhjTQsFnIOw+3jr7dfYI1fXh5vgmfWJHw65wXyN/S5
5X5SlgpBx99DgYonwjAL9Q78KxDgKqZf52NahedvE9u1fdrLFxjCEoYAFRfUJHTjzBWSm4J1pEPK
xKLwgFomySqTNjPO4U+v9APwqwD0482jFa20NCjgNbRoodm0qrfLhFtK9GqJREe98pyJctpOssWa
NLw+o5Ts7t/P+L1gOJG0NZZQqucQJ8BtbA9Jp8IgPCZESUuy2qg0Fp1gLsUYAo++5P0G4nOD8Nd6
nsX8kubRvo/TVQj+UvMdNxYCaZm4k0AcfSLM+oB9jXNmaJIZWrdhvLCvSuHqubzd1acdDvlACwdr
01HoDR+SBj2w1Ez4kgusTAXbCqF6zjcpINUlyW4VZqvOMHTn4/GBgqBsUDYrE80GgKPrbXg7TkOE
dBL4KBraIFO6/ikl7MvEhJxwXIEMsHAGylZeNo3Kdeet/JrDOF7KxQmknYJMW3pWRChkob65KGlp
61ezKH8iMAV+SCOPps2kQg5fkBOENdCKWXGpsJF25dgHAziU4X/JiVF1cqhgSt2gEL1kWJJ+SjI5
b3YRV74hoMAL/ZWk0ANRN2s2+C9FuA3txMZMb6gXiV6UB/k6A57R8VXwlkhtTbwWFEyxfmUaIcIV
NiYpmC6NLwX4hsGJlwUy43wSEHW8nEntlr7JOcChGWWDHxzfHS6ttxml9zh+QellK0Gil4EGnh9V
9nkf/4BxCMGw0qk5YFav6EMGKJshBcbD/vjHrNMSHs1GtIVANgmmobXfNlzkwFF+KXKQBnpDMCQt
Ib19lxRYncqOQFL0gn5LiGCVDgwY+sOPDVkzlVZm5E5UTkgaks0HT7FtiHMouIOE9tQiSA/jkqrD
WBXUMgO68g0judfpcABU6w3ei6nT5m8zB+pWIF2L+JUjWdamea85mxdUUNFc71KdqKq5lMRpwce1
aOza5OsQuUf9GanHSchcLg0llhjSJ/AkGDVs2FoKwaVJmaOu8hUHX6uVJLg0iJkRECiJ1/fyeMEU
9dLutElORcrAo4dyrv/h0cC/6E7qnnZf1ugXLlMsyhzYJUwQROb+4zL+DTQUvCn8D16gQOqkuCl2
aEbKAK0J74BqVJAkUTyBwdXNlQELmK5jxQPiQl3H16NHmRBslDbJSM6V8ptqyoSAchRZWBJXNZmA
+e2dm23hebFLJOZsPfkcj7txYY6Zrz2K3AjWZWgmBBrEiq7xtH935v+vwgLxvZAAgjCYc72LBBTS
vaRcAmPswe1IXcVitWWTQxBZe5yCSUvUKzpnIeqaKfwsFQkSHYJFrSbtWBUTxaZfmWo9zZidZ2j1
3bDBlydhEXilGVl/PELDwjO+tE/oicWLhtwyGAAhdPW2v41LkYPAk4Teu1hayzhT5byrbaucWUsH
SwgnqdKA15OgK0eM2py8I5MdtmVdSKAUrLJO5UqgyvE7k6JSqBlAdYlIY9H8GOAM39h+G0/BVVKE
EgpA+IJxQdtXuYTLtooCQU+lQYaQcJ/xKCE85Dj1/g6YQUJWlnqemPAK1p77/u043oHZ9lKlZE1g
mxTKwdBqGnygb3Pwc+d9pNdpCedcBDZRq278mnQsS7aPJSBKCK9YR8sqxIJ8aliwnlTC3k0uEOmM
8e0+mU7djI6p1JpO++soQqMZipzRLwH8eK65l5pE9MoZdENAfwwdlUFuK11UWCqFVZGTOp9fqipt
Ezk+V8CCd/zBjsbz3JdKhZAcmFPxwGjTAayVDQ1ExC/Cru4+bmIZniV2sajErqtJ+t0rHqGQpCY+
g/KZioqmCGLGbndw9o7AsFFuYDWSqTLjzQBQQtDPbRq+64qZ3+uIAOtAALF4Z3MquMtVFGPHdyk6
RkoeICA/h+jSbuFy3EGrXI1tahYVLaI+rV9bMtAbTqFybDXrRtmWsmkbXvBz1yWwgmrWuYIIMcu/
8VXbFKTUZpN2grZP+8msTiePyLdSp0IhVP0sjQG7vdRv1a0CR31q9AhkVKXGaP3sp7r7I+6wdIGa
ciHkQHUIs27oESUQQCjUtBZaxrDapdgyllbbNV1JiWzSTE36xFVoE1qb7UJ1V1omXSspM/wVfUQw
Um231BogAc3x6ZBME+ioTfLxdSP1Ewnur861xa4zIoKBUuWCxssFoY0igj+ZnsRBrRd22ex1QJQS
dJNOq+cM318RgJi20EDaNhxK5fNBJyHI1ORyIz6RsbFm36QeBenKm7lsQ+MbSWOA6R1wQtDcL1Jt
Tdop4aq7KjWroedRIFciNPQyd4+05PgnEc6fguIFlCQ2Cy2ojipFXzOp3FusDUQUXcwNYWMqzaFV
ggcj+CxtUh4W1EIuyFCwFPrUX5yRHtapbMxwlLRsk7ZSBOcsPJjzgAHFRzAe0uRiKEGK9CJOTvBE
k2Ijz+WZMZEtbF0n2Yzg4Aa5KHcaEETmOubVpPaUrZ0p2abfsCexDrsm9gr6Ic0T94fhV2KZj65z
ZT5PWRA/PXS8uQeSEvsmDfLbVfRmSy+vIZWNYOJ29W+pmC13ZayKDZv1FD65g7JLosz9890v+xWu
PhWedZ1vtIPqg9vjRfDiswUmtCe+4H6RkAvotj5hDK7kGbDQBsHYqpu0EcQaplcOmF+ghtS77FUx
RCEIgD4HLJzW7BaKnWtKNxUpF2GaDhCtSRLy5PGIsRVAHEds/C617dDYVhv7PU/3CH0jFyHYJlUQ
tcmk+QVLJkX7brhEaimBqtLgcR+jrdviq6lpbrotVCyQb1pCY5Oaq4DKVYAISepWSBFZwEFdLGJo
axdLg0hCsmkxFx6TZQhpCCW2sdB/k/DpE6Exg9esgsgzq0LW9M+yKtO9zhZIrgr4bmdhJIqhNTXY
oBR6WZnyI2EzfQJaFBT2x4YCKNubXL9ePg6+uw/ceD8fDacyEDtPDWUOxODxfd1S2461NtfR/TiF
/MNhd5z2H0IysEoj0DrPGQIvNDl48SyMk1gQZvo0dt1lcAfAlNseC1dp5CQ0Gw5oXBN4AEH3dakB
VgvpMyGabFL8bMNfEE50lq7IJNLcJMp4q+zqVy3hdVIwt10KWqJ+wfDtlp6BsKHCtfTptaglsykY
Zmk30VxztPLOt9TdpqHaBeOC0dQgWmDCFLDjlj5B4uMR6JfnNIyMjpCqzrlDwOOOyl0TJOxOAE5S
uKByhrPLBd6f6gzK3eWkkwnbJwKitJCTFGR3vFmoyQsJRDxPdMmXYqat0eE+9TzD5MLxGGv8hLvu
k6x02xIhnmyqHBuwxNjGYjjLoj4UdAuRXL4PN/Rt+eKZbSEkQwSojRWxmwrHhLs2KdiNTR+wHJQy
q4hFCCHGmnl0GhBFRmrw71dlw9o8dya6syXxctnEoblpRMOS1EW5al0nsZQmJ1zLi6xYuBb7jb+f
S/3GXVoqVmeRnASNvJrD5t9+wVQL1YKx1Fq4bDqIDRtekiyZtIuaIuu0BFyFBGl9YmQmA5Geibev
MMQxz+CJ4wqP09v7/fi5CUuqNqsYloD64x7utBH1xybJ5LpdR1PJENTdy3FwZiz+NQa/PqWKDJMW
4oYe7UxaQUgp2BQ9y7KZCbl93eTr9zeodIHidSKQO8Mochn1pkqdBl2EFdyOvkdr1P3MhCLQgXDa
KiGTvs5jlm63wNMexzpX3QINe5vXM4n8CXyLPW0RocYfFoSIYJKkkGRNs0IrlQO+NAOlF1zipCbP
dyYFv1CwZ6sczX6MzoOE6bDSXAnvjmri+z9hZxJRAVaj3OpE6tkI3mApdrXJGKZOC1ijYZeLJSnF
oBtSjgAfhzwOqccolw32OXi9uZ7CN8weAKFcCB/VSSNOWMI5+dMe58BINWJ1kkJraPI7FDF/LSln
dNpMMDtOEdZhi56xpNRCR5WQxV6D95aRU9tMTfKCCA+x5kDS79N99x3U2OU8SUDploxejxUTcagN
mSbuawd3AajtQwJg16rR6Vh5XaWjnt1TXLwT7mh+HKT58G6Z5v+j7V+7JLeNLWH4B72rZhEEwMtH
X+Q5epct+ZF05pn5MEsru4pVlVZWZjkzq1vtX/8QNyICRGyyfWbmrLFbbRFJAoGIHTtubAa1IeMz
wqQKN6nAedNxGy/8nxcV6OcY+xnHZ/ZvgHHcDZ9GbvL4UxeF/CIRj6F5/8j3IJb45qbsqhkHMEEg
b2HvsM9gOnmI/adp3oopxCrAmB/DBr4M6YV8h//5cy5uNE4ID4H3GvmQntyxniSrLcW+jvx2MxHv
fqwFnkOkRjJOgpS3hnEHOfV5CTFNvnd2iIrlgejhHrl/vjyDUSp5e3VbtFcO1unHL+e/o1q/MG+C
zC7JY8/IGc//D+wlmRzvnaNI6i35TtN5VpnocgzFyPAYTrk83h3Y3GiWn0cWpmEQ9n9XpmMFnYJW
4ZOIiKBmCfX5nKGOSz4UspAeyCCCtEgg8eRZ4fN5kGO1S3gZ3Rlg1cKlye805vyGOKFhVlwOL3+c
P1x1mjjnNIyTUkTi/HQCuyw1nb3d5/X6S02EvGFDxz7X5I6acaeoCgcnSAYu+aHSbc6DkUt9ejrg
N6rI1H0qaubn88O+6USzIOdX8H3vssWIJSIEBTy8T9P768X5A7658uY0n9nSaTZoQ6emBDHs4ydL
PV5mVyCPlwL3tueToGKOno9/HpIrO3/5x/Vx1lFvYXDd/dVhqBnwomLRnlaKxXdNA+//cQu97c6z
1fx0nQ6/zWo2aGs854tobJehE0lSCoZwLVNPZ2umT27zhCXn3cX8jTRFJtyt+Y6lyuSn8JauIDg1
OEvCJb84GU7k5yd0ecjR0+HrzRUcqLFvlgirLFxkzIpDyQwcng63ux9z9KNsLgY6/a9nlil/PZ00
NSP5T2542rIlsl4Y8866aH0M/L8d3peYxfPxeruH9hQPx9vD4cGJPpjr1rOZNdbWreh1epqvjrMy
fnjQSzKlwGby6Xq9ldHiDGuDun12KMDNVgMvTAerGd+GmU3ZySzMJzj8j3y3DbOHVWp763rDTgdX
AzzfxZsfBBjk8uooowexsVZPW6LxqURxsM2SuOBm5Bzda6ahQmiSXMtG5XSWruiKLt2oxfjGs9Z4
OiEBaukgyUxmE6z9cXt98CF8MOByXoDPujE5C8r7Jlc3vMe3yLleZQucU8vjbkVX27t/8gQjNRCo
rTN3EyfSJaAPDBgBMg0b/Liy+w7vglFKxBT2uRfE7evbp8sptwYNVSVkUCMYb9dyLUZYqfk2/wFO
/OsHPh+KQKtX0nbPXY9l3tQtSLa7OVHByZXWAeG0bHTXkOUnkm6fL04JffzrXwCIWIKS3PyvaGC9
r+SSLd0cWlkD6MJfbMaaQSXGk1vVYGnBcLKx5sfFyHCWjMW6uqFbYOKqrprCGePMWmXJ9plf20vI
QZpd0dMqdx+v9h3CYvxotkqzL/b1fD/8/nD7eAd6b+hbDr/7gqGf/yS/QGuYdHbZ+jhslNRk9AjE
vIJgd/j413SI3l7/+edfXOOnB2evgZnuayPE0mgqpwvCuFVcQRscATJ9cfBFQja5VvMJ3R/Orsbm
4rkt8D75dHRO6qpqFTd7z1dAgo4aQb/kNcMkLx3rfpx/tF3NGGacaQ77++pwwZfHzfmC3HuNN5/L
XsLFQP4aNieX6KglTZrXocE4SsBExBloF5MWghNO537c6agr1/IAzKUzTL2x5vEOAz1OPzkQALAf
Gd+qFu2x/Ho48Js32qEBB3KX+KC+SIg7XvTFkVPJrfFADEg3mdjXSh6397V99NH38NnhI6ni+qmi
vD+he84PAI1AJIMU/PLxp7Gx5JdXV8P9evjsewB4x8EFTcHE15HN+Ys5m3Jnmtvr5eP0NHsmW5s7
NnxCJtNCz9KkvTAOlc8tNuN/han8NP/52+hKsiVkLg2ZAqmbDkyBHGtM0qzyAy8YOooEqvBX/1fA
EvB96LsSzx+fHj7OPkk/crLzVvhIzpfD9e3jHWB8wxy5qJGn3x+n91D4xaanA8Bh+fD1hqr2+7A1
2rcntLnzLbVW/Q7b8HFO6Sri2PpgIzKt4256dAnJVzoP63LG8jB/pGFAhZgvZ/ZyAd91+riBGaWG
eyt9vsUuTXB2gNq7E1utfFrKOVbouIOdX9Pnc6dEeodO77uGAs9govCRBuZ1OXdze3prR055WLRt
9ozE+oJ4vvmUm0IPxD40/sOcxga6mohaq9ho6tTb+zKf6tvxXxvj6OmY7BCZTdlmf09UisxgtGrg
rED0yw6fTxgkzPZTc3VoZUEH9R5BrrOj7x0bZQrBduvNOA+oFj0UI5HzmdbSM8WaX/8+A5833A0V
VgcAsRmnGE43DxnxftwfvQV7PB2BPqMTj3P35iI3HU1MHhgl03XFhh7PYCs75nTFZ+MNS8b94eC7
PqWIBCI1GqZtyCjj5IqgbgjhPIiIewTSNzUmKKbVPSKlRZwR3wE5dUP/x/H+8Bxyz1LJ8gHsEQmv
+Hsc79zL2+F4mrXYA+AkVM85idSTIR/OvM/OMrs/gmy+cFaac1AZWTg6/LZBMRK+yedzmD1wMUbu
wB6rscYYOeN09BM1QNJPcKRbrpL6yvW7nEOcGNxBHsNO3a1c2OF8eXDn7dMOsCvUjgV20pUt2k7X
DlEsLjO634N+3i6zNG2iH8swb+qr5rx1H0YHiMwwW5bm3YQo6UPyPzamYRP+1yMUguddTs5CI29U
U/hP6bW033vCCXu6NAXhKLyEdmGE8YYtiY8dm4WWmKwZeXjFnODN0x1tW8E+rQzorvBhSyyFu89t
1I2n6eU425nZ5Ph6/DS8GaVTB4kgl8/Z5VY1HGGBbtZB33f89rLG+r7kEWCKgRErsXo/ukGbvl/b
ElMTckFJaCjMJxUzy4LZJREHr8W0pWy3ixL4GAE8Ek3gjC/pTgb0dvxXiuWG/pxAzBR3ubPRjJ7f
7Z/Xu49XfHGj6TzncXjZQIq94qHUjrihgf1y38XSoWgKUmqaLPezDMkxA1MpfVZzXhG8xQkBKLYy
qwFbi6uFHpaLL5ftJABCfS2fo4pSd6nxtiHQyvfqsQ2g/+LFi3GSxcSD1YlrEsoSc0hx1X0h1LL7
sv6HDdeU6NXg5MaS9B+3GVzVU/7VkC5p85scw1DvZ8enPDyFrsMf5y/H8xMATx0nymM1qI8JhI26
TvOuIYiqmAOXigf8HqQpu2hQYlA2WdN5gNm0dEfCUDywJ5qDHFXJ/6CR33DjnVRsMm6zT5dNg98s
U00kcFDsdHh/d3s+naYoxc8PN3cWTtkA29OwS5og1uXN/9vuK3J7JPIVdRlxVmeIwVplYxmkpam0
3i6Lz47kWT/PvI3ZNMFofJkOv0kg2P90vDPucd/6loVNHR0QmGsZxfik2JhV4F+i9Xp3KGf3zXry
6u7dWSrbCa8z5IUcJi/o0k/S3fBbEVOdvKeUtWcCYnFo+tW1wfdVP36IbGhd4uE5eK0YgPUHlMPB
dQa+BS/Y52XyZv/9enk73lxu0l8+To4MdUGLaXoX1+m7/DqxKq0s4nZdXcJ9+bhfnt+m2SZ9lY8v
eq3Ku4e+x1hv0Cd6Nson7F7Bxw7sY01PJeuTECLyT475Sduvtmn2me+zZIvpD36HIvHqxdrkTtdP
l0f/BY4ocwVILy+Oxn473P75MXvmTy7OizN8vTQMREidFZtFnvbBoelh80GeJjdtTH7X0eTL4/uC
jHSx5QDmpy6nz2iZrAg8AkgsjptcMl+8j+sN9hP2X6azgI4uSW9srFQ0IoOwcJHz2/jUcU1P371E
KCcDXnbIts+S3uVxmnGZj/PRu6EwnSMso8l3+UHbGb6Fwq3If8jJtP6rbH6dgYhVdPlCeE9+C5t3
11UspPrPWac9zHt5CTn9bnhUCi+MM5bT8omrLOQmZ2A9pfYaW6O/w4mTDTZLG5LN08376dRFJNM9
B+RDRBdfpH79OPvQ6fX2eny+A02RL0CgU+IhJ5l1qckxQQQojazD/DyO2ZOIVz7GwQgzJLMf4X5n
m+gnKurYzOl2/9vl6fh8nIANImfsq6c11zsLA/QwowOwwUM+Wp3nfsZCgdPHWyqvuQFgkHfV38ah
aiQeWmAWiD31SRlDUc+3gQoit+HNlA/jEUYidre55H6wJPHch30vM/45OoZChHvhSuadCsEZPVQI
cFSN5Her4WceU2UdEXh4INHaDYXVjn3+Zld40zO9x9NZgLpSzCJ0xI1J0ez/28HPgEvzxzgfKAKq
0hBvGKZ+IOhWl1tyulx+ezi8Ou/Wz+MGGFOznVVNkSpJOSSga/I5+7bX41JNGt3CWEc6fb3MQvh5
8pmXcQ5xYCGACsrbNZC2x2m/NjeKyI7b+dR54ckXqr9fnRY8oudH6gosYhOD7E43BzSCVuA416be
jdPz8fcN89aOBBY5gBrNW/p6T4Mcz64i5jekt/qBaJ0Mh2bz+EYzQWPLNj/RKrWoRrkT4XISY6eW
Opsc34741jfx/Ag5cZ8mlzS6wT4EySKIZ8wzwdKDt4At/B4kLgy8quJYIdHSJVkqXxfiF3rHbqg3
r0rpRMCicec0pup+mT4dn2KJ0Fvwo8G7dAQw99k9dCHnqKrkCS3h5DicjPRbNU3a83DYwo+tIb6J
e8W2F6Km7rjcMg/ArWt67q/EBKSvjyevHp9xwnqAYdlYG9Lz0NOuMWvM5wi71zmeZz1wOM2qCNiz
wTA9NyhKgsaWVaGhxuPh8dVdn5BQ8PbuKDcXcXCyuiRk3U4XB+gO77cHDewFAaR5GOMss05k/ZBK
l+qykawWJIbD0kgD/+PGnSuXBBJphejJAzHOit8bpCa2FT98Pr74qp7308fL8bxBdcywqiO+d0d4
cq9at5TkQJw9ZyNGqShfHAoc8HfLrkOao/PvIwRwpvl7bTZKiVL1HesPT66bP57i59fqB2bCo2O/
hKQwRtONyY97VjUGf/+rAg1uNoHhYXiZ5T6F+wlHfeOMzoDoyT52SzPBQ2zZkRIjnBvoSjBdkh30
2wjj5qrno3qnytTvyEY/kvCRhH9olz4RsVl/aOcQXm/rbgwqKx0yjsvLivMXfHF2jteGOpY9hEuX
IYEvslWFsr7NvuF0foTAnDAJraOIW5Jz9Xi9zN52ZFziHkZLmZMqQ3vvSBWDC95zh7qrYWapID3A
wIE4brk1mdQ0K5A/hLjRebL3LgqAApccS/Wl758OCbd+QPCTsjT9GrmR3vss17uQY8+pq2Zk80tD
BrBzEdkRAV3fMDmM1uM2nbzKi3BManviVQ2hJALDapoyULUF5wdLLIUKeeljL2aJ5EpvIFuKIewO
S/AiuuAVGwaI49VPwirXWXg5Jd/n6IHoSp1D6VZAK7ggMdhT4mOOS5v2BdmBQhv/OAFOdOpGZk19
4fkRQ3dtGdsScUsIp/kk0xg3kvreB+uk+RVgzShdGOQCTBuJDPjc+oafxOHkrKzLrXcnC/in3ua3
8HMcRm5iHbPisfGPz2mu6AQ+Ke9L1/k+LWlY+JubKZfNDAnQbXtKA/FTHUkV3TAP7gKWy5rdU7sI
5xIh9MB5XDLSHJ0U+oj6Dw/tSvzberTiUqr4oEjwI4Zdk1itcHudgc+Xh4wgX6aL724ckgRpU/AZ
1c2uqmOTIME8ywEhOYaVD+0EeZcPTbg/t0F2pHmDfkDiZ6dQwyRonqGAuDbC5IRBKrEHSdA+IY49
C+pp3l6YcBLMjmVSMPTUa8Lu4NCS8E5DcFkO9Dt8kXpNp+L/rd4yAaPmE2jdPW67MsUw+vFeMZyn
LwBydNwMjZFH/tfXGCEnRiDVOaE+UkEWB7booFk+QfQVnXDDIRdhKV3ji+hh7jjFlkUCLKe8PCAH
yoprvaXKzqcJoQCfbhiP5/2J7OG6ps5LnS4QZ0OiOcOih3wGwOV6fHFX+ONT2IjDJwfzfXc5QNv2
zAKkoW4+y/fRBYj+59/++h/3+/tPDq7eEH4pws16dTChdhbA0LbQi33lgviryq4IuBYkvOJeT3dd
QW5CSNZ3lnEkUU58pfe0yYjPKIFHziO89SFEXwZ9PG8z85bxc6mPoKdYAlpZhqPfHq/Hd69pJ3gX
h3xOfhxKGmTy+332sqfT0wZjrBsC6DTpUkoo7dmJP56CSXGe3EHsORJ4rY4RMNFRKgjofRaEcFpq
Yf0oz7aBzAYanbR0OLqTvvezv2WRNvgGZ5WkKvi+zQURKJYthodbRmVGET6+vU1PRyeHS48gd2dd
SMLl8U4n5HfxCAlts7AZ4dqIa2U9z/IxFz5d7CETWHSui0iKVeyLc/aEt8+nLDvkuAw0GAW3NXLO
x51z64bp/nY5I/kgoNu7nSw/xF3F2ft7Iq0fNnOQFI/NtyT9mU5Tmz7uiO8aNDJocVDXdiiHXMRu
tUq6iJ5SiC0JsfokqKTLbRtXzGr8C8CrGhZWiNwCjdEAkeImhcfxroezE56QBnqZ3wI4O83INHE3
1PPAA77GgYWGkZO2rxwW2NS+RlfvJoRSLy9/in5axafThJghnmq3TLQ+x2ZByTED2obz60U89nL+
KbqHW+ljuohTKp44suPuVqPcMmXYAjOheZqYEVOpDvd5yU/z7XVZVU++Kv8pGjKg8geeCNaM/6cC
IQArtYxOiB3s5cv/HNL+gKC27OaZtjqBZIf5TNnIietNFd7On8+7O5uAZeQrJG8GGi/OM9WL7oeB
KYChAd0QX6nrvFJgTbHfEBWlG624WlMCe+J3HrEnhn3PyvVLPRj9cPTb6/xqIDOXqDnS6aJs1bXj
2Obva1lMnBR//98LfgzdwPI2TLPjZoKLSEIpfiDUOK64DaCy+AH3bc0q78G1xAvwlr6x6yyFFNXZ
DtP3JFWMlIUAPiQczK+/+nP79VfgwBmezMzoRFcqfU/AciNvhmhAP0omvOL//+cffwhlPeA2EBLc
d7VNFjKEOumYp9ARAhiMIvIXGbTgZ+1I0JoVxMA5OF3j9K/T2+xLPrw8AuKApzOYLWS2zWf2JDmh
zz5JyqEPFxJkDY0MKnZl/fZ2IWHQNsQTabNg14JkLo3+8o6ST8geOTlMbTW5s7/PjzTc4KSkTFdI
+jSFANMeytjwjLie1nRHgCaf+uz8E1EOCS1LMzQ3U+Z+mSH04/EG6TICF3u1Ql91zbEv48kwcD+k
7kVv7mlvaq7T/eBzEyJBDkqbQ3S4r/ne1HvfobIHcuV8Pn0sp/INdKeH//zp+41s8tHWUgdyYcrb
4R18guG7PQIWdiM1mEBM8h5MlcbAu8u+Bpq0uKkV07FUOc7HNM1+8BWcesvBvMqFXK5p2sH3NKG5
P+Duc7q/H+t5mtjFJGkADm70rDWHq/zeoQmJLvONfc2/5VEBF4onUSzz4nyCeajqAenII4tXxpe7
X/y0lP/8XuzzHZg6QwLsrhlfJPv+q/jLAMPAo72j/qbNBJtI9sH1FgzX4fdXEq6N7bp34Pae5+6T
JpGVwor4kk+AWuJJlNHKL1raj8AGGjqLh+O/Rpbw/jxfKpejg6KwBPGOWef4K+m3fIMZG2nVS54Q
7/Suy8g6L92n0bC8oHo5Xd6t42zbofWBBBP9WIyGFHQnxuhtdjxnJTG/4hN4Hcq6Zn+fsa6ui65j
4cX2FMELUCy+GfknVyfy4ZrGflPS/nyjB87VZULFdcf9bUqVo75jo8eagFsZeBHKwMJJYUboJnlo
dC0lAoclAY9A6idGH27tNxOWQWygZaWVpgcGdfkFr8Z8xHJHfspIpNZkLqeK0cElJFG5bsn/jiOV
Pk2und3lA2UJNix9KtFs7hBCIZI7B99jIs888NfxfjkiGzCfByk18c5xRPpeQcRsCgj1adnUuMhr
nka4L71pIHHGMHhqV2xvZ/ibpML0fiyrqmcW3i9/dZGMaSOzeRx45nb0Y5eElL0lMbap+RErAjw3
JwSksa5lUZ2m330rfFeQ8uE7Rteyy0HMdmSyH0ntYDAelrSQV5cO7iH9x/WE3pHXQUdJmeFcaKx/
/+r8ftcS7vDy8A9UBNYyi6YaxkUCMEiiT36NXq8zUb4B7JLdsRnLABwT/1LqdxPsW89y3O245fGC
TF+SwKh9IlnqaZoHsOCclH5sOMXRsCO7H+97j4xnZWhaxfOPixv0/PHyoJRtDXgXy9PJVPN/jDA0
QHc0DFhGPxbUVIDaVtIIwGegNw1zR95QEdPAZC3m+bpc1Ie36XZzqjD1QN9MWR9J0EurYhpubCcP
3oQDsD43iErRSN+C++iabjgzDmO6sw7M7+L5EMUDCzv8MwKYuswLCEX+x6f5v45oc0galp9ONtKG
P0tdQPA/wXeRrAWva2Kd6Zfp06PPho/TznBf+KA2LS8Takjem1vq4zz9/h5CZGFS1mzxLxlGHbbG
noQIcRZz73A0LUlbOsTuJ6mlaMgsiZl2YAt4hmHBLSVWciOdquMoPSXyBz9sc2hNUKlD8W2am2tX
+zudEEliee3qYMoeoy/XaXr66iz1vOWvs90G20J5LD8JR68ilU8HUNA46CKa31MC+1u7gOixlmvs
Z388Hhf05voKhT/5OYNXcH8MrVlfFlw2e/NCz2C3KDc39dpasMOG5Qun+ChLAd9FYpKkEJOpGQ/2
3bf86Xlrikdg+S1nslbz2aIfcHx7AyRCz2B2vzToSVTYYtdiX8UwFAYT0JrFjWKfBB9FCfrp+PwV
bI4q6w0FngR8lOa5ZqkW//j5SNqEIOuhWTivs3Lg43iH+dA9MfS+W4zh6GLekY9PpLDHDdsBd5Sk
mo02Jzot6JI7oyEjfPZ4J1QxRCIYPnSY6jtdq42FhAklxODMO648mqJi8HQ4v3wgD34s7FH0uf+r
EMwCzrAtqhxT89rp0Qu/K9a9/oYLpajrYfw+UKUS0gKukxt3FIujZ6/z01eQKKkb0l2BhP/+71Wi
jiN3F+2wJqxQrJrfNVu/KmE/dwXBisr4dHcP59sxeJjzl090oNdWZ42W3WVbtMnaUXaji/rgzfpn
BbB6V+OAswcXGrgAM6hJCw/lI3Sr1LLQcyrc2KeH16/vrxNSdsSds3msVtFJ0H1bfMsb1L6znW15
Wc1A3AAUxuppW5qsQ2KviTB+zNXkZqrhCTWmMTy9N15uP8yYCM8y/tyXnvjbtHcuetB7PY9HdpRG
Px1RCjwpx+pI++HU/ia0vlmMVZB7EA4g19gPZYld5Y73Lz6v5+wHTS+jr0EwsaslU1BHLNQHgRtn
WQlqX0C1VEsFVjBjLSP//1YS2kgAi4/Bq/8zTWS+rX+MZVRujMcQSiX+RK72Oz5PsN6kJxXZ1rK6
hiX1OHrWqFXL0PGylVFtjg3dTIouUiJVGXvClQAtT+2MWSBF0/qt6Arpv6DzCBs638G3VPXz1a+X
j3fkeXUsUBMJu9APiXXb2NESiWd44kh+GLvm22bGye0AqRhGP6T+Z7TH36fp/mVy8nqFFn+gFch+
WmtMkzpP/wyN6ra6QgwF7hplyABwwsitVtj0b2tfphuCpx2zYnWdwN/FapOQhyV8AJWAMPPRN52l
nRQBx9DwbqdDrS0ZyX/CUIiUEdjc5yb2pvDpRSlj0fVRRdHjkav4NGCdMjjRgDnD8zTdp/lYnAcZ
mJ/t9hcjDzFaW/twDT7VMKXFh2amZog7uovxa0NUKB0H/K1tQhpuYYc91VUuWeEvm2WKA2dRO9bY
fF716jTS29sBSPHA2j+O/+YMKRD3NTxtYfw3Wktgg2V4+iONPMZxUg+fbztqPknnGJ9YYEmKg3dC
4qCBEAYDslzkQrW1Ttu3lPsxa+Adta0DybALvXUaNqHIdWD0EBaYLZ5UpXgD/u27QcIOykdr4yjB
heTzbTHCMNC9JJ/lVaEjTX2dVYfLrDo/LSFC5NSQ+LN3SGzD5sGkYvNM4ftND63stsr1Bl60YFvq
xOVenH4emG/cekBdqYm/1Dp72sYCtNggPAD2v29pzN7SRseEx1nmX/qU6sePGyrH0KoahUnQ/WnG
Zt/Nri5A7h0PKHXE+fPyeAFc2chx4RIXdjfeXTWYrNyNhWccceF8rj9+Oaf9+/MUpAkZctrZ118M
0iAG0GgdL29s/s/FES1QA8WBqXW+5vzez64j4BnViGuqTposPbkHdXhbHwdwKhlgg571IU74Lviv
AbWC9OOBlIIMpPTLxyRdulJMU1q6w6JuTZxSdOQ2n0jYdq2VZzoMZHInT3P68NkveBSCIpNW29Zl
6rS6T2SN04OueNaryI05Bi2ZVhLgbqUxztvH3dd4bc6kUSMZuesS/Ekaovss1W18Fh35ZZUfB0MG
l83y4aNNabZcuLxuWPLyVwkRPt6xkQljNsk8Ceebt43eMc4IjDDq+DBVthocnEtmtvi6KdInJM42
LxxhN5E9jf10CUZfHp5no8z/JTCLjI+e0CRxKd2EpRcJmLw18gFxbYaaf3FdTmWhI6MvnGfUKzrE
JVR++1EFFAeHEQZgZEvLpyFFQBWnmYM5weQChOs0Lu1eZ3PrpAjMMKejtfiw2ggup8P19HVrFkhD
po055m5kmfHzf76BIddkyvbIWswQRZJHd4OE16BYyAW2Dq+3XYRebHTy9tgaNZAJle3IoKmbrfnJ
lYC/qPVAzW+dpdmwId/RV/90vF/eY5uh++EFjJtWfGhxW/iCaEyUbhUfME5PPysg52HNMP4djEoh
O+WMZduxPjo+qPPw+HxwVMynT0iRkJlDJMDj1gl5Fstc1OjqLFNRwAXhG6yoTr+R6rPDbSm+9hc2
XWUga3wmc7d3ThqwH/xAbJohB0aYtQ0ZFubxQRx3yzpk3F9dQfXsi90eTsffZmi/7qQoeVRhXqJm
syxTU4SIW6Klzg1ln7YHiavU/iFp0eiE+La7uxr6ehHWfJFY0hxmimAqJbzDyEdT9cUU2vfL+/bs
nSAGls9910WPex+hYf/kuYFFucb/If6l/MFGHM4Xe0GlMcYkAeucOND4P4KZX9yykXtc9BkEEIov
EV+QMAMbg+91w4x7LBd2pUzHl4/Lxy3N9z1ftqb7FnMC9SCY6efj9ZYaqrhss9hRNMzafJuuL2DD
OlUbQTW7zyk7HFxcXZsP60ukZqzwdHlDYkA0hUfymva8CqAZjR3VdCab4bj50+3bhtqp1BM1KUKt
xe6UIFUirNTVBp0v890BCFUDGflHuoDtA94AZBNHJweKnk+HGRGfabR08S5CBOLL63G+zu4ncmH+
w5cZGcTm+cAKGMu2M5FPkfPAYwtVT4ZHmkzAeFj7/RmB2mKUuOElU9/9/n45u0ROYCZa4tbp3F7G
syzeCbmgib5qJDeiV+vyINLVRd68Lp/X6EdnxhuZfHPP8bqwznn6gnThfD8LWaxNlyPjQR8256x5
eTINufU+hYvR9zev2w6f4pyCDbir27ambN07usLYh9To3Km62/E0+RyqE7DzVHmP/gIOKbzsAlA3
X6l784/yv3po5/+r53Y4E9vHHHtnvfyI0NY0lYX9KhqsMi6reHBvY1VJZZVeXiWm5fh3MY1/GSWs
o9E3xTiKn5mUywQr79KBNdplDRXcqKYdpXcxYJ2erOODKM1gpfexYB21rDPaHKirLNKCYxrIMXX+
rKRPAqtEROVX0b4PovhBaGOafNgu37AdG+ldgODFwkW/vSrMuFVpyu9qJQVFOK/UuWSGvjWBeUs8
8OPp4wmhGuJ1kGRfj4/Os4f06eou/pKSfDp8mk4IIxk+VnRcPI5Z3TolBPRjUxsyvHC0OBk2kHea
DyGNvOrSxp5lWC0LgxSbgJBbzusMtXHhG+M/VZqxmNCZ4V/3/e07X/shTuQL32cYlCXzl8h0Wh/Y
CyFX3ywUvFJhoZWAjLdgccs9iKboJ7T3+DTxrEklKJlyFV3frRT94GESTs97hsvtivOKSgF4mJ5e
QqeFGzgBxeZ707HoBKP/F0mctiGjXH3c1gqexqwn3q9TBI3AqeA+Xjm99PD+DlwDZYmC0DlEE/TL
1gBvNdDpxy5k3jZqq6Pi2wXMeW/J+4TR9M2ajxP7bQYmLq/getLEjgs7KAYCKLuc6ZBFKkI2OEq8
JYjN697Ym7MYN+KLnhytCLiKkd8XQ3IbAC6eoTnXtKpd0bSbZFVTkFWGh3xd6iEdvR1Q7HbEpG0G
ruNy72VXIBEikyC9L8xq54OQjc6DI7yoY8ZApRaniQON14UMavZXemMYc5YUH12IxR61OPNxQmO6
DSe1WPe5LeM+b0X2OfzUj55cXSE67LeAxq3GvIVLqVtu+uvqpg7QjybRFds2pCV2aPhwIQPPj+fP
Md0AOHUt4zRTVyIPU/7w8/fgWIlkZXY6ltrML+H6IwMtqPidUSxm+zTffrHZT9BalqObeoqEew2k
PJqBznxX3vzG93idZXrDmW9bMqbdUwEp1JQ9YbcZnqkCJ9CzjTSjkOU/izlMAAj+NVFiDSuNjFGR
/wMGVY1EBskoVw9LfbmDC9oDlU3YMdP7JGm9SfoDnp/rbVa7G+6DWy9Nd4yNagJ2BTfWcmNgK8GD
PfGNZszaz+cFkZHETlh9xtHzV9KkInePjmkXTtP7w4pj1l30wyerhmj049XPKpIPyza1/ckketyY
p0kOfahUSJLwdmx2mpreO8u09NcGKJLIjacyItYIbe6X+VjARGseD+jY6HcXBbuRqC700/qeyOAS
2CzD4Bmwz9finx/Ha4iNu1q82KMEaGrNbbrNMpQShWPeFWnZ4WMrmbYEoTgCI13aiomog+G22TAe
5qc2k4ADjDPsdYemimKW8YuHu7urt+1QUpuaOnqAmAfCkZVpMETqzRIyGYgBLp1Hxxq7sPoSGA1X
J92soEs9up/h8aePu79IsdDhiC6Q5kHcFMSiG33Lc3dS0wG5+CzIn2J6IS6aXerE7Ee+Omqe0+mI
Qp4EwioucWIs1QdQdiBJRbCPiqNhvjV1xoXNEZff1hJcosKOSaYvj8BHtcwT6LN2mJ++htBn8HbB
sfAMo77GCRCEAdiAIn2lKRInPNsuN74KW94ywbOsQst/Vyi8RUkEimeC8bTq1Nv89nq53l3Jbb7j
kBlqedSFZqjiavaAHga2x4Y5sIeTzx93/h9y+kZO3eSkAWfG3Dyw2U1yfr2LnlMzB2KrHQtHmkTz
+hLk75xbfRPzdoMbOPIgfGzpgma4BKNmeGoR7QTjPuQRuN6EBtOk91vWrDn7/NOH6z8i375Ws/hc
ajvim/z7bv/vE5pGHORiYMeSaitiUMa2s/E8zjrB3Z/fjuhlqKE3i3VmKvfxIEdK1EDytVpSoYg0
oVdaqBop3MmBecPplKMWvB8fQuPTEJ3OQcfN1Bqbxa8YBl9UvMmp8WGdgUtEOUSTVNdfUwmWj/6H
sbRfZ7OVmAEQAm05Z0SGcBTQxqOl53nFXZiGio/7m0hXJIAX82dniHSf3t5njHb96k7wOusNoNEt
84hi0JOJEi6kDvJEYLxeErk+zr5O3pv+1F3m8fIBTLSmbEi/+NsRAR8+3dxALNdVJ0wD8l1iYUOc
QPUODMx2tNbq11hyBJ7uGAtLRmw5ElYhcNSm1iSLMl8qMUKesh7bdpQVBklcciY7TlNPyTgx9SZl
4mwn39hajDymJ8woCkRtDIMeRnMfyXlovi72FLtqfg4zELeMghoNT5fJJe9pe6wZwPZQfsHly7Rd
zLmLPAuorA4XdeD7O5QFsCQ8cYHDtYLl7hkg0Q2XFCAlBQdIKqccSFz08evxvjUqOGwrd8+JEs7u
uefS0Uj24J8rps9tR2MDsydxD9kD1EVL9WN0nuLWztFsZrOIJg8/eMceJGAMw8iNGhvN43mc6Mvv
A1HknbzFJxjVo6iPs2985o3j49JjINSBzIAg/jux4HLD3x57bjdXXfzeN9nbWZqbIiDZZIo+9eCK
vd8QTtOcOlwlFX7cXrcDMSPx7j2xY/jNNo3tgeIbVI0Rjrfa9XHBIHreC46A09CG19ke0loc4C0V
WC2mqBFe3jFRfkyiJ6Lepjexo2uwbIpTZt1mXEqc9hIo3o4Z7hRWiZz/EbH8HU+TNII2/yZFrng2
cexyf7mcpgNp0bsjfjgQP5ek4/P2fD6wkoqFP0n96gPlSxxzH1CkVFZUCN7Bm85IRQ3EAXAwILV7
ujyEyvTbNAPDywnJZFGeo5oehcD/DUZt5IdgWbUhr5b7AdIvqXWmh9tN7h4ZNMnvbyfvCCzZaECZ
8AhAz6Igs1F0sraVoK8IQxvYbFKsXS2z2JH8rhn9kDpEpRWHGf++LRedxxZJZS/MJW4VYeNsniWQ
StRDMmlqz4rCamVIPKW7Tp8+XkD2pxqLHMCYQuyDGfNFdHzR+bLV0joQ07YIR2kcf118sv2B2I5H
ebKtJbT+8+F4AirIMPa7txuUNWCmh1oe7xIGnR3M7fo2TUPWuX4zJQPLVYEz2s4K0Cn56K7kWUWz
ZvgsNhoO1zffGN9gHjDKzt8PjZhOwQtYUvAfAYHXNuQlfRFQW/QCWoqlgT9SpOvTyNTGCRG21eSg
uxPqu4tqHaFO4kWXcXtTXGRWTf84oQwtNeoinyHs7m9Pk//X/7v37H+UswZc3DF6Ck0f/GWbmv3d
5EeiSnaPtHlO4ywJp4ez9FBqIOwfGvI8pJRFrORf6/KDZkErb09WyHn0E+zJM3k+2z+WnGUjP6ny
k+uOvOJjUQbdYx40B7Pw5xgm/F+T0DbbH4BlGxOZlO/ECTP+mY6fgFlqQ+T979kbxoYV8sQx90zM
l/HP2EU2Ts7gLP7ATd5KnZ/OI4uDT/brwuT8CoOJfp2BHWbRO/DXrZCZPx7D99gsaR2nCZ1rahGT
ftvQfrXyVudf84MGw0N4XLT/0HF5zucWNhxv/ooDeP47de11d5yVyifttVhspXv+9HE83X9d3mDz
rFTery63qcI5kP65kV/ycMZ/DKBdvgZko4clScgnEYhjd/2vKbZNMQ/OZ0cBpdKQzXUC1caEwKxW
tHy0Dbuw/UZBon8kfxwZOeM7VmEh0IYLgS1bRP0KIiz+Q/P2+OqTIEUxBAXEt2XfaFkJbQtMgy40
fM/TEgHH7a+o5nc7iE6w/Ru2b8xvbHI7w+W6/LpVtOU3K0suaeDwd0hU+98mEpEzc0rtKG82Uefj
0i/0BzlO6e9Lvp0qMI16o+uI/0L+pp2q6wa5wNRfub62TcvDGxKpso0kMZd07Vp5k3u+yTEui+Qp
NZtdzI1Z8IaST8MyUxd/Rx4E6reVo6gY7812cWNLtGL2PGXYeB0mv2hT4JS2+FF8iDo/7RrRxZmN
IdgDdVIqj1g2Nc6uPVw/+fEP8sF3/ACDmP9B7B7ipTwfoO9PNiQZfzqGSI38liOzgtF6/TS9fCfE
rfxD+SBsU6o9hdSe5XvSkWmOv872y/3Xx/Uon2VH0JnHGiNhWeTtyR/pI7bL5B73m6dfxbm/TZy0
V8h50XopZ5eB6RnBcUKu7VKj4KEW9N2KnhksP2ypgHEZE25Yi/w6rJ5wWYbGf7QG8R/Lq1x0LcVr
s+pSDaRigeCwWgXwZfadQ+x66VK0o1nASHc9I+EwbtOlY7h/O3bYzEnPG5XmPU9mUloIzYS2tSwa
g1Pa1UgqFsjcJT7QXD4VQj5433bA5IPnHFyUa37FB0/oolQ5klXtoRppYnx5JuWiG5mSJD/a0wFN
LxbrPizgD3DMuhosWKWxvr/OLxfGHMQkVre+iyHEhIj09yBdVTPShFSr81OvBOHk9o3h1Dsec8nf
kF4bEu0NkRrfTL0jg26lOb1BCZAMb+eXt0u/wsNTIokn1OCjNR2Pn7J+h+5KHVGhG03V9yUyPG8W
0kFqoEFolRP9l17mvhDEKQ8UiCZpD974qoY3HgxJI65H8MfLK94MRV4ojDhKlvjxcI/BChdIcPp5
R0EVqZDxqov01DgtA91mw+HHufnYdMy6wwWKqtr5hCiJb69Np+GVzkOthqTdpIy302X+ZKcqfBNo
PwIpJjjFXNftYiSaCjcuFMuie2CGixpIkoDnKbLafnZ9uzaaz6lxpPVGrqBMq8HwJCtUYNfQgrYg
dvkN3maL+U3dM9qGVMGa3MfYV9vsSqseadO50Xe8Kvt1f3p7B1F6HlSL0u4U6W/TV2SlqtghJhrl
ohKnSq9PR98jY6sSTPNcCdpy6/LhJOzwFMBwNgihIxTIKNE8rNrR+jQXiTqeyx6UoGvKyIjrgXbw
DIEREBLhxsGy7p+eaJqy5IAgahZeL8exc0GI5843cYYGqCCyYWp+UOVw7pBTfQtREtJVeLbls8Oz
keI6FFmVqTtDCHqmtEqog1pNA2VOmpNiC7O2QrL2LWZrA8DY8HwYIkrrKvBcLh9Gd6WBNBsV4lwB
F70iWQAURDgJUOwcgdX2plawTibObfXQIdWi3jCQHCoXMj6A3E6a9WRIUMV3+YozSLfzaGYI0gmZ
GskpMQolpRmWl6H7VWNQnxEJwAxV0E3WiNVI5nYfKV1kRZEKKxfBfz48PB1vj9fp/XB+BGanbxkO
IAm4sQTryyXHeYFkW+6AkqSqt8Nv04M7Hu8NeBon4njgENB2CQOfaRL2a3PiXwhFDiwfoCc1o/fL
7I1t5a81RQWrLchUh7NgZvKs3Kq9EPM4sdg3IMKjrRYQbZpJnzopqW4VBH47nL+icX8BVZFc5rYN
3adZf8TUK92NOEoW4AG3fiVXxGOGboMPDbipqzXIIrdyaNCt7NkBDW2Rjtb2YwvS0WytsI5sJZwS
GvZRceKlVjHp+1Zet5zXhgaggyO7wpDR+MF+VSRd0uf4mOJGZxfm1c2e2tOAmGrODKqWnACX9+PE
RAwTBRg11Gr9aTeVUFUpV5S3SvOuDXZYEqeLpGlfyQ30gmGpN1Ho+MDDlIeG8jF4Iw/TkXZ3OWsJ
5vtpksyjfHNXkpmZW3pt6wVdZJrGZHj3BvMnzbfBPzW9hWLq2SF6m94u73IAyhB20rpN0ja+mSuu
cR1DhMJZ97BVJDbi/qPTmRvfMRTSr5H58UCKxSL1711m2B/CXCvnqj68frzIAQhD3qTxcZ6mW5VK
e5QNOvn5hUgko/ebPMivM7ujfprY50neI5MjQcr4IKppU6Oj6+3wcjoe5Gcp7ewnrggvExHyjrch
u218eomJEVm/3B99GdXDvP7w73yrHkgswGnamLDyNCXtQ4tJbg8b4RqTyfrA0fWkO8eGaJocPAlt
qtNNcb7btFc2aVTEBzuHzb0qj8KNbXpxn4v2jUbyXUN6Ux+d5ZwZn53lW3TKr51Frg8JOZHjCEMO
dn26seRa+vVi9NHl8sca0emf8uMDCXqMTv0uIZPj4WnWdKkprFjo5j+E5CqMPq9QheAJpTVftljX
tul4BVHPqkwOny/Hp4enD4fIcYE/hfZ6AdFkCBhprBu6z0xiRlJYkKOKlNw845rjfPDXPwVf4w++
TdcffSLlL066QDV62/MqAkt6qj2e/gWqz9VYVHi22RW8/XP2zr+RWRpahhJj9gZrDO3Yoc0hfIEU
zYu5/INYSfV+fPT/dvQR3dVwQ8bCQMplMKncDk/ljo7+PMeY4btRzRda6eUGgWFiEiMK6KgksEZD
Gvu5d6AeL6sMB99gSW/LJaAQ12BZ8qB1XVipZV8Um2DElbL99DGJJWAJlst9GN3KCTHnnrU4XyNs
UG4IqUhnofBKToSectDzZWujcu9Dj0vb+udt7nfPP4vtUuyuu0VThIU0225yPxz7Oa/w+9dtAeJr
xDZDXIDIjruArpysEN4qtxVVOe3ZvRX16MEbtXx7Gtpw6N354ufbhisS1iHvEVNf9lNogDbrau0H
uRvnXKYJ9KltCPfsOGPi6pNpaN8WqJlNVNEsMPaf4H33gs+PWNZWEScutjAoilbb+W+Qq614/KlJ
dvvh9np4unzxPVEeXh43AtyafJBxLH/fWrFJxMPtt+P7jrEpirTZdsRqxCSpKUkgJ29kOjrMvwtd
o0fmInaGTVeaTd51mlEeLvFoaYlLl3PKozUI428+UDiNs6Z2qARAN/a7tUUQm2x3UcbBmsY4EHTe
EHk1Wt7sh3Szvx33xNzIoBFn9KLWpLOL05ykp+AjgIjz7Nb3nITsan0YgAvNK02sRaMzjlvVr61q
eGcXPoBmlsjj3TVn2ehnSkqaCERdqlVdFdnHaaPbXV+0ZIq26evjyYWbkolD3Vk7qaP3jrlaDe0k
1Lva93YggWFeuux7i//4DJQsLyOMxEJIR3AyixoSkkiCr3cfaDf55ENtXCdlJKKbhp63nQ81mr4W
e0uXOxWMhnrRVIjl+5KAu97WHJHV7Jzgiqbb6fXi4QH2nW+Kij/ed/5bByI1JBqkfW6IboskVpqq
ExT3l6Pbhz1ZO5ZtQiIJ3SDmkJW02VGBfKxPB1VLgd2Lb6J3d83nUMO3LCOeE29ZGqMXi+lPYTgr
uPgDF48mpgeej29hV/xTv01f/fjnh8PH/RKqNz9dpb4XKsxXdZ7zGBRufLNlUd+KwLUMzx0NpZVS
Fv4YdEKb6q3OL76l0t2Zkhc8tNUVsnTLKjpfyXmjXAmk79NwmOXy6ubqXhy541kaaTGVikXGOLcr
odTQGNQfvgByVSipiw87ux0DK3lrQjmd+5MroJZKfVSE3HFnYv+KmPgDFvMzEOTuWs5+5G9TYaxL
5E6yS+uRfP4RLW8UOTxng9uhFITcHGsW9otE7qnYDyieYO4ZGYMLSTxv4tP98rRqhjB9MtLoH7Nt
c4KUBDF/mLhDHfkqn0ITvurtePOqPaglP2p3eTNprYGIEsmxP/qhUtETQ76cCpUm6dt8p4m8hO/T
uiFGlryB8mGKVCGNxGi2G09f3NTny/vhUQpdeRHI0j4sVcxpp+JV2epr6i4wuTUZorq2eDOugKel
yfflgpFPl6evQeQOaDC9ihXecXv75fnF5dsUvaFnv596lKZeUPevp+n2Ok0ht0wCeiqIR1rH3SUT
uxuFJvrPB9dCZPr0m3NHD7ffHj5dXF63NEpSxa4kKyWGztzh9HTu4nm3+Zz0ct7kHT+Fnmf+1R5u
l4+rbERMy5R29I3QGxbW4Lb9upps6lLjkMRzsXrbl3Bo2W5GSDTbkfnfOZwn357Bz6k+Tc93UbGQ
RfQCOvMHOzvl7JOjVa6uj8VR3Loss6G3ZOrc7uDX63R8eb1v67k+S34fx+R6fvJ99kmPv88IdFP2
Fbn+7oui1iZL+B4ht4c3/w8+2yr9T7JGyRfKt5tpY+768jYzjnt2JRFTHuQgvmFHzF3uFFqaFblH
vwpNmpPI+xZfcZGljcHshx9EBTkQxZZnbO2y4JvSnZf2Tcy0bkTr6wlxGfarSAtFmfJDdiJfnV9n
VuCeoG9FqSRLhIngjS1lfP6v6/H33APi5lDsg+8FN/+9+HJZVJ1ei0pWP/l/NZv2MGXk4fMtqwhp
SnQeOe77qKV04LzWrBCcV+xeUlqDjJlWi/DHD8wLed4XX0anF9g8b0sqSx8O9weHYEK7HQyoHVoh
M+qbPIMrtcNxxxkm126sQ6bTu0vUjgyR5c9zLZfS20lrNXmwuvMcRheDFyRVvIVVjyPf4E3PVoUB
G0SK0jyHtRLf9FpGzUC+LWHv42wOrx8nVHClkvwkbGi1qH/9WrLCHL/V0pd2VFza4M90HaOjhj+e
U2NM8Q5na9MuHbLzWlnEfTj/4uDbeT5MeUFFDIUac1h7MesruLB5rp1lMHQFSb5MJzfq9uF2eD5c
ReusNTXPgx+oVX5uxEmwU4xKt9mr+DyCU/Rr5epWLydkMb2MFq/IibhCx7Vwg9/Gt/uZtwngh4YI
Rbe0Now+x7f4bAO5A7n/CblL2xAvsf/BAnbZAuZrGFG9KD3E1qvFidnjZsnvtKzomvJ2JRJCeqHn
OipSjARFJfAUalI8/EcjQ1WYXJleJ7yPYSIQyU/5uC2H4ymH3lX6QSdtzDhTebJ/kBgnUfsQ++Ea
RZTC7/tenQ+nG4LdLbnYw5K9PWuET8THDR7r9P/zyEaESg2/Spprrtt0mvyogAUnzcL7OCtH4PB1
mqhDZ7ApHHEfKp5qz04lMlZZUFxN/2F+pXdHpMrAvSPL5Daws4lwyD90wQtcjLwEOWXtSWidSvBP
PrndN5B10iKuMCpKmilfebDp9MVh8kByB3JcOSyfpefy/Oyy5Cc/vGe2NP7PohQVarRPGxUGd1W0
nqyzOIJI7ld40OWsOPpBvo6E6MpzvdeAXxTirHR95v6YmkBkOuB0vN3DW2ywFUR4xzwUJ7EweSf2
MsIDoXXGhVcuiCnxRoxckY8lVvkc5xtOUo6KCj+LOPIMeDz43eHMqgHrsOzuOVhxPSK6qc1v5zkd
Dp1kns5wCqP8KK9Jw8ATpM/brCs6tWSnUA//8+F0fJKr9NxDDfesZWubOvpucqUd+zjLLWZOA/k3
cGXGOS6FJfpklMOF5Lglt8Prdt1gpCu66J2p0RH5RUrmdlMgrKqTEAR6bfp2irKK+a0Sde/+5Tei
A+L1E02AJZEEX2NlNg3AXqWiuD+k63SXrHCHwmOJSoHs/27e2RL2VHuno1Tfm1JpyU75FqARkBWB
jufjdU+kQ9ds0WY4ypLIne9GnqZjuRkFIprrGv5jo3j3w7BxUYeQ4GP4z1hzutdDHvua7x2S2TaP
0JDITrekRBJMuiD0b3OMW0PUhc/ctDjCJ6qLkRjC0E1npCyQa3iCkKXO8u77OAy2w3pLPO8Oe1YM
vX/DJWq5Xo6lN+I+KXGf8od2vjNcSuhIad9PO8lmY4mHtbAk+U7/G06bzXelc+C1i18Zbhi207aK
YbLH//b+sQNmUhOxeE1rblPcXEOe9+puFWX2rN23XRLdMjClBwlxigqvQAtLA7Qde2KIm6IXPPDl
+HR/ffjwund6A0QF8ezH3E2rZGYD7I4Zb5sMiqaA0O24sychYeXpOH0cQyq8R7wPrvP4Pz9c9Yh4
bq6tVV+0eovuyfHwCDtfDv3An4svMjkH6fzinzieb850s396+HR9+OfHxW1+03RS8q8Zc+4vCRi/
u3jlvy4ur+fiILk0UdczgzkL2aOxZdjx4eV6eH9NrvLsvjetvEjOrPez7oNMW2U706gH8TmjLUta
j1cy70AjZN96796wJPV2oM+6GadN04sv3OSHA96gD+ePb4y4gs759t7Ud6ufV/J+NbmawoX8+cPu
IaDJfOguJ+h3uf9G3rdZE90Pn27vh/O8C/L2Dz07+4h2hWW0vMzA6iqiAnASHtiS+zQv8TgJFsfD
niyEOhcvxBdx84N3voq1LTuVSHracTRmaMSft6R2wm8J/fnDsy8NCPnJTSN/RK/4JdApcdepLPCg
HXJti7cphh1DaHExu6G/gQ3sLfuCeJHis+ELjmdXwj5/hpgq6LdiYMUEbb8S67aTxTLXWOjc0aLr
Gz30svjYnolP1KzWmnFsxwf5OaN4OU/4Nds1fdONQOmY/Jbe1rXC3Zevb0uurybTBsKBvXitKx9V
x3WeWu+wrHVIlY/PLFs/DC5H09RUfbplh0/wYUMuuakKhpIlvBn4hq2VZTPKD3dMV8dwSJQqcM62
42/ciZbNzSn3jbHkL+iIkOqKqkRqth/4vgfFYMZuNhENuNS6IYLqW7eHX531tlUDEvGW3OKcZsf2
28r73bJbrFOhpe8m4NNeYsu9DV1i69+9umj5HLDRMw0wmt5IzM7DBV4+a03t26KOdldgRtyu2Wxk
jN9ustLuavZ/wVsPj6fpcL1F7imsL6PoMRb+pAWbEgsFvSBrJFKe6TF4uJ2zZdGzMgQiRm61txtM
rHU33/rOPDwLuSz+rUlNZbcEathby5LWcmsdtZlt7KA6dLM1OUVb6l/d90NjR/zWQ+2HmTKT9RGp
jnQkdqFGV2BFPjQCOzzb2P1v4hnEIsL5ZW7yZ2iGOCz7jOiNIr1kmIJMqD1uP9BLmkuqcK8/Tfcv
Poo0b4kMozu2VtyDrmtG04/gHWxxW3rZbZFtWtdx4WVydH89HOmQMoTgCITp1VKRxPStfAzjyMTA
JBwzzFBGIfzTMyXf8ufAnbdMfjn+Wcsv+OqGn0H4amvcfEIgPfm1yUAbdvdkv01Vnb6I7xEWaICz
SDCf/LFtgX8GhjbBbhNrmtMEZizWzgBW3qSWu1QVqCbrFSIYOlfuUqwyyr6c5TbbUgN5uLosmLAE
cGcIvu6WAEjED79NrgPjIdJcMnTgNc0xIdipRo/TvIu85cp0Tc00JZsI/IMRIF0BPvpias/XyKei
uHOkilNZ2B4ja4osFTaPgWfGVr46pEzcwyf2Wbm27niOMZJTqImHmMyMxBaG3O0hgls7Nl0vA9SR
O0E9P98Ydt084arfTiTNo9WQf+KoVSS1xIMOrZ3WaqmRIXPPrZjiInNzLUOPT8eUFC/LiGE8SMeu
vR5m/8x0GNiMNZ9nredkTEY0j0eEanNPZUVEXF1CljMtJru68Bp6FSSLF1FBXn12q2cBldJzUxHd
TdUYDWkFSj3lQtOF/pFRyED9Lc/eD6vXlVFAP9YsWxUIAe+2MKu9pJsAimlq7NdK8rz0eC/JRaNc
04CXYFTcRNGrLAxaJghjBvjRp4IHptGtfYLdSaylqMsb9Ogz6X4YjCxauqBvKg6PrCdIRxSfGZR6
Mz5d5KOpXgPT9kM3yuR4i7TZ4fbgS8pux08n0KHE9O0uZZJ1weXjfjs+hVnivotXUOeyrhmY2Omq
/wJuqmZeXOUowMPjwHUT26EgRa4aIDhhl0dZMi3vlTOudZx870zHKUxDvR9Z09ia20JU9Nvx6Wm2
opdnD7Vk9azZ+RrFiivm/f98dCIypeTnr/JKTc2LY8ZTtjikmZLJDS9m77iZ76J8DwvZaTftlKyB
icr3I2vW7puSH1ZNbRcBXHRCAc+lcBm6teWTA4LEmFAHKbopwJk0wOGgFkA+kdECdRF2Ubb2SoFd
DLfQPSqjWwu4Rr9nVt4zBb49n2AIo6TT8zYGUxskNpvT+ImEujKT+aZODnFPpydZPFvAtwQ9J8dk
Gg1If93Z0Q49hpQdN71CuCSq61nniF0z/KZYvho7Z59Vewud/qeH37eCoD1DqpGSXwCXDEvpeetF
dcDAAAh9F3po7WzL/hwJ/PkmwqN06eR7O+Zv8a0Dmzop7v+EpaxuVRiwkQ0Z6WDn24OsvadW1qAt
d9R1JaglK45GAdyZNyCokJC0NN03JMvqWjQ1RSQBc9CArAJ6njIsGUam+yPQ9d6w3MDZy2HDEd86
PifnUtjGAiHWfW+12vA7eXgs0kZLApJ7/1s0xpMsgsSfX6NWf5beqJ+nL35B+fyyyjI5Ey6dH2Dd
RpCOkvWD6z8d40OynitSK8KnqHYYQNQuGwxfsNdtIYnDfUMoyg8SsAmARiQGGSYPMJIZXIWO9Qtd
Jkssxi/mJnzyShbDVFWLbQnm2eUQLjTS2YXx4g9hU50vvEuAiGkjee3k2MQmwygoY0lQxif4reN4
Sr6IpEUp8UpSqBhExBTnS0cWKJYlvuXI11SQrwwtSFvO9cHoYcZ0G8HDvgEZMzsBBSWshxIFRMI6
NPCAnDXPo+ORNKd0XEn2dHbdpHxbNkf3yuqHZztEHR4ZJNmr07VQbOQzvGyHwgqndg6AOR95aLOT
bJCMh0ddY4PMYJquA9or33gyQ7caWpePoedIYKC9IZ3afTkfn4+PbriMNweYnCYUzzrSVKa3AZPc
1eBiIs4vb++XmF+dU93kraV20mP5mA/qSeJPl8M1tIF4m1w7Oif/RmqHZmn30hwFz0/K3Euf1dQy
CTRNan7/GgnrSOKEQE2acTqvGzo1nj8fxG5vlgx48SBmiXl1vUBr9JnNT+1Fo+57ul7ew2HHQjWn
iKfnZ5eAAvsSWtJjkQw4Dx8Xwgv+Y26iU+sf0vxTwjb98+N4/e0WsthnQVLi43SW0LhouPAOGdCE
5Gax33hHehiS0FF1FXmNLC2+6iAmrr8dlgiF5DL57xj508FOmKbv2k7cPGOKpoGRYe07NeMKedcM
bc6ZS5OfjjdfOhun0gbUIAshGfvlK1OX4ZCUmvSOpvjZhkwwNLnjLdl4tGeko6MzL0NPHs7G7RxS
jU6ny5dZLX/6uif21ed4VZKJBMz0bPL7Qd7Zlo+tich49kR73clPadazd8lQmAVzlO9z39Xmtw7K
WHD0dGZLTvKaoYbpLVAdZN5fec0efamJpxTEzSTnTDq2xcDdEtoNniT551ZeULPBmUaV2vX6MR+1
iEn7zCt62cuxwOBDJelAmscw0V1wwAwkYnFFdKMexLHT1vAmuREdhnv46Numhy6S/h9fLyfQiDXl
BvstHrA2trI2VmzS19KiK9bHuNQE8VnSJZelg97SwQaFgJo7W9rOPGdWhEKSvx2uv328PxxuDhf8
t9+FXWhYU/V2LF+CSJdX6k+XR9/BPcTM5CCZfzs+QrMdstBBS2nI0KYudE0YS0W3I//eW5mGX9+o
8ZteNb2Rr2+BZMJT/ncXAl8+14ab2Ja+uj9SpKSJlSAgKjxNxDpkz4urqK522YyrQBo6oO3IcG6S
BjFv19BroO0GpsR1zZTrHBLdgKXu/UnPcZvbfL9fQxVaMLjO9/XMKtA5ir1Ya7MAOgU8Xw03UB3w
kH1OKUl6L9Ylp1oiABoa1qo8Wg66K8dz9BpAFobfjer8vcQ6JafSz5/zQxCuD8kFkAdf247PetOa
7o0nF16Vs1F+8vxt/gd5gwp0tAYl8tDOjkAy5wF03RrRdDKiyTbFlx2NsUD48Hh7eLxfTw+/BaXl
3FQZlpuaCjSddpM3ZSg51rS33744M/z28HGVpxdY0jTeiXhq7rp4S7IVJJeUhJaCWv1IshWdk+fj
1dc8Ta5s++a0DxD0wiD1FQ/Mjbl3jdyOj799ld0tzY+FakDT6GGG6CIN02eCLUzAWOQ9PH87nGfJ
/ldsgQF8FGrfmzKr9CPIhRewp+nxEst+zxe5v7qlAwm7QjNHMZftkKkCBb+3CTr5N5q3+Pnkpr74
Xvs8GSXk7otdqfpcfhkmmZLi9BrMksEidZMUB4vJ50E7ZYjdJ9WX0TmTBduQ3v/aoVRtDM0ACLAj
TmSL5NMDwVrec4HAoiOOA7k64QxTckGYvigjCj6vNlZshHtLS/Pk68td8Li7auyMAZ4fmbZLssDC
m3+5Ht7dNI7SM5gPaSMP1FfTqxqGjBfFo7zgzbtL5yiXx5us1IyueUsJVN/uEKuRydusgVkd88lW
31RdNtOath01MNjEuyBFYcwUyT/ajuyCM48tjIcIpArCfqqtobYtr0/2+fg1jvwVU1iNbFoH/i70
4cx/umw3N9swMY5+FtASppDfbKjtdLZ9Vr48PTtbxjxFAZPPiMxM1/2CKjlOBWCS7Ei3NDCqU2dG
Vh+mxt+FVV7dtJhICMl3jE607cmsN9f40M+6fvCa2l/VjzvqmtPn/PoFpZoadpeRaWGpx+IglXyQ
mgmn7euyLhupvpChFVp5v0ZHPu6oDFcG2eWa4crY9xtwpWWCEXsedDPq7axs7IYquxx+9XwJRujh
9vlF1hYcQNrkq2k35Uz21TT38OKQmPnGPnhmO1RluxDo/NPz/6+SBoTdUiHTPmcFPE/OEsVSKxfU
cGm1rk3Vx8mZaGe4Q3dW/6lPm6djqkxvFJQYSkUJbH3O+y74f6bZZRkntL2DV2OMKr69PNyujz53
gyDkw2xzj4+bM6MsnZIdSJyx4LJ2cVimdpimN6aRx8Sl7gKJB10Sa87T9ZeQn+IPEodrKC+a9Ybf
ihSedK0tL7EUZSM0onpOzMeK5Bk2N1q+QpTcaXzBYLN+i03CxpIpPmQXq0Qc0EcjHzrV7qRs5XAa
0cwskb5CUMq+IhkMSxqHhUvuaQ+govXIbg1T0XvLSj0eGwmbt6SEOdu0hapSewE6YGnPpsr7MfD5
cWtNgM1lZ+mERSd+aSRJVqCh+dZ1ep4ffd2Q+3Ygys333q+ANBlMEKfA5k5tVREZZVRkGQMTj8e1
+3083KaH0YJo5DCyyXcMsi9G7HefKPu7aMcIieMmZbSlIQ848xYq2J1j/HT8LBvzrEkciTi0dYnx
41RzZbCYtNTn9MyCjng63A+/+HZQYdLvn+d/diPl3H/L502Gv/kQZiytebp40+g/+mNWxG7ar5v6
GibcAK3T8ojmCkmjbNE+d1ta7kObY2KyL0oUg/ugNE9huv/qNuVX15b/8vxryK2S4XRXI9ASRS3/
OIkb+7QU6iSlxjJe9gMS3wxbag7DxsR4zwodBAh6nqyQigzdDG+ZJ6fYP4cVgn0MPvz19rAcvowc
yYVp8xA0PwrdSZDnjlw9jXdIMoskL8jD+XEPAiMB3GXFETy5t+eP2VTmUnWZKMrqr1PLzB5y9f0X
hF56LsfGcV+AUVWM8UvB8Uhhz/dqhlLRIQBRq47y9jpPia6ESuMGi7lXfe6sldDjjGdEQk42g4QY
I+WDa6XmxX8PM9DwO9TwIJN7ufnrPm5es/n4LuL7OgKgXKZEHDQQcxPDWGfCtx5mZSvro66GTRlS
l82hbnmkZh1RnVdwP7+k7cKJmpZEfhxeT7qhH5pu7FGWRsO1Q0uDjuC5zsrsZIocAgaK29Eug4Hc
vcPXqT8fTqeb1wsPcU9kblDz0I5e0y0y7iN+tcMJY7uGNnJknTCJ3uvq2NeA4er+tbtalpM3CE8L
3/7m4+MytKFegbt0sdX97HRZq0CWSdW7mmWiG0DE2ba1SCWTezmGRmahkm4flcwiWWK5N2dBMoSs
pUgckHRbW2kpeYG+36ZEZCVELo/7hrYShwSZHDrLmzMAcV6bSyq3AyKNadpTJpspG+dcA9JDVT6D
rkaKmhmG9D1KTiMBCdZyc7Gf1+nJlUue71sZeSOXQao+SZglWAR5lb6W/iAZAxh6tx3P92lriQXA
OTG1MCTJJeflSLL1Le7mCIhfWcBI1JYQ6rZpB2PkjEWKzzMY8fgcxNH4xPZYNqLHflZBIMLEM0s7
qutD3sXlfPo6/8cjsJiNzFlElQ94gkbWHz7a52e6y33SvRGsxlmrikxOKyiGwpuekCYhCYpEQaE3
agqgRV/HuaApmi2rRMLweVellwO6MpVEI2KkHW4EMkC5jVz69A5nVXZVuXmI3o+LeWyOdLd0tPmw
VOT5N7h/uTzkZPUwE252f+ZT+nK5yricZEiRGtusNR11GDOMZJhBTtezKM1Q+gqxdY07npjtA+Ev
4WJICkZKUJbvLgmGeELelu9xuN8Pj6/IEzYjVf8qlgIsZEKwYDt8i87wvCLiPoWyF3+DDqc7VLqG
ZDaq1otOGxVvptpmxe0IB5dnI0sOOSPPtrVljMrhWPlrOJor4o1Mn8h+SVNkzjYVMyaju4Hzcx2l
YZ8uH76ujFjXALJSNdsOX7C44z3v2C3vzMjzZ2VNC6LMDU+0ZCo/s+4yHUt0is+Mo5DFxf+Qv6R4
xJ5lGfGIPVhDcUthGYkFIhd9TSGvoPI3nGLLY/3x1vkcqcOj09BeyZ6O715NerJSHp/Z5w6eizWu
ZPXJnLIp+DELIBNI3tU1RNyPVg5v0riaN5ecA8p1y6TiYV8gsiMCT5G+t0HLJ6VUnPvhRd7ZAgmu
jYbL5JRtBGcljF67OfLBkP3xJEG/UvFYHVbtU/LKfTKt83hmbD2/yPUA6ZWOZqD2yyVYZ1IB+pqE
Y7QthLRQz7KCbQy/xJp9lItwyZ/Qs/3QfWFbwiBS+ZIRl4v4bl4UHD9zO7n76wVr+niUPceRB5Nb
1VWYI/metUWGs4pVDE8X/2iRcifvxshTGpbOHAtu9il2x5MbPxoajciIVbEKH61WH+QXJG6pF32X
AgisBYm2ZTtsbataLbtgBIJ7XT2u75vsg+p8YfwY+IHJlvc9XzuaHeFM+fxXssSZLYJUyQ+TFFaS
SF7L8JWnyPe5I3e6MZEuApWRMjxraxegogNAJlFTLTxrOts1IA/G1CoMUo4q8JJNzSZxLCeTAMRM
kxRHMw5jj8pRyBc6pK8HVSXszxdnfmSw0tdS7Um2/OHhtwc5q1sXCdVBTb5M9wDC/Rv4dwn7IK9j
uZZYJ+Mo+T6RSAgZ5c4IaRmH0wq2PGj0dnx7Pz0ffdgscML0Pt7u1+P7JjYgzOXg6e7CDgALxtNG
tECayhkNxEenwz2Ze4MCwA3XbpqxjiAMO9ZUSW5vFvUJzsa2taJEJgky9CZBaDK9mV9EWROSekgi
CuG531G2AiHkyGDMKuIAuUID/3WWoSyrnmGjhtO1dJV1dsOiMaqh/g5Is2xqXhJBONu+CSWo++LO
FuUcILrV8o9vi1rCiJIc6jxPl4+bYzyux08fd1Cm0HBSqa0B+hw+x7WOJIvFKYPRbPao6HOPjSWL
zq7hwfsKHcgansBzmxv1EQl5ukw3X7bpzXys4/FMZBixGeeZvbsOC4eTp/hkgeLZDDHTJvh0S6WK
DMZoKbtdzAl13UFtTyNtWwz0Hs6Pr66zIaL1i3KnqPk+HXalXhqiQEgTDpq6MJviW86Mn72IywlI
oyXJ/84muOD1sp/+3/elGM+Ht+Mp9ZIUSyi1mxgaXtC58T6tqyWlwTEn83neoshxCKVLbqGY7avS
IOtwfV+PL6+n+f/f5RcYludIM+zwy7gWwj3dkF9tFhUZGYNuUDNqdzIrsjNujRiK9RX4Oa9lVVZ1
ne4zahHgrn+XPr8LCemOqhuGXnqqj/Klirm74QvGcRjGVkwr929v8tuT7IPGzFdHys7yv9uxt02I
4uPmire/nF06zen4eLyn5LJYPupxwowFxfexeTdJPx07o7VOafQ++TtIVkNZehcmVoaIhvgKQ5Zp
EujmItWJTyvNxMGm4rJYR5aygw5hwjptrzb78SdZPLr8gQ6MxZS+FNgIOS/elXm9ypeFHFq/ODHx
3UKHpW9q++TfKx+YnwsTw1ghP/VyPl1ctUm0nWdxFUMuUZ4Gcp9cUpaP+rj0Xxnn+WPLN4HM43Mb
QwQgtTS7PM9ncZtF9B78fJTA5xfPO0cArCzuUMSzhLgaxph0UtuxjzO4uTHqFzp/5Jqaiu6S9V/f
8jW68rNIkuNN/iAimt1CP4hGoJGNQN5lk8t13LVIbSHe4uWVX0YRGc85LmkaPZ4M6rfV8Oe7yu2X
jUEzcCGMU63f32dzen+ddeDLayKEU48Lea2uptr/8THjqeev4j39Xfwwmzc3k7L//Jjm67U5qssf
s2UqPyLs8G15AtiMi5YGmDJR5r8vC59Phmk5i569vGUUuHxoAzs0nfounuZb71XbMp8sBLPRnbB5
Leq/+6NPLcFFolPnmbmFIZeuA3gTld/E5uy01ZsAaEKOvFsK58KJhWX+cXGVfK/HE6U2NxRtQ1Yd
l5RcfkPk3VFZbZEObJv2UbY/+W1sv1QnLAuJz41ZC/tGWWqZZOcFRd5UTRDTmCOlu5APMoG25cgn
Dur25gmXF3kDpbgml80wMk0642HPHjTxJS4vL6eU6+7V8fE+q9PHhzfvz4XkP8+4y+/Xc2U24ksh
b78itytnXUpvKL9PvluE2HFXY8npTymNb8AIN3nbyTA58bMG2fQZDs067v88lI1f5SOsah9erfD7
3dmg6wdQqPl2EBrWtu2gjJJBOHGncldScTeAkhhraJ6rGCM/rbiKaRkyGpu+Mdgn0hyMKvwZ8ou0
HKIx93JRt9mSLzm0hyvCBT3ZnDA5wG6aO/kdO/KOLZl76vVxkcxM4uliJaxfk+vW1AGx7UfbAuzU
ME8iWquVuZM/pR+4YapJjZWlpuUawTDPEwi9ZszFhrlXsrlvhxqRIIpdLy+kubPSM58efIllOqhN
pjTo0w3/lBARJOi0Oj3gi3Dwb1hb5G27MIw1rEMO/wb3TNmaJ1T8uqywRsXN21BFNfK3NwxTLBOS
SlDkHfwdmKhnmKgryZmgILY9VZP3VHlL12zI5CjLpOWOUX2DtlmQkYGkAX0ZBFt5wz2T1WwYbpnv
aduaqYofFlPm9rnRXcvNDqCw5FuQYYRj0uLJvx1+SxlR1zBmd3Gp0rtBcoZAitC+edjgVq6XC56D
5d/VcjUVFK6jLK7eagV6f14pW0bsmGjFZSxp8MG0CLQMNWrHRfZHmarox7wnvve32XVjt+W7Y3z6
MgyBoDcXJXZMskzzmSxIymOhCBCo43e4X94APG40MwUpJxv3Mvdn0NQIEGqD36+Xl/mhLS9TGYas
F5UoYxxZO9usNXw/H6zFlGxkWu587ABe8lq2r4Ekn4oZIgafvj6cpSoEv9W2xnTlOpxdYwb9m2Sh
I60pVrLs72PQYa/TJOPTbuC+Q18zpTIOGKsEAZXdDXrCMCck1Y27Jx1+fbzddnbt8Dqq4d5mZgke
nt2Igo+zHJX2Z9QydJ0yj7b1MTTLhIzuvbNvsfWSQW+rmL1IHc5nNT+2WlZ+aiUwLC/DP/M4ezF3
kgDrvzcIEun7HV52VosuVOx62jyI6sVRy6n8tGVdkKJDOy+XQMQywVCmWLssK76Sj84YCwXcp8tt
8iOBD8+BIxPXSQlDLROT+FqZyBRTJ7pMbIQurktwJn9aHlYs+UBddqJCfeVCztnWNG1nxW1NHaZb
PhbhdAxn8zzvo2/r6fb3N5oq4LtlbNwjn5WYX8uD+3rxaPpBByPEpVK1cMsbk/pHP02zYD1c7yc5
KO+WSL1iWt40dzmnWQQdxS7rGVcv3OVFSNlgeI9g9k+H29LnCK7Vp16YLfO8vP6dT/7m9uj8KJuT
LnsgfonM+0Txib12776TyOX6FgqzvxyuskinTIE2GnLNZ1WziUP44+ib5R4c1ox9Z7Qskvlq+mZN
Dak1mH97r+B1eRmSHxAPOCqMxT09Luo3f9rFZz3exH3q+trVjw0NDqeTqH6dDKX+VlyG4i97/dmK
z/Y9PyCTS/bOLqvGP36V0mK7jOvDkOpF41AJpiU/svAWy0R05X8/5ulHzOqjVNdv0PZ5e8j84xXp
/DDKp0OkKM+mIwndEhJxOzyQD8uV4oFB1PLJLBV7LaMi/vzj335eNMyfo2X65eu7/PnNUDvhKFoO
v8xW1VdxxMR0sejPfYwlljNXBgeI9x7ymVJZiUhVuHWUrq6zOhMlq6rOcqvblldmV08Q37MhKymf
fBCURHAfbx9XD37/FFtdBvbyfb4Rk0+ZOAPJG1ui/TKTnS1Eiidfnp9v0122EUNN/JJezxa9E/dq
IMozsL2J7o2qfVbnTo+79XxlzLw2nwcna3hi9HPHqfRyfrHPx9vHfCCx186ny+/ilza2pmcXDOiQ
Dx6o7O+7JosY7wHO/9VFzP3o8i3PT9vdobsMvN1/+Q5diQuY4UMrsbkdSdlNsjkQ//Xx43qbUbXb
YVfVFgYhbU1r8+0y6EUOJ5nS2n9ysvoHWUfrqpZP06qzQCpZlDuOlyLE7/uukxFhR+6oyS5zzHj0
Z6Hkz9UMTXYpp2zGFLYHepPoWzLOzzbjqBstP5U3l3ivr5e3KcEeJyjJnuMrYVRNis046MEO4hv0
3Ex1kplSrawSO4DeCvAvK4uGaK3MCCy29np6ON2vKfwXqhQjDJRGyHhulPgUniGj8+n+cr28/XnD
zep7VYXKuxzE4Ml9q5uYpTeluS7IxqXJzhLx9c3lb6dxbxjB2qqbGDTl9OLczbMMpPuW36QujYXr
lUEooh/5bShFgngFslw1XQ2bhYLusB3/OLwfZpg3YY+JiLjybn+8ZvNxOCDtpNyDu+n18PnoNcQ1
HOXLbIw/ToerlBvgNNSY7z0ZGV7HOYXLKMOdll+ovsQYoMWHRxZNDRvH3fc29vl4mmIj4/k0fL8A
KEUpxLR4nSYTWzEkfEnux/G8gblVx246w9wzMHk5x+lJ13xh4Pm2XHOkDo8roII80L6rmarZUrsj
jDn/Iaq8WC28YYQ0CDRwMZ829B36+CRLFjW8qri49LM+XT/uPgP2UbYNQ94iq6wnzKKmX/E8y8Ky
LOQX8x3MOhVpzkAc4MHXXgCySvWVhZ1kc+Td7bg4xqliBHq7axJC/q/HZxnkjgT6eY8touU6kgwe
vGv8+mBlMoNY1Hbw5Omoaqg37Jfrj/3JtZH1wzp/vyPKTzU1XT79PmtB7xYsp3iTCQ0D2L7wRs64
TDvoCbJ3Pt5jOfH2fnjyLxXmC9G54g6MT/IrEvVH0uip3s/zsTaMX1/wXENxC/doeMpt5vTuBESm
5/vD1Wc5FYSMfIiFM2sK90z3ZkBjmL1v1oB3yksV+bVioLTL+T7+NMclo7V+peYVE+Mp36yqRvVz
sVUnAwdbA/yPM6Y6vFOh9FYGMNI92SFaWxK+BDmDpsq6BLd8adrvd/NwTtFx2X+pYnIKah3f++2g
tuPckmI6y6+DgNVg+a3o9qk8F33y8yMPW81AvBrMV8/xAIPe/PSkF9/Bh488QqA4seqBTNQ39xDY
B93KvZjYWuAiuqhPyes/TrcHLROhHG6lWasOImvAEVdJh/K+bWrhkSh00lq2fphfrpdZF2SdJTMi
Y82++kXduNpODUg9DSS8QNISFj/WBWKAhSqQU1MTbkA6jTVabZG703XlRy4s1FXe5JEh8qUGfFZm
Ql+MjjTwjrY2DXT1Pb5i4yJvMRBYStms/nvs0q+nfr5RMQfLeNkYSezPOds23wyyG2TwLMftiJUl
jlqUYh95d/g9DFOY8bTb7JusfwfO7I0lthQ7OHhombGDb3ej1xENcJG7mqtvxt6qtpFPuRpEccqt
cBgCTHC3T34DwgmH7vcsJBMUHfBjRhrMJZSbs15/mnWZ/MuUvsxM1C5LhfR1X4sNLgkDBw/zw9m6
ZjoPUfHKeK7lUQ0DwzWEfpGdx/Fbaac9Zspw9Ul1coQQYTCpK6U6Pj9PLmeauD5HGR0PBCFR3Vpl
22QnhQTNlS9btZ1o+eQgE928fok0RHpIJj25F5NaVfpDdJsNTVOv+d6aSlRMvh5DFTjFFpTT/T5d
dzv4hdXXpPViTHs8HeRoAYVg/eKY9Mq2gFWzRUyv5w7X2+H6cjzfEnO8mFup/ar3tQi76RyTNjbG
XDSt/Dqppq7QNZswUrYjY19jDW2r57cSw6Qd8beVNx42tSHXRg+ApewJN0yC+14R4fQJenqZ8Q5R
njIvBHN1gzabIXj5/mnigZsl49KnF2Qxdrh4cr1NXWfqj0/367SZ0WF5Rk2McbrJhSx1AsT3be1y
zF57EIGFw5a3ZWB2PM0Xv/x8v0r9Zv3BtLUTXTNLMnzsVC14usceIFwymwRbszNZbfvrAtnwvCOk
VnBvKglBkaQyOPy8TAkYfggosCNH1Ma+5h6lowTBPxo+zgQoaaB0+nDxi7AF+ML2Tc0pCCYnInHQ
tN3jhA7w/OGeyl+iq5l/a5BNtORWTsRAgr2eUYqhGTVa1XXAiBDWTvsuEdlukR78jtxx//X7A7Bh
PMsp1Q+GTXUx82BXHU3is8mCgZUdv7av8X60r/47wIYjTdXKN2zROZcz6VnkL+7rhIBGqicNYSPl
BznSM/eLuWDKs0vbm06n4/vtKLs1tqsZfL8vAaZiJmmgaX/DkvBgRtPrAXighmszal1+uDxNf0Kj
VP1rjzWWgkKLeP/m7f1t+urqWGR5GTgqjsh1R0eBLjeLKSjP5+P8+Nfp7HL7wyBN3hR0iRD64mhZ
0w0k46L3zXXiddLGyHisYAXCmfiqj3Cany6/R73iCDOXhTvL8oaq0tV4s49ibDCuxDlymxUbbO2K
oG/YrrYK87XWfQvyckkmxbCUlS1pnBMlqp0/KAshUXUk+CgfvXzMY02Ju/6FJIFXHAPjX8XUoJEZ
hvmmyEkWJJXKD/AzPKTvpxoH9C4DdRJnbouoQdC2Ukm0pwWI+fdVs/N/ssy1oPpj2YSXYCylBPuT
9EIz6rbtGpkrXcbLR58hPsdo/WU8pHuXp61E5r5qgxaL6htvLmTwBuxtav7MrAJUrzqUdkWkqijd
Da0p8c+2qvazNJ9xK51WNYT28mKpiIB5utfVtd1PIUsy9VySZS0f0uiFnh2uvBE0VSbriVVUykFd
+YpSBE8KxMO3BDHdSlmz1ez2XYoQaUHFA0PrrDLZ01RFQvhAoJI7lw3KY6h5NbfXqy9oWPY1xpO9
pXDTCZAxHulFzDkmKccQkDc8/zUacZ+xhlwJerdc5KbNxR1q9tplI9LWfIAUzXQ5sbF94BRAJix1
6dumRnK6uNb7bfqY3f7ULMBVwMkxo2pq9UJCUjgnX5ae8EfE8Y/s5e0HlCHWtfxRmuBLG/j7Dbq8
+y2aHjjrKpsKGj9xYjtIWdIyu9g1cnlJqrTdR08RXNYvXYPzvWkhnd7ramaibZtxNuSyh9Rh0Cwb
xaH2c5nY3HrbltsyVdjGA07tGAl1QZrUmxmamHZAKf/VJAnb2N42yJMk/jlp1ZDogSWO/a253X25
/42Qspnan6d/vLxvgeu+b2rZ+74qQskMI7lvNo+TFcuTIiEkJ4DoWlAkLne/pBSZjTQSErAhGfAe
FMc5Sp6KvF5O8hI9z8My3LnzozA3Ioj9UI39Je5VxgokohrqrcMhf7y9Pxxuqcu4208MVYZq8Vld
F8vmue5zZQ4cJKKZmkA9uxpZR6nIW5/f2/chbgQd28s6tkp1LqpR/lbutLYjQ7my4S9r9Cp5BrDE
T9c2ilaLyfQZiaMTs10PNPhEsw2miFbO+nEF83+m/KD7Hw+36Q/np+98Jt7shYQ20JtpGL2qV7Q5
pf15RzbdQPKOSAvQ8NwfTqc/RfZANj59zfgQUCA/2dTCLixaGadSni84iVZX9UmJ/zfBIvGITOif
IPH4ciyp4GaSUetnfNMCH6anEetmEXMqp3L+AK2lIM6o48dCPYBrtuAyimUX1NSgJZJ0eLKEgvGY
LDn9Zui62VuTDV7PWL+W5Jy41t3O2M377xJO4T2jXungG1uFm3t/PRzDxxzu2XwDiRhJyNg3EC6h
UZKxXNztXzY2Ygzn5mqjhcYEHj1VCf7Ai4dLNFuC49MJ8OFVFYcyj3Yk+40kvEmaDyZ9DXh+HtyM
6CyOw4vedHbJU4faRJXICMrWeCjqBcspb6SIgADrRQC2f9vwQnzN2uPO5v4nHyn4H8fpi6xmh5oZ
q6U9gKq0qj++GfiWY3tjtai0QgFpQAEVrQXaWtqcrC9J/Rp5nIq/rDNJ1LXzOnTffgCwYGoGf5b5
2VeRc4fHanWvb1PoycT5DspnSgtcDJktHTgvUOlU5cYj4two2Ot4vKulfpfsdbXsKyOtXuaNvh+u
NxQop3u1opPdAps12aYanZ1tnSOQp39+7Ki+H2ihky0wS6xFcWnXLreF5fMGW+oF7HELF5Eqeh8W
NCCILasu4q44Kz+oWu+WbyzNG4h5JsArlQjHmk9Y2aZrIU+WCyX3byAGwrfP0fturZZvbbdFu0oZ
3zDXHZMqsp9ja2zIuvgYxxeIi6z8itGO+kwtGUDZbiub8tuTkOet0ExHpU43mV+SN0PXvPRalq9M
6hEMFuPhJmfP/bSkp8rxdAU6QoQMik6Oio6iyfXtH4KjT0KvsMZDNbg8ddObbfoae57z442C+fF9
lYdeuzcg966vZYXHDDR8DNVKzngMb8cwBtfnqMsOo6rZyqCQZ1f1J3nIgb9StvbxcpcCGU4SCsmn
8jW6hnmARA81zMPUp+zsDdX2NxvZfqTnBxkb4MVtRynaDPIaXq6CigE2LTjVrMOK0aFKQZbDvloc
Vy9/9vXGslDpmnpY7mRs9Hl/lUf/dnkoUuEiLAVCO9Io+q6rBWaYVBhZKqq0QyGRsl4ZTM2gp+4T
IATdcYc9Ptf3LtCB2A7+rZZ1CZLpAcWrsAYWOwQBA8OUlkV+E3LVSVBQNT4TobE9KhI9vm3Ut/dD
A+Q4GCf50HW1yqGo2ZCTZYkf4H6bZpIv6RDyi6tqGnoYCVsqll1hgb6rlkTsayMDqWfVl61krAj4
P50+rv8G2Ne1tOGTC4YuNEMoYSUZJ6hj30BsnS9yDmqpM73soVmeHR5dwtJDC2Vg31BP2yLNssuL
GXqeh9QNLOYcOvrje9IpuSmBI7NmgbvtQlB9Nc/aDGpQBnT2qYd7Yv9En8d7WOrYcZSR1pl1edJz
PXNIXiV/Rhg6spP72DbODcgXL3M+KKsnhx27Wrl+JHVTQXxmY58QhlOqls3KzNzj10fXyNzFIiEL
Mlax8OHp6Sdx0J3XJQ2zJW3CoC8+wWH+2afZ07pfrgCHmlotkNGjm/QgS2BB8hqWdg3inbzqPw0E
J/ZqI3JNLLw3GDGHiHXm83S3b8m7lU1b4KSelZ2kLJgsFlvR6NFUo0/v1+nz0fEhXiJSqo4sVWMt
fmJM0+oe6IQiBNsJST2yTqtWVgRf6tPlSQ7BawxZ90HonhD8JKX0NL3MYpy2TM5cprB5XT8U4h+z
nnm6nE9fY8cfUKdQBPB6ofAHhGpNzTVkHKwMhIiGIuC9AM+ydaMgeFhy1ZeS883OHCPtFrLqjbK3
l21jZTDo+yh/3O+xFkGGMW01NyzlC8eGYshH723R1VnMKlXA21S1eG4KPYEEqiqtW7eJia3xn0SS
+TYr10mMuPdzW3i6E0hBbupZqusmOuDO6moHjRWBIwurrcaQinKurYTlanLk+i0GOYlEc7+x4Wrb
H9XSYThqkzxrTzatTS1tb9UServ5wVjtkVpLTfjqZ+QAvFkopqDalBlBGJyeUc/ZlkTlpknTsdmR
MxjXJ1DkNJJMYBc66s2+zj3AHR6I2STX1NuvX5PK/tU9LBuyrpZQuqPHROo4vXVZCfQME+sMyZPK
GEjOCCGcoXdBOl2oxNlOb5ZQdDIB7fec9d3/buObaCPgfIEpoIubE6vLXd7EzgaAPWHVIrOpysRX
merva1mktlV69o5llV2to+DpeDIH0ddCLbFP+ce7O5/dxQcDRWNkyvv0+/T4p8vb26yk/VOh66C/
ezPUq67mXIRUX+3wqWMEejbiyM+1DKN6QttlmKXl14sBIb/esKC12d1wgDm2HHfL3oQaY7dIik2Z
nsX7P5y8/Cb/dKQi3FM2e++dMUbKoHePJS3mf4x24c07cLxPbwIOCN+cVyAtsQKQkX830kg+mWZw
4LK+8ymNKb4HOMqYM+m/Xy/x8qfp+TD/a8RZuU3uz3dhaIx/t5iq45bykd0YObBGt601YC86nZ8k
oaN4/l4cg0u+HQH2kmDyNxHv16h2aIYGvIcd85kQKkfNaknDx/Lrl53D5ovqx5DFJCqP+l+PT/OH
Jf0un03iT8O6vjomtkjqjBoGKYHC72hkc7185vEa1gxtI4xxCQdBxJrOyl5fRAsuomG/nWao+PGr
x39Nf/z6J9gN06/Rk/cngH+WhcfXINeeKfWycTyffRuj2x1orKwcSA5gXI/0UUwXZkPEBrJRZFSZ
nWXd9O0D2GHT1q59ILFWgAUlvfvV+izpHmNExfm0XJIZwN0v795VPN5kG+H3XJFrM+SxHH3fzAof
XV/bcamhoUufbn64A8fK76eyXJ+G82ltaztw7ywXNBMf0kJjqfBQV5OsOC44WAsRGPpXNfno6VxJ
XxzEHPpcrAj0eV+7cJeP+/rGGfnkyEZ4oWpzVfDs/U1l/fb0AT7PNmx/dC6BAG1C/Fs0qqZ24zz5
Ymihf4/NIfP+hZps8txupcb93WC7BosluWqZNkl3FDxoGgZvUksgP0zrrwhNpDwy96TL6eyHYvMe
no6zw3f0Xg5Q/E3DBTuV9blsFaD0dcu0gTEEMv7lcp3+5Ia+7VO/+ZI46BuJVTVv+CjfrKGKicyo
ulZbYKq4DosE1fu8XUCfU/vWkQxBf21y3gpQdiNXdmk67fX423R/vV4+Xl7d1JHbQ/irh/vhBViD
QqnHW5ziebeP9/fLFbwMwR0k8cTtnGmQke/ZJiyTvflg8If7l+PjRNrqk9mLQbc4iye/XGdr6CYq
zMfL27sfKAhGmQatmUVa+cNrBhFbKIAtyM3IDmLQMXnY4rdoF8sX7OlbeaN1A+Y8tUkvkGuMFAc5
xOM5g9qwXBhjL4jZy5h9NoQmiPdCYE1qvn8Oo6poCPJ3cSkCYiuWiBTeu1AbOKGBo7+IjNI6285g
am3k7atZdM8MXbVtO6D8Rg6FUnqzGlsjm86uVfz8B57b4ogFP58quh7f5XarAG6mUQ274SZQLSM7
lqVJatv0Bhox1daUA3Xs3iaxc1CQSlPTSsrqAfhCQ18DAWX/tn98zFrn+et87X+/b4yvDvvZ8v2M
nbbO82JO0A8UNcurEOin/G1VTGOSIu/L+XQ5yLg7BQKSwjcNX+cWvdYjWKIrcNbI7gll8DGETMWi
hbsV9XPgrQv0hdQ09cSdVYoQRtt+RB4wh7E6FerNyMdVyV8nl+LiuffZXnzcJ5fZOiOSn6b3AzLz
PQGjXbc45MbOaltsQhhMI4FwOacvaVSE/UZ+baLQj6bR4PML5JtaF3rPJ05f/RZCrCdWiUBXtuCi
RZbrc0N9dsKy+QJ0zbKdCRGD7TRES9r6B85/wIiLQDaVW9Z12tp+AHrdFgqlo1fNxwUibgBXzTBm
0PQregmDhJ64fP7zR0ZsIURuOE3AiM3364YZ6QloclUJfRXtAGzTFYScSrhyFjCAyFWzpd0iXAu9
MK7vr4fzhLTlWHO5bd/pZgCbR5Ssj+HbNcaPJaTT6QQgWuFMjWvZ9d/xaXaKAILtya74sJ6mI5az
zn9FOE/VVLXD+dYAndRwxyqiiSAGj4G+f/h8OH1M+yZ8B9nIkunom5huWiUeAPwdiXznvHc7+y39
CO50OzL3Mtq+JNf5YMDr96UpHyuk06IjE9cqDusIJFTeZ1KPFMF8LEbyvSncPfA21Y9C9uba96vY
w/gQgFQWXZB8hoPrMYVSP4Ob3nPzGC/W7KZrhTjIgUP0NH+3G4cOxDw0cdRzpal71TCeHlOmXWdr
wj9rfzsrJmiSLadjVqQK0CHEsybTr8Xdds7+I1DIfTVow3RJCXWfD6cbMsm6xp3WvOIeeMVdlbAK
eb9OQAGyJghLL2WmET2GeKAGcLFKqwfvSelZB4Bj7TUP+jWVC5xsS3aVQCSr0PNLmn+jMeQjVJDO
uWJWGaP0iB4kITza9aMxo9QHIPxez5E/M680gzkI6FbmYTCxuqZV2GbeEXmb2hIXkl1w+Oc9BndQ
Xd0T14NBVo68gaf0bOUNnNIlLDLO5A/flU2uT38Lqx6uLx/BIMz289PxvOEWdV1h5+z63u+im3pC
ZrfZYLLr1oLrZpg2i818k1eDoFRTF7mEQwEEbVl8PDUcDS+8I1iSt9+Frod2tXEAcGl+dHH2aj//
n20AWtLbjF4L4KJijF7yHKOZQj5SFnvS6yLoQs8qLIlHgUeLPZMhjWRrjHpYkrAVITgesRtYbaih
ri3EBI+XqLI+pyMYR7mhq64MQxK2gVYZmOORewjtylGJ6UdCN7ygOvu6d9I0RkHnzpragyFboAVk
QX7MzxeIZP/sBJsG/l5TTXBxvWMCMJ3P7zG6sqHIB8BnxQ4gesQF+YR907HhYZuGhEFjjWLY/G3T
nVr5ejHqlrCZwD2Du0t4dMJ5RmX1DSRYz8QqqtmkLRe6BeAxEiK2q+0lfSQ3rAWJqBH55jd2M41k
ILdNjR4dtdSxCYjj6No9u34zwHPpZKo8bI7TcDuOm7gtZNoO/ywXSae98rYSMmg8L4OOWRMNHQo+
qmr4Z8Z+baMgvd5y1RzF/9XlBk/Y9e7pb2pCR2Wt9fvbSY7UpE6lRbSI0wG3++GOmCFiI50uaOOk
g6r/D4I9Y34Vkz8ltV2IAna+PNwerxfE0VAR7ReezH9SzE/82X3QQwMS6gg/QxIm463dlsq+tXVP
zB3Lf/zyt7/u6XgdzmfgYEvLWwt0GU0qy52RPVc0AN++4fx1KrS+TTijk+ZK5CtJcSnSl4RWVsu4
eyLQy/ikw/lyf91K1uo7jcxBgChLdHvDSvH0zlh8Y82gLMyDq2KCMr0TpVWOzK1O3U2rASvIX5DI
sM+27zuGRxHLw2MyhnZ8jX5cyAZaotTQjHTE4PuYBIvfhzF8WyWiwaPQnEctfZFdFpb6Fe1SQfx4
Or5/uvgx0I+PE5D31FV9YfR7SlyYpoXEhWHPGkM/wA3viMKOJZOQjSR1b8YoPjfn6Vd/6X493Nwl
AodSTQHxI+QjEiwzr7ZYumpCQ5CR2/vhnCrOwCuZGhklgDnALRO4QVRSjRkDi9CUqJYIrVdN8T4H
/z3c6nBysxS6eprDPdW9YjeEJPF5yxMJJGOH1qCMBVvzxziZiC0NIfEJPiQZd4fT8eX8hl0BknsU
8Wbwxqbry/RfyNvrqfM6kvPz9vRyPf7L5cWcfvqAazQ1fjH5Zij3T9fIZhqs+aaAbEdTsftl6izh
oIEiHscaf834Ple7eHkPkyuXhvIb6brEZPtuc3YFIwMQdDknYBWe/2952s91enFdLnblIZDsChKz
LlO2QaZLvkV+tjVLpSKNbg+3DcnrSEYEaemVPGwUaCsy1xl1dJtvwbyhGXkcz7v2xZhalrIZZ5zY
ABqLZmPzIVFO3BLO/zJ7HLO3//v0+OH/Pl7N9D9vKPuxrZni5P0AWEKqRsi93Mw8fPy43edbtyPn
sOM5hy3v2wyESFXvKSNqMTwh+tCXSvV1Jj3ojzhW55gqkAEg1DVzP8M4PfQjAHGmdqlCtDlVfgUV
smEqelOzpilFFdxqmier8ixTnjAPw6okpYa05OSGPF8kAPpaTkDorp7HAZwqyuyoTKCrtrEjcvYL
j7tdWqfOFgo8ViWw4/vGevPzFkysFgissxeW7tGfEPOg9pb3gGIDUqzlSWnSHCnVIc52wy2yCyd0
o6rpx93cQTdUybaUI4aS1uoZo23T6w5cSaJiPA0bbpJqUZqpJWDWhTW0XOEIpFerepDvNt1D/sct
emDnw+fjywHXXGqOaBa6JMbBnesQFgsvuRVd6EkqsqNhhxQ3mV0UFAog3qAPvjYsaotMUMPDxwq5
GUCcaT5GKxQv7U+rURrcMNcxzZtEoOJMLaR8vs3/3vvFtcqLxwG+R/Ecv9QAedZGPXBGiDtKLK4a
DUgUsxQ/5Axhq8ZmhKnaTc1fmp8aenCDxpolpMr/47wkXWwViFaLP1wXj/NTyJb/8Hu9GXfvaBZv
rluj57V5cQZe6mjUCsfPRuJ8yR/n/24GWfg68mCfqan6cNlxNLQarz5/nE5RR2zs9FCQPXGnnVvq
PssxCsCJG2sJRyHTzZ24CzPtaesRGE5dS1VLG+LO/D7bmveTG2172fosyg9m+ihmtQMQRnbD5+zY
StnRz9v18sQEO7ZlDHfh0+X0tP1wR7C1p/Qi6q/X1pIEHPA6xIdsFx9ylQ1PZTjSjcADUNw4l2w8
eJJLjVVCjv+OsASJ8BIXOxVfAONEzIBXMHbFH6POAJbDxhrxBSPaLU+Zjlg/BIrB7zaFRR3qUNPd
Ot8ZZOOOqLZaThydS8CXkNcnXQxpygl2N1qeNN2zmnnk/Recsl3MEih6pGHwHJRfKIPNTH+DDjtk
q4CD1sz+RrTg2V9/Xil2+vl4O863LnWCmo/U/cDvm1ywrgUaKbm8k2foeLqBlnxqkPpEXDCCfcOt
/h7Wlve92r5PyRSCWGdbLW/NWQH3o6PsMLlAqrlIlp1TKGYAmbdK1YSMhkf/hzeKH+dYaupG/Ib/
AeUFFFWrZleRCWBOaE6205wRD1bCuOCg6bfGVLXQx+Xp4v999wcIgt3jwSA1Y6z+GaK8zU9Gn1Tq
auWejoDMPU0Cwf53Q7bglELb8hJjfoHMj/klwpP/rzSu178+eQET5qnl5103+ffp5Hz9m7xCv6xA
4vL++dubm/ZLehlLi7TRHqx2MQx7+BTjQffXKQaFwHaY/DqWvw7PFZA/iKyQ7zDZUNxN0y9BPqfl
ZxJM4xf3JXHK4c3Pu5oR6lVsmOrXHPJJZRzoEjJnIyw+1RcCtpIO+fdU/obspfkntwW7bVRNKheI
V0Dph08fL7odxMHF/kv4RYtyur2ifPn6fNB0SpGjSaXaBPeUzjuqlpw6f+EB+xQpzSRXudGBfzB2
AZ7uByl+4ssj8wbkYKdpOt1b8JFZFL2PvnfbWnlFy7+jFXXW9kUZBiYmVrN7n+pevMvkA6XXz07w
XDuz6Qob5/i5x7W1/XvGSdtTgALey5OXyfrNu6VxsFRjRwOlq8ufZtqlK22Qk+D6ua/z3gqMc7tX
aJiKtcRKLE7lGTal86Jna0opfYh83l02MISETB3dXZve6+Xdcfs+CBj/fuMq6JqS3hZKIwtlPiWd
Kz7XVsjPA71NmzXcbrX83aoJrfy0KWUodLh3ez/JRnbomBKOn2t1P5geKLysLwgkLgXoLE1Y8UuM
XIcPkjHcYdLykSU4uXQ09P9+sGYyZ+l0NhmA5JF1rOHxJV3ewsekiK0Gi4Y26XV/bpthYylCrMqr
kk7ULoWrTc0Lb66ofArtl9OD88f6zEcXUN8gwbucwZ3G9pglo/rm23OGzs6hjOpJjl53uRFHMbim
WMl3DwUD5Do6um1YogTh9rrIM11NXoSMa1BhCrL3n73enq+Ha+IXhGPe97vX27GT8++TjChtvi4m
syquA+UuBs6prLwCKcUjL3E7vr3HrtLgPbJOIQPWYjvQ2XbM19+91MarECCUy7L9mO+gQeCIAv8a
RA/RJLYwNfP28Qnjxo7glZyh4Ee4xmEg7sjfkI/T9dxyxA6UPqHlfgnh6dmHC2k7zgicpvPLHeyJ
qYHDdDz3x9cwd8C5h/KuDOyzSIWoV2tOBJMEPrAjw8dls5FUPgYc09zcQbNlmIxvyQBBTIaNekd9
ztyDxPBbzwqatQyyJs/yUi3brzZqNsqwxAwD2LPasNk9vrVtoqGSbmTEq+9GFFCOf08/jv3s/H4Z
7qh8tL7SRxFO0W/7FBp9x46M8x7E8tPz9EXOnnNnyV1lm1I9YkjzwZf5Oe3pZNgT03DMh1vSWOaV
LWr083Q4pbnFz4Hb8HywrE/dapooi1ynGpZxJYmvk5/r4ZbEC6n8Wr7KrI8vFlhod2n9OsdnVtu1
JM8sU0T2NDxWKcKQfGbnNMfZgosdmR5fve97c3hFxjxtfm9vXLpI8Fe3YO/LqaxuHEwcVrOhQtf2
cPRv0/31IkM5o5j3lzISjp+jdvATjh6uH6eto1Z5x0jyqyw4u0+i4dB6+LfOfVPuNWF9Ol/WFdvw
vx0eZ8fsfj09XORvz/fQOSWj9I6VlsD/JSHNesU3ELRjC4RUllFycq2/sW3U6JGoDsro6cMna2Ip
MF3NEbrN4vj4OkvUdIp8tzOHT9PNZdiiVzMN94IU+D7Z4WsJL9J62kk3LLK1pIOlJvLb8tIW9yby
Qe8eMry7pLLYvlheIRuwoVnKe8sL4xuROuCQ5hXGwJs3SCiQ7b6y5QTLuPkLu/W6Xhlf2fDspCmN
ZuyVYQr+83H64sj5fVur830kWXPB4C4zHsKcVtdk6+jnCMTW0tsnPzA31jBF5+7sg5cA91t5KIP8
qtlA+JRJrjaLfhjftHAWelK9Q7cvSpLsL7Sc1Yh+S9U2bO6a6mtuA4IqG4rGcBIngra32FYzBOuC
IXy/Tm4H5c9sasLMlYz7PqxEe6pEfW6Agd+4dRvaFUnlF4vhi+CE+g6LnkDMgY35aO/ykRpOK0X4
7Z+dvRTXiuz29fyYSC/QH8K5FnnfHC8Ts9bKV5n/wxFKcWbR9NXlgfupfPI7EqKxWdzUtKj8OoUT
1rHHHj7Ox9n+zMc567gN/5Qooo7UjdFdej9uuEimGsVa3iYwvs4EPl6P7/h1iCTkHrLkZW5uuP15
FoYP4F0qrhFVEKeUeeoficzZoTJn7eiH2Ygjz0xna/OhEhXnm4D6eSMbLVBcMy0yqodEVh+dyXu/
TXSIqrZD3zVwsLUxDZ+/Oa7aUjmx/HJDA9EsGehGUAhdBAxjtXQSXS6ncTXalMgVKal2rI7vohxw
nIOUmcHl0MRVjWbDJmPsxrV/b+UZUYYMaCbtjAvmdVd3uS6Pfih4P2tG27fyO9Cp7VnxE7FwZZBg
hFIDxtPKoj/Ioj/UBg0y4VDi11gyAoiOuWGi1ctPN7XfDrKRql2ejjd3FE9i4k+X24Sl+5ty+9ux
sVqUbEOGIJESunzrwWw8S+Y9kq6YfNuU/OGGbxt7Os5dJUPpZHkwva4N9CLfoGS9oIpx7YZcIvkX
yewpj6pYzn5MHfH1g6mseH4HWfOSMZ7OzkQ2lK2W15HPw5BJvCYPPQkvQsu2Zsj8qgJT9XS8gtna
ZAgYSUANwOKHGUnFpJYHUKXb5cZ5xVSr8r08Y/tO6ljAuD0y8IyQl3HH9NgOurHYphRblVoAaj10
rbwjhmrybAjwwct6Z+xrUwPpBQpeTrwNPin75GPZKH/UmzvFt7zfFgU5OtrlPuHJCFtdueuy/bR8
kqsZdmybfPvIdF/Pb5IWkn6EIJrZl5rWpZ2xbM9LK5wGLhE7Il8/y6cBxmvMrDy4vR2BOST4RTWx
vL+qgEg79reVNXNTfZNZYXd9B4w6D96ZijUAtoTMq2+bxYdON7prBqMbfKPJTPVmacKBRUz+GDIj
kpQL4g0FhrLl91yt+w+hvdGGz35XOz5tlD9tYOCc266YhOJi1V/gPTJkFiyJv22Nfutys/TC5Na0
XhjGSRp8B0XlAkJQW9murQ2Cj2lusVzwfAvU277qpi7Pl/FGY1jomB3UWJeHNdXBUrntQMmQmYpD
2dXENHqYAT68JwRvkoaGKR/y5p79eIfiOAwMrkS3mF7V2YTCq1qMl253XC5Z9zXFwGy70psy+qPO
UFt+ysEnU/gu687DlGFXy16AuyP+BQZZcRdXu5N9W/lCkYG7PvmNGvun4/Pz5MUcdDHq8sSAwv2v
grTXjqI0GT42fPR6fK+2U03XW2BIFXcP46uk5wAqR/6I7nur+g3B5FPfudbPeR7oLPoW+kSh8B8z
FR3XXWY9UicryRuJPUH+1tMyxcUd4qSpj7PvyRQyP/yBy/CJTHMn+amFKZMvq7a1y1qwDwdKMsXA
uqxX2+rI3KXNE1RlfXVC7U5iBki+4Qbf2AoWkmWIiCEdUF0D7xsNOLpc2bpg7+jquDQ/3QBXhx7V
IBFFv01f5ZPhuq1d6UXAqVDPM9cgZKkArFjHP5e5hi6OGy4LHrrjzRzE45SfwGmBva1hkXCaH+dZ
NYcRHp74kr0WDo8Lv/MKiRbV1zi6dGV99PTm1ggKADTy8Bd4QC9St93A/ipudAyzXJ+DuQmwaNtF
pYutWDyCbGTtNCADIhOLMtbuRo7W2rVykt+m5xeXswP1rW468VUGW5tVz1WSlVXSIAuxO6iY9pSb
J8in1LKbXaDHcdYancFGemTUTWdkoHJ4erpKbfC6PFgkqWlOapByeuxsDKbKgUcFK8MV6taZ0tAL
bl0jn+/I3bo4XqJvx26QnyLm3HsETMZer7IaUCBYFOkgWZps3neXZ9Qaxr7JO0a5m7b0HAXlI78F
zaxul8y7dNtPp6XUw/93SHwJTCfIqTaWv2O8KQULBPAVISZ1weGu04xk2zsCSjyej6yWra1KtO5G
pOzann254WGZ+cVdjr+sKhtOgqd8D9JtLFbbTD+AlMou99fwAm1KF1dU44Bw7BWDiaZBbKpswwtQ
OKz8REDJ9TUmfnEKLv84yqifPDr61A12MO6qHF8+Lh+3LTeTYBASOZQDNjK07E2NAVqyNcibiS1Z
u9yJaCHxV6AIhN2U5sa1FrQb5QvSsuvF3falFdXGfg58kVTq14yjBgQQQXOkL55Vs3vcydZfVSPQ
850KpfFft2YGd3lyeHL9ogzmKdt+CRmX9ww47goByGFLEnf2cc9mBycKAsBDD6Kgemj8BHgISkgY
tV3U9nV6SR1Un46PLlUUCHOVT03cw8f1enk53N28SNkok2vl0h16S9TUbDh+fP77ltPTNRolgdS3
VZZVIuGkicmskVpjZEzSks/I7bRt28wXXiF0wOnZjklYGAS6CuxAWq2vZSnYRs9vAm5ax+xYRFR+
Ar1PbTh8vhyfnCl7nJ5wdziPz5Ad9/TIlpa0baFsQfR1r6el+hpurtpDabhOl/sDLnG8HXBO5s3M
gNy/4GsB2s7W4rqzs9JpLQfudV/T4PtjifLHWF1jtayeb1sPEBgPtHOztEokkLVrz6Pc3PMMxv35
cjpdvrjOlV8f7l8uUttF7yt0nMvp93nV8uZ0bS24veZYwdW2nAnt1xsFSR3bWMCpBGGT4XXfAUkl
qVfylR5rv/7mZgkfXFcx0r1wKyo1cAK0r9G58j7qdjOxDWxER7Sb6UqPIXopnQzCxj00qS/4uh/P
cSD8VhVv1xSUsIF3CGBcxLoJvqpsE8cRZIoI6El+t1HV0gXM0HXS4D5v2XhM3OwyJEsHnaKTumxb
uLbgEumbLgTB/vOPf3MpSD+F4mD5pg9yWIsnHMpmip8kx0SPrwc/sAC7byTLruKOH3wevq/22rj4
mtPiEaf6VHsWSQ6dP0F8YuAqOToRw9h0g2wWiCIPtXwltGFxm08z+D2fQejGaJ6KU3bSvU4uyfvz
fDixFMCz5NOj6zMVO3vJek1xC1Zx75TsHBIugqg10jMoSPnH2WtauRud9/J4WqahCYbyDW1QmF+2
mTIsJVHFkDfLPZxufs8ND6fn2GIdtA9CdzpcfSXk820CoJQkUK61o/x9vfx9PcsItLYI+8TKSny9
KIRsacs+PwkVZAU2gFtPVlTGA4SEJd2qWNjZ85EQ0RSagfKGHogHXBFMhcxRNQZEU32cqZEplY7z
f5yO+RouDtoH4g/UEqln/9c1vICR03yAPklQ7ckCky8NydmpYIHli4DeJyZzBXBCpI2mHwVRcShF
XlFx5qlluRGyiKqmFowV5AOkdFiQ+8NEFQTdVS0HILzKGXkSHdUaqzw634fxNB3OH++yWzWy89A7
A3yySeyKGI5G2fvSKNEuDzpY8ipqfKQMhc0Ibg4Jfcp3jzBgNmcFbuWOy5ipqXEnS8w5JrDIGrHn
BUSd8D2AXEVFGTtcc5D42PJ3szuz2UGavcYpLKe9VA/x230G8iC/mneTQSsexX3sWr0UMAVWb5gR
IMvUzbB133ylwmVcQEhrKTOauHMgBNTVoMFmTEn26HqeXmLMznw7+cQaRombnZBK/mRSQ+DjPZan
mg7aTSiAqaaqliuWiFwAp3RNFwlejqxRRxAsDomd8gBuf5s0qPWYDc3TjhiPqVZCYopT5vdo5m3B
74XRs0vudAqV3nLRCE5utiMvqktjRIbeqkF+I6q6mjL5luEBQIcVtqJwTWzfWyxnpiAYqxr5hhK/
ZTtm99TRrJS9fEk5bxiNRy0FE7Bmhn8uU2mxCxMc9+otLK+hifrMjG2rO1mbKkR7er0up1vQrN6M
XAWFJ2+gYpRhn2YNztqoB2kuDchaFa6hDPoGjRIb66vJe1oilRjuUsp2QDmroWZhb78d3x8+H6+H
twPOMiFoz4XKuhpva2TVqni00+7YADmKUs+fWrt9sgah6barnE9fkWA2ygE55jBpwFU32FGOGrcK
oBzZ4srx0k6DjL/oBIBdsKCsIj4tVyLYwivrl3nLrUZJ97AUU5AFebWhYFIGObEC+DIaGN2y1AbE
4LpalkqpsAjCDyM1P1AVZVHuYVb6U845UQWHLLEjoMZOrwLraabi4ZOb3P419MrzTMDSycp/m/tK
NEA7JUGW0wFezpfrRrlqeNzWRmgXb4LarTQ5ocYzle6PprZIHFITJjaDtTSfcDOkNvx0woD/KP+4
N7gbRZ4jmeKkY8+GNlfNeXzrpVN8Og3b0IwVDh6ifzxkYcnP98vz7rrHnkrh+R0vn4Zxx5fvde1x
JT+u8+N6OWO+c/LTacyd5iMxfesV34rl4/3Bzxf3fZTvonM7krldmuVo5FPY2ka1PE6Gm5Nj2DjF
Tj7FjaDpmMsqlsdnhZv7Aac7HGPY000MkaiBZAv4q9NFnX/4uF9cA6YQ33Ldl+YtjUQlWM0wErtr
lsZJri/ZA1v0cL9fj58+ZOdtXo6kVmSWJX+WYwrdPQQrWF7M1YYb/A8/jsM/sbwG6GOkSCOhxseF
moiWQogDNH/K7XoGPxUw9gwV1aj/OdrHXvtEt6jmn6frdUI9IGlLeOcWJF/scAedQknHR99nx8R7
5VuIg8dI+9/A9XVd6md8BQ2xSNdLFaYAqCGGkQ/n4/tWVydD2nxp3w9p/s9oQ4+zdr/ND6PNJU2p
Oj+QdEwpjK4BO2pMZUinP9V6+Nya2Fn67XB/jU+9eW/bTZVN7bd8f7XZ26yv7KdSxJJeD8D0QrUF
s/V2+/g0WxzUqMqvEQO6fo2cCuuefjicL+evby6/N/Z68xVHmytGCs+vaBdbkd7n+eNf/0IPG/ZJ
sST28j4L1awf/TPpH2Z8cZ3uj69fH16Xoeigv2DDu+V2bOFlLbAAb30dXRdybqfDVzfha37u+C/U
2o30BvN5/u66ZYt0i+f/J7flYKMix+Y3qvFp900q3407Peu5GWien/zh/bffwZ7bvFQORbiM3psr
hNl6kxga8Zdq8GHnKEPnh8MtEwqo10tcqGWCk5oWOkLqHLqKh05lR9fkG/QGpM05nZcdu9E+uzZp
Tw9vR/AoGW3gbFGbTnl+9OQylc+Xe+wLnizA1gQf0wnq1ee3pDNPiQqgfbuiE3NCT/80AjHcgqfp
fXYoXicHTx9uX9/epvkVH0GjO8NG0ERUld7oy/EJ9Dy3RIpb78ImHiE+/na9fAFPW2FPouh6xRWm
BwiC6zsQ0lEe2ktQWMWJriMynze+woz0vMPGZkh1i331Qc9B0gjVef9taigDxGW2/C0QlpGMWfFj
P/m2Zk334EeBwkb3lrS+bVv/kqkp5Ww078fHGxhBYkn/2NZ7sYnGPl43Ro0Y2p4zTJ4INzDDpp2D
gb3e1d9+J+dNVmCTBz6RISZaf7yM1jQGvAmVeR+bjOMPXB6Xu7wPcYwB6K9OJaYhJxLPN7V23XW6
Q3mJunKX8dwaQ9pe6+CGG2FrrwdXhgDMK50j5RTLchVCgtfH+Qj6kloyMK11rkkbXZu8s58uv4Nd
pRrf7YTK6mSWtNu0R5nQD/BDqCPEu/w2nb8LSWO3h6ev58MbUqqkxWrrJLeN/gdfxgG/z4fr8YDO
19DzHbzAhAu48Q6GdvFvfHZ5UwqGewEMU0hr4jbkFbT8+j840HM4AZmgXWz9rI8l0TaK1wwuNmCu
v66mWCamDyZjsfeAqa73rFyEKRc8msPQyVuNTx5puOG93k9AjQ6lDlb86Tc32udf03wkv8MTseS2
ts6fbBMLE4pN4VxHS5GN8rykdNXTKBa5KCtc+BXKGoUFZw/0MD/6cLqcX8Tpu35JPmfQctX47DoJ
4x0irpbXtG2McDGoNf3z4zh/oQODAGxRYXEWLGVERHQyO31hudfjM9h1wgG40+vNYmn6cWzAzWlK
hdbJWA9IDJk/Ma8SBwTMAn8KWvkqt44Ikk8MnvWTiFWhls8fb2Ek+Sx9l/BHoKbp4DAfF9cUbc04
4OPtjNewVKcEyDUUr/QNJtTQsTtUW7+55eKEW7A9DRllZMidyuLmBhrtkxTD+zyXePjTHg3XFyYs
EgJklV3v0gxMajumJx+eZ50vEnphX1ZnlB3TvZ9CG7z7MVFRu0QnbrEcAOaRyY5xGKxl4P79cN5j
0E19lbcgb5sLGDIyq/VKKVIPHm9KvQ6CCR5KBG7oYI4wHO6fV6T1yfiUzp+ESWe5qJJHZz5vjgJz
KfPAV6K6zCNGVTgTGmgiVb/6TDOfL/FP4JpQEe8yUCygzRa2MmTCT2t9+omq6sbt4x2GUkcuWna2
7B+AVCRjddvOx/UMRAbbskq/iiKlrByhW27IuDAGw4lbvtfwNYws69WmyzbfaHCHyByz0euEUvZa
sCtN3WQEJe/C2/fX4+Nvs7a/Ac+8p5fRg9mRwROPQvd4bZRGdNGFxmZksRPKKlV3RGeZy5VJSPJs
qZJi73DHGmKjZwm7RirvkmrfZ19slUndT/woOv1t8FeYsyQbuKgVfL3DeRHMbbeE8iMho8qszAvY
xpV7pQh3tUzlAWe4cjS7QrU/fLw/HdCQETItXXviN6HMdKvAnaJjo61XN3X7jG5UV3IhOjWKmxyk
jJVavrbNec8ALtPZtp3/m0Adz5J0v6C5GATg+oD9Is4QGNuGXsA2W+bKqxOZ+v0NOcsDn9PeMdC1
HZ4YTGmHSgplm2M2tq9zfuliLcEOcLfIEg47tfFL8nts8H1k4omP2s3u6gqzLBj/0wGsNJIhSD7C
YOnpeoLYN9DbIonHOs+WNiUYR7AjFGuYDAAr9keD2zLy4ZnJtyXI5+l4ez8dUAjLCHZj/SYIV/f1
N0HWPU6Rw7PJDRl0y94vAN5Pl6sLP77PusWlcm3k4AY1NZasZB/b14SguMdD3urCSZvGjoyZiHkb
6XJuY0SiLhwkT8OhvEjPnzG/yMvp6/srMtlkCWe+21Ha9PPFM3Onwzs4wpZ9z7C8zvEc2vogUoCQ
xsYnyXHd93bc3hAyPKr1ibBJhA4bkQU6/tfFStqILIPZAdq1r1v85MXdLy8v6KPpvFmf1bVmlr4F
HRPjn8e7B/3sRhEc3qanDQvE8hm0T2co1Cy7zuAoDCTut3HQOLApr0NJE2/Zbl2ympoIo2ci92Tb
0KH0ziVrx4bdUe+LPbyfkEM2EA/XSbkekr0IDvfttudVUs/+ta+bruquBA9/TU0dIXH1tY0NuoZN
u3d+JgmIk2YGy2DS23beCIn65+Tz7xxp/DcPE36cldCf/CIg9cCQ1IM2+4nR3yw3CuUwdDx3IIbC
rp+OM5a+fo15fuh7yAK0z1mcSx5t/WbuS7Os0uaBPOnpHckUXV7A91/uogkMG/uX+XZv72lOoSHN
kS7vcbj36/Efru/CQzx9P9cQbWzOD3I6p2M5Rt5Zedx8IZKmRFzG+AJ+jRm2SKAyvIViaUHRAM8S
9jW2DVigYfrOG9rklnxTrwLJGNNNvoSBdfTTwEI51cnPtomZgk+XN//v3z6H2Xqn6fN00v6Pv78f
7q/+T//z7/OffvIr/hrF7Ps4gP3n2ZRPv/7nDz/+9Ofvfvruz7/+8OOfv/v1+1++++kPv/z406+/
/K+/f/ff0tJl9nHMNvFbPizJ+PS3zh9vn6br//BITFolBne8S5T7DP3pcna69DAf26/H288pnXle
8XQSl4pR6uBdVV8ojJ2ffph+v//6/Q//4w9//f7Pv/78yx9++e7X7376Sf7QcVnXjwho8ro//Dyv
fDnN0vHr6XKZr/0Ps0H1Cu4/f/r+Vwf7j7+L69qcju71gM3rfufgqzufX6fwp+nXlBweI7viqqZn
Se4RfdANfT3c/jL5TPxftbyZmp1uVLrFyz1eJ7edeROWnq/SsprvZcxJCMv+7vKvXHpk/uj/96cf
f/jvv/75xz/959++++EXeEpm5Mn9PfruEHEUv71aJyAshUUylwyQFvHi5/7w4y+//vyff//7jz/9
Mt9F+LVZ1r1SGeXjIT/0wx/+9t3Pf//Dn7y8/9q08jFZfrft+irt0CM///CHv//8H/M3YT2SP8WB
fNvu+60//vjjX7/7ww8baxPtopZmDL+4++8aM93kDVA1Edhx5x3zIl54y96m1Vga9t54q5jeix+5
1nuXq1d8/4aqj+HyZTfW4nA7H95vr5f7fEZvUAzwfemzLDgRjBDAjfCbN2DjyNqGVcMYDdXpt2iW
fGykb6pkojZUC9HOuefEprD/5fuffv6FnxyW+5ZXBvX/jnpQ8u0oFOQAt/obtFo2OqR2fHN3fv7l
p+/nw8Q70uVXzsMBRBEGAuy5IVmCO65xhvXv3N0obYyKhnylQx+YXed3vvz6w8/yoWXR8zU54X78
/Xp5dI+fX379/jy/2od3pbe0Y8M+0qw/8tPl4trc+K/89flwusnfantR1aYdm9/u5Id5hvX+8MP/
KnUMVl+aA8OdYvXv2DJZw+/+pZ3o24hgF9kS+RQajlTsXoMH9bnlKLJt9u3Htx5wl1/eGW6j/u3L
ja2T3ZJUJvbzZQJST1BPw63V1s7ArbBjTQL/kMikcLEdSjnL11uNzEjFhIViDfnpgWlaKx/GX6fz
y/3130ONQ7N10/ZDksfLB7gZfc/cNLUPaif38rv/+fefvvv55+9//AFaPq2519Zubdq/sWV9Plaf
6ddiq03BgGyxW+6HhMOOiHULsBFfsF+YFqT4vxUG9WZLSMITv3x9BwxFy24qdf93eMKb7npTky4J
XAJ/vatBdLpOFk5wJNxfqlhKf2GQRNiuRuhIUvaN18RwtsjofbgWgKKuJr98wT8dbncEhttVFf4O
+TgAO6MHpn/1Tqv5w3/+7Y/fbcEGzTYwLk3F5Ps/y9LRck5o3I0Rjrf7r09vt/ujLDat7BuvxWZT
Co3ZPtdvQEemW93SUNCeuWjPvCr/R1df7P/w+virI719LLoZ6sR1T3ridxEmhWsXnw7T70K5/3V6
9iEKD1Ok5XQaatixPnBuORfuc2u+HebLcf+4nvFCqelrxxpTx/dyxQDuv3OhvPh9qS1Ix+apzess
naldBXjoK+D+9DLdT97MHc5PvjZcWrlNHX+7OO+lSSvHvJgQ11le0Tc9CHdR/urU3K9jc4ziV7si
01iL7f8sf3Qa9ReXiRRd+dGH9/dp8yPJCyn6ke67whfGDChxCU1OIPMOcQnfsPr5OD2FpAn5PRp2
jMZKYnqevvgXcoN9l7sl7neaCtex3mrx3cL+xARs8c2aQuIN+7zp7j8MPJ+6fHexB25Dv4y8wrd9
mMlv5dsOsf1Kj/ur5PCHuEyXX46QOenlkmjvu4radIJwu2cfT5ezXwhsleLCGBV1fBt3cWdruUNH
9eTierVHl3k93MISHj/KgpP313fEYqcWFcCif8GrZC2nmXaKS8wfFf90+/R1Vk5Oi8qrNeSSmNVp
ZVGaV3V/gxejNz+DqbiYPy3PrZwvj5f3r04hy0tZw8+tlUTc/eMMBG6zhQQvZvlqhquk99Ns+bcu
rS6s3ljsewQ5i7qcfn+c3n3Sjrz5WarMSkORj/T/Mf0+628gXkTdkRZd6aos8gm0rlKC1k2XP5ii
+L2uPCJXR4iL9oNwAReT53fff93sPy064WXrHqiOX8mxfNtZZH2Z+ltqkiC/JL2a3dKZo3anAl8u
LjSOHDqMhbo5z0Lv0sjmL91QOCO4Ss6SB0Dke1P6rpQyvBqZ3OZ98ltNzKCRP6sl+5OZ7tUhLofn
epvNgOMZnJ5hSKi1+fTe+Kk9h8gl3K52VMDoUNu1w+Z0HX+1mLcVFxGvebgc70dg9jUz+xyp7bEg
tuEqiFmQ0IHVK2m0VYa+haFw233c/TjdAkTz4NtJlqwSddtyhaGpaHnRBC1W+liLQ+4dvy5VT2K2
IU5TQCAzagFepVTQ24yxdnzfMhy3Y33JV54J2y6wW2NNrpKC9tKThOz5eniBYK1VmkNAtvX7AEnb
FrbfSpoB2AwiAsRzrTpvO3SV5tc427Cdty/NsJEVfXEGDA4+hsDtDoirmJbnDnByNCFUMsR6rSU/
63cHT+GWGQLgfLh30XzuPW7vp+Pd/cHNvxCXIH5zEKsdiPLw6OJw6WUBxFGCyiJWev4j3O924Hov
CzvzTV2lv68HnK7X7JyHnnLn6eWAcYolF6qhJm6F8EN8UIb5VrDcaQ+nO/OCMA6gd7SnqJPeL5fC
my3b/PlgPY5is3NebKW7/O5Pb8enpxPYts4I8K7UIR3QIV1NX++98g59PAOjq/ji/absuBxbH/T2
gZYdkjMypWVLF3NWf5+Pl4/bLtw3EDHsqV5w+wlVSkvsC0lziO9BnZwd2kkLnkBpl8GHdMDx5hcA
+5S9aMyZxsardA1bJWsQeo2Wzbm6mhxwhwyzm2YQiaVdzinFrgyQ+SPf6TC0mujInipxDi6JVwlw
phKUhH8jR72fXLsR+V0UU4EVd4HRnHKmdR+LOKqCJGisPCRPVlqtsFeiTojXx/31Xq3A5Z/bE3IK
s5rbRHva5A0lk6wFicM3YWwFKqTUEpfT027IbYg7tyZss/Qhoo7LL6dovkWFtlqC/+x0yYnORwFk
pThHESRroJk1ZwX0BrfuMBGm2LWAqrIrkWAo4nsMX0VhwwV0feEEDAIlDjBAM/Ljb+rc034Hqe8k
4FSxhptK2lAeeUUwEPIWX75eCaGuYqMAFdP0AnFSRFcQk2n4Xus13t+nm9uxFy5HjiNa4F5rgXsu
dsOC3eAeuh02QnVbcNYM3HKZb/A09hoGBQVzOcBv0r9EKrj+jUd6uN0uj8eDf9EtAqwdDTARTDKw
m1xuZhntDLXPy4Ib4bzRMmTMwycECG7QxsT2k1bx3CFdebv3y/1wCjFe4KW2nBWwG9dqg9EcBIXo
FPv74Xqb3ORA53xfntP7AhdfEjom19t2h7s6eRlGNty/XMCbSKEY0TrP/t70dAu7f3k+XBGw63kG
QFsnSME94pbMCGZoxyXqjcCNboWLAN/adFwm2pK63cdr6laCD4DwiWOiN25XU6RgGEnOti6TLYL3
zDa8bIfI1cAhV19z+ELF3+V5g3anNLCmUL6EgD2AgD0zVMbKiA18VJGY0q3iqw61BTGHLIO1wJ9Y
wuobRBf1cJi+22ZWAin34j/7Cq5z4fZUM4OozN9f5wU34qQkjkvS1Uod9nz5AGhQcyfKtlJWAYCC
nPTiqqqEuTsoaQPc/zCZdD6H6Z8fh9O/ZpEH/qHlGnCba82u985jJbF9385Ub8X+XJWabChbfrM0
PU/6ngmaxSkjMiwtYgTdt7ADe7egl8ImhXcCTNXA5NgMNQ2JvD8pLrybVN/+Sik4JNl6z91g6sZy
7q3bYbpcA9b5OgKrhTgRrw5dccSOpJVB4HwS4PUbdp6+7AHh3VbeBOPQAH+m+CFIBCrp4CF/4Mhf
qoS4CzfYgs0eGBTNtodjyNfrhEJWppaP9U0hA5Sf17BMLT3QV3S5DU6ifNsM+QU7Idi7TgQBNmIQ
opU7sTIG892wl6HfAH2mkIpRjgEHAhnRvYTHXgeUqGZE6aOSdi0BG5CBVgpFR1H/cnVdu6PA4ZCb
EkRhp7guRwHetoy22H/3N8BP9N8K91ZmcQc5MgiR9aio5psT/wQ8Lw1ysAhVt0fh9Y1E+wkINIj5
xoUhPjCZx16h83cFB8qD6QtVc/lyns9mO6+5UHp12HObdpAsbd9sGa9566fP02Z6KgEp3NzzqBbO
ytNWylNizuDFgX7XoAnd5V5aaSE8NUCWXBNYWwXp84tsQPQBZPxT8YmXftt7GAbhbkcR2pHLpXsD
ArVha1qwNSgPOTxtwNPt5rF04OmCqqnmMO3X9yQ7n0yVlTnpbdBrjGDPOCu1rRkt2GQWE4mFAxu+
tFFFPGOrUobhE/C9Hbe9OBEZfG+PGdldV54EJslo8ggmpudn183v85ZCVB1IqKh5+xvpDDzE2Q01
iX0hZgloNMuVSVOlgnxxuKxfC61oJLcAeAWjALmXnM3daamGKGnPmIlivlc/mmYUYAC3jYne2rKO
rZC5LoEKoGsMd6Ya5gfl3Lp50busu9XIv0/3cr0VbELexxFCYnJkTdS3AjaWE2WDlNq9cWV6IS2P
bJZrbYcZWJLct87ATgQuliWFnJPbNm+jR2l/V97WZvaoJkQmR6JLlGJ3ZmHDyel23E8H72Tm2q4R
9LnPEdmX/97qFnjmJOq8GzyRZIx1QHdBddsxDz1yzsBsLHR59rAX59+OvYRtituzdQu51NluZxkP
sKs8EGi0iDk3KmWkat0U+n562sm4aR5dGyUiOYjp5eN+ef7k4AOKuzaAYyHB/o2oZCeYnyJRAmgN
ejt7auZR2HvDjpFcVcNOMHOx2/WHZhP398DSc0faDoKfeTid9nj7RDXzTEy0SZtpAQpQ/clk4J02
NJop42zCt2ymbY/Cl0qewK4SYkOxcrN4prtLpxAly1M2tdrCTJ6mnb5sMTE9t+eQO9nI3FaAuCSX
FOQJNh1wY3dl7lJw0FcbDMQLMb/TVn0llzkebA43E2BwStysejF4tyJfyMfL+3FC6cj6v0agxm9H
9CmvWdeSmt5TBW0aCy484R8xqiBOQqmwhQJJN9zgBstcx6J+8NtjuzsYXAsSJclWgv0zoLtBrW/D
VsSffvZIQbvEUqB8YFJKTloCi65gZDy2PEIlyF8ZsACpkMQW+hZt7UaePM561sIpcgZmO2WlH4Wa
V/dl22kSbVsEqbr/HTrZ+P417bp/DauK8lrBXTPh6g8khXWoUZ9rdzUSGWjBYVmQ9wmQmIzzTV5t
6c8wxBSY8Hph9/8c3871A5PY0YHkcw6Bb6BOa6UeFr+OyrvVFK+zdNz74WeJbR1IvsYQChY7u1F/
jN5nSQpNpzfsOr0WLDiyD8QpdvjVOn5ypnJyUpelgbgjQ/QG+ziC7E72WTXgqFouh01owb/86//x
y9/++osbyRZ7vkmBi/nZvieXJJOEywo/h4kmaSFZFAc91jbFLzSrkj/Mm5MWsfIiveJvo5ZF/nKd
jyatIMtgamfpV8iunlshPmxlETEmXycC9MjDSslPpwGufgeyu7o6DFkw+qFlL09W+Hk2YY+ph58C
59kqJlvrT2hH+fvJw4QQ97/vx3mkT+jl328GSZ7iw0YW7CX5jl/R+ULcL2cgxAO92jnLx/3of0wH
Nzkrvbh8qVP397Rx0fqzszfg7LNK8K3Ph9W2y3u2IOr1niVt0gJtMGRF6ZsP5Rf/4+Xpa/pyWW6X
5moDA+GCClCy+A42L0Tm4yy39+fpvuccFNP7RAXQWwTUYz+Qe6jYLfr+/P6xXCJ5R7qmqssO58fX
yxXs5DBkKTAkpr3MaADfPZKL4wrT+tXFsUCCzMjEL4I6Jrzyw00+ttbWZHeQr16aOL3IbseP60/T
6bRDaxlu7Ink/PXwaTpt27GuLcCeqd4CDW6B4UbZ8A/56fIlfUcPjKDiN8CszsHI1i81Rvev0LNv
WJ4Gp8g1UOR9oswqILOWn37+0e+pzQUCZOkSeZA7fW8guo0oun85TqcnojSA6dWFAVjJfz8AEW4k
yJDUr+qA+lXs47WB2rMD2lM0vukaAsvZt9z+5Gv446d/EOQgn2LXdZIV+tt0P+y4goZcwUxllpob
4I+BaCLSOqVcQQMTpFp+GlmXUQQqi+PSAYCbHz/g2MgCOHbE5oxL4/esBi+LDhsBFlcc13elBIAv
X+IRUXz06gqMwAQMheXu11fAgivAf9quTBfQP5o4Q34wpIYOCPAdDL/G5Ar8wSvB7SuwNCRYux9J
eDuA4gZugdY2GNxf4tKR0G/NewIuGFVkBi4C7iAx6ITjlM4DXEWTN9OVhdj8Nt+/HV6m7VexI3fH
IrL1dxEYg7EV4TT3YjrgxfTMlTPD+j4AKNGLPuiP73TzAALtx5om9J/egk+nDmxb0yAjsMQD+c1e
1r7AhKmGrWAaCUMhAWw1dwKhQmiBV0ipgJHdZqYQEChsLENkaqzaRHCOpuPoKr/D//NxuU/bK/SU
l8sFaV4SgE4edf540tcxPNaAxwoQYEoPRt6skZx+4YXP5u8Ujg1ttjUcAK38EICeTMPddyL5VO8B
HEfFTq3FjjgyrayCe9txCG9ld0gBd4iY42GNJrZRdT8qSYsnRQCMEaWhqjTYCHDI2Ego8Gc3Ungb
EfQtB/OlFqEnAVxKa9kqAo+A3oNYwoLRXCgEeRMtRaIkzpJvEri8qt0gMRVA0ZayePwE/no8/7Z9
FTrNkYxe/Ty6RyRIUvx64jGA5JmC2SboG/zmSHhDErlb8aaIelXdBvZWGtB/bSfZrG3ywxAj4/kq
TVlP4LnT+BaCGfJ7d4OCLhtxW8DWUdipaycOHjYkCkaGltTeQL4vfddz73dpMwgJt57Dg7aOT3uA
T1uuILq6wwsAU1M4bXFutXfZ0bsrAx1lQlYBd6EduJpfnVsPhLaz/M21EKoA+pXQ3j5jkGzf8b5H
Qw+loRK3AZziQNWlZXKwxPIMwPoiebQyVsDfoFDV1nzHAUCffpBs/d+m88f2NnbUa+C/ToDbAIDb
KCmAIvwCNCjhPurGFpE2Y9VzidcIIdZOUgHM4wES2Niar0msPHDWKPPJlS/n7CxwE7nHb+umHhy9
LpDmKB2dBkdXIL7V0QHLadqupv/j0RlwdL3k3K3uHTBdncyYFKugGLq2e10HcJY9pU+bKugDEMhQ
2NUIzheivrpWCgL+/bpDFXdlCJbE/i7L8DkkRaYa+62ZtAbocgMpjII7AAtR72EVTQE2dRh4DkBX
DUMBVUb9drvkhlRlCdgTM0ga+c/H67wJl+vXHdQsIbXrsXwF7lYag12hA5gTC/jwUW9aZmCVer2h
lpQG7lvbblhkA5g0LRrEv1yubzuQZT2eG7XiCKhPThbRW3y4Hl6uh/fXPXfZrPKLKlwKyCigyG5Y
c8jp/gFlSNVJL0JrkEsyUIjMI2KL8ICQBoUjPJeH+1ZgF/viJgMqCCQzGNG1Xdk5QAdRhDayzUhO
uQVOec+gPlVJRVgBACXqonH7QDAm0EW2lUDuj3893nYYmI6odN0wxMCPdADuMk9TMJ3orALdTBON
eoY5CsgFstx6rhnNmipF8Xqa8DHyBBni+QKptCNHPCTi9x8/7QjXU8NSsfVUqAEzXvDFZkW69ECo
O54vEgPFkXQBVBMN1LWLTfQMFSC2RhKfJ5nvUaEPQKE3XGjruUzAJHQ0L0Sz9LAllDWC0G7eY0dt
23pMCMCAoeGZCYTgYfkl0MHIZ+XiKVbgGhBEV4pZA2kJAAn7toqpQmYAMMnUkoxs//nLA42hjAQn
mKMIAEVH4L0vIRhFHQ6YEqp1ugWVBNkHXnZvJS97kUAAiAc5Ml6JRwOuzSjpNbLOAgRF10k664+H
2w4PSZMMtQJVLTobIMJGhJTu56mPhTI9Gyk5uPSxwIWmSbo8TMfDqoA0K7NlS1N824UJuqHnVrCr
Z4uDQyXhOh8kWiX9onjlWPURo07vAXXBwX0l01gD29mamgFaGW+wghw3SHYTuDbdKHlVDIeBkLjl
NStqzXMAs93wI6flClyPIeK7yFciEsz1KbCqnanB0WAMAAzoigR/ooPmJ3ZkR/f89I2uepZgARJa
JnmyQYeDgEOh+jWTdcBxKivlYtP3BTeUJlBUvfgOCKtMTK9cMBDTJ69AOmlEqAgsf8Mzayv3DPB5
3VDzl0ICEBCw0l1cO3ogpmPsRvobIExM20qpRxznIeHmv89AMkpaoT9d56kM+FUt8kQZFwBwSgNh
vZxnAGiuQUtUNuEMEXdriu8fqYACDr1pJGiVok6AuO+7PRyPBvlZTS/dTpb0D8LXBJKTyDlVDqDY
i7qPpporB75+6CR6kJsQZAfF+LPj6t52rEDrEAeWKEMFB+BBo2s1n1FwgFdKK92qFSOgysHoAn4M
dQQBcJ8tMgQr7AfgpVUjKaoZfP736+XjfQ+5x71qu9azINu63Hbs0oBUybJekTgF/gx3gFgjZq5w
9xRwtSRrunBseBwTuKe9iIsWSAxUcGv5N6wzrwEms7rIOaoHgZF/TvHkwDkhEPocqfPRM2agVjkC
xMCKUa+kBkHNJ6m3K+D4KgQKCOaiAEewYaCK0SgJk5e1g4hX3AraKJCHZRu7YRBAIoBpOa4mErzP
N7dkAzwtjHxiYBJH7tuY1U3SQBa02h3IBnjG8lVoIdHlaQ9Rr6SkaxY4BGxfQQy0vZgXBIo5SXKI
DwGJBe3gTQaax2/Y1eQaGhBgltsrIwFrYPIIh6bHdUbtjmzasZdAcrkZoEKHZBs6V6Nr6mQ2oi5G
qcyKmxogXZ2YasWqg8EVU7xC2a7cJAPyHU2zVeuNZKFvpXKCv04v0/lpB2Yu6Lu1kzcA7EaZ+EYm
s1GaC1WUlZSbHXGfkZN2LSltQMleRYFcdMcPs+giLTAWyIQU4gCWbrRmg7awQEbIjQ/D7FZlaMCJ
V9X6rZi5AjQV0ZlkmMhK64JkqrGovdTVZDQkmh3rH2MEpwrdTUpPdut0zAJTge0wgwRqy1AvYI66
rmbJvMihvG4FAWn+aeDa9b2BVVQ7IB3NDectLVbAEGBjWktQL+oBUMIqJV0jlqMNLEYJBdZsswYV
+WVXAdlXRLV8vZS6wCwO8DabQdoGerMAXW2UlIuVTBagIukRmhrLYoA6KnMjBbUCJHnopBX+dtiz
/UbjGgcCaoFyIzqZDO0sQC1iexpYVktvE3gLgh4K0o14ByCc34mlGjQ9EeRFERXto9JCnwFUXdQp
MTHrtIv/0USt6nFdMp4cHYBEmyK9TADEoHihDP7JFRjAyLS4Y0JhrUBknmRHeSK0fstQmSmlc0ee
3QA2crQ97B1EM3kAJrS9ROCUmwnOlJQNFmTwgqwBFdoNUgMNpqeApSOet85zSUPFLUCKuq+1LolB
D7DzRHY8WBoytkCdsvSGIegBY94ZsbCQeR/AkrWFPxynu7mLD2u1OgnWUQMICiV01QaTOg2Q8kX4
zeJysTgFUP5tV0vnjZgcOcxFHm3Jxxx25qL2ut0oyhzAsfcGmq4dOLgvmsINxGMDiRJab2BH4IGZ
1kiSzlBXA1CXGKChQgfSRY2YAc/QK8jzHNVGhA6AZ6PEhkJL3hVIny+jkisiEYShjWo3eqEAa2CU
WAjDzDtI8GgGiWNYc6kAqYzt3uogEBjvO74XVmpHgnpAaAm2MeIM+MWNquWRxvwNVImed9LhaEuM
GiCSx05tdjQEtngQE5TY1QXqXrUST1jkWAPfrxczzjnXBc6NZu9yUEEEEFG/hd5sKTYA5lLm2Egx
GAJDulZXG5JPQFjYNltWBgRQev6bcoYq+PCh76UPpyobWGpdQJy1yQGOclFQLQEFBI+KDBhTd6+A
6u16KzXhTMwjSGswHUyYIoETcAiEgXR1TFas5EPdo9pWagvI8DhwKgZchERoNNQDBHeFKTw0UI5E
c6taGY6AwAVtrmRZj7YyAxh1uVRcn5MAwvd75FNLXTIIC4IqzQu/22SnBZjz0Ug9IpZtAxiqHaR8
j9K5BDLdWilHi2hyoFGthoRDUZgKXIKu2WMbkStECjIKo7QGRyBloyzOJAmKyJNrB8mloR21kAhZ
qSCOqnhwj3SRLSKAKfDpJP0JdQ5BHVM7kRKmK4CQbunIQ+oI1ecQW294dd/3t+/dvJA9/i0PFXSt
wAoCqSwr8depG+BWWNVLGoKmGYPttEWd1VAvJQArdGL7SbYCKPGwIinJO/GCXKaBa8pKJ15gMW3T
S3eTd9AEaTwEeKuu3gAZJHvrohyDlliBRCrKB/Ouy2uNBqR4KNpeCZ2Qoc9QbT0ZiR5QmzQ2qIPK
nq7pxRgHuW0AykQ2Sgp6/ue+4o6BCKDDFwarJWDzyWUgBdjR9QFRfmKoi8Jt7rWBXWh7qdJruQAg
ZNnwkCVxPb/fO8OC5BMWJYO1/FDA9haRu1au3AZH2vEILlFLLE8ZWNyxr3W5KkvnAHoq87ypXgBY
o9P7krQBb2LHbxiPAligobNSckQi3gGT1yvpVvHECOAWdlZsisvuBQhwtHJbCFb4B+KPSkkd7nk6
HMpZF7sylokZwK3rNpp9Xnaw+n1nvqFTMoglDraDPfCIwwzuuuphrCAvgtreaLHSmEd4ELxWG90A
O8Ab23ZXpTOQ0q5XYuEUUPqjUTBxiAYygemgsW3vs1d9C0TfkGN02f1Wbn4K4z04yY4IAxBLbSXi
mgsDotNEVE9xOTCFJA3LRzkFQgymEw9MYZDBKiR/BDmcW91wO5D+Uu8jFZhUII1WSXRD4ZShiShi
Qy2ua1FhmdkYq6EAhLOqWroZbiKK+o0wl6FQqyApomvFGl1gqUeLG5EV6AsAJ93v7ekP1Ho3bo0k
A9lXVotWn/e8AaljQ7evmz5IHqflYtxkL4FI1GFzZN6dXXejBpT8IGZ7Lz8N5L/vINYo0B/qftRt
d+dDaVeWXyURAIJzJFF8EhcImghg6KJWbe0MdSCmY3kM2ZC4PxhlMhZc0DpFvQcQohP7hXCgCzJf
W1ujIVZUDnDHyYe77lkkmLVvEKJuxYSuXJSM6IBvmaEAIoGD6aWGciVQBve/9H2IGIBSibFvxPyF
4+c9aYJWLqEH9sdw+0Ob7xdqGxA6fQs1x46uA8NQa7Ac3h5wYWU9JyRgULOfoh9nRWm3qCOvWInH
DQ8A8iQBxSMJmnoAFJYVZ/iw7BHgBDVF58C+Ts4Ds0u7gHasLe8+q69p78ymlnxjAVtgVW2wcJnk
Cy6OLppF1dl0wIFZzoHRLqgMegKrb3rx8qLKdG1qfdZW81aA69Q0Uj+HlO0Ott7wXuIDhbzgrUGi
GA0Og1QzVXQmXCH1DoAkW+1sFrlWoGvabqNgVgF4bEhUlwzLrMXnQXJVX4B1wdrDAx/h2N5CYyJ/
uYPdtQqjCxYqG84IBbDgmwYLJxMQRgmEmpWYUM35PpBEqMQOIxy3AgqBRDZIKlewgyBpV67f4oIB
yBzKqNnFAFUpIXAUVkvFfDTgDShoM9SUQ2zSAVL3GjEHj5oBoIK1lcRwuZiA+Sjnt680kgUayQxS
08gd7z12UttoRsIBykcN0kzP7doSU/b5q/SyAEHgdsvfH4FKHXY1bgZbV/aPlgdqAOzb7h6Jgdh1
LfaIpSAExGJNv6fQGKSQDw0fD2GktAZgl7tq3zTGoIFmd0a6Qpx6AV5EY6WksZSSCeqQh83BPiBO
M4rN41maDXBix6FWKxI0P4gAkwBRvc8maCVjWgvTDqnsgl0vkUAPkQCIghsx/EgSeUE6Bs3D7lEe
NGqqMtYyjYIfBgywHWrlUBRHgzxUsoHeBxfbTaAUUloC3fMsZsCZjp0VZyckxxeNPxOrG7/fmwc0
KKg/iRIGkqPEGaQc/wApViIRzj8FyA4hUE2lYXq6kICGUErS4iz7AE0zsJvpHEASi2YTlqEvwCI1
IgPHxiAiA8grjglw5EQmOMEiiTpm+8aXR00vBinuU6bMgq5UdLSQYa44l0CwBUqsn1h8IJAM1+wr
4EA9EIpmGlqOxiI+2fCmFFau/UbFJEYsaOOkCmCV5bEw/7mv9d4wiCV5jBsDsKxMdauza2h8wdht
XGi0BWO/1TsQOAZW8UIsO0hxWZRDL3YSYDoR3CylN65FB0AdCa44tspUB3EAA1fWahNiDujxkSZS
8UPjWBq1fey2WnkAw2zVIIXQuDoFZJPiM7bE/jTAH+gLdlrXQ0uAW6ZjTAYeU0O9XrUSxzBQihHw
8UpLEx+3ezYZVXQtl4avgHwG4o0UfCHPTkZziUSfkhllNOpNbYyJHUA76p43fjf1sACg01pxHHn6
dcBNE1hZEFHMIQMS0Gipmfc2kDMtGBB3fdszIM5KFQ+09gm1Pm9qLS5WGwBEsGlkjwIwcfLso8Tp
AI904J/dSSwsCMYRhrtwR9ndB8kDiidCGGmICxrwOYjeBEUOYIVhlOb9sKYtQIGPnFAxam1BgAAq
zg3YDMD+cpxOT6RFKeo2PvCopjQ9A2gxGp9UjJb6w/v7adrRUEorkaPkbwGWaMQU2rIcEc1EqSqF
GHkCTVNaI3XfWcw4UEXlrEojE/tAmGy70SChA25l0ftXKuMDSKLheoEYk1zJiUq2zAa3Z4A1J9ys
DxCvrCAIq5imOnOctGJBU18VPDnimALvtt0aKaEakF9UZjYMYp06eAU6G1AuYgQliHqU0OxCUiEn
iGfWWOH6gzobXShDMbMQfMPAyyjt+gKBKAtxQ4od3MtNWbGqmLPrKHTcblFLwBEj5Ibhk165QwLa
wbWdOMhmVfiGkPW4h6pH/dsLeE9SxSm4Q92vuULX9XJ/lO3biKqBmzTg2jZgwhtwbQlBXuTbkKJ4
VGPEmzPZil8Ldo5sPekbHvxxwHJbK0k/jQ6DzSrGOND8NNBMcuwGqT3FKsACejvQdl4cRS1bBgh2
NW4aAFDo2/AuJ+t8ZAXe3IxFVHKtuFE8pwflBMABKSe41jPCQN2WKbrKDzXSCMSVqbRx6L5WVKBI
fCzu+LC2esBkDWItyYKYAX9ElEOR3bOdUGAId1L0zWYpCQCvEZl12LFb4TWQFGpUJ1U2l5gFpEXS
ZPiOpYMs/RVRMm7PAtF2/TT4AE0slLv6RiiNRzmJA+/AYaTidvAWqvuGZjDgMAfbbzQ06cFhduLE
Fm7oAP5r+q2BWSA93+rqAJ0wQg74bP1OvAXUflMgd9jdG5DBQyeyoWVaOwjrdEWDoVGAwEChDdyH
JBhwb8cBK2a57BvMrVWh11ayOAJfjihkz8nGKcqzUYENzou5VUqIZAEm1KoNAADqwk0RmVzzmAok
mFu5udqiB4ERqjeoD/Q9KAjUFo6B33F3+lEqKazlpIC0UMv7UNHT+2kP5dNJ3R2T7gMnJ1f0MzcB
hMTHYXNWIADb2uxBzUBu9Sgp70V4AAzrzdbLg503o5YaOSwmGJwbqQP0Vx3mNIHa1oGUzTvPx1aq
AQH52RduxyqtaATge+i3EtZB2NUWITQrk0/A8uhmY3Qe6NVkWrEiiitO4LYVHdhILgLx1FFWBW01
zoeNsYQcNKKqGgn4dLhNzxecfTCus/Pco9Pn+Rdv/oGn4+39cH98/e4zMN4dQZRthBLhIvLHR/nx
ZPhahoHY49ImdqQ8qmXNGvjjCjyu86/ntPrH2eDfp/DqGnx5kx/OKPZ4Pt7Dowb87lh7lG8a+mW7
PE769udfRl/c5Q3LZDv/5Rb8stl8cQVefMwv7jmWdrXfFvx2y1698jB48T7vOLH79GFwXAMR0m6x
1PRhsOOJom5Z6lM+LLRd+dHAblYOawCPEwFtKgLaiY8usYWWMXjJrvjH/3S44e/u2Kbp2st3YM8H
phhW2wbOOlFDXFD4L4MXH7JSIOU6/rFfDteXafvL+5pW4b+PpK3DesWCYyMnnhPt+fVEG2e4Nq1t
HLqgPf/1+Zp4s3Ka7cpJ+yceL9fJ/+F8eZqO59t0vX+ardVVnMXtAlWpDblVjJ5/urzd7tfj+cUN
PTjepzfpTNwaqZO1X4PUQX59n1/j+XK8PU3X4+fp6fl6eZO2yAfNGk0WykOip2Cub9P9+HS4z6/1
6eM+nW9oqS6SecUrPcVLNi+V/vhxPUpqQvlcWvJKGVC5Lb5Ob5fP0+Pr8fSEXmWM5LdVrEy+WEGi
gv0KMQKdVojMUnnMUhAmHHOXP0MvdHLahPniHR3HN50fLy7jHp22GfKO6MyzVk/baHTa0VFKWxvv
cvW0FRI/TdbJDpfbnsfL2/vhOqXPfL/cjoi+9atFDeedd7u0RZgvxPHtPbzawa1xnV7mq3H9itZK
eaSFFPqDu03//Dic3B8lfeXPLeJ5v0Lutzm/zePl/Hx8+bj6l3k8zHJwf3fYdrpPYhdH/059vhlO
g3fgspoeHl//jduuwValfhZWxZRPyz/0cZaFGXx7/+0GhCF1tfBvlUGve6tZyD/m2+IWQoeWZnkV
hxbFcl7k9vg6vR3ShqG9Tu2NVlooftR5Pq5Z/z9ON6A/bJd3hoTu4hfdp9/v82J3EPv0H9WP7P5H
mOXv1+341IBHk0OXHo3e4Cxyl/Px8XCaVc8b2k9DTtajjbZ2CVqwQqowWsyCilb7+TJLPXr3jp5l
u7z7vFnH+9eV0kP2hOgq5TyMtuEvgZ4dVM3E1q3avBUKmOs0KM4LQ8badVPbQFPb8Ns7bN7eEd3e
UVrtOr2fZgn3Rg4pgLFra0uktzg8Xd7vXlCAlTN9/igPsgyXcmTViJUmDn9pY9FtT5l76bZH9BIv
6nNIHEJIIXXmSwvES0qM9PxHd9TwQ/oM6Ej+rRf543SDOM4O/J51snB10LIPWUodExsJHKervrxe
TpP7QwOBID2NPruUTOdopHOq0EI24iMy4mY3um0V+iijOBAcakAQHdDYcFXaGsEUIEiRBr56AekW
gBP08dP0fJj/5cUwNQhTtkRcM9+xKNff306fp+sNRN290PUcvSE42cDtJa9DB9nOl/+bjHYaSeWP
KTeyLRF/gxB/W5O+upK2UElbjtrBQi3U9qapwcgoOI7VnN0ghRS8GWoX0olcVPD5YnfwYjfCxQyI
KB8TwnjduANWty1CFIWma2v7AXa01+QVvLmK8NftwPwSQcfE2/jldfagw3VCl3sca/Lr3unGLzdy
NsnWEH6msgjyN3vDxc5SwPJNH9XVzeqX6eR1+PSEtLhSTcOfFmAFuou2rwkcyeTVSDcNDHrHbJy6
QRygQSyuT1f9EOTBp5YBC4rc8EtbpHObnu1rATQWrIVugKGOVrNiWK6TsyH+HoJFLCV8VtB4rbaR
394qwdeq749CpM/YS2DwdLn89vH+fp2ej79D4zi2NVO9ep2MDNG1tkOxWg8EEerf0rkNrzXv8uNv
j6+H6+HxPl3P8808nI7/OqBhFF4GNGTZXnazbIa4SKQfRrnhSB4HCtOyk1jHEdDoUiaiWSJAhW1A
BIIhbxLEx67hq4L7yn2hSBkKPCj0PY2VTKXg5iEd1FOyuCE6qLzzyLqkzNbFRIGDstBJ6NvdC3Vw
IXK7iPSlz0rXYdkq+HWEaNWZLSHEs+PV3S27Xq7+2m0wD5ZKU+72svaLEYVDAVMuZykAE5LINKWj
IkfUd0H2iyK/DjMXGmJZ29TcjkTEILNH3FKCa1Y+PsLB1DLkJbhjCsm0notawcMhHk0VmHUlWcTh
ggLFowm6epSIcE/DpgurvYJlaAlKNchHgVySgYKYgWGq4+2WFBEwhgOlW4CV75HRUTU6roztdCi2
kzfCD6LUwGuF0iE4VoWa0MgKU9yf0++i87Bw5+iSD9XrsY4mIpOlqtzNSroM8oLEk2VwG/lApdrt
KigAQZqeRqVU6UStzxa5IcRiFvftti+mMQ4GkasFUEPIZGg23Cl0sn1xYxvAixjIixgWLLJqE9Ug
3paa7KwQESZG/Ks23xgWQ55IXzB+CNVqiGqtSB2yK4FulSlAev1WId5lpJEcQ/SDEIY2SBJtDf2J
JAW8Xzw4ztmxZ1zx60+pDDqa2gIIWNuqw7nQYktk1xOzDeTGesbuKkSnwjvWkrQFy5MOCGZUCDPm
VyEtgFY2HpnopgipIKduhF/DVShJwmC2Hr3LWOBOXf8cjT5HSbQjVeQjUuRDnQWiIPB2P5yfDqfL
GVJz1lSpgBIHIhtJ7BJJs01IHJE11B5xi1aJQSAZK5NrdHGuyyrOaUeJFj3fWGuwD4gE36oiDGlB
igV0TElMVPnjss2WNUG8X6/4ttsG7Ba8C72qkX8b5De0Tw0JbOd6m0poS6HQFnfwDAAYLVR+BP0B
U6cRFKZpG7kR0QqQw1CUGaUrymgx5F8QCp3k8q+0FnJymsLS9lICChK9nmdiFFRh3g4ErUxhDSTK
GV7OIjSsN0LDiL7uGu4k1FJjFMSKillIO2yEqdF3EWaXMAvVCB0UfcLxeZdWVROoEJ6mTqASgx3o
LUYCHUjrGSFvB1E+5BaSrF3BPiBD0xcYUUmpXBCcGR7iG/gi0XLCFXggIGUnzkfitBzzUtCdNkVa
K7nTFN0hrWCqWZdVeYNphErVYJWYHQWjjdT3alfuRY5rIb+ihOIa7DDKRSr3Z6gRCCiMwIIr3gjV
oyJokWEYa+dct4gwcETQYhFYLuwz8mbJbVQZ9tXfBiYY0c0dVpZgzdij/B6q8DKKlZUwYv9J1M9d
8JTMUrsUMJelsRITVwFqCNZ24y4yDfnsdqwalmqYBd70OjlYpm0gnWNVjUBaEfjI0x47fr17cL0R
V0oCImRoQX0dCPF41pIU+URuGPUqLYkQ8RzxF5ogjuIDlKXjwaKK7KEQeJHZhYUYKTGS1kl8gzV2
RGrd9LtMA9IUafLzkp9pJPyJUh7KnHCBiEM3Uo/yRSq9Z+j0tl2dt4rqc2E/bzBdaOxqr7PhDGIM
2jKVbBohmIECIn1Xyx2qh5khdURT5xt2YEVKFfIGSdWFR9XjKldygbOIqewGrs4HEC1CNH4jQnSS
44DUKL1OLmDTKrtZdYOQ26hrBKiU8TCiJOaWSWPkOKQaMuTdWS2nGa5IKqS/FLcVttlITTIIYQzs
ytpKhG0+wlmaXu6vODNPcUBXz0ZGQaVm2I0tO4h2hiqbJOgzlAPU6hrLK0O5AW10IZFd3TCjS9+0
KHVjjVJRKRlFhJsXBCGX1KJ+K/SOsl9HngdUpCKQ3D8kybqrRSpW4SRkeaxII0vsKHK4FN/igrFb
HxeSnkYIhJdwA/noNNGlZdeC1JOgY7K8KkdXQziQXm/HWvhRUIEo8kFDbMPCw1TFFxZ0tdwYx09K
tNTr4fx0muEtBBc0haeT6nFhIFR1uw4XZa+Yrt2V1gVzPswg5+EsXwKzo2mioVz1BIvzlFhwSdJw
kGiUqUB9LXiKWH9yT7wL1SPzgT6lFT2fguNAWqQIwLZKgosawcVmN1xENr7rajCvkq+JLI/iu2Kw
5YH1ZYZX1jR1jY9MKklj0KQLwyobErnuna1Z9rpnADmxvlopXGV7YJiv6Wq0hpgqBFEdP6y4VNCL
PucUJ+hYKXeF8StI/McCgoEQnIFqujMSTCFqAZU8W346ZqhaP0Q3aV3TB3WjhRBXK24rI+GQQuga
lMDFkz9h0H/YXcxoYbyWiIrrPDRy8O/0paPB9mAD1agCpwixQRSKM11BNgnlw5CLsyKvUiGsUGoq
SaQM7XTLNCeepYE89dHU2IetBhAId/emZrDrOTWQz6W5zGNh+TOfi9IIbDU4zbOpUYylpdDBF3xv
eHwoOa2jeYBNrrqoGV0Ychx5BUDHC7Bh15qxJsQrA4kURbmldV0DCxFJFI20QCv8DpiGUQCyWvk3
VghFsqJwmTWsg29Bd5m1UYVOByeCzLgRokRrmabeb2nlOiNIRjPr9OKpVpQv9oQIWCBg6vZ+Ot5Z
vxVctjrUapRXLgSioUm9dJFFz2AHiiyOqlYMsFw6eF+L8MlYU2NI1IaChjC6Iu+QAFNirJhG42GL
FP79JH2KFiKgoALN9zSsewV9BxTvMaZWtVb65hAJj1Yq+GWkG8qQbChv5/8DVO32sNKIZHxaP49I
xvew+pf2AyCNIVfqDOGbnjeCso2kNxArRZSP1oQfXS2CIKQuWtBYDG6QJzYWrY36WhgCXXvTynmk
GYKgu2v6Wjy44q4jHdgNUnsFpgPRezSjZHRZWBBJPknR6D2dUb3BCI+ZKh1UvznQgFMvkLYtW0VK
UWIG7X22yqpPGTSoWI8WLba+hW27YbkRONNVULI6IUi3DbW0NiEbDQU6aDgxA4CUeY1akg08LdWA
NEGcryt2fKKp7OjSDCJSrXhb6OowlsuJrQKRKAM1ftfUWNm6x48wBQ2sj2V/keftzhO9bfdUsCGN
MhJXv0iNlzp8oVhCy08rsinzSn5ncEVUz7V8vMfpeOf3OR2CG4u9o5E3ojOoERN0XE2/Iy4Ca09N
tfhohVhRs6+xqWm3uhsO0UU71FiquvBDOpPeIxeca3MTRiF+imiGoUgb0xKZDjui8YRZ4lxIAT7E
CKoiKLeRbg3TeEYLWzt6rjVCXtjckeN2azcMFFI6ut+RcYr8dq3kLn45JQBFxvaGPREopJmmbpN7
kOOCyCGlJRUqyQ7Sf7SmJ6dLlM4N9PJGU2sCRIBzrTUE7MTbMWslBkMQ59ntJ4QN/LpORGuUboc9
JhqpCYxksJAwt6oWCSniksilplhg4PEDmieBvqhpah5xveAZ4umymHys2xuk/EbeSy5K39J5AnbE
G0FH3KJRM0qo0tWGLZzuRTmcran1wc46V8g1hO2CB5QWShwVRMe1vZRkfdsdNx4JX8liBnLDKFgN
pGqVfnUgO6Ajg20lClYcNg4Q/QXG7KBEgbGvMVRCURAMi7eSG0bJMsSyt7bGGpA2COjn+07Sc4T1
QFeZVu42PiVfSWKLEForFgAXYovqC0mSt2lZt0xJaaMqwbYam6rbfpQ6pTgvpKX9QabR6qHGTq1D
igjMkCC0g2ddW7k/KW6LOtI1jVR+w64PYtnHassdmhoAhdbUikBJI0fM6441Q7iypcie0/aYPF2Q
mUC0xCB22Dy8v0/np4BvoQvaSiUNdAWY6Mx5XCMV00JbLjdAZewAoqLMDmcBngcNZHnTUKSw3b4h
ym1Nv7/HMhQ0035bF0hkQ8eqfswjCeQGMRBxGIl8kPrDoFNodBVSgd41sKipk4CMlNOPQp3jKHdv
zYmWKNuLkk6gVptgIgTTBoMLm4IOhbem4Y2HIgVVTRGA0wR6TmuIhUTozrRGghGUxUIsMj3ujIMS
i4xg4dDXchwq9hV9AM0z4GFfCTogxpQG6cd1gXZiKuHVtDXKSiZj0A4VAVlb7wyHwjmat4s3tfAH
7GtleM2Rqb4CcmxG1Uv1lhKFgsi8bxgTpWHeQj3tX4xAIgqFBKpIqxYhIoOck76Xi4VuO+oCh87W
EN4ivxlpQbevkeKhDCaiaErBE7SbgB66Kk1f61ckJQ8jdtNWZXGDPYMeaV+D97sTX4yu84vVsAZC
hASVFh1apEuG1CBhPbVmceRKMjws/ah2ViKAH3OdQ62sWa6lQX5qY8SrRZ0H5Ps0LUrIXHd3QmZL
ic0lCbEI04W6XWGIfZFCO2hUSPItQ47MoHel3cHGIl2zq/UmohTojCPeN07SQMjqNKbWh6nIZoRN
K3jLFb2V/Yf6nhFKwfDZIkR2UEp619a6nK88P7S9ljfJ0tIQGeh39GJtLO0ShLZ1KKIh2+PjkJ0h
FKzHkrWcVVi3QGtTunJ4UwqeIepKV+F4AtOoPGDgdCR5d5pKgcJuhQ7QQoME1ObD9PrbgqPI82tU
vZ1llTVGjP+oaoWmyDYiQEzq9taT9JaNRmI2DLUPW4IoaH9Vge/EMX5ISvtqc6I6rQ8HEw61YJ2s
01DBPaFctJXGWsGiLt3I/SwWrYgyT0nxh0ucsQaBHoTiW1urDa2Xx8CkDNpOkpb8rDtroJzcIqvZ
NBJZiKS+q3aqqXPqCO823a6JJktyCJxnwtvgx7SH+jsh/UCzJodKRDDmf0Onf6z2MavGaCHk1dU8
cqmFBXJ1ypzUeh4G4g5kjCoZVwShSMsabUC5P4xIKl1nU8tkBXTcncTICiIIcfOwu7O2hedOM7PZ
SLPckcNd08Nxww9sxv19l2AtQF8dsJKQCFLlw1BT5Wscgc6oL1RotW4TSZutzgKq00QwaYIAXT2y
mojbvk6WI0mWXQf296DckQ7L1mw3WAs/5C4O1RbwJNYMpytW58HVAQOcrtXvGi8BpxrR2m0j7wXK
uxx1rdioXgaLQgFUxlCRPhyD0ve1xgXVFEDY0rPZTYt2kBYdaAWPcw6tFPaGdIuq2vmkPiCT1dTi
q8uGfJ6hzyxuMB+nH7bn6yAZa6tgVDLC6GOMQZ3WCx8GdekY21rTd7lEFV3Dpjrcl28PwnBt0fRJ
c/8FxQZV9w3F0QhjlxmHpvINqHMKbQFjfPRsFME1Us1yLJ/RisjSNsXs2s05JAbOFG1qefJ1RQA7
1tE8ByfF6KhQuHMYqg23S9cOMRMkx8g0JEVVYhWQ09o01Vy9astN2Dan2YgkcMYUzi00ZYVR4YFU
3w55RraX+oFmHgomKhc947WY1YWOrY5p61nB0A/uBsmVoVnBqCZNc/Vp6l1jEWiwuh5nXqsLtCWj
3oWAkPo2JO6vVVlZT2EHwse9qZm4uuMCi51Ik6FKCw9+yLAWjI466IvS4VWXMMRut02Nxa1NFIep
ak0trWFdhICKBwhAdHSwtaLMoPj5aFDjWpImgXpK63E/PoTHREv/Brn9EvogK1QyS+ocOZtNNfRe
V+fI4ST7Y8iQZtx+FhZCNWZ/f13orrTV8uR6jRdMa6OwtmWpHLd9zPU48ERU06MJcLCvxshuBh/U
ktJSUKDE6JoY8qEZqBK+zhbXCTtYBkjrpUbMACkoL7qTnHzaQQIVilgrt2nPjB+iipuuVnFNwvUG
DlpXUn3Jy74QVE/HsfV47lgHrdLQ1FwUyYNDKVhWVQsjsWLAjdqaWl9qlB8Jk4lRh7MUckTMvu5q
09GKuAkUu75Gp4hNvHAPk+pksprthh3oqCA6Fl3VS51QotmgOKOy7ZahQU49iZUVhawUgCI3ynTb
jQwg5CPJhOUQJ5LqiZxuXYxqq7cKhV2hdBWbSf2UYHV8Uwt4r2fp0BQqyKDp6siWKiuIQgK2qTET
dWQNLUs9GbAe3kLuZTOAwa87/YWxH3aM3YAwhna+GLDHgft6tVpqtSRl9iBPt2nlcmXS6gxxQPWE
93p5DuzSN8qt8FaIEXm79VLLsswY917pwLi2FIBBbVPsUNvXejEGdP7NIOk9RvijxD0apVu3Tlrn
ESJqhciLU+RF/4iVtcPTURvI/QttGeHYlfYbq59R84++nKpV7QcGHYZmREnW651HCprAS0erW1tP
CkSep2l3tINFYMkW9c/tHjQIL1qjajtUj60hvqJeyEHMVy2zGdkxkvjv7SsaGg2JZDvW+QvJ3Udo
vGmFMDkgSmHeRsdHbRlcBAAjNP1uj1JDDGzV/jI2SNUYW2tzX6OfYGvGRi4TzAUgyD4qW6fS4qGt
W0XC2F6zp2pRo4B8p/c3zYEue9tJCTKVZAtEWQ5K6u3MbBxyVwg145SU7XnvSjgPqKmletQRK7Rn
tLzXe+ADkF0FlUbhaphalwfUbaLtqrzgimhHJFVnxKEEtFgYERqjaI8L7I3qBfsi47Q6HAHhH6qB
G1oBWUkuQn514RLbWqdFmPmqVwOfqt+C3Ah6KDx3XWJPkOiXDZjqJeUtHEpSNMlA7Q5xtYuqjUhE
fg3C3wXysgB/a0hX2VbqsEdpAyR+pqkXl2CYC42Aqk0wq5tIqGbM/qY0Z6xETUGNb9abIBPVlxFv
s4njEfmkhno9+yqjBzWyoIvsKuOEEzSLVhR1thuma2sjsd0V44sWGnhYBAceIWNopaJ8muiANH3b
1qakrBPkEA611aK5+sWHjjdZiGRdVJt8Yg+nKJHc8gFhB5MiV2ZbCKGO5IlMZoMXQCDXqrae2L6K
0qJFCEfmZ/zpXZoSrdhryVzSmAyijct6PjHdAF33gTMdW8NpIAgZQNHYTkjV9219hvpKI6LWwm1R
Wy9Os0YySEyZS7NadfON0B8hkKHfm5qCvKKia7ruxdALMoM9j+0bcaLLxuyGDvFGt2/ucmiNRvTI
/mlYZhjkhhkrawHnFRTTU4Ge7nFbpHb3KBYNAw7l0PqieUBFoGA8pZorUDrqKJdx7HqUqL3Wz6jV
ajNCEMozBxBjVPSfGOrpycfnoNIgih0RLFuRT7DEsZOGn0p4EekkVezVCAgBeI2L4d3SzCrEIHem
dm6lAYMNu9pdjBGqhOo6iQiXYAeKXI48XqRFC4Yqn3uLwyIM/iKHeuBxT21A9Ao2QRlqKT2oIQHy
NooO81qajoneiHZ4GUU8jrjPtogJ21rGFORuBn6VdHUFmJMzKFBl+02pJ50qEoTqtTMwWZ224xo2
ZrnCKREtjw8asXsVkpJWHBvEkhHR1aZ9NOwqjzsLGsrz7MRCyeJCI6VLzpmgOImKQPUdJGK6xecq
6AHqoeZiL4UeyCCpojNgEagJxvF0edyM0BSFHmITTjhIuW0kZcnkBGVu01zenJ5Xj9OhhFVa4KuF
tlO7qgZGsZln4X0gv6yIphAVWbEi6DoXPaO0RDGhu2iNQokURCcgj7e1ta5yQokRCsr0LWpDT94G
5V23HON1W7nOqN6waF66HdyH3RuIvXYKw0ptAWB3uH6Qx9nk4CByO9VQnetRGGkU1G8lVSOUxsHy
aSt5dyzHAEU7Kds9kiS5tTeOulmMfa3erwi1INpGt7UxyXKVOzKzI9dZVmRLYMcrsyODDNHYg61e
SMlCotYyduf8RGQebb2ruaBoEG/c9bDpZGT9XnYHR7pdQ+FR/MHUW8RUThxSorbWKUc6L6SrSJhG
iyWEcKxZq2rRizpJAmP+tttdjWFg6KmrNlgQGtHD8L2pla6sMhiRj6HFSUTMMUBCTJxanSsG5WZA
6Is0ZzOkUc4wmdJUh0DK74PET4+1EaeVKD6yC/26Rcz8/1wThvTEafo8nZT/4+PlOvk/vD7+ulgM
5yoez0/T77fZjkzX63w6szJwf3t5fp7f5OU6O9bT9b/VXsEXQYQ3cFQocVPKX8irzlI4Q9GXu0sY
df8sL2zywtkNmxd2W0x6mmtpBRXrIpcVbFqhDMXPguiXOn+cTtJqOrpSfrU2D1ZYbaVb1v3p7fj0
dJrEz7N5OXI74su55In5Ix1D4v8sv9SQX0rRl/KN36ksOmUiLhOv6nKIOi2TgylJyD99nc/QaerD
4+N0u6W3Fb+TvCHxQN0bzms8ucffDrMmuH9cz+593V+Irxn9v2XPWvq16SY/Xw8vgcl9mj4fTh/y
ctH014+Abd7yD/IOirJGPnO+Tv4fj/fpbb4A8yWfd+4mrtmSNQ29Aav3w98ZNZ//zqHcNnoPxBV6
zcTMsJ2K/avdH93XiYuYfHqkum5eJJ3c8eyJ7uU+Tb8/Tu8+Nul1UJRAUdL6jm9X/YIGzRE1EVZA
TX7fEXw03nwz8htqyq92ZpmhZ/kDicrILTaAjMmSpbi0joJu7WTd2jFtqHu6Qjiv8kKK39U0ggnJ
2odJu6xrDL/QwzdK2OY1b3sjKEomY+4MtgSjtUiZUZB1OYXDOF/OXmGArTSNYldds0XjdjLtIWuf
8v1U9VPji7o/zkIjf6zmKmig7+VYhvBasp0ba3d757G+H5Uox2RhMu/Ai0zh1MYAA8IIbT9wjGAr
l/16ucBvbftsloiHs76crXw58wokQpYv1PH8ccsiMIM+8V3oSl15buRd/D+eZ0Bwv1xlO7TxWgud
Ib9Ox2RSK7o1LLlSVjbkwDuqRB3kniXxNlvE+8VBmstzwjzidVMD06PZpMUngyO5S3lpqgVzg08C
CD1KX+Dz/HZv7/evGB0aLo6GbtftfXo8Ph+nJ6ym2p4dmhlrmGsTYFrLV+llFAhBeEs2KUff4he9
Hm6LMN5kAeB6LZ/ZorIbI+tXyZqXSlv8gpHsRF/ebirC4ku0SvGX0MKllHex40pPCRrGyhrGcska
BWeo5lc+Xj5miZleZq36WZY7PfCrzj5y10lrgpdIS/P4mc/H6+0Ot6ltDFcVzLmaL+Lly3n+znQF
kNh2g6DSC7ZJlhqFsOj2VuhecvBiLUd4iQU5KllNSTdgsS2CLVayVud+ji69z2DFz9OXbXw25KV8
cxzmMj26jJeMfB4v77P2k4F7wz6Un1ne8j33jciyKzLkOpTe+fkb/UobjmHfA6vsLELQpKfDbDSQ
GzD0TCwt0wOzOv58vHzcbsdPp+P5BeIeopYdbSO6StBGmAG4u+zGPx9ON+CstkzWOUiYIfR9zxdR
qoH5Whzof3wK1S4bUH9k26P7uih5gy4L0Yg5mvnMr8dpRhun0w50T3Wb/H2ZzYLgnvtvut3BHsk3
uOeiZAqlSw5QVrdWcq1WaGPzjihydqp8H2rx0919Oj4/J6Mg63OJC4kbdXh62qfvGgFSp/LjTSun
u4KIHMUlsIlruV1glML0/OyqMD9vuMSNZga3aI+2RQ+5K/AMPL2eu6CNgJpepm0qqx0ZqWnUJvwh
fvI+Xt0Ypps7JcrdHtdrJF6PXYKtDPRa2ctpsN8W38YbrflabpOlDZcVXfUGzpf784wUn4B7qhXX
Yhk5lGBay4q+EVjD0r/Z/ixCcpBGVxUNPa+EScOGwOt1H9BNukOG7c03sh2/vwGyYxQuVKYAnU/t
I/DylVe1L8W243x5O8waSVaK3FJyD68WJoB33UrspAc08QPRCoaoNf6NVNx3czJaaY7a+i0a+Mvx
/jpbEyxyrZEwJVn1ZQ+5rCSax30dzb+R4WTLvUtdZwuhPSKiTvoDVPRnvE2b8HTsBHEXdX5GTztV
vgKqiGzcNxDCejSQsFjW3GP1xla4CcXByp4ejTs0lOPyhNR09yIK5KIDAV2ODTFW6biE1sHvQrXJ
HAX3n3SHCAL5bXoeStECG2NktW6EfZGo+k/Ty/EMEHRrOQdt9EZUf3NBrRiM1isCgiosmX1Q3CkX
vpRewsVFS4xTuIvyJdwV9shf7ozv9HTbkhQeQNUDPeOXKPjyvWksUGaUhv8WH4QcCdfT5S3AUdJO
WCX9fkACkQQQlyndBxGGbYT0O8nUJv7H6/krCtgaRiGZpu48MrpMltcOgIeAu5WMGzqBEImI6Mv1
cn5Je4MQQ8OzRMxmckLwjTcAQ8uVTk8DKfQG7rt4hm5VR2V8w8t42RCJZgOV34roMrQcJHhAWr5X
xBRDSiNsnaRjAPmi+THweIJjNzDHrSx3uetRJ59K+6/pepGpxFZgpwoNtYfebAuDaCSvzsqf1Uqp
EgS0b3p0pmmFeG49vnd4no8u6DuZ7B5rwRve7Tp0G3u6P8lkBr8s3MVJ3wfvhWl4SK5rOJojFSwy
HjOCUV+0rdO0j5f3r+6VZI1rAZ3N6PE9VAeNwa9sZY1s32UsaXJRX9FOrrxhg9kcC3s7fLMDsRk0
My3KGMu3cK/Po5sdGUfnj7dPs2p4xhEoomhaFrrnOGEryauT/JmQPLiVQEAD9iONQ3vOYmHiZRZx
5CwijwqRBBtsk7pGiHgRPbCiPTYgZsflPjsjAqPvITvE7GXqmq1vFshDGXBi1w6Krx15ICa73U6l
+C5/7g/zMlcZWYyC6Enu0VbqLndDdQXU9fLLtEyAVEm3b5ps3WnBQ+FAabFKjv65TadnGdQowIwv
GGA+LIwA8gXXurwZ6/wVeZ0i67VKRC3Sdz2cX0DCsKRyqdsFyMlOTOcSksMusahdJk17gYGdtze0
E9/lCBtlhdSeKEbfEL3VfbOhmvcl5srua88NvB6/JVyyL13EaIHS4eZlO6LWKRBRS8gKGU3TSDmi
35qFCjZU858AiV3zr8w3RHYA2kFIJhKypuWFpHBAmd0n3zeaVbQiAYJi7eQboZj+ya5Z6Y8GLHX5
uF+ePznrA9L7epA/t4+HbtUIkrXCN2lZlAaeOCBI9e5Ma2I6fNyy24qM4KQ+YjeMKDo0Q5hyZZfn
wxUQkPkSkT5x64ySHakOptDiXY10Bpy15aF6tZGdDqWBGEm1MkgEoAMAyosAtFoZkL2pXEYV7psR
60sgm6E5YZa5TYbQ7q/XSdaZrVRchQAxTiboi3za0nc/3G6Xx+PBMyybaRYFe22xtZWh27gF3Rif
ICvKAVh/73iHwt6tvERTsDb2G9I497qkzZ6wmawkoM2xFtRQlMwBFGISzOZQbx3MluGiRMUx8hkn
rxkNCOMy7QNHnRthb7ZDJTvDlYVx6vbc2fuspU5bnuwIwnzEx8Yc6yCQSimp1OOi5aphXULYTWVL
XqWWBLbBcI6D4FkzlTkLjKwwScalpcigiOvCkgOaeNtR08Y195eL/BqtQK6XVG0vA6Qih6fZL6c7
XYMOKImcLevz3HC6bLcnzJo15AaNoC0oP6V7N9+nLWSny8I0I+bRwCzTduhA8gabPi2rwYFTZOPe
DHHZ3Bn2UprlFi6KFWCmkcfpDeQeHw+36TadXbcbIFUkx5RTrfUE4WjVNvKEB4FPX4cH5PeScsPd
VfaZQJe3w/W3j3f5Tmsh+2Z/cuP2neSyb3pJ9vcy1f1eJLDU+u9InhkkCFlehk7WbppzKxWucJAB
ugb+J+sdJHsvGseQazbaEwiHE5bVsQGJRcRIYw9ylC5R8PDmt9tMHCjOSH17zrAcZRsEmn6dR75t
PYpawXqHgN0hfeqVNmVJSZCrVoaGiNeAMSxVVI7puibdhMpdh+nLhQXHeVyS0SvCXXsMaFvUm0nJ
uxtRPt10W66ZdwDOl+2wqFpVqvrWLr6jS8s7usw69w8Jyv7ws2qqi/o08nD0nj7mLF0lD+ssBML8
QmpZiPNaQkUZXKvJL5WRUBAl8lkC+edWaPJnuZsa89vDCn+OovnLrImE0k6/xJhfwi7d20VuLJKZ
4KP0sp7c+CTqJ6ckwUqtcGYS5QP32ubFes5HVgIQcKWOv1ZX2XPBuPn9HvLjXenBiPvdyq9jsgjo
APJYI6T/+OVvf/3l8Ok0/RwGgn0X7nUrfqBSfT5Ckk22LPTT5UtcpBnlRUwW7jaXbrpF0iapXvyo
MW+S99Da5eEfP/1j/o70+6JYpzlPy7Z0ywp/mfd08/1THzn/fKaI/POub1xawIoL0E20S5GhWyA+
q7R4rweTD9VBRjOsNg9I2DCyX47mm/xyJ0pT6mGanm2H1VvLpza0xR3Le/6jBx+3P11OpyCFjfgK
qmnyMiTnhL5DK++cNlw/m7XYaVnsDNddpio0Rhaalv04Oba/XM6L0Io3b7Ad28DoHrjn/zg7Z+l5
WRcQsfFaKv/+H86Pr5dr2j/ZGmjyBe3SyHR98cSLk1ps+z3MI65WKyglr6D51e25+uF6TA1AjzVM
kExX344G6PqRHYgWtIAsjr3ZuE+tuJNpwFsBNcizVjzHnkqiZXcoXMVNWRrHrvbrd3cCStR6KlHT
SYDI/UsHJoK0NFprsawKHXyrwcFb9u66Xb+EKDYDse8kEWN5iz9Np1NapZeVWNdxbNeKq7RgFWLF
/IXKO/LHy9PXTfHrrOYbUbeCskbvLBejvtzIQRbfsa8BQf/uH/d7FkH57emva2aDwx5eloMA1mQk
+igDAS/H2shyTM13U5NjK39510s2KD5rRI3Tm3HLAMt3diAOBekdudbenQybBib8BPrxQ5NtUKf4
xrV5v618ZVPHpR2YEwDXwnqlHvte2csfrVrqRrVM0OKPylCtJzbXj5nLB/Yf08H1m902EmPDl8i3
/A+zV5Gel2GLzlrChertSt11vQz4xBu+4CXZPJJD016B50ObPXzy8sBiKIL1df56LzBtAwzNKBmL
dMlklGubmmLxP2lkbZyCBP5Nc/a5+8m/XZ42xXOkJoE/TpQ52G3LN4qgUyomANsRhZzzHsJGg5tZ
gFoCQ8pDbsAh65ovT3GQDAvagV0P8t1eNWxunFJNy4AgUS7fu87Qm7B4JK/gorR9xZnTsjOnuHbR
9fcHeKYp/JK6GQd+xSh9/yaS6YlTpxsmtT9PJ4LnZVua5k97b7ZhrvD3t+9dPGX77hDZ9XCqqwIh
+e6YQVJzDMjLSIjoSdLKijmlMqTUnQRkFuGVrUNrJK96uXfyyRN2r/jlwjrJSwyFV792YbTswnDR
rwielhkUo2sQOmhpoK+GKgjw0vZ2eJm2Za3R/KVtXeJl7meW+KYGoy4ehAEA09L96qroT9aTQ6En
yVlT+yDfEUKdEDp6/d0d+O6CHQ+v4EZsPF8gdGtVoaL1+orIIqo4FlBrxggwfSQ0UHoZ3L6BD1eE
c/O5m1no/uOnHVeMA8BWxJCykRlEsoBzHaLQdq3mjpIVKANw/E2DHbbs9Mr+9zI6s6I0/vjTDk3f
1tjDePWA2tBaspHUSgMRbggaLu4PUzzil4/UfWvkC4hoB8MRuSXs21+Pt/s27dMr5odRCpI5gLI3
0hU3eSRqGyiAoZCdFdXQWtnMFGfXrp0YOTRICIKa0BasE4h4EOaThM2rxBGQoq4aFPzkNx/EW1Lz
mAXdl79+YJcYvABlIBrmjRZoTRYiPXAOeGXGZKvfG05ZrU3gID876hr3wMynDDeoEHHby4lrLRPX
Vb4q0g+AM21ExpGBUxlf0mBXRrdRZgDvQexmHW7I3mRPDTbnmpzN2mHzzN7bArR2Y1sevc5v8efj
521jMYh4i2tcAPVMcV81P7yfpx1xH8q68TADiZjJlrsXj+J7JkAyehi3whQyLdJTxt/UMP4o+zYN
J89iqCca6xYY61YKEdZCRICXIMZK8zDxEmgdZcvRSJgrHxvgc+ip82Mr6W0EOhpJXVLHWLbWtoiR
BZV5mFFvA9hxkgVDcuCpkpYZ7qFwSQU9Cxy0Xm8ExlpZbRHJ8R2lV654J3uzPTfw5YHtSIqoA+Ro
IYC8N0UcR1V/Wf7s2XmyXE1Jmg6ge8M/3+o6iybbx7Zn2rYSlpP3vlXMxUs5iYfbX+IAbAAtWx4O
JOf21+P5t204Y0Vp576VnJLRdhxTVQggOarTNjWneiV2wEbVY7ns52Vw0YqRzPhwL9uGwUo3ZgFk
smOuuR9oDUgnAexjwz3jNXNn5UABAeOFT/zz4/X4vu1PqYaeXre+ujmwBRhUZYp9XBEcepABdYEu
bdUtleVvJBlm5OoFhw7oLIKtCrlZHx/waGmSZJX+HORPp3I/iuFzGVgRdFlcfPLusoHvBimmyRSm
nEtT+rWKwiPgUGjLjdwqXDHK0ZYiHEeCiXuuW1fYyDJYU3jTIHmn5MRWQfRR1pjEzJJzi/4QEFkl
Zp79dXqZzjtifPSyDUt+eoXJk/1Qgo8Koft+Z6xi5MEOAS0AU68azomaCqEq/7yy+9wR2eSMo8Rk
cyZ6BEw09yysrRCyciLfoCXho6FamVOyvbQF5BLJcKEMNq3DALLiHWyRTdDW4QIAemOR+1rJCZCT
X5pGcge5yQROfaskGoenMcqatx1ZRoSpxJ3kwzc4FYWrMJSOQrKvfL4AMZwaMNF9K8Uqayq0BWlw
phYJ87+PnDsaK23Wbk7hXIPv7zClThxc2UNviDr0QITl9ADQ37RSElYZ1gGBd5rx0TD8VzsKoFD7
QbpSNZkCZ2oL2myFxrV8NQ2vFolqxfv6aCOHjeD1KEP4hnt85WcT8AuQQEFIC/kTWsaQqhWj/5za
7WVqd6xJU8idAUCsM1yVCHUM8tePYyOFNtYoGniARdVJJadey4FlQueTXnSe4jxOp6ddFKc1G5kA
vcwY9YUADFAhgVQzmpjJ5eD/+bjcpx3enBpEWSySoYBWkd0Shs+AQDf8RGoBb9m+qWqcklApwDa1
vejUMfLu/2vtT5ccSY6zUfiKIMuIyPXncBXt45A8nBElHTOZDAVkVUGNAopYurvG7Nz7l+GxuQfC
PbJGek0v2dOcDMTiuz/uzgeBho6z7YhT1PBRpJY61GWvimeGCWU9MkRTppakLNlIc7Vty0o2gR6x
t6ClRQTWVqavITj5Wq+hYbOG5DV4+YQj8TQy8fPhtiZtriYaD0aXQI19yWCk+UYEMMP4ON5k7hsu
DfRvq7LmKsxziXzRMnzBaxgs5KjViWt/BNyDoaUqD/4yf4GDUhwxh6A4H2PJco95tQ7OegsuR09D
tL0phmh5MuxqtTK8nTwYFrVib35V5VaPAnSAb23ZWzCCrTtM3Cl+nG91e3XqW85tzYWSYKq2A6fi
/rSy6CnzH5F+IyAUQUdoLh2JrB0+L5eTZFMSB7yGGXuaju0V48IK9IyVVHJ9fARK0K+KRYpSg5GH
Ko+sOqDJCj4liNxvk6qnXNRRSX6jKeHLH6FDfNyjH0r066xs4YeRn5lhc0l2TMjLaVYBYEeR33ir
SsL76bz/EDGPhosSBZuYF1pjwxliMXHN1+iM1ITqMTxVcOg1wjq0DQkLPjojgrpu2HQUNjq0gC9K
C3RprB8xefiCnWYomTyOyISzYxuBD+YLWUSVWf0ta3YKftzIYnSpfOArvEZkKw3kDYl05z25fuJy
etTUETCGLQcPK/lzAtviZAN1pChkVQCbNnp1naYg7pFTo/rHE2EjSMhUZnKsfYjtCFRtWg71jmVg
K0BhjOIAmJGpeFgFrtnvCWyU0iXvlY0DlyclngifetEdB6L61+WLOl0jHKiL2D5goPjb77I4z8O3
fLh5aFkKRCgiXpYjmxFVhbl6S6F8bmSDagvr/PFyvr+vKBHPypImNsQquK9jEQW1P+9EREfLRcVK
4VTB2EU1dVmUGG+fb1TSNmuLB4RozpSlK6cycJz3HRta/4B4BxUm8u+IzC40expHk3jIrc6wWEy2
SZDAE1uiRJFJQjAmD4EwfS8EiyjD2DykKhAaVdgHSr0pCp7PVbxwH1klh7dPvOsgxJoVizaIEA8+
Z4sQA6WcFz6/gNXo+krOfuRjEBMtHWr5OIJgpTVDUwmMtjwpd7RjD6rh+fP2aa6jkae25fJdMW/K
NzuYBo6Gc4HMq8CJMqOPbLqeHULwCmkvm/tD4bO/bRebsJouVw1K+Weu30oAMrLksmYRlIN5SYzV
fxOTrZxRKagE5P1nIdHoWfG+89hxCZ88oivkB7AtVy5j4AtpxpbF9FMMCx9ByFtQCBE9IVPSlxvl
pSyD4NCjeG5mEuFoIK8PkRzKYHvZK0hd0LqsjpS3boR07UjtYrQI0sxCQI/medqRVSgCc2ZglraM
ghO6Sk0VxcJX4w5dBpkeGA9NUCoNW1YVpSofmMmTC48AVN4w15lh3pXFohDoUFnSU7GRZV6ioHBs
WaN1vEbLA2MtI1V5OJ/WnEZfZd73Zqz0fVC8Szq2IwfH+9PKWMWkK514eKtyUGycAyeV+Ch435Yc
G2/HSbUVA3dl0Q/nw4JN9uKPTrzwWOPAJUbjbfGwRU1r77DtIUAzNI7VJ5vJfSY4gMjOyyibUAaP
TBkGoiKQUMSpFsFnMg9tN4tei5DtMR3XrS8Aa3h7vem4OCCxVfn9t2wNDc1xCLZ2Xj2IdNt8uq/o
h5MFnB4k28jTOV96RaKxvJGDvKWs8OtPKxt8Tn1JPvggumBt41xBsadaz4Oz+6wF0KM642NUmtb4
GcZTFwyJqavYpbw0HJAqtN1o+nJ4T+gridsTFEvOFF8DMbZsUoxiDKQ6jqHybMrwAIO2WVU5JlhB
07jWQRcC5k3PalRsWPOP0GVIsJYx5/gwbx7tYZxsAWGvuWqoNd1l+34SsfHIohZoAZe2UMn98BiC
ddjrtdl6wUtp9coGPzxxjj1nYeYVzPwaA+szYh+DtzM7xemzaPTwVWbNyLq8f1pBULTlcYuawUmI
n5b1MeOr8eEOrdYVOAjaF5XlZfKQZtv5O++NiPNGsQohWmJqrRN5VTjohsNpkLy9EClRLRe2JVpc
QBM2bG3nQ9hRSMsONC1biL22PB4TBxqaombhwxQjqnSwYbzuQS32vIPLw2yqYepB0UIn1Cia1mgI
XSuz3mAjo0uEcGdX4nuX+hJ8B5xuUVVQv5C3wak3KgJIgEAyoTWHlAomMC/1po4Hywhyq1elIgBi
x/DUZljtTYWOUBPZsEB6KeGH8HVWVaDac6xf+DhQ14kGGFL7gvU0jp/AoUvF+EPPOR8hpsNH1Hq1
RtPycfKu5UxAqnoEW9SwoGGa7Oe9z7Hlwv0PUldwoJEtZ31pBGWh1MhHPPqstyLTV0EI8CIMF0Ci
EBTpiLCOQgsazeVuaSBBMCRRkM1mILsH8OvIe5TjyIUoqQYV2iVqMquiKw89EOoV2QAnvQCBMVHi
LYd0CVUUuuu5JvnV3xwyd7Aw3oOnmhEhjsOIo1CIJWHMJ47topHBRys6Nt5DKF3Qdihi0hYSbCu6
GDRZ/GAq1OQKHQ5pWWbe86cKtFFKs7MJSAyCJ/WsPhyJrR+3K/AyPX12ppGHEaSNNuxQBgFSoDs2
hRINZJ5yVLEW2hdgCnHspjYJgocnDd24Jl5iBL9E0wpsvp+81B2qLbppLjgtMCpKZlv3HHV7+en2
cZxXJI6yElwzsIkjIW3Xc15xbvIIqn6sITr4jwfVcX27saXCw/i7vtSayne/EDohmpGDUT5gWQRI
Z9eV0jDu7QUUzsCWYFCvho9MT2PFox74KGsG7K5USgrCHofJJqlrjZT8NoZrW14VdUPbVGLNPZ/2
HIzY0XMF/00UgeFJ15OeIGjNILZ0Q1JHuPuWVrOhNBzJTAjBuCyiNZbxhHyYV2WuudCbUYiSdrSq
DKdYMKKXh3GYDN5tSuAJnpH6qRKx73hG6ikjdUT2CErPtJyNlkwcIRLLtqKNUAc+nDd1Yjg5sJwQ
TUMZoix5XJAeQnZWjcW+RXnqnDf1sI8r+KiSb9hSU61l4+JCE5iRhdRnACChRGGivnLHlDvzCROd
DU+Qu5EIbRRwL7Ou9roSXLkrAnZ94lNQjdhLS3PdnPEqqPOOxXDQSCPfjUez1fJ50b7gPGB85lAK
1fU8lKQvBgqdLSGcfBi5tvDVco6hpbD6FsVGhQpUnctMbm6c4Iw3MiIc2Z2CAh7ZXurh6HxouutL
o7tcYFRohtzXstsTLypwDKRQyL+iQYwaKrWAy8XyP8+mdUn9utTkhVb2oa5vf7us6X2fD82bikEg
XuJ3bIuRqroZzMRDiARbbWAZ+iGJK+iZbuIiiH9aaa1NhrP3H2KhAsNkPaBbsWmToDjVkIXzEPe0
gqwaR9HzQA6DoFlMkY49ZE4I5OlGLADOVJtgAXXdyllXgg2oxkG0npETIOyEryUoHUmor8o7I/DK
T+rR0XIddPMjCaZQ13Cp1ryNkBAs7kiRHplKKg2LK8IivTkvEJbpK0qfV4SDGiqhE94UH1rFpSir
gdrBdGx/HOz98X5T07MdevACfJyzaUWs0gpSUWyxNbX5+OiXaSrB8olXRo3c5zuLoggBkL7lsErk
Jvli7Sbr5IlNGUG19TWsGv94QzZDVKjDkozAjuK+WyY1LnXaMqX5jqh+RDDlDJvhxzA3vuwiQ2SU
I5cC8XVZ+0lV/H3e58uapfn38yF3oXtI01bQ9rzpPyDda03YTh6+LCicYSiZ7s6AELzDkVUxCcQl
wJlpxKoVB0JI/joKPeSmRGYBCK72pLiZINW3H5RhoaoEmC0E7fHIRkp+xBsRDqCmGtiWl94j3yMu
RrF41sHWcLFjfM9r3GGodTAQ0HDZcNfuQV0P/A+PQwVINfHpNewuj6IbIvUFydsrcsOLeCDcSEeq
IBc2IjB5om16dqCukvKSbJIu3DlvIuXt5amGebls31/X+K3Fvm17C90Q+w8g1EdP3OUH31F4NB59
QqE4QrG4YdmFVnsKRcsjF2nJayUFpxFPyBhLnUsGPlwz0m5Aci8HKULXZ816C1luvlpLsROQcMia
Z+OeHT1Gu+LwLezGhquhJsYi/5Io4Z4JbdLdVOKGoTLqVfH3P2q2bTYNHfIHmIZVuDKeECdc79fz
GBHBetEUE8TUhQlFTSyon/K0UGajJ86KI+6ToL6zfiAFYK/QEbRY9uhjMIIs12wHTMxAfIlO36+z
e6SLY++e8iBveA+0CVHPVYXxXDCxQNNog/DYzJHCXpAtsKrcvDerAE5Cc7CsFWYrOgFS+KrvOFlM
QX2CA4hz6ckw8oQoddUrAlyd/yGEiIapJH5ddkrCEBZrGH54fz/ON9QOj30yXIc4ksanQXPy+P1y
kgRghFKLyYZtjJ/bLoLh0bNVyo+tAAWN02RAC76sTQDhNghwpYYikFNIPeBZdoXebSs6RSjNNTmI
nMJ7Sy1tvoR+njRD5HUe7haSoDqO3gWkAj/iJGTYeMLLU7Ko3xIQfn1Ah2FnrBMoJm8rqKHiJ448
uCObdlke68RL6aGtTE0V+m1rfo5AJyAKJ8V2a1uV4JuGhh0gmIU1JFhHy0mONX0/+4F2x2K6uvDK
KU/OMG1eBTdFqdIBUExRiE9hq6wnIAJsGApoJFqxX+hEwrtImqYhNCOiBLNW9aLQz6A9whUinZNJ
yyA2+DBJN4j1fjjUIVh5HSu4fne4LOc4Xz5WVF00fJBSMHJHttoRkzDPhnkKbMgJUJABuv/EnHIp
P9n1axSekDpXmnYEKo2z5MEKaqwwwsDHmTJg2aOin3jRO7FwQGIc8zFmnZU8MuUDPJ5Rq8okHb5q
cegmLo1LpjjyZoJiC8VppEiIsQ9cjP3R5BOA1Q1FTJhiv1MezDUMYiELthiF/FQ+j6nQYk0Aq7D5
QVQGIgiBac0EFN6ImLCbl1l8SgLSjaWshPNwBH8hmxrllY+H+wkOlWGPudKVHtgh32sIrUco8BLe
ESFSBElnMknXlttVCM30alUwI29mo2iWMo+16SsS0Pnc6HIoSdL3mubD2kJXaD5Gn413L0zl4G2e
rKerecxHSOodxedVqSpe8bseTTZquhxElHLXk1kDxZYqjxAEwR4AN6VohcT3yA5+xfYJT62d4eqO
YuqOL6bNGyIN5QA2H31rhjXN5niON7xzJaEF2onrQ5ULCsGoMh1X60JqvoRQSEvnbJNhv0qSz5pT
ZTneVlDKY1fB2yq+idvYsjFPGuwTwkmtKcEXHYZTeLqhq6BmJz7g3LClbTTgLCTwUBow16iC8aF7
tsKL1q3zIYierVymjR354ro8Sc+DFAX10hqujD8YtLx879kheH9a18Jvahq2hRu2x/mAgqYos5YZ
6cGn7FDCIQOL0Kw7fwYU2AGBjbDLQi22RpdnWWDghvzwslK3ojeJzWiBbYehBjjicYptTeR0/LcZ
Vv+xU+XAA50GNuH9p+ufTvv5ez34mJu25VSt0DNBrTIQhNoQZRquOCnyLW9Z4wYehh2YJFV46Szk
/Vipxsfhhkat6UUgDU7kJwjloGZBeuFUXZZxxCpbsPNaNmH9wERCQAs5KllkMUCe+FD28Nhk1n48
f10+u8IHh9Ph9vuvvDCAVgruQcxIuqnuD9f37W336r427NdeCTsAYYwn0a8V/7WJXyOrkX49sV+P
aefo7sjXiv/tkf62h63sFvK5zbV9eyUOv5zgDvhb4cYacmNeBNFda37XLT1z6b75r4f0NRq3GbgW
vv7t9iqevE8r2JSle7FEZy2/84m+dV84d8N/rdPXKjYgSb/L3/eI3mooU4mw6wGdNyVf0u8K9IW+
HKLzjGmk4381nRbZVvhbYceJK0Cy9dmO+V+dEmUixURvipcjQ7pnZNPRr4UTD6Vd068H/uuJUGWB
H3me6CfCUT7EBV/9vL28zFWOSDt3GrFA1wJ1dpS+StQ58l9TWeJld3prQY4MDzdm/9/y9ftixJy/
zpfj9gM+9H/eHO1lbPZeVhQXtugC3Xg4dju4pQdfPu+XOZyut+3xuGWBEW4Rb2WBkk0w5vJeNtfd
xQYF99KmmrQpXxJrF7x+fYF//7ZYDvEPyx5vl/Om6Ta3fwn/AlrQfh5Hx9ltOtJxx7zMb8smN7DM
6byfN8+X89vmtjxn+bTWAottbScnKnzEavnpzfNyVU/b3ZfN83k55+6yvb7yy4S81uQSTL2jhiu4
4bCjP8+nl9vrZtnM7nB62Vz/eZ/nX+aNZk5p4jSQyUkE5YXn4XQ8nPwh9/N1uayPzfZ2uxye7rf5
6rf5nd1nyP9PjmN8y7Lr23JWOOdV2FHonjc5fvGVCk+H/cFtZznS5YP9OgAHJjfsZnI3BHd7PSw3
cTufPW25M3DrBJC9PYGyqalsndN9Ocr2ep0vQObsMi0iophUejvvD88fjmY27+frwa6xebq/8C9v
0rlcY8rR+5L2StyVNoqlZhPbzsB57OuEmCPswUojy3VPx/PuC7eJNvB9OM0w0S1s7pfDwllft8fD
nt/IQEijH9Ma4SYs5Xou270ejnvxqdpGJaZQaTghyxQ/nPZ/PH68v15XcEeXNgsWZDrwIrxf114b
5oY0gA1t0IrMwyJJTgsVLLLzdtjFuxBESuITKz+7Ca/6fWMx7ptvh2WX8MQSx/VUBowtooy35d88
vB/nzfl+syKBfYUWUTqwsGcZtyFL3/vzffGadsfDclcs86erskLc4+Xgjr4tFK4FeW0UOUXbriaD
22VeNPGm5S+I31W4FvbxmyRIAJunlaFEVLtYgyQRWJzjWHhpw28e0cmQXtdu/jK/bxdNuLG4iisr
zttYrGeX0DEe8wkO43fXjeRqvdXPUzG/0tAQFevFwPZ427wc3z+Wez4VdS2rSLD6B/7X6eJev8yX
k13xq5X/u+0RboE3JRSRUB1aCUQHEXO8Vp00Eb8t1oxwO/xh0i2DveXtD9gB/EfTCpyl081aaKBv
coM+HqSPkeWTwCTX5c7mPbwDb5q0lDTGaDNdbu7Cq+aSoReGNm7tzOfj+dtmPh4P79fDQqtfX4As
7NNaDXQ8vABo5yrwNhXBPtAGVp1d6dv5st9czveTbUi0eV0I7woswi9pYp0WiGTQPtNnmU3xzIZM
K5WpjAPono/jfBUocEhPYpMDPTIAFqX/crIW9RP78+MkatPL/Dxf5hMYruh1Wbk4UKGESNrZZbwJ
gthxipoCn6KVTpF4yaqcoYmP/st5cQSccbnYQPdZuMixpZvXlHJeD7fFzL4JZKLIS7Zj+SpnmUPa
OFrVKweTm8tPs+WR97PVEs+Hr5KthBgdzLAJWRHWxz6/vS++w/7nSMG8KWGo7d0/WLpasnQTlaEJ
6Nv39/m0R17b7Vzz2bDWSwoFOzGCMsqI0+QiU/I8dXpcUPhhRmx0gVyp+GJ+Xnz5ASv30/MCNrEZ
ywbsYngKJoxBxArRjHFAx1lozboeT/xxWmqYecW833/KAVKIaSEkPSDPYT/vztImTJydOpEhyNbg
fnp7r6nPFnkYTog51Tu/XekVsrzREIoeH8hhlO7PEA3qZyslqb145e9Vu7qjJr53Hu3bhQMcTq/z
5XATyGAiNE1sCHhImQoSR0DbS1ORNPxdGur3PLLl4bSxh+h4YhpGahiEzVzmRfy75K5XQYtx8G4V
kqXN78xqeiL+nUGvC1wm3kszEsIcEVU/H5Yjna2av/EBj4lGGLwmCYSNXWprS/M0jl8XvLChe/By
NpeXp61gDolyAujcCDeh0g5sLcDYVVwB3l8bFLEc/UqO1oBO5hOo6f3m7XA6vN3f3F/PF57ocPhl
gBhMZXe8FdajF2+oerPyfPO+/OfhKvj+bYOcE2hP7x59uy4gscjShnCyh8CBfrnMi9E6X5wBUyEZ
1RFLyIdyrGlvyc2ZwPZGXubz27xIqV39aCYiKicHjQu3A4xkV1tIEbiKtwspb+chBCWFEBpqoOIQ
WdXRx/EYp6AGHGH7OG3fUFxnuSHe/qGWlPYpwPn7Wm1D7VtMYF8P87en8/flmcED40+jR2ojo1t8
O+ydmF62criBZGSFG7Xk+gGTemUHipoN3ViLdVfDOB1Sgj0AvOJ2/rZQ1G+sp3b9jXAco6lF6C52
d5y3l83iTG5v11pQYaJ2QJcFULfLu368ne/XhcQvNgcjBAM6onR8mBw7MZI5NHY0H9E8fG2krwci
wbBfDS5kJQjcNsguVUlAh8wKMIzLqtioCi8qqCVA4pZBY2mey9AF+shKbknwCmYi+1cNur+vITa0
mOiHX5ZlatEhbD6kft4gjee3p3m/X/TUClO/pXF1lZFWeBKeoLLgwKfjp0KAmepj4qo7atMStfVE
2fnoow/T8PZMug+jadjT/2YvuQsN1dHdykSbIHzoHahmWCnPhNgpDZD1TcEkEYLaQyYNHd1BwH/3
uki0F/u8/P2ikGIbMYreG3BbWF71maf6nvy8T66GzFh00xdbvuKmG5ovVN3apChvobUjkfPKjFUD
Ev5RsB/7smn8CfYSIvya3ECrMv9jUdj7RSgD2fOqmoq0dlgRKxVcgaEk08DfBPAaEOd8WgxNOcjX
Uku1fQiG1rZiYl2bdzx9048j3PYP+/+5X/1CzkQVQrMoEQNdoYZc6y0ienvc1UJuiuYUvaB+Pby8
Wq5bTIiUVea3QuEEk7vexbpevlw06NNl3n6B8LNwLchIBFjBiLIS75fz+7KHD2e/r4sSkQCNbRi0
kg0F+dZQO3YoyDfBzcrSB5/WZ8LSmZ/QFjYmaEMai1FNHtCxKaoXyBtsdufj+SIF5CkhoJD65uWy
3R8sq61xOZqGWJPKQ71pRMSnC/k4yEgCVWpAFBVeXYyFYIeyiSYI6CErORaLeHFNQWZY2Fct+4O8
OZVm930ikSIoc5oxbwMP7999hDY9pnPpq9l8lL3ubHC/G81K+0BAL9C0dfcQdRTfYiSh40Gt3I6Q
faJqatIFi0GMINJwgz2OXeDfzW83P/3jj8sPK/jsHWTg5QoMsFFDeUUFjU18rgBsM0st3rbMlmjF
Jfq0xJDMqO1iFlgaXc71tmmZoAOsMHhpYleAGILyOFLL+iCJ2Wtx3/tcEuygjenZ5T3uy43uFy+K
s3Th82Aow+c6+mJv2+sX+6xiANPdQIsusbflE+4OraiwK7xtL4utzhqDbg3vIXTKSVRPGy6cC1fY
iO+o0yOABdTTLUAglUtNuhU6eggvejJCmKR7bNIRAOrlRfHH+3xdJPr1sPvdX3+Ub3LCtJR6J2Sb
GMVNJFpycOiWvKb979prDpSefUrQk9PBFsCw7prbg3esYYUxEhRhCGMkhuhaQgxdYQeqERYIgi+e
QSlPD7dFuu+3t638/ejTA7AB6GnxeIJRSycYJnIFPj57fd1aYnBW9MxmMd0ZVNoDmOSFPSykIOzB
TIQe23EtXtD9/pAeAWAUzVSgg1F8BcQQKsaY/CXsDpfdYjLLe1AdEU3+GiNbW1jql5mFn3jJMtJr
8Bnuw/FmWcqfQ+QIH2wPXKlUT5ZwclpeokkEqVMNDWWJVmQJdBNdLBcIW3jZ3q/X2imohPXhVKxk
RJ4ce6JkpgI5NuIJdEckk4+oZLKtFzUtfclJl4S8tIcwhibQkxkeD6ElwRAGN4RbUL4MYdnBfNku
bAEIEJGmR9PTUzyIpuUdBEU5KEJJHSWE2/3yZH9fWEAlsdAlTevZ+vmyfanIJbz/lDuyDrB9hJ2l
w1b4/Qlr+iZ5Gl4sXLwVKGxAm+wNSgqqExUUJaS+86yw+MvLFV5s9k5mhklRk6mkH2Ruaqi9Yh70
k/T5iD5Hpgb5/X4S9ZOhj9CsS5J5K6UlsqhoMIomc5cEqvUTg6eDDFbx+YyhFEjFsQtW7OYKGzSJ
BqyfOPYPexAtNT0R3ab6tkACnUgCmuh3X1SE5YAoRvq0AWAIVeBD8QRYFg4x/vqgW0V52g/UffIO
fyAFD12oGZwjsZU8gIEqBtn6HycqEQbymLvzaV8TKUk3jTFCSNWCZPEOLRVJU0GvtKJy7Kle6bvH
xxRZotfkIYxZidB1X4+ZYu0LAlW8v7YlC3hIJLVVRXloqAs7FhboB1GgpQt0tndpC6JIbKlMVarw
BqIf3Wd6KSR4kEgR3SbTELFaSMmKJDDQ/bcFr0tL/uvQNVSp9WtRsf74E5En7YiVqoUd2PIx+QoG
FI4xaUwhjgIYMQpgiA+vmoJQFjlh0CMVaL7xQdAtyzW83mr2FVKtXWRlF7rc2Kjue8W6COicSIk4
bufrFo1ICegW+/iQUaAuKuZmM9Syemg0VQ+GcIPHClbW6Fus4ibzQFBiKGOgblfBRtKiDz8Rcg4p
+kyvTKLDoegdUGK4HY5Vz3EkBNlTY/3tfHl/rVFT0kwgZMdiSEiLp2jJKYb2ganEe9SaijXfgIr6
rqJkRZaGVhQ3KsO5PR2kK4AUhylY671ordMAp7cO3ubbFsho/r59e68+JYpJWabSOLchFxN7Hato
OKUUAhAJesBmbxcdt0ywyDyNBAM8RoOv8n463K6yaBmmgVidgykoGVHAYmMvARfpY4q3MDWlBRah
BBanLUAVhevY0kDKOBRsnUmMamkaKNaFBVrRWBpoeLRZWYrl6Si53yazEsTCAv91+u0eheqpTBxF
adLQYJjX80GmPR1nZ21LwTBNtLxu1lYTePeT2ilt9yBORO060Bh7yL5SGhY9t7bPJGKzshDBb4AG
pz3QInsD0c4ZaVg0wBAdE8F/yfb6gMjALtAXQjCiSNbUXB9K8QfZ36E+X7CVAxtvKxeQh7antZUI
noIMkWJtwd+T4z/o/DoNoKRSTDz/pMkDTGplPYjn4on8fGaX7M5vkG6upGnGBmk0EyXJg8Euph5R
SLZLxQsZLYu7wMnLPt7EFVo0bl63Jwtckv0mFJ43CWNM7RORG3KJ3pDrvL7Pu/txe6kZakgz9hFu
iMM5srXaZEHNaS1E0pvaA1FrAdrs1dL14+3pfKwFhChR+zTyQ0BI1K49DQ57bFMMj1fjaqE5b/R9
fK8ebPV3YmRUk7hcX7CyRpEzR5q0akuiTc7md5mCLNhIvWji9BRRYEomvxiKGEfqdyhTsNm1eA3Y
TBqYhJWYKUHJPwtWK+fTRVJAUtrBCFXpHsQlRkMD/aYQqRYVDU5hjtASFWvK9/PxA0DmlehiJl8m
vIb3HeQ06ETi5cqUjNZetDmzCGlwhnOMhph66mlIIFq+KEAmxiUQzgVi5l5Geg/G0tS1EqhsBnIM
6gp6/0UOMPVkCx436Z9izVNS72Mo6JpetB17qrpVVwjTtTJj0ehO95g/nERFQ02/oLFzKS8qKyzi
VMJl+kDn/FxLIGmahh0HqiV298v1XNO3KFoK1piP1CELUjQ7DA30dQ/qWomJj1FVg60iwmTAeq6L
QRnCS6K+x3ClLkq2h2eUU0g0ah+Qa+gKRVWb5cK9pszEs4i5GinUqJ8oHbhCxMo70thOKOSNpvDp
ay0P2JPo0jA9psNFd9IM1OAo5B1G0V5AWCMo+B9LBrAYeVcZ/q/gzgwiMSKoj9VyHupJ1aT4Clnq
wIeFFtvVBgNO27cZup7UXoJaXh7wFAEqz/Lnw2gyC7gtwUNEudb1JCXbtGtL6rx+6ylPFrGkjWjy
UEtB+W65WLj3onCnlDCNj8Ex8R1xHm8q1mnJCn4shRUoHXUSCXQ0sz8+xljl2FhDo5OqYF+IiLUm
s5sb/XD/ItZsoMHFgQAb7tcaLqUbSOpoKBjdnew5GMLIJe+nFUPlyMTr0g3iB5Axg+kAIJg9ZtCF
5QDGX0s2DBTYUsoDi5GZPguuFhyfXkRNDjqDvzYrmzl4EtTELGmnEuZRxn3S6KJpy5a6KEp7aqaW
nNhR1gg0mjF1j4JExnTQGGfoDIABGaJW1VSrDjTCtS5jg7IdWqcSTrcHyJdUNoEOAbaOZ2cqT8QV
GmooJ3nuH9MvJZ8DMbXui4XeIixhoJZmKRwh2nmD7ks8Se9RRocoYmv7LGhm4YiKRVFoRUksiIJ9
yOBaOWzTW5pyzDmL65QsPdFpGPAKbYwa0wXE5Jmh+nUoAmBFkx/BiAEs0WYX4QYL1GJ0mto5j6HO
UVSS1EwadYGrxGBGk+dfSnglMY7Q0WjrUEppiy/RUT1l1PriZ5+C0EQ4dUWeEDWNohjUANDISgzk
uBKNBcSIb3pI0Ql+UJUlD1CJHiDOJzcMuECLnN1OJQew1jDWP0JXCidRsSLaWwhwhGYQZi6wCIUd
M+FaCiiJFttAVf3YFFJRonifTNV7lOEVmc02NQ+wN9F7NZQT+uYhmWVPUdP1HdGRQxElI4p3RAtt
gp4F3yUav4LRlaWFp/6hwEKL/iuNuE+l4KjIzU0Gi27yUPXL+VQLzFGZgnsA+BsQg1LDWJLslJlF
UmqpQGqbB/9J3D7Wbm3MwZFYjhwlpwHqsSuEl+V0aEfE2Tg+bkCEZ5gp8z8LEkmJN4jDUX0U6Rjs
JQYQdGbkKFOAFogiEaeeUmw4A1C2Yia1JZkjb16gqKSolNpMtResNC16kBmWue9XtrDz/h8SI7pc
+6jFcGBLywJ85aJ7wC8etik94EQc+K4QARhk/7engENVSl+KviMKK+uEJk/lGc/PnpOlWOBAIEJD
4RrFNMeQganHkusm2gYIHQGWVqn+cpAh6YkUnEBoHnhRfkpFeXEoaGYl0lJuqDMID1EvooJiKxym
vug5yf4CzcKWkmZGlCkdxXWX4EYiKmAwWUylf5TLYmAxyxZ5IwuJJDEq2NJn8A481mpiEKHrS2gv
TEZimkZnwX2aIXkOhCihmLNqs7HgbsmBlJ4G5cZCzaLYHQClXY1OLbeRiSkKZZxs6x+RLc5vFnEt
3cDW19Qam3i9QEm47x4pUDRtDKlQStVeKKAmI/YopoRWffogjlzUTxFrnojDG56fn6/zrUZHfQn0
FnKetnlR5RJw3rlJQC0cXRZfUY+l7D/1leROGxkQQ3UrO6p4IqCIO5/vxP62yMkDBcSUks5GNA6R
JNHZ6J1aAxbvMNOCiO5BDsp6YMA0DPPIoGkOtLqHT2z/+xC6ABiqy2OX+x85BLt7kcYPthjSjAgr
WGc3YNP1koSepf/CruRlTBO6D6eV/I6EXaj0rUmBBPutd79gsI9tdxpOxC/VxaWgKFCZfB+PiwnX
M6aNjdGW9l2dNm74OGo3VXw7WGcgB4zNIOyuQovK2/lsRwUJR1PprRDo95d5cSxdO7bN0/22iLPt
u+vwy59Lp6Ug16HS5I2wDe4oClFMT6aKuM5+lV/2Qiwcok/TH/wMp9AsDYY8SwvpuNCQWrihhaoL
mLiApqR/vW1P++3xfJrrt5EIBAZ6jA9P4vuQrXgTTfYTMGZ2Q+/bvR2BIh2mJYQaWr7EV/F9i6UV
EImmAA4+yfWf9+1lXnUUQ8i9C6MEgd3gi8CDCGzj6+rY9leo0bsCe8IDAWGL3w77ZYev25MwAQF3
aBzyItn95nFLwlKoPSMwUK/5xS7fLx/CUqizJShoC8B2zR4XhbqImrdrGrsI7QRDAWKg8/DvLT9r
f6X8LtD0xAMMYJxlm6LmX21a9HY5fF+U8Pay2CJCZzi3ThvXQeivuJHFqzm8HE4AwwqdEIVd+RCs
sy5gZR9+nC87q33SutBU/SodMC0FFp+HP+8sYaCbChuEho+nG0zaTOMZhfU9bMxtFTTNUD76p1f2
aUY9hrKaSdz5crXSNtM7qwFV9GNSSRMSAuPxe9NxOd3DGO2kLnxv+o8qyZj0Mi4vP8Q1LJ0kapee
F22kSWAzq7XiBWXKOfRc5Nfs0sYMrbIFboOWX/An8jslMeXWG9BBLTursMnl/4JBtWKZPj0hLIln
RREx8Jm9JfJFMv7xCWBshyDk3WKIYoeHFh57h/b4vIzq0P35zB7ylKKZCy2bDtvT0/F+2cz7l/lH
2+14f38/HnbLz5euwA627X3xHNSg9jBk28cD5t/5xif2gX5cdJzLPECk5v3spvFu/C641TuvRF28
BO7HlyzPv4HCPt9EfPO2bLZ8B3aZ1pcFwTJDDN/9ig21vnbXrjTgvqTznyDucL0/XeaXZaGrk1hf
5x9svc7t73Z1dkgCHLVNe4QAVRgS4le+wWDoJPo2XpIBtVrf4nASe7LDb3TosXRCFD7Pf/Sv/5vl
9dmvfSwXdmh9Jg+mmn97Pn09H7/OPzqdd5pfltN+nSE8PB//7XTwrTn/g39mhd4HQVse1gbbZH/4
erie+X16kxhWAw4dwmDCl83rDBF/98zsK48T2k+XpqvQi/K7mb8etuKta0p9oyYPG5okY0JZLEye
Tpr0Ck1Mb/KvABHR/+QvKxG0tn/WKkRUgbOsJ7+whZsHubgR5/uNXWpSaKnURun+9Hdgic3t23kz
Pz/DbE9WnKDTpSkSGRO47taOAdjd9GklNLbZ3pMvR2S/bAZyw91E9hAH0LrNXDeL+KlsxYxkK6Ej
fFjREeO/QT5v4eTLTxac/NfTv10tcRzeDvYZS/8r/3s9FSVNkXqjrOIJN12ETn3JwraPljaC1Nnc
3/eCmuhMWgoYPLvU9VfgzJDf+CGWv1lcMPYnu7T7Lob33C+lKZiH69WawNwio0ayJCIq/CK7jx0z
MAa+HdIGlCstCLz6h+P5vC8pRP4p0FrOUO7JcVbMV3TnSVyBuuo/z3+2YhFKPbj2946p0HWgtrgL
Uy1H8ZJnPz9vl482ttMsr0cnso+utFBQ7s4Ckm4HSQ2VxtCXiOuBfP4X9GUIffWxdmt//raJpgQv
LVv0ohEv9Xy4XG+b43y7xVEE7FtODdErLWWp63x8Xq5uvznfXhGFHBiP3umWB4oNkHU3/mcTjVFP
d04GCltMd2T9ggFjUFwNhi2JWQwu4XXbCe0KPLGeGl2J+KPSkoilpSwdYGIFg9Ve/wbmnrKmZadG
YhRlpBf7rLNERPlAxe9zdX4+gaR4uWyPTqXzGh0/4ggTIktK9HCC+sJVurRLCgXSd+NAVgQ7CIYm
VqSHImzaYRT1ZvsMBBX9TnmpwaBDopkFkftAKYFxXOPDdF2Qn/b5TGss2iNFUtc8fWKZCpl1xnoN
As29gGCTYcbukfnp1c6xHEB1F9MS6u66gksPPp54v31jiGzpcZb275K+HInJ0AVC+cl3LQA9Y21e
b0Yd5j1/lCZ3/nKL0kaUnUXJP+9ErYCiV+UHfUFaZn/e3a0E4JkBrTjG/g65n2anyZ5XLNaQ+wr1
t8+L+315f13k5MvHxs7NuF83u+1VuPge2WoW96ZHKiSj5Eahr1M6v3CDBj0D5DmiZ/rjbEdLf7uc
AZH4LrgGvSGcr/wEwbC5EJXzkoknCaOIIOobwWxwI69Zk0ERwTvEqMXl/P6TkyIrDGRNpJDHbeei
gxccaQ/T5FIU6nEb0ZNb4WmiQwGZ9sTojdrNWb084yUKb50WyfjucEpWOs95YxZsGB9Ju2Lh9B3x
KEO/uvnn++XpfrQq/7+ftvv/vs7z/irY4ThEBYjctkA21+3tfpFcGCQSHZCJ3O05zAVjL3UktNJN
hT042AK/A02ERRjzc75fdvMPx/fXLf8WA/nxqL/FoIEQr8HaAc3mzU2MqmfcdRmN9I827DrLFcV8
4KaHkoNZGWXlRAzlaX/JlqddTqzG09gwsUuNpmxe8kzcEP3S4QEB8x6Ow6vfiZpFqs1o1P9pkf/s
DEhHrQMV2LqhBoDmt9BTOtclynBkcZVEfUf9o1Z9MtDqjD+bp5WcuDadc0Ki7vFn+BWQOTChOQan
2/Zg58khG1QIK6NLm0YEziwGCS/2kPyGFI029UMe+dpsL8um3ubbYRe1JUzSZgUPE1ENYXibEYdO
ezYOL5wyXTZssm3wzk4LX/wMxslya94tAfXAO18N1Q+R1sAw4Y2RlgidoS9RaJw4V5NgVLKGtBLW
4Dynt0TPao2BiBsn1+su5IjiEENCM2ITYm2gmhr9LSO5cECFVxFYEmGfMUgQwx9ooA66bj+ZaBA8
K80kGsKuFL+rLhOtQ2bs2Ty/FTfv50s1wTClfUDwqmt0FtJwk4ddeIXl9JYLcSeTwqf4Wc5OS5hU
5RMwfDadzSdJUOTD3o3psojk8gHvwI+KyIJIa8g4BKp1zg/Py8iqgrPocAk/H46ChauIjo0drJIp
5RyaoC+9k8nHubCARGLAh80gfbL8yeeWt29zNSqBCDXNK32MeAGaKUQweUIxZLWH7Nof3Ck/Nk8w
cpynlpHGLKeyM719f7daYZX/OxLhFeIMvyLpyQdouk4RgTK1a36EX80QpUNGH3kbsZIMGRHfpvqB
QGpv74vWeeFJt6cRA1PgnKjUK8yTlgJm9qEvS1P7eX4/fiwi9mpjBrKb1iNfenDdo/SaABjvXzRI
eTiDuv/1Ef21SbOWBnK7Us7sM744toOJaflX2cvrJ5Iqm/xYSYB/bC87cXB6B2gghP8y0XLeXvEc
VyiTgK/zv4Q+8nv2sVsSlUu9HC3R0J8wwhotCeMgzCtdQglLUCjDYJgliBfArobTYn1e9rzfPCzL
r9TjqAd0quyZnXXC4RLttA2k6bjjtcIiHRH6XrTC6z5QgnAzKK6o4D8SSMwJO9U072tvBzmH4O+b
oXwuYQVFVZm3wnIiDg7TFnmF1/u7tc2Et0MAl+RyPl7603n/Idz7mEcAEngYT1KG7BJkKpylxB85
KZwR9eJ93JcWNoWCV7A/v4Y1RTzbfztbdNltu5gV108QyEAfJGZiHnbXC2sMNLTWFG9sMaZuh+1x
ubD9ZftNuC8qXSayoZz+hWV0FrMWRcxlPjrNYJ0B4aQTUf29eUzPrN0e9kc6r1/o/GG9+flw+nAQ
v1Tdt9hLd0i4stVJYFqEYKOOiIMxrxNEKylppSaupG1qSyslrKSllVS+J4/t3m0XpejAjO6PEc25
LFW8Q3gHi7nTytWldtEQ8yu8HM9PC7VtwRuQlxnSMi7Tofy27tfb+Q2+cUwGpOJk0ubihJIbU10s
iGhQpZz7jWTv2ejd36xJ4E3i6BLo5UItkONpe50XQ4Fb2GivhF0EDMHEARHrEQi+mJBfxMfP4L9S
tw77pG/n/eH5Iwb8QjyMXcrXkbmldGzxDAMYXFp3f34rF/PA595mhM/7aJZTmPDu9tYxZRZwGpO2
YB1qr53+5+oNei8pLajCV9UY/t2GntwMnglghzJcHN706+F6eDocD7cP4Y6buNIU59H5CMH1/rTc
kHWEdsc7AJrs3QOZReyujcNH8liEywdAty7239T8hSr0s9B53AXr9std3vzrHgLs/XBybXbZnDJc
SRg/5GgGj749xtF8r9cj/307EQoZNCrouSzHXi7k8nw8f2PsRnebCpFZk65z8ZS2xz/a/4ICvfPO
KhrWfXI3pHpCcj5Sv5D7T/ennxaH5/Ti4lHsbmJ/eKC4IQVR7CPaOtLN83Y3y9dqjBnIibx5wBJI
QrxXKcQyn0AhpqU/rML53W88gPMFP9LdRp8eeIyDwnwBwl9d/UE0m17ta//Ld3aptDcbnUJo/6LU
FMQkIjqH9EBdQP0AgWeBeRO52esaO7qPK5vvdp9PiT4UYAVCjcH9ydXp2ke+nZcLWbx1105Cktf+
BPHJ/Ha+25LZjdNWqT8uu0qrR/xOQSNZSe0DBr5vW4Vwm56KWxNpfxGvNoi0cLXHBbl8AB9XcQvq
gQgY33Iootdgh54qBbL2SckgZvw03af7y9ibiZeYcSZ1YGad6qk3C1P8fL5tj14gcCdoenQCE6UT
0NqivHg6MVQ0+pzPYgb+zVYZ+3K0n6WCFneEDrH0GPU5VLRc5uXulz8ldgaEJ3+PmHb7yIJHaxAE
L80baRW5MKGVrLvhveEzAAd/caUxztizVcj85XaJbAfUktmmvjwY93y/WVQczz890h7g6HnqSJcC
knV24GKZjYI569nIc/aiB/cGUIebYRCIrUsv3kJ3nSB8fwMxsO1NUMQDVVxjautcY7FmoAKky02k
0NgL1A9vfsbmA+4mU4T7vEihjSTDYltsYDNI9fvt+0tf/n2XOXOSI2yEN/uacSJyCLUZ+5uvuZov
vtuuUFTrGHFs0Fq2tq9xIna/UPj2ctl+/BUKDgUjqWg3OicpAiE2B9sggVc7ZsJ2OcR2vTBansd1
Hrg+RLwFS6cZiVhC9Yqu28Xz9ni0TqtwywptCfIRftrfs+3bs5jC4NgzpSFepfdExnVxAKeTIRaM
v5ihN74GylOwplakVxLnM/JSoj0KhXsCiMBLBWTFoSRUpESMS64oRdVRSe4BiwuDQb0FVE8CqjuY
Q/NWOm5sUgJ7M1Gbka4AtgT95nBdbowqMbn4N4392YJz6jOQllhvIZPvK8lnD/yErPphvtrs0LJn
zRsZTUuMDFVm8uO8/cK/NVZBqbD6erDtmn/7uz9w5qNRA/VrfVGjRWHbptkwf8t3vq6bkI1Pv0VP
qg/K+e/2CaEA5FlQFIus78huSPtpawsvHx44XJCXmYbaFR6IbwvKD9/n43Wzfz8IMqklB/AWsH3m
5cetrXZcvC6Ld6S1wh0vnzATqhhqtSt6CDfwo7fbKrpkIRWiSL3Z5/KDLqD5d7saGKWbp/vT05Fv
/gC7Qw8G/VOGTNxd5xdrQ857KZiANgX5cR/1yqIJQgBhJKaYh9x8m5++HNb7VIut3haiB87gv51j
Ru7Fe778HRt6x0PsdeR8VOuHCOSXzmJsRqHt8BvFSsNF2u6+SKgf/zzoZrrYkv7p6WwRlBuLRfYT
5niOGqhCQySzSnDB6pLsGgoO0vJvW/ULsYrLZrEuLtuKhah15tp3gvDm8HxeUg+E4bwkBF/rY/H4
DjtkDixO6Y1DW/qQA7ICQTh5O3BxkoZxaBr+4kfK+KYrDNoEhfszi33xPsFU1LmrZgKAVG40osnU
HyZCeE5nQgL8YyOLbYikFCA0ayrz3M30mY3l29W4UYm/nKXgp8aRGBCtXkV4y2XzepD2r4l2iawN
svyMwy4ufP10PR/vt4RMswABD3ARjLeOKqAx6MC/3N+e5ssqLaiJdx/yYD5eABzBVdj78MBIQ39Z
JN1HzCTXyehJlSn//yAe+zzzqTYfcBup6eou8e3s4u1fZ28LOOWZui7xPGB6GpHV0UmA4jDfC03w
CyYiiT2oHeU6StXt8Ei8s6/Rms4zU7giHTjb9xNihUM3EOeyE4zHjRbMx4YSbRuI9vffd/M7iyP3
5NrQhETHoCkbJUS8O3IO7+l6y9Ndwr+DjKp5cI2mu8ka07nw2vPxvL1V/BOtDSEZ3ZfiH96Is45K
1bIwWBC3aR7HY1jfSGH9tC2d+kEGmhFiZ7EdaDC0/CsfTtYP9D2T+I/NUDJkT+fgSy0Mbl1/CyKR
muM5PyEzinVudn5ZnNFFvwnXgO6S1EF4MX49/GIZYP5uRdHh5hSctCUkc60B6JNy0mpBXUqL0jSb
bxzpc8CLFKuSTGiaFxnTN3SBEGUI8PLejCFStM1SA+8oP1AP9+BIWgstxyjhXa8C4XUl6Xs8XBen
8GZbQsdWRN7OfjscP/jHbxrktqTUVggJpuDG62G/X3SP1dlCMmagwq8z2SvV7iY0RQxxOh9L3s+3
7c7yw3mxIS5v5+WwLrwsp4bQYm500UjuGbW74pUCjR+1BkXWAvxACSE1tAMQGe0o55RWJ+KRVnfl
vvRsgR0cOYDrJhyyoYccWOLWAlVjtYP6nbneh64TqhhqVzhrlpLHzu1cbIJnAIMml+MqOLCGnig0
PrejpiC9aO8XrBW2+MTb102Wak0+n2W52XKGRy5XfGrT0tP5LaVcPqisi23UxcO8vXdOcvt+oeeL
hWXZPPI//vi7gKAWsqZJBfWKdFxjACJVqYajM9gEi/mkNda6IaahjxlZXHH0OF0cRIj4KmrGhUY2
rrey6xBsmfbpsD9s3g6Xy/nCr4VCgQAp9kwWmet6O78TP6KCZphQfBKMccdpDr69O26v17/YV7TU
+Y/tsSrfsCVuorAs5SAEtkUSKra+jCm3p9DyxsZJvF0jSMuJwnFQwMDGxN9xJTkvMxHiY0Luwdvd
hS5SVEXwBzAoJ+UePhFjFsI0HeXjpBFcrNANvoIQK2rfLCAxqG3so8Y+qWgdst0XKTvfYLcFEklx
GJlzWK7QVxBE715wE5GkU6DFEVJmkSr+GAc5eklThO1Aki0e8CMkWdLNglkUcuFnkBwBHyCFrIxC
DAadVrVvDmqfwuMMUOz5JsaLjEF5lWRrRe6vhwynBnOXK/RJMdBFatwsK/xutmb+Rw0J1eO8BJSk
q/xoK7irp/gbXca4HPYrJD4KPkHgOvQwyR4MLBBLzLvt+xXcu7fFUr0cbcHFVUr+YU4b04w868sn
ewnYTWIQozLEUYPiDUEsCbEuPemGuh7TukyGETIZOBSKWnh4J/18Afra3m9nwXJHik6nRvYea+ch
dot98jPgQGqWckMVL04gP91tHz8kTmSAzkjdLIMAopfzTUw8Go3DdUOEpT0AMkU8Jo34+cjA7XBb
dIdcyu+DddTi9wxiHaHL+RjS4LYW/ieg5Z95hsXK3sRRXiHIC1b1Qj2LA3oTTCKcirVPoz392rTi
+X37z/ssFYr7GEHLAoS+LZTvJ5tXOUn3NB6Upqja1uFOn0I2hhfPyEmwm5oy6ePeR9hAlmHVKDW7
8eC6uzUSrmwRtXc1KGDCw9QhEzE2g5CJMCVPSU6Mg8KS8uE9oflxSghXGVizuFw0+DO1ROFi7EeI
qRIguaCKJ5o8Vlg8ReELdj2/iKIeT2+w3BQEdpZHN2iE/ffFDwDP6yoQCQV++RK6+3XO6/MXW+L1
cr6/vFpIpiDQ+kJezre0tidxmsRVwQp1oB4gPRJd4hkgpkdcBtvnSDZ+cqNAPAOKTwyo+R74Et7b
ERycMOwvPJHHtdjojzf8f3u0qujvFUgHBjBN0W/L7ACfZ3Ahfvc/idqfhpI83uz6OluosJXmAndT
MGbbZtVndg6kbYq9qzntWtP78X6E89fs6/CsaSgRty0m/tja291GNNtk7Wh6Gjf2roLnymo0XzVE
MaJs+nW+/ZBwXaJ6b5tiZCVAjaJtvAJjhPBPab77w4z4YfMcJKmAgG1KQfCUX3CJtnjGv/wk5OqI
yY9mePjalN39cglNR+yRpbj6RAS7j7F4L9qV5O+EQ2HebGKvUGc2nN980jDWVFQouenbUi4VPFSg
5jokyRhVUv+kiG0PReAhlQNZTWs5WQdYYHVNM4o9ruK52RlBMdZWC7KpooVCUw95jl5KOrTELPaJ
GnG54EH5Y0PgBMr7pJ8xNJmkkV21r8fMx4HsUildK0ESAERDCfPlmnhvjufzuxD8Qdm0PrYsd2r7
oxa3izMgotDuH6O/L5YGtt64WhcI1oSdTVExeVcQT18QuLJH+RKHUfVm/e71HKI+gjmPAF7g4ehG
yo6tIFGqek0Kd8Sm43kK+yoEPDDiwl6dJ/kQPQWMz2aPpqnwsdOOsGLoaQbBwOWq3d0LuAscCob/
IJPuotRxI41XpHLGPDrl0xM2P3q3NTAuH3C4QgIGDiyEy1D+BQb86pIsLIhBn55zYSNJJGJAAxrt
EPI7XJcdnySkEIt+RMA5/+NuI3zzQJ+0UJh9el03paERiGhOE5ib96CAH68+NA/JzEogvVXUvOqJ
5wNKCPcA5B0dU1KLwUdHwZ0VsdyFuw2tT+hKVOEAO9LbDwSl1rHYBi1hG4oo5qQTYmZXC8pAE9ni
9dK3wwlajG5t1bnNOVu98OX+LklhGlMxZB7zj2d4dZxClx9/wKkmWy7REZdsMfWgjsbW3IPK+ypd
NgJyAGX6vTlYAHSO+X0VG6ApoL194NRFjn8XaHmk9dBuByHh5cwzuTbHUG7wbXwfMV6polrQKKYj
qJi+TXZnKkE8LNpF9laangqhAZV532+4rEFA7XYUZoPQe+F6AYUkCLAMDOvu1v7gf4c+U/+9SMD/
dh4ln1BSFD4cC6o92tzD8NYUCtJKEp/kXokHWJGFHcqVp9Exg3HZtbjSNFIonO9RvEWKHxKVNXjq
QBOU/rA0fVprJu8TKdQ6NLFs2sZPl4u6vYFq213OxyNE4Ra23yxvs/WpETF6kdWGNc1jjXk1Eqeo
r5eCtNmExVqtHAaWuQ4LFO1sKcHiwBcqgOqn4LUJDN2oEoYFoDQgFe6nL6fzt9NCxLadsVQL2ZeK
xslQgABiuFZQDHrCeU9s4cRqxPkChqsrnAnwUqE+caJVyr2AcxXF30AidF5sQV9BkIFoAmesnRZQ
/eiYQ5Q/3tqHecmvYr18g5XDOKTJDDFRZ8sXAM58vzgj39W9CBXHWY3IyEPZnPCpmXQar4iznHwA
0HqTa2KAikrdPsiPDzc7OEoSMRY3KZrA65vigJI1wpsCyjwDhJkfIYlR90sXZ2SiHVqUZvKwK0Q+
Pl2T0rDgacHW3DPGhpJPs81ULkYypJ0FF0yVoO9Q0z6MSqKwgSTya30U9KeVHIZMoM7HqKJYXkJP
I000+vzrH4Ps8QXJp7NlUeGkuemWHK28tJS3cXCMGYrIfKw4oSYrgDCFjBNrsXnzbwfDk092yiF/
gIm2VwngH1pas5V8zQm3BIJbbQsYSS1gJHV+/o42y6iV8mmMge5iTNoK+ggV/f4BfCniDXpaMRkG
cj+huU6CqUNLcDslV3ik4H+9ocpyD2D+CzUepkSGJWyhJCgXP00VymcdlADMW28NCS/RlyoGEEIl
xFfIEJW9kPJQJfDGQ2W7b+l6/KgXuaMdQni3o2bH/wgRJJRXgt7JI87pxJodN/fQup7OdauBjFBO
GWawZHiyy+wWqBTXtTS503oRYGsjQc1aa9HHKGMn3Ir7tUiHnuZVCPIlupNgI4hAKGOylBwq+hYx
NILY6KcSZaRJwWGkHDvSxZt71MRQPqkWbAJKp/VpP14YNBloo1W0TnB+E0rrOsKEbRhS9b4Y1b4d
ZUqQCf0XcK+2Po1aD6lmH6L8CqWv3/mBwD7PTKvIxg6JN38tceReLUuj8hqGyIHLbvZ17HLWesNk
5kVI1EGpAm+zmhzvaB5iC7FSWYgvtIX8AqmQBXS4YGRRvaHHrH7n2/myjy31hFwjjbZ7bjiet/vQ
Vmn7fruLfZ4atEbClUPY0Q+Bd0b30/G8k8qJMADbdfH3kXZwzi2+1suhKn7SqJ5ggcNMIRs2cJZt
tdhwzCJjLTs94o/bt7etUFWXbAz4Yz9RJwLHhwUHosfnmYg8rYnQkShnzzSn+ZvXzYcrTPWuAo6b
ljoxXYpAuWZXYPJ5G906p7Lv19Eauh4Lhs/1FZQEBu4whcYTPvaMrF0iCr/hZl80QA9VfBYELgXp
qRc9on5mtY5jWTfBvhzLejt8t2n9WvZ8EYcdradtKzbXdr8XLa6mVKfikHneovHpYOTo8pqQFjx4
DnbM6wNHqcZsB2AjyWvG0VwrLT269I+og9UKp43CaMwgX5hwVbpU7RaDc5COANTdio4vi4ShyBo0
RvUAsVKMsqz1XsrriKes84ZN3sRADPyDfUwhvDmVwt8eo1PPUJhGUTpodWY6C2KPaqUhmXnz9918
BQfZlpidd0IhM7VjO5VsqjUNEHG8oUkug3+S2MeKV0LUPQs9KgtK6Hc1PPCIpDcQjJ+Q5xsPL7zk
OiSfL1L0CdWo9wnWFlwgX44Uc0VCuSdVJUMyGXwrnr0vHrKj4azFaruYCWg7DDCCkVFNsoagztyv
5BfmWzFlIO7Uce7oW8a8u0hUHaVGQXNtn4XWDicYs/ttPh59H+6ad7DI/6wS0Pfwiwi82Exz4fOZ
p6tFuBLWCDFEZPQFURSRH5f5n/fFU94LRmAGADKPJootLLOxhFqczowUwhmSNqQ0Ve1jkdnTWUiS
Zt3k2o7loZ9t/kdgoJYUPAfEbAg+Wi/G/vdyUVupxfJy+xThGcqVHqEMXqsIVWV6anXB9o6GiLVz
N5KhqyfU5sOyUZsq3rx5KEKus77NyI95TRZNtafwRDup6mLh5XFrA4sr8EOGhpI8sPlwsXFVsC5r
k7t9MJpG2r3m8fGFk59BjUwZqddC1vPRx1nDiLx9wjeHQJkQWplyL8nJqPDScsZ/QvoUkFKNYrM4
gg885Rgr1PBx4fDTbbGshVq7rJU1xeB81MBFzUicO4PwrdCWy5vRAqTVcPUFl3nxVHc/oXmAfDyw
KaD7bZwGgJsfiw78LoRqTAn5kblSyN0JJUzViHaXlUCkcFm0LmvMSDxNJA7OTmNZUo2KZl8vU8UN
B1I/wvmrLYGwGkcAp9CCsL5QBvVmx1BJ/VuHHk80GGGWRemufdRFuFha+KM1odn1FiXya2zaIBrr
VqaEeU+788XKb6vuDkLyBqN3YQxck3XvBCP7c/07s8Y2HMhuTQeMtmi5/69aV83by+Lp1Zx+kxnt
o0efwUDd+/G4SUh6IaPRlRRbbFbly/lqAUulSvUFhSbdG+gs8BKaPVaYtMHdaZVr1+749HTYnfeg
tGFAtMPyruh5shiXVG16yfEIZ9NSSAGfdyrCrqq2X9uXgNe09kHqokU7UBoJaSIn/03H5ycjEM2l
WioitaNYslZV0tpCApvZU5b9uH6Zvwn14IagMweVh8RSYMXSUa3UPSuhoSBEBwFxjk1d/oy4BneM
JY1J5DsdfV2Wk3obIhRBwiFG7wGKia08kd0GTUw2pYcHUpZTHwsld6VwEcEaVCMyehroqBkv5EFz
uUR9jbEbmjTplYSWkju5Z6VpHSqId9161vSw1JOmXaIjrKamGVyCNKS1N7fX7S1xzTVqh1rOm5ZH
lcPYnn4FVuxo9LQdfkVTV6Fajg696BAwI9iCrj8mnhq4psPJMNGiHx/S+v52dOIR6iQFVBp1N32O
cV4kxj6EZeWyZaMGiipUTRE6Uq2o0ROK1egEXgbQxnIaCwBZzPCdFDaiIOHBw2dsVGHeyw3ijeqp
lREmtoUQsNg5yzSm2KU7L8CWRiNgXDGMFGuLCIftSW79vDgyGL0ypO79jwm8r3bwi5TAw6mNLrmm
UfSuLa9YxC+NAHk8SLEYveZsKexstaSnT6x0sr7NQ5MXG/UW5GpH+5SbFOFLCe1Ff0LBjWB2UWlk
aOsbiDEsduGLhfMsmiJmq2xhIO8ft6U2kW7aBeo1ZMnjy/zxdN5eRJgzOijArHzZBG4YUmsTkrVQ
9MnqRRX64oIUe+b1YKII6+30cbRA7MkDG/HVUtXgvB417UTcNVkCfXk7yItaofa0WC5frtL4GYqk
82ZrsBSOzsaHkjOhVgC3qkzGawIYLaL/eHhfCMyCiveHRQtcxa6w45CFwgZmUgQwgCetShJSIUCH
1ePjyIMoVnS0xPYeGl/Kzj3ggT2LZlN0nJAmxuMq3NKgSrHDTDUV2gwLSqoj9X4ICWWLGU9nP+0d
guSp6k+AfdCZST2tGfKZJbFqKKtN9tXlD4X4n4sboOTSRBrK1TCouqWlb/2wsiBSMjFQF0fQ8cpk
mVohNftQyNrkbaahEsY7bW7sjxeFtclSuD5vjJM1/lcREV+aufAc/O0tLCNhImiBHzFcrVMht3FA
kPghyrmMQWz/+B9O+79thSIvpOCtDxCwWHYHtqQkyXE54Glw2klH/WmluIVzWhfp6u9SMgSxGFKp
5vixDgEbh1LEf5qyHE9mCdE58b63STUstdhFA8Xm5dWZtW7Gix5tS3MxAc7n8z0HGHzMjhb2uDGm
e+BDqvRTcgTBBbTGsyzyCtZOMkO7Ug6XwspbwR7GDS9G2vofZo3tpGg3bRvQUfRmRbe2yIAeIi1n
jRDsuOU/H64S9emevnHIkMA4ruUeoVMANDAVKmgGmv3qM5Ss9fadPcP7OChDAiMUYqdhiy8Pjbf8
yEXA+Mk9iyaCJXUj3Zsu76oE1uT25GzkelulPBf7a2azKMGP70tzpR4bU67sIqFQ122IQIRejr9u
mJgeG5OVLphaBfC6UQ8tpZ42UY/HAMgdPbNRNB43gwAKJ9v06CioFwqV8BjdNZM7FpuUNhMOY3Jt
jOPgh8ctVAAJn4WRhIEK2InF5W1RHtg3EqRBW1C1QnMWqSC/K4EzSu1MhMg6kgjWhtRDPmPK4jF2
0pApal1HMNhCFc5fqA+WaEuNYmMjK7SG1AzfNIpW3Y583UvliSau7iVq+sXEDxYrbwNnYMcJw8TW
VRIbNdK7CZn9co9BOnSPZwWSTVFaZwVmEgBPadoiYzD/h7PEJftWFTF7CRjv0Yu0Y4vUnZhq0zyo
5VDlLmW7216lWH6Tpf37HEB6Oleho4bkt/o8ROBxLqsjBLrUYCNLIa/w/1oKcKFeqQeiAmpSzrl1
pjSPtMTfAm/Toj6/xmNFvQB0z2wfE4KPX10QE+qDhHgjdbC9R7sIga+2gKY6lXPRG12pAId0ehI7
O9HPPbwlddhbN7tUj1NWKIWrMcCEfHuaLSTcDQ05HINKCsbYoiQXkfMmNUNCziSU1PGRSjFAmQ4M
wQ3dZqO4Q8ZoRZ0FEXg+uwo/DZAvC1CFyKJYft5qOpFPo9aavkX/XWj1NVFt0OEAxPIvS7Mw9KRp
uz7V6MeRriv4ORvVNaUKbqUmqYK7I5GXCan48wnF24GWJUVPaU/5Zmn789vhtMVzOKw0kMO8U6lx
6v866PL473w2DINjs1Zl8aOoWsnZJQTrU6nl2WNGsO2KOJVCNyuHn6+2s9KllHNIamSxD/uPP59/
szxoGhkvzc+mXY9bvbILxYpg9JC/iMFuSx0zupDtSKJaQxpdvVhMXz3VxNgmtKRb6FnsRKgmmioM
c/gCAsUnrldOaG1M1ls573jqzyn0OR1LwKgM1VAfyE7rTNpUvehzJVB962diCLtpaMOhMCWhgO7+
8yIttkKlCh7Dm7pQElRtdRIgyjTayFHfZC3s5xUT6nSXpTEaRvLJE4hG05Ta0RRnM61gDWzfWd+v
6SvFf8L5WsrAqQoXek4A5sgNIQjZKeH9W4qO8Yv9zzUaIRefXEl9E2qP2FM0uo892GdbHH9ag7C4
ERANsWJmMVq2R7mxuVJZxV1XdMNXdGpcJDbtv6Hwg9RA/8u10YYE4wMT+z4mVXTSSDvQDilUmspS
sOi8SqlwDLEdE6jRSoUwWzbgdIVYPnVFjOLmlAgdZTHyX0MpPukk/73aSV6VMDbJbRabaSidzcJT
5VkWRvJZNSXilrsFAWqoyr1ygJGgq5VjJDfVkcepZJbFgLAljnFu3w47KdOAycIVPHQpV+Tnvp5f
ls+um9vWpn1u79f5vj+HoRACwWWZsP6xfdvl5Umo7c6wj6g5xYr5MMbgQSx2qBeue6Gt3d05X79I
rYlGjIfqY1FBhCxHbxygy4KQouWkwXhLCNzzswNGOO9KzIJlTVKnSnK/FZwiU5oQxgJ7xRYXejJM
76EsUyO0Z1NDIfJXmCxuhdYaLBudyTN0tTaF0KV08ePEAm9aaq5My/XMtdQq4rFQnZclVQ/9jDCl
RQykU0pVgmNXStemdIuU/GgbklxDE6g2nuV2X6qdQTVOMaYxy9HOA0Z7ukhpKNXT8NDKsU7CtM+e
zgrvRnq7LmwlXGoWNSuBj+w7C3G3LGbGDyuv24p4jrVrlJRPbXZoQnByhcQ+ra9qKqLDCKJDl1rT
p+Z7weKUwc+Zp+GjwKAsaoXci/mcPXDorXq+v9d6Yy30psjI6qj/qO0Nf6rXh9Fqzy7znhdr9nKr
lN9pHJ9yaa2pCD29riqjK/XZvy2emt2Fn3Li/0mwEQyd3dmbzJ5NtGcLwOXY10gfGg0vjy2QQkdE
XolOWZtxGlcPnL0iEEfNfO8nl/WMoF1GioA1ZYtSixYlDW30SWHG0n+hkTdOuIEuQY0cMM3YzOz3
RVStaQ020dbKJu8WZJ8snG7FADfVT6U2RoBMBQXTTJsnIf2GyWYCINFjskwLVr8uUUzWdYsMA0hj
GaT+W7QnfIhIwXSUGB6EfrIyo6osYuMNMH+/Px/e5t/6SXen7ak+gJaGuH0UqpB/FQr0NOlq9DDS
ssqjphtLqbSs6nx72T4ddpvKiAjE7lCKoKR+swKGdcLtXbuI2I2NMayWeQEMmuQBN6X0FagLLziE
wADlqc6g2rCFhBeuqk1+6Gi4MlSG+5LHv1ns7MmFLvPRUULBdldq0YyCli8n25jWQYnqEcyh0CfP
U02QzKh354/nPdC23Bsr4w71YMGhxaF0WjDndKl+1b7Bcthv2wukI4QJKGYsTdpy+aOQEfNTqKxA
FCxd1FcF0rq6DJGXgteJniHy3Khyw125696ilCl0ZExJ/ZgluX28S2OCFJ1UOtIU9X4hwO3lIk04
aodS0yaEC06j5r/NT9vLcqKvUqIu6wPm9mNP8+1ygItZ1oUSt9ftFXeJE+ygpqPiIzyY676SmkgG
lS9KfJ3VKGmPoQrVnBYB6PJmM9RxSFNixxIe8f8ACfJWq/Wj2Y6Rc4BPd3EqDgWEhTbDh6PLsb2A
R/I6f9++nOsNFvTUEfH82GLrDB5JtVno2FM538VZpG1njBIam2Tj2Ij/Kk7JNploMgbjM4ItWEdx
Zegrw3aHJTAlwLpVitkQunkkM9Y9DwRpIQQZNEHdBfVlPfuLjJhY9FRm9ascnQPZiNXYnLaU27B2
QK3phsIAYPvHAVfzb97m2xZMvrk6oYaqtR61CLTF79RSr7l6uBVHjidJOQupzzb18gKgOLGOG+gr
cIyi4IhWYQRijWrpmDr/rbMUf7o//XS7iJ1W1ZDVtjd8E2iBAdsSXguF3n5czvKH7eEo2AcNLQ/U
U6lx8SEgrfZCmh/nSWxWUPVZn1XBnaCxd+9l/8/99AW8EcGXbUpz6KvRNwHwP1Bx1Km1I2LE2OtA
VN6gKjNKXiQk1pBNC3hAIKYWj4Jr0ZdwcUwEPZRvCCF0XfZ3Ax2FOhLXtOF+gv+WujagxjiA+GnK
mO+Adj6JAPRmLA2F5BwQ/uazNsCDKZdGS+mrqXxPfChTUN0TTQ2GUODrYf9+CFOfV0TzUeKrtRH5
dhxYFSz22BwoTszkcTeQBNbpXIF8WIz8rC8Eaoq9aKydoFpQJb9Nn3QNLacH7IXgcBXVtn+X6F+I
SPBGUXO+JZYRpEs9sMWy2277LikanXezLA6J/GwsyCicGtdoOLvVfufj+VLxS3Vx5ndqaZmjzoTn
4mZBR7L5kDCO41AyjB7Cma0UzjTUeO4RdN+WL4rVVXQ4WdcSYvvMYO5mzHzKrsA/wj3Q/hXdUKD6
zYtIa1mnzTBBxsaaaH/DaB8J5hlGNEKr8zYX4Vu5I0fTZHVDWWvD+8nWc1rE8f3Jen5Chld1pfe1
EUYb5oHhwEDzQoDRFFyJlGWJllLF6sWaCGA3/lBi226xydZI8eUPjQuAAm1leWwaGLqJCDUOhnYH
9to3gyaJrZoV8pzaFqZuobaGAY+VvPwKCl/jAcUJRv/TP/7443ahye9uOok0ZEEPXWbv+0a3yWHY
bRf1vV+Unu0OLOA8KJumgXMRsfrzuTrtc6QIBqVGDCqKBUexdVtlDkVvSoNsDyeb5/jTbX77jRvW
BRM2TiHOcb4cbCdl3qjLWi5Oj9BzbwhLZe7ldHQKlCG0qi1SrA78a8gEhX5kc5YrktN4b1MqOSgM
XKzNSWmy/l60t3mYIrOmI9ZiPWRX1hTThZ9ryTCggeFRAJZtCNFo6GhqNauteFtbWEGpPy7zvw4B
en9DCgLStv1dHEc3LDw5SsUMLcnqoA4/rpmqDHQ1hhZdBozQii7bK30c2qvc65UnS7ynNLspNUgT
IoINHUI60QkC0HxDqKFmh4bHYd9W7b9ezqfDL9t6AZQxOJcK3Tx9pMc1mH+bL0KLhNHQFJafy+TE
DwxBvV8Ogt0wlXon3bZPh9N+/u4VhWBWUgyeR10XpmcLVbKmZN0C0GRRfn/zWrSm+8aWGsnKFMqI
nE8jSHKak/YOWazigdnHKS3BV4MXnfFMFAWOpwNC0Hwbqd8LHcrYZvGR7X4PlrSUwB1KIemYIHcD
RqrwGoUMBajp9QWzTOm4hY9blX9dzr2ToEeaBuzHzPH69jo7WVRrd2C0LszEWN3s4OuL1OnAlGre
ygfX0qgWHI2z2x2of7XoiPMF4uguASNAj4vyEexkN7BYrLrpiPVZmPMJcbP6zJipNMkajTy7X6we
/a3ki+hhyFJxDcVfLsb+++I+1AarD7RXjidyV8YJBZ2hRbh1pSUPBGk20z/McyaT4TjRggSlSVmw
t63roo0ro3ixorMaQb0uFNwL8SzajMrDrUIz22o3DVMu1fKBpMoMzEbRAG2X6DV4cjB5FxrlbRY3
9rJuaB6C6xk0syXDuVgD+OntXZCQtGyn2FXHCGAtUx5We/24Ls4KDHe4W81UOY021Bz1vQgxF7km
MMezNH8GRwc0gbmgquP54vr95F34BYuP6ks9cYpunVZTpV7+z64b9+bdD4ha2zpqJCNWUXjGkyfE
xp259g958mXWX6nF8w9f58vhJsfvjGmzLLKnBEhBpIATeOlio0uF51CMsYCiBPusFzJNlK5Q7KLY
pHvFsGkcnevT7DmUrEvol+P27T1NmeeDSdRP9B5J1EaLC5zuz7eol6ANRina/8FXLJKZYcftReqg
NFItO+BpHNu9mMwzTZ8ZmFMWyloUm+Wdk2/SIcSvqAdjeoLuwa1BBRB8Vwr4wadS6F+bsQSK8PMp
vs4WM3c6fqyYF9ZkdQChNsHGhmJAQSoLXNyXoZSGQKamiNPp6awkG+F3M/zC/CzwHuBbwEPTvy8u
DGzVQnJ4APE4RgO2sARjGbpFTFwEYhIWG+kGO+z2bkvQGWPzfNx+WZjhylh3sIiTrBZs6frJ+qe+
unQeJHkT1NJtjQvJwnpdXM9WUgzdivWUtF4b17MROd9F4WJtcn/Il8thLy3QxAUU/EcE1i9bwus8
SYsYtEif6jEfFtlKi+i4yBhqkODVIkQuktN1dzm8Q+sE8Lu4iAXgDKZ04SrF1H2h/XUxAsIqF3GZ
IS5jw6kTwjfOvq39qmXGtBuYCDy6M/qELHwDWTYLUdxsj++vRZHYAQDXkSYg5oAMBtR5L06IYZuA
wBo+igtruFAKyvTBHizGjEHxdqgpK6zw0AoBVjjeoR59x+/Ca3m3hl3PW55uDaQEQcT6bkz8ag26
l86n0V1y6PvB0dBigcB/N40q+R3uatCm7Is7umkazX/RosuMyNPlCw9X4j5DN9g4keDLKJ/9Jvui
c2TpyftGwHg2a7D8yf+o4b9JzArSzVfrMnfhPklSUEEC3ZvBTdPx3yRJp1xQs/ffDPw3icvaDkDl
vXTr7huN9mYlvu9j0zQt/02SmoAkUF7U2GTfVaIM+FqnXZoEFZX2qBPb23Lr0VQfSSexBUJDj17D
QqA1iArxzZJgh2y+jW4GM8V/bIp6z75VSEHZGCeo0Egk5qn0i+6bLn4DuS8t0ZX7QqUvVDTqmJt0
X+j0hY5BkmVbW/6TlmzLAnOcr+WNLGiPcfRXwiABYCHfsRXuxMSKOOl8A7oR1JtIOqD3BcJuW1M/
oMd82U+maFYDcfFHGdKvgOzw1OXjF5Lcge/bnjxD10gE7b4weJNTX727VtGXVpLEcV90hJri+/CX
3SJq6mA8hiQ63CeUmoznKhSyxOTE38egyTohjS799GAoIU/VGxlaciNRzgGkF6ogJDECS5iJ/Ghv
0qWy1OU1cNyoN7+jJq/r3mTaWABQ5xU49AV0W7Y+U3XvI9rH4DkfYkAulx++37hEGH8FI1lm8ruB
vshVTukaIgJ8yqtR/KP1DSF8DyEQWWWgYnSsc+NECN+ntvf3t/cfrj8nBcFrUJ00qCWyqavaAzrZ
A1Y12QiMuwl+l91Adhl+RPEM3fVUrqm2LgNGKjU8Hyr+SXsqmaL+H/ltafIbbfhi4r+gvO4RA41q
+C/a4q4UL0+6KRNBrWSguU+owm7Di/C02VEV6GGxjeJ/o0+XBR1dtAo807KGtPupkf6UpzCAS1X5
tEeU08fCI+nCB8Snbcz7SOK4pwpq0FXC6UfyG+1UJZx+Il9MuvqmPeKyNAxFetNB0ZOrqurqM0UU
L4tn/j5xANgOjdddi/l7sZ3Bd6IR60RO8o6g7FZ518rP3nWK5HFES12v9OTGxrFutg5EhQRzS9SB
XXILU6dn0f/s6ReiUdahZgjwBbaYWv6LkXxhBYBTqderD15899UFrHWgOiLVfT7PdbhwbddYFAl8
31B17DNvPphzmd+PDNjBfZyEixnSxIYQ/oVsEI85cUtQ3YlCQSmi7hHcfoQCfxcmyRCdUmVx3Hec
ZsOU2tk1hqkjOq+Ls6BsZ8NlM3s3pPppu/CMYLQ1iKhBaHvDwyO2Yy8vn/D3PMTviqpVn+CyXa83
V1vPBsEpe2F2QrTPLtqpXtz+wpD1oN9MwrLagQipn2qUD5ARugp3j41/1H2GVhK6Hd8+juI7Npim
XSjMR7C+B0Qfzw+a0IAZC63hKyxh0s+bBICNITjhtxH9NfG3H+ivOnDePXmPFHdsieyy0m4amfO5
hcytOw2KPehUCW7Rm1ciIdgV9ERYwhsdLpF9vhxCVY+b0QOd5dh6Qve8SXxb3ec5w1+OkDB0m6E2
qSfcCI1ygutauxSVVrF+roe6OOa0DPAyn2yav4bUdA81UO+9yJu37YvAjRMinJaO7Vgjw5Ui1pZu
fEVylvlgk1BOIlDDJQCJXFt7i5NfuZswDi6GAUybRq3npXOVg2mkX3qIlqKmFp9cKl2xdcJ9mhlz
ZAzy85023EqZA9tgjRk7sct6M10RGGYqpC5t++mqhBuJ0vVy1lLtokE2b7YNgmwyNNQl9r1OMgBa
qtZLipiXmNi1nJLAhoq41AC2QjeaOByRCbwJtBHiqwoZxHjgy9rfHjV1Qn3G5LqzBHZ4XrTf6f72
NAsKNUzsAImiY2THWUDvlzO06ZeFUmi1mAUeHtTH/H0L1db8Oi01CVXiP4/6cTAdXkLrtJMueb/b
yyXwSuUpRyqk+7z84+v2ctiebjUp3dA77fqiCeWoo2pBUfccp8ITcsPy3wVCjoI+TaQCNk9o/Q68
u9sed95cFag1cYuNTvnbebqDzbVHeAVeVo9EX6jGZLyihV9HVOaqHNWDKAToycYK2LugiakX5o/h
7qF6BRO5glCT4+Y8eOzv82X7Aui7w95xIYAVXjbXy054nRZlWloY1oVPB5UcPB7Qnasj2hS16gsc
GKwNgYNM4gCTRq2jAqgK5SMGHJ1XFOTpJgZr4z8hJKD1gQsHA4u0wWgQaGjY/xdZ1Y+K8Tpf8wsN
aSEIrXUkV+7agMVFrcvMrQQxab/S4Cq1sy3Z6RUOKMcfTUGjvdLRuB1N7I4MuqR+SE0W09eh/hf+
xkYQuE31OgFnRtePp3jfoek3f+FKo2tC4IR8JSsEN4wUdAuhe4IoUt+JWwoQSn5BTFOoMh5dl/3T
5b4QlA0YcncFM/XCxhBI8vHaoSMgS1IKOjdG4gRI7yTsaOR3hIgcj2en6/DbaNCTjT4pKByoY1ca
0ErYuAHatkM8oHz8fIK6BESb7Ju1Cm2t87gZujU8FFG87aErb67MwLwgaNAh8SRYjoFbXqRMn3l/
XqR0TXmd2rXLDZXdAzSZ1HugDTs3JRjP7LRP9wD4uGPaZmiknhpwsrvBwqUvkUN2WknH6LYmYKDP
Bf+Aiyzv0YkyZ8ItAbpY2oVCl4LbjJdpYOBpAG8FBbU4JhZ0AZImbmxvfqg6xgwWGtEFk7Ym6YIh
1BYaKVqfUCLzMV2VdgWXObukQYryQp+U4DwB9JikAUgwVOQTv6vB5KZKJ8qVjjcMsBhGdnOuOjmc
sCPMpkxQ3HZGfjvoYA7lXhC8NW5tVG5XCNpbNTyfTGVdyR1r4I+FhRGqQpPJm+e7CV24C+2XLacw
X9zW8d8kS6wqnLx8E7aERWRTWoIyCm80DSoXtr2gfIUdTTXHINKS4BTo6s0UXk5QA2i90e1M8lYE
Iu9rKglqOOz5nlzvhv38vPzNnhd1iPcgC90PgnqZeLYZayLFazrB2kG35KLIso8h6ExVM0reFzfz
UPcyTU5Mw4Nx4zuZ+toeYV6MI3Psbqa5nswJeRtT4Wczgm0i+JkPSyD5/Ujfq8xxg7gPUBCDXiGi
hIdEihi32ihTJ+93dFhOAfy7Ke4rpKME0TAJpnRBPQjmJeJlFy7txD0JZIp5D42BXPGSKyx8M5Yl
c/nE79sTtHyTTm7SyaHoKgCzH2SFEGzBHK5KhBZOef3gKrydgdaV5VbtdDyFmCGLujC0xvcucqSP
ffY+1afIOoj3bieVr5cbWbSvDn/1Xc0MwSE8gZPQOgBgHWRzll9JD9UgALFCeJnYY5NIpXIGZk+s
GblQQVe2abnT9fxK6OFcOqSXo3hCPMnUIhzWWec60jh7AVv9TUJG8w4NbxYNfX5HQ1kO8J6Mxhq6
SwWyZQXB30yn84fXwjr8kTpTM2OJC8pvaBxqoR9hRoFbQeeWXemxqwPR3UtVA5F2LWkzKgvt9FwI
cTmWHeEhhA36tuZTe9tHEIZddp6H7fgleJNiGmrBdU+8gtxqynqbIRae6saxZnZRAchHiQZdZW8q
bARZip4cABmjGI3hXbqxr0ktzJv8Op0qhxezdbxwdiMlubXaT8d1+H0NbR5I6WLNNC2Wtg02bNum
l8UJ9vNA+KrpDs3whNxUl0a5AzhuuwiQq2tjaWs5IZE+7/m1GlQSOkWwCLRqcZAc2BH/vUIoVBww
SivAiPHddvc6+6J/fq1UUdmlNrS+Gjw2y6hcTjMQWGzA0VjYodvP7dvZuii3LbQ+49dJBaFQ/oU7
HhZQxHbqBVejGiZ1w1qoa1m6owAO4K8GnQqHnXyTu/3G35JbbuHBZ+gaStGR7PJqTMtry5lGpX7W
K9fQGlGCQ2+G+TIvxQu73t9h6IjmtzUl+DHMqNJxQduKF84MzUGur/N8E54y1Rd5WESDKatGUB2p
81V6oP3S7ImuMJXlJ8srf9haZKtwpp4sl78jTEgO78gn4Ts0Sw74BQDdXU5XrlOiLf+6Xw61IVGO
0NKVGxuvMVO69MiCAgKsQ8N9nFABppY3Br1InegSdpYW7azN2/UJcRq75/nmxDDvadnueSsdFXH4
gIffBSkK6ImNXfgmikBavja2+TpWENdXaQjUXk+P187D5jrU6sTV1SOVWpYRSSIKYgHxH4CVh2kV
SyuBNJKkcVWpusRN+/nroqjX8VNLZOtk+DMLB0UaFUI4k+F1jyPe+bvtP3q4VaRi05O+AohmT+dM
tPp2fxywqkPDFt1/TSnKkjjLxyxjpMTu7jtPdUkz2YQNVv90bxadZ1tx2cEEX23CdnkbYZv4Uawl
1PeiAHCsKp8cCTurrroHU8UB/5Z/DMsKi6FjW9vaDOkanakofJsouNcANx8etEnovY/6ewkkghtJ
oESC/ArCBjskj4YEt5Y1VmgRyTNah7RoLIDjXhSGM4R34Hp3aNR0A2NQ9hc7r30V506aEHA3PbK/
b1d73Vik6nG+zccPGFBnZ2MICzfI/gOBnHSY7xe41jIyTdkyymxkaAAsvKtKD9ChvAVSNMu9ffMr
usEYouWfRIlzClvxQeHvrtA98Un0CHSTPWo4LVT++LmisX6nYkqE/vNuNYgJ+4YO/25+a9veLrpG
bX76PXzrZzbfLudN022KAHkoHPA0A8VtgIP03QZ857wrQPc3aihPdYUlfCsLWCI1loXulFcImzTt
5pn92teSuiB8bB0Ten3EjOggLTGhM6Qepq5yCfxUcQdesxvv9nlHF3oEuO0b4fAT+hgKKB5Pb4Tf
7tHW+1g4hB9PSz+uyN15oKFrFR+kr/jzvq+C8d6zDyujowvXbhpNfj0Am/3RAQkl392Qtt+ZWNuA
fl0LW/fGU6A61TzsvZVubqJfq9K4cP7rlnw99YTgrDUo732cyM358h0/RdnuXSnp647Qqy/ZQQfv
pUdTGb2qB3qVfrsfCKsFwAf6Wjp3j5glVV9RUaMbSdRo8vO+Y0Es3HiXZZ0vdLdfmwYGxTdlYdNL
LIPOMMY2PJhjJ4lyEMNNse1PvIHQ6lJk2tEQmRFmr6cZ3DL19GT//fDwtSgrB/KCnvaCxHm2zV8t
AQk8r8nm0xCq1xX0Mzbo+aekrBDtd/xvmyZ93o0pEwp94he7bxMGuSy3zxPRgLivjZ3z0Q6k0089
Yd0xelb2S+hgKXLflA7Qmlhjk8n7TiLeJLhgfkCn+jIHiIskGnCRRcUQsUhILeVkpPjcZBdZ8aVH
8Jij/wpNzGAwxmKjyVSY3sHa3WZMdtSf1PiXZEFtT7tXWynoevbC0InL33/+s//735/2bJyzS66R
SWOh8aLLUn85n2b/jz8e9nu+XWGYHxECNL4nn7uqsND96a9oQM7xdnGe73e2hWHo8RkDu34Ao13x
zz//HS3I7wv5HDqN/eXuzq666rxdR64vtOYUzht6v1bPjJyZ1Nb6Jbzs/ekvzEARd15DPD/vCMV9
uRV+b7vFf2pPhu6pLRFLuruf7DQffosDSYngqnq/2OkMjH5/Z9foG3L9ynSlc8IrrCW1FPzRqQFw
tiB+z8vtWF90IgEvj2Rl703i1zYjuFZ82FUnbkksNCfhMFr7dmFXGBsS8x/bKhOsujRNMwmj9LSr
Kbgji3qzYoUckGm564l4MV3pgZNArgkVTZjX58TjyanIW3ud/UQfaagtuvZK+4EI5xbx8Xr53NPU
XepxzOmhynsgihxjo8uwJ8rE/J4QY0zUhC49amVHhiw26ZpcWU3RA5XJfa4bZT2RNCv4mk2V1taI
lH4kQtQbFS+fuPu2pYmeVubT1a8wUWtnKp02yJRVXNWT22/V2n3WRMBICHiq0J5o4Sly5qEtnTlq
jFWHpkI0NE3NVcayFK8yFJXDXYFBRcLtKT/1Q42fVqnCkSArTCPr6Zot3FMh1FdEmqj2R6ISUvv2
quISSaMlpDE2BdEtv4KisJbRNxKNM5Fcz7Htbnd/u8P8w692HsnVtxSI/1oxmGyTemFKRgLy+ehh
GE3ugiowUQ1S0k8f/FoekQEaesSZs4QPSsOc9gc70pUZRmiX63zSxi5n1RdNY8KAmY3qNstVMoUI
sCeTFgFJrgm4IDSiAVQBk2iAZUK8QvuGf3Gy47y9/e7uplaXc4r289Y3jXMVe7HvQtiEryV0cKxw
VVd+M31aDWbHDoWL6asX08dFXDQnvlZAXqW3UuwybQjeajfFraXU82X++OndluoIp2nRafrUx+Xr
i28ht93vXT+mpw+mn4zbSHpo0EKGPrQb9mpdnqfZjnXlt4OIWCUIxNvhiC7Edu1IPUigpQnbMg92
1yI207iVyXy6Y65Q0gmbuAakGzRJ7Ll5TvGy9I7biwl5Eh1HHsSndy1z0H40z54NerfhgaYtFOK2
iIx5/mUW2CodKXSFdBsBllhDgB0SOvZgfh5nfJy/bN/mH077H8I///zxPv94uC7r7l75q0ZSEeAK
IV/sT/fjOU0Tw91XgLQ2t8ObcOQQ8fKSpI3kvj292JlOSUDOL3aS4IXB68A+uySW2ikGbiLvwBzj
tGIrPCbiniY2Go4UkS0kUIVKOwLtp/EQvznOgI7RwVSHwd7YpBFH2ni9z54m1naTtGyGL0xRFfi7
I1eWreWEZ1sVnukRbRJo6lkGEii3GagY78kAvbfz/vD8kaQMdImUhQxiBTesKpRze/wLup/Nt9dD
ojY7CchpeJFd2yZJDogMNdm5z+9ufuVnxIhKVwlxDj1wopFfpO0nskiCKuVMBbmlhasW5hK4KnG/
Dd8GwDtw+2X2miRQTLJtIJt/PLwxrR/cE6XTgt81xInaUXLDyJhF19WNt9YkzoDQoVG57owHf/9u
jz1/5xVxS/gszgWL+/q0ZZkMjHZMSbrj9nqN0vin+Wap77csqNNdWtrYFPmkdMjQxBa2KhBdOyZO
6dIoN88ndvDxP7bHMov4KdzC2oitHWK+rxGjLOITxXRpJCVVREnr71mtP2JDHxUAEsnXVO1pZJR3
aWI0sveuzt4TgLpODGMjJEb0eMoVTLZ2MiV7uGBBeg9GtGcnQhmdYSW7oE1VQ0yjdsw2FGaUOmLa
y2K9axBfdjFOtoZYnTwXibWjx609AxqeyT9HTynWsGv+Gf7ix/N+/ncWx+v4lZonHS/n/DMtW3V/
EtacCCVP7aNPlpb9f/65+Vngir4lRmhoqv1g9Vy/zN/+k2XRqUOmIaoCh3Hf2fvK7NUZRWimawpO
/eXlaQvdD+0D1P1xo5LBD2E5UxIgQ1WAIPFoHtwG/3yf2FVPHVBv8gRNsAgka47HdWVFo9NaDsqk
aKfiFHZZZy/pdGOqQZ7WA12AfV2RmBPaXB911sNSYI8cnV3s7iCakGwnbLf+SNg2hKoJQyxstULz
I2tsSI37F6qHfqarbGOdJKgN1SYZAuCMzB2RvMORyLeprxlIb5KBpMimfKWzCwIB4ovIDNYGNEj1
4SYNjOjZ/XZz/ck+5ny5SnyQhAeo+oYNMQi2xkjtyXYscLipcrihcTu6SJjwDU3IwdblQx6mG0jY
RLV6pcNhBJKgF5WQ5Zy1IIRkxkQRENtudJkpY4BWoAuDlJxvE6ZTR+QVZNXmnysp/ioxH1oJHlOP
LNsswtmGPmrSq50m4vhQBend7qnqdiPB0qYYX90VkJ5wpPqoWUlhktDBpjbq+FBTclZb/bxoKyn0
21APXE8Ml0+Cs9wTPT5NPH86gf9yFORO5p/Q4r0wTuQTRgYK+qsIcILCh3g2GILMnw8FlH3fPs0a
8YKcQMEOQNnRKLufmu6o/jsf4KTRvowQHNlXTSaTpCAgX5UgUZ3Ucp7misfTVKNF8/9vpXLeVSqk
IbETJDquN5g1uU4C0bim31fJDptPbI2UM8HS3UFtjc4kj4/m1JICPQmNyAr7t7vNTxILp7P1aVpl
WMuWPUPBoIWBPh+ZGR+OttKmLNeMpqJntUAH2VKiL/Tn4+YfXzf/KpiqfRKALtzt1tvPz/Pl4tth
XeTQFpYDgOufaDQKyPx2/kQ4KnGiVSNdluYMEsqFL3ywSxBTLfE6QiGUzRJd59vufrGVPOB5VPJC
PZEP1KiXOft+OwsPml5gUGmynWDltIKKRPE3RUK0j6lCIdYwUMIPhSIPxtKyGWixUO4E5kwldG3F
2n8g2a+HrSu6m5/uL5WHaBoSj/I1Cf6yqL/BrqFx1gj+oy3Yz1UrR08kuRCq0GyzPKBNZtCJMwLx
xSjUbCqITpeiWmFNKnQfXSqto2cZq2cZiSsYihTm4/PyKu92asJp91GzHVtFpFM/yBJTEnQoS6wS
kHCLs4OCA4hkCIQdqH+UKDjwlCPjyGrX+xtP0TgeqlI/z3IevBO4bCDuzcRH9CoyrmvStVvn0tdl
hZ6NIhV2+WEK2A07Fb5CPAh00aDyrCi0nZiFzLewCg3GDlrSbf/8fza3n1c42+iSuwdUCY33/Qcf
70PGoeuLZESlVAfgoFhYk2YU8eGO3ZvgsTU0sNZIaIMtjzYYWGs8D0wIZmWPI2mAiRtqkeqdcDRk
XLQpViLE0kgMraJ7p3RiMIS0YU3g5+3xaFuQQEqyDogyxFqfSj50VSIjKJINWUzUDgL18HuXnviB
ZXCDsB8AblubB5ZyJgiPpJjDVSUGSogCX6q2QiW1JAFiUYhDZgr9hKKrdq35ctilnruCP4G8pD7V
VdhRmceYaV2RAG41wU4NvYj/kMA8LdHTE5uz9CnLFzln2RNbu1UMxw8CwyPZCMbsMMi6NjgEtqPB
9uLun1W2SJq48QlZDMQ3HmR7HDsbeyJpxyz4t3k7n0gkShzJ5hbECRabOetLarOK7NM9cZ6DqHwE
GYSrW4M0MDT3o/gMnK34/lnKNHQNDe77GM/b+ZfD8bh1gFaS3oaMLYt0Rg0zcHthukSgDmEd1FWh
YLP4dQ4naDRuR7stq2l+NdQhCzeSlFYT9taWu2XQ1ZYlzg6QvVjV0mqo/w7gEtsOo4rnzIMVjGls
l8Oig8+IAEYikUTId5Mkpj3/dXO5Q6dhgfIG4jWONFwS3rUeOUUITOtPtGZl6FgwSpAXaqXvJEaF
jn/efP3H5vVfVxiXaVkQTroEfG6qqhChRZMfkPuBQR6sEAHILXX1P5nQjMM9V0D62paEsUNXrs9D
oAwCMEyPZoNP/1bRKChqSYZhPKosIb6B9MFUCNO6d6tmz5Ck7VBjRD6sp4RjdQRem0A22aFGQQ9j
h1klaIOLfyOtJjiSKAigkdPtTxQAjz6iTpC7gpJTVMlN3IMJqR+UTOlSuW0WZcZZvBWOfIu0L9Ej
Mv7lX/meP07UJKqwArGlZA4VJZ8oIBgMDa4qnZu13gUg/oDAzgihZE1b08eo/9P5fJy3p5XJg4FE
HMZJdIcdIPNpMUi3l8v2Iwyw5JMxiqLNZSidEHzEobGWhGqKaGkpU6gIsw/TClL56+1VhDW1RCl1
JT9KVYWQoiHI1M+N8QdkPC2FXHsVHtSshSUnJ0qO0qJYjjf2ZI+nE4zQntSLpNIDLp4gcOdEIZ/e
OluUD6BVrpu3UHDAnkvTsGQTcV+PMGM7DxWmC0t6sUPa2rpSo1RV0wvRxFGUFDlLSsEpnE/VpcAk
2pEE0DSkwCBMLHJoSI9FyMFytilatTKgVTTeGcZihrMijBbrwCHJ8GAQPiY4eAmDYmaupWVq7Gh7
NWNunqGNn5xkQrQwwpTq1vdJWU707bJ9f7dBGmnooCNShF3POlgytSuVKIEiLzkG58EWDiH4UyU3
0GRYi77j6hfXhYtRHApcBsOEdi/nG5gr0DzY9QziA70mR3xxERHVCOYKRU4GrK7NOVoj9+K66oZu
hNWLQzRmMkCOe8K16RmUJ3D+ZF2WfhdkKYUhhsEkTP4qRU3ZXARW+mhoypsf4QKuKriR4cQLP8H5
bV/MKmK0Q4WdaBTj48sKQhaly11hn15ZCaT5OpPMNTWfxIwLr031ZhgHQWNU1QIqJEsgQdA+aryQ
2d9LDTEd2Lmhye7GMG8gpM0QKgPC4isyMVIOAJWsmOkBm5EvJ65kCNcHIMQig3ZuAJ4fcH5b3s02
w73M7qzZ4wpqbyJJo1asKhXqSxqEnXZjRwQFL8EEUGxgLDonKJTKuyRYKDVp3h+IyxCPwtDFxbOW
akxQ2aB1wDpd0DJgo71vL6KvhK7bIMjo+tojgTVHWnHlezb4Q55P+8MKjdphBxbSAjS5mVPEE5/5
Q24/TOb2Vc9MIZ2nklVVdIY6cnpFGp5Xzo2YhS1kA/mlplzXuCe4n3wbeBswobYbDqBwBUAIw0YG
4nJFYHzpN0LyENzMo6gU4EA9tnL7h2g0urBz7er7bKV+FN05qZiW5kb7poZ3kqoDG5LAHdPxLGsu
LHrYCcEVVP9ny9s9NCxT5smds+Xj5/sNOP8r00DeEf1IUDBULmYWmxUmgpzQBOukmo4p0BAShprW
QoTuj2VpLxATAjEOKX5LpLS1ammlHC+lW5KSS6MFSmUjUlHylNXCjJ8rpK5JapXBuC0bYipxsVDX
3GVxXv/w+7/Z/f/ZmkEhMue7hX7AToq/ZBPzLeoS64xBOMiy5m/vl+v5ElazS7mWFuxSMYMShno0
Yak//P53h+fnxRaBDS6XgFe93i/PWz+4Qv6BGN3xjeu9WIcf+M0RBSVhBttJV7bbDajJaZQIy2p/
X4gcL/UhL9T3tL22B33ZbUHH1b9drLJaKP2n22Ksbi+p18Q1PNJ3+ZG6NjUThmq9Nh38p/dz8d1d
ZOmH239Ulm5Si1QbBhha7hYu8z/vh8u8/8NiP94vTDgf7qMbSbdwn0lblvx5/k6W3Fcoqs+avnuc
AJz7t+e39/NpWcmpk5lQ6vZtsZtv932FoAxqqw7U0Bj8A6ev5+PX+cft8lrf8erOYPrPCrE2qIt0
m/Iijh2WJ/kJzPLs1RbXVWZXRAkwSCOxK4zM/lUPFlNKo7Ndh6lOXhb2b0dq/P67e4UalY3kMlpE
wI+Sa4WsaVEvf2iq1qcF/7i9X6+H7ek3xzshiutt/7v568FHjezsMXb1HgmaHq/+4/b65XMCttea
cEPX1EjMr+uorMK+EQbvRWJbZF+/4noO7g3pe9w2Euk+3K38cm3Wk7lpq2ri6P85VAt59SooCk2o
Y/WdQ+FQ7cYNkcXBJF0W/5NtrI1vxUcopOvo+o6SRyS1Py+O/699wG6gkwN8zBMu4A/H85loymf7
F5vz+3Z3uFVUXex8EtpCjvjtru/HRZHbdX/cvudc8tvFNDrNx58Wow1G58iXbNCttAlInekQv/a+
oj57fBtd7P0pS+J9zXBqkfkwJQBPURTvKvca82mhiagq0tQ6idPhaR0qtrvw1L8wUEGjAWhVVpWo
ETsutYVlf75fnu6LBbbLt3q92fFcPy8WcIVlO8yyU4pxLsv/zXWCwvv1zaF+6wZ2/RuMEJEtCY06
6nscRtz++TIfXk5/hQFFv0qBdp0i8qY1K+yUqPFvtmXGe0WDGjRPok3dKJjbtwtbf/EP9gjg8MlC
SKXHhcCQFu9mJRl2lOtaXk6uv2hEhTqV/YNitrCXnPrm218BB/Pz+Ye7hX5KSr9X1NgcmLWdnjiE
0Ay/VzQ7RhPV7NwCIoLhb1bQcex5Gdy1qNn+5soufrXKbxvivKWFC9Ks5giahmgJM5Z0Glh5FR+t
wwMYBmLebPeH7fGPHlKWnTogzVA3OVE/dJSq2l6kKoewco8lr9vQsUnjxIi0lZakGYlSTAL4j7/a
TsCua5ppJWtGYuvJOhLLxSEGytjnW6Mq+7alJsgk2OY1w0ArwqJmWvHwDolVe3lNFh671XIKEuWy
oGomaix0Mll5ZbmGYJHZNaS27ZJpvtZv1UjDtNgEsyJhe2EYeZEPso5Bc5JQP/EHGeuXc2L27/O1
FhQxmuwWRXSq8Zb/t+YJD3THan2wyLG2Xa4iNVvK1YzmXRl7QpOYYG5Bz7gS4Y7Bm0ijtgTh0BEn
u+t4fUs4r6J1e2r8yhbCZX7+zxor02gWjr3VbLubBVr8wxXryNYdmo3Y9jgCU3B3XPz8h/3/3K81
MYSWtbKya+vy97kWk8P+exND6Mua/3bNSet1uV5V2SKeTdgk9IXnNRdkKoWND7U4Axp/Z0jcBesJ
R1zXL2tcCOT44677RYPue82Mm4i3gwVMOR5Wc8zRyDPd04jHX5+fFwXzmbhrO1A3P60mapi15pZp
STCw71fpgg9V0wXUMEgWrGgr7mpWV0ddc86MXylNkQ2HZu/KTvTp/vbX3W37te5DN0SKJKr6/fF4
eL9+LiSRR5q1YGe5QFfF1mqISZTWk1W1bAt1hgrOlgnCfNYwji11wngLxE8/ni/vr4t+e/nIo4fv
82Vbj23hcaZdBIHWkxpYm8hPh8b3dYDD7Aoy+nPuIRopCM68oKwXof8fFVHa0NVweLIUvV9rZPY6
C832tSBJPfAVOwSOrj0AkqxCbGQFQ3Qo/2gNtkEJofuakOrpoML0PA8et6p53B1hUyL6X391dEFn
snmQLNLXFR5W11NnWJtWiBeuCMT3mobMP2PnpXRjJYbXk0HGI6ukVwa2W7QgdP5tGT53hph8/jHL
2hLf77p4I49GyXycv65J+SBhalLP5GVpUE2/Nkc1UkKdOPtuzeOjACjM4OtX2Q6XmumQceXEJcJt
fdafPSxGToh3TEy1ktjaH74erlXN1FDjRLWiFVm1wNFmYVJKK+Yhgs9kJbLMRni4tM73yaft30PL
uuP767aWvG+JfT4gBWWTGZ+5hjjxwsv5FLCSFMgncg89DSj0NVfil5oroYhQGVX57CuVcqcouOAz
6Jg1nhQCHdkoQtIshfxp1YUY6aj6RFcPKYv3Uv9DOdFraJB5wJH74/8i2du3mobu9acQBv9Zy3dT
HROau0mJs1q6CcfbDbZWKhbwGWRQzfjVJJc1tpwp9IlsepYfaJmky+eezUzEgkm5rB+K71QRipoC
YnQziIEvl8H6uSpsewRjgreaBBND10wMmhGsSMK1CIpOk9AH1YlvUAn5WaFlpixx0chuZWU10xP6
SXCicjillrXAvqnBIc7MzQ+7q6xnUCCWgg9E4+e5GjihICKUVGaD6ADrt/NeFhHgMiGVYHqWt0aq
quRYlIR2xaNsiUVkuprFXkONDDSuEKo7KqbL02Fb8/mngQRCAiJZYq7XNfH0rqGyrxO4yy76xVQ2
Og7En6a4SBFDZCG9FdgQigbp1KWjFlr8ZL64Q8EQG8DEZEdwyGv3bTDecKKWcjlugUKCFeOzI7ed
UtAPFk3N0MIhhhYHBkqc9gnd2hAUdmfWoIpm28FVDoUqApcZBs71ItmUivOlGQ9ZlpM1cY7110Cj
AkUOi2HGCp/RFMMwro9nXI/nqhOGEg5uFE27RpAthshpPtpsyxp3t22ygN7Yr6COugcZGyV6Ydmt
tZipC1mxm1si6af+01UBq+JgGZwWZcBZ6+dLW7N+OhKn6rv1pDOvwoMbpAaB/JuKSbTmKnqUtYfp
0SJmtGa9jBQPNTSffj6fqq88X0+eL+UZHstvqgkbhNAkMVa61Doj02R0VZVKtTBInGsa6iHGcU04
qGqpI7WkNCqpXIsRWwOLwQbyiCP1uTJZ7/wNNJmcpGfRwdjVXgulVO0l4HKIGmDlP2s2Nq1jaaWl
1zj/WKZTWOTvf5wXR/cv5/2nCKvtaQkEkiU8gsC3dYDCgp/O98tu5tfHCIWehlcIACaMmUUIGAH8
0pLY6EK69XD79pfD272qM5GzCRlmLSSBLzUkJ7L+IQ4kVsJYIAWBZMtcpWgGZxjqJTxVWuhoodxY
r3twSKXKqpo81jSIqesaLhrFfWjFZSHvV7Mde5qtUxRqy2Mpqri6jtK8WmkggaNaSTJQD3jq5B2v
ggkjn5JGMDio9d+rjlMGWGz7VSnqef8yQ+OOSlhBEeO5b4Wg9fdq0LqhccS25qGrmqZG5t+EwWh/
/JWg/Qz5Ma0kpmq+X1HfUaGA4u//9xH7tqdegpqGlXFq5z9VwtRpcStkR1O1r2r1zKiSG0JvaliB
tq6i/aidkgQBz60fNYjBSDO3KctSjl9WjZ+O2v3jVIue4KqkSviEFnmJ0a/gXZmad9VSslJGytj5
VX+plfG3nOJ7kIA1A83QKvtxlIRTTZGMFGGvdPOQ5UApDpnANdUcnVnJjtEnrXBkQ4LJw2rw+979
r4ssA7uthoSnDRe6thr+LNZPVozAhoaZzbAKwfkJ6w3VjCvwPFEp+sLFGC1k63VTP5PD6floa9IW
3ns93H6er2z3KefZ0JyRUv2a9E4t4IoiuIDEmQTwUE1Eoru24qfva/q3Ksh7GsVWY12QU3e2ItOp
4Y0iU0LRj2siFqqEK8j+hsYOJBzqpRbW6Gh3DewmsNKyhpsaqUGfYqNFNON/1tCMijrfw4ogJa3O
rCAoJibLVYhr+a6TldiW4SoTuVRRLTmAcn32Qtu2WnL8dQ2QFbk3CuKp2lSFcnDDP980QNFQXF/n
ukuN02iKv20rsZNfarETWu7UCyXntfSA0UwDjbKCWIPwNlnpTbsW2FyvPkdQMksTuh3lcEkAZvqI
SSVrOGapU/WprOEKbdnhGFJLo/RCa6RquAOFUCCKZD4JrlqVAW5pM5ROrCqo9oiinvoo1NC8h82v
qotGWWWDi8l+/vv8nONUav2cJqbOtmYIklZWFWHTEZmuUi+rB8e1Zq8jOCTE0ca6i/YJa6Ebab1X
coEYtMnqEgsUAlUjxVY8BIJXVwDQJPW0opjsV+sLjGYiapm5mI+aG0vRwtOKeGgMN1XilwNTF8RV
Wq6hi4mikLp+TTrn65piSITsVtb20YNZJS6zF6yIzozJB67v2Rr4OGp1AS7AsK62qZZ6yfpyjWwj
NdT8X0Yw9BQp2ko1kZ/oroIgzpYs9FhFxNRIgAJ5PgNe8CDRSv55Ivnnrqs1uNrXCjBbipo2Awc7
rYbHMESsZ4o6Po0RnjL08ShS6JrypaxCLjl5BRe61tPB0CLgbqzA7Kp6YBiZEtNHM2MNxFTT5VLM
5v8EZdhlBkffiI+T2UWVV6LVAV0r5O9WgSzUwPmOZZcm9aGU+Wei3TjTugUnF5XLVBzdlnVLOXPg
V/U3bKeWAff/8Dnb06A+Vfb/j2tjnKmNVMWRUlnweRX+1PXFq2C1aCEGauD1919VH9n3tCYLx945
TEOt+hp1TjEd7dMlxF6va1rTUk+sZavRatFElZnbei069rrC6zA09jx0K5m31ut0Ggn5ywG/1Q4C
jp4AUtjU2ffTVvyU4ZtXtJ1b1W8u3YgNNqYi74ceuDXdOND4Z3Lxy/02dK3fBi0WUlU8z4MkrISo
aPYIB2qYZNzspwQKAdCeQsb1KJuXb9UMvMlKxTGbreofW3G4MojHsK6nyeeuuh0HJmD5aOSsCvTo
rJq4Jh1qQWEcFyestRpCWYuMIwlho1S4S8Oae44Zu8o9U0RV3wkiYs1F9yj4Y93F1tT88X9fYaNi
GaxpB5haWUVNa2hi/U7Vlkr/UaspG2hKp/lc1HKNxd5mHYC7NWZONd6KhRuM7hSrTau58SwNo0XA
bi181NJCvd6sKTOuGUwdbQIjRClXSRgsdQfs1pcyWat92zEroNCrokV51r4SLhqoLdKJDWHWl2m0
KNgFyT3WUKj2ys8csxiCiQN0SR5ecEE68kipPqtgx69yGfusg5ypG/K/1FKiijBiZzhzu2ZdIdMi
70RT6JtVCwKhQmErddLV/VCw1GoFvXluR692XqsSHRmBbqgcF/ysER2C9lnHpWepN0xDlEk468Ix
rQCbVaGhE4mm9eP6CQ+1kAUenVFt2r0mpDZQsFQ/VdvuU1RGJULZEr5WSq3oaWWv/F5pwtWiwjiK
psmRQJAi9H+3wosybcN2EBHtu/tl5UQZBEW0DDu2a42m75/sZ99mNQpmTRfNlWibnmK91IpASRVy
Qr04XOHKxMdrLQVb6mePug7jWtdPzaCOn5aupzWt2uoB5IYADvpPQLB+XpmMaWnedjIrYdErMeYo
1qUamBGsOCW5ymlRtA+i6vT6PPPKK+lGGkadxlXxuSo0utXZLJ7eVFzbx0YElQBYTzESaj2kbk2r
XOTnWjk4dqvQL6k9V0U4TVnkdlUp77rcs5mo/lVDJU2+q6bJaVuJbLcMJruKBzW0IKMpdCj7ZHuy
gR1dtTL1sBJPPNF5NH3P2XKruLzjeotUTJA1KfeWotfCSMB1rZTrbcGQG2jfUJtuXY/xal/ZzH1Z
oQqeq03ss6ZdQ82brFdBoorqnjaWFbXJQ0V+peSGxoLQG5YLV2vcbGhDu3GQ0n4r+wuPdM2BhU1U
Q+8jbQnZ1XMDa5W/Hpg25RVNV1N0AwNsfkAhVCdvjCTgga2qh1mLb3U1gCLiIAa0FPqpVT2OPTNg
sN56wv19zbHLOuCZz8Una4C9tmVn1xXGWNYuNgOv6nZN3G9Va4mOFpe247qG2tV+Jw1TUpZ7ip9o
L2sYrSXM8fj3FSlo1F8KqvTl8RKrLtVkUw8mrg3gJ3sA8kXqYmb3/60ZthMzb4gF9lcpFpVVOnhf
o2raz0chKhpwIhoQ+dhCZXG1VrFnwLVM/fuqwvdsMNTw6bzYmmBSNp9ObAzju8JUypLoBLKhW9Fg
cEUTt76h3TX66rDJqhZEyZ+WjKjI41FBZJGQVCXNotiAMet9qJr3QVtWogKEsOFPV82NdBzEmhKv
arfpNussIanwanudgSL+hlX2z/fPVUGinpjQun0NLHcVqK6l4XPF0devrnrELV0nMv9SMnFCl+eK
Rz7SOLAeP+UqeAuq4iYo2tXtE8A7FLutOL7dA+TK/sj563x5Pp6/wTfhHzbn0/IEp/lifyYMjv+X
5c/5yrbJ4+irdZxyirvHa50XaXx5O19veD0rmL7b7W6uu8v5ePyX76W9w5wxn0iGcnW7ffoDHwuN
7Pfzif0lbueTl6Wwc+tXaI/C+8TeFxI6PB1nafPpelQaXIB/4hmbnuw1+9QMrNNF9+oTW93Pz1u7
Ir/X0RN72Ou4+jdeTssZgJNA9W4UTy1t+okxDQQWSS9tnV01UYj1uX10+Fds3PA/0aefSIiBT9z/
9n47S3c/kCP41PYn1ndcIP1CoqApwTHiL3z/9XyE3hSyW0P7a+9f8/ffEdoMCbn4G06K/IrNG7T5
ZAjX914nSk1fVK1c+HWxBn85n25bTzPs+mjnYM4Pa39h+Rduh11l/alB+4cSEFuoYn9gIblIZNfD
L4tacn9cfuFwsl7Zv7A0OCYJo0fQ15oqosWLe98u3lZxCSujlbcpbZbGDI/6xu7icj4LoVu3io6r
aK8AYB13CCuA7Kf8994vh120MWz2sAthAy3agIa/cRvYXQ7vt81pMXrmvfB5Hz9vU+zK/uz2el2e
d/O8PRwXL3jzbpHuCzG9zMJiU9pLk9pGuK0In43pM4AcuxM8fVhY23yxBhz/sUkfQ3U2c4Gb6+3j
KG3dxGWUYzintHYQYBV+fiJ79zVY/vIXC32x3rbC8/uGj+H5Q0c6//23y+LXCB8P6bfb6Bos8mRx
2p+XX97cr9LXifK0daq0nTFgF/Cc4z+CP2++zU9fDo75Y+5hIYaFRwXe6DWhLeUjRE/3Z/uq++V1
T/v5YnHjASx1eBPpq0ssq11wIDLb8n9zbDPo9rx7PRz3y28IG0S3n9q4FvZ3vW1vK7aXywKPkPIb
sgu5d9melpUgRzjj1ogLoRRkqNtp4nIFGT0/LMdGP8CTDs18EtSMXUpRbvOdkJK1tFvcvZd5MUnn
b785f2fX6RDlJzytrRKCmMzm/r7fLtTLbiMJHuSsRKqK8pv9+cSw1mrTHjjNHQPodXFyhAWRFEoN
04rr/e18sU923NqAEX9CJNr71BrMebyOOuunbAmFegCHX6L6MSLvBHUFIt58O9xeHeG8L64zv8RA
z+C1GysW+MswSNrEfJ7bC+Dy3PXyG+mJtlY2PWBX2F43x8NilsBK0XxIf2VrtBYWvi7cu5gY1qMo
sS+QspXFWg3G4Sx8d23/G2dwquCz/Ty/e7W6md+e5sXW3bsbsOu7Y1w3p/PmuP1YzKaFIw8vL/Pl
utikRcnRQK21u2cImLTIeoSf3Twt9OsMJLuui0O6uLewpDcM7JL2xn1tLLtjaaWGbs5jnZyJ468m
ivBkg/sXFdbt0w4bGJ+iH/d4eHub9wcLY3Q1xi6D8M/7fPmQ7nOMS5s09/LXvJqSDqDSryREZ+1X
pAVNXBB6uPnW6//X1OaN1rBv5dXoZ9aX7n5Kz9olSwoch/AL3vS3/314vmzfRDLp4noAHG5ab+f8
Sj6UXtQkkgwJffit8xv8+xZUDLp73rvEfXGpBvSzV7ODC4Mm8NM/FgViw3Hsp6HDZgPR09TkzQrq
ze28+HOV3w4TOewChjTVcx/+2UrHRYTbeO+fbvNb2deHU3h8e+PvQ+mJmcJkW2v9Y/EEj25tsGY2
u8v2KlzRlBYHW1anJqXhln9/ur9ZPKK1lYrhfn71Nq1uKchrHALHv/InD7UHcPKJ1EGGvf3pdJtf
GPvXkUB6RzAv3Q6+2ohuNPzkK2rRErQLGXtBD7k8fn9dWlxbUYYaPIXl/3JfOOtiCUY4ZpuOaVJE
BSxBj0A/WjuJPWTw/wbf08WFrKyhZVFZi4FyWTzRTccv0KGntrnDrpUISbiQKZ2EwNYjwARYZ6H1
w06iHR8QtuuAD4QwLI9tCgT+SPfSJuNvEXEgCRZr32Y9fppffrjVBEKLnkjh6YICnxVyEgKzoa02
kU7zJzTCE6Yrg4LxbiwJre37++KT1WRWkn5KgfHoCOr5/ssvYO367fCb0WgFGM/pjaf8PK1wnj6d
xyrELoEDHE/xd+khdUF6e2D/9QaeKMjX2v4N+nGL6J0KV3k4HW6H7XHRldJVJrqxlp9fyN2hxTLU
KU9PhPKwAnHEC5vZHeetdYv367Y19kS0+3glbMvBTPyogb0XrwWnwm0uyQ2IvnjJ9RILkK6/+fh5
+/KXxT7ZHM+77RH+tDDM4rwxiUS3rqaM668N0B/1x0sfd2QkMsurGL8ksGhHiEKZmhDI8qrCyiYd
12CMAn7iVaw7YilAK8ysGBJ4hlpbIXULQb/r6zwvJLZQ18FGJBaTcD87wlie8nASXiIJNUP7+TI3
RhGKgp5J9Avgez82Mkh2a62enxev737aX5GcF+R7hzQ57mL2k70Avx/nvR6udqK9M5Tt/xgTG3xN
HG46bP8iXe1iW59eru9bYZKH0XRCjvYmNX+LFtjg22DVb3IgnJZgLGHtTyncviMPnhD/P4sFnE7n
t8Ro70gBp6DjkXwcUlzPDUhbJ+11+uUeglfu9UNHpM0Wjr65uJ5INemTeHlqE557ndpM/GLjJ96a
B/fORctsz4n3w2Z/d6rsvN0LiyHjNMFNERq5spl2IpZz6g4X/K9F1Sw+ysHG4J5rZngzMTIZKdSa
VRhm5MI7dakexu3gKFFJaF8eqaQpW6bCAZCm65I3Yw2adxvMTHFXWWN26QwDKZ/ilBPG/AhsrCnl
DCUNss5jnRQV2umqfgILqnJPityTV0DLbejQsnLLZaMc+yBCMURl/AQpHSyKfZLHsgGYPvPlcr5s
5q/W7uDioM2Qou42fOa9Wr/U7ng+WVa73E+b63x85lcZSDS2J1mn7fXj5OJ4/Pc0axjaTj1ug19h
JLHpgSQtY29iCCSya4wo32Km5L/6VS7z/H3e3cHlY5dQ2UFwxnKzHAPe5On+9HS0Fh+7TAr1d75b
LxEQm/fvPuJu9dp3yZkeiRpJoRtBWa4y0rqRUKaH5V0/3p7Oxxg/+yEkplgB0CbTRZHumNAWXtBz
HbERR9T5WvxuRMptjF1Ltv4yNrfFbzg/Py+K8nle7JCTFNAxxEUNPZhyn64XfDrk5FoYT5diQkm2
rIgOJM1m64eSDMXC7rtFWllk3sKLr5fz6fCLexdB8KWbahGwBTT3dX4Bd0YQXFnMsUe27stxFoz/
9CEoOKRZ8LVq4VpRcEI7IK3PBb69H+fv1lS1OhtK9A7Ph50cxGkVolBHde4o9+vsLd7LvLhyu01M
0lshMddMABIsSygcXy0d0eKCDkc2uo4Gid2VmLN1P66Io5rsjxUkoyWaMSR0Nzz4mrLx2vdEW3rI
9/LiAA6yb+Zj75W71T053pgSBgDdcMawQLytIsfwoZbt8fbH48f7q70USS7Qj4vB8nC1b+d9pEDR
1BtJCKfvyvaMjVHUzJmGyL/Al8vdgG8wf7ftJ60ucCCt4DSC3hIuTBNZSPrvxf15oUEOzVFoQNOH
WPdUspAXT7YWujPk3ny1e8gtWKkfcwwVklKU28xIPOJY7WVjEovg/vt8hXmUVT9AkwBxCjPTAPH8
9n778NtcCOV8tIEHUWg1iQMAfFCONypBPKGb02BUPVgOvzmfj/NWCH9nVOGj1g+6dv7nffGbbh8S
T+nSOwqhprwQ+Q/3087+j/XYU0s8hxRpp3m6SgYDHTxNBry8PIU+ATWnOW3Chib1NFZjdg9tGQXL
TdEcUFNZPCu5EhZONGPzTGnasK82gPa2draCFLFriFPrjZnnxczd2C9DdEkQ3moiwr93ivV5hg4t
Nn97OAl0r5CkbUgVD3v15VIXgcTSBnvUEyrYEhXX3STPW5NhdjTFJhBneiVIkiBl4iYxrYk9TD15
phTZIhkBC/i0Evo3s60lkOR0R/ICXS0wiur2BHLsCBd6Vs5l4CDIQOR8N2CfN/SY/G8PDREjqEFr
OFHNDFZEdk6KqOn8an00XDJpDE1NNG31ilE9oHDJLaEmH6u/vh2Om7f59nreX1kj1HRER6GiZ9T0
wn+582bDx+bynY8BJHwahDVsrDEWt10lmdFQu3VKNtt5sVMgwL0YG7/9+UcZQO2efiJk58EWt+3L
Zre1LsN8ukJh6MbjnVg8t3u3gQrrnmb91nHriAQzPH7q7cUOuHayYiBxynENniKvJxZovCdJltTi
IQY5hJ1NFE6RiCfGY2MhBP/sIzG/grDP7cOaadiS7KFqmmJKUsaujCMV6305rbl4YUKi0IxIOTS4
hB6v8gm5PKZbthJtaorAnxVux9BTBIN/Llz8kYB+/3PdnO5c5Z3jCuo8QwN85ypaFCk0uofv0D8v
vvrl/KUY/LOTPrT3x13OAa5x/K9sSRhZsLnZuNCmaTS/VJeWgsjo8LiU241PL7MreVPBrdSVV3o+
HI9+nSu/UJsWAgOg7x4W8mvULspzLSwFiceOuajahRt0tgZKtMrr1M7m7Vm3EMyhariz8Yca6muc
FnesDKl3S4zoirvkWj+cp7KOz124dVq8zuVq01xovaIgcIukR3JtPVuZmBW/nTa7mWEqkiB/L4gb
IOJpk6p2hV/OHgVpdwJ/sH+zeT18PyyMcfi+uIhNM/3Ld+aIQ+IN1HQIlrBi5fl43trwBWzwfbu3
bjm71phICOAS2i22fVp8bSuRLAR0v9mfd3dX5Qw1fU9bgaAGdG1jTPzA7nbnZVNXiGdZmbdp1OaJ
Xyc9pBUr2isXWKhaoOtWGMg9+YQwd7TFP1pzusS7gG3yaalQwvBr7itRCTQ+R6/pCCIVz9hGRceF
NNqygnAP2pANjk2+XKCvkaevkdJXVDG+LgAWg8oUyMSkejY22aYmlB2aUvXDryMzWBEn3vqIGI9M
sL0uxuHuy8vFRvHcPskb8bVHUyoUceOLO7ry7XVZ8+U1oPVh6df7i1/2O7eubjStFmpMfV1bDSpv
VzeKVO2pkNf5tVTuLhfViEB5O9orulZXF3I7HKW6SJxnHWLQRTx2oqjqpaLHMnRxLyNcolCo7RlN
VjiIGNDWgS3XNc/LMrc3/oxj8r9QFHitUHdLoDRuatr1aaHuSHgktzIMn5CcbjNtVnClV9AqpriN
5h9NTYkirAXj41ROQ1BQObs/XS7Vxezv9ibwOcq8p0AOXqFSpDh1BEDQjvU7ssW0l8N+rvF0IklI
IXbqYW9RmNU2ORCyahEpIJUscVg6JQhxX4m8nhSktVGyv0uQ1l+j+xxZTKS0bRx5qXUVmDntCpRM
037egnELJdEMSOoOXd3h7aU4ae96fwcYkRKetCH1muTWFoH1G3tI2/v3aEPXkHYUbiwxgQ0mTN3n
tCigbUJ5K79hQzSqD0f+OpPJqZSRiCcs9T20aY+qFR1cz1r6yw7LG0ziBFxE3X3KaHI3mRjNtyKw
8EwXVLkdvlBzHyYAQkK36EtD6l7RsSDBXrCf/nDavZ4vhv0UtSRTQ8SZ2i//drF59tuhbKo5lCmd
l+3zj/bjv55sMEXYcUt7bnbZlz9ZeCv/w3hMVpqGRHct/DgdZxxmidvPfzfvzhefwWevbKDNfZv0
65D6/iv0g4NF/jV2A+E3Uxx6ZheDpKlw+elDlyFBT2eLtcQzKNo1Tan0dH/77e9++PkH/suBzMHw
BkOiUv5DQ3uqedDX4uUf/3Bm0HfuvtOHED1vM+LmP+xJ87Jgmtgvf//8vEg7gS0m2lLQbXZhaCBM
/k1oO75Qg2R/MTa2ZO+nobtFlODOKVAkbd6pepWxE39QlXUlnrIrEn50JKO9VOsjFq5O/grfhPnP
LwDdKKzkasD7WAMeUqIxeHL1IUrA+AsL2QY1w5jaDLnSkljDmb7+gf86dUJyWReFvy5g2oWlUncf
8BFtPAHOtNtebud/Oc1Otn87nJjyfYgHI1wrRJh0wA8Gtcd/2SLAoP2bUMYG3QSXW7AJMv7rjqLL
fIX49XjYz8JvUjxRF/qO3G4CgsVkKUCVGOap3AbDfUaL9HzIfXd+ezqLnyEgdZ9YDMDyi6iFpqMu
5VnB8hiE2IcmtAE8dzzfL++H3RfpnhSpQ/HlXbftkzWd3vnPBlJwMPWe27CT5njur5s9JNs/Fg/+
JAB5J9rDx0MA/rrxULKwSCig59ZB8Ro3lGVkFrK7yQzD9/O15nQ3yOICqEJLQfT+ArxPwSeQXE1i
j3oltZAOdVR63n8g85W/M+q8j1kA5d3r3RhQCLuCtiPy3hocXFARvmNLh47H8zdfZm/LqK7W1t4f
LnFl226H3fFAWyU5iWh7kAg76Um8zCdn04Oen0tPyz9gujSdCuPfln/n8H6cs7sSnC3kAjpG1mFf
/0sKG2krLJ+ez94QOjyxdRruoCPZYBf39wwuQaSOCiEgp01PMcobur+4Z7e+5eG0vUnOKYoiEkwu
3Q1/GuSlABWFmtiFDKMHllEi64ahMAXGSZ/OviYQHg0a/ri3ir0qwi/xKysaGPB9u53lIVxyT4gy
VKyUpRZ/R4bIA19chPxgF5TYvL9uha5gDYqhAYesY7hfI0tRDLQlDtvmZiuyGi3EKFB4x3gN5Jth
CddM+1UN+pGE1r90S3sHGm9TWdybMxMXA+3wzOX7VKdRohjcrkArDjhnTardFxtqebYZ3kWN384v
l+07A4J2S/YoheJ6LjkBe79cufYL7kOU2AXLX3sIP1THXX0/9I3dGr+ISRk5Dfahe5Hz6cyXh7pf
R5lcCB74NlnX7Wkxgiq3iFK4YJS0joqet4ufe/0QPkQ5TpBNHmHjISjChylNaDMEfnTd/XTYQVHx
69a2GLMZ1rPY28NdWUOvzJtRu8vH++3siOj+dDu67NV20bW7p93m2+V8etl8mRdj6Li9MiJX+XzV
BNhR+76+peLlurXMeftxsTDZACy0gYxf27hi6Gr4ut10SrNfeW0Bv2n9KCfHtpfLIiVcUz1XFOAa
ObHLeDgGLGOj5Mbf8beFAf5/9uCv88Ibd/EA3hK0a6Cu6cvxr/YGvuyuavNV/Xe3eZlPFg41w42C
EDvOWxuH3PwyX87LnS8iYfaDwdkfG9OP+dpuk35wWWE/L1pu/8TftknfQxzLl9O97Db8ZXvEQOcv
zP+gfSIztvxWE1lA+24ndV7ftjt/rdvjy/my3MMb/8NoiSk2SXm82sMbGMX/8+3LBiIr9or5faUr
0FBNkvZlr39ZR/q6bwix+yI++8t+E7bKZhFn95lnmD6RPJpNv728ONWwqLOviyjmQPxwMS25GB/f
fdnxH6SftJaIT8UETp9PIAkWa8/9t8sx+hway/boJpo45mV5nGVR9DZ+TZ4i0xtbOvNpPUvN5+38
vln0/gHqGH1pDr9OIlLAajTkhIvZnJ+SXcmku7Jxaj9wDQhkjUDrEX0p14TAb2QFeXXpUq3b16aP
v3wDwfG2PR3e70e+xgNWSVICCjQUuQsn3jbLFfNv21O5mLax5gY6Q772IVq4QCwE+RtUhEM79Sjg
rCno79NCcHmq0EneNW5UZiLUTIpcrd/z1ZoBgvDoCLX6EHykVrhYf79bQQJ4bIZdxqKBfJwqPJDu
+vXEOhFqMyMmmLXb6dItwbS6Lgp4xd9ET2jMCzF7E57M3y+Hr7WXHtJLAw5fRWnqF1kjTQfCMh7E
FJ9kNdMM6WlVC+i61rO+vYjlTfirGImmC11L7Fda0I8D/WoiNFBn0fSjwaRbPv+U4aKJAEd2G1xc
ZFXHatDRFuDu4oO2yC4Dc7P3B5O0Nn9HSM8RSUB1zFo6H5N0BZOaasHQpKOiaNqW4zj8bvmt8csN
xKDwfATCEgkkX+cnSs2WmuEqLbTipntNrFgPg8hUhm/Qzp+FmtNds8IU5h8LkaeydqsO8fw1x+mp
RPP44aS8Nt/OAK9mF5ioDmskg4m/EEWMEu8zhlVWXUOriafjuTSnD/4cSKqBZTJQY2DFXbamtIPF
YzC8QklEbU1VjyhHykGUIdS3axV2VjeX7cmWRwtKQUc3B9J8aWZuaQVoAMKvo+M6loy8KCuuAxOl
+YVUWijNW/cLMXa7jlfhzuAcINdvyfV491nChZp35/viOfgS+DCRgL1hrUyDlF18U7vUX2zVzh/O
obzrNx9/2kvrIC3URSfgerBx7u1pPt+vKD0ACD2pVTOeMhGWnHTc2ubpMm+/0Bglv45O6wDGw/c3
htqovz7/jYc4wdcq8b9FDXgBsrte9b+odO1uQ0+u0M7WfbDtfkMFGoh7Fd1OtIrr1980RlokdYG2
NNGyi4g7ST227dt3Dxccz6OkVVqyStvkq1hs0d6u0kir9ORAnWL3Iq5iSNtm/m5baZHUqRqS4Zpb
RLqVfiK3oltuEek4Peoo3kHc2Teyu863v3nWlxgI+zxJ99k9WNDowoP77W27lo0MYiOgvrTa5X60
Te830DVd6pPuFko6wT719EAwtpvw9iQxpUaG9hirAkOmMC0lMjYSL9AJ3kSZZfNydhbQ1a0iXbFB
trulODWm0zhZbDMUII2vr8uTSYsZpOHtn3XE/93ul0VsXuw4V//sgPKUNobigzoqPlsc5M+2ebtf
Lcj9tnDWZiGAg01FLDro9u0MFyhdHTLvoMjSjA9vuP16Pkj6Qmtq7Zoyf1SXSerLqos+YcERUFI6
CXWefBnVzjf8ho6B2w+bwapzm8IGVjTxEkscrKtyOYjbUQNZw0cVbJrQ5wWd9V97H5VOpRJ8yzW9
r++Bxs/8x+/X+b4/uwSAbfoCIv19Kyvwht7IxDA6YGO/HfbnbyLPp7uxJpAvMXODKVYYOsi9sgJo
euBTVEohzblwnKpoyLNjtFWVfA0h31CBd4FRQsfzVWoOo/AsKBcis4omtW6ebzvbu9/lP6pHwpG+
ITY9wwx5/Lb9EB9IUX/44bnrTzyRKFCv8jdypQEncNpEazTd62A5YGjbou6TluiI49ibTN1B/QXX
Vs8v0RNFZzjLqEolaSuQ9tEPwvJte3k52AKe43G7cKq4GNoUyIkwTtVSzPbt6r/a7l3LXvhLzjGx
hwrqHNKTXQxhZisIn6OsdALU5huASUrL6RZRzEPT3HooJd3HtsRxqNsGtPtbQCjDEk/b/eZugQrH
Dxi8BW2ZBDodkJgGa77xbiXQ6CLr725+l3XpXz6kdSbqUJfPfluEPjSyFVZC6hRAGZq5RttJ9Cit
0xDh79FmT9bDdaFE8VpGGjoqUsLG/rMQb1n2oGjqowkj4lav4wiB1mZOfhmHHl0eKIKIzq4PgI3T
PW+voawCfuoCmNnlb7ZHWyjBT40BakNdp6GLvfEuq7ByrOBaszyqVfCRqMxYgc9eD/v3w8ZbsanH
rrNjlp/cz18PCx+8H74zlND6MooJ2mj3BjqCNBE49x5+yJfY2c5Pd9sRYLv7Yunetxvd8CA7S2PI
xTJpXg9dMg5U9MNd859gV0ezo+zqvfJDtdzVpH7OHkEEGKV4P882Uru8zfbo7sjFddibGtNNTRAu
bBHKzJV92m67nO3YupG8fglI0vnAHuz10RJ1ULH7k9ubgzVstrvF0vV5jU14JHbLOm3ZhgD6IeG2
4jxU2z/OdyLzSWAYJAAughUi1xsjhCc/MWmCFv1aQbF2tGP9bwDq0WPE4FjsUm1aqomIg2+vh9sM
GB+PCE0rswuNaaEpWud+qF3983QiJ/sdcOz8Yr2p87KRw2KVNx4EyO1gSGtMEWJifxealsE07oPt
cbd55jhniqRt29la0hu9i1hYhlvBoMeJ23CzbzdPx/Puy4rrSEcxaWRC6SgHIuK45XS6GajfkJYz
+xULqnRGHc1zSn68fApTmtN7G1VaYO27o9PpiFKL1XcOHL2CgDtKPoo7E4hNG1vlVprIQqZ4OYsz
BIUeHIhvimIr4wkqwevHQvw9RHyBBVV+4mpG+lh+qid87GRmfQl0uVZgNeLlLjY2eykNWcj4hhCX
m/+Xb8c0w7O0RB8zpxAMSvdqvwxAe+5LHy6EL6GyMH7ptFE2b5xhnz7mvCAGZRLJhoXYnSv6+038
LPtl7iH6mLCBNazQHR9O/4lj9OkYNsCnH/fjU708IKCPuZ/wIF4YFLfE7mRIO0k5+seXYbfQxO+t
ZR2a1oGdtWj8o53DKyjSNoK0XCcssCC9N3q8L56j8/qCsWFDqPDXxcWGyPrW1QJUkOM49V1t1i+h
4xKtg8UPqSDSRi3cmdav16ctjSWJbQ2Wmf26i18DHsB97bZg+4rAptbvpY2r2Vx8H0C2Vn44sfQE
0fZk0IoWVRv0rQ7GYlcoZLB/9DE6HyuEsGE0H1nrE62dqDtsqGCAHq6W5KIFGgspmPWRceujIr6A
aT87wDH8KfQ0FdhwTNKlszKyb/q00oboHZaNkkDwA72Mh364RcDSDegPFwZgd4OFAnRdG9BCPlxx
9Ve2W3xVUcIkwe0Gt3V4MV+B83y4sd8nea1cACTU9rkVLNyBEQ19BMOAcLHukpnwxXqqhTnU18uO
3UKScMpVlzTT8FgRG2wmv6B1t+B/hazNSg9jDAYjVO26ziY+dfMtuHFOS183r9/CkGhuVlRy2RM+
YVnHD3n1g+fxeuR/4ZZtSZV4kG3fSuvxYnsMdok7aDTWy+vIG+pJmX3rHWJraLmHgdZEG7aapfOF
8j6e0kDg22AvSPwUtRdL6Bfoi+Xei23y0vnqalT+4Ptvzotk8h2VxN9WqEikg1LiCaf5kFAXT5Bq
MKxV4QM7bvNwjtjdmd1HCkfBLJTO1zdC9ZiLE4jHGEhYkxrKIrt0vv9aqvoIuETk47uF2O9R6Qog
8XwjvVjECHTEfp2aFQL+v0uvf3520YpZCgN0jvj9EjZP0vYPabo4Vt49hwAu6aK6T2VL0yAsaGOf
4tOgWqZpTCPFy6t5yXeyKu+dnUPTRSsi9Bv0flpxUXYJ1IZzhJfwcKPZdhlewTsaNdyDqQZTFk1P
57KBp8hL7DuinoBN5wuQHZLPpjQdniYZNI4tgj1z4ZpUjcnkgjeAXfeYv9xQdy5bOSaLdnS1Jj7u
TbizoobHKGqM70/ow/lkEVQbuWPbKo/Rj4wDDMPj++pQ6SgT+dIHbu/vMIZy1VUinePcJv344xKD
jcEjDxehiax73z9X3kJTpdfG0DOEr2GV4weW3OJytF1N8MhdeNXr8gcj95qFWXF8lQ2rdigSbHF6
obXB4Riiqq7Y1/I9VLM6BhQFH85mpRah0EQRhYO9lemL4ZcfkPRpi0oAhwhv8va3HbnBNinsIgQ0
ZOu8E4kOUvvxkZzH21spIn++HGwiU94DyhhOURW6qd9++7FhmNlbyMLbu7BaR3bkV0M3vN3vff9q
Ic7XxWqhuC0Vr2az2+5e541DpbD76EkzWH+z8kuzayF9n8A1DjtiIT7S7aJ0rmv46Nv9oZ0c3l7Y
r9HbuIabwUxELyK/LmptbFLQhrxu7UlbSuENjSfHIaW1rRjawdZb346J03WwX+MO35Ee7GyehdwP
p8gwEruYljykjxu5S1jYRMgYdrGgQPuOU70O+UKQ41cbv/7nffYZ8KSWuLB4H21YcPK6KJmz7iGb
6xew6LhFdPLj0a26u7iJM2/7mG6Dj3Us9/XutvAefTRDnZs7eDAljFOz1+AFfiWiaLIIp0KBmIWx
TueTGCDVNLTrA7Q+uwkbgFzHIjHY9GYfHbHwCt65xMeQDcPed6rxSzhzyS+SZVxREJ0NqhhNo6yq
1oCij3ag/QamPrXsRfAit48qF3bQRs/ChwBcpIH9dCCf+jjzKvOsjz5pfIIQbImJKncU9soM/fGp
yEfgHQjEhMI2CUeekwG7hQZRMtyFhxM8dvNxph4IHGRzidFmhYJ+UQATQ3hNZDKtYpJNDiICNuYD
F8l2qAfClYpEAyAzG3jrVBgkuz36uYju3LYB9G17ERBeplRdazG2i6l42eQL8uvQQgfPDSFUtuzE
ZWf57zUpUQjAEKcdrmHur8u7SDpDR8tBeTtx6BECD4yYIKdndgmv96BUpY1TibC17nCo2+Ph5cRG
THRwIpR3/z2ccLbzwYjBLh/Iu8B2FRvn9LDPwynIF+8B+D1dX5kImo5i11UnRER19r2Y3tJRgShv
KkWIlGtu5DDPxzPMcEDdXbnFhnRDOtEffOcTSxhfNAuzdnQ03ZS30scOr/ZiEWBOG1QIqKEENGDo
cXAhnyWEio52RjiYtzOO8/br/Imn1+lAEPj3YRkfOUQESd6Qve30/Lb1Qx+d4pPrSLWaINtEkF1s
I5QIsnKm9DUyCAP12T7Dixli24iwC6SCOI3KmdhjbPa2fIHRQjoGTrLCuFB/diIrCjEDHU07eK4E
BMVJN+c1V6430Z/uoolF+kYtXr28REevaIym0XELoUp5BybdiPWfPB8F8H1QqlHN4hYbGIPOA791
tKGBy0COeGw9J9cWc4S/945UJBpCUmt1vo72iGNagJn15Yur3V9WammwnH1QI+wqTYlRPO+vfssk
YMHEGhhV5oQkt0gSQzo1Nsx64lWIGu1jjDXZUai+g5Egb0JN9CgegeDiGmElieRMT2XyWBEcmt1J
ol0APdckkGEXSoSC3Hx/FiEMpaPFFLSUl4IM97CLIPWLQB3wwyyXmJHQZfvAI+uUkUl6ILQfwUEW
CG1AXo5NyycQqEphr2i/ONP6fN8Fn9jqFdaf6NJ6Pj9lfIHyt/npxf3r8Kd18W8doTvKhzG8tnVr
VKACOgKh4Haa2HYvfM1nXXSEPkVpOKFPF4dge3x/3bLfJoIYdEKc5+0vf4U71dLH8mBsi8efL0/n
LVML04b8scNx2xiQhwX8gubfneYX10HxF9dVh42jo7zA5G6GhJPA3YHvDqfdxZVYHGtV3rhVBbDE
gOY/i/V2tO5PJReukg6FxgKkIDzMGXQJYViD70VBPDUvBE+AqnePCeD+N5htyTdFQNV5Tk35GKct
Qtlv6I3yDR1IfZIXo784i9+Wi/DtXmjjsk6Em6NsXCqEEPH3KoAqwEtyVNeHEo6X6Ld7gPziZm+t
cwJRp1/+xBLgkIJvED+yEXYf71mY88vh5lZwYP4I569FGYYYdwcgGogbhdvE0v1BXG0/Xxcbbb9l
ZMiQols9YdcoAHwQ3dV++TqQLPDGXsGUrqCBAGTDbvblfCPunzOf2T2na0AYbA8Lj2BlUq5y8ptn
N9ui97IK0hsd9CKuv+4mvJ/prJLBDxFJsVi6z3Qr7F7Rk/VRly9GenapUINduG0WCjjEdSd7r5Nv
hYM3SOjh4X9gLwDdbgPmdygePb9vX2yy11/o0/l7gAtlQ7G4lRM0EwYz6tAk8OlKtrf/WM5/2G1c
bpm9gRE9VJsy80j3xbAA3GusuRJC8UMKwfYE3FtihFzzsiwwIbaFWBqCKto1I2nKdN8mMCkMVtT+
xKW9rWdQkwheQ2JMtdyq7BL4YSORi+x4Xc2PSTibHhLXWIy61OPKl9VIzqeWrv7j7TXyy6Lnz7dX
2/h22d7t1dYDsrvDgOUp9XoA78etB5x9PqXKvHNYn71O9M6Q8Q0pPkgQprg0uVD20Ph5EU62RDSw
1QfZxK7cUm3Uy+ue7zdxtY7qiWBPHiTN3Y7r1ZZ3hWpgoiHlAqmajWvuD8/PaOFrxbrQiDncbOxJ
UNtr9fVYprvSwY/n66cU9lA6vX+IikxuB6SZAVdq0Lxef0QkoMuq2XYcu95tB/yv7PkRKh+iBrr7
X/xQxdwYsgdUoeL3/hR4/Lyzywg5p4BfyOHq3iEJBeP3q61F2x92WwF1aWjuPuH37oAftuOtNvs7
jOyDICubx0c4AgTIuFpExGZ72yzG6Gb+CoCiKHNEZIJqELIQ2iQ5VfJl/nDBE3FwNAKiOj2Es662
TspOenZFDf7OuJXGbOjzEEy47PsoE9xhueUQ3sK1XZro01W9gS64lXokRoVbIYs+OtoV2L8LxZqu
iwrM8x2zHUlVaV1MowKOBYYjeK0F7mX9ftHwa4uZ0p2S75dbBw9zb/10RucxP8FCQURKfJXKpLW1
tYMv8GR9XlBkzx4H/O1ykPsbtZEjWg9nntIYo+t8e6hlWpNuBJZARekec+mHRj27XHyCB2r2nH3a
GqBbfGAtSrTb5f72juxoJwfY5VAivYnZjMAOT8cZ5lf6MA7EDU+IXcRC8D5JZ/AewCgcUumkBRKG
FLQFO7GLtKhWUMEwd4L3upp9DYthEBYDqnJ8Uc7DPk5nkVT7ZJPp4BWlMNXx/vZY5+b/2mqY2yLN
j5vLkS2TSSuntuJEIth+SDCVhsVsKE3hSy0Bt61aoS/VWD6eiPseVXb2qddwrPbyTLhmJ2kjNsba
aek+CFcLd6xU8ZI/sStUaJnqiR9zvZVbUgmgo7t4Ta+H2235fPPZR080CX1QjXhTwuU0FH3nJOjL
fH6bbxfb2/odLbO9LtzHQshUSwFIvR93gc3Pz55yIE/XemB/HvB/gBtC+YlrGMKHiodIuGDdQTeI
vojYchF63yhKEDtD0M6uShPqenR5RRcY5lZBFr5L8ZWRZDHIwSZRhljtlce0UCHn8hgPK397XURk
rWB/SMzVR93U8luFpjGs/1AOlJTfgt0OOiwcnLs4VzBjcctczHmIFYEQM4B2SsyWQqZdegbkSEAf
TqUra4mE2+e3zuxMbpozJP7vY/EMS2qeWFhXCV19KJap9pyxqBI/gVomkDaVy4G1CPGwLnQ6Xg4I
MEBbVZVF5nK8iJgTSwalmqZy0VXI5lYi9m3yiALq0BBYVmqi5KSq3TEwHaRYXUOiKprRpEJoaAjr
3i6OAVuVGG1TSVYbk0f6v2TYpoOCPsBoxMvVBL+pc3irr9tObVlcmyMXP/RhYT45hDt/Dt5Eiw5k
xP36UW5s/m8sTXlBe/LpPJe5lRGhqCGthhYtqmVWc6Hgymo4MWczc43JV6vEtpSKln/AdOqe2dFu
e/q6vep9bVMp52hjCH7GY3FLyTfhe73hruEJgo55z427j8vbBrY2hfj8bJlmZsOqSsVUVDY3x4eC
BEiGUjEq1vmRIkMrnFP2n5WKGYHsmAzh85dFp+Doh7uHqjY78+5WE1VKRYcrdGxXQ+hrt03ADVKP
BcP4+CgBnqKnk9sr6gKoavL8/plmEDoJwc6WyvaNQtlnm6nC+eaFWJ4+XLtPK21PmXpAEfarK+rh
BbxWSMC7Ob0+5ukipVffAtCH5bw+8v8b62sgZxMkWTvgHoNP20uMG7BaIQE00MSYDDHiETi+19vr
wbpqNpvCtzRpU+1v6/2zkcQhECjcIoxTvYD1s87fTkJHAtSFMNXyO0V5ml82HlqCKNn3dEgQ9Ahw
EFsftANqdzilcdUxlALZeNj4drebjzBBY49+ptZEwqSTWPvfe7CptZ7Uk2eMoy3CAHjviWfNiSwN
COJhTNlCXyaWHzIU4oCYly/MoA25jiDTr0aXj3F2mBmzSINzY16WJa8rVsE9MVUsRVzkvw3JPT/b
kcdWT9y3Ky58JBsy2YVv7zffwcXh1nywSFrRGHL33nXDKA9Lpmydcqq0hkImnylYtmHVyiKOj4vw
evdt1ZHekYsExuRKjw7J5ge1RPu7eqy+KXUfWbQuEpmQ6zt5eIBsz48pNT6SrlyZmCJRJHalkRZ3
e9xy7JO5eWQg9gFMolA0jtJjWpOYsOlYzbJfOpmNbXc9Japgjia6YhdCHVZSuidMMK68WDuS+w2Y
WGi94xkOGhSjU/kOQywNoRVbEjkmmAiBCttERXqI5J09zycZrtWkha1vTnB9Pd+h0Z+7qItNrIRE
pk0o+cIV91uWZoHVw79hLc18V/bvxNfqenI9Knt2bGZUTLIxxdGBCgBzmoVVa9eietovoSXNdjdP
8+v26+F8j7GQwxUuK0J9oPgUKVyW2rWiImvMQ5FISdueVfN1s6Vtd2UxYQgPeAldZEj2YZDsMo8P
4wGI6awRyy9RMtJkKrJmJBX/SELKfIyjLOGNTZxoFqskKChATLyMCcsTVOv4X5+wGsc49fWxRcev
phj2RVEvji4KpnhQd/kfn1W7VJtog4Dz9bPr0t1htI1HG1WptZuIMPJ5bNaeEPD0Y0qDBWPSl7ye
3bWD/XW+3wBNydoD0TDme4Ajhdfb/5hwcUzVsDCasL/piUln502sMuk6ohhMV1IMLC8asgUfpg1Q
wuKtWKDDnd/NUJKduf1c199mJNSQc1QUE/8Lh0M3JROB8xiijuZdh5bYUkauN7AbpzUHayKBqkMJ
7bjn5+PWq2OSMWJr9dvU/8yv6RdCkYrrBqIAbM4/xSTbLg6T8W18rJNM+7llAQvU1B2kjDUQUsiV
jRokH1ppqO7Qfcgouq5pt+XMPugS6trx/8AGcRqEkIdyFz/qJPRGciuwnys6WMcPRnQoX1/w7RC/
+8v2mzy2iMbaTADqg8iCL0IYSSyb6XSpYvc0f6ONmoIryvaf0lG5Kd/9KIxaDN2nrPAUFYyOtngo
Hfe4zIAieJpv3+b5JLdT1tFGjIV7scQydgy+0q5nkqevo2mjfGM2nXn6Xi3wYW8dYw5uSyhSjUv9
CzW8jgVALKA8w/68q/WgMw3pQddOD3FeUgFZW04nRBIaxvpYT/mr96tpe6nOS8QMbVMpRO5TQSzq
QIR2GZM2lYr6tqNMETq///N+uNjZct6srrHWRMscdZm1qhWgHarUTv0ECXcDX/L0qxD9QmsFNFTJ
NbuoHWUsXwiI5FphHuKehOxIaS/XLOXBuBJ1so5qRfmGi6EekxEVbFFr15XkH+lt6RSPTHptkn0K
muhO02NPB9/fxtbXP8NwL/bKDBE4il3rVBU8vSZNPQYcAMKtn0QKbJP0anUMHV9j64JqM3a7EUXP
ND7WdX+sLllv0wV1MF5E66zsieZ/2XUmMmU4tOmFeY/yDnrazyFAGbPpKDWqGXOq8dW3u3sq5g1V
F8EOfDp/FzoG24T4EOGQoERHPDHlvNsd71eI+gHeBhrvsCsZMlCVdIjKV2LXaMlkV//ukIdKKwCa
dGsnLbLLjATjqabyVp6O9wu7RE9PM3js1OcvWDVkMzH5U9hM5YLRSGEUqj/O20soVhPSpk0cwOKL
9lrkU8PgsRVnmSh21veXpu3PU78mu+ovtVka/VAaC5N6cu7/Z7uL/su1uloaw6JTQPQhhL2v9KCb
os0cJ+i0pZUqInWKbnQYbeRZ//q+Pf3Vd/X+LSR92JElaY5Lp6N5mm3DRY2rRzJoYlPyTLO1kMah
E9EksT9FDx2mBZmY4Yp0gFtu1d4QbdOV04wrN1rZYbrKNg1lTzt8aA1W22d62hb6S7QUuL2uyHOK
bhWwgIkdnt4OV3APrUMV+mJGC3f9Ls2ICMgKka5DjdBg5TiibtWCXXroEf7D15U8jIYL9+DiVuwt
olk6aXysePh1JQ1TzJXC2S3xd6GdF5mZ4UYhpZ4a7BAjTScQCVl8dkOGcKAZKoTNrqMpJ/s22PP8
zjdtm2JoCngUhgsWZ4xkddV+tiy7lZYOVeprvCohx6YYjYlyd/qUkGJXTVxguthDclUJxRQtv8Cg
5VsL6Ea0tcU+kK5OazIWqy2qGL9G9dqKc7oQG/0q2TGhtwBa0xz//DqN1NIJbKS4s0iOYSa1SJFd
6bXiW6dmp+yuRrpARfWnsMj2yrg0U4RIZMPHSrpi6/vzvvNCs1N0TFxfEumrxWSHWK4HL6AfNNke
rq6TvKQpRuXcYi5qWdCyq/fWp2trewj6jeWL4y0odPEJJ/FYdujAUVLP7SmiQbJJdp4A3reX22F7
lHKMUwyPgChKkU9RwK0gL6MIzWrm/dhXG4gW9o5XnPwRakav6x+uTbqmhenpPvjt1LnZV4myI3qg
bTjJc70ddl/YOZitIQ9mOo6uayqgo7LasOwbLIm9YEp0aVcmxUhKqwlrNGQ8Z9sXkRu1V0LMAWiy
MefX9ZyKbtr9x0rVzZJ0QxilnUQzk92WelCM0We9PuT0BfOtTZHtNgxH8lI8VGfRTluwuwOgy3yl
UpauFMDcTbrPgbY+8cFGmOF69T2DbVUYS7wQVkmuP4QjHHsfD28H71hvfIluan5yPvM1tF0xvuLK
Jja+K6jNiO/PJz4aoVCsp4scFVOxKTrGxzPSCq6FzWPRnf2U770Pi6CoSrIWKo3/4U6Ll1C4U2K/
SDktePVUnuxBH05f3bagYMiwRD6mhxdJI0J9oHPVVGbYSzoheBks1fDt8IFa0A2nCE9uPeOEdcw0
wEhGa0gutjWIjPfzhSdLk6hc9wAaaP4r75d4XThRSNo2KSAFl9ehF4BnhOYpbnzJsuuE1pRvctD0
CgbuJhEwvtZSvEnBoaEA2KzNTwYSVuSBPSzSbWh/n92ATjJ0xl0fvyG0IGQ/ddbfZgXx6nSodgSc
nWKllU/grLkqFM/1mf4CGfI31VBhTCY3hhbuLi/BE0HiA92BedyK7g7DE/vzN36fZiScH9LqHFQX
7lsTIvKBTtt4CPmgTksKlbYg0TURpWaNROTZUNMAvK6zDL9WQ9iPvJ67fRlUBa+XlA1YI2a1FOMf
yxD2864SKfX2VpxvIONVa6xP5Mm1Lyk1O4l4jfZoSh+v1hot0srdKqECcauKZGknRNgtqid8JIgH
NBcvFNADtDHpzr9pZY+GZq/KoavYz/lTlDIQ4htoxwQyjfYoPI1O5x3sgQcTcvvOcfX0JfivwE2I
uMCj5tVZPryYf4mWcqghfWNeTmcLpfBmc4ARLob2L3xDMmfnpvdNozsQJftiK6l9bZN8v1Bd7yj6
dTEDfjlD+1vPpSt4qx1IDs4DSMVz8qebCKP1xeDZ6oY7QGYdNclbbNe/bS//vM92oOSbQGIKJykB
ENj/CiXH73Aissknmcv3h7E8lYLLJpbjxNymZ7Grkyeg3GU/YshMH94hQB0meTAMcAWilpQuwGKO
dvDgoZlwwr7kFQS8coUH+vSuk225M7XjejNeNlmaEus7dPf89gR4Qg6vBBc/UtPMfFbqVrbXl8yj
2EloPesPmbYvNYiRGtbAWftSTKCmW3n6akogh4eClhptKFMCJtgIgt9NTaFQQRaS9p+RXC3aguZU
L+Nj8iEfeH/qS5uqOcPftiZ7VGjiqTOw+WfPepb1vNTj12hK8s2Pu4VNAJutMC779uG5E0g7QvUe
qsXLc4qubKwtNevoB6iRbHAVxGfHjJm0XAtFad6sTbA23LAcgd2g63utNixB/gfbamVsTBE5x9fx
JYh/D4h036rlZT75+gMJZtKm8emh74jGQ9tXXE+L+pY0YCY2tIAqIC8fGzqzN466w/SpP/r2dpsv
vkVbmBXs/o5E9qXu1UpFde0g7SphpIUlferKD+Wet3zzBYWal0DkK5ttzC/OL4naQ7i+paqyJI/m
R205XE+lobY7Ob6hoqXshiWgPIB44q9Cew+FZj64NkZ9bUE7glccOKDwwVE3IGFN3mRTkWlc9xX4
c/XQ3rS8bPfWX3qx/y31r1Ed6oIDdfLVX7Dl0fx6qGlK0/rJ6pVnkkdzKFQa0vS+3VSKjoCeTE1M
WPGReN1KkolMm47DIB63lbpmi8Ne+lTdqbMxPOG7FcHFPrW18CPNYgHL1ZWt1DbRtaQtYwTpZ58v
rtL1i3Txfep7EXoPthjhnFU5rdpb29ABrQZX5dY/71PPSjCgHu4X1ZJr9n7wwNkY+kGLQNMQoVdp
h0YPK9QUHg7hRnRXD5IIxWbQPJBBulG280vfkitte+a5kVnDX40q9QS11vnxY/OwJLulVtPZwg1y
ltCOIN1oqZBdpyUv5SMj4tHYk6GJy2O8pZBsgp2seDU0K3eE/2ilHR1ELkVjh8eI8yQGozd7nw+3
sDR/vjYtZ1uxTYbZWK3wo09l754IzCAwGXtTDWXUjtlOaGfNHit1dm1VjPUU5hlUn47KVNOyG9q9
WqDlmYt49KlNTuh72z0IkFVSvid9TzUnpisNi9uJSlT9sBn5+24gF+NxtwlPsfqGTZKKVrqN7HlO
cn65Ty1INIlmWA/lebubo3lT39JEBLXyFaWulwnPA21sM96SkHtowGJZ1JsKy0HAtROAcGNMUce6
cEMC408fctJ4jMFsM5I59bEXfGigw3YE6FFHADTPNEbm07nYFVBpexuFgqlncMckNn37Cx9TEkev
jDGVFRoieV2v1/1isV8U3q3Q63xMdoY/begM5MJzp3Oljdag6XS6ULTpiaXaGqFPzSCGNDLQc5KM
Vh1jBM9+PQ5u8h+KU9UQ5GPMrBnflKqlxMZuGnVisBao7sjw1u1pX7s1VZzpV2p5zzrzQ2LbDuzD
Qs/tMGHQdewR+wRMpON9Z6gYynqQFv7e8qRhFYAhghdFevJVwBrgVtHE4zDsHhepuZDfZTmvDQjL
VNTHWI8mrW9Ky/Lna5CBA21q+BMKba372OJZk+mCpWWgwSqr6JKBZOdR+PaIMRIY0AMI+McDhto4
TwPqdC0IxIc3oArQjad/u1/tJEDr7bJNKFs0VCH2d3Zln9BCG2o+zrfz7nxMDRCu6I/Ei3bg2ys/
uhP1vDRQHRIwdm6tMMThk4umbhimATNd4UW3CxN8vJ3v0grpFgyYnN488ytE47caX2xRlwzjupdp
vNL6SGWrUTdMA4nQBq9kMb0nYSzIskCKNpgOOnOlKaULzc3egoA/b97m63UrBEB0g7rmujvycvnb
9mIN8etmvlzOQufXZQXUDBjaHhjPA/vzmwt0LlbEdbYyIjRqFkZr2iM27oju0dt027atAAwngCoG
e03XzX5+v73yS/lgJiwFWNq2w151xHjDYsIyKi0DWsT7jOlowmm69K178TDV4PbDbrc8kBczf7uc
323yYb7+4Xz5y7Kf/z4uCuXv/EAot/oYVx/H0Y5g1L5rzMvrcfn/fmio7ysnzZdyB23QQYHQx5Wb
taw4/97OaLL/+Ke9sOUp/kY72a4jITq6XKZ/F5j1JLxHY9A2m8RF1W0KSw5xSa1cY/xQk2RHagkf
9ohaITDWRPpfyPPp/vISxhDDZBA44Z6fuN3iSegwvdvz0+V+svAD+Gg5aDqbsFYqm3cM2vkApw1t
whegur+KEgIlGyYnAJ2hPd9+v/CPFXs/zvvDVliibfJ+4TrNM/rptr0sa/z5vN3LgX8zZauEMbaw
iq3zui92/1+2Xw8vlZ7XjRnRUvAfoZ3A9Rru96f7u/Wd5v1vf/pp1V2nXjqmhV61VjD/f//f/x9Q
SwMECgAAAAAApLyqRgAAAAAAAAAAAAAAAAQAHABzdmcvVVQJAAMTTlBVNE5QVXV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAACJvKpGAAAAAAAAAAAAAAAADQAcAHN2Zy9hcy1pbWFnZS9VVAkAA+FNUFU0
TlBVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAIm8qkbbCNNCOwAAAD8AAAA/ABwAc3ZnL2FzLWlt
YWdlL3N2Zy1pbWFnZS13aXRoLWRhdGEtdXJpLWltYWdlcy1kaXNhYmxlZC1zdGRlcnIudHh0VVQJ
AAPhTVBV4U1QVXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRn
ZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAKS8qkYAAAAAAAAAAAAAAAALABwA
c3ZnL2N1c3RvbS9VVAkAAxNOUFU0TlBVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAKS8qkYh9Pbw
OgAAAEIAAAAwABwAc3ZnL2N1c3RvbS91c2UtaW52YWxpZGF0ZS1jbGljay1jcmFzaC1zdGRlcnIu
dHh0VVQJAAMTTlBVE05QVXV4CwABBPUBAAAEFAAAAMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IU
EhVKEovSU0sUyjJTyxUSSxR0Dc30DMBAx8zACMrkAgBQSwMECgAAAAAAjLyqRgAAAAAAAAAAAAAA
AAsAHABzdmcvc3Ryb2tlL1VUCQAD6E1QVTROUFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAjLyq
RjUVdfuQAAAApgAAACUAHABzdmcvc3Ryb2tlL3plcm8td2lkdGgtaGFuZy1zdGRlcnIudHh0VVQJ
AAPoTVBV6E1QVXV4CwABBPUBAAAEFAAAAB2MMQ6CQBREe08xF3DDAiFxY2yAWKiVhYWx+MBP3GTZ
T5YVxdMLVjNv8jIXmqETpJnJCpPm4Peok1w5acmhlV7RMDhWN25ONq5Rio/so6p4YidDv/R7qgu9
e2BfhyDhYFAe/9YnXjmereeKxqeB9RM526FbCBQCzQYU4ZjGCPEMdrzeoX8tQ8Pw4rdfDqI2P1BL
AwQKAAAAAACTvKpGAAAAAAAAAAAAAAAACwAcAHdlYmFyY2hpdmUvVVQJAAP2TVBVNE5QVXV4CwAB
BPUBAAAEFAAAAFBLAwQKAAAAAACTvKpGAAAAAAAAAAAAAAAAEwAcAHdlYmFyY2hpdmUvbG9hZGlu
Zy9VVAkAA/ZNUFU0TlBVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJO8qka71UEj4QAAAE4DAAAx
ABwAd2ViYXJjaGl2ZS9sb2FkaW5nL3ZpZGVvLWluLXdlYmFyY2hpdmUtc3RkZXJyLnR4dFVUCQAD
9k1QVfZNUFV1eAsAAQT1AQAABBQAAADtkTFPwzAQhWf6K24EqbEdh7TIa8tQAQIEEgNicOxLempy
jhwbxL8nIDYYQWJgesvTd7r3aVXWhaqLUoGuTLUy1ZlQWoELg7Dj2KN4wOaCkrjpc0csKi22+Ix9
GAfk9KjL9Wlt1q1qnuA8xhChD9YTdyAvqYk2vsodJ4yMCd4JxY4neZvJHe5pQPiEjh8hN2Gucprk
lXXXd19qBsDPd5GPf569BL2qTwxwgClTsk2PQIPtENqQ2QuALXloib1ZHP3Ga4N1+yIsockJXmKY
B7TR7SmhSzniQn+rSf9r+lua3gBQSwECHgMUAAIACABkvKpGMbwzb0ohAQDMTA4ADgAYAAAAAAAB
AAAApIEAAAAAYWNjZXNzX2xvZy50eHRVVAUAA5xNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AADru6pGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UGSIQEAY29tcG9zaXRpbmcvVVQFAAO6TFBV
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA67uqRgAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1B
2CEBAGNvbXBvc2l0aW5nL2dlb21ldHJ5L1VUBQADukxQVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAOu7qkaYtiOE4gAAAE4DAAAuABgAAAAAAAEAAACkgSciAQBjb21wb3NpdGluZy9nZW9tZXRy
eS9vdXRsaW5lLWNoYW5nZS1zdGRlcnIudHh0VVQFAAO6TFBVdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAr7yqRrmT4z4rGQAAsgcFAA0AGAAAAAAAAQAAAKSBcSMBAGVycm9yX2xvZy50eHRVVAUA
AylOUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAsvKpGAAAAAAAAAAAAAAAABQAYAAAAAAAA
ABAA7UHjPAEAZmFzdC9VVAUAAzRNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANvKpGAAAA
AAAAAAAAAAAACQAYAAAAAAAAABAA7UEiPQEAZmFzdC9jc3MvVVQFAAP5TFBVdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgADbyqRtsI00I7AAAAPwAAACkAGAAAAAAAAQAAAKSBZT0BAGZhc3QvY3Nz
L2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQFAAP5TFBVdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAFLyqRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BAz4BAGZhc3QvZG9tL1VU
BQADB01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABK8qkYhjuyzqwEAAJ4GAAAwABgAAAAA
AAEAAACkgUY+AQBmYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWFjdHVhbC50
eHRVVAUAAwNNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASvKpGN9VgnEoBAACwAwAALgAY
AAAAAAABAAAApIFbQAEAZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1zeW1ib2wtbmFtZS1kaWZm
LnR4dFVUBQADA01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABK8qkbJPLcgkwEAAHgGAAAy
ABgAAAAAAAEAAACkgQ1CAQBmYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWV4
cGVjdGVkLnR4dFVUBQADA01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABK8qkaOHHwgtAgA
AMojAAA2ABgAAAAAAAEAAACkgQxEAQBmYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1u
YW1lLXByZXR0eS1kaWZmLmh0bWxVVAUAAwNNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAU
vKpGBz3kSOAAAABOAwAAMgAYAAAAAAABAAAApIEwTQEAZmFzdC9kb20vb2JqZWN0LXBsdWdpbi1o
aWRlcy1wcm9wZXJ0aWVzLXN0ZGVyci50eHRVVAUAAwdNUFV1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAYvKpGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UF8TgEAZmFzdC9ldmVudHMvVVQFAAMP
TVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE7yqRlgqZ3U5AAAAQwAAADIAGAAAAAAAAQAA
AKSBwk4BAGZhc3QvZXZlbnRzL2Rpc3BsYXktbm9uZS1vbi1mb2N1cy1jcmFzaC1zdGRlcnIudHh0
VVQFAAMGTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGLyqRjC1beM5AAAAQwAAACsAGAAA
AAAAAQAAAKSBZ08BAGZhc3QvZXZlbnRzL21vdXNlLWZvY3VzLWltYWdlbWFwLXN0ZGVyci50eHRV
VAUAAw9NUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYvKpG5669XzsAAABDAAAALwAYAAAA
AAABAAAApIEFUAEAZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50LXN0ZGVyci50
eHRVVAUAAw9NUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAWvKpGAAAAAAAAAAAAAAAADAAY
AAAAAAAAABAA7UGpUAEAZmFzdC9mcmFtZXMvVVQFAAMLTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAFryqRtsI00I7AAAAPwAAAC8AGAAAAAAAAQAAAKSB71ABAGZhc3QvZnJhbWVzL2ZyYW1l
LWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQFAAMLTVBVdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAHLyqRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1Bk1EBAGZhc3QvaW1hZ2VzL1VU
BQADGE1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABy8qkYhj704MgAAADMAAAAsABgAAAAA
AAEAAACkgdlRAQBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVU
BQADGE1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAB28qkYAAAAAAAAAAAAAAAAMABgAAAAA
AAAAEADtQXFSAQBmYXN0L2xvYWRlci9VVAUAAxpNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAXvKpG2wjTQjsAAAA/AAAAUgAYAAAAAAABAAAApIG3UgEAZmFzdC9sb2FkZXIvZGlzcGxheS1p
bWFnZS11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJy
LnR4dFVUBQADDk1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABi8qkbbCNNCOwAAAD8AAABT
ABgAAAAAAAEAAACkgX5TAQBmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxv
Y2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUBQADEE1QVXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAB28qkbbCNNCOwAAAD8AAAAtABgAAAAAAAEAAACkgUZUAQBm
YXN0L2xvYWRlci9yZWxvYWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRVVAUAAxpNUFV1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAAnvKpGAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UHoVAEA
ZmFzdC9yZWdpb25zL1VUBQADKU1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACe8qkYAAAAA
AAAAAAAAAAAXABgAAAAAAAAAEADtQS9VAQBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL1VUBQADKU1Q
VXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACe8qkY5AcvdQAAAAHoAAAA1ABgAAAAAAAEAAACk
gYBVAQBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1hYnNwb3Mtc3RkZXJyLnR4
dFVUBQADKU1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACe8qkY5AcvdQAAAAHoAAAAuABgA
AAAAAAEAAACkgS9WAQBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1zdGRlcnIu
dHh0VVQFAAMpTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJ7yqRuSKx0M8AAAAPQAAAEAA
GAAAAAAAAQAAAKSB11YBAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsYWJsZS1z
aW5nbGUtcmVnaW9uLXN0ZGVyci50eHRVVAUAAylNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAAtvKpGAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGNVwEAZmFzdC94c2wvVVQFAAM1TVBVdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALLyqRnL9ZfKFAAAA6QAAACUAGAAAAAAAAQAAAKSB0FcB
AGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRVVAUAAzRNUFV1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAsvKpGBY9VjpMAAADQAgAAJwAYAAAAAAABAAAApIG0WAEAZmFzdC94
c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQFAAM0TVBVdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgALLyqRs+PZg5QAAAAoAAAACQAGAAAAAAAAQAAAKSBqFkBAGZhc3QveHNsL3hz
bHQtY29udGVudFR5cGUtc3RkZXJyLnR4dFVUBQADNE1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAC28qkaBSnetSwAAAKwAAAA0ABgAAAAAAAEAAACkgVZaAQBmYXN0L3hzbC94c2x0LXRyYW5z
Zm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAAM1TVBVdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAs7yqRviE4EBxAQAAigIAABEAGAAAAAAAAQAAAKSBD1sBAGZ1bGxfcmVzdWx0
cy5qc29uVVQFAAMyTlBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAN7yqRgAAAAAAAAAAAAAA
AAUAGAAAAAAAAAAQAO1By1wBAGh0dHAvVVQFAANKTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAATLyqRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BCl0BAGh0dHAvdGVzdHMvVVQFAANwTVBV
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAATLyqRgAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1B
T10BAGh0dHAvdGVzdHMvbWlzYy9VVAUAA3BNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABM
vKpGFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIGZXQEAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFk
LWltcG9ydC1zdGRlcnIudHh0VVQFAANwTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAN7yq
RgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1Bd14BAGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9VVAUA
A0pNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA3vKpG2wjTQjsAAAA/AAAANwAYAAAAAAAB
AAAApIHHXgEAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFuY2hvci1yZWxvYWQtc3Rk
ZXJyLnR4dFVUBQADSk1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEK8qkYAAAAAAAAAAAAA
AAAUABgAAAAAAAAAEADtQXNfAQBodHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQADW01QVXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAEG8qkYAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQcFfAQBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAA1pNUFV1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABBvKpGY6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIElYAEAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4
dFVUBQADWk1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEG8qkZjqqxsggAAAKgAAABSABgA
AAAAAAEAAACkgSFhAQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94
c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQFAANaTVBVdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAQryqRmBLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBL2IBAGh0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3Rk
ZXJyLnR4dFVUBQADW01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOa7qkbqinxCYQUAAAUP
AAAKABgAAAAAAAEAAACkgT9jAQBodHRwZC5jb25mVVQFAAOwTFBVdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAWbyqRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1B5GgBAGluc3BlY3Rvci9VVAUA
A4pNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABavKpGAAAAAAAAAAAAAAAAEAAYAAAAAAAA
ABAA7UEoaQEAaW5zcGVjdG9yL21vZGVsL1VUBQADi01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AgAAAFm8qkb+JzjgNQAAADUAAAAzABgAAAAAAAEAAACkgXJpAQBpbnNwZWN0b3IvbW9kZWwvcGFy
c2Utc2NyaXB0LXN5bnRheC10cmVlLWFjdHVhbC50eHRVVAUAA4pNUFV1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABZvKpGx8uuMKoBAAAGBQAAMQAYAAAAAAABAAAApIEUagEAaW5zcGVjdG9yL21v
ZGVsL3BhcnNlLXNjcmlwdC1zeW50YXgtdHJlZS1kaWZmLnR4dFVUBQADik1QVXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAFm8qkbQFzqoDgEAAKIDAAA1ABgAAAAAAAEAAACkgSlsAQBpbnNwZWN0
b3IvbW9kZWwvcGFyc2Utc2NyaXB0LXN5bnRheC10cmVlLWV4cGVjdGVkLnR4dFVUBQADik1QVXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFq8qkbexX5WKwkAAG4zAAA5ABgAAAAAAAEAAACkgaZt
AQBpbnNwZWN0b3IvbW9kZWwvcGFyc2Utc2NyaXB0LXN5bnRheC10cmVlLXByZXR0eS1kaWZmLmh0
bWxVVAUAA4tNUFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABZvKpGYNU4FDYCAAA2BAAAMwAY
AAAAAAABAAAApIFEdwEAaW5zcGVjdG9yL21vZGVsL3BhcnNlLXNjcmlwdC1zeW50YXgtdHJlZS1z
dGRlcnIudHh0VVQFAAOKTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAeryqRgAAAAAAAAAA
AAAAAAYAGAAAAAAAAAAQAO1B53kBAG1lZGlhL1VUBQADyE1QVXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAHu8qkYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQSd6AQBtZWRpYS90cmFjay9VVAUA
A8lNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAB6vKpG/ic44DUAAAA1AAAAKgAYAAAAAAAB
AAAApIFtegEAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1hY3R1YWwudHh0VVQFAAPI
TVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeryqRv1q8zbFAQAAbgMAACgAGAAAAAAAAQAA
AKSBBnsBAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZGlmZi50eHRVVAUAA8hNUFV1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6vKpGDPrk6jYBAAAzAgAALAAYAAAAAAABAAAApIEt
fQEAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1leHBlY3RlZC50eHRVVAUAA8hNUFV1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB7vKpG15yTd+0IAAClJAAAMAAYAAAAAAABAAAApIHJ
fgEAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1wcmV0dHktZGlmZi5odG1sVVQFAAPJ
TVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAaryqRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQ
AO1BIIgBAHBsdWdpbnMvVVQFAAOnTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAaryqRu5d
ckWGAAAA9gAAADsAGAAAAAAAAQAAAKSBYogBAHBsdWdpbnMvbnBwLXNldC13aW5kb3ctY2FsbGVk
LWR1cmluZy1kZXN0cnVjdGlvbi1zdGRlcnIudHh0VVQFAAOnTVBVdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAabyqRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BXYkBAHByaW50aW5nL1VUBQAD
pU1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGm8qkYAAAAAAAAAAAAAAAAQABgAAAAAAAAA
EADtQaCJAQBwcmludGluZy9jc3MyLjEvVVQFAAOlTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAabyqRpDlhlpbAAAA4AIAAC8AGAAAAAAAAQAAAKSB6okBAHByaW50aW5nL2NzczIuMS9wYWdl
LWJyZWFrLWFmdGVyLTAwMC1zdGRlcnIudHh0VVQFAAOlTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgARLyqRoQ9+6J3AgAApxUAACsAGAAAAAAAAQAAAKSBrooBAHB5d2Vic29ja2V0LndzLmxv
Zy0xME1heTIwMTUtMjMzMTEzLWVyci50eHRVVAUAA19NUFV1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABEvKpGV6lj8wkBAACPAgAAKwAYAAAAAAABAAAApIGKjQEAcHl3ZWJzb2NrZXQud3MubG9n
LTEwTWF5MjAxNS0yMzMxMTMtb3V0LnR4dFVUBQADX01QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALO8qkZ3TEgSpSYAANykAAAMABgAAAAAAAEAAACkgfiOAQByZXN1bHRzLmh0bWxVVAUAAzJO
UFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACxvKpGAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA
7UHjtQEAcmV0cmllcy9VVAUAAy1OUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACxvKpGAAAA
AAAAAAAAAAAADQAYAAAAAAAAABAA7UEltgEAcmV0cmllcy9mYXN0L1VUBQADLU5QVXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAALG8qkYAAAAAAAAAAAAAAAARABgAAAAAAAAAEADtQWy2AQByZXRy
aWVzL2Zhc3QvZG9tL1VUBQADLU5QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALG8qkYhjuyz
qwEAAJ4GAAA4ABgAAAAAAAEAAACkgbe2AQByZXRyaWVzL2Zhc3QvZG9tL25hbWVkLWl0ZW1zLXdp
dGgtc3ltYm9sLW5hbWUtYWN0dWFsLnR4dFVUBQADLU5QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALG8qkbUo3bPTwEAAMADAAA2ABgAAAAAAAEAAACkgdS4AQByZXRyaWVzL2Zhc3QvZG9tL25h
bWVkLWl0ZW1zLXdpdGgtc3ltYm9sLW5hbWUtZGlmZi50eHRVVAUAAy1OUFV1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACxvKpGyTy3IJMBAAB4BgAAOgAYAAAAAAABAAAApIGTugEAcmV0cmllcy9m
YXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLXN5bWJvbC1uYW1lLWV4cGVjdGVkLnR4dFVUBQADLU5Q
VXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALG8qkbzlJEouQgAANIjAAA+ABgAAAAAAAEAAACk
gZq8AQByZXRyaWVzL2Zhc3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtc3ltYm9sLW5hbWUtcHJldHR5
LWRpZmYuaHRtbFVUBQADLU5QVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGu8qkYAAAAAAAAA
AAAAAAALABgAAAAAAAAAEADtQcvFAQBzY3JvbGxiYXJzL1VUBQADqk1QVXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGu8qkZuvSNhOQAAAEIAAAA7ABgAAAAAAAEAAACkgRDGAQBzY3JvbGxiYXJz
L3Njcm9sbGV2ZW50LWlmcmFtZS1uby1zY3JvbGxpbmctd2hlZWwtc3RkZXJyLnR4dFVUBQADqk1Q
VXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALO8qkbTe0HtTxoHAPLNJgAKABgAAAAAAAEAAACk
gb7GAQBzdGF0cy5qc29uVVQFAAMyTlBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAApLyqRgAA
AAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1BUeEIAHN2Zy9VVAUAAxNOUFV1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACJvKpGAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UGP4QgAc3ZnL2FzLWltYWdl
L1VUBQAD4U1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIm8qkbbCNNCOwAAAD8AAAA/ABgA
AAAAAAEAAACkgdbhCABzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLXdpdGgtZGF0YS11cmktaW1hZ2Vz
LWRpc2FibGVkLXN0ZGVyci50eHRVVAUAA+FNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACk
vKpGAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UGK4ggAc3ZnL2N1c3RvbS9VVAUAAxNOUFV1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACkvKpGIfT28DoAAABCAAAAMAAYAAAAAAABAAAApIHP4ggA
c3ZnL2N1c3RvbS91c2UtaW52YWxpZGF0ZS1jbGljay1jcmFzaC1zdGRlcnIudHh0VVQFAAMTTlBV
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjLyqRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1B
c+MIAHN2Zy9zdHJva2UvVVQFAAPoTVBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjLyqRjUV
dfuQAAAApgAAACUAGAAAAAAAAQAAAKSBuOMIAHN2Zy9zdHJva2UvemVyby13aWR0aC1oYW5nLXN0
ZGVyci50eHRVVAUAA+hNUFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTvKpGAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UGn5AgAd2ViYXJjaGl2ZS9VVAUAA/ZNUFV1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACTvKpGAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UHs5AgAd2ViYXJjaGl2ZS9s
b2FkaW5nL1VUBQAD9k1QVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJO8qka71UEj4QAAAE4D
AAAxABgAAAAAAAEAAACkgTnlCAB3ZWJhcmNoaXZlL2xvYWRpbmcvdmlkZW8taW4td2ViYXJjaGl2
ZS1zdGRlcnIudHh0VVQFAAP2TVBVdXgLAAEE9QEAAAQUAAAAUEsFBgAAAABaAFoAlCQAAIXmCAAA
AA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252955</attachid>
            <date>2015-05-12 04:08:52 -0700</date>
            <delta_ts>2015-05-12 07:30:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150512200729.patch</filename>
            <type>text/plain</type>
            <size>215963</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmM0ZmFiN2JhOGU0MDU5Y2ZiYmIyNjBmMDc4MWJiNmU5ZDkzMjZlLi4xZWE0M2NmNjczNWU5OTQ5
NDRkZTUyNDMxZDQ5NGU2YTA1Y2YwNWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzcgQEAKKzIwMTUtMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bmFtZUZvclJlZ2lzdGVyKToKKyAgICAgICAgKiBi
eXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q29tcGxleEdldFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5o
OgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oOgorICAgICAg
ICAqIGJ5dGVjb2RlL0luc3RydWN0aW9uLmg6CisgICAgICAgIChKU0M6Okluc3RydWN0aW9uOjpJ
bnN0cnVjdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAg
ICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlND
OjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlMaXN0Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6SW5saW5lU3RhY2tFbnRyeTo6SW5saW5lU3RhY2tFbnRyeSk6CisgICAgICAgICogZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElk
ZW50aWZpZXJzOjphZGRMYXppbHkpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlm
aWVyczo6YXQpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5
QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmg6CisgICAgICAgIChK
U0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjpvcGVyYXRvcltdKToKKyAgICAgICAgKiBkZmcv
REZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBO
b2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjppc1N0cmluZ1Byb3RvdHlwZU1l
dGhvZFNhbmUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbik6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Omlk
ZW50aWZpZXJVSUQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3Bl
cmF0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6bW1BbGxvY2F0ZURhdGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVE
ZXNjcmlwdG9yLmg6CisgICAgICAgIChKU0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hlRGVz
Y3JpcHRvcjo6dWlkKToKKyAgICAgICAgKEpTQzo6RlRMOjpHZXRCeUlkRGVzY3JpcHRvcjo6R2V0
QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OlB1dEJ5SWREZXNjcmlwdG9yOjpQ
dXRCeUlkRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6Q2hlY2tJbkRlc2NyaXB0b3I6
OkNoZWNrSW5EZXNjcmlwdG9yKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUluKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Z2V0QnlJZCk6CisgICAgICAgICogZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGppdC9K
SVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAqIHBhcnNlci9Ob2Rlcy5jcHA6CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpzZXRDbG9z
ZWRWYXJpYWJsZXMpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpT
Y29wZU5vZGU6OmNhcHR1cmVzKToKKyAgICAgICAgKEpTQzo6U2NvcGVOb2RlOjpzZXRDbG9zZWRW
YXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y2xvc2VkVmFyaWFibGVzKToK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlk
RmluaXNoUGFyc2luZyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
cmljdE9iamVjdExpdGVyYWwpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAg
KEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZVZhcmlhYmxl
KToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAgICAgICAoSlND
OjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnVz
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZhcmlhYmxlc1Rv
VmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAoSlNDOjpTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChKU0M6OlNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjppc1ByaXZh
dGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAg
ICogcnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkOCk6CisgICAgICAgICogcnVudGltZS9J
ZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OmltcGwpOgorICAgICAgICAo
SlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6
YWRkKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXJSZXBIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpJ
ZGVudGlmaWVyOjphZGQpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpmcm9tVWlkKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlND
OjpJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKToKKyAgICAgICAg
KiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAgICAoSlNDOjpKU1JvcGVTdHJp
bmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmluZyk6CisgICAgICAgICogcnVudGlt
ZS9KU1N0cmluZy5oOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6dG9FeGlzdGluZ0F0b21pY1N0
cmluZyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRh
YmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBEYXRhLmg6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVj
dG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAgKiBydW50aW1lL1ByaXZhdGVOYW1l
Lmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2YXRlTmFtZSk6CisgICAgICAgIChK
U0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlNYXBIYXNo
VGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZS5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFt
ZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpwdWJsaWNOYW1lKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJh
eS5jcHA6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFtZUFycmF5OjphZGQpOgorICAgICAgICAq
IHJ1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1l
QXJyYXk6OmFkZEtub3duVW5pcXVlKToKKyAgICAgICAgKiBydW50aW1lL1NtYWxsU3RyaW5ncy5j
cHA6CisgICAgICAgIChKU0M6OlNtYWxsU3RyaW5nc1N0b3JhZ2U6OlNtYWxsU3RyaW5nc1N0b3Jh
Z2UpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyk6CisgICAgICAgIChKU0M6OlN0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZTo6Z2V0KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9w
ZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbCk6CisgICAgICAgIChKU0M6OlN0
cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJl
bnRseSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnJlbW92
ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAgICAgKEpTQzo6UHJvcGVy
dHlNYXBFbnRyeTo6UHJvcGVydHlNYXBFbnRyeSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1
cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KToK
KyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6Okhhc2g6Omhhc2gpOgorICAgICAgICAqIHJ1
bnRpbWUvU3ltYm9sLmNwcDoKKyAgICAgICAgKEpTQzo6U3ltYm9sOjpTeW1ib2wpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3ltYm9sLmg6CisgICAgICAgICogcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0cnVjdG9yRm9yKToKKyAgICAgICAgKEpT
Qzo6c3ltYm9sQ29uc3RydWN0b3JLZXlGb3IpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFi
bGUuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6dW5pcXVlSURGb3JWYXJpYWJsZSk6
CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1R5cGVT
ZXQuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6YWRkUHJvcGVydHkpOgorICAg
ICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlIYXNoKToKKyAgICAgICAgKiBydW50
aW1lL1R5cGVTZXQuaDoKKwogMjAxNS0wNS0xMCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IEF0b21pY1N0cmluZ0ltcGwqIGhh
c2ggc3BlY2lmaWNhdGlvbiBpbiBQcm9wZXJ0eU5hbWVBcnJheS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYTY1MTMzYTdmMDVh
YWQ3NDhiMDc3N2I4NzI5NDk4N2M3NWE2MjJkZS4uMWFkOGU5YjNmZTBhMjRlYzg2MGRhNTZmMzY3
MmE1YzUyOWI0NzEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMzUgQEAKKzIwMTUtMDUtMTIgIFl1c3VrZSBT
dXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1
ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3Mg
ZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgY3VycmVudCBBdG9taWNTdHJpbmdJbXBsIGFjY2lkZW50YWxseSBt
ZWFucyB0aGUgc3ltYm9sIE9SIGF0b21pYyBTdHJpbmdJbXBsLgorICAgICAgICBJdCdzIG5vdCBj
b3JyZWN0IHRvIGl0cyBuYW1lIGFuZCBpdCdzIGVycm9yIHByb25lLgorCisgICAgICAgIEluIHRo
aXMgcGF0Y2gsIHdlJ2xsIGludHJvZHVjZS9jaGFuZ2VzIGNsYXNzZXMgaW50byBXVEYuCisKKyAg
ICAgICAgMS4gVW5pcXVlZFN0cmluZ0ltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZy
b20gU3RyaW5nSW1wbC4gQW5kIGl0IHJlcHJlc2VudHMgc3ltYm9sIHx8IGF0b21pYyBTdHJpbmdJ
bXBsLgorCisgICAgICAgIDIuIFN5bWJvbEltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNz
IGZyb20gVW5pcXVlZFN0cmluZ0ltcGwuIE9ubHkgc3ltYm9sIHN0cmluZ3MgY2FuIGJlY29tZSB0
aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJpbmdJbXBsIGlzIHN5bWJvbCBp
biBjb21waWxlIHRpbWUuCisKKyAgICAgICAgMy4gQXRvbWljU3RyaW5nSW1wbAorICAgICAgICBJ
dCdzIGRlcml2ZWQgY2xhc3MgZnJvbSBVbmlxdWVkU3RyaW5nSW1wbC4gT25seSBhdG9taWMgKG5v
bi1ub3JtYWwgJiYgbm9uLXN5bWJvbCkgc3RyaW5ncyBjYW4gYmVjb21lIHRoaXMuCisgICAgICAg
IEl0IGVuc3VyZXMgdGhlIGdpdmVuIFN0cmluZ0ltcGwgaXMgYXRvbWljIGluIGNvbXBpbGUgdGlt
ZS4KKworICAgICAgICBBbmQsIGluIHRoaXMgdGltZSwgSSBqdXN0IGFjY2VwdCBVbmlxdWVTdHJp
bmdJbXBsIGluIEF0b21pY1N0cmluZy4gQXMgdGhlIHJlc3VsdCwKKyAgICAgICAgMS4gTm93IEF0
b21pY1N0cmluZ0ltcGwgaXNzdWUgaXMgZml4ZWQuIEl0cyBTeW1ib2xJbXBsIGlzIHNlcGFyYXRl
ZCBhbmQgVW5pcXVlZFN0cmluZ0ltcGwgaXMgaW50cm9kdWNlZC4KKyAgICAgICAgMi4gQnV0IEF0
b21pY1N0cmluZyBzdGlsbCBoYXZlIGJvdGggc3ltYm9sIGFuZCBhdG9taWMgc3RyaW5ncy4KKyAg
ICAgICAgVGhpcyBzaG91bGQgYmUgc29sdmVkIGluIHRoZSBzZXBhcmF0ZWQgcGF0Y2guCisKKyAg
ICAgICAgQW5kLCBpbiB0aGlzIHBhdGNoLCB3ZSBtb3ZlZCB0aGUgQXRvbWljU3RyaW5nIHRhYmxl
IHJlbGF0ZWQgb3BlcmF0aW9ucyBmcm9tIEF0b21pY1N0cmluZyB0byBBdG9taWNTdHJpbmdJbXBs
LgorICAgICAgICBJdCBpcyByZWFzb25hYmxlIGJlY2F1c2UgdGhlc2Ugb3BlcmF0aW9uIHJlZ2lz
dGVycyBTdHJpbmdJbXBsIGFuZCByZXR1cm5lcyBBdG9taWNTdHJpbmdJbXBsLgorCisgICAgICAg
ICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9QcmludFN0cmVhbS5jcHA6Cisg
ICAgICAgICogd3RmL1ByaW50U3RyZWFtLmg6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwp
OgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHA6CisgICAgICAgIChXVEY6OkF0
b21pY1N0cmluZzo6bG93ZXIpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmNvbnZlcnRU
b0FTQ0lJTG93ZXJjYXNlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpmcm9tVVRGOElu
dGVybmFsKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nVGFibGVMb2NrZXI6OkF0b21pY1N0
cmluZ1RhYmxlTG9ja2VyKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6c3RyaW5nVGFibGUpOiBE
ZWxldGVkLgorICAgICAgICAoV1RGOjphZGRUb1N0cmluZ1RhYmxlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdURjo6Q1N0cmluZ1RyYW5zbGF0b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpDU3RyaW5nVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpDU3Ry
aW5nVHJhbnNsYXRvcjo6dHJhbnNsYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWlj
U3RyaW5nOjphZGQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0
b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOjp0
cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5z
bGF0b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1Ry
YW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6SGFzaEFuZENoYXJhY3Rl
cnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5k
VVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
SGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxl
dGVkLgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxl
dGVkLgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xhdG9yODo6aGFzaCk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I4OjplcXVhbCk6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6aGFzaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAo
V1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6TENoYXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAo
V1RGOjpDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvcjo6aGFzaCk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjplcXVh
bCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFu
c2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6
OmFkZEZyb21MaXRlcmFsRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmlu
Zzo6YWRkU2xvd0Nhc2UpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OnJl
bW92ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6ZmluZFNsb3dDYXNl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpmaW5kSW50ZXJuYWwpOiBE
ZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmlzSW5BdG9taWNTdHJpbmdUYWJs
ZSk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL3RleHQvQXRvbWljU3RyaW5nLmg6CisgICAgICAg
IChXVEY6OkF0b21pY1N0cmluZzo6QXRvbWljU3RyaW5nKToKKyAgICAgICAgKFdURjo6QXRvbWlj
U3RyaW5nOjpmaW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjphZGQp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZFdpdGhTdHJpbmdUYWJs
ZVByb3ZpZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBs
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwLgor
ICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdUYWJsZUxvY2tlcjo6QXRvbWljU3RyaW5nVGFibGVM
b2NrZXIpOgorICAgICAgICAoV1RGOjpzdHJpbmdUYWJsZSk6CisgICAgICAgIChXVEY6OmFkZFRv
U3RyaW5nVGFibGUpOgorICAgICAgICAoV1RGOjpDU3RyaW5nVHJhbnNsYXRvcjo6aGFzaCk6Cisg
ICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjplcXVhbCk6CisgICAgICAgIChXVEY6OkNT
dHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJ
bXBsOjphZGQpOgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6Omhhc2gpOgor
ICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdU
Rjo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpIYXNo
QW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hh
cmFjdGVyc1RyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6SGFzaEFuZENoYXJhY3Rl
cnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJh
Y3RlcnNUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6SGFzaEFuZFVURjhDaGFyYWN0
ZXJzVHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3Rl
cnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xh
dG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xhdG9yODo6aGFz
aCk6CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I4OjplcXVhbCk6CisgICAgICAg
IChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6aGFzaCk6CisgICAgICAgIChXVEY6OlN1YnN0
cmluZ1RyYW5zbGF0b3IxNjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5z
bGF0b3I6Omhhc2gpOgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OmVxdWFs
KToKKyAgICAgICAgKFdURjo6TENoYXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAg
ICAgICAoV1RGOjpDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvcjo6aGFzaCk6Cisg
ICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjplcXVhbCk6
CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjp0cmFu
c2xhdGUpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGRGcm9tTGl0ZXJhbERh
dGEpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGRTbG93Q2FzZSk6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZSk6CisgICAgICAgIChXVEY6OkF0b21p
Y1N0cmluZ0ltcGw6Omxvb2t1cFNsb3dDYXNlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5n
SW1wbDo6YWRkRnJvbVVURjgpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjpsb29r
dXBJbnRlcm5hbCk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmlzSW5BdG9taWNT
dHJpbmdUYWJsZSk6CisgICAgICAgICogd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oOgorICAg
ICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjpsb29rdXApOgorICAgICAgICAoV1RGOjpBdG9t
aWNTdHJpbmdJbXBsOjphZGQpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGRX
aXRoU3RyaW5nVGFibGVQcm92aWRlcik6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6
OkF0b21pY1N0cmluZ0ltcGwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjp+U3RyaW5nSW1wbCk6CisgICAgICAg
IChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbCk6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmNyZWF0ZVN5bWJvbEVtcHR5KToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6
CisgICAgICAgICogd3RmL3RleHQvU3ltYm9sSW1wbC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oLgorICAgICAgICAqIHd0Zi90ZXh0L1N5
bWJvbFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdURjo6U3ltYm9sUmVnaXN0cnk6OnN5bWJvbEZv
cktleSk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2wpOgorICAg
ICAgICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKToKKyAgICAgICAgKiB3dGYvdGV4dC9T
eW1ib2xSZWdpc3RyeS5oOgorICAgICAgICAqIHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgu
CisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6CisgICAgICAgIChXVEY6OlN0cmluZzo6
U3RyaW5nKToKKwogMjAxNS0wNS0wOSAgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KIAogICAg
ICAgICBSZW1vdmUgdGhlIFBJQ1RVUkVfU0laRVMgYnVpbGQgZmxhZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE4
ZjZjYjRmZTM0NGFhODc0MTg5OWZmYWM3MTYzY2Y1ZjY4MzliMzAuLjg0ZmQ5MWVjNjc0ODQxYTJk
YWExMDBlYmMxNjEzMzRhOWRmN2ZiOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
NS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAg
ICBJbnRyb2R1Y2UgVW5pcXVlZFN0cmluZ0ltcGwgYW5kIFN5bWJvbEltcGwgdG8gc2VwYXJhdGUg
c3ltYm9saWMgc3RyaW5ncyBmcm9tIEF0b21pY1N0cmluZ0ltcGwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBVbmlxdWVkU3RyaW5nSW1wbCwgU3lt
Ym9sSW1wbCBhbmQgQXRvbWljU3RyaW5nSW1wbC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtUmVhZGVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNsb3NlZFByb21pc2VT
bG90TmFtZSk6CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6d3JpdGUpOgorICAgICAgICAq
IGRvbS9UcmVlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjpnZXRFbGVt
ZW50QnlJZCk6CisKIDIwMTUtMDUtMTAgIFN1bmdtYW5uIENobyAgPHN1bmdtYW5uLmNob0BuYXZl
cmNvcnAuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgdGhlIHB1YmxpYyBpdGVtIGFjY2Vzc29y
cyBpbiBCYWNrRm9yd2FyZENsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2Fs
bGJhY2tPYmplY3QuaAppbmRleCBlYTRjZmFmZDdjM2ViOGVhNmNlNzNmMjMxNmQ0N2Q4ZWM0Y2U1
ZTcxLi4zM2I0MjYyZTYyMDE3NGNkN2JjZDQ3MWM1MGE2OTNhOWY0MGI0YTA1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTA3LDcgKzEwNyw3
IEBAIHN0cnVjdCBKU0NhbGxiYWNrT2JqZWN0RGF0YSB7CiAgICAgICAgIH0KIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFdyaXRlQmFy
cmllcjxVbmtub3duPiwgSWRlbnRpZmllclJlcEhhc2g+IFByaXZhdGVQcm9wZXJ0eU1hcDsKKyAg
ICAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFdyaXRlQmFy
cmllcjxVbmtub3duPiwgSWRlbnRpZmllclJlcEhhc2g+IFByaXZhdGVQcm9wZXJ0eU1hcDsKICAg
ICAgICAgUHJpdmF0ZVByb3BlcnR5TWFwIG1fcHJvcGVydHlNYXA7CiAgICAgfTsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8SlNQcml2YXRlUHJvcGVydHlNYXA+IG1fcHJpdmF0ZVByb3BlcnRpZXM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKaW5kZXggNzlh
Y2MxNGRiMTQ4M2EyZmZhYjIxOGI0ZjNjMzIwODY2NjNjMzQ4My4uZTIzZjgwYTc1OWQ5OTdlYzZm
YmQ4Zjg2NDQ3NmQ4N2ZjYjBlZjMxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9CdWlsdGluTmFtZXMuaApAQCAtMzcsNyArMzcsNyBAQAogICAgIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUjI1B1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtXyMjbmFtZTsgfSBcCiAgICAg
Y29uc3QgSWRlbnRpZmllciYgbmFtZSMjUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtXyMj
bmFtZSMjUHJpdmF0ZU5hbWU7IH0KIAotI2RlZmluZSBJTklUSUFMSVNFX0JVSUxUSU5fU1lNQk9M
UyhuYW1lKSBJTklUSUFMSVNFX0JVSUxUSU5fTkFNRVMobmFtZSksIG1fIyNuYW1lIyNTeW1ib2wo
SWRlbnRpZmllcjo6ZnJvbVVpZChQcml2YXRlTmFtZShBU0NJSUxpdGVyYWwoIlN5bWJvbC4iICNu
YW1lKSkpKQorI2RlZmluZSBJTklUSUFMSVNFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBJTklUSUFM
SVNFX0JVSUxUSU5fTkFNRVMobmFtZSksIG1fIyNuYW1lIyNTeW1ib2woSWRlbnRpZmllcjo6ZnJv
bVVpZChQcml2YXRlTmFtZShQcml2YXRlTmFtZTo6RGVzY3JpcHRpb24sIEFTQ0lJTGl0ZXJhbCgi
U3ltYm9sLiIgI25hbWUpKSkpCiAjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKG5hbWUp
IERFQ0xBUkVfQlVJTFRJTl9OQU1FUyhuYW1lKSBjb25zdCBJZGVudGlmaWVyIG1fIyNuYW1lIyNT
eW1ib2w7CiAjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IobmFtZSkgXAog
ICAgIERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09SKG5hbWUpIFwKQEAgLTY0LDcg
KzY0LDggQEAgY2xhc3MgQnVpbHRpbk5hbWVzIHsKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElTRV9QVUJMSUNfVE9f
UFJJVkFURV9FTlRSWSkKICAgICB9CiAKLSAgICBib29sIGlzUHJpdmF0ZU5hbWUoU3RyaW5nSW1w
bCogdWlkKSBjb25zdDsKKyAgICBib29sIGlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYgdWlkKSBj
b25zdDsKKyAgICBib29sIGlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwmIHVpZCkgY29u
c3Q7CiAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKICAg
ICBjb25zdCBJZGVudGlmaWVyKiBnZXRQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29u
c3Q7CiAgICAgY29uc3QgSWRlbnRpZmllciYgZ2V0UHVibGljTmFtZShjb25zdCBJZGVudGlmaWVy
JikgY29uc3Q7CkBAIC03OCw3ICs3OSw3IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAgICAgSlND
X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfQlVJTFRJTl9OQU1FUykKICAg
ICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKERFQ0xB
UkVfQlVJTFRJTl9OQU1FUykKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFD
SF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKLSAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmll
clJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVu
aXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBC
dWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2YXRlTWFw
OwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKIH07CkBAIC05MCwx
NiArOTEsMjEgQEAgY2xhc3MgQnVpbHRpbk5hbWVzIHsKICN1bmRlZiBJTklUSUFMSVNFX0JVSUxU
SU5fU1lNQk9MUwogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IKIAotaW5s
aW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29u
c3QKK2lubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTeW1ib2xJbXBsJiB1
aWQpIGNvbnN0CiB7Ci0gICAgaWYgKCF1aWQtPmlzU3ltYm9sKCkpCisgICAgcmV0dXJuIG1fcHJp
dmF0ZVRvUHVibGljTWFwLmNvbnRhaW5zKCZ1aWQpOworfQorCitpbmxpbmUgYm9vbCBCdWlsdGlu
TmFtZXM6OmlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwmIHVpZCkgY29uc3QKK3sKKyAg
ICBpZiAoIXVpZC5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJu
IG1fcHJpdmF0ZVRvUHVibGljTWFwLmNvbnRhaW5zKHVpZCk7CisgICAgcmV0dXJuIG1fcHJpdmF0
ZVRvUHVibGljTWFwLmNvbnRhaW5zKCZ1aWQpOwogfQogCiBpbmxpbmUgYm9vbCBCdWlsdGluTmFt
ZXM6OmlzUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIGlzUHJpdmF0ZU5hbWUoaWRlbnQuaW1wbCgpKTsKKyAgICByZXR1cm4gaXNQcml2YXRl
TmFtZSgqaWRlbnQuaW1wbCgpKTsKIH0KIAogaW5saW5lIGNvbnN0IElkZW50aWZpZXIqIEJ1aWx0
aW5OYW1lczo6Z2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5z
aWNSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50
cmluc2ljUmVnaXN0cnkuaAppbmRleCA4MzFiYzY2OGRiOTQzNzU2NjM5YmI0Y2ZmMWIzNDczN2M4
YmUyYjRiLi44N2E1NzhjMTZjMzBhMzM0NzAxNDUxNTZlNWQxYzdiN2JhMTMyZTI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdp
c3RyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJp
bnNpY1JlZ2lzdHJ5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgQnl0ZWNvZGVJbnRyaW5zaWNS
ZWdpc3RyeSB7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgQ29tbW9uSWRlbnRpZmllcnMmIG1fcHJv
cGVydHlOYW1lczsKLSAgICBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgRW1pdHRlclR5cGUs
IElkZW50aWZpZXJSZXBIYXNoPiBtX2J5dGVjb2RlSW50cmluc2ljTWFwOworICAgIEhhc2hNYXA8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgRW1pdHRlclR5cGUsIElkZW50aWZpZXJSZXBIYXNo
PiBtX2J5dGVjb2RlSW50cmluc2ljTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDkwMTM4Zjk3
Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEzZjQwNTYuLjc5NmYzOTkwYWMwNTdkNWU0MTRjNjI0
NzVkMzUwZDc1NDE2MmRjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRl
ci5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgog
CiAjaWYgRU5BQkxFKERGR19KSVQpCiAjaW5jbHVkZSAiREZHT3BlcmF0aW9ucy5oIgpAQCAtMjAw
NSw3ICsyMDA2LDcgQEAgY2xhc3MgUHV0VG9TY29wZUZpcmVEZXRhaWwgOiBwdWJsaWMgRmlyZURl
dGFpbCB7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihwY1syXS51
Lm9wZXJhbmQpICE9IFVJTlRfTUFYKSB7CiAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGRpZENsb25lU3ltYm9sVGFibGUpOwogICAgICAgICAgICAgICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIocGNbMl0udS5vcGVyYW5kKTsKLSAgICAgICAgICAg
ICAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gaWRlbnQuaW1wbCgpOworICAgICAgICAgICAgICAg
ICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gaWRlbnQuaW1wbCgpOwogICAgICAgICAgICAg
ICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX3N5bWJvbFRhYmxlLT5tX2xvY2sp
OwogICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZTo6TWFwOjppdGVyYXRvciBpdGVyID0g
bV9zeW1ib2xUYWJsZS0+ZmluZChsb2NrZXIsIHVpZCk7CiAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChpdGVyICE9IG1fc3ltYm9sVGFibGUtPmVuZChsb2NrZXIpKTsKQEAgLTM4MDksNyArMzgx
MCw3IEBAIFN0cmluZyBDb2RlQmxvY2s6Om5hbWVGb3JSZWdpc3RlcihWaXJ0dWFsUmVnaXN0ZXIg
dmlydHVhbFJlZ2lzdGVyKQogICAgICAgICBpZiAocHRyLT52YWx1ZS52YXJPZmZzZXQoKSA9PSBW
YXJPZmZzZXQodmlydHVhbFJlZ2lzdGVyKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMg
d29uJ3Qgd29yayBmcm9tIHRoZSBjb21waWxhdGlvbiB0aHJlYWQuCiAgICAgICAgICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1MzAwCi0gICAgICAgICAg
ICByZXR1cm4gU3RyaW5nKHB0ci0+a2V5KTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmcocHRy
LT5rZXkuZ2V0KCkpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmICh2aXJ0dWFsUmVnaXN0ZXIg
PT0gdGhpc1JlZ2lzdGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29tcGxleEdldFN0YXR1cy5jcHAKaW5kZXggMDQyZGNlYzc3ZWZkYzIwYzEzMjVlZDI3Yzhk
Nzk5ZTczNzdmNjQ5Ny4uZDgxM2EzZDY1N2VjYWNkOTdkOGYxMGUwODYwNjQzNjc2MWJjZTU3YiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0
dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3Rh
dHVzLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBDb21wbGV4R2V0U3RhdHVzIENvbXBsZXhHZXRT
dGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1
cmUqIGhlYWRTdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwKLSAgICB1bnNpZ25lZCBj
aGFpbkNvdW50LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgdW5zaWduZWQgY2hhaW5Db3Vu
dCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFz
c2VydCB0aGF0IHdlIG5ldmVyIHNlZSBhIHN0cnVjdHVyZSB0aGF0CiAgICAgLy8gaGFzSW1wdXJl
R2V0T3duUHJvcGVydHlTbG90KCkgYnV0IGZvciB3aGljaCB3ZSBkb24ndApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmgKaW5kZXggMTE1YmYz
Y2U0MWY1MDhjMTY3ZDgwZDE0YWQxZTg0YThlZjkwMGMzMy4uMjYyMDQwNWE5NmY5Nzk4NTAxMzQx
MzgwNmM2YzQyNTFlZTRkM2QyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5oCkBAIC05OCw3ICs5OCw3IEBAIGNsYXNzIENvbXBsZXhH
ZXRTdGF0dXMgewogICAgIAogICAgIHN0YXRpYyBDb21wbGV4R2V0U3RhdHVzIGNvbXB1dGVGb3Io
CiAgICAgICAgIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3RydWN0
dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sCi0gICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQs
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0
dXJuIG1fa2luZDsgfQogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBt
X2F0dHJpYnV0ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAppbmRleCBiZjI4YzU1OWE2YjA5NjZlZWFlY2VkZGUyMTQ1NDVkZDc4NWU4
YzFjLi4zMGMyMjA0N2UyNWM0MTVmMjY4NmY1NTk4NDM5MDA3ZGIxNjc5MzM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCkBAIC02Niw3
ICs2Niw3IEBAIGJvb2wgR2V0QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByCiB9CiAjZW5kaWYKIAotR2V0QnlJZFN0
YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRC
bG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0
QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BBUkFN
KGJ5dGVjb2RlSW5kZXgpOwpAQCAtOTEsNyArOTEsNyBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRT
dGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25l
ZAogICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKFNpbXBsZSwgZmFsc2UsIEdldEJ5SWRWYXJpYW50
KFN0cnVjdHVyZVNldChzdHJ1Y3R1cmUpLCBvZmZzZXQpKTsKIH0KIAotR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1Yklu
Zm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlk
KQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihw
cm9maWxlZEJsb2NrLT5tX2xvY2spOwogCkBAIC0xMTgsNyArMTE4LDcgQEAgR2V0QnlJZFN0YXR1
cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1
YkluZm9NYXAmIG0KIAogI2lmIEVOQUJMRShKSVQpCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3JTdHViSW5mbygKLSAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBs
b2NrZXIsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsCisgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tl
ciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwKICAgICBDYWxsTGlua1N0YXR1czo6RXhp
dFNpdGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1
YkluZm8tPnNlZW4pCkBAIC0yMjQsNyArMjI0LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3Rh
dHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiAKIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6
Y29tcHV0ZUZvcigKICAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIENvZGVCbG9jayogZGZn
QmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwKLSAgICBTdHViSW5mb01hcCYgZGZnTWFw
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKKyAgICBTdHVi
SW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgaWYgKGRmZ0Jsb2NrKSB7CkBAIC0y
NjIsNyArMjYyLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAog
ICAgIHJldHVybiBjb21wdXRlRm9yKHByb2ZpbGVkQmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3Jp
Z2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgQXRvbWljU3RyaW5nSW1wbCog
dWlkKQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKGNvbnN0IFN0cnVj
dHVyZVNldCYgc2V0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIC8vIEZvciBub3cg
d2Ugb25seSBoYW5kbGUgdGhlIHN1cGVyIHNpbXBsZSBzZWxmIGFjY2VzcyBjYXNlLiBXZSBjb3Vs
ZCBoYW5kbGUgdGhlCiAgICAgLy8gcHJvdG90eXBlIGNhc2UgaW4gdGhlIGZ1dHVyZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCmluZGV4IDI3YmZi
ODhmNGMxMmQ3NmI2MjkyODVmMWNhZDIzZjI2Y2FiZDVlYzguLjdkNGViYjIyY2ZkNWE4YWM4ZWJh
YjBjYmU1YjUyZjU0NjMxNjgyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuaApAQCAtNjcsMTAgKzY3LDEwIEBAIGNsYXNzIEdldEJ5SWRTdGF0
dXMgewogICAgICAgICBtX3ZhcmlhbnRzLmFwcGVuZCh2YXJpYW50KTsKICAgICB9CiAgICAgCi0g
ICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHViSW5mb01h
cCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAg
c3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3Io
Q29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKGNv
bnN0IFN0cnVjdHVyZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAotICAgIHN0
YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBD
b2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFw
JiBkZmdNYXAsIENvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGlj
IEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVC
bG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRm
Z01hcCwgQ29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgU3Rh
dGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05Nyw5ICs5Nyw5
IEBAIGNsYXNzIEdldEJ5SWRTdGF0dXMgewogI2lmIEVOQUJMRShKSVQpCiAgICAgc3RhdGljIEdl
dEJ5SWRTdGF0dXMgY29tcHV0ZUZvclN0dWJJbmZvKAogICAgICAgICBjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyos
Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRl
RGF0YSk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpF
eGl0U2l0ZURhdGEpOwogI2VuZGlmCi0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZy
b21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29k
ZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7
CiAgICAgCiAgICAgYm9vbCBhcHBlbmRWYXJpYW50KGNvbnN0IEdldEJ5SWRWYXJpYW50Jik7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4
IGI0MmU0MjkxOGFhZjc0NmM5Mzk2MDliOWJkMWUyZjk5ZDA2YjRmOTcuLmMyMGE0ZjcyODRlYzFj
NTgxODg0ODYwMjJiMDliZDY0MGMyMzExNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnN0cnVjdGlvbi5oCkBAIC0xMDAsNyArMTAwLDcgQEAgc3RydWN0IEluc3RydWN0
aW9uIHsKICAgICBJbnN0cnVjdGlvbihPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSogcHJvZmlsZSkg
eyB1Lm9iamVjdEFsbG9jYXRpb25Qcm9maWxlID0gcHJvZmlsZTsgfQogICAgIEluc3RydWN0aW9u
KFdyaXRlQmFycmllcjxVbmtub3duPiogdmFyaWFibGVQb2ludGVyKSB7IHUudmFyaWFibGVQb2lu
dGVyID0gdmFyaWFibGVQb2ludGVyOyB9CiAgICAgSW5zdHJ1Y3Rpb24oU3BlY2lhbDo6UG9pbnRl
ciBwb2ludGVyKSB7IHUuc3BlY2lhbFBvaW50ZXIgPSBwb2ludGVyOyB9Ci0gICAgSW5zdHJ1Y3Rp
b24oU3RyaW5nSW1wbCogdWlkKSB7IHUudWlkID0gdWlkOyB9CisgICAgSW5zdHJ1Y3Rpb24oVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkgeyB1LnVpZCA9IHVpZDsgfQogICAgIEluc3RydWN0aW9uKGJv
b2wqIHByZWRpY2F0ZVBvaW50ZXIpIHsgdS5wcmVkaWNhdGVQb2ludGVyID0gcHJlZGljYXRlUG9p
bnRlcjsgfQogCiAgICAgdW5pb24gewpAQCAtMTE0LDcgKzExNCw3IEBAIHN0cnVjdCBJbnN0cnVj
dGlvbiB7CiAgICAgICAgIFNwZWNpYWw6OlBvaW50ZXIgc3BlY2lhbFBvaW50ZXI7CiAgICAgICAg
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGdldHRlckZ1bmM7CiAgICAgICAgIExMSW50Q2Fs
bExpbmtJbmZvKiBjYWxsTGlua0luZm87Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZDsKKyAgICAg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZDsKICAgICAgICAgVmFsdWVQcm9maWxlKiBwcm9maWxl
OwogICAgICAgICBBcnJheVByb2ZpbGUqIGFycmF5UHJvZmlsZTsKICAgICAgICAgQXJyYXlBbGxv
Y2F0aW9uUHJvZmlsZSogYXJyYXlBbGxvY2F0aW9uUHJvZmlsZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAppbmRleCA3ZWMwYmE0MzBlNjZm
NzQxODMzOWQ5ODM0ZjVmNjJhYjFjNmU5ZjkwLi4yNGQ3YjQ0ZTQ1N2JhNmE2MDVhM2MxYzJjNWY5
N2U3ODE0ZWI2NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHV0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1
dEJ5SWRTdGF0dXMuY3BwCkBAIC02Miw3ICs2Miw3IEBAIGJvb2wgUHV0QnlJZFN0YXR1czo6aGFz
RXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHBy
CiB9CiAjZW5kaWYKIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxM
SW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRv
bWljU3RyaW5nSW1wbCogdWlkKQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
RnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRl
eCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRC
bG9jayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwpAQCAtMTA1LDcgKzEwNSw3
IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxv
Y2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkCiAgICAgcmV0dXJuIFB1dEJ5SWRWYXJpYW50Ojp0
cmFuc2l0aW9uKHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBpbnRlbmRlZENoYWluLmdldCgpLCBv
ZmZzZXQpOwogfQogCi1QdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29k
ZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFwLCB1bnNpZ25lZCBieXRlY29k
ZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFw
LCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAg
IENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHByb2ZpbGVkQmxvY2stPm1fbG9jayk7CiAgICAg
CkBAIC0xMzQsNyArMTM0LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICNpZiBFTkFCTEUo
SklUKQogUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiAg
ICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVk
QmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKLSAgICBBdG9taWNTdHJpbmdJbXBs
KiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEgY2FsbEV4aXRTaXRlRGF0YSkKKyAg
ICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNh
bGxFeGl0U2l0ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4p
CiAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKCk7CkBAIC0yNzQsNyArMjc0LDcgQEAgUHV0
QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiB9CiAjZW5kaWYK
IAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFz
ZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFw
LCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCkKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2Rl
QmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBi
YXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdfSklUKQogICAgIGlmIChk
ZmdCbG9jaykgewpAQCAtMzA4LDcgKzMwOCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnCiAg
ICAgcmV0dXJuIGNvbXB1dGVGb3IoYmFzZWxpbmVCbG9jaywgYmFzZWxpbmVNYXAsIGNvZGVPcmln
aW4uYnl0ZWNvZGVJbmRleCwgdWlkKTsKIH0KIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVy
ZVNldCYgc2V0LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpCitQdXRCeUlk
U3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgY29uc3QgU3RydWN0dXJlU2V0JiBzZXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIGJv
b2wgaXNEaXJlY3QpCiB7CiAgICAgaWYgKHBhcnNlSW5kZXgoKnVpZCkpCiAgICAgICAgIHJldHVy
biBQdXRCeUlkU3RhdHVzKFRha2VzU2xvd1BhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKaW5kZXggZjU1MzYyZTEzZDkzYjc3YThiY2RmM2Vm
YmQ5ZjFmZTE1YzZlN2E0YS4uMDQ2MWRjNGQ2ZmQyZjM1Yzg2NzQxYjA3NDJmNWM2OTJmMmNiMTNm
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5o
CkBAIC03MCwxMCArNzAsMTAgQEAgY2xhc3MgUHV0QnlJZFN0YXR1cyB7CiAgICAgICAgIG1fdmFy
aWFudHMuYXBwZW5kKHZhcmlhbnQpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0
YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNv
ZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1
cyBjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWlj
U3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0KTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1
cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJ
bmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMg
Y29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cnVjdHVyZVNldCYsIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpOwogICAgIAotICAgIHN0YXRpYyBQdXRCeUlk
U3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRm
Z0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENv
ZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0
dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxv
Y2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9y
aWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgU3RhdGUgc3RhdGUoKSBj
b25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05NiwxMCArOTYsMTAgQEAgY2xhc3Mg
UHV0QnlJZFN0YXR1cyB7CiAjZW5kaWYKICNpZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBQdXRC
eUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5mbygKLSAgICAgICAgY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwgQXRvbWljU3RyaW5nSW1w
bCogdWlkLAorICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLAogICAgICAgICBDYWxs
TGlua1N0YXR1czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0YXRpYyBQdXRCeUlkU3Rh
dHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwg
QXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRl
RnJvbUxMSW50KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFudChjb25zdCBQdXRCeUlk
VmFyaWFudCYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBjM2NlODc1NTkxYTMyOWY3M2Vh
NWRiMjYwNmJmNTY2OThhMjVmMWE2Li44NzYxZDVlMTc1MjA4NTc5MmY5ODAwMDAxMmQyZTZjY2Y3
OTUwYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjEwLDcgKzIxMCw3IEBAIFBhcnNlckVycm9y
IEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgYm9vbCBzaG91bGRDYXB0dXJlQWxs
T2ZUaGVUaGluZ3MgPSBtX3Nob3VsZEVtaXREZWJ1Z0hvb2tzIHx8IGNvZGVCbG9jay0+dXNlc0V2
YWwoKTsKICAgICBib29sIG5lZWRzQXJndW1lbnRzID0gZnVuY3Rpb25Ob2RlLT51c2VzQXJndW1l
bnRzKCkgfHwgY29kZUJsb2NrLT51c2VzRXZhbCgpOwogICAgIAotICAgIGF1dG8gY2FwdHVyZXMg
PSBbJl0gKFN0cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CisgICAgYXV0byBjYXB0dXJlcyA9IFsm
XSAoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CiAgICAgICAgIGlmIChzaG91bGRD
YXB0dXJlQWxsT2ZUaGVUaGluZ3MpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
aWYgKCFzaG91bGRDYXB0dXJlU29tZU9mVGhlVGhpbmdzKQpAQCAtMjI0LDcgKzIyNCw3IEBAIFBh
cnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uTm9kZS0+Y2FwdHVyZXModWlkKTsKICAgICB9OwotICAgIGF1dG8g
dmFyS2luZCA9IFsmXSAoU3RyaW5nSW1wbCogdWlkKSAtPiBWYXJLaW5kIHsKKyAgICBhdXRvIHZh
cktpbmQgPSBbJl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIC0+IFZhcktpbmQgewogICAgICAg
ICByZXR1cm4gY2FwdHVyZXModWlkKSA/IFZhcktpbmQ6OlNjb3BlIDogVmFyS2luZDo6U3RhY2s7
CiAgICAgfTsKIApAQCAtMzE0LDcgKzMxNCw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJh
dG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFy
YW1ldGVycy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgICAgIFNjb3BlT2Zmc2V0IG9mZnNl
dCA9IG1fc3ltYm9sVGFibGUtPnRha2VOZXh0U2NvcGVPZmZzZXQoKTsKICAgICAgICAgICAgICAg
ICBtX3N5bWJvbFRhYmxlLT5zZXRBcmd1bWVudE9mZnNldCh2bSwgaSwgb2Zmc2V0KTsKLSAgICAg
ICAgICAgICAgICBpZiAoU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVy
KHBhcmFtZXRlcnMuYXQoaSkpKSB7CisgICAgICAgICAgICAgICAgaWYgKFVuaXF1ZWRTdHJpbmdJ
bXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSkpIHsK
ICAgICAgICAgICAgICAgICAgICAgVmFyT2Zmc2V0IHZhck9mZnNldChvZmZzZXQpOwogICAgICAg
ICAgICAgICAgICAgICBTeW1ib2xUYWJsZUVudHJ5IGVudHJ5KHZhck9mZnNldCk7CiAgICAgICAg
ICAgICAgICAgICAgIC8vIFN0b3JlcyB0byB0aGVzZSB2YXJpYWJsZXMgdmlhIHRoZSBTY29wZWRB
cmd1bWVudHMgb2JqZWN0IHdpbGwgbm90IGRvCkBAIC0zNDIsNyArMzQyLDcgQEAgUGFyc2VyRXJy
b3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAgICAgIC8vIFdlJ3JlIGdv
aW5nIHRvIHB1dCBhbGwgcGFyYW1ldGVycyBpbnRvIHRoZSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0
LiBGaXJzdCBlbnN1cmUKICAgICAgICAgICAgIC8vIHRoYXQgdGhlIHN5bWJvbCB0YWJsZSBrbm93
cyB0aGF0IHRoaXMgaXMgaGFwcGVuaW5nLgogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBpZiAoU3Ry
aW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkp
KQorICAgICAgICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVO
YW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKQogICAgICAgICAgICAgICAgICAgICBt
X3N5bWJvbFRhYmxlLT5zZXQobmFtZSwgU3ltYm9sVGFibGVFbnRyeShWYXJPZmZzZXQoRGlyZWN0
QXJndW1lbnRzT2Zmc2V0KGkpKSkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0z
NTMsNyArMzUzLDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkK
ICAgICAgICAgLy8gQ3JlYXRlIHRoZSBmb3JtYWwgcGFyYW1ldGVycyB0aGUgbm9ybWFsIHdheS4g
QW55IG9mIHRoZW0gY291bGQgYmUgY2FwdHVyZWQsIG9yIG5vdC4gSWYKICAgICAgICAgLy8gY2Fw
dHVyZWQsIGxpZnQgdGhlbSBpbnRvIHRoZSBzY29wZS4KICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0cmluZ0lt
cGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKKyAg
ICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0
ZXIocGFyYW1ldGVycy5hdChpKSk7CiAgICAgICAgICAgICBpZiAoIW5hbWUpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgICAgICAKQEAgLTQ2NSw3ICs0NjUsNyBAQCBQYXJzZXJF
cnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICAKICAgICAgICAgYm9v
bCBoYXZlUGFyYW1ldGVyTmFtZWRBcmd1bWVudHMgPSBmYWxzZTsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0
cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkp
KTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQ
YXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CiAgICAgICAgICAgICBpZiAobmFtZSA9PSBwcm9w
ZXJ0eU5hbWVzKCkuYXJndW1lbnRzLmltcGwoKSkgewogICAgICAgICAgICAgICAgIGhhdmVQYXJh
bWV0ZXJOYW1lZEFyZ3VtZW50cyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC01
NDUsNyArNTQ1LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmluaXRpYWxpemVO
ZXh0UGFyYW1ldGVyKCkKICAgICByZXR1cm4gJnBhcmFtZXRlcjsKIH0KIAotU3RyaW5nSW1wbCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9u
UGF0dGVybk5vZGUqIHBhdHRlcm4pCitVbmlxdWVkU3RyaW5nSW1wbCogQnl0ZWNvZGVHZW5lcmF0
b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqIHBh
dHRlcm4pCiB7CiAgICAgaWYgKHBhdHRlcm4tPmlzQmluZGluZ05vZGUoKSkgewogICAgICAgICBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCA9IHN0YXRpY19jYXN0PGNvbnN0IEJpbmRpbmdOb2RlKj4o
cGF0dGVybiktPmJvdW5kUHJvcGVydHkoKTsKQEAgLTk1NCwxMyArOTU0LDEzIEBAIHZvaWQgQUxX
QVlTX0lOTElORSBCeXRlY29kZUdlbmVyYXRvcjo6cmV3aW5kVW5hcnlPcCgpCiAKIGJvb2wgQnl0
ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25z
dAogewotICAgIFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKKyAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOwogICAgIHJldHVybiBtX2lkZW50aWZpZXJNYXAu
Y29udGFpbnMocmVwKTsKIH0KIAogdW5zaWduZWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0
YW50KGNvbnN0IElkZW50aWZpZXImIGlkZW50KQogewotICAgIFN0cmluZ0ltcGwqIHJlcCA9IGlk
ZW50LmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOwog
ICAgIElkZW50aWZpZXJNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBtX2lkZW50aWZpZXJNYXAuYWRk
KHJlcCwgbV9jb2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgaWYgKHJlc3Vs
dC5pc05ld0VudHJ5KQogICAgICAgICBtX2NvZGVCbG9jay0+YWRkSWRlbnRpZmllcihpZGVudCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKaW5kZXggYjgxNTYzMjAwOWNkOGZkY2ZlNDljZGIzYzZiMzEwOTIxY2ZjYmE3
YS4uM2ViNDc0NzU5MjJlZjVjOWYzNWFiOWZiODAyYjFkODA2OTljMTAzOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
aApAQCAtNjE4LDcgKzYxOCw3IEBACiAgICAgICAgIHZvaWQgZW1pdENvbXBsZXhQb3BTY29wZXMo
UmVnaXN0ZXJJRCosIENvbnRyb2xGbG93Q29udGV4dCogdG9wU2NvcGUsIENvbnRyb2xGbG93Q29u
dGV4dCogYm90dG9tU2NvcGUpOwogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxkb3VibGUsIEpT
VmFsdWU+IE51bWJlck1hcDsKLSAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBK
U1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOworICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZp
ZXJSZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOwogICAgICAgICAKICAgICAgICAgLy8gSGVs
cGVyIGZvciBlbWl0Q2FsbCgpIGFuZCBlbWl0Q29uc3RydWN0KCkuIFRoaXMgd29ya3MgYmVjYXVz
ZSB0aGUgc2V0IG9mCiAgICAgICAgIC8vIGV4cGVjdGVkIGZ1bmN0aW9ucyBoYXZlIGlkZW50aWNh
bCBiZWhhdmlvciBmb3IgYm90aCBjYWxsIGFuZCBjb25zdHJ1Y3QKQEAgLTY0MSw3ICs2NDEsNyBA
QAogCiAgICAgICAgIC8vIEluaXRpYWxpemVzIHRoZSBzdGFjayBmb3JtIHRoZSBwYXJhbWV0ZXI7
IGRvZXMgbm90aGluZyBmb3IgdGhlIHN5bWJvbCB0YWJsZS4KICAgICAgICAgUmVnaXN0ZXJJRCog
aW5pdGlhbGl6ZU5leHRQYXJhbWV0ZXIoKTsKLSAgICAgICAgU3RyaW5nSW1wbCogdmlzaWJsZU5h
bWVGb3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSopOworICAgICAgICBVbmlx
dWVkU3RyaW5nSW1wbCogdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuTm9kZSopOwogICAgICAgICAKICAgICAgICAgUmVnaXN0ZXJJRCYgcmVnaXN0ZXJGb3IoVmly
dHVhbFJlZ2lzdGVyIHJlZykKICAgICAgICAgewpAQCAtNzE4LDcgKzcxOCw3IEBACiAKICAgICAg
ICAgLy8gU29tZSBvZiB0aGVzZSBvYmplY3RzIGtlZXAgcG9pbnRlcnMgdG8gb25lIGFub3RoZXIu
IFRoZXkgYXJlIGFycmFuZ2VkCiAgICAgICAgIC8vIHRvIGVuc3VyZSBhIHNhbmUgZGVzdHJ1Y3Rp
b24gb3JkZXIgdGhhdCBhdm9pZHMgcmVmZXJlbmNlcyB0byBmcmVlZCBtZW1vcnkuCi0gICAgICAg
IEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9mdW5jdGlv
bnM7CisgICAgICAgIEhhc2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmll
clJlcEhhc2g+IG1fZnVuY3Rpb25zOwogICAgICAgICBSZWdpc3RlcklEIG1faWdub3JlZFJlc3Vs
dFJlZ2lzdGVyOwogICAgICAgICBSZWdpc3RlcklEIG1fdGhpc1JlZ2lzdGVyOwogICAgICAgICBS
ZWdpc3RlcklEIG1fY2FsbGVlUmVnaXN0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMzliMDNjZGRjZmIyMzEwMzM0
YTFkNjNjODNmOGYzODUzZDE2YzZmYy4uYzU4ZDM4ZDVlNTZmNjhjYWJhYzJlYTM5MmYyNmVmYjJl
MmQ5ZWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9O
b2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcApAQCAtMzgzLDcgKzM4Myw3IEBAIFJlZ2lzdGVySUQqIFByb3BlcnR5
TGlzdE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdp
c3RlCiAgICAgLy8gV2VyZSB0aGVyZSBhbnkgZ2V0L3NldCBwcm9wZXJ0aWVzPwogICAgIGlmIChw
KSB7CiAgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFByb3BlcnR5Tm9kZSosIFByb3BlcnR5Tm9k
ZSo+IEdldHRlclNldHRlclBhaXI7Ci0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBs
KiwgR2V0dGVyU2V0dGVyUGFpcj4gR2V0dGVyU2V0dGVyTWFwOworICAgICAgICB0eXBlZGVmIEhh
c2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBHZXR0ZXJTZXR0ZXJQYWlyLCBJZGVudGlmaWVyUmVw
SGFzaD4gR2V0dGVyU2V0dGVyTWFwOwogICAgICAgICBHZXR0ZXJTZXR0ZXJNYXAgbWFwOwogCiAg
ICAgICAgIC8vIEJ1aWxkIGEgbWFwLCBwYWlyaW5nIGdldC9zZXQgdmFsdWVzIHRvZ2V0aGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRl
eCBhYmM1MWQ0NmEwNTE5N2RmNDEzYzNiMzZkZjE2OTZkMzliY2NhYTAxLi4yNDdlNjQwODJjOGNh
MmE4ZTU5NTYyNmMxZjY5Mzc2YTNkNTM4M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzEwMCw3ICszMTAwLDcgQEAgYm9vbCBC
eXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5v
ZGUqIGJhc2UgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQpKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGlu
ZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1hcFtjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVy
YW5kXTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogdWlkID0g
bV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOworICAgICAgICAgICAgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVt
YmVyXTsKICAgICAgICAgICAgIEdldEJ5SWRTdGF0dXMgZ2V0QnlJZFN0YXR1cyA9IEdldEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9w
cm9maWxlZEJsb2NrLCBtX2RmZ0NvZGVCbG9jaywKICAgICAgICAgICAgICAgICBtX2lubGluZVN0
YWNrVG9wLT5tX3N0dWJJbmZvcywgbV9kZmdTdHViSW5mb3MsCkBAIC0zNDYxLDcgKzM0NjEsNyBA
QCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAg
ICAgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAgICAgICAg
ICAgICBpbnQgc2NvcGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAg
ICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG1faW5saW5lU3RhY2tUb3AtPm1faWRl
bnRpZmllclJlbWFwW2N1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmRdOwotICAgICAgICAg
ICAgQXRvbWljU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZp
ZXJOdW1iZXJdOworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGgu
aWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKICAgICAgICAgICAgIFJlc29sdmVUeXBl
IHJlc29sdmVUeXBlID0gUmVzb2x2ZU1vZGVBbmRUeXBlKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51
Lm9wZXJhbmQpLnR5cGUoKTsKIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSAw
OwpAQCAtMzYwMywxMSArMzYwMyw5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2so
dW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgaWRlbnRpZmllck51bWJlciA9IG1faW5s
aW5lU3RhY2tUb3AtPm1faWRlbnRpZmllclJlbWFwW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAg
ICAgICAgdW5zaWduZWQgdmFsdWUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwog
ICAgICAgICAgICAgUmVzb2x2ZVR5cGUgcmVzb2x2ZVR5cGUgPSBSZXNvbHZlTW9kZUFuZFR5cGUo
Y3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCkudHlwZSgpOwotICAgICAgICAgICAgQXRv
bWljU3RyaW5nSW1wbCogdWlkOworICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IG51bGxwdHI7CiAgICAgICAgICAgICBpZiAoaWRlbnRpZmllck51bWJlciAhPSBVSU5UX01BWCkK
ICAgICAgICAgICAgICAgICB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51
bWJlcl07Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdWlkID0gbnVsbHB0cjsK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRy
OwogICAgICAgICAgICAgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludHMgPSBudWxscHRyOwpAQCAt
NDAyMCw3ICs0MDE4LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6YnVpbGRPcGVyYW5kTWFwc0lm
TmVjZXNzYXJ5KCkKICAgICAgICAgbV9zd2l0Y2hSZW1hcC5yZXNpemUoY29kZUJsb2NrLT5udW1i
ZXJPZlN3aXRjaEp1bXBUYWJsZXMoKSk7CiAKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBjb2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKTsgKytpKSB7Ci0gICAgICAgICAgICBB
dG9taWNTdHJpbmdJbXBsKiByZXAgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIoaSkuaW1wbCgpOwor
ICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IGNvZGVCbG9jay0+aWRlbnRpZmll
cihpKS5pbXBsKCk7CiAgICAgICAgICAgICBCb3Jyb3dlZElkZW50aWZpZXJNYXA6OkFkZFJlc3Vs
dCByZXN1bHQgPSBieXRlQ29kZVBhcnNlci0+bV9pZGVudGlmaWVyTWFwLmFkZChyZXAsIGJ5dGVD
b2RlUGFyc2VyLT5tX2dyYXBoLmlkZW50aWZpZXJzKCkubnVtYmVyT2ZJZGVudGlmaWVycygpKTsK
ICAgICAgICAgICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgICAgICAgICBieXRl
Q29kZVBhcnNlci0+bV9ncmFwaC5pZGVudGlmaWVycygpLmFkZExhemlseShyZXApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCmlu
ZGV4IDY1YzMwMWRiZWUxNmQzZjc0YjU0MjdiN2EwZjY5MjQ4ODQxYzRlMzIuLjU1MTQ1ZTBlM2Zh
NmVjNjJhYTJlMzllNjJhMjZhNjdjZThhNTI0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKQEAgLTUyLDE0ICs1MiwxNCBA
QCB1bnNpZ25lZCBEZXNpcmVkSWRlbnRpZmllcnM6Om51bWJlck9mSWRlbnRpZmllcnMoKQogICAg
IHJldHVybiBtX2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpICsgbV9hZGRlZElkZW50
aWZpZXJzLnNpemUoKTsKIH0KIAotdm9pZCBEZXNpcmVkSWRlbnRpZmllcnM6OmFkZExhemlseShB
dG9taWNTdHJpbmdJbXBsKiByZXApCit2b2lkIERlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5
KFVuaXF1ZWRTdHJpbmdJbXBsKiByZXApCiB7CiAgICAgbV9hZGRlZElkZW50aWZpZXJzLmFwcGVu
ZChyZXApOwogfQogCi1BdG9taWNTdHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVu
c2lnbmVkIGluZGV4KSBjb25zdAorVW5pcXVlZFN0cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVy
czo6YXQodW5zaWduZWQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogcmVz
dWx0OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXN1bHQ7CiAgICAgaWYgKGluZGV4IDwgbV9j
b2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKSkKICAgICAgICAgcmVzdWx0ID0gbV9jb2Rl
QmxvY2stPmlkZW50aWZpZXIoaW5kZXgpLmltcGwoKTsKICAgICBlbHNlCkBAIC03MSw3ICs3MSw3
IEBAIEF0b21pY1N0cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVyczo6YXQodW5zaWduZWQgaW5k
ZXgpIGNvbnN0CiB2b2lkIERlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5QWRkKFZNJiB2bSwgQ29t
bW9uRGF0YSogY29tbW9uRGF0YSkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9h
ZGRlZElkZW50aWZpZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHJlcCA9
IG1fYWRkZWRJZGVudGlmaWVyc1tpXTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9
IG1fYWRkZWRJZGVudGlmaWVyc1tpXTsKICAgICAgICAgQVNTRVJUKHJlcC0+aGFzQXRMZWFzdE9u
ZVJlZigpKTsKICAgICAgICAgY29tbW9uRGF0YS0+ZGZnSWRlbnRpZmllcnMuYXBwZW5kKElkZW50
aWZpZXI6OmZyb21VaWQoJnZtLCByZXApKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaAppbmRleCBmOWNlMzgxZmNlMGYyMTVm
NTg3MzU1NGJlMjU0OGVkYzZlMTc3YjI3Li4zYTJhMzQ4NTdmM2IwZjcyZWUxYzlhZjMxNjRmMmU0
OTQ0M2NhNjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2ly
ZWRJZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJl
ZElkZW50aWZpZXJzLmgKQEAgLTQ1LDE3ICs0NSwxNyBAQCBjbGFzcyBEZXNpcmVkSWRlbnRpZmll
cnMgewogICAgIH5EZXNpcmVkSWRlbnRpZmllcnMoKTsKICAgICAKICAgICB1bnNpZ25lZCBudW1i
ZXJPZklkZW50aWZpZXJzKCk7Ci0gICAgdm9pZCBhZGRMYXppbHkoQXRvbWljU3RyaW5nSW1wbCop
OworICAgIHZvaWQgYWRkTGF6aWx5KFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAgICAgCi0gICAgQXRv
bWljU3RyaW5nSW1wbCogYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiBhdCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAgCi0gICAgQXRvbWljU3RyaW5n
SW1wbCogb3BlcmF0b3JbXSh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gYXQoaW5kZXgp
OyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG9wZXJhdG9yW10odW5zaWduZWQgaW5kZXgpIGNv
bnN0IHsgcmV0dXJuIGF0KGluZGV4KTsgfQogICAgIAogICAgIHZvaWQgcmVhbGx5QWRkKFZNJiwg
Q29tbW9uRGF0YSopOwogICAgIAogcHJpdmF0ZToKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2Nr
OwotICAgIFZlY3RvcjxBdG9taWNTdHJpbmdJbXBsKj4gbV9hZGRlZElkZW50aWZpZXJzOworICAg
IFZlY3RvcjxVbmlxdWVkU3RyaW5nSW1wbCo+IG1fYWRkZWRJZGVudGlmaWVyczsKIH07CiAKIH0g
fSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
eHVwUGhhc2UuY3BwCmluZGV4IGEzZTBhMDJmN2MyYjEzMzdiYTczYWVmNTdiYTE2YTI5ODBkYTE0
OGYuLjQ0ZDYyYzY4NTk0NWY0YjM0Mjk4NjJlYjBmYzNhYzcyNDExZGZiNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtOTY0LDE2ICs5NjQsMTYg
QEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICBpZiAoIW1f
Z3JhcGguaGFzRXhpdFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBCYWRDYWNoZSkKICAgICAg
ICAgICAgICAgICAmJiAhbV9ncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5vcmlnaW4uc2VtYW50aWMs
IEJhZEluZGV4aW5nVHlwZSkKICAgICAgICAgICAgICAgICAmJiAhbV9ncmFwaC5oYXNFeGl0U2l0
ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIEV4b3RpY09iamVjdE1vZGUpKSB7Ci0gICAgICAgICAg
ICAgICAgU3RyaW5nSW1wbCogaW1wbCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCldOwotICAgICAgICAgICAgICAgIGlmIChpbXBsID09IHZtKCkucHJvcGVy
dHlOYW1lcy0+bGVuZ3RoLmltcGwoKSkgeworICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigp
XTsKKyAgICAgICAgICAgICAgICBpZiAodWlkID09IHZtKCkucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LmltcGwoKSkgewogICAgICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0QXJyYXlMZW5n
dGgobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5n
dGguaW1wbCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9PSB2bSgpLnByb3BlcnR5TmFt
ZXMtPmJ5dGVMZW5ndGguaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHRUb01h
a2VHZXRUeXBlZEFycmF5Qnl0ZUxlbmd0aChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChpbXBsID09IHZtKCku
cHJvcGVydHlOYW1lcy0+Ynl0ZU9mZnNldC5pbXBsKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
dWlkID09IHZtKCkucHJvcGVydHlOYW1lcy0+Ynl0ZU9mZnNldC5pbXBsKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgYXR0ZW1wdFRvTWFrZUdldFR5cGVkQXJyYXlCeXRlT2Zmc2V0KG5vZGUpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CkBAIC0xNDk2LDcg
KzE0OTYsNyBAQCBjbGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICB9CiAgICAg
CiAgICAgYm9vbCBpc1N0cmluZ1Byb3RvdHlwZU1ldGhvZFNhbmUoCi0gICAgICAgIEpTT2JqZWN0
KiBzdHJpbmdQcm90b3R5cGUsIFN0cnVjdHVyZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBB
dG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgICAgIEpTT2JqZWN0KiBzdHJpbmdQcm90b3R5cGUs
IFN0cnVjdHVyZSogc3RyaW5nUHJvdG90eXBlU3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlc1VudXNlZDsKICAgICAgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggZmEzN2E3MTE0MmUyODU5ZjVlY2U0NzRiNTA2ZmEz
MWIwNmM5ZDE0NC4uMTc2OWI3MzY5NTNiMWIwNzFmZGE5ZTlhMzI0ODQwMmE2NTY4ZWJkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAg
LTkwNiw3ICs5MDYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW4oTm9kZSogbm9k
ZSkKICAgICAgICAgICAgIGF1dG8gc2xvd1BhdGggPSBzbG93UGF0aENhbGwoCiAgICAgICAgICAg
ICAgICAganVtcC5tX2p1bXAsIHRoaXMsIG9wZXJhdGlvbkluT3B0aW1pemUsCiAgICAgICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlc3VsdEdQUiksIHN0dWJJbmZvLCBiYXNl
R1BSLAotICAgICAgICAgICAgICAgIHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkpOworICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmctPnRy
eUdldFZhbHVlSW1wbCgpKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN0dWJJbmZvLT5j
b2RlT3JpZ2luID0gbm9kZS0+b3JpZ2luLnNlbWFudGljOwogICAgICAgICAgICAgc3R1YkluZm8t
PnBhdGNoLmJhc2VHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJhc2VHUFIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IGI5ZTZlMGRkMjRm
ZGViZjBjMWNkN2QyMTRiZmNlZWNkZmZlNTc0ZDkuLmI2NjY0MmVhYzhlZjA5NWZiNDBmNWVjOTg2
MTgxODI4OGY3YzQxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKQEAgLTU1Niw3ICs1NTYsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAg
ICAgYm9vbCBpc0tub3duTm90TnVtYmVyKE5vZGUqIG5vZGUpIHsgcmV0dXJuICEobV9zdGF0ZS5m
b3JOb2RlKG5vZGUpLm1fdHlwZSAmIFNwZWNGdWxsTnVtYmVyKTsgfQogICAgIGJvb2wgaXNLbm93
bk5vdENlbGwoTm9kZSogbm9kZSkgeyByZXR1cm4gIShtX3N0YXRlLmZvck5vZGUobm9kZSkubV90
eXBlICYgU3BlY0NlbGwpOyB9CiAgICAgCi0gICAgU3RyaW5nSW1wbCogaWRlbnRpZmllclVJRCh1
bnNpZ25lZCBpbmRleCkKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllclVJRCh1bnNp
Z25lZCBpbmRleCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX2ppdC5ncmFwaCgpLmlkZW50aWZp
ZXJzKClbaW5kZXhdOwogICAgIH0KQEAgLTExNzksNyArMTE3OSw3IEBAIGNsYXNzIFNwZWN1bGF0
aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHMoYXJnMSwgYXJnMik7CiAgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9
Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihJX0pJVE9wZXJhdGlvbl9FSnNz
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihUX0pJVE9wZXJhdGlvbl9FSnNzIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgR1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoYXJnMSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTEyNDAsNyArMTI0MCw3
IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHMo
dmFsdWUpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJpbmdJbXBsKiB1aWQpCisg
ICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cih1aWQp
KTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOwpAQCAtMTI4NSwxMiArMTI4NSwxMiBAQCBjbGFzcyBTcGVjdWxh
dGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBhcmcyKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1
bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmlu
Z0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAg
ICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZElt
bVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0
KTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEdQUlJlZyBhcmcxLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRy
KHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CkBAIC0xNDQ1LDcgKzE0NDUsNyBAQCBjbGFzcyBTcGVj
dWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBhcmcyLCBUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKICAgICB9Ci0gICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFN0
cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklU
T3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRy
KHN0dWJJbmZvKSwgYXJnMSwgYXJnMiwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKQEAgLTE1NDUsNyAr
MTU0NSw3IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRh
Zyk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9h
ZCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVz
dWx0UGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CkBAIC0xNjExLDE3ICsxNjExLDE3IEBAIGNsYXNz
IFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJl
c3VsdFRhZyk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJl
c3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNv
bnN0IFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJl
ZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcx
LCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBU
cnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAg
ICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcx
UGF5bG9hZCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywg
R1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVn
IGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAg
ICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1t
UHRyKHN0dWJJbmZvKSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7
CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9w
ZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBpbnQzMl90IGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgU3RyaW5nSW1w
bCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxv
YWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgaW50MzJfdCBhcmcxVGFnLCBHUFJSZWcg
YXJnMVBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFy
ZzFQYXlsb2FkLCBUcnVzdGVkSW1tMzIoYXJnMVRhZyksIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKQEAgLTE3NTQsNyArMTc1NCw3IEBAIGNs
YXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBhcmcyLCBU
cnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJS
ZWcgYXJnMlBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQ
UlJlZyBhcmcyUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZv
KSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIGFyZzJQYXlsb2FkLCBUcnVzdGVkSW1tMzIoSlNWYWx1
ZTo6Q2VsbFRhZyksIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21waWxlLmNwcAppbmRleCAzY2U4MTE4OGJmMThmYmZmNGVkMzdhMjYzNDc4NzI2ZTBi
YjI0NDAzLi5jYjVlNzU0NDYyNDkzY2ZhOWE3NmViM2ZjZGJmY2I5NmIzYmVmOWIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKQEAgLTUxNSw3ICs1MTUsNyBAQCBz
dGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAKICAgICAgICAgICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBzbG93Q2FsbCA9IGNhbGxPcGVyYXRpb24oCiAgICAgICAg
ICAgICAgICAgICAgIHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBzbG93UGF0aEpJVCwgY2hlY2tJbi5j
b2RlT3JpZ2luKCksICZleGNlcHRpb25UYXJnZXQsCi0gICAgICAgICAgICAgICAgICAgIG9wZXJh
dGlvbkluT3B0aW1pemUsIHJlc3VsdCwgc3R1YkluZm8sIG9iaiwgY2hlY2tJbi5tX2lkKTsKKyAg
ICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uSW5PcHRpbWl6ZSwgcmVzdWx0LCBzdHViSW5mbywg
b2JqLCBjaGVja0luLm1fdWlkKTsKIAogICAgICAgICAgICAgICAgIGNoZWNrSW4ubV9zbG93UGF0
aERvbmUuYXBwZW5kKHNsb3dQYXRoSklULmp1bXAoKSk7CiAgICAgICAgICAgICAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3Iu
aAppbmRleCA4MmI2MjM4Y2MzNGRlM2IyNDQ4OTQ4NTkzMzUzNDNhOGE1OTVmNDU1Li44YzE0M2Qx
ZmI3ZGUwYTM5ZmE0YmIyOThlMzJjMDdlNDkyZTNlMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgKQEAgLTMyLDYgKzMy
LDcgQEAKICNpbmNsdWRlICJKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgRlRMIHsKIApAQCAtMzksNyArNDAsNyBAQCBjbGFzcyBJbmxpbmVDYWNoZURlc2NyaXB0
b3IgewogcHVibGljOgogICAgIElubGluZUNhY2hlRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAg
IElubGluZUNhY2hlRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNv
ZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IodW5z
aWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgICAgICA6IG1fc3RhY2ttYXBJRChzdGFja21hcElEKQogICAgICAgICAsIG1f
Y29kZU9yaWdpbihjb2RlT3JpZ2luKQogICAgICAgICAsIG1fdWlkKHVpZCkKQEAgLTQ4LDEyICs0
OSwxMiBAQCBjbGFzcyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogICAgIAogICAgIHVuc2lnbmVk
IHN0YWNrbWFwSUQoKSBjb25zdCB7IHJldHVybiBtX3N0YWNrbWFwSUQ7IH0KICAgICBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX2NvZGVPcmlnaW47IH0KLSAgICBTdHJp
bmdJbXBsKiB1aWQoKSBjb25zdCB7IHJldHVybiBtX3VpZDsgfQorICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQoKSBjb25zdCB7IHJldHVybiBtX3VpZDsgfQogICAgIAogcHJpdmF0ZToKICAgICB1
bnNpZ25lZCBtX3N0YWNrbWFwSUQ7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47Ci0gICAg
U3RyaW5nSW1wbCogbV91aWQ7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdWlkOwogICAgIAog
cHVibGljOgogICAgIFZlY3RvcjxNYWNyb0Fzc2VtYmxlcjo6SnVtcD4gbV9zbG93UGF0aERvbmU7
CkBAIC02Myw3ICs2NCw3IEBAIGNsYXNzIEdldEJ5SWREZXNjcmlwdG9yIDogcHVibGljIElubGlu
ZUNhY2hlRGVzY3JpcHRvciB7CiBwdWJsaWM6CiAgICAgR2V0QnlJZERlc2NyaXB0b3IoKSB7IH0K
ICAgICAKLSAgICBHZXRCeUlkRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHZXRCeUlkRGVzY3JpcHRvcih1
bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpCiAgICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNv
ZGVPcmlnaW4sIHVpZCkKICAgICB7CiAgICAgfQpAQCAtNzYsNyArNzcsNyBAQCBjbGFzcyBQdXRC
eUlkRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogICAgIFB1dEJ5
SWREZXNjcmlwdG9yKCkgeyB9CiAgICAgCiAgICAgUHV0QnlJZERlc2NyaXB0b3IoCi0gICAgICAg
IHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5nSW1wbCog
dWlkLAorICAgICAgICB1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsCiAgICAgICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQdXRL
aW5kIHB1dEtpbmQpCiAgICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQs
IGNvZGVPcmlnaW4sIHVpZCkKICAgICAgICAgLCBtX2VjbWFNb2RlKGVjbWFNb2RlKQpAQCAtMTEx
LDE0ICsxMTIsMTQgQEAgY2xhc3MgQ2hlY2tJbkRlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5lQ2Fj
aGVEZXNjcmlwdG9yIHsKIHB1YmxpYzoKICAgICBDaGVja0luRGVzY3JpcHRvcigpIHsgfQogICAg
IAotICAgIENoZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4g
Y29kZU9yaWdpbiwgY29uc3QgU3RyaW5nSW1wbCogaWQpCisgICAgQ2hlY2tJbkRlc2NyaXB0b3Io
dW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21h
cElELCBjb2RlT3JpZ2luLCBudWxscHRyKQotICAgICAgICAsIG1faWQoaWQpCisgICAgICAgICwg
bV91aWQodWlkKQogICAgIHsKICAgICB9CiAKICAgICAKLSAgICBjb25zdCBTdHJpbmdJbXBsKiBt
X2lkOworICAgIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICBWZWN0b3I8Q2hl
Y2tJbkdlbmVyYXRvcj4gbV9nZW5lcmF0b3JzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCA0YjI4ZDM1NjI1YTcz
MjdjMTI5YzYxYTBiNzg1NzMwYjgyOTUyNjNkLi5hNWI4ZjczMWNlMmMyMTFkOWZhNDRhM2E3MzQy
MDNhMjNkM2FlYTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtNzMsNyArNzMsNyBAQAogICAgIG1hY3JvKENfSklUT3Bl
cmF0aW9uX0VTdFpaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50MzIs
IGludDMyKSkgXAogICAgIG1hY3JvKENfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlvblR5cGUoaW50
UHRyLCBpbnRQdHIsIGludDMyKSkgXAogICAgIG1hY3JvKERfSklUT3BlcmF0aW9uX0QsIGZ1bmN0
aW9uVHlwZShkb3VibGVUeXBlLCBkb3VibGVUeXBlKSkgXAotICAgIG1hY3JvKElfSklUT3BlcmF0
aW9uX0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1h
Y3JvKFRfSklUT3BlcmF0aW9uX0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50
UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnQ2NCwg
aW50UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VBLCBmdW5jdGlvblR5cGUoaW50
NjQsIGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VBWiwgZnVu
Y3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDRhODM3Yzc0YmJj
YWQ2MGUyMzA1Y2EyMDQ0YWFmZmZjMmJkMjBjNDAuLjZmOTZiODQwN2VjMTllYWRjOTk5MzViNjY1
OTIxYmJlZGNmYzk1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCkBAIC0yMDg3LDcgKzIwODcsNyBAQCBjbGFzcyBMb3dlckRGR1RvTExW
TSB7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgYmFzZSA9IGxvd0NlbGwobV9ub2RlLT5jaGls
ZDEoKSk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIo
KSk7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVttX25v
ZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQg
PSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOwogCiAg
ICAgICAgIC8vIEFyZ3VtZW50czogaWQsIGJ5dGVzLCB0YXJnZXQsIG51bUFyZ3MsIGFyZ3MuLi4K
ICAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKQEAgLTQ4MTEs
NyArNDgxMSw3IEBAIGNsYXNzIExvd2VyREZHVG9MTFZNIHsKICAgICAgICAgaWYgKEpTU3RyaW5n
KiBzdHJpbmcgPSBtX25vZGUtPmNoaWxkMSgpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5n
Kj4oKSkgewogICAgICAgICAgICAgaWYgKHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkgJiYgc3Ry
aW5nLT50cnlHZXRWYWx1ZUltcGwoKS0+aXNBdG9taWMoKSkgewogCi0gICAgICAgICAgICAgICAg
Y29uc3QgU3RyaW5nSW1wbCogc3RyID0gc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKTsKKyAgICAg
ICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBzdHIgPSBzdGF0aWNfY2FzdDxjb25z
dCBBdG9taWNTdHJpbmdJbXBsKj4oc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSk7CiAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIExWYWx1ZSBjYWxsID0gbV9vdXQuY2FsbCgKQEAgLTU3NTAs
NyArNTc1MCw3IEBAIGNsYXNzIExvd2VyREZHVG9MTFZNIHsKICAgICAKICAgICBMVmFsdWUgZ2V0
QnlJZChMVmFsdWUgYmFzZSkKICAgICB7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3Jh
cGguaWRlbnRpZmllcnMoKVttX25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCldOwogCiAgICAgICAgIC8vIEFyZ3VtZW50czogaWQsIGJ5dGVzLCB0YXJn
ZXQsIG51bUFyZ3MsIGFyZ3MuLi4KICAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3Rh
Y2ttYXBJRHMrKzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xv
d1BhdGhDYWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmNwcAppbmRleCAxZmQ4YzgzZjRlNTZjOTJhNGExOTU2YTk4N2I1ZDM2ZjRhZDA3NDZhLi5mZmJk
NDc0YjYyMmFhN2U3OTBjMjZlYjFiODEzNGE3M2QxNzZhZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgdm9p
ZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVz
ZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LAogICAgIENvZGVPcmlnaW4gY29kZU9yaWdp
biwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAgSl9KSVRP
cGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLAotICAgIEdQUlJlZyBvYmplY3QsIGNvbnN0IFN0cmluZ0ltcGwqIHVpZCkK
KyAgICBHUFJSZWcgb2JqZWN0LCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAg
IHN0b3JlQ29kZU9yaWdpbihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4
dCBjb250ZXh0KHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0xOTAs
NyArMTkwLDcgQEAgdm9pZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBl
cnMmIGppdCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3Qg
UmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LAogICAgIENvZGVP
cmlnaW4gY29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJn
ZXQsCiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLAotICAgIEdQUlJlZyBvYmplY3QsIFN0cmluZ0lt
cGwqIHVpZCkKKyAgICBHUFJSZWcgb2JqZWN0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIHN0b3JlQ29kZU9yaWdpbihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29u
dGV4dCBjb250ZXh0KHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0y
MDQsNyArMjA0LDcgQEAgdm9pZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhl
bHBlcnMmIGppdCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29u
c3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LCAKICAgICBD
b2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9u
VGFyZ2V0LAogICAgIFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyB2YWx1ZSwKLSAgICBHUFJSZWcgb2JqZWN0LCBTdHJp
bmdJbXBsKiB1aWQpCisgICAgR1BSUmVnIG9iamVjdCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
IHsKICAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2Fs
bENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA1LCBJbnZhbGlkR1BS
UmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhD
YWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCmluZGV4
IDZlNGQ1ZjZlMTU5YTVmYTMyMDU2ZjcxYTc4NDc0ODllYzExOGUzZjYuLjgxOGVmNjQ2NGM3YjFj
ZmFmNmY1ZjkyYjBkMDFjMGJkMGUxMWI1MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExTbG93UGF0aENhbGwuaApAQCAtNjAsMTUgKzYwLDE1IEBAIGNsYXNzIFNsb3dQYXRoQ2Fs
bCB7CiBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAogICAgIFN0YXRlJiwgY29u
c3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6
Okp1bXBMaXN0KiwKICAgICBKX0pJVE9wZXJhdGlvbl9FU3NpQ0ksIEdQUlJlZywgU3RydWN0dXJl
U3R1YkluZm8qLCBHUFJSZWcsCi0gICAgY29uc3QgU3RyaW5nSW1wbCopOworICAgIGNvbnN0IFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bigKICAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9y
aWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJ
LCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyBvYmplY3QsCi0gICAg
U3RyaW5nSW1wbCogdWlkKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNl
dCYsIENDYWxsSGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3QqLAog
ICAgIFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnIHZh
bHVlLCBHUFJSZWcgb2JqZWN0LAotICAgIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhkNjVkMjFj
OS4uMTMxZmEwMDE5ZjYxMGM3ZDk0ODllNThjZTgzZWJjYzBiZDUyNWJjZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oCkBAIC02OTQsOSArNjk0LDkgQEAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQywgSlNDZWxsKik7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUosIGlu
dCwgR1BSUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFdpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkks
IGludCwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRP
cGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBVbmlxdWVk
U3RyaW5nSW1wbCopOwogI2Vsc2UKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVj
dHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVy
YXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBHUFJSZWcsIFVu
aXF1ZWRTdHJpbmdJbXBsKik7CiAjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSklkYywgaW50LCBHUFJSZWcsIGNvbnN0IElk
ZW50aWZpZXIqKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwpAQCAtNzM0LDkgKzczNCw5
IEBACiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVy
YXRpb25fRUpJZEpKLCBSZWdpc3RlcklELCBjb25zdCBJZGVudGlmaWVyKiwgUmVnaXN0ZXJJRCwg
UmVnaXN0ZXJJRCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FRkpaWiwgUmVnaXN0ZXJJRCwgUmVn
aXN0ZXJJRCwgaW50MzJfdCwgUmVnaXN0ZXJJRCk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBVbmlxdWVkU3RyaW5nSW1w
bCopOwogI2Vsc2UKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihW
X0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJl
Z2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJ
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQs
IFJlZ2lzdGVySUQsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAjZW5kaWYKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSkpKLCBSZWdpc3Rl
cklELCBSZWdpc3RlcklELCBSZWdpc3RlcklEKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSlpKLCBSZWdpc3RlcklELCBpbnQzMl90
LCBSZWdpc3RlcklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXgg
OWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYjcxNjlmNTQ4N2M5NWUw
ZThkNzA4NmZkZjZlODhiNjcyZjVmNjI5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKQEAgLTM4Nyw3ICszODcsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FRkpaWiBvcGVyYQogICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFM
V0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklU
T3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09wMiwgU3RyaW5nSW1wbCogdWlkKQor
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9K
SVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgUmVnaXN0ZXJJRCByZWdPcDEsIFJlZ2lzdGVySUQgcmVnT3AyLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRy
KHN0dWJJbmZvKSwgcmVnT3AxLCByZWdPcDIsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKQEAgLTQwNSw3ICs0
MDUsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihWX0pJVE9wZXJhdGlvbl9FWkogb3BlcmF0aQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklU
T3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgR1BSUmVnIGFyZzEsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcs
IEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAg
ICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBh
cmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdFdpdGhQcm9maWxlKG9wZXJhdGlvbiwgZHN0KTsKQEAg
LTU0Niw3ICs1NDYsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSiBvcGVyYXRpbwogICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7
CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24s
IGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQ
UlJlZyBhcmcxUGF5bG9hZCwgU3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9K
SVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVk
SW1tUHRyKHN0dWJJbmZvKSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlk
KSk7CiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVz
dWx0V2l0aFByb2ZpbGUob3BlcmF0aW9uLCBkc3QpOwpAQCAtNjA2LDcgKzYwNiw3IEBAIEFMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3Bl
cmF0aW9uX0VaU3ltdGFiSiBvCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2sob3BlcmF0aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVySUQg
cmVnT3AxUGF5bG9hZCwgUmVnaXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3AyUGF5
bG9hZCwgU3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVy
SUQgcmVnT3AxUGF5bG9hZCwgUmVnaXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3Ay
UGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHJlZ09wMVBheWxvYWQsIHJlZ09w
MVRhZywgcmVnT3AyUGF5bG9hZCwgcmVnT3AyVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1
ZjJiOGU1OGNkYmQ3ODM2MDI5ODE1NDAwNzEzLi4yMjdjNGZiZjBiMzczNTEyZTFmMGQxNjk5ZDBi
NzJhYWI3ZTA5ZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
Q29uc3RydWN0QXJpdHlDaGVjayhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIG1pc3NpbmdB
cmdDb3VudDsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRC
eUlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBi
YXNlLCBTdHJpbmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBA
IC0xNTgsNyArMTU4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8KICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGJhc2VWYWx1ZS5nZXQoZXhlYywgaWRlbnQsIHNsb3QpKTsKIH0KIAotRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBi
YXNlLCBTdHJpbmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7CkBAIC0xNzYsNyArMTc2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXIKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1ZShl
eGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVp
ZCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXpl
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNW
YWx1ZSBiYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAt
MTk1LDcgKzE5NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAKIH0KIAotRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0ltcGwqIGtl
eSkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgSlNDZWxsKiBiYXNlLCBV
bmlxdWVkU3RyaW5nSW1wbCoga2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjIxLDcgKzIyMSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c0Jvb2xlYW4ocmVzdWx0KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSW4oRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCogYmFz
ZSwgU3RyaW5nSW1wbCoga2V5KQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25JbihFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiBiYXNlLCBV
bmlxdWVkU3RyaW5nSW1wbCoga2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjQzLDcgKzI0Myw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2VuZXJpY0luKEV4ZWNT
dGF0ZSogZXhlYywgSlNDZWxsKiBiYXNlLCBFCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c0Jvb2xlYW4oQ29tbW9uU2xvd1BhdGhzOjpvcEluKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShrZXkp
LCBiYXNlKSkpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmlj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQor
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7CkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEUKICAgICBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
U3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25T
dHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVTdHViSW5mbyoKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVj
LCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBA
IC0yNzMsNyArMjczLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJl
Y3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW4KICAgICBhc09iamVjdChK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50
LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAg
LTI4Myw3ICsyODMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogICAgIGFzT2JqZWN0KEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQs
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKQEAgLTMwNyw3ICszMDcsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Ygog
ICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2
bSwgZXhlYyk7CkBAIC0zMzEsNyArMzMxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAg
ICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwpAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
CiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTM3OSw3ICszNzksNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSog
ZXhlYywgU3RydQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
IHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKHZtLCBleGVjKTsKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dQogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlk
ZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKQEAgLTQyMSw3ICs0MjEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZQogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50
LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
IHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKHZtLCBleGVjKTsKQEAgLTQ0Miw3ICs0NDIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdAogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBp
ZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oCmluZGV4IDRjODFkODU0N2M4Y2Y2NzA2ZjA4ZGYwNjE3Y2Q5YTkxNjg4ZWY5NjUu
LjVmNjlhZGFlYmM1NDZlODUwYWMyMzQxY2Y5MmY1MGRhMGE5YTc1YWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBACiAgICAgRTog
RXhlY1N0YXRlKgogICAgIEY6IENhbGxGcmFtZSoKICAgICBHOiBKU0dsb2JhbE9iamVjdCoKLSAg
ICBJOiBTdHJpbmdJbXBsKgorICAgIEk6IFVuaXF1ZWRTdHJpbmdJbXBsKgogICAgIEljZjogSW5s
aW5lQ2FsbEZyYW1lKgogICAgIElkYzogY29uc3QgSWRlbnRpZmllcioKICAgICBKOiBFbmNvZGVk
SlNWYWx1ZQpAQCAtODMsNiArODMsNyBAQAogICAgIFNzaTogU3RydWN0dXJlU3R1YkluZm8qCiAg
ICAgU3Q6IFN0cnVjdHVyZSoKICAgICBTeW10YWI6IFN5bWJvbFRhYmxlKgorICAgIFQ6IFN0cmlu
Z0ltcGwqCiAgICAgVjogdm9pZAogICAgIFZtOiBWTSoKICAgICBXczogV2F0Y2hwb2ludFNldCoK
QEAgLTk3LDEyICs5OCwxMiBAQAogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRUFhcEpjcFopKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblBy
b2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQykoRXhlY1N0YXRlKiwgSlNDZWxsKik7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
Q0MpKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEpTQ2VsbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNJKShFeGVjU3RhdGUqLCBKU0NlbGwq
LCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FQ0kpKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBs
Kik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FQ0opKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDWikoRXhlY1N0YXRl
KiwgSlNDZWxsKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FREEpKEV4ZWNTdGF0ZSosIGRvdWJsZSwgSlNBcnJheSopOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUUp
KEV4ZWNTdGF0ZSosIEV4ZWNTdGF0ZSopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUkpKEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqKTsKK3R5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VJKShF
eGVjU3RhdGUqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VKWikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpDKShFeGVjU3Rh
dGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxsKik7CkBAIC0xMTcsOCArMTE4LDggQEAKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhl
Y1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxs
Kik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7Ci10eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSko
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1w
bCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVl
LCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVpJY2ZaKShFeGVj
U3RhdGUqLCBpbnQzMl90LCBJbmxpbmVDYWxsRnJhbWUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaWikoRXhlY1N0YXRl
KiwgaW50MzJfdCwgaW50MzJfdCk7CkBAIC0xODQsNyArMTg1LDcgQEAKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUNDKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBK
U0NlbGwqKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVpT
eW10YWJKKShFeGVjU3RhdGUqLCBpbnQzMl90LCBTeW1ib2xUYWJsZSosIEVuY29kZWRKU1ZhbHVl
KTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUopKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsKLXR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9K
SVRPcGVyYXRpb25fRUpDSSkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFN0
cmluZ0ltcGwqKTsKK3R5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25f
RUpDSSkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJ
bXBsKik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKSWRK
SikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIElkZW50aWZpZXIqLCBFbmNvZGVkSlNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9w
ZXJhdGlvbl9FSkpKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVy
YXRpb25fRUpQUCkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIHZvaWQqLCB2b2lkKik7CkBA
IC0xOTQsNyArMTk1LDcgQEAKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVy
YXRpb25fRU9aSikoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1
ZSk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VQYykoRXhl
Y1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9K
SVRPcGVyYXRpb25fRVBaSikoRXhlY1N0YXRlKiwgdm9pZCosIGludDMyX3QsIEVuY29kZWRKU1Zh
bHVlKTsKLXR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVNzaUpK
SSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9K
SVRPcGVyYXRpb25fRVNzaUpKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNv
ZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVm
IHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VXcykoRXhlY1N0YXRlKiwgV2F0
Y2hwb2ludFNldCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlv
bl9FWikoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAo
KlZfSklUT3BlcmF0aW9uX0VaSikoRXhlY1N0YXRlKiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUp
OwpAQCAtMjE4LDcgKzIxOSw3IEBACiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJ
VE9wZXJhdGlvbl9FU3RTUykoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90LCBzaXplX3Qp
OwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVN0WikoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJ
T04gKCpQX0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwot
dHlwZWRlZiBTdHJpbmdJbXBsKiBKSVRfT1BFUkFUSU9OICgqSV9KSVRPcGVyYXRpb25fRUpzcyko
RXhlY1N0YXRlKiwgSlNTdHJpbmcqKTsKK3R5cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJBVElP
TiAoKlRfSklUT3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKik7CiB0eXBlZGVm
IEpTU3RyaW5nKiBKSVRfT1BFUkFUSU9OICgqSnNzX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRl
KiwgaW50MzJfdCk7CiAKIC8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbG9va3VwIGFuIGV4Y2Vw
dGlvbiBoYW5kZXIsIGtleWVkIGJ5IGZhdWx0TG9jYXRpb24sIHdoaWNoIGlzCkBAIC0yMzEsMjQg
KzIzMiwyNCBAQAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93U3RhY2tPdmVyZmxv
d0Vycm9yKEV4ZWNTdGF0ZSosIENvZGVCbG9jayopIFdURl9JTlRFUk5BTDsKIGludDMyX3QgSklU
X09QRVJBVElPTiBvcGVyYXRpb25DYWxsQXJpdHlDaGVjayhFeGVjU3RhdGUqKSBXVEZfSU5URVJO
QUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVjayhF
eGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRl
KiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6
ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBX
VEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3Ry
aW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9w
dGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkluKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVl
ZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkdlbmVyaWNJbihFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkg
V1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3Qo
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
Owotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRl
KiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwor
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lO
VEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJ
bXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3Ry
aW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRC
eUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5p
cXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25SZWFsbG9jYXRlU3RvcmFnZUFuZEZpbmlzaFB1dChF
eGVjU3RhdGUqLCBKU09iamVjdCosIFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LCBFbmNvZGVk
SlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
VmFsKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQ
dXRCeVZhbChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
Y3BwCmluZGV4IDcyMDk2OWU1ZjhlMjdjYmUzZGZhYTkwNTZjNTE0Mzc4MWQ3ODhkYzMuLmZmOWFh
NDRhZDE0NzhhYjcwOTFkYWI0ODE2NTQwMjRkMTFmYTA1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgU3RhdGVtZW50Tm9kZSogU2Nv
cGVOb2RlOjpzaW5nbGVTdGF0ZW1lbnQoKSBjb25zdAogewogfQogCi12b2lkIFByb2dyYW1Ob2Rl
OjpzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRW
YXJpYWJsZXMpCit2b2lkIFByb2dyYW1Ob2RlOjpzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fY2xv
c2VkVmFyaWFibGVzID0gV1RGOjptb3ZlKGNsb3NlZFZhcmlhYmxlcyk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggZDJjZjJlZTRmMzkyYzEyYWMyNjUzYzJmMDgyZmRj
NDRlODgwYWFhZS4uZDc1NDhkMDc0MzUxZTlmNjliNzEzZjExMzljMWFjYmE5Zjc2NmI0YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtNzYsNyArNzYsNyBAQAogICAgIH07
CiAgICAgaW5saW5lIEZhbGxUaHJvdWdoTW9kZSBpbnZlcnQoRmFsbFRocm91Z2hNb2RlIGZhbGxU
aHJvdWdoTW9kZSkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RmFsbFRocm91Z2hNb2RlPighZmFsbFRo
cm91Z2hNb2RlKTsgfQogCi0gICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPiwg
SWRlbnRpZmllclJlcEhhc2g+IElkZW50aWZpZXJTZXQ7CisgICAgdHlwZWRlZiBIYXNoU2V0PFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU2V0
OwogCiAgICAgbmFtZXNwYWNlIERlY2xhcmF0aW9uU3RhY2tzIHsKICAgICAgICAgZW51bSBWYXJB
dHRycyB7IElzQ29uc3RhbnQgPSAxLCBIYXNJbml0aWFsaXplciA9IDIgfTsKQEAgLTE1NDYsNyAr
MTU0Niw3IEBACiAgICAgICAgIGJvb2wgaGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJl
dHVybiAhIW1fY2FwdHVyZWRWYXJpYWJsZXMuc2l6ZSgpOyB9CiAgICAgICAgIHNpemVfdCBjYXB0
dXJlZFZhcmlhYmxlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLnNp
emUoKTsgfQogICAgICAgICBjb25zdCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcygp
IGNvbnN0IHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXM7IH0KLSAgICAgICAgYm9vbCBjYXB0
dXJlcyhTdHJpbmdJbXBsKiB1aWQpIHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFp
bnModWlkKTsgfQorICAgICAgICBib29sIGNhcHR1cmVzKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
IHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFpbnModWlkKTsgfQogICAgICAgICBi
b29sIGNhcHR1cmVzKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSB7IHJldHVybiBjYXB0dXJlcyhp
ZGVudC5pbXBsKCkpOyB9CiAKICAgICAgICAgVmFyU3RhY2smIHZhclN0YWNrKCkgeyByZXR1cm4g
bV92YXJTdGFjazsgfQpAQCAtMTU2Myw3ICsxNTYzLDcgQEAKIAogICAgICAgICB2b2lkIGVtaXRT
dGF0ZW1lbnRzQnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiBkZXN0aW5h
dGlvbik7CiAgICAgICAgIAotICAgICAgICB2b2lkIHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8
UmVmUHRyPFN0cmluZ0ltcGw+PiYmKSB7IH0KKyAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJs
ZXMoVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpIHsgfQogCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICBpbnQgbV9zdGFydExpbmVOdW1iZXI7CkBAIC0xNTg5LDEyICsxNTg5LDEy
IEBACiAKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2NvcGVJc0Z1bmN0aW9uID0gZmFsc2U7
CiAKLSAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJ
bXBsPj4mJik7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiBjbG9z
ZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX2Nsb3NlZFZhcmlhYmxlczsgfQorICAgICAg
ICB2b2lkIHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
Pj4mJik7CisgICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYg
Y2xvc2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwotICAgICAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICAgICAgVmVjdG9yPFJlZlB0
cjxVbmlxdWVkU3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOwogICAgICAgICB1bnNpZ25l
ZCBtX3N0YXJ0Q29sdW1uOwogICAgICAgICB1bnNpZ25lZCBtX2VuZENvbHVtbjsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGZkNDI0NDU2ZGM0ZTY3
MTQyZmRkNzkzYTg2YWEwYTczNGIwNGU4MTQuLmRjMzMzMWYxY2Y2NWQxMGJkNTdhOTRhOWVmYzVi
MzY0MTA3MWE1ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAg
LTI4Niw3ICsyODYsNyBAQAogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmllZFBhcmFtZXRlckZl
YXR1cmU7CiAgICAgaWYgKG1vZGlmaWVkQXJndW1lbnRzKQogICAgICAgICBmZWF0dXJlcyB8PSBN
b2RpZmllZEFyZ3VtZW50c0ZlYXR1cmU7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4g
Y2xvc2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBj
bG9zZWRWYXJpYWJsZXM7CiAgICAgaWYgKG1fcGFyc2luZ0J1aWx0aW4pIHsKICAgICAgICAgSWRl
bnRpZmllclNldCB1c2VkVmFyaWFibGVzOwogICAgICAgICBzY29wZS0+Z2V0VXNlZFZhcmlhYmxl
cyh1c2VkVmFyaWFibGVzKTsKQEAgLTMyNSw3ICszMjUsNyBAQAogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgogdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhT
b3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFj
ayYgdmFyU3RhY2ssIAotICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiBmdW5j
U3RhY2ssIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cywgSWRlbnRpZmll
clNldCYgY2FwdHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmIGNs
b3NlZFZhcmlhYmxlcykKKyAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVu
Y1N0YWNrLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZp
ZXJTZXQmIGNhcHR1cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1w
bD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fc291cmNlRWxlbWVudHMgPSBzb3VyY2VF
bGVtZW50czsKICAgICBtX3ZhckRlY2xhcmF0aW9ucy5zd2FwKHZhclN0YWNrKTsKQEAgLTIxODcs
NyArMjE4Nyw3IEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIGJvb2wgaXNVbmFyeU9wKEpTVG9rZW5U
eXBlIHRva2VuKQogICAgIFRyZWVQcm9wZXJ0eSBwcm9wZXJ0eSA9IHBhcnNlUHJvcGVydHkoY29u
dGV4dCwgdHJ1ZSk7CiAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2Ugb2Jq
ZWN0IGxpdGVyYWwgcHJvcGVydHkiKTsKICAgICAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRy
PFN0cmluZ0ltcGw+LCB1bnNpZ25lZCwgSWRlbnRpZmllclJlcEhhc2g+IE9iamVjdFZhbGlkYXRp
b25NYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIHVu
c2lnbmVkLCBJZGVudGlmaWVyUmVwSGFzaD4gT2JqZWN0VmFsaWRhdGlvbk1hcDsKICAgICBPYmpl
Y3RWYWxpZGF0aW9uTWFwIG9iamVjdFZhbGlkYXRvcjsKICAgICAvLyBBZGQgdGhlIGZpcnN0IHBy
b3BlcnR5CiAgICAgaWYgKCFtX3N5bnRheEFscmVhZHlWYWxpZGF0ZWQgJiYgY29udGV4dC5nZXRO
YW1lKHByb3BlcnR5KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDNk
ZmY4ZTQ5YjMwNTdjNDk5MTQ0NWY2ZmM0ZWQ0MmM5ZjM0NjVhYzguLjUwNzRlNGQyZWMwM2YxNDEw
ODQ5ODViNGY2NzYyM2E0YzcyMTU4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaApAQCAtOTcsMTMgKzk3LDEzIEBAIGVudW0gRGVjb25zdHJ1Y3Rpb25LaW5kIHsKIHRlbXBs
YXRlIDw+IGlubGluZSBib29sIGlzRXZhbE5vZGU8RXZhbE5vZGU+KCkgeyByZXR1cm4gdHJ1ZTsg
fQogCiBzdHJ1Y3QgU2NvcGVMYWJlbEluZm8gewotICAgIFNjb3BlTGFiZWxJbmZvKFN0cmluZ0lt
cGwqIGlkZW50LCBib29sIGlzTG9vcCkKKyAgICBTY29wZUxhYmVsSW5mbyhVbmlxdWVkU3RyaW5n
SW1wbCogaWRlbnQsIGJvb2wgaXNMb29wKQogICAgICAgICA6IG1faWRlbnQoaWRlbnQpCiAgICAg
ICAgICwgbV9pc0xvb3AoaXNMb29wKQogICAgIHsKICAgICB9CiAKLSAgICBTdHJpbmdJbXBsKiBt
X2lkZW50OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX2lkZW50OwogICAgIGJvb2wgbV9pc0xv
b3A7CiB9OwogCkBAIC0xOTMsMTQgKzE5MywxNCBAQCBzdHJ1Y3QgU2NvcGUgewogCiAgICAgdm9p
ZCBkZWNsYXJlQ2FsbGVlKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKLSAgICAgICAg
bV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAg
IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgIH0KIAogICAgIGJv
b2wgZGVjbGFyZVZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAg
ICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0g
KmlkZW50ICYmIG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyAhPSAqaWRlbnQ7CiAgICAg
ICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRT
dHJpY3RNb2RlOwotICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5n
KCkuaW1wbCgpKTsKKyAgICAgICAgbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwo
KSk7CiAgICAgICAgIHJldHVybiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAgICB9CiAKQEAgLTIyNiw5
ICsyMjYsOSBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIGJvb2wgZGVjbGFyZVBhcmFtZXRlcihjb25z
dCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNBcmd1bWVudHMgPSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmlkZW50OwotICAgICAgICBib29sIGlz
VmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygp
LmltcGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVu
dCAmJiAhaXNBcmd1bWVudHM7CisgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBtX2Rl
Y2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5ICYmIG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlkZW50ICYmICFpc0FyZ3VtZW50czsKICAgICAgICAgbV9p
c1ZhbGlkU3RyaWN0TW9kZSA9IG1faXNWYWxpZFN0cmljdE1vZGUgJiYgaXNWYWxpZFN0cmljdE1v
ZGU7Ci0gICAgICAgIG1fZGVjbGFyZWRQYXJhbWV0ZXJzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1w
bCgpKTsKKyAgICAgICAgbV9kZWNsYXJlZFBhcmFtZXRlcnMuYWRkKGlkZW50LT5pbXBsKCkpOwog
CiAgICAgICAgIGlmIChpc0FyZ3VtZW50cykKICAgICAgICAgICAgIG1fc2hhZG93c0FyZ3VtZW50
cyA9IHRydWU7CkBAIC0yNDMsNyArMjQzLDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBCaW5kaW5n
UmVzdWx0IGRlY2xhcmVCb3VuZFBhcmFtZXRlcihjb25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAg
ICB7CiAgICAgICAgIGJvb2wgaXNBcmd1bWVudHMgPSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1
bWVudHMgPT0gKmlkZW50OwotICAgICAgICBib29sIG5ld0VudHJ5ID0gbV9kZWNsYXJlZFZhcmlh
Ymxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSkuaXNOZXdFbnRyeTsKKyAgICAgICAgYm9v
bCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpLmlzTmV3
RW50cnk7CiAgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBuZXdFbnRyeSAmJiBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiAhaXNBcmd1bWVudHM7CiAgICAgICAg
IG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJp
Y3RNb2RlOwogICAgIApAQCAtMjYyLDcgKzI2Miw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgdm9p
ZCB1c2VWYXJpYWJsZShjb25zdCBJZGVudGlmaWVyKiBpZGVudCwgYm9vbCBpc0V2YWwpCiAgICAg
ewogICAgICAgICBtX3VzZXNFdmFsIHw9IGlzRXZhbDsKLSAgICAgICAgbV91c2VkVmFyaWFibGVz
LmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKTsKKyAgICAgICAgbV91c2VkVmFyaWFibGVzLmFk
ZChpZGVudC0+aW1wbCgpKTsKICAgICB9CiAKICAgICB2b2lkIHNldE5lZWRzRnVsbEFjdGl2YXRp
b24oKSB7IG1fbmVlZHNGdWxsQWN0aXZhdGlvbiA9IHRydWU7IH0KQEAgLTMzNyw3ICszMzcsNyBA
QCBzdHJ1Y3QgU2NvcGUgewogICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2lzVmFsaWRTdHJpY3RNb2RlOyB9CiAgICAgYm9vbCBzaGFkb3dzQXJndW1lbnRzKCkg
Y29uc3QgeyByZXR1cm4gbV9zaGFkb3dzQXJndW1lbnRzOyB9CiAKLSAgICB2b2lkIGNvcHlDYXB0
dXJlZFZhcmlhYmxlc1RvVmVjdG9yKGNvbnN0IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFi
bGVzLCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgdmVjdG9yKQorICAgIHZvaWQgY29weUNh
cHR1cmVkVmFyaWFibGVzVG9WZWN0b3IoY29uc3QgSWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJp
YWJsZXMsIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYgdmVjdG9yKQogICAgIHsK
ICAgICAgICAgSWRlbnRpZmllclNldDo6aXRlcmF0b3IgZW5kID0gY2FwdHVyZWRWYXJpYWJsZXMu
ZW5kKCk7CiAgICAgICAgIGZvciAoSWRlbnRpZmllclNldDo6aXRlcmF0b3IgaXQgPSBjYXB0dXJl
ZFZhcmlhYmxlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKQEAgLTQzNiw3ICs0MzYsNyBA
QCBjbGFzcyBQYXJzZXIgewogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYXJzZWROb2RlPiBwYXJzZShQ
YXJzZXJFcnJvciYpOwogCiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3
bGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGV4ZXItPnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUo
KTsgfQotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKCkg
eyByZXR1cm4gV1RGOjptb3ZlKG1fY2xvc2VkVmFyaWFibGVzKTsgfQorICAgIFZlY3RvcjxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6
bW92ZShtX2Nsb3NlZFZhcmlhYmxlcyk7IH0KIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgQWxsb3dJ
bk92ZXJyaWRlIHsKQEAgLTU2Myw3ICs1NjMsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIFN0cmlu
ZyBwYXJzZUlubmVyKCk7CiAKICAgICB2b2lkIGRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVu
dHMqLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smLCAKLSAgICAgICAgRGVjbGFyYXRpb25T
dGFja3M6OkZ1bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYs
IGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOworICAgICAgICBEZWNsYXJhdGlv
blN0YWNrczo6RnVuY3Rpb25TdGFjayYsIENvZGVGZWF0dXJlcywgaW50LCBJZGVudGlmaWVyU2V0
JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8g
VXNlZCB0byBkZXRlcm1pbmUgdHlwZSBvZiBlcnJvciB0byByZXBvcnQuCiAgICAgYm9vbCBpc0Z1
bmN0aW9uQm9keU5vZGUoU2NvcGVOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTg4NCw3ICs4
ODQsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBt
X3ZhckRlY2xhcmF0aW9uczsKICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBt
X2Z1bmNEZWNsYXJhdGlvbnM7CiAgICAgSWRlbnRpZmllclNldCBtX2NhcHR1cmVkVmFyaWFibGVz
OwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOworICAg
IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKICAg
ICBDb2RlRmVhdHVyZXMgbV9mZWF0dXJlczsKICAgICBpbnQgbV9udW1Db25zdGFudHM7CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0
NC4uNWUzZmRmZmRkYTJhNmM3ZDIxY2E0M2M2ZDU1MmQ5OTYyOGQ3NDE4NyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0u
aApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiUGFyc2VyVG9rZW5zLmgiCiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAt
NDAsOCArNDEsOCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFt
ZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFs
OwogICAgIGJvb2wgc3RyaWN0TW9kZTsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1
c2VkVmFyaWFibGVzOwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJp
YWJsZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJs
ZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJs
ZXM7CiB9OwogCiAjaWYgQ09NUElMRVIoTVNWQykKQEAgLTgyLDEzICs4MywxMyBAQCBjbGFzcyBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbSB7CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50
OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAotICAgIFN0cmluZ0ltcGwq
KiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+
KG1fdmFyaWFibGVzKTsgfQotICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29u
c3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFy
aWFibGVzQ291bnRdKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygp
IGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3Qg
eyByZXR1cm4gY29uc3RfY2FzdDxVbmlxdWVkU3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNl
ZFZhcmlhYmxlc0NvdW50XSk7IH0KIAogcHJpdmF0ZToKICAgICBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwog
Ci0gICAgU3RyaW5nSW1wbCogbV92YXJpYWJsZXNbMF07CisgICAgVW5pcXVlZFN0cmluZ0ltcGwq
IG1fdmFyaWFibGVzWzBdOwogfTsKIAogaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp+
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKQpAQCAtMTAwLDcgKzEwMSw3IEBAIGlubGluZSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCkKIGlubGluZSBz
dGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IFNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOjpjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAgICAgc2l6ZV90IHZhcmlhYmxlQ291bnQgPSBwYXJhbWV0
ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpICsgcGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNp
emUoKTsKLSAgICBzaXplX3Qgb2JqZWN0U2l6ZSA9IHNpemVvZihTb3VyY2VQcm92aWRlckNhY2hl
SXRlbSkgKyBzaXplb2YoU3RyaW5nSW1wbCopICogdmFyaWFibGVDb3VudDsKKyAgICBzaXplX3Qg
b2JqZWN0U2l6ZSA9IHNpemVvZihTb3VyY2VQcm92aWRlckNhY2hlSXRlbSkgKyBzaXplb2YoVW5p
cXVlZFN0cmluZ0ltcGwqKSAqIHZhcmlhYmxlQ291bnQ7CiAgICAgdm9pZCogc2xvdCA9IGZhc3RN
YWxsb2Mob2JqZWN0U2l6ZSk7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92
aWRlckNhY2hlSXRlbT4obmV3IChzbG90KSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbShwYXJhbWV0
ZXJzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHAKaW5kZXggY2VhYmQyNTJkMGQ4Y2MyYTM4YTc2ODkwYzY4ZDI4Mzk0YTY2
N2RmYi4uMjFiYzRjN2NlZmRlODY3ZDhhYjUxYzU3MmJlMTU5NzliZTgxMjBmMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcApA
QCAtNTIsNyArNTIsMTIgQEAKIHsKIH0KIAotYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2
YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0Citib29sIENvbW1vbklkZW50aWZpZXJzOjpp
c1ByaXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9idWls
dGluTmFtZXMtPmlzUHJpdmF0ZU5hbWUodWlkKTsKK30KKworYm9vbCBDb21tb25JZGVudGlmaWVy
czo6aXNQcml2YXRlTmFtZShVbmlxdWVkU3RyaW5nSW1wbCYgdWlkKSBjb25zdAogewogICAgIHJl
dHVybiBtX2J1aWx0aW5OYW1lcy0+aXNQcml2YXRlTmFtZSh1aWQpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNzkwNjll
YTk2NGQ2MDYxNTQxZTk1ZGQ3ZjFjOTMzMGYzZThjMjgyZS4uODUyOWU0NjA2ZTZjM2U0NzVhNDRi
OGFmMzBiODM4MDRlNzEyNWM3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0zMjEsNyArMzIxLDggQEAKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSlNDX0lE
RU5USUZJRVJfREVDTEFSRV9QUklWQVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTCkKICN1bmRl
ZiBKU0NfSURFTlRJRklFUl9ERUNMQVJFX1BSSVZBVEVfV0VMTF9LTk9XTl9TWU1CT0xfR0xPQkFM
CiAKLSAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7Cisg
ICAgICAgIGJvb2wgaXNQcml2YXRlTmFtZShTeW1ib2xJbXBsJiB1aWQpIGNvbnN0OworICAgICAg
ICBib29sIGlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwmIHVpZCkgY29uc3Q7CiAgICAg
ICAgIGJvb2wgaXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAKICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmll
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcAppbmRl
eCBlMDgxNmQyMTczMGZmMjU1OGNlNmVjMWU3NjYwODdlNTBkMjJlMDNlLi5kMjZkOTU2N2M2ODMw
ZmU3ZjMxZWYxMmE3YTQ1YzAxMTI0N2Y4NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JZGVudGlmaWVyLmNwcApAQCAtNDUsNyArNDUsNyBAQAogICAgIGlmICghY1sxXSkK
ICAgICAgICAgcmV0dXJuICp2bS0+c21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZ1Jl
cChjWzBdKTsKIAotICAgIHJldHVybiAqQXRvbWljU3RyaW5nOjphZGQoYyk7CisgICAgcmV0dXJu
ICpBdG9taWNTdHJpbmdJbXBsOjphZGQoYyk7CiB9CiAKIFJlZjxTdHJpbmdJbXBsPiBJZGVudGlm
aWVyOjphZGQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBjaGFyKiBjKQpAQCAtNjQsNyArNjQsNyBA
QAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gKlN0cmluZ0ltcGw6OmVtcHR5KCk7
CiAKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkKHMsIGxlbmd0aCk7CisgICAgcmV0dXJu
ICpBdG9taWNTdHJpbmdJbXBsOjphZGQocywgbGVuZ3RoKTsKIH0KIAogSWRlbnRpZmllciBJZGVu
dGlmaWVyOjpmcm9tKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgdmFsdWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKaW5kZXggZTI5YzQ5Nzc0YjUzZTgzMzQ1
NzFkOTM1ZWEyNGUzYTljYTJlNGFkYi4uYTE5Y2U3OGZiNzIyNGMxYzQzNWZmMDViZDlmNjYzZjVl
M2ZkN2Q5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRp
Zmllci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1
ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtOTIsNyArOTMsNyBAQCBjbGFz
cyBJZGVudGlmaWVyIHsKICAgICBJZGVudGlmaWVyKEVtcHR5SWRlbnRpZmllckZsYWcpIDogbV9z
dHJpbmcoU3RyaW5nSW1wbDo6ZW1wdHkoKSkgeyBBU1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc0F0
b21pYygpKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBzdHJpbmcoKSBjb25zdCB7IHJldHVybiBt
X3N0cmluZzsgfQotICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9zdHJpbmcuaW1wbCgpKTsgfQorICAgIFVu
aXF1ZWRTdHJpbmdJbXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pcXVl
ZFN0cmluZ0ltcGwqPihtX3N0cmluZy5pbXBsKCkpOyB9CiAKICAgICBpbnQgbGVuZ3RoKCkgY29u
c3QgeyByZXR1cm4gbV9zdHJpbmcubGVuZ3RoKCk7IH0KIApAQCAtMTIzLDggKzEyNCw4IEBAIGNs
YXNzIElkZW50aWZpZXIgewogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0
YXRlKiwgY29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVN0cmluZyhF
eGVjU3RhdGUqLCBjb25zdCBjaGFyKik7CiAKLSAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlk
KFZNKiwgU3RyaW5nSW1wbCogdWlkKTsKLSAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4
ZWNTdGF0ZSosIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVp
ZChWTSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBJZGVudGlmaWVyIGZy
b21VaWQoRXhlY1N0YXRlKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgc3RhdGljIElk
ZW50aWZpZXIgZnJvbVVpZChjb25zdCBQcml2YXRlTmFtZSYpOwogCiAgICAgc3RhdGljIElkZW50
aWZpZXIgY3JlYXRlTENoYXJGcm9tVUNoYXIoVk0qIHZtLCBjb25zdCBVQ2hhciogcywgaW50IGxl
bmd0aCkgeyByZXR1cm4gSWRlbnRpZmllcih2bSwgYWRkOCh2bSwgcywgbGVuZ3RoKSk7IH0KQEAg
LTE3NCw4ICsxNzUsMTAgQEAgY2xhc3MgSWRlbnRpZmllciB7CiAgICAgSWRlbnRpZmllcihWTSog
dm0sIGNvbnN0IFN0cmluZyYgc3RyaW5nKSA6IG1fc3RyaW5nKGFkZCh2bSwgc3RyaW5nLmltcGwo
KSkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KICAgICBJZGVudGlm
aWVyKFZNKiB2bSwgU3RyaW5nSW1wbCogcmVwKSA6IG1fc3RyaW5nKGFkZCh2bSwgcmVwKSkgeyBB
U1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc0F0b21pYygpKTsgfQogCi0gICAgZW51bSBVbmlxdWVJ
ZGVudGlmaWVyRmxhZyB7IFVuaXF1ZUlkZW50aWZpZXIgfTsKLSAgICBJZGVudGlmaWVyKFVuaXF1
ZUlkZW50aWZpZXJGbGFnLCBTdHJpbmdJbXBsKiB1aWQpIDogbV9zdHJpbmcodWlkKSB7IEFTU0VS
VChtX3N0cmluZy5pbXBsKCktPmlzU3ltYm9sKCkpOyB9CisgICAgZXhwbGljaXQgSWRlbnRpZmll
cihTeW1ib2xJbXBsKiB1aWQpCisgICAgICAgIDogbV9zdHJpbmcodWlkKQorICAgIHsKKyAgICB9
CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+CiAgICAgQUxXQVlTX0lOTElORSBz
dGF0aWMgdWludDMyX3QgdG9VSW50MzJGcm9tQ2hhcmFjdGVycyhjb25zdCBDaGFyVHlwZSogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBib29sJiBvayk7CkBAIC0yMjEsNyArMjI0LDcgQEAg
Y2xhc3MgSWRlbnRpZmllciB7CiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiAqU3Ry
aW5nSW1wbDo6ZW1wdHkoKTsKIAotICAgIHJldHVybiAqQXRvbWljU3RyaW5nOjphZGQocywgbGVu
Z3RoKTsKKyAgICByZXR1cm4gKkF0b21pY1N0cmluZ0ltcGw6OmFkZChzLCBsZW5ndGgpOwogfQog
CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IElkZW50aWZpZXImIGEsIGNvbnN0IElkZW50
aWZpZXImIGIpCkBAIC0yNzEsNyArMjc0LDcgQEAgaW5saW5lIGJvb2wgSWRlbnRpZmllcjo6ZXF1
YWwoY29uc3QgU3RyaW5nSW1wbCogciwgY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmcKIAog
QUxXQVlTX0lOTElORSBPcHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChjb25zdCBJZGVudGlm
aWVyJiBpZGVudGlmaWVyKQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGlkZW50aWZp
ZXIuaW1wbCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLmltcGwo
KTsKICAgICBpZiAoIXVpZCkKICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgaWYgKHVpZC0+
aXNTeW1ib2woKSkKQEAgLTI3OSw5ICsyODIsOSBAQCBpbmxpbmUgYm9vbCBJZGVudGlmaWVyOjpl
cXVhbChjb25zdCBTdHJpbmdJbXBsKiByLCBjb25zdCBVQ2hhciogcywgdW5zaWduZWQgbGVuZwog
ICAgIHJldHVybiBwYXJzZUluZGV4KCp1aWQpOwogfQogCi1zdHJ1Y3QgSWRlbnRpZmllclJlcEhh
c2ggOiBQdHJIYXNoPFJlZlB0cjxTdHJpbmdJbXBsPj4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IFJlZlB0cjxTdHJpbmdJbXBsPiYga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5n
U3ltYm9sQXdhcmVIYXNoKCk7IH0KLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChTdHJpbmdJbXBs
KiBrZXkpIHsgcmV0dXJuIGtleS0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsgfQorc3RydWN0
IElkZW50aWZpZXJSZXBIYXNoIDogUHRySGFzaDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiB7
CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
PiYga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCk7IH0KKyAgICBz
dGF0aWMgdW5zaWduZWQgaGFzaChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXkt
PmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCk7IH0KIH07CiAKIHN0cnVjdCBJZGVudGlmaWVyTWFw
SW5kZXhIYXNoVHJhaXRzIDogSGFzaFRyYWl0czxpbnQ+IHsKQEAgLTI4OSw4ICsyOTIsOCBAQCBz
dHJ1Y3QgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8aW50PiB7CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwogfTsKIAotdHlw
ZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwg
SGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJh
aXRzPiBJZGVudGlmaWVyTWFwOwotdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBpbnQsIElk
ZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFN0cmluZ0ltcGwqPiwgSWRlbnRpZmllck1hcElu
ZGV4SGFzaFRyYWl0cz4gQm9ycm93ZWRJZGVudGlmaWVyTWFwOwordHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFp
dHM8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4sIElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFp
dHM+IElkZW50aWZpZXJNYXA7Cit0eXBlZGVmIEhhc2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBp
bnQsIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFVuaXF1ZWRTdHJpbmdJbXBsKj4sIElk
ZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHM+IEJvcnJvd2VkSWRlbnRpZmllck1hcDsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0lkZW50aWZpZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
ZGVudGlmaWVySW5saW5lcy5oCmluZGV4IDQwNjIyMWE2M2FhZDk2NWY0NzMwZTQ2ODgzNDczNjdj
M2IyNjcwNGIuLjcxNDhiMjEyODNhNWQyN2ViZmU4MmQ2NTE3NGFkNmQ5ZWFhOTdmYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaApA
QCAtMzcsNyArMzcsNyBAQCBpbmxpbmUgSWRlbnRpZmllcjo6SWRlbnRpZmllcihFeGVjU3RhdGUq
IGV4ZWMsIEF0b21pY1N0cmluZ0ltcGwqIHN0cmluZykKICNpZm5kZWYgTkRFQlVHCiAgICAgY2hl
Y2tDdXJyZW50QXRvbWljU3RyaW5nVGFibGUoZXhlYyk7CiAgICAgaWYgKHN0cmluZykKLSAgICAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLT5sZW5ndGgoKSB8fCBzdHJpbmctPmlzU3lt
Ym9sKCkgfHwgQXRvbWljU3RyaW5nOjppc0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nKSwgIlRo
ZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIpOworICAgICAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmctPmxlbmd0aCgpIHx8IHN0cmluZy0+aXNTeW1ib2wo
KSB8fCBBdG9taWNTdHJpbmdJbXBsOjppc0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nKSwgIlRo
ZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIpOwogI2Vsc2UKICAg
ICBVTlVTRURfUEFSQU0oZXhlYyk7CiAjZW5kaWYKQEAgLTQ5LDcgKzQ5LDcgQEAgaW5saW5lIElk
ZW50aWZpZXI6OklkZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJpbmcm
IHN0cmluZykKICNpZm5kZWYgTkRFQlVHCiAgICAgY2hlY2tDdXJyZW50QXRvbWljU3RyaW5nVGFi
bGUoZXhlYyk7CiAgICAgaWYgKCFzdHJpbmcuaXNOdWxsKCkpCi0gICAgICAgIEFTU0VSVF9XSVRI
X01FU1NBR0UoIXN0cmluZy5sZW5ndGgoKSB8fCBzdHJpbmcuaW1wbCgpLT5pc1N5bWJvbCgpIHx8
IEF0b21pY1N0cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKHN0cmluZy5pbXBsKCkpLCAiVGhl
IGF0b21pYyBzdHJpbmcgY29tZXMgZnJvbSBhbiBvdGhlciB0aHJlYWQhIik7CisgICAgICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5sZW5ndGgoKSB8fCBzdHJpbmcuaW1wbCgpLT5pc1N5
bWJvbCgpIHx8IEF0b21pY1N0cmluZ0ltcGw6OmlzSW5BdG9taWNTdHJpbmdUYWJsZShzdHJpbmcu
aW1wbCgpKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZXhlYyk7CiAjZW5kaWYKQEAgLTYwLDMxICs2MCwz
MSBAQCBpbmxpbmUgSWRlbnRpZmllcjo6SWRlbnRpZmllcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IEF0b21pY1N0cmluZyYgc3RyaW5nKQogI2lmbmRlZiBOREVCVUcKICAgICBjaGVja0N1cnJlbnRB
dG9taWNTdHJpbmdUYWJsZShleGVjKTsKICNlbmRpZgotICAgIHJldHVybiAqQXRvbWljU3RyaW5n
OjphZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcigqZXhlYywgcik7CisgICAgcmV0dXJuICpBdG9t
aWNTdHJpbmdJbXBsOjphZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcigqZXhlYywgcik7CiB9CiBp
bmxpbmUgUmVmPFN0cmluZ0ltcGw+IElkZW50aWZpZXI6OmFkZChWTSogdm0sIFN0cmluZ0ltcGwq
IHIpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxl
KHZtKTsKICNlbmRpZgotICAgIHJldHVybiAqQXRvbWljU3RyaW5nOjphZGRXaXRoU3RyaW5nVGFi
bGVQcm92aWRlcigqdm0sIHIpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkV2l0
aFN0cmluZ1RhYmxlUHJvdmlkZXIoKnZtLCByKTsKIH0KIAotaW5saW5lIElkZW50aWZpZXIgSWRl
bnRpZmllcjo6ZnJvbVVpZChWTSogdm0sIFN0cmluZ0ltcGwqIHVpZCkKK2lubGluZSBJZGVudGlm
aWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0qIHZtLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ewogICAgIGlmICghdWlkIHx8ICF1aWQtPmlzU3ltYm9sKCkpCiAgICAgICAgIHJldHVybiBJZGVu
dGlmaWVyKHZtLCB1aWQpOwotICAgIHJldHVybiBJZGVudGlmaWVyKFVuaXF1ZUlkZW50aWZpZXIs
IHVpZCk7CisgICAgcmV0dXJuIElkZW50aWZpZXIoc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHVp
ZCkpOwogfQogCi1pbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKEV4ZWNTdGF0
ZSogZXhlYywgU3RyaW5nSW1wbCogdWlkKQoraW5saW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6
ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
cmV0dXJuIGZyb21VaWQoJmV4ZWMtPnZtKCksIHVpZCk7CiB9CiAKIGlubGluZSBJZGVudGlmaWVy
IElkZW50aWZpZXI6OmZyb21VaWQoY29uc3QgUHJpdmF0ZU5hbWUmIG5hbWUpCiB7Ci0gICAgcmV0
dXJuIElkZW50aWZpZXIoVW5pcXVlSWRlbnRpZmllciwgbmFtZS51aWQoKSk7CisgICAgcmV0dXJu
IElkZW50aWZpZXIobmFtZS51aWQoKSk7CiB9CiAKIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3Rl
cnNDb3VudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVu
ZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKaW5kZXggYzI0MzIwNmUzNGNiMGViOTA2MWRlYTY3ZTU3
YzQ3NjRjMTg3MmI2ZC4uZDczZjc0OGUzYWY1NzRlMTJiZmZhMTNkMjdhM2EwNjZhOTc2OWZhOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1
cmVDaGFpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRT
dHJ1Y3R1cmVDaGFpbi5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCBib29sIEludGVuZGVkU3RydWN0
dXJlQ2hhaW46Om1hdGNoZXMoU3RydWN0dXJlQ2hhaW4qIGNoYWluKSBjb25zdAogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIEludGVuZGVkU3RydWN0dXJlQ2hhaW46Om1heUludGVyY2VwdFN0
b3JlVG8oQXRvbWljU3RyaW5nSW1wbCogdWlkKQorYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWlu
OjptYXlJbnRlcmNlcHRTdG9yZVRvKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fdmVjdG9yLnNpemUoKTsgKytpKSB7CiAgICAgICAgIHVu
c2lnbmVkIGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgKaW5kZXggM2MwMTkxNzdkYTY1M2U5ZTc1ZjYz
ZTgwMWM1MTY0NDRkNDYxZDRlYi4uYTBmNTU2NWJkMTFmZWU4YzgzNzExZjBmNTYwNTJmMjE0MzIy
OWU1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRT
dHJ1Y3R1cmVDaGFpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVu
ZGVkU3RydWN0dXJlQ2hhaW4uaApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBJbnRlbmRlZFN0cnVj
dHVyZUNoYWluIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbj4gewog
ICAgIAogICAgIGJvb2wgaXNTdGlsbFZhbGlkKCkgY29uc3Q7CiAgICAgYm9vbCBtYXRjaGVzKFN0
cnVjdHVyZUNoYWluKikgY29uc3Q7Ci0gICAgYm9vbCBtYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21p
Y1N0cmluZ0ltcGwqIHVpZCk7CisgICAgYm9vbCBtYXlJbnRlcmNlcHRTdG9yZVRvKFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpOwogICAgIGJvb2wgaXNOb3JtYWxpemVkKCk7CiAgICAgCiAgICAgYm9v
bCB0YWtlc1Nsb3dQYXRoSW5ERkdGb3JJbXB1cmVQcm9wZXJ0eSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDdkMDZmYTYwMGVh
MjA1ZTU3MTk1MGI0Y2I4M2M3YmViZjU4ZTliMDUuLjJiMzNlYzkyMjU5MTFmODVmNGY2MzY4YmE0
M2VhM2I0YTYyYWY3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKQEAgLTQ1Niw3ICs0NTYsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJh
dGVLZXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRWYWx1ZVBy
aXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVWYWx1ZSksIERvbnRFbnVtIHwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5
TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFy
cmF5SXRlcmF0ZUtleVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAot
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+c3ltYm9sSXRlcmF0
b3JQcml2YXRlTmFtZSwgU3ltYm9sOjpjcmVhdGUodm0sIHZtLnByb3BlcnR5TmFtZXMtPml0ZXJh
dG9yU3ltYm9sLmltcGwoKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9y
UHJpdmF0ZU5hbWUsIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4o
dm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICB9OwogICAgIGFkZFN0YXRpY0dsb2JhbHMoc3RhdGlj
R2xvYmFscywgV1RGX0FSUkFZX0xFTkdUSChzdGF0aWNHbG9iYWxzKSk7CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKaW5kZXggMTNiOTBlZmE2NjdkNDky
MDc5MGEyMzMxOWE1ZThmYzc3NDFkZDk4ZC4uZjlkMGY0MzQ2MTVlNzI1NzYyYzExYzdlODJlMzk1
ZWRkMTI5YjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dHJpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNw
cApAQCAtMTk0LDcgKzE5NCw3IEBAIEF0b21pY1N0cmluZ0ltcGwqIEpTUm9wZVN0cmluZzo6cmVz
b2x2ZVJvcGVUb0V4aXN0aW5nQXRvbWljU3RyaW5nKEV4ZWNTdGF0ZSogZXhlCiB7CiAgICAgaWYg
KG1fbGVuZ3RoID4gbWF4TGVuZ3RoRm9yT25TdGFja1Jlc29sdmUpIHsKICAgICAgICAgcmVzb2x2
ZVJvcGUoZXhlYyk7Ci0gICAgICAgIGlmIChBdG9taWNTdHJpbmdJbXBsKiBleGlzdGluZ0F0b21p
Y1N0cmluZyA9IEF0b21pY1N0cmluZzo6ZmluZChtX3ZhbHVlLmltcGwoKSkpIHsKKyAgICAgICAg
aWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5nID0gQXRvbWljU3RyaW5n
SW1wbDo6bG9va3VwKG1fdmFsdWUuaW1wbCgpKSkgewogICAgICAgICAgICAgbV92YWx1ZSA9ICpl
eGlzdGluZ0F0b21pY1N0cmluZzsKICAgICAgICAgICAgIHNldElzOEJpdChtX3ZhbHVlLmltcGwo
KS0+aXM4Qml0KCkpOwogICAgICAgICAgICAgY2xlYXJGaWJlcnMoKTsKQEAgLTIwNiw3ICsyMDYs
NyBAQCBBdG9taWNTdHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9FeGlzdGlu
Z0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZQogICAgIGlmIChpczhCaXQoKSkgewogICAgICAg
ICBMQ2hhciBidWZmZXJbbWF4TGVuZ3RoRm9yT25TdGFja1Jlc29sdmVdOwogICAgICAgICByZXNv
bHZlUm9wZUludGVybmFsOChidWZmZXIpOwotICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCog
ZXhpc3RpbmdBdG9taWNTdHJpbmcgPSBBdG9taWNTdHJpbmc6OmZpbmQoYnVmZmVyLCBtX2xlbmd0
aCkpIHsKKyAgICAgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5n
ID0gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CiAgICAgICAg
ICAgICBtX3ZhbHVlID0gKmV4aXN0aW5nQXRvbWljU3RyaW5nOwogICAgICAgICAgICAgc2V0SXM4
Qml0KG1fdmFsdWUuaW1wbCgpLT5pczhCaXQoKSk7CiAgICAgICAgICAgICBjbGVhckZpYmVycygp
OwpAQCAtMjE1LDcgKzIxNSw3IEBAIEF0b21pY1N0cmluZ0ltcGwqIEpTUm9wZVN0cmluZzo6cmVz
b2x2ZVJvcGVUb0V4aXN0aW5nQXRvbWljU3RyaW5nKEV4ZWNTdGF0ZSogZXhlCiAgICAgfSBlbHNl
IHsKICAgICAgICAgVUNoYXIgYnVmZmVyW21heExlbmd0aEZvck9uU3RhY2tSZXNvbHZlXTsKICAg
ICAgICAgcmVzb2x2ZVJvcGVJbnRlcm5hbDE2KGJ1ZmZlcik7Ci0gICAgICAgIGlmIChBdG9taWNT
dHJpbmdJbXBsKiBleGlzdGluZ0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZzo6ZmluZChidWZm
ZXIsIG1fbGVuZ3RoKSkgeworICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogZXhpc3RpbmdB
dG9taWNTdHJpbmcgPSBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXAoYnVmZmVyLCBtX2xlbmd0aCkp
IHsKICAgICAgICAgICAgIG1fdmFsdWUgPSAqZXhpc3RpbmdBdG9taWNTdHJpbmc7CiAgICAgICAg
ICAgICBzZXRJczhCaXQobV92YWx1ZS5pbXBsKCktPmlzOEJpdCgpKTsKICAgICAgICAgICAgIGNs
ZWFyRmliZXJzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAppbmRl
eCBhMjJlNmZiZDc0ZTFjZWJkMTc3N2Q0ZmRjYWY5ODM2Mzc3ZDQwNGU2Li4yMWY4NjM5OTE5NTVj
MTdhODMxNTMxOGZkNTNiMGRmNjYyMzRkZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0cmluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU3RyaW5nLmgKQEAgLTQ4MSw3ICs0ODEsNyBAQCBBTFdBWVNfSU5MSU5FIEF0b21pY1N0
cmluZ0ltcGwqIEpTU3RyaW5nOjp0b0V4aXN0aW5nQXRvbWljU3RyaW5nKEV4ZWNTdGF0ZSogZXhl
YwogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSlNSb3BlU3RyaW5nKj4odGhpcykt
PnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmluZyhleGVjKTsKICAgICBpZiAobV92YWx1
ZS5pbXBsKCktPmlzQXRvbWljKCkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNT
dHJpbmdJbXBsKj4obV92YWx1ZS5pbXBsKCkpOwotICAgIHJldHVybiBBdG9taWNTdHJpbmc6OmZp
bmQobV92YWx1ZS5pbXBsKCkpOworICAgIHJldHVybiBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXAo
bV92YWx1ZS5pbXBsKCkpOwogfQogCiBpbmxpbmUgY29uc3QgU3RyaW5nJiBKU1N0cmluZzo6dmFs
dWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29r
dXAuaAppbmRleCA4NGFhZjhlYWVlZjkyNmI4OGFmYWJlMmEwOGMxZTBiNDEyZDhhMmM4Li4zNWE1
YzYxZGI3OTRiNTE3MGI3NTRiNmQ3MDA4ZTM4ZWRjZjEwZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Mb29rdXAuaApAQCAtMTAwLDcgKzEwMCw3IEBAIHN0cnVjdCBIYXNoVGFibGUg
ewogICAgICAgICBpZiAocHJvcGVydHlOYW1lLmlzU3ltYm9sKCkpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAotICAgICAgICBTdHJpbmdJbXBsKiB1aWQgPSBwcm9wZXJ0eU5hbWUudWlk
KCk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBwcm9wZXJ0eU5hbWUudWlkKCk7
CiAgICAgICAgIGlmICghdWlkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcERhdGEuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcERhdGEuaAppbmRleCAzOTM0YTViNWM0NTVhNTk3ODE3
NWU3MzllMGExYmEyZDMwMGY1MjljLi4zYjU4NjNlZmNkZjI3NzZlYjFiODQ1OTAyYjM4NzA4OTQz
NjY4YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRh
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCkBAIC0xMTUs
NyArMTE1LDcgQEAgY2xhc3MgTWFwRGF0YUltcGwgewogICAgIHR5cGVkZWYgSGFzaE1hcDxKU0Nl
bGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6OkRlZmF1bHRIYXNoPEpTQ2VsbCo+OjpIYXNoLCBX
VEY6Okhhc2hUcmFpdHM8SlNDZWxsKj4sIEluZGV4VHJhaXRzPiBDZWxsS2V5ZWRNYXA7CiAgICAg
dHlwZWRlZiBIYXNoTWFwPEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZUhh
c2gsIEVuY29kZWRKU1ZhbHVlSGFzaFRyYWl0cywgSW5kZXhUcmFpdHM+IFZhbHVlS2V5ZWRNYXA7
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6
OkRlZmF1bHRIYXNoPFN0cmluZ0ltcGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJhaXRzPFN0cmluZ0lt
cGwqPiwgSW5kZXhUcmFpdHM+IFN0cmluZ0tleWVkTWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxB
dG9taWNTdHJpbmdJbXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxBdG9t
aWNTdHJpbmdJbXBsKj46Okhhc2gsIFdURjo6SGFzaFRyYWl0czxBdG9taWNTdHJpbmdJbXBsKj4s
IEluZGV4VHJhaXRzPiBTeW1ib2xLZXllZE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8U3ltYm9s
SW1wbCosIGludDMyX3QsIHR5cGVuYW1lIFdURjo6UHRySGFzaDxTeW1ib2xJbXBsKj4sIFdURjo6
SGFzaFRyYWl0czxTeW1ib2xJbXBsKj4sIEluZGV4VHJhaXRzPiBTeW1ib2xLZXllZE1hcDsKIAog
ICAgIHNpemVfdCBjYXBhY2l0eUluQnl0ZXMoKSB7IHJldHVybiBtX2NhcGFjaXR5ICogc2l6ZW9m
KEVudHJ5KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
YmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZDdiNTE2YTQzM2Q4MjBjZThlNGUwZjcxZWY4NTBlYmQ4
Y2VlZDgyYS4uM2NkMTVlYjM0YWFiN2FmZjJhY2FmYWJkNjdlYmUxYTUwZTVmNzQ0NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNw
cApAQCAtMjQyLDkgKzI0Miw5IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0
Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eVN5bWJvbHMoRXhlY1N0YXRlKiBlCiAgICAgSlNBcnJh
eSogbmFtZXMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwogICAgIHNpemVfdCBudW1Q
cm9wZXJ0aWVzID0gcHJvcGVydGllcy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBudW1Qcm9wZXJ0aWVzOyBpKyspIHsKLSAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogaW1wbCA9
IHByb3BlcnRpZXNbaV0uaW1wbCgpOwotICAgICAgICBpZiAoaW1wbC0+aXNTeW1ib2woKSAmJiAh
ZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoaW1wbCkpCi0gICAgICAgICAgICBu
YW1lcy0+cHVzaChleGVjLCBTeW1ib2w6OmNyZWF0ZShleGVjLT52bSgpLCBpbXBsKSk7CisgICAg
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBpbXBsID0gcHJvcGVydGllc1tpXS5pbXBsKCk7CisgICAg
ICAgIGlmIChpbXBsLT5pc1N5bWJvbCgpICYmICFleGVjLT5wcm9wZXJ0eU5hbWVzKCkuaXNQcml2
YXRlTmFtZSgqaW1wbCkpCisgICAgICAgICAgICBuYW1lcy0+cHVzaChleGVjLCBTeW1ib2w6OmNy
ZWF0ZShleGVjLT52bSgpLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4oaW1wbCkpKTsKICAgICB9
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShuYW1lcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAppbmRleCBjY2NjYzM5ZmE5MzkxM2IzZmE2MWM3
NTBlNjhkYzcyOTE2ZTViNzE0Li5lNDZhN2E2MWM2OTJjOWFhNGZkMWY5YjBhZDEwNTU2NjlhYWRj
ZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFt
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgKQEAg
LTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUHJpdmF0ZU5hbWVfaAogI2RlZmluZSBQcml2YXRlTmFt
ZV9oCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvU3ltYm9sSW1wbC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzcsMjQgKzM3LDI1IEBA
IGNsYXNzIFByaXZhdGVOYW1lIHsKICAgICB7CiAgICAgfQogCi0gICAgZXhwbGljaXQgUHJpdmF0
ZU5hbWUoU3RyaW5nSW1wbCogdWlkKQorICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKFN5bWJvbElt
cGwqIHVpZCkKICAgICAgICAgOiBtX2ltcGwodWlkKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
aW1wbC0+aXNTeW1ib2woKSk7CiAgICAgfQogCi0gICAgZXhwbGljaXQgUHJpdmF0ZU5hbWUoY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKKyAgICBlbnVtIERlc2NyaXB0aW9uVGFnIHsgRGVzY3Jp
cHRpb24gfTsKKyAgICBleHBsaWNpdCBQcml2YXRlTmFtZShEZXNjcmlwdGlvblRhZywgY29uc3Qg
U3RyaW5nJiBkZXNjcmlwdGlvbikKICAgICAgICAgOiBtX2ltcGwoU3RyaW5nSW1wbDo6Y3JlYXRl
U3ltYm9sKGRlc2NyaXB0aW9uLmltcGwoKSkpCiAgICAgewogICAgIH0KIAotICAgIEF0b21pY1N0
cmluZ0ltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0lt
cGwqPihtX2ltcGwuZ2V0KCkpOyB9CisgICAgU3ltYm9sSW1wbCogdWlkKCkgY29uc3QgeyByZXR1
cm4gbV9pbXBsLmdldCgpOyB9CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJpdmF0ZU5h
bWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSA9PSBvdGhlci51aWQoKTsgfQogICAgIGJv
b2wgb3BlcmF0b3IhPShjb25zdCBQcml2YXRlTmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIHVp
ZCgpICE9IG90aGVyLnVpZCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgUmVmUHRyPFN0cmluZ0ltcGw+
IG1faW1wbDsKKyAgICBSZWZQdHI8U3ltYm9sSW1wbD4gbV9pbXBsOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgK
aW5kZXggYWM5NWNhMTc1NjBlZTE3N2ZhM2M2YThmYjg5ODA1ZDVjNjllZjViOC4uYjA2OGI5OTFk
ZWFkNTU4MTRjNDlkMjA3NDI4YmNiNmQxNjM3ZWRjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCkBAIC0zNSw3ICszNSw3
IEBACiAjZGVmaW5lIERVTVBfUFJPUEVSVFlNQVBfU1RBVFMgMAogI2RlZmluZSBEVU1QX1BST1BF
UlRZTUFQX0NPTExJU0lPTlMgMAogCi0jZGVmaW5lIFBST1BFUlRZX01BUF9ERUxFVEVEX0VOVFJZ
X0tFWSAoKEF0b21pY1N0cmluZ0ltcGwqKTEpCisjZGVmaW5lIFBST1BFUlRZX01BUF9ERUxFVEVE
X0VOVFJZX0tFWSAoKFVuaXF1ZWRTdHJpbmdJbXBsKikxKQogCiBuYW1lc3BhY2UgSlNDIHsKIApA
QCAtMTMzLDcgKzEzMyw3IEBAIGNsYXNzIFByb3BlcnR5VGFibGUgZmluYWwgOiBwdWJsaWMgSlND
ZWxsIHsKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgVHlwZUluZm8oQ2VsbFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsK
ICAgICB9CiAKLSAgICB0eXBlZGVmIEF0b21pY1N0cmluZ0ltcGwqIEtleVR5cGU7CisgICAgdHlw
ZWRlZiBVbmlxdWVkU3RyaW5nSW1wbCogS2V5VHlwZTsKICAgICB0eXBlZGVmIFByb3BlcnR5TWFw
RW50cnkgVmFsdWVUeXBlOwogCiAgICAgLy8gVGhlIGluIG9yZGVyIGl0ZXJhdG9yIHByb3ZpZGVz
IG92ZXJsb2FkZWQgKiBhbmQgLT4gdG8gYWNjZXNzIHRoZSBWYWx1ZSBhdCB0aGUgY3VycmVudCBw
b3NpdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Bl
cnR5TmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgK
aW5kZXggNGYyY2E4NzJiZTM3MjNmY2I3MDlhMjM1OGE2NThkOTgyNTk2ZDc1MC4uNzBiYTAzOTM0
MDlkNDUzMDYwNWIyODg5NGExYTdhODUzYWIwMDU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgKQEAgLTM0LDE5ICszNCwxOSBAQAogCiBjbGFzcyBQ
cm9wZXJ0eU5hbWUgewogcHVibGljOgotICAgIFByb3BlcnR5TmFtZShBdG9taWNTdHJpbmdJbXBs
KiBwcm9wZXJ0eU5hbWUpCisgICAgUHJvcGVydHlOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsKiBwcm9w
ZXJ0eU5hbWUpCiAgICAgICAgIDogbV9pbXBsKHByb3BlcnR5TmFtZSkKICAgICB7Ci0gICAgICAg
IEFTU0VSVCghbV9pbXBsIHx8IG1faW1wbC0+aXNBdG9taWMoKSB8fCBtX2ltcGwtPmlzU3ltYm9s
KCkpOworICAgICAgICBBU1NFUlQoIW1faW1wbCk7CiAgICAgfQogCiAgICAgUHJvcGVydHlOYW1l
KGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBQcm9wZXJ0eU5hbWUo
c3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS5pbXBsKCkpKQorICAg
ICAgICA6IFByb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUuaW1wbCgpKQogICAgIHsKICAgICB9CiAK
ICAgICBQcm9wZXJ0eU5hbWUoY29uc3QgUHJpdmF0ZU5hbWUmIHByb3BlcnR5TmFtZSkKLSAgICAg
ICAgOiBtX2ltcGwoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS51
aWQoKSkpCisgICAgICAgIDogbV9pbXBsKHByb3BlcnR5TmFtZS51aWQoKSkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChtX2ltcGwpOwogICAgICAgICBBU1NFUlQobV9pbXBsLT5pc1N5bWJvbCgpKTsK
QEAgLTU3LDE0ICs1NywxNCBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgICAgICByZXR1cm4g
bV9pbXBsICYmIG1faW1wbC0+aXNTeW1ib2woKTsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQoKSBjb25zdAorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQoKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIG1faW1wbDsKICAgICB9CiAKICAgICBBdG9taWNTdHJpbmdJbXBs
KiBwdWJsaWNOYW1lKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiAoIW1faW1wbCB8fCBt
X2ltcGwtPmlzU3ltYm9sKCkpID8gbnVsbHB0ciA6IG1faW1wbDsKKyAgICAgICAgcmV0dXJuICgh
bV9pbXBsIHx8IG1faW1wbC0+aXNTeW1ib2woKSkgPyBudWxscHRyIDogc3RhdGljX2Nhc3Q8QXRv
bWljU3RyaW5nSW1wbCo+KG1faW1wbCk7CiAgICAgfQogCiAgICAgdm9pZCBkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CkBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZSB7CiAg
ICAgfQogCiBwcml2YXRlOgotICAgIEF0b21pY1N0cmluZ0ltcGwqIG1faW1wbDsKKyAgICBVbmlx
dWVkU3RyaW5nSW1wbCogbV9pbXBsOwogfTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShQcm9w
ZXJ0eU5hbWUgYSwgY29uc3QgSWRlbnRpZmllciYgYikKQEAgLTExNiw3ICsxMTYsNyBAQCBjbGFz
cyBQcm9wZXJ0eU5hbWUgewogCiBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPHVpbnQzMl90PiBwYXJz
ZUluZGV4KFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgQXRvbWljU3RyaW5nSW1w
bCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQg
PSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAgICAgaWYgKCF1aWQpCiAgICAgICAgIHJldHVybiBOdWxs
b3B0OwogICAgIGlmICh1aWQtPmlzU3ltYm9sKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5jcHAKaW5kZXggOTQ5NDA0MTA3NGQ1MjVl
MWMzYzRjNzZiMDMyYTI5OWNjMzk0ZDZjZS4uYTM1YTUzZTNhZDIzNmQ2N2QzNWFjZjNkZTk3NzJk
NzJkNmMzZGZlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
cGVydHlOYW1lQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3BlcnR5TmFtZUFycmF5LmNwcApAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKEF0b21pY1N0cmluZ0ltcGwqIGlkZW50aWZp
ZXIpCit2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGQoVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50
aWZpZXIpCiB7CiAgICAgQVNTRVJUKGlkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaAppbmRleCA4M2E1MGEwOTU1ZGIz
MGExNjNlYWVmMWJkMzlmNjQ1MzFmNjQ3ZDU2Li40ZTVkOTlkZmZlMWQyNTU2NjkzYTRmN2Q4ZTE0
ZDZhMWE1NzcwNzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm9wZXJ0eU5hbWVBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3BlcnR5TmFtZUFycmF5LmgKQEAgLTcxLDggKzcxLDggQEAgY2xhc3MgUHJvcGVydHlOYW1lQXJy
YXkgewogICAgIH0KIAogICAgIHZvaWQgYWRkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIp
IHsgYWRkKGlkZW50aWZpZXIuaW1wbCgpKTsgfQotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
YWRkKEF0b21pY1N0cmluZ0ltcGwqKTsKLSAgICB2b2lkIGFkZEtub3duVW5pcXVlKEF0b21pY1N0
cmluZ0ltcGwqIGlkZW50aWZpZXIpCisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGQoVW5p
cXVlZFN0cmluZ0ltcGwqKTsKKyAgICB2b2lkIGFkZEtub3duVW5pcXVlKFVuaXF1ZWRTdHJpbmdJ
bXBsKiBpZGVudGlmaWVyKQogICAgIHsKICAgICAgICAgbV9zZXQuYWRkKGlkZW50aWZpZXIpOwog
ICAgICAgICBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpLmFwcGVuZChJZGVudGlmaWVyOjpm
cm9tVWlkKG1fdm0sIGlkZW50aWZpZXIpKTsKQEAgLTk0LDcgKzk0LDcgQEAgY2xhc3MgUHJvcGVy
dHlOYW1lQXJyYXkgewogCiBwcml2YXRlOgogICAgIFJlZlB0cjxQcm9wZXJ0eU5hbWVBcnJheURh
dGE+IG1fZGF0YTsKLSAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiBtX3NldDsKKyAgICBI
YXNoU2V0PFVuaXF1ZWRTdHJpbmdJbXBsKj4gbV9zZXQ7CiAgICAgVk0qIG1fdm07CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAppbmRleCA5
MWEzMzY4NDY0Y2U2ODc5OWM1OTkzN2M4MTBmNzhmZTgwNmRkYmNjLi45YzZhNDNhZTIxMzhmNGVl
ZmViYTZlMWQwMmJjMmVhZDE5ZTRkZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgU21hbGxTdHJp
bmdzU3RvcmFnZSB7CiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IGJhc2VTdHJpbmcgPSBTdHJpbmdJ
bXBsOjpjcmVhdGVVbmluaXRpYWxpemVkKHNpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50LCBjaGFy
YWN0ZXJCdWZmZXIpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmdDb3VudDsgKytpKSB7CiAgICAgICAgIGNoYXJhY3RlckJ1ZmZlcltpXSA9IGk7Ci0g
ICAgICAgIG1fcmVwc1tpXSA9IEF0b21pY1N0cmluZzo6YWRkKFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4oU3RyaW5nSW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0ltcGwoYmFzZVN0cmluZywgaSwg
MSkpLmdldCgpKTsKKyAgICAgICAgbV9yZXBzW2ldID0gQXRvbWljU3RyaW5nSW1wbDo6YWRkKFBh
c3NSZWZQdHI8U3RyaW5nSW1wbD4oU3RyaW5nSW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0lt
cGwoYmFzZVN0cmluZywgaSwgMSkpLmdldCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCmluZGV4IDk5OTg1Nzg4YjZjY2QwOWQzNTYx
ZDUzMjRmNWM3Y2I0YzVmMjNiZTUuLmI4NDQ2ZmQ1N2U1MzI1NjJkZWQ4ZjBlYzBlZWRiOTc5ZTQz
OWQ2M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcApA
QCAtNjAsNyArNjAsNyBAQAogc3RhdGljIEhhc2hTZXQ8U3RydWN0dXJlKj4mIGxpdmVTdHJ1Y3R1
cmVTZXQgPSAqKG5ldyBIYXNoU2V0PFN0cnVjdHVyZSo+KTsKICNlbmRpZgogCi1ib29sIFN0cnVj
dHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNv
bnRhaW5zKFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0
CiB7CiAgICAgaWYgKGlzVXNpbmdTaW5nbGVTbG90KCkpIHsKICAgICAgICAgU3RydWN0dXJlKiB0
cmFuc2l0aW9uID0gc2luZ2xlVHJhbnNpdGlvbigpOwpAQCAtNjksNyArNjksNyBAQCBib29sIFN0
cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1
bnNpZ25lZCBhdHRyaWJ1dAogICAgIHJldHVybiBtYXAoKS0+Z2V0KHN0ZDo6bWFrZV9wYWlyKHJl
cCwgYXR0cmlidXRlcykpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVUcmFuc2l0
aW9uVGFibGU6OmdldChBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
IGNvbnN0CitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmdldChV
bmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdAogewogICAg
IGlmIChpc1VzaW5nU2luZ2xlU2xvdCgpKSB7CiAgICAgICAgIFN0cnVjdHVyZSogdHJhbnNpdGlv
biA9IHNpbmdsZVRyYW5zaXRpb24oKTsKQEAgLTMxNiw3ICszMTYsNyBAQCB2b2lkIFN0cnVjdHVy
ZTo6bWF0ZXJpYWxpemVQcm9wZXJ0eU1hcChWTSYgdm0pCiAgICAgY2hlY2tPZmZzZXRDb25zaXN0
ZW5jeSgpOwogfQogCi1TdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9u
VG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkK
K1N0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3Ry
dWN0dXJlSW1wbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwg
dW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBBU1NF
UlQoIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwogICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlz
T2JqZWN0KCkpOwpAQCAtMzM2LDcgKzMzNiw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQ
cm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSogc3RydWN0CiAg
ICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0
cnVjdHVyZSwgcHJvcGVydHlOYW1lLnVpZCgpLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1T
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1wbCog
dWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQorU3RydWN0
dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVD
b25jdXJyZW50bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgQ29u
Y3VycmVudEpJVExvY2tlciBsb2NrZXIoc3RydWN0dXJlLT5tX2xvY2spOwogICAgIHJldHVybiBh
ZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVp
ZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKQEAgLTg0Miw3ICs4NDIsNyBAQCBQcm9wZXJ0eVRhYmxl
KiBTdHJ1Y3R1cmU6OmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlubmluZyhWTSYgdm0pCiAgICAgcmV0
dXJuIFByb3BlcnR5VGFibGU6OmNyZWF0ZSh2bSwgbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQo
bV9vZmZzZXQsIG1faW5saW5lQ2FwYWNpdHkpKTsKIH0KIAotUHJvcGVydHlPZmZzZXQgU3RydWN0
dXJlOjpnZXRDb25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0
cmlidXRlcykKK1Byb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKQogewogICAgIFByb3BlcnR5
T2Zmc2V0IHJlc3VsdCA9IGludmFsaWRPZmZzZXQ7CiAgICAgCkBAIC04ODIsNyArODgyLDcgQEAg
UHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjphZGQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLCB1bnNpZ25lZCBhdHRyaWIKICAgICBpZiAoYXR0cmlidXRlcyAmIERvbnRFbnVtKQog
ICAgICAgICBzZXRIYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyh0cnVlKTsKIAotICAgIEF0b21p
Y1N0cmluZ0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFwcm9wZXJ0eVRhYmxl
KCkpCiAgICAgICAgIGNyZWF0ZVByb3BlcnR5TWFwKGxvY2tlciwgdm0pOwpAQCAtOTAxLDcgKzkw
MSw3IEBAIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlKFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpCiAgICAgCiAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogCi0gICAgQXRvbWljU3Ry
aW5nSW1wbCogcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBpZiAoIXByb3BlcnR5VGFibGUoKSkK
ICAgICAgICAgcmV0dXJuIGludmFsaWRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oCmluZGV4IDFiNDRlMmEyYjcyNDAyNzA2YzBmOTA0YzliOTRjODhhMTEx
ZGFmYjYuLjFhNGVlYjVhNTA0NjQ3YTEwZDk3NTIwZTQ1M2E4YmNkMTdkMzY4OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBAIC00OCw3ICs0OCw3IEBACiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIApAQCAtNzMsNyArNzMsNyBAQAogc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG91dE9mTGluZUdyb3d0aEZhY3RvciA9IDI7CiAKIHN0cnVjdCBQcm9wZXJ0eU1hcEVudHJ5IHsK
LSAgICBBdG9taWNTdHJpbmdJbXBsKiBrZXk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIGtleTsK
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKIApA
QCAtODQsNyArODQsNyBAQCBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRyeSB7CiAgICAgewogICAgIH0K
ICAgICAKLSAgICBQcm9wZXJ0eU1hcEVudHJ5KEF0b21pY1N0cmluZ0ltcGwqIGtleSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQorICAgIFByb3BlcnR5TWFwRW50
cnkoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKQogICAgICAgICA6IGtleShrZXkpCiAgICAgICAgICwgb2Zmc2V0KG9mZnNl
dCkKICAgICAgICAgLCBhdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCkBAIC0xMzMsNyArMTMzLDcgQEAg
Y2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIHZvaWQg
ZHVtcFN0YXRpc3RpY3MoKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1
cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwg
dW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OkNv
bnRleHQgPSBQdXRQcm9wZXJ0eVNsb3Q6OlVua25vd25Db250ZXh0KTsKLSAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVu
dGx5KFN0cnVjdHVyZSosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRl
cywgUHJvcGVydHlPZmZzZXQmKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFu
c2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2ln
bmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSog
cmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3Rv
dHlwZSk7CkBAIC0yODgsOCArMjg4LDggQEAgY2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGlj
IEpTQ2VsbCB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KICAgICB2b2lkIGZvckVh
Y2hQcm9wZXJ0eUNvbmN1cnJlbnRseShjb25zdCBGdW5jdG9yJik7CiAgICAgCi0gICAgUHJvcGVy
dHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAgUHJv
cGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWdu
ZWQmIGF0dHJpYnV0ZXMpOworICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRDb25jdXJyZW50bHko
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJpYnV0ZXMpOwogICAgIAogICAg
IFZlY3RvcjxQcm9wZXJ0eU1hcEVudHJ5PiBnZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCk7CiAg
ICAgCkBAIC00ODIsNyArNDgyLDcgQEAgY2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGljIEpT
Q2VsbCB7CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
ICAgICAKLSAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2ln
bmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZz
ZXQmKTsKIAogICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIHN0cnVjdHVyZSB0aGF0IGhhcyBh
IHVzYWJsZSBwcm9wZXJ0eSB0YWJsZSwgdGhhdCBwcm9wZXJ0eSB0YWJsZSwKICAgICAvLyBhbmQg
dGhlIGxpc3Qgb2Ygc3RydWN0dXJlcyB0aGF0IHdlIHZpc2l0ZWQgYmVmb3JlIHdlIGdvdCB0byBp
dC4gSWYgaXQgcmV0dXJucyBhCkBAIC01OTAsNyArNTkwLDcgQEAgY2xhc3MgU3RydWN0dXJlIGZp
bmFsIDogcHVibGljIEpTQ2VsbCB7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNDZWxsPiBtX3ByZXZp
b3VzT3JSYXJlRGF0YTsKIAotICAgIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBtX25hbWVJblBy
ZXZpb3VzOworICAgIFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gbV9uYW1lSW5QcmV2aW91czsK
IAogICAgIGNvbnN0IENsYXNzSW5mbyogbV9jbGFzc0luZm87CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAppbmRleCBmMTdiYzFiMTdhNDAx
YzBkYzg5MThjNmRiODMzOWM1MzMxMDg1MjMwLi41YzNhZWQ3NzE1MWE5YjIzN2I2NzZhYWFkZWM1
YmMwMTE2MmNmNzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdHJ1Y3R1cmU6OmZvckVh
Y2hQcm9wZXJ0eUNvbmN1cnJlbnRseShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQogICAgIH0KIH0K
IAotaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KEF0b21p
Y1N0cmluZ0ltcGwqIHVpZCkKK2lubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENv
bmN1cnJlbnRseShVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHVuc2lnbmVkIGF0dHJp
YnV0ZXNJZ25vcmVkOwogICAgIHJldHVybiBnZXRDb25jdXJyZW50bHkodWlkLCBhdHRyaWJ1dGVz
SWdub3JlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCmluZGV4IDIzYzZjYTMwZGZhMzhlNDAyYjk5NTY4YTYz
MDFmNTM3ZTgyMDU4ZmUuLjMyYzk5MmRhZjcxNDQzNWNiOWIyMTk3N2NiNTc4ZTIzNTRhNjQyMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5z
aXRpb25UYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZS5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5kZXhpbmdU
eXBlLmgiCiAjaW5jbHVkZSAiV2Vha0dDTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlv
bnMuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTkz
LDExICs5MywxMSBAQCBjbGFzcyBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUgewogCiAgICAgCiAg
ICAgc3RydWN0IEhhc2ggewotICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxBdG9taWNTdHJpbmdJ
bXBsKiwgdW5zaWduZWQ+IEtleTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8VW5pcXVlZFN0
cmluZ0ltcGwqLCB1bnNpZ25lZD4gS2V5OwogICAgICAgICAKICAgICAgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goY29uc3QgS2V5JiBwKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gUHRy
SGFzaDxBdG9taWNTdHJpbmdJbXBsKj46Omhhc2gocC5maXJzdCkgKyBwLnNlY29uZDsKKyAgICAg
ICAgICAgIHJldHVybiBQdHJIYXNoPFVuaXF1ZWRTdHJpbmdJbXBsKj46Omhhc2gocC5maXJzdCkg
KyBwLnNlY29uZDsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0
IEtleSYgYSwgY29uc3QgS2V5JiBiKQpAQCAtMTMwLDggKzEzMCw4IEBAIGNsYXNzIFN0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZSB7CiAgICAgfQogCiAgICAgaW5saW5lIHZvaWQgYWRkKFZNJiwgU3Ry
dWN0dXJlKik7Ci0gICAgaW5saW5lIGJvb2wgY29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVw
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdDsKLSAgICBpbmxpbmUgU3RydWN0dXJlKiBnZXQo
QXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdDsKKyAgICBp
bmxpbmUgYm9vbCBjb250YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzKSBjb25zdDsKKyAgICBpbmxpbmUgU3RydWN0dXJlKiBnZXQoVW5pcXVlZFN0cmluZ0lt
cGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgYm9v
bCBpc1VzaW5nU2luZ2xlU2xvdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TeW1ib2wuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sLmNwcAppbmRleCA2ZDc5ZDFjNDYxNmQ3Yzk2MDM4MzZhMjM1ZTU3NzExMmFjZjBlMzRk
Li4yNWIzY2E3YzYxYjJkZTFkNmQwNDE1Mjk3YWNjMjg3MTlkMjA3ZDAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5jcHAKQEAgLTQzLDExICs0MywxMSBAQAogCiBTeW1i
b2w6OlN5bWJvbChWTSYgdm0sIGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIDogQmFzZSh2bSwg
dm0uc3ltYm9sU3RydWN0dXJlLmdldCgpKQotICAgICwgbV9wcml2YXRlTmFtZShzdHJpbmcpCisg
ICAgLCBtX3ByaXZhdGVOYW1lKFByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgc3RyaW5nKQogewog
fQogCi1TeW1ib2w6OlN5bWJvbChWTSYgdm0sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1N5bWJv
bDo6U3ltYm9sKFZNJiB2bSwgU3ltYm9sSW1wbCogdWlkKQogICAgIDogQmFzZSh2bSwgdm0uc3lt
Ym9sU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9wcml2YXRlTmFtZSh1aWQpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCmluZGV4IDE5YjZmNGYyZmNhYmYwNmMxOTI4Zjkw
YmM4ODZhZmMwNGFjM2QxMjQuLjdkNTJjYTliYzBkZDIwYTk2YzFlNTg3Nzk3NGViMTVlMDE4OGU1
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCkBAIC02NCw3ICs2NCw3
IEBAIGNsYXNzIFN5bWJvbCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4g
c3ltYm9sOwogICAgIH0KIAotICAgIHN0YXRpYyBTeW1ib2wqIGNyZWF0ZShWTSYgdm0sIEF0b21p
Y1N0cmluZ0ltcGwqIHVpZCkKKyAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBTeW1i
b2xJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBTeW1ib2wqIHN5bWJvbCA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPFN5bWJvbD4odm0uaGVhcCkpIFN5bWJvbCh2bSwgdWlkKTsKICAgICAg
ICAgc3ltYm9sLT5maW5pc2hDcmVhdGlvbih2bSk7CkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFN5
bWJvbCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgU3ltYm9sKFZNJik7CiAgICAgU3lt
Ym9sKFZNJiwgY29uc3QgU3RyaW5nJik7Ci0gICAgU3ltYm9sKFZNJiwgQXRvbWljU3RyaW5nSW1w
bCogdWlkKTsKKyAgICBTeW1ib2woVk0mLCBTeW1ib2xJbXBsKiB1aWQpOwogCiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCmluZGV4IDUzNjNiOWI2OTU1YjI0MTUx
MTlhNDAyNzY2M2MwYjU4NzM0ZmQ3MTIuLjBkMmI3ZDgwYTg4Y2ZkZGRmMzg1M2M0Yjk3NGRhZWM2
NWI4YTIxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2xDb25zdHJ1Y3Rvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAKIH0KIAogI2RlZmluZSBJTklUSUFM
SVpFX1dFTExfS05PV05fU1lNQk9MUyhuYW1lKSBcCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAjbmFtZSksIFN5bWJvbDo6Y3Jl
YXRlKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lIyNTeW1ib2wuaW1wbCgpKSwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNyZWF0ZSh2
bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5TmFtZXMtPm5hbWUjI1N5bWJv
bC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogCiB2b2lkIFN5
bWJvbENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN5bWJvbFByb3RvdHlwZSog
cHJvdG90eXBlKQogewpAQCAtMTA4LDggKzEwOCw4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgc3ltYm9sQ29uc3RydWN0b3JGb3IoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKIAotICAgIFJlZjxTdHJpbmdJbXBsPiB1aWQgPSBleGVjLT52bSgpLnN5bWJvbFJl
Z2lzdHJ5KCkuc3ltYm9sRm9yS2V5KHN0cmluZyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShTeW1ib2w6OmNyZWF0ZShleGVjLT52bSgpLCBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBs
Kj4oJnVpZC5nZXQoKSkpKTsKKyAgICBSZWY8U3ltYm9sSW1wbD4gdWlkID0gZXhlYy0+dm0oKS5z
eW1ib2xSZWdpc3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgJnVpZC5nZXQoKSkpOwogfQogCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN5bWJvbENvbnN0cnVjdG9yS2V5Rm9yKEV4ZWNT
dGF0ZSogZXhlYykKQEAgLTExOCw4ICsxMTgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHN5bWJvbENvbnN0cnVjdG9yS2V5Rm9yKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoIXN5
bWJvbFZhbHVlLmlzU3ltYm9sKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhy
b3dUeXBlRXJyb3IoZXhlYykpOwogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkID0gYXNTeW1i
b2woc3ltYm9sVmFsdWUpLT5wcml2YXRlTmFtZSgpLnVpZCgpOwotICAgIEFTU0VSVCh1aWQtPmlz
U3ltYm9sKCkpOworICAgIFN5bWJvbEltcGwqIHVpZCA9IGFzU3ltYm9sKHN5bWJvbFZhbHVlKS0+
cHJpdmF0ZU5hbWUoKS51aWQoKTsKICAgICBpZiAoIXVpZC0+c3ltYm9sUmVnaXN0cnkoKSkKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwCmluZGV4IDU5MzJlNjE0NjEx
YTAzM2IxMTZkYmY5ZTVlYTNkMjMyMjZjMzNmMTQuLjk3NmMxNjdiYWY3YTA3OTE1YzRmNjQ4Y2Nl
MzdmODhjYWFmYTIxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbFRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2xUYWJsZS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIFN5bWJvbFRhYmxlOjpwcmVwYXJl
Rm9yVHlwZVByb2ZpbGluZyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJikKICAgICB9CiB9CiAK
LUdsb2JhbFZhcmlhYmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3Qg
Q29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorR2xvYmFsVmFy
aWFibGVJRCBTeW1ib2xUYWJsZTo6dW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQogewogICAgIFJFTEVB
U0VfQVNTRVJUKG1fdHlwZVByb2ZpbGluZ1JhcmVEYXRhKTsKIApAQCAtMjM4LDcgKzIzOCw3IEBA
IEdsb2JhbFZhcmlhYmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yT2Zmc2V0KGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlCiAgICAgcmV0dXJuIGdsb2JhbFR5cGVTZXRGb3JWYXJp
YWJsZShsb2NrZXIsIGl0ZXItPnZhbHVlLmdldCgpLCB2bSk7CiB9CiAKLVJlZlB0cjxUeXBlU2V0
PiBTeW1ib2xUYWJsZTo6Z2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRK
SVRMb2NrZXImIGxvY2tlciwgU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCitSZWZQdHI8VHlwZVNl
dD4gU3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiBsb2NrZXIsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAg
ICBSRUxFQVNFX0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDg5Y2FjNjA0NDQwNDBkYWNi
M2ZmNmVmZmRjNmZkZmQzNThmMGNkNWYuLjlmMGJjNGU0M2ViOWQ3ZDY0YTI3ZDkxZDg5YjgwYTk5
NmU4MDQxNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUu
aApAQCAtMzksNyArMzksNyBAQAogI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKICNpbmNsdWRlIDxt
ZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQyNCwxMCArNDI0LDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxl
IGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0
cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0
czxSZWZQdHI8U3RyaW5nSW1wbD4+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFwOwot
ICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQs
IElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJRE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVm
UHRyPFN0cmluZ0ltcGw+LCBSZWZQdHI8VHlwZVNldD4sIElkZW50aWZpZXJSZXBIYXNoPiBVbmlx
dWVUeXBlU2V0TWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxWYXJPZmZzZXQsIFJlZlB0cjxTdHJp
bmdJbXBsPj4gT2Zmc2V0VG9WYXJpYWJsZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gs
IEhhc2hUcmFpdHM8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4sIFN5bWJvbFRhYmxlSW5kZXhI
YXNoVHJhaXRzPiBNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5n
SW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQsIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJRE1hcDsK
KyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgUmVmUHRyPFR5
cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlVHlwZVNldE1hcDsKKyAgICB0eXBlZGVm
IEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBPZmZzZXRUb1Zh
cmlhYmxlTWFwOwogICAgIHR5cGVkZWYgVmVjdG9yPFN5bWJvbFRhYmxlRW50cnkqPiBMb2NhbFRv
RW50cnlWZWM7CiAKICAgICBzdGF0aWMgU3ltYm9sVGFibGUqIGNyZWF0ZShWTSYgdm0pCkBAIC00
NTMsMzMgKzQ1MywzMyBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwg
ewogICAgIH0KIAogICAgIC8vIFlvdSBtdXN0IGhvbGQgdGhlIGxvY2sgdW50aWwgYWZ0ZXIgeW91
J3JlIGRvbmUgd2l0aCB0aGUgaXRlcmF0b3IuCi0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0
IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgTWFwOjppdGVyYXRv
ciBmaW5kKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5
KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmZpbmQoa2V5KTsKICAgICB9CiAgICAgCi0g
ICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBT
dHJpbmdJbXBsKiBrZXkpCisgICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IEdDU2FmZUNvbmN1
cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fbWFwLmZpbmQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRy
eSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBT
eW1ib2xUYWJsZUVudHJ5IGdldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5nZXQoa2V5KTsKICAg
ICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoU3RyaW5nSW1wbCoga2V5KQorICAg
IFN5bWJvbFRhYmxlRW50cnkgZ2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAg
ICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4g
Z2V0KGxvY2tlciwga2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxp
bmVHZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBT
eW1ib2xUYWJsZUVudHJ5IGlubGluZUdldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5p
cXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5pbmxpbmVH
ZXQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoU3Ry
aW5nSW1wbCoga2V5KQorICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KFVuaXF1ZWRTdHJp
bmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlciht
X2xvY2spOwogICAgICAgICByZXR1cm4gaW5saW5lR2V0KGxvY2tlciwga2V5KTsKQEAgLTU1OSw3
ICs1NTksNyBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAg
ICAgICByZXR1cm4gdGFrZU5leHRTY29wZU9mZnNldChsb2NrZXIpOwogICAgIH0KICAgICAKLSAg
ICB2b2lkIGFkZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBj
b25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIGFkZChjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVF
bnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50
cnkpOwogICAgICAgICBkaWRVc2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwpAQCAtNTY3
LDMxICs1NjcsMzEgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBhZGQoU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVu
dHJ5JiBlbnRyeSkKKyAgICB2b2lkIGFkZChVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBjb25zdCBT
eW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKICAgICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2Nr
ZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIGFkZChsb2NrZXIsIGtleSwgZW50cnkpOwogICAg
IH0KICAgICAKLSAgICB2b2lkIHNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5n
SW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIHNldChj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3Qg
U3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
bV9sb2NhbFRvRW50cnkpOwogICAgICAgICBkaWRVc2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0
KCkpOwogICAgICAgICBtX21hcC5zZXQoa2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgc2V0KFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisg
ICAgdm9pZCBzZXQoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRy
eSYgZW50cnkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xv
Y2spOwogICAgICAgICBzZXQobG9ja2VyLCBrZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAg
Ym9vbCBjb250YWlucyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5
KQorICAgIGJvb2wgY29udGFpbnMoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRT
dHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuY29udGFpbnMoa2V5
KTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBjb250YWlucyhTdHJpbmdJbXBsKiBrZXkpCisgICAg
Ym9vbCBjb250YWlucyhVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29u
Y3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGNvbnRhaW5z
KGxvY2tlciwga2V5KTsKQEAgLTY0MSwxMCArNjQxLDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZp
bmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgY29uc3QgTG9jYWxUb0VudHJ5VmVjJiBsb2NhbFRv
RW50cnkoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpOwogICAgIFN5bWJvbFRhYmxlRW50cnkq
IGVudHJ5Rm9yKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTY29wZU9mZnNldCk7CiAgICAg
Ci0gICAgR2xvYmFsVmFyaWFibGVJRCB1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJl
bnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJik7CisgICAgR2xvYmFsVmFyaWFibGVJ
RCB1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVk
U3RyaW5nSW1wbCoga2V5LCBWTSYpOwogICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JP
ZmZzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFZhck9mZnNldCwgVk0mKTsKICAgICBS
ZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNldEZvck9mZnNldChjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiwgVmFyT2Zmc2V0LCBWTSYpOwotICAgIFJlZlB0cjxUeXBlU2V0PiBnbG9iYWxUeXBl
U2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtl
eSwgVk0mKTsKKyAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNv
bnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwog
CiAgICAgYm9vbCB1c2VzTm9uU3RyaWN0RXZhbCgpIHsgcmV0dXJuIG1fdXNlc05vblN0cmljdEV2
YWw7IH0KICAgICB2b2lkIHNldFVzZXNOb25TdHJpY3RFdmFsKGJvb2wgdXNlc05vblN0cmljdEV2
YWwpIHsgbV91c2VzTm9uU3RyaWN0RXZhbCA9IHVzZXNOb25TdHJpY3RFdmFsOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCmluZGV4IDBmNTdlYzRiNWVkYmIxYjlm
NzhkYWU2OWNkNzRlMWM2N2MzNzNjNTUuLmM2MWRhMmM5MDFjM2NiZTRjMDg5Njk5ZGYzMTE1ZDM3
OTY5N2JlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCkBA
IC0zMzQsMTMgKzMzNCwxMyBAQCB2b2lkIFN0cnVjdHVyZVNoYXBlOjptYXJrQXNGaW5hbCgpCiAg
ICAgbV9maW5hbCA9IHRydWU7CiB9CiAKLXZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5
KFJlZlB0cjxTdHJpbmdJbXBsPiBpbXBsKQordm9pZCBTdHJ1Y3R1cmVTaGFwZTo6YWRkUHJvcGVy
dHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiB1aWQpCiB7CiAgICAgQVNTRVJUKCFtX2ZpbmFs
KTsKLSAgICBtX2ZpZWxkcy5hZGQoaW1wbCk7CisgICAgbV9maWVsZHMuYWRkKHVpZCk7CiB9CiAK
LVN0cmluZyBTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlIYXNoKCkgCitTdHJpbmcgU3RydWN0dXJl
U2hhcGU6OnByb3BlcnR5SGFzaCgpCiB7CiAgICAgQVNTRVJUKG1fZmluYWwpOwogICAgIGlmICht
X3Byb3BlcnR5SGFzaCkKQEAgLTM1MCw5ICszNTAsOSBAQCBTdHJpbmcgU3RydWN0dXJlU2hhcGU6
OnByb3BlcnR5SGFzaCgpCiAgICAgYnVpbGRlci5hcHBlbmQoJzonKTsKICAgICBidWlsZGVyLmFw
cGVuZChtX2NvbnN0cnVjdG9yTmFtZSk7CiAgICAgYnVpbGRlci5hcHBlbmQoJzonKTsKLSAgICAK
LSAgICBmb3IgKGF1dG8gaXRlciA9IG1fZmllbGRzLmJlZ2luKCksIGVuZCA9IG1fZmllbGRzLmVu
ZCgpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7Ci0gICAgICAgIFN0cmluZyBwcm9wZXJ0eSA9IFN0
cmluZygoKml0ZXIpKTsKKworICAgIGZvciAoYXV0byBrZXkgOiBtX2ZpZWxkcykgeworICAgICAg
ICBTdHJpbmcgcHJvcGVydHkgPSBTdHJpbmcoc3RhdGljX3BvaW50ZXJfY2FzdDxTdHJpbmdJbXBs
PihrZXkpKTsKICAgICAgICAgcHJvcGVydHkucmVwbGFjZSgiOiIsICJcXDoiKTsgLy8gRW5zdXJl
IHRoYXQgaGFzaCh7ImZvbzoiLCAiYmFyIn0pICE9IGhhc2goeyJmb28iLCAiOmJhciJ9KSBiZWNh
dXNlIHdlJ3JlIHVzaW5nIGNvbG9ucyBhcyBhIHNlcGFyYXRvciBhbmQgY29sb25zIGFyZSBsZWdh
bCBjaGFyYWN0ZXJzIGluIGZpZWxkIG5hbWVzIGluIEpTLgogICAgICAgICBidWlsZGVyLmFwcGVu
ZChwcm9wZXJ0eSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5o
CmluZGV4IDIyOTdmMWRiMjQ4NTkwNWE2NGNhOTMxOTQ2NWRkYWZlODMxZGRiMGEuLjFkMWZiMmE5
ZDEyMDRlMDQ5OTIxOTQ3Y2VmYmI2MmUyZDA4NTI0Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlU2V0LmgKQEAgLTU2LDcgKzU2LDcgQEAgY2xhc3MgU3RydWN0dXJlU2hhcGUg
OiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1Y3R1cmVTaGFwZT4gewogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFN0cnVjdHVyZVNoYXBlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3RydWN0
dXJlU2hhcGUpOyB9CiAgICAgU3RyaW5nIHByb3BlcnR5SGFzaCgpOwogICAgIHZvaWQgbWFya0Fz
RmluYWwoKTsKLSAgICB2b2lkIGFkZFByb3BlcnR5KFJlZlB0cjxTdHJpbmdJbXBsPik7CisgICAg
dm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+KTsKICAgICBTdHJpbmcg
c3RyaW5nUmVwcmVzZW50YXRpb24oKTsKICAgICBTdHJpbmcgdG9KU09OU3RyaW5nKCkgY29uc3Q7
CiAgICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlN0cnVjdHVyZURlc2NyaXB0
aW9uPiBpbnNwZWN0b3JSZXByZXNlbnRhdGlvbigpOwpAQCAtNzAsOCArNzAsOCBAQCBjbGFzcyBT
dHJ1Y3R1cmVTaGFwZSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cnVjdHVyZVNoYXBlPiB7CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+IG1lcmdlKGNvbnN0IFBhc3NSZWZQdHI8
U3RydWN0dXJlU2hhcGU+LCBjb25zdCBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPik7CiAgICAg
Ym9vbCBoYXNTYW1lUHJvdG90eXBlQ2hhaW4oUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4pOwog
Ci0gICAgSGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fZmllbGRzOwotICAgIEhhc2hTZXQ8
UmVmUHRyPFN0cmluZ0ltcGw+PiBtX29wdGlvbmFsRmllbGRzOworICAgIEhhc2hTZXQ8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+IG1fZmllbGRzOworICAgIEhh
c2hTZXQ8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+IG1fb3B0
aW9uYWxGaWVsZHM7CiAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBtX3Byb3RvOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxTdHJpbmc+IG1fcHJvcGVydHlIYXNoOwogICAgIFN0cmluZyBtX2NvbnN0
cnVjdG9yTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggMjM2NGRjZTI5NDIxNGY1ODJlZjkw
ZTg0MTM3MDk1ODc0MGNhYTE4ZC4uMzUzZjJjMzRlN2EwOGM0MTI3NTNmYzg3ODRlMjhhNmU0ZTBk
ZTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTE4Nyw2ICsxODcsNyBAQCBzZXQoV1RGX1NP
VVJDRVMKICAgICBkdG9hL3N0cnRvZC5jYwogCiAgICAgdGV4dC9BdG9taWNTdHJpbmcuY3BwCisg
ICAgdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcAogICAgIHRleHQvQXRvbWljU3RyaW5nVGFibGUu
Y3BwCiAgICAgdGV4dC9CYXNlNjQuY3BwCiAgICAgdGV4dC9DU3RyaW5nLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291cmNlL1dURi93dGYvUHJpbnRT
dHJlYW0uY3BwCmluZGV4IGJiN2QzOWRiOTE1ZDY0Nzk2ZmY0MmQ1OTQ0YWFjMTc3NTc0ZDY2NGUu
LjA2ODkzMWUzZjBhNzI3ZGQ0NTQ4N2E3ODRiNTczMTUyNTg4ZjI5MWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0
cmVhbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJ
bXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaCBiL1NvdXJjZS9XVEYv
d3RmL1ByaW50U3RyZWFtLmgKaW5kZXggZTgxNTM0OTRmOGJmYjI2OGY4MGE1ZmRmMGEwNzNjNThh
Y2M3ODE2MC4uZThiYmE2MzRiMTY0Y2QzYzJlNWVlODhhNDhhZDRiNzBkNmUxODFjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
cmludFN0cmVhbS5oCkBAIC0zOCw2ICszOCw3IEBACiBjbGFzcyBDU3RyaW5nOwogY2xhc3MgU3Ry
aW5nOwogY2xhc3MgU3RyaW5nSW1wbDsKK2NsYXNzIFVuaXF1ZWRTdHJpbmdJbXBsOwogCiBjbGFz
cyBQcmludFN0cmVhbSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7IFdURl9NQUtFX05P
TkNPUFlBQkxFKFByaW50U3RyZWFtKTsKQEAgLTcxLDExICs3MiwxMyBAQCBjbGFzcyBQcmludFN0
cmVhbSB7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiwgY29uc3QgU3RyaW5nJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFs
KFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nSW1wbCopOwogaW5saW5lIHZvaWQgcHJpbnRJbnRl
cm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSkgeyBw
cmludEludGVybmFsKG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkp
OyB9CitpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFVu
aXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgYml0d2lzZV9jYXN0
PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFs
KFByaW50U3RyZWFtJiBvdXQsIGNoYXIqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0
aWNfY2FzdDxjb25zdCBjaGFyKj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5h
bChQcmludFN0cmVhbSYgb3V0LCBDU3RyaW5nJiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwg
c3RhdGljX2Nhc3Q8Y29uc3QgQ1N0cmluZyY+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50
SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgU3RyaW5nJiB2YWx1ZSkgeyBwcmludEludGVybmFs
KG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5nJj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQg
cHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmlu
dEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0K
IGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgQXRvbWljU3RyaW5n
SW1wbCogdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IEF0b21p
Y1N0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50
U3RyZWFtJiBvdXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91
dCwgc3RhdGljX2Nhc3Q8Y29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgYm9vbCk7CiBX
VEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgc2lnbmVk
IGNoYXIpOyAvLyBOT1RFOiB0aGlzIHByaW50cyBhcyBhIG51bWJlciwgbm90IGFzIGEgY2hhcmFj
dGVyOyB1c2UgQ2hhcmFjdGVyRHVtcCBpZiB5b3Ugd2FudCB0aGUgY2hhcmFjdGVyCiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgdW5zaWduZWQgY2hh
cik7IC8vIE5PVEU6IHNlZSBhYm92ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
QXRvbWljU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcApp
bmRleCA1YWI0ZTFlYjdkYmVkYTZlYTM3MzVkNTRkMmM1MDY3ODUyNzMyODQ3Li4wYzQyZTVjNmMy
YjBlMzljMTg4OGRlZGNlODQ3NWI4NDhiNzllMTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNT
dHJpbmcuY3BwCkBAIC0yMywxNCArMjMsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkF0b21pY1N0cmluZy5oIgogCi0jaW5jbHVkZSAiQXRvbWljU3RyaW5nVGFibGUuaCIKLSNp
bmNsdWRlICJIYXNoU2V0LmgiCiAjaW5jbHVkZSAiSW50ZWdlclRvU3RyaW5nQ29udmVyc2lvbi5o
IgotI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLSNpbmNsdWRlICJUaHJlYWRpbmcuaCIKLSNpbmNs
dWRlICJXVEZUaHJlYWREYXRhLmgiCiAjaW5jbHVkZSAiZHRvYS5oIgotI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1VURjguaD4KIAogI2lmIFVTRShXRUJfVEhSRUFEKQogI2luY2x1ZGUgIlNwaW5Mb2Nr
LmgiCkBAIC0zOCw0MjQgKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXVzaW5nIG5hbWVz
cGFjZSBVbmljb2RlOwotCi1zdGF0aWNfYXNzZXJ0KHNpemVvZihBdG9taWNTdHJpbmcpID09IHNp
emVvZihTdHJpbmcpLCAiQXRvbWljU3RyaW5nIGFuZCBTdHJpbmcgbXVzdCBiZSBzYW1lIHNpemUh
Iik7Ci0KLSNpZiBVU0UoV0VCX1RIUkVBRCkKLQotY2xhc3MgQXRvbWljU3RyaW5nVGFibGVMb2Nr
ZXIgOiBwdWJsaWMgU3BpbkxvY2tIb2xkZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0
b21pY1N0cmluZ1RhYmxlTG9ja2VyKTsKLQotICAgIHN0YXRpYyBTdGF0aWNTcGluTG9jayBzX3N0
cmluZ1RhYmxlTG9jazsKLXB1YmxpYzoKLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcigpCi0g
ICAgICAgIDogU3BpbkxvY2tIb2xkZXIoJnNfc3RyaW5nVGFibGVMb2NrKQotICAgIHsKLSAgICB9
Ci19OwotCi1TdGF0aWNTcGluTG9jayBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcjo6c19zdHJpbmdU
YWJsZUxvY2s7Ci0KLSNlbHNlCi0KLWNsYXNzIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIHsKLSAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNTdHJpbmdUYWJsZUxvY2tlcik7Ci1wdWJsaWM6
Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIoKSB7IH0KLX07Ci0KLSNlbmRpZiAvLyBVU0Uo
V0VCX1RIUkVBRCkKLQotc3RhdGljIEFMV0FZU19JTkxJTkUgSGFzaFNldDxTdHJpbmdJbXBsKj4m
IHN0cmluZ1RhYmxlKCkKLXsKLSAgICByZXR1cm4gd3RmVGhyZWFkRGF0YSgpLmF0b21pY1N0cmlu
Z1RhYmxlKCktPnRhYmxlKCk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEhh
c2hUcmFuc2xhdG9yPgotc3RhdGljIGlubGluZSBSZWY8U3RyaW5nSW1wbD4gYWRkVG9TdHJpbmdU
YWJsZShjb25zdCBUJiB2YWx1ZSkKLXsKLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2Nr
ZXI7Ci0KLSAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPjo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IHN0
cmluZ1RhYmxlKCkuYWRkPEhhc2hUcmFuc2xhdG9yPih2YWx1ZSk7Ci0KLSAgICAvLyBJZiB0aGUg
c3RyaW5nIGlzIG5ld2x5LXRyYW5zbGF0ZWQsIHRoZW4gd2UgbmVlZCB0byBhZG9wdCBpdC4KLSAg
ICAvLyBUaGUgYm9vbGVhbiBpbiB0aGUgcGFpciB0ZWxscyB1cyBpZiB0aGF0IGlzIHNvLgotICAg
IGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCoqYWRk
UmVzdWx0Lml0ZXJhdG9yKTsKLSAgICByZXR1cm4gKiphZGRSZXN1bHQuaXRlcmF0b3I7Ci19Ci0K
LXN0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29u
c3QgTENoYXIqIGMpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRl
SGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgaW5saW5lIGJvb2wg
ZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENoYXIqIHMpCi0gICAgewotICAgICAgICByZXR1
cm4gV1RGOjplcXVhbChyLCBzKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUo
U3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBMQ2hhciogY29uc3QmIGMsIHVuc2lnbmVkIGhh
c2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGUoYykubGVh
a1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRp
b24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBB
dG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogYykKLXsKLSAgICBpZiAoIWMpCi0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIGlmICghKmMpCi0gICAgICAgIHJldHVybiBTdHJpbmdJbXBs
OjplbXB0eSgpOwotCi0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Y29uc3QgTENoYXIqLCBD
U3RyaW5nVHJhbnNsYXRvcj4oYyk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+Ci1zdHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsKLSAgICBjb25zdCBDaGFyYWN0
ZXJUeXBlKiBzOwotICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0KLXR5cGVkZWYgSGFzaFRyYW5z
bGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKLXN0cnVjdCBVQ2hhckJ1ZmZlclRy
YW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFVDaGFyQnVmZmVyJiBi
dWYpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1h
c2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wg
ZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNoYXJCdWZmZXImIGJ1ZikKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOwot
ICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24s
IGNvbnN0IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBs
b2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShidWYucywgYnVmLmxl
bmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAg
ICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaEFuZENoYXJhY3RlcnMgewotICAgIHVu
c2lnbmVkIGhhc2g7Ci0gICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyczsKLSAgICB1
bnNpZ25lZCBsZW5ndGg7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgot
c3RydWN0IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVk
IGhhc2goY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlcikKLSAg
ICB7Ci0gICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJpbmdIYXNoZXI6OmNvbXB1dGVI
YXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKSk7Ci0g
ICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVh
bChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFy
YWN0ZXJUeXBlPiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3Ry
aW5nLCBidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3Rh
dGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFuZENo
YXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWduZWQgaGFzaCkKLSAgICB7Ci0g
ICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywg
YnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNo
KTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLXN0
cnVjdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMgewotICAgIHVuc2lnbmVkIGhhc2g7Ci0gICAgY29u
c3QgY2hhciogY2hhcmFjdGVyczsKLSAgICB1bnNpZ25lZCBsZW5ndGg7Ci0gICAgdW5zaWduZWQg
dXRmMTZMZW5ndGg7Ci19OwotCi1zdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRv
ciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJz
JiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYnVmZmVyLmhhc2g7Ci0gICAgfQotCi0g
ICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgSGFz
aEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCi0gICAgewotICAgICAgICBpZiAoYnVmZmVyLnV0
ZjE2TGVuZ3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkgQVNDSUkgY2hhcmFjdGVycyBV
VEYtOCBhbmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KLSAgICAgICAgaWYgKGJ1ZmZlci51
dGYxNkxlbmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7Ci0gICAgICAgICAgICBpZiAoc3RyaW5nLT5p
czhCaXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxMYXRpbjFXaXRoVVRGOChzdHJp
bmctPmNoYXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIuY2hhcmFjdGVycyAr
IGJ1ZmZlci5sZW5ndGgpOwotCi0gICAgICAgICAgICByZXR1cm4gZXF1YWxVVEYxNldpdGhVVEY4
KHN0cmluZy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIuY2hhcmFj
dGVycyArIGJ1ZmZlci5sZW5ndGgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHN0cmluZy0+
aXM4Qml0KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IExDaGFyKiBzdHJpbmdDaGFyYWN0ZXJzID0g
c3RyaW5nLT5jaGFyYWN0ZXJzOCgpOwotCi0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGlzQVND
SUkoYnVmZmVyLmNoYXJhY3RlcnNbaV0pKTsKLSAgICAgICAgICAgICAgICBpZiAoc3RyaW5nQ2hh
cmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IFVDaGFyKiBzdHJpbmdDaGFyYWN0ZXJzID0gc3Ry
aW5nLT5jaGFyYWN0ZXJzMTYoKTsKLQotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
YnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNBU0NJSShidWZmZXIu
Y2hhcmFjdGVyc1tpXSkpOwotICAgICAgICAgICAgaWYgKHN0cmluZ0NoYXJhY3RlcnNbaV0gIT0g
YnVmZmVyLmNoYXJhY3RlcnNbaV0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQg
dHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0
ZXJzJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBVQ2hhciogdGFyZ2V0
OwotICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gU3RyaW5nSW1wbDo6Y3Jl
YXRlVW5pbml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRhcmdldCk7Ci0KLSAgICAgICAg
Ym9vbCBpc0FsbEFTQ0lJOwotICAgICAgICBjb25zdCBjaGFyKiBzb3VyY2UgPSBidWZmZXIuY2hh
cmFjdGVyczsKLSAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYxNigmc291cmNlLCBzb3VyY2Ug
KyBidWZmZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZmZXIudXRmMTZMZW5ndGgsICZp
c0FsbEFTQ0lJKSAhPSBjb252ZXJzaW9uT0spCi0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLQotICAgICAgICBpZiAoaXNBbGxBU0NJSSkKLSAgICAgICAgICAgIG5ld1N0cmluZyA9
IFN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7Ci0K
LSAgICAgICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgpLmxlYWtSZWYoKTsKLSAgICAg
ICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0b21p
Yyh0cnVlKTsKLSAgICB9Ci19OwotCi1SZWZQdHI8U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nOjph
ZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkKLXsKLSAgICBpZiAoIXMpCi0gICAg
ICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKCFsZW5ndGgpCi0gICAgICAgIHJldHVybiBT
dHJpbmdJbXBsOjplbXB0eSgpOwotICAgIAotICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgcywg
bGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8VUNoYXJCdWZmZXIsIFVDaGFy
QnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKLX0KLQotUmVmPFN0cmluZ0ltcGw+IEF0b21pY1N0
cmluZzo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0
aW5nSGFzaCkKLXsKLSAgICBBU1NFUlQocyk7Ci0gICAgQVNTRVJUKGV4aXN0aW5nSGFzaCk7Ci0K
LSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuICpTdHJpbmdJbXBsOjplbXB0eSgpOwot
Ci0gICAgSGFzaEFuZENoYXJhY3RlcnM8VUNoYXI+IGJ1ZmZlciA9IHsgZXhpc3RpbmdIYXNoLCBz
LCBsZW5ndGggfTsKLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxIYXNoQW5kQ2hhcmFjdGVy
czxVQ2hhcj4sIEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjxVQ2hhcj4+KGJ1ZmZlcik7Ci19
Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBVQ2hhciogcykK
LXsKLSAgICBpZiAoIXMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgdW5zaWduZWQg
bGVuZ3RoID0gMDsKLSAgICB3aGlsZSAoc1tsZW5ndGhdICE9IFVDaGFyKDApKQotICAgICAgICAr
K2xlbmd0aDsKLQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gU3RyaW5nSW1wbDo6
ZW1wdHkoKTsKLQotICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgcywgbGVuZ3RoIH07Ci0gICAg
cmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8VUNoYXJCdWZmZXIsIFVDaGFyQnVmZmVyVHJhbnNsYXRv
cj4oYnVmZmVyKTsKLX0KLQotc3RydWN0IFN1YnN0cmluZ0xvY2F0aW9uIHsKLSAgICBTdHJpbmdJ
bXBsKiBiYXNlU3RyaW5nOwotICAgIHVuc2lnbmVkIHN0YXJ0OwotICAgIHVuc2lnbmVkIGxlbmd0
aDsKLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdm9pZCB0
cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBTdWJzdHJpbmdMb2NhdGlvbiYg
YnVmZmVyLCB1bnNpZ25lZCBoYXNoKQotICAgIHsKLSAgICAgICAgbG9jYXRpb24gPSAmU3RyaW5n
SW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0ltcGwoYnVmZmVyLmJhc2VTdHJpbmcsIGJ1ZmZl
ci5zdGFydCwgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0
SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0K
LX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOCA6IFN1YnN0cmluZ1RyYW5zbGF0b3Ig
ewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0cmluZ0xvY2F0aW9uJiBidWZm
ZXIpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1h
c2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczgoKSArIGJ1ZmZlci5zdGFy
dCwgYnVmZmVyLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5n
SW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgU3Vic3RyaW5nTG9jYXRpb24mIGJ1ZmZlcikKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0cmluZywgYnVmZmVyLmJhc2VTdHJpbmct
PmNoYXJhY3RlcnM4KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOwotICAgIH0KLX07
Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yMTYgOiBTdWJzdHJpbmdUcmFuc2xhdG9yIHsK
LSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTdWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVy
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNr
VG9wOEJpdHMoYnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnMxNigpICsgYnVmZmVyLnN0YXJ0
LCBidWZmZXIubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJ
bXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVyKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuYmFzZVN0cmluZy0+
Y2hhcmFjdGVyczE2KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOwotICAgIH0KLX07
Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChTdHJpbmdJbXBsKiBiYXNl
U3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoKQotewotICAgIGlmICghYmFz
ZVN0cmluZykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoIWxlbmd0aCB8fCBz
dGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6
OmVtcHR5KCk7Ci0KLSAgICB1bnNpZ25lZCBtYXhMZW5ndGggPSBiYXNlU3RyaW5nLT5sZW5ndGgo
KSAtIHN0YXJ0OwotICAgIGlmIChsZW5ndGggPj0gbWF4TGVuZ3RoKSB7Ci0gICAgICAgIGlmICgh
c3RhcnQpCi0gICAgICAgICAgICByZXR1cm4gYWRkKGJhc2VTdHJpbmcpOwotICAgICAgICBsZW5n
dGggPSBtYXhMZW5ndGg7Ci0gICAgfQotCi0gICAgU3Vic3RyaW5nTG9jYXRpb24gYnVmZmVyID0g
eyBiYXNlU3RyaW5nLCBzdGFydCwgbGVuZ3RoIH07Ci0gICAgaWYgKGJhc2VTdHJpbmctPmlzOEJp
dCgpKQotICAgICAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxTdWJzdHJpbmdMb2NhdGlvbiwg
U3Vic3RyaW5nVHJhbnNsYXRvcjg+KGJ1ZmZlcik7Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFi
bGU8U3Vic3RyaW5nTG9jYXRpb24sIFN1YnN0cmluZ1RyYW5zbGF0b3IxNj4oYnVmZmVyKTsKLX0K
LSAgICAKLXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPExDaGFyPiBMQ2hhckJ1ZmZl
cjsKLXN0cnVjdCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IExDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5n
SGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7Ci0g
ICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29u
c3QgTENoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0
ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0
ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IExDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVk
IGhhc2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGUoYnVm
LnMsIGJ1Zi5sZW5ndGgpLmxlYWtSZWYoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFz
aCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0b21pYyh0cnVlKTsKLSAgICB9Ci19OwotCi10
eXBlZGVmIEhhc2hUcmFuc2xhdG9yQ2hhckJ1ZmZlcjxjaGFyPiBDaGFyQnVmZmVyOwotc3RydWN0
IENoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdW5zaWdu
ZWQgaGFzaChjb25zdCBDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhyZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oYnVmLnMpLCBidWYubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9v
bCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBDaGFyQnVmZmVyJiBidWYpCi0g
ICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHIsIGJ1Zi5zLCBidWYubGVuZ3RoKTsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9u
LCBjb25zdCBDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBs
b2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbChidWYucywgYnVmLmxlbmd0
aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAg
bG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLVJlZlB0cjxTdHJpbmdJ
bXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogcywgdW5zaWduZWQgbGVuZ3RoKQot
ewotICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoIWxlbmd0
aCkKLSAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0KLSAgICBMQ2hhckJ1ZmZl
ciBidWZmZXIgPSB7IHMsIGxlbmd0aCB9OwotICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPExD
aGFyQnVmZmVyLCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZlcik7Ci19Ci0KLVJlZjxTdHJp
bmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi17Ci0gICAgQVNTRVJUKGNoYXJhY3RlcnMpOwotICAg
IEFTU0VSVChsZW5ndGgpOwotCi0gICAgQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMs
IGxlbmd0aCB9OwotICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPENoYXJCdWZmZXIsIENoYXJC
dWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yPihidWZmZXIpOwotfQotCi1SZWY8U3RyaW5n
SW1wbD4gQXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZShTdHJpbmdJbXBsJiBzdHJpbmcpCi17Ci0g
ICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiAqU3RyaW5nSW1wbDo6ZW1w
dHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewotICAgICAgICBpZiAoc3RyaW5n
LmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCks
IHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFyYWN0ZXJz
MTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91bGQgbm90IGhpdCB0aGUgc2xv
dyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMuIik7Ci0KLSAgICBBdG9taWNT
dHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBzdHJpbmdUYWJs
ZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgewotICAg
ICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3RyaW5nKTsKLSAgICAgICAgc3Ry
aW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQotICAgIHJldHVybiAqKmFkZFJlc3VsdC5p
dGVyYXRvcjsKLX0KLQotUmVmPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkU2xvd0Nhc2Uo
QXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCi17Ci0g
ICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiAqU3RyaW5nSW1wbDo6ZW1w
dHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewotICAgICAgICBpZiAoc3RyaW5n
LmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCks
IHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFyYWN0ZXJz
MTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91bGQgbm90IGhpdCB0aGUgc2xv
dyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMuIik7Ci0KLSAgICBBdG9taWNT
dHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBzdHJpbmdUYWJs
ZS50YWJsZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkg
ewotICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3RyaW5nKTsKLSAgICAg
ICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQotICAgIHJldHVybiAqKmFkZFJl
c3VsdC5pdGVyYXRvcjsKLX0KLQotdm9pZCBBdG9taWNTdHJpbmc6OnJlbW92ZShTdHJpbmdJbXBs
KiBzdHJpbmcpCi17Ci0gICAgQVNTRVJUKHN0cmluZy0+aXNBdG9taWMoKSk7Ci0gICAgQXRvbWlj
U3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOwotICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9t
aWNTdHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7Ci0gICAgSGFzaFNldDxTdHJpbmdJbXBsKj46
Oml0ZXJhdG9yIGl0ZXJhdG9yID0gYXRvbWljU3RyaW5nVGFibGUuZmluZChzdHJpbmcpOwotICAg
IEFTU0VSVF9XSVRIX01FU1NBR0UoaXRlcmF0b3IgIT0gYXRvbWljU3RyaW5nVGFibGUuZW5kKCks
ICJUaGUgc3RyaW5nIGJlaW5nIHJlbW92ZWQgaXMgYXRvbWljIGluIHRoZSBzdHJpbmcgdGFibGUg
b2YgYW4gb3RoZXIgdGhyZWFkISIpOwotICAgIGF0b21pY1N0cmluZ1RhYmxlLnJlbW92ZShpdGVy
YXRvcik7Ci19Ci0KIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Omxvd2VyKCkgY29uc3QKIHsK
ICAgICAvLyBOb3RlOiBUaGlzIGlzIGEgaG90IGZ1bmN0aW9uIGluIHRoZSBEcm9tYWVvIGJlbmNo
bWFyay4KQEAgLTQ2OCw3ICs0NCw3IEBAIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Omxvd2Vy
KCkgY29uc3QKICAgICAgICAgcmV0dXJuICp0aGlzOwogCiAgICAgQXRvbWljU3RyaW5nIHJlc3Vs
dDsKLSAgICByZXN1bHQubV9zdHJpbmcgPSBhZGRTbG93Q2FzZSgqbG93ZXJjYXNlZFN0cmluZyk7
CisgICAgcmVzdWx0Lm1fc3RyaW5nID0gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGxvd2VyY2FzZWRT
dHJpbmcuZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTUwNyw0NSArODMsMTAg
QEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6Y29udmVydFRvQVNDSUlMb3dlcmNhc2UoKSBj
b25zdAogICAgICAgICByZXR1cm4gKnRoaXM7CiAKICAgICBBdG9taWNTdHJpbmcgcmVzdWx0Owot
ICAgIHJlc3VsdC5tX3N0cmluZyA9IGFkZFNsb3dDYXNlKCpjb252ZXJ0ZWRTdHJpbmcpOworICAg
IHJlc3VsdC5tX3N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb252ZXJ0ZWRTdHJpbmcu
Z2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUF0b21pY1N0cmluZ0ltcGwqIEF0b21p
Y1N0cmluZzo6ZmluZFNsb3dDYXNlKFN0cmluZ0ltcGwmIHN0cmluZykKLXsKLSAgICBBU1NFUlRf
V0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZ0ltcGxzIHNob3Vs
ZCByZXR1cm4gZnJvbSB0aGUgZmFzdCBjYXNlLiIpOwotCi0gICAgaWYgKCFzdHJpbmcubGVuZ3Ro
KCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oU3RyaW5n
SW1wbDo6ZW1wdHkoKSk7Ci0KLSAgICBpZiAoc3RyaW5nLmlzU3ltYm9sKCkpIHsKLSAgICAgICAg
aWYgKHN0cmluZy5pczhCaXQoKSkKLSAgICAgICAgICAgIHJldHVybiBmaW5kSW50ZXJuYWwoc3Ry
aW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiBmaW5k
SW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcubGVuZ3RoKCkpOwotICAgIH0K
LQotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBIYXNoU2V0PFN0cmlu
Z0ltcGwqPiYgYXRvbWljU3RyaW5nVGFibGUgPSBzdHJpbmdUYWJsZSgpOwotICAgIGF1dG8gaXRl
cmF0b3IgPSBhdG9taWNTdHJpbmdUYWJsZS5maW5kKCZzdHJpbmcpOwotICAgIGlmIChpdGVyYXRv
ciAhPSBhdG9taWNTdHJpbmdUYWJsZS5lbmQoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOwotICAgIHJldHVybiBudWxscHRyOwotfQot
Ci1BdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOEludGVybmFsKGNvbnN0IGNoYXIq
IGNoYXJhY3RlcnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVyc0VuZCkKLXsKLSAgICBIYXNo
QW5kVVRGOENoYXJhY3RlcnMgYnVmZmVyOwotICAgIGJ1ZmZlci5jaGFyYWN0ZXJzID0gY2hhcmFj
dGVyc1N0YXJ0OwotICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0
aEZyb21VVEY4TWFza2luZ1RvcDhCaXRzKGNoYXJhY3RlcnNTdGFydCwgY2hhcmFjdGVyc0VuZCwg
YnVmZmVyLmxlbmd0aCwgYnVmZmVyLnV0ZjE2TGVuZ3RoKTsKLQotICAgIGlmICghYnVmZmVyLmhh
c2gpCi0gICAgICAgIHJldHVybiBudWxsQXRvbTsKLQotICAgIEF0b21pY1N0cmluZyBhdG9taWNT
dHJpbmc7Ci0gICAgYXRvbWljU3RyaW5nLm1fc3RyaW5nID0gYWRkVG9TdHJpbmdUYWJsZTxIYXNo
QW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I+KGJ1ZmZl
cik7Ci0gICAgcmV0dXJuIGF0b21pY1N0cmluZzsKLX0KLQogQXRvbWljU3RyaW5nIEF0b21pY1N0
cmluZzo6bnVtYmVyKGludCBudW1iZXIpCiB7CiAgICAgcmV0dXJuIG51bWJlclRvU3RyaW5nU2ln
bmVkPEF0b21pY1N0cmluZz4obnVtYmVyKTsKQEAgLTU2MiwzNyArMTAzLDE0IEBAIEF0b21pY1N0
cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcihkb3VibGUgbnVtYmVyKQogICAgIHJldHVybiBTdHJp
bmcobnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZyhudW1iZXIsIDYsIGJ1ZmZlciwgdHJ1ZSkp
OwogfQogCi1BdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmc6OmZpbmRJbnRlcm5hbChjb25z
dCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQotewotICAgIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvJiB0YWJsZSA9IHN0cmluZ1RhYmxlKCk7Ci0K
LSAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9OwotICAgIGF1
dG8gaXRlcmF0b3IgPSB0YWJsZS5maW5kPExDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsK
LSAgICBpZiAoaXRlcmF0b3IgIT0gdGFibGUuZW5kKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKml0ZXJhdG9yKTsKLSAgICByZXR1cm4gbnVsbHB0cjsK
LX0KLQotQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nOjpmaW5kSW50ZXJuYWwoY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLXsKLSAgICBBdG9taWNTdHJpbmdU
YWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byYgdGFibGUgPSBzdHJpbmdUYWJsZSgpOwotCi0g
ICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBsZW5ndGggfTsKLSAgICBhdXRv
IGl0ZXJhdG9yID0gdGFibGUuZmluZDxVQ2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZlcik7Ci0g
ICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19
Ci0KLSNpZiAhQVNTRVJUX0RJU0FCTEVECi1ib29sIEF0b21pY1N0cmluZzo6aXNJbkF0b21pY1N0
cmluZ1RhYmxlKFN0cmluZ0ltcGwqIHN0cmluZykKK0F0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6
OmZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciogY2hhcmFjdGVyc1N0YXJ0LCBjb25zdCBjaGFy
KiBjaGFyYWN0ZXJzRW5kKQogewotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsK
LSAgICByZXR1cm4gc3RyaW5nVGFibGUoKS5jb250YWlucyhzdHJpbmcpOworICAgIGlmIChSZWZQ
dHI8QXRvbWljU3RyaW5nSW1wbD4gaW1wbCA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21VVEY4
KGNoYXJhY3RlcnNTdGFydCwgY2hhcmFjdGVyc0VuZCkpIHsKKyAgICAgICAgQXRvbWljU3RyaW5n
IGF0b21pY1N0cmluZyhpbXBsLmdldCgpKTsKKyAgICAgICAgcmV0dXJuIGF0b21pY1N0cmluZzsK
KyAgICB9CisgICAgcmV0dXJuIG51bGxBdG9tOwogfQotI2VuZGlmCiAKICNpZm5kZWYgTkRFQlVH
CiB2b2lkIEF0b21pY1N0cmluZzo6c2hvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJp
bmcuaAppbmRleCBjYmZkYzg5NDczMDhlNzIwODI3YTc5YjUxODY1NjhlY2M1NTM4MTUyLi5jNGZi
NjgyNWFhMTZlNmNjMWU5NDdjY2UxNGI5OTk3OTA0NTlhMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRv
bWljU3RyaW5nLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLWNsYXNz
IEF0b21pY1N0cmluZ1RhYmxlOwogc3RydWN0IEF0b21pY1N0cmluZ0hhc2g7CiAKIGNsYXNzIEF0
b21pY1N0cmluZyB7CkBAIC00MywzMyArNDIsMzUgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdCgpOwogCiAgICAgQXRvbWljU3Ry
aW5nKCkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFyKiBzKSA6IG1fc3RyaW5nKGFk
ZChzKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIHMpIDogbV9zdHJpbmcoYWRk
KHMpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIqIHMsIHVuc2lnbmVkIGxlbmd0
aCkgOiBtX3N0cmluZyhhZGQocywgbGVuZ3RoKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0
IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoYWRkKHMsIGxlbmd0aCkpIHsg
fQotICAgIEF0b21pY1N0cmluZyhjb25zdCBVQ2hhciogcywgdW5zaWduZWQgbGVuZ3RoLCB1bnNp
Z25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJpbmcoYWRkKHMsIGxlbmd0aCwgZXhpc3RpbmdIYXNo
KSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzKSA6IG1fc3RyaW5nKGFkZChz
KSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFyKiBzKSA6IG1fc3RyaW5nKEF0b21p
Y1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIHMp
IDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKSB7IH0KKyAgICBBdG9taWNTdHJp
bmcoY29uc3QgTENoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhBdG9taWNTdHJp
bmdJbXBsOjphZGQocywgbGVuZ3RoKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFy
KiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMs
IGxlbmd0aCkpIHsgfQorICAgIEF0b21pY1N0cmluZyhjb25zdCBVQ2hhciogcywgdW5zaWduZWQg
bGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1w
bDo6YWRkKHMsIGxlbmd0aCwgZXhpc3RpbmdIYXNoKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNv
bnN0IFVDaGFyKiBzKSA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CiAK
ICAgICB0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAgICAgZXhwbGljaXQgQXRvbWlj
U3RyaW5nKGNvbnN0IFZlY3RvcjxVQ2hhciwgaW5saW5lQ2FwYWNpdHk+JiBjaGFyYWN0ZXJzKQot
ICAgICAgICA6IG1fc3RyaW5nKGFkZChjaGFyYWN0ZXJzLmRhdGEoKSwgY2hhcmFjdGVycy5zaXpl
KCkpKQorICAgICAgICA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChjaGFyYWN0ZXJz
LmRhdGEoKSwgY2hhcmFjdGVycy5zaXplKCkpKQogICAgIHsKICAgICB9CiAKLSAgICBBVE9NSUNT
VFJJTkdfQ09OVkVSU0lPTiBBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogaW1wKSA6IG1fc3RyaW5n
KGFkZChpbXApKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoQXRvbWljU3RyaW5nSW1wbCogaW1wKSA6
IG1fc3RyaW5nKGltcCkgeyB9Ci0gICAgQVRPTUlDU1RSSU5HX0NPTlZFUlNJT04gQXRvbWljU3Ry
aW5nKGNvbnN0IFN0cmluZyYgcykgOiBtX3N0cmluZyhhZGQocy5pbXBsKCkpKSB7IH0KLSAgICBB
dG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0cmluZywgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQoYmFzZVN0cmluZywgc3RhcnQsIGxlbmd0aCkpIHsg
fQorICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhTdHJpbmdJbXBsKiBp
bXApIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGltcCkpIHsgfQorICAgIEFUT01J
Q1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhjb25zdCBTdHJpbmcmIHMpIDogbV9zdHJp
bmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMuaW1wbCgpKSkgeyB9CisgICAgQXRvbWljU3RyaW5n
KFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgp
IDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGJhc2VTdHJpbmcsIHN0YXJ0LCBsZW5n
dGgpKSB7IH0KKworICAgIC8vIEZJWE1FOiBBdG9taWNTdHJpbmcgbWF5IGhhdmUgZWl0aGVyIFN5
bWJvbEltcGwgb3IgQXRvbWljU3RyaW5nSW1wbC4KKyAgICBBdG9taWNTdHJpbmcoVW5pcXVlZFN0
cmluZ0ltcGwqIGltcCkgOiBtX3N0cmluZyhpbXApIHsgfQogCiAgICAgZW51bSBDb25zdHJ1Y3RG
cm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVjdEZyb21MaXRlcmFsIH07CiAgICAgQXRvbWljU3RyaW5n
KGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgQ29uc3RydWN0RnJvbUxp
dGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3Rl
cnMsIGxlbmd0aCkpCisgICAgICAgIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkRnJv
bUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGxlbmd0aCkpCiAgICAgewogICAgIH0KIAogICAgIHRl
bXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KICAgICBBTFdBWVNfSU5MSU5FIEF0b21p
Y1N0cmluZyhjb25zdCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFjdGVyc0NvdW50XSwgQ29uc3Ry
dWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxpdGVyYWxEYXRh
KGNoYXJhY3RlcnMsIGNoYXJhY3RlcnNDb3VudCAtIDEpKQorICAgICAgICA6IG1fc3RyaW5nKEF0
b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YShjaGFyYWN0ZXJzLCBjaGFyYWN0ZXJz
Q291bnQgLSAxKSkKICAgICB7CiAgICAgICAgIENPTVBJTEVfQVNTRVJUKGNoYXJhY3RlcnNDb3Vu
dCA+IDEsIEF0b21pY1N0cmluZ0Zyb21MaXRlcmFsTm90RW1wdHkpOwogICAgICAgICBDT01QSUxF
X0FTU0VSVCgoY2hhcmFjdGVyc0NvdW50IC0gMSA8PSAoKHVuc2lnbmVkKH4wKSAtIHNpemVvZihT
dHJpbmdJbXBsKSkgLyBzaXplb2YoTENoYXIpKSksIEF0b21pY1N0cmluZ0Zyb21MaXRlcmFsQ2Fu
bm90T3ZlcmZsb3cpOwpAQCAtODYsMjEgKzg3LDYgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAg
ICBBdG9taWNTdHJpbmcoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKSA6IG1fc3RyaW5n
KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKSB7IH0KICAgICBib29sIGlzSGFzaFRhYmxlRGVs
ZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcuaXNIYXNoVGFibGVEZWxldGVkVmFs
dWUoKTsgfQogCi0gICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoTENoYXIqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBmaW5kSW50ZXJu
YWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9Ci0gICAgc3RhdGljIEF0b21pY1N0cmluZ0lt
cGwqIGZpbmQoVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBmaW5kSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9Ci0gICAg
c3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsK
LSAgICAgICAgaWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21pYygpKQotICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOwotICAgICAgICBy
ZXR1cm4gZmluZFNsb3dDYXNlKCpzdHJpbmcpOwotICAgIH0KLQogICAgIG9wZXJhdG9yIGNvbnN0
IFN0cmluZyYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZzsgfQogICAgIGNvbnN0IFN0cmluZyYg
c3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH07CiAKQEAgLTExMCw3ICs5Niw3IEBA
IGNsYXNzIEF0b21pY1N0cmluZyB7CiAgICAgY29uc3QgTENoYXIqIGNoYXJhY3RlcnM4KCkgY29u
c3QgeyByZXR1cm4gbV9zdHJpbmcuY2hhcmFjdGVyczgoKTsgfQogICAgIGNvbnN0IFVDaGFyKiBj
aGFyYWN0ZXJzMTYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5jaGFyYWN0ZXJzMTYoKTsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmxlbmd0aCgpOyB9
Ci0gICAgCisKICAgICBVQ2hhciBvcGVyYXRvcltdKHVuc2lnbmVkIGludCBpKSBjb25zdCB7IHJl
dHVybiBtX3N0cmluZ1tpXTsgfQogCiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBB
dG9taWNTdHJpbmcgbnVtYmVyKGludCk7CkBAIC0xNjMsNyArMTQ5LDcgQEAgY2xhc3MgQXRvbWlj
U3RyaW5nIHsKICAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBtYXRjaExlbmd0aD4KICAgICBib29sIGVu
ZHNXaXRoKGNvbnN0IGNoYXIgKCZwcmVmaXgpW21hdGNoTGVuZ3RoXSwgYm9vbCBjYXNlU2Vuc2l0
aXZlID0gdHJ1ZSkgY29uc3QKICAgICAgICAgeyByZXR1cm4gbV9zdHJpbmcuZW5kc1dpdGg8bWF0
Y2hMZW5ndGg+KHByZWZpeCwgY2FzZVNlbnNpdGl2ZSk7IH0KLSAgICAKKwogICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBBdG9taWNTdHJpbmcgY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKSBjb25z
dDsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgQXRvbWljU3RyaW5nIGxvd2VyKCkgY29uc3Q7
CiAgICAgQXRvbWljU3RyaW5nIHVwcGVyKCkgY29uc3QgeyByZXR1cm4gQXRvbWljU3RyaW5nKGlt
cGwoKS0+dXBwZXIoKSk7IH0KQEAgLTE3NiwxMyArMTYyLDExIEBAIGNsYXNzIEF0b21pY1N0cmlu
ZyB7CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5pc051bGwoKTsg
fQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmlzRW1wdHkoKTsg
fQogCi0gICAgc3RhdGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKLSAgICAKICNpZiBVU0Uo
Q0YpCi0gICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDogIG1fc3RyaW5nKGFkZChzKSkg
eyB9CisgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDogIG1fc3RyaW5nKEF0b21pY1N0
cmluZ0ltcGw6OmFkZChzKSkgeyB9CiAjZW5kaWYgICAgCiAjaWZkZWYgX19PQkpDX18KLSAgICBB
dG9taWNTdHJpbmcoTlNTdHJpbmcqIHMpIDogbV9zdHJpbmcoYWRkKChDRlN0cmluZ1JlZilzKSkg
eyB9CisgICAgQXRvbWljU3RyaW5nKE5TU3RyaW5nKiBzKSA6IG1fc3RyaW5nKEF0b21pY1N0cmlu
Z0ltcGw6OmFkZCgoQ0ZTdHJpbmdSZWYpcykpIHsgfQogICAgIG9wZXJhdG9yIE5TU3RyaW5nKigp
IGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nOyB9CiAjZW5kaWYKIApAQCAtMTk1LDcxICsxNzksMTcg
QEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICB2b2lkIHNob3coKSBjb25zdDsKICNlbmRpZgog
Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8U3RyaW5nSW1wbD4gYWRk
KGNvbnN0IExDaGFyKik7Ci0gICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmUHRyPFN0cmluZ0lt
cGw+IGFkZChjb25zdCBjaGFyKiBzKSB7IHJldHVybiBhZGQocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KHMpKTsgfTsKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0
cjxTdHJpbmdJbXBsPiBhZGQoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwotICAgIFdU
Rl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBV
Q2hhciosIHVuc2lnbmVkIGxlbmd0aCk7Ci0gICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmUHRy
PFN0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJu
IGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyksIGxlbmd0aCk7IH07Ci0gICAg
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKGNvbnN0IFVD
aGFyKiwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpOwotICAgIFdURl9F
WFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBVQ2hh
ciopOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+
IGFkZChTdHJpbmdJbXBsKiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwotICAg
IEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxTdHJpbmdJbXBsPiBhZGQoU3RyaW5nSW1wbCog
c3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcpCi0gICAgICAgICAgICByZXR1cm4g
c3RyaW5nOwotICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmcpOwotICAgIH0KLSAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZGRGcm9tTGl0ZXJhbERhdGEo
Y29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKTsKLSNpZiBVU0UoQ0YpCi0g
ICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8U3RyaW5nSW1wbD4gYWRkKENG
U3RyaW5nUmVmKTsKLSNlbmRpZgotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVGFibGVQ
cm92aWRlcj4KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWZQdHI8U3RyaW5nSW1wbD4gYWRk
V2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoU3RyaW5nVGFibGVQcm92aWRlciYgc3RyaW5nVGFibGVQ
cm92aWRlciwgU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcp
Ci0gICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmdU
YWJsZVByb3ZpZGVyLmF0b21pY1N0cmluZ1RhYmxlKCksICpzdHJpbmcpOwotICAgIH0KLQotI2lm
ICFBU1NFUlRfRElTQUJMRUQKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIGJvb2wg
aXNJbkF0b21pY1N0cmluZ1RhYmxlKFN0cmluZ0ltcGwqKTsKLSNlbmRpZgotCiBwcml2YXRlOgog
ICAgIC8vIFRoZSBleHBsaWNpdCBjb25zdHJ1Y3RvcnMgd2l0aCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsIG11c3QgYmUgdXNlZCBmb3IgbGl0ZXJhbHMuCiAgICAgQXRvbWljU3Ry
aW5nKEFTQ0lJTGl0ZXJhbCk7CiAKLSAgICBTdHJpbmcgbV9zdHJpbmc7Ci0KLSAgICBBTFdBWVNf
SU5MSU5FIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwmIHN0cmluZykKLSAg
ICB7Ci0gICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgewotICAgICAgICAgICAgQVNTRVJU
X1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5BdG9taWNTdHJpbmdUYWJsZSgm
c3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIp
OwotICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
YWRkU2xvd0Nhc2Uoc3RyaW5nKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBS
ZWY8U3RyaW5nSW1wbD4gYWRkKEF0b21pY1N0cmluZ1RhYmxlJiBzdHJpbmdUYWJsZSwgU3RyaW5n
SW1wbCYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKHN0cmluZy5pc0F0b21pYygpKSB7Ci0g
ICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwgaXNJbkF0
b21pY1N0cmluZ1RhYmxlKCZzdHJpbmcpLCAiVGhlIGF0b21pYyBzdHJpbmcgY29tZXMgZnJvbSBh
biBvdGhlciB0aHJlYWQhIik7Ci0gICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmdUYWJsZSwgc3RyaW5nKTsKLSAgICB9
Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZGRT
bG93Q2FzZShTdHJpbmdJbXBsJik7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBS
ZWY8U3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5nVGFibGUmLCBTdHJpbmdJbXBs
Jik7Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwq
IGZpbmRTbG93Q2FzZShTdHJpbmdJbXBsJik7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0
YXRpYyBBdG9taWNTdHJpbmcgZnJvbVVURjhJbnRlcm5hbChjb25zdCBjaGFyKiwgY29uc3QgY2hh
ciopOwogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBs
KiBmaW5kSW50ZXJuYWwoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwotICAgIFdURl9F
WFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogZmluZEludGVybmFsKGNv
bnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBTdHJpbmcgbV9zdHJpbmc7CiB9Owog
CitzdGF0aWNfYXNzZXJ0KHNpemVvZihBdG9taWNTdHJpbmcpID09IHNpemVvZihTdHJpbmcpLCAi
QXRvbWljU3RyaW5nIGFuZCBTdHJpbmcgbXVzdCBiZSBzYW1lIHNpemUhIik7CisKIGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBjb25zdCBBdG9taWNTdHJpbmcm
IGIpIHsgcmV0dXJuIGEuaW1wbCgpID09IGIuaW1wbCgpOyB9CiBib29sIG9wZXJhdG9yPT0oY29u
c3QgQXRvbWljU3RyaW5nJiwgY29uc3QgTENoYXIqKTsKIGlubGluZSBib29sIG9wZXJhdG9yPT0o
Y29uc3QgQXRvbWljU3RyaW5nJiBhLCBjb25zdCBjaGFyKiBiKSB7IHJldHVybiBXVEY6OmVxdWFs
KGEuaW1wbCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYikpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTU0NTk0YjNlNzIz
MTQ0MWQ4NWVhMjk1OWNkODNiOGJmYWI1NWYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApAQCAtMCwwICsxLDUyMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCAyMDEzLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFBhdHJpY2sgR2Fuc3RlcmVyIDxwYXJv
Z2FAcGFyb2dhLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2k8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJBdG9taWNTdHJpbmdJbXBsLmgiCisKKyNpbmNsdWRlICJBdG9taWNT
dHJpbmdUYWJsZS5oIgorI2luY2x1ZGUgIkhhc2hTZXQuaCIKKyNpbmNsdWRlICJJbnRlZ2VyVG9T
dHJpbmdDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgorI2luY2x1ZGUgIlRo
cmVhZGluZy5oIgorI2luY2x1ZGUgIldURlRocmVhZERhdGEuaCIKKyNpbmNsdWRlIDx3dGYvdW5p
Y29kZS9VVEY4Lmg+CisKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNpbmNsdWRlICJTcGluTG9jay5o
IgorI2VuZGlmCisKK25hbWVzcGFjZSBXVEYgeworCit1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsK
KworI2lmIFVTRShXRUJfVEhSRUFEKQorCitjbGFzcyBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciA6
IHB1YmxpYyBTcGluTG9ja0hvbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWlj
U3RyaW5nVGFibGVMb2NrZXIpOworCisgICAgc3RhdGljIFN0YXRpY1NwaW5Mb2NrIHNfc3RyaW5n
VGFibGVMb2NrOworcHVibGljOgorICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKCkKKyAgICAg
ICAgOiBTcGluTG9ja0hvbGRlcigmc19zdHJpbmdUYWJsZUxvY2spCisgICAgeworICAgIH0KK307
CisKK1N0YXRpY1NwaW5Mb2NrIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyOjpzX3N0cmluZ1RhYmxl
TG9jazsKKworI2Vsc2UKKworY2xhc3MgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKTsKK3B1YmxpYzoKKyAg
ICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcigpIHsgfQorfTsKKworI2VuZGlmIC8vIFVTRShXRUJf
VEhSRUFEKQorCitzdGF0aWMgQUxXQVlTX0lOTElORSBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgc3Ry
aW5nVGFibGUoKQoreworICAgIHJldHVybiB3dGZUaHJlYWREYXRhKCkuYXRvbWljU3RyaW5nVGFi
bGUoKS0+dGFibGUoKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgSGFzaFRy
YW5zbGF0b3I+CitzdGF0aWMgaW5saW5lIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBhZGRUb1N0cmlu
Z1RhYmxlKGNvbnN0IFQmIHZhbHVlKQoreworICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxv
Y2tlcjsKKworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjpBZGRSZXN1bHQgYWRkUmVzdWx0ID0g
c3RyaW5nVGFibGUoKS5hZGQ8SGFzaFRyYW5zbGF0b3I+KHZhbHVlKTsKKworICAgIC8vIElmIHRo
ZSBzdHJpbmcgaXMgbmV3bHktdHJhbnNsYXRlZCwgdGhlbiB3ZSBuZWVkIHRvIGFkb3B0IGl0Lgor
ICAgIC8vIFRoZSBib29sZWFuIGluIHRoZSBwYWlyIHRlbGxzIHVzIGlmIHRoYXQgaXMgc28uCisg
ICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KQorICAgICAgICByZXR1cm4gYWRvcHRSZWYoc3Rh
dGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCY+KCoqYWRkUmVzdWx0Lml0ZXJhdG9yKSk7CisgICAg
cmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKmFkZFJlc3VsdC5pdGVyYXRv
cik7Cit9CisKK3N0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVk
IGhhc2goY29uc3QgTENoYXIqIGMpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKKyAgICB9CisKKyAgICBzdGF0aWMgaW5s
aW5lIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENoYXIqIHMpCisgICAgeworICAg
ICAgICByZXR1cm4gV1RGOjplcXVhbChyLCBzKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB0
cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBMQ2hhciogY29uc3QmIGMsIHVu
c2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVh
dGUoYykubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKKyAgICAg
ICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisKK1JlZlB0cjxBdG9t
aWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGQoY29uc3QgTENoYXIqIGMpCit7Cisg
ICAgaWYgKCFjKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoISpjKQorICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5
KCkpOworCisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Y29uc3QgTENoYXIqLCBDU3RyaW5n
VHJhbnNsYXRvcj4oYyk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBl
KiBzOworICAgIHVuc2lnbmVkIGxlbmd0aDsKK307CisKK3R5cGVkZWYgSGFzaFRyYW5zbGF0b3JD
aGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKK3N0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0
b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFVDaGFyQnVmZmVyJiBidWYpCisg
ICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4
Qml0cyhidWYucywgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwo
U3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNoYXJCdWZmZXImIGJ1ZikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOworICAgIH0K
KworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0
IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBsb2NhdGlv
biA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShidWYucywgYnVmLmxlbmd0aCku
bGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKKyAgICAgICAgbG9j
YXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CitzdHJ1Y3QgSGFzaEFuZENoYXJhY3RlcnMgeworICAgIHVuc2lnbmVk
IGhhc2g7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyczsKKyAgICB1bnNpZ25l
ZCBsZW5ndGg7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RydWN0
IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2go
Y29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlcikKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5k
TWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKSk7CisgICAgICAg
IHJldHVybiBidWZmZXIuaGFzaDsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJp
bmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJU
eXBlPiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBi
dWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIHZv
aWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFuZENoYXJhY3Rl
cnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAgICAg
IGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywgYnVmZmVy
Lmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKKyAg
ICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisKK3N0cnVjdCBI
YXNoQW5kVVRGOENoYXJhY3RlcnMgeworICAgIHVuc2lnbmVkIGhhc2g7CisgICAgY29uc3QgY2hh
ciogY2hhcmFjdGVyczsKKyAgICB1bnNpZ25lZCBsZW5ndGg7CisgICAgdW5zaWduZWQgdXRmMTZM
ZW5ndGg7Cit9OworCitzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvciB7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZm
ZXIpCisgICAgeworICAgICAgICByZXR1cm4gYnVmZmVyLmhhc2g7CisgICAgfQorCisgICAgc3Rh
dGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgSGFzaEFuZFVU
RjhDaGFyYWN0ZXJzJiBidWZmZXIpCisgICAgeworICAgICAgICBpZiAoYnVmZmVyLnV0ZjE2TGVu
Z3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkgQVNDSUkgY2hhcmFjdGVycyBVVEYtOCBh
bmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KKyAgICAgICAgaWYgKGJ1ZmZlci51dGYxNkxl
bmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7CisgICAgICAgICAgICBpZiAoc3RyaW5nLT5pczhCaXQo
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxMYXRpbjFXaXRoVVRGOChzdHJpbmctPmNo
YXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZl
ci5sZW5ndGgpOworCisgICAgICAgICAgICByZXR1cm4gZXF1YWxVVEYxNldpdGhVVEY4KHN0cmlu
Zy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIuY2hhcmFjdGVycyAr
IGJ1ZmZlci5sZW5ndGgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cmluZy0+aXM4Qml0
KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IExDaGFyKiBzdHJpbmdDaGFyYWN0ZXJzID0gc3RyaW5n
LT5jaGFyYWN0ZXJzOCgpOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
YnVmZmVyLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGlzQVNDSUkoYnVm
ZmVyLmNoYXJhY3RlcnNbaV0pKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RyaW5nQ2hhcmFjdGVy
c1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGNvbnN0IFVDaGFyKiBzdHJpbmdDaGFyYWN0ZXJzID0gc3RyaW5nLT5j
aGFyYWN0ZXJzMTYoKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVy
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXNBU0NJSShidWZmZXIuY2hhcmFj
dGVyc1tpXSkpOworICAgICAgICAgICAgaWYgKHN0cmluZ0NoYXJhY3RlcnNbaV0gIT0gYnVmZmVy
LmNoYXJhY3RlcnNbaV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNs
YXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBi
dWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBVQ2hhciogdGFyZ2V0OworICAg
ICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5p
bml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRhcmdldCk7CisKKyAgICAgICAgYm9vbCBp
c0FsbEFTQ0lJOworICAgICAgICBjb25zdCBjaGFyKiBzb3VyY2UgPSBidWZmZXIuY2hhcmFjdGVy
czsKKyAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYxNigmc291cmNlLCBzb3VyY2UgKyBidWZm
ZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZmZXIudXRmMTZMZW5ndGgsICZpc0FsbEFT
Q0lJKSAhPSBjb252ZXJzaW9uT0spCisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KworICAgICAgICBpZiAoaXNBbGxBU0NJSSkKKyAgICAgICAgICAgIG5ld1N0cmluZyA9IFN0cmlu
Z0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7CisKKyAgICAg
ICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgpLmxlYWtSZWYoKTsKKyAgICAgICAgbG9j
YXRpb24tPnNldEhhc2goaGFzaCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0b21pYyh0cnVl
KTsKKyAgICB9Cit9OworCitSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1w
bDo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgaWYgKCFzKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOwor
CisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBzLCBsZW5ndGggfTsKKyAgICByZXR1cm4gYWRk
VG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwgVUNoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIp
OworfQorCitSZWY8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGNvbnN0
IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkKK3sKKyAg
ICBBU1NFUlQocyk7CisgICAgQVNTRVJUKGV4aXN0aW5nSGFzaCk7CisKKyAgICBpZiAoIWxlbmd0
aCkKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oU3RyaW5n
SW1wbDo6ZW1wdHkoKSk7CisKKyAgICBIYXNoQW5kQ2hhcmFjdGVyczxVQ2hhcj4gYnVmZmVyID0g
eyBleGlzdGluZ0hhc2gsIHMsIGxlbmd0aCB9OworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxl
PEhhc2hBbmRDaGFyYWN0ZXJzPFVDaGFyPiwgSGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yPFVD
aGFyPj4oYnVmZmVyKTsKK30KKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmlu
Z0ltcGw6OmFkZChjb25zdCBVQ2hhciogcykKK3sKKyAgICBpZiAoIXMpCisgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKKyAgICB3aGlsZSAoc1tsZW5n
dGhdICE9IFVDaGFyKDApKQorICAgICAgICArK2xlbmd0aDsKKworICAgIGlmICghbGVuZ3RoKQor
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6
OmVtcHR5KCkpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBzLCBsZW5ndGggfTsKKyAg
ICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwgVUNoYXJCdWZmZXJUcmFuc2xh
dG9yPihidWZmZXIpOworfQorCitzdHJ1Y3QgU3Vic3RyaW5nTG9jYXRpb24geworICAgIFN0cmlu
Z0ltcGwqIGJhc2VTdHJpbmc7CisgICAgdW5zaWduZWQgc3RhcnQ7CisgICAgdW5zaWduZWQgbGVu
Z3RoOworfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3IgeworICAgIHN0YXRpYyB2b2lk
IHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IFN1YnN0cmluZ0xvY2F0aW9u
JiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBsb2NhdGlvbiA9ICZTdHJp
bmdJbXBsOjpjcmVhdGVTdWJzdHJpbmdTaGFyaW5nSW1wbChidWZmZXIuYmFzZVN0cmluZywgYnVm
ZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5z
ZXRIYXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAg
fQorfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3I4IDogU3Vic3RyaW5nVHJhbnNsYXRv
ciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgU3Vic3RyaW5nTG9jYXRpb24mIGJ1
ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5k
TWFza1RvcDhCaXRzKGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJzOCgpICsgYnVmZmVyLnN0
YXJ0LCBidWZmZXIubGVuZ3RoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJp
bmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVyKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuYmFzZVN0cmlu
Zy0+Y2hhcmFjdGVyczgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCk7CisgICAgfQor
fTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3IxNiA6IFN1YnN0cmluZ1RyYW5zbGF0b3Ig
eworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0cmluZ0xvY2F0aW9uJiBidWZm
ZXIpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1h
c2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczE2KCkgKyBidWZmZXIuc3Rh
cnQsIGJ1ZmZlci5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGVxdWFsKFN0cmlu
Z0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IFN1YnN0cmluZ0xvY2F0aW9uJiBidWZmZXIpCisg
ICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcsIGJ1ZmZlci5iYXNlU3RyaW5n
LT5jaGFyYWN0ZXJzMTYoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCk7CisgICAgfQor
fTsKKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChTdHJp
bmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoKQorewor
ICAgIGlmICghYmFzZVN0cmluZykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAo
IWxlbmd0aCB8fCBzdGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKwor
ICAgIHVuc2lnbmVkIG1heExlbmd0aCA9IGJhc2VTdHJpbmctPmxlbmd0aCgpIC0gc3RhcnQ7Cisg
ICAgaWYgKGxlbmd0aCA+PSBtYXhMZW5ndGgpIHsKKyAgICAgICAgaWYgKCFzdGFydCkKKyAgICAg
ICAgICAgIHJldHVybiBhZGQoYmFzZVN0cmluZyk7CisgICAgICAgIGxlbmd0aCA9IG1heExlbmd0
aDsKKyAgICB9CisKKyAgICBTdWJzdHJpbmdMb2NhdGlvbiBidWZmZXIgPSB7IGJhc2VTdHJpbmcs
IHN0YXJ0LCBsZW5ndGggfTsKKyAgICBpZiAoYmFzZVN0cmluZy0+aXM4Qml0KCkpCisgICAgICAg
IHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFN1YnN0cmluZ0xvY2F0aW9uLCBTdWJzdHJpbmdUcmFu
c2xhdG9yOD4oYnVmZmVyKTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxTdWJzdHJpbmdM
b2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRvcjE2PihidWZmZXIpOworfQorICAgIAordHlwZWRl
ZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8TENoYXI+IExDaGFyQnVmZmVyOworc3RydWN0IExD
aGFyQnVmZmVyVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTENo
YXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1
dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVuZ3RoKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBMQ2hhckJ1ZmZl
ciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyLCBidWYucywgYnVm
Lmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwq
JiBsb2NhdGlvbiwgY29uc3QgTENoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKKyAgICB7
CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShidWYucywgYnVmLmxlbmd0
aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKKyAgICAgICAg
bG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisKK3R5cGVkZWYgSGFzaFRy
YW5zbGF0b3JDaGFyQnVmZmVyPGNoYXI+IENoYXJCdWZmZXI7CitzdHJ1Y3QgQ2hhckJ1ZmZlckZy
b21MaXRlcmFsRGF0YVRyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0
IENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNv
bXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihi
dWYucyksIGJ1Zi5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGVxdWFsKFN0cmlu
Z0ltcGwqIGNvbnN0JiBzdHIsIGNvbnN0IENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAg
IHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOworICAgIH0KKworICAg
IHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IENoYXJC
dWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0gJlN0
cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGJ1Zi5zLCBidWYubGVuZ3RoKS5sZWFrUmVmKCk7
CisgICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0
SXNBdG9taWModHJ1ZSk7CisgICAgfQorfTsKKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0
b21pY1N0cmluZ0ltcGw6OmFkZChjb25zdCBMQ2hhciogcywgdW5zaWduZWQgbGVuZ3RoKQorewor
ICAgIGlmICghcykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoIWxlbmd0aCkK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBs
OjplbXB0eSgpKTsKKworICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgcywgbGVuZ3RoIH07Cisg
ICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8TENoYXJCdWZmZXIsIExDaGFyQnVmZmVyVHJhbnNs
YXRvcj4oYnVmZmVyKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0lt
cGw6OmFkZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCit7CisgICAgQVNTRVJUKGNoYXJhY3RlcnMpOworICAgIEFTU0VSVChsZW5ndGgpOwor
CisgICAgQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9OworICAgIHJl
dHVybiBhZGRUb1N0cmluZ1RhYmxlPENoYXJCdWZmZXIsIENoYXJCdWZmZXJGcm9tTGl0ZXJhbERh
dGFUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWlj
U3RyaW5nSW1wbDo6YWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYgc3RyaW5nKQoreworICAgIGlmICgh
c3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIGlmIChzdHJpbmcuaXNTeW1ib2wo
KSkgeworICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuICph
ZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIHJldHVy
biAqYWRkKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICB9CisK
KyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmlu
Z0ltcGwgc2hvdWxkIG5vdCBoaXQgdGhlIHNsb3cgY2FzZSBpZiB0aGUgc3RyaW5nIGlzIGFscmVh
ZHkgYXRvbWljLiIpOworCisgICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAg
IGF1dG8gYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQoJnN0cmluZyk7CisKKyAgICBpZiAo
YWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgQVNTRVJUKCphZGRSZXN1bHQuaXRlcmF0
b3IgPT0gJnN0cmluZyk7CisgICAgICAgIHN0cmluZy5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9
CisKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqYWRkUmVzdWx0
Lml0ZXJhdG9yKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6
OmFkZFNsb3dDYXNlKEF0b21pY1N0cmluZ1RhYmxlJiBzdHJpbmdUYWJsZSwgU3RyaW5nSW1wbCYg
c3RyaW5nKQoreworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gKnN0
YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAg
IGlmIChzdHJpbmcuaXNTeW1ib2woKSkgeworICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQor
ICAgICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5n
dGgoKSk7CisgICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5n
Lmxlbmd0aCgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNB
dG9taWMoKSwgIkF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIG5vdCBoaXQgdGhlIHNsb3cgY2FzZSBp
ZiB0aGUgc3RyaW5nIGlzIGFscmVhZHkgYXRvbWljLiIpOworCisgICAgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8gYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUudGFibGUo
KS5hZGQoJnN0cmluZyk7CisKKyAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAg
ICAgQVNTRVJUKCphZGRSZXN1bHQuaXRlcmF0b3IgPT0gJnN0cmluZyk7CisgICAgICAgIHN0cmlu
Zy5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9CisKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0
b21pY1N0cmluZ0ltcGwqPigqYWRkUmVzdWx0Lml0ZXJhdG9yKTsKK30KKwordm9pZCBBdG9taWNT
dHJpbmdJbXBsOjpyZW1vdmUoQXRvbWljU3RyaW5nSW1wbCogc3RyaW5nKQoreworICAgIEFTU0VS
VChzdHJpbmctPmlzQXRvbWljKCkpOworICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tl
cjsKKyAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgYXRvbWljU3RyaW5nVGFibGUgPSBzdHJpbmdU
YWJsZSgpOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjppdGVyYXRvciBpdGVyYXRvciA9IGF0
b21pY1N0cmluZ1RhYmxlLmZpbmQoc3RyaW5nKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGl0
ZXJhdG9yICE9IGF0b21pY1N0cmluZ1RhYmxlLmVuZCgpLCAiVGhlIHN0cmluZyBiZWluZyByZW1v
dmVkIGlzIGF0b21pYyBpbiB0aGUgc3RyaW5nIHRhYmxlIG9mIGFuIG90aGVyIHRocmVhZCEiKTsK
KyAgICBhdG9taWNTdHJpbmdUYWJsZS5yZW1vdmUoaXRlcmF0b3IpOworfQorCitBdG9taWNTdHJp
bmdJbXBsKiBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXBTbG93Q2FzZShTdHJpbmdJbXBsJiBzdHJp
bmcpCit7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLmlzQXRvbWljKCksICJBdG9t
aWNTdHJpbmdJbXBscyBzaG91bGQgcmV0dXJuIGZyb20gdGhlIGZhc3QgY2FzZS4iKTsKKworICAg
IGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWlj
U3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgaWYgKHN0cmluZy5pc1N5
bWJvbCgpKSB7CisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgICAgICByZXR1
cm4gbG9va3VwSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7
CisgICAgICAgIHJldHVybiBsb29rdXBJbnRlcm5hbChzdHJpbmcuY2hhcmFjdGVyczE2KCksIHN0
cmluZy5sZW5ndGgoKSk7CisgICAgfQorCisgICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9j
a2VyOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9taWNTdHJpbmdUYWJsZSA9IHN0cmlu
Z1RhYmxlKCk7CisgICAgYXV0byBpdGVyYXRvciA9IGF0b21pY1N0cmluZ1RhYmxlLmZpbmQoJnN0
cmluZyk7CisgICAgaWYgKGl0ZXJhdG9yICE9IGF0b21pY1N0cmluZ1RhYmxlLmVuZCgpKQorICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNT
dHJpbmdJbXBsOjphZGRGcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzU3RhcnQsIGNvbnN0
IGNoYXIqIGNoYXJhY3RlcnNFbmQpCit7CisgICAgSGFzaEFuZFVURjhDaGFyYWN0ZXJzIGJ1ZmZl
cjsKKyAgICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnNTdGFydDsKKyAgICBidWZmZXIu
aGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOE1hc2tpbmdUb3A4Qml0
cyhjaGFyYWN0ZXJzU3RhcnQsIGNoYXJhY3RlcnNFbmQsIGJ1ZmZlci5sZW5ndGgsIGJ1ZmZlci51
dGYxNkxlbmd0aCk7CisKKyAgICBpZiAoIWJ1ZmZlci5oYXNoKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPEhhc2hBbmRVVEY4Q2hhcmFjdGVy
cywgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcj4oYnVmZmVyKTsKK30KKworQXRvbWlj
U3RyaW5nSW1wbCogQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwSW50ZXJuYWwoY29uc3QgTENoYXIq
IGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBBdG9taWNTdHJpbmdUYWJsZUxv
Y2tlciBsb2NrZXI7CisgICAgYXV0byYgdGFibGUgPSBzdHJpbmdUYWJsZSgpOworCisgICAgTENo
YXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBsZW5ndGggfTsKKyAgICBhdXRvIGl0ZXJh
dG9yID0gdGFibGUuZmluZDxMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZlcik7CisgICAgaWYg
KGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRv
bWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0F0
b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cEludGVybmFsKGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8mIHRhYmxlID0gc3RyaW5nVGFibGUoKTsKKworICAg
IFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywgbGVuZ3RoIH07CisgICAgYXV0byBp
dGVyYXRvciA9IHRhYmxlLmZpbmQ8VUNoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOworICAg
IGlmIChpdGVyYXRvciAhPSB0YWJsZS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOworICAgIHJldHVybiBudWxscHRyOworfQor
CisjaWYgIUFTU0VSVF9ESVNBQkxFRAorYm9vbCBBdG9taWNTdHJpbmdJbXBsOjppc0luQXRvbWlj
U3RyaW5nVGFibGUoU3RyaW5nSW1wbCogc3RyaW5nKQoreworICAgIEF0b21pY1N0cmluZ1RhYmxl
TG9ja2VyIGxvY2tlcjsKKyAgICByZXR1cm4gc3RyaW5nVGFibGUoKS5jb250YWlucyhzdHJpbmcp
OworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21p
Y1N0cmluZ0ltcGwuaAppbmRleCA2MmE5MGUwNmU1MzhmNjYzZTRiZjBlMDNiZTMyZWI2NDAxN2My
MmMyLi5iZWNlY2MzMDM3YjYyYTE4YjVhYjExODM5MGE3M2QxYzJmMjYwYzc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaApAQCAtMjEsMTQgKzIxLDk1IEBACiAjaWZuZGVm
IEF0b21pY1N0cmluZ0ltcGxfaAogI2RlZmluZSBBdG9taWNTdHJpbmdJbXBsX2gKIAotI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3Ry
aW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgQXRvbWljU3RyaW5nSW1wbCA6
IHB1YmxpYyBTdHJpbmdJbXBsCi17CitjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKKworY2xhc3Mg
QXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbCB7Citwcml2YXRlOgor
ICAgIEF0b21pY1N0cmluZ0ltcGwoKSA9IGRlbGV0ZTsKKwogcHVibGljOgotICAgIEF0b21pY1N0
cmluZ0ltcGwoKSA6IFN0cmluZ0ltcGwoMCkge30KKyAgICBzdGF0aWMgQXRvbWljU3RyaW5nSW1w
bCogbG9va3VwKExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAg
ICAgICByZXR1cm4gbG9va3VwSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKKyAgICB9Cisg
ICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cChVQ2hhciogY2hhcmFjdGVycywgdW5z
aWduZWQgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGxvb2t1cEludGVybmFsKGNoYXJh
Y3RlcnMsIGxlbmd0aCk7CisgICAgfQorICAgIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBsKiBsb29r
dXAoU3RyaW5nSW1wbCogc3RyaW5nKQorICAgIHsKKyAgICAgICAgaWYgKCFzdHJpbmcgfHwgc3Ry
aW5nLT5pc0F0b21pYygpKQorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0
cmluZ0ltcGwqPihzdHJpbmcpOworICAgICAgICByZXR1cm4gbG9va3VwU2xvd0Nhc2UoKnN0cmlu
Zyk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlKEF0b21pY1N0cmluZ0ltcGwqKTsK
KworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0lt
cGw+IGFkZChjb25zdCBMQ2hhciopOworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxB
dG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgY2hhciogcykgeyByZXR1cm4gYWRkKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihzKSk7IH07CisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJ
IHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkKGNvbnN0IExDaGFyKiwgdW5zaWdu
ZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9t
aWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIEFM
V0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgY2hh
ciogcywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBhZGQocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KHMpLCBsZW5ndGgpOyB9OworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0
aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0
aCwgdW5zaWduZWQgZXhpc3RpbmdIYXNoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3Rh
dGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgVUNoYXIqKTsKKyAgICBXVEZf
RVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoU3Ry
aW5nSW1wbCosIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBBTFdBWVNf
SU5MSU5FIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwqIHN0
cmluZykKKyAgICB7CisgICAgICAgIGlmICghc3RyaW5nKQorICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOworICAgICAgICByZXR1cm4gYWRk
KCpzdHJpbmcpOworICAgIH0KKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxB
dG9taWNTdHJpbmdJbXBsPiBhZGRGcm9tTGl0ZXJhbERhdGEoY29uc3QgY2hhciogY2hhcmFjdGVy
cywgdW5zaWduZWQgbGVuZ3RoKTsKKworICAgIC8vIEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21V
VEY4IHdpbGwgcmV0dXJuIGEgbnVsbHB0ciBpZgorICAgIC8vIHRoZSBpbnB1dCBkYXRhIGNvbnRh
aW5zIGludmFsaWQgVVRGLTggc2VxdWVuY2VzLgorICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBz
dGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZEZyb21VVEY4KGNvbnN0IGNoYXIqIHN0
YXJ0LCBjb25zdCBjaGFyKiBlbmQpOworI2lmIFVTRShDRikKKyAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoQ0ZTdHJpbmdSZWYpOwor
I2VuZGlmCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUYWJsZVByb3ZpZGVyPgorICAg
IEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGRXaXRoU3Ry
aW5nVGFibGVQcm92aWRlcihTdHJpbmdUYWJsZVByb3ZpZGVyJiBzdHJpbmdUYWJsZVByb3ZpZGVy
LCBTdHJpbmdJbXBsKiBzdHJpbmcpCisgICAgeworICAgICAgICBpZiAoIXN0cmluZykKKyAgICAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oc3RyaW5nKTsKKyAg
ICAgICAgcmV0dXJuIGFkZCgqc3RyaW5nVGFibGVQcm92aWRlci5hdG9taWNTdHJpbmdUYWJsZSgp
LCAqc3RyaW5nKTsKKyAgICB9CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisgICAgV1RGX0VYUE9S
VF9TVFJJTkdfQVBJIHN0YXRpYyBib29sIGlzSW5BdG9taWNTdHJpbmdUYWJsZShTdHJpbmdJbXBs
Kik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWY8QXRv
bWljU3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwmIHN0cmluZykKKyAgICB7CisgICAgICAgIGlm
IChzdHJpbmcuaXNBdG9taWMoKSkgeworICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSgh
c3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5BdG9taWNTdHJpbmdUYWJsZSgmc3RyaW5nKSwgIlRoZSBh
dG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIpOworICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwmPihzdHJpbmcpOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmcpOworICAgIH0KKworICAgIEFMV0FZ
U19JTkxJTkUgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoQXRvbWljU3RyaW5nVGFi
bGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCisgICAgeworICAgICAgICBpZiAo
c3RyaW5nLmlzQXRvbWljKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0
cmluZy5sZW5ndGgoKSB8fCBpc0luQXRvbWljU3RyaW5nVGFibGUoJnN0cmluZyksICJUaGUgYXRv
bWljIHN0cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKKyAgICAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsJj4oc3RyaW5nKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nVGFibGUsIHN0cmluZyk7CisgICAgfQor
CisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4g
YWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYpOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0
aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZFNsb3dDYXNlKEF0b21pY1N0cmluZ1RhYmxlJiwg
U3RyaW5nSW1wbCYpOworCisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNT
dHJpbmdJbXBsKiBsb29rdXBTbG93Q2FzZShTdHJpbmdJbXBsJik7CisKKyAgICBXVEZfRVhQT1JU
X1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cEludGVybmFsKGNvbnN0
IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3Rh
dGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cEludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWdu
ZWQgbGVuZ3RoKTsKIH07CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmNwcAppbmRleCA2ZmQ3NzljODBjMmJkOGE0NGM2NjdlMmEzMjZmODM4ZDg1Y2ZhMWY1
Li5jMTI5MTQ1YmM2NGUzYzAyNjJhYzRkMmFiODYwOGY3ZWRlOTZlYWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvV1RGVGhy
ZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdWaWV3Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
Q2hhcmFjdGVyTmFtZXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9VVEY4Lmg+CkBAIC0xMTEs
MTAgKzExMiwxMCBAQCB2b2lkIFN0cmluZ1N0YXRzOjpwcmludFN0YXRzKCkKICAgICBTVFJJTkdf
U1RBVFNfUkVNT1ZFX1NUUklORygqdGhpcyk7CiAKICAgICBpZiAoaXNBdG9taWMoKSAmJiBsZW5n
dGgoKSAmJiAhaXNTeW1ib2woKSkKLSAgICAgICAgQXRvbWljU3RyaW5nOjpyZW1vdmUodGhpcyk7
CisgICAgICAgIEF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZShzdGF0aWNfY2FzdDxBdG9taWNTdHJp
bmdJbXBsKj4odGhpcykpOwogCiAgICAgaWYgKGlzU3ltYm9sKCkgJiYgc3ltYm9sUmVnaXN0cnko
KSkKLSAgICAgICAgc3ltYm9sUmVnaXN0cnkoKS0+cmVtb3ZlKHRoaXMpOworICAgICAgICBzeW1i
b2xSZWdpc3RyeSgpLT5yZW1vdmUoc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHRoaXMpKTsKIAog
ICAgIEJ1ZmZlck93bmVyc2hpcCBvd25lcnNoaXAgPSBidWZmZXJPd25lcnNoaXAoKTsKIApAQCAt
MjkwLDcgKzI5MSw3IEBAIHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJveShTdHJpbmdJbXBsKiBzdHJp
bmdJbXBsKQogICAgIHJldHVybiBjcmVhdGUoc3RyaW5nLCBsZW5ndGgpOwogfQogCi1SZWY8U3Ry
aW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4g
cmVwKQorUmVmPFN5bWJvbEltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IHJlcCkKIHsKICAgICBTdHJpbmdJbXBsKiBvd25lclJlcCA9IChyZXAtPmJ1
ZmZlck93bmVyc2hpcCgpID09IEJ1ZmZlclN1YnN0cmluZykgPyByZXAtPnN1YnN0cmluZ0J1ZmZl
cigpIDogcmVwLmdldCgpOwogCkBAIC0zMDEsMTEgKzMwMiwxMSBAQCB2b2lkIFN0cmluZ0ltcGw6
OmRlc3Ryb3koU3RyaW5nSW1wbCogc3RyaW5nSW1wbCkKICAgICAvLyA0LiB0aGUgcGxhY2Vob2xk
ZXIgZm9yIHN5bWJvbCBhd2FyZSBoYXNoIHZhbHVlIChhbGxvY2F0ZWQgc2l6ZSBpcyBwb2ludGVy
IHNpemUsIGJ1dCBvbmx5IDQgYnl0ZXMgYXJlIHVzZWQpCiAgICAgU3RyaW5nSW1wbCogc3RyaW5n
SW1wbCA9IHN0YXRpY19jYXN0PFN0cmluZ0ltcGwqPihmYXN0TWFsbG9jKGFsbG9jYXRpb25TaXpl
PFN0cmluZ0ltcGwqPigzKSkpOwogICAgIGlmIChyZXAtPmlzOEJpdCgpKQotICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVT
eW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKTsKLSAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVT
eW1ib2wsIHJlcC0+bV9kYXRhMTYsIHJlcC0+bGVuZ3RoKCksIG93bmVyUmVwKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KG5ldyAoTm90TnVsbCwg
c3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5s
ZW5ndGgoKSwgb3duZXJSZXApKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpzdGF0aWNfY2FzdDxT
eW1ib2xJbXBsKj4obmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5
bWJvbCwgcmVwLT5tX2RhdGExNiwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKSk7CiB9CiAKLVJl
ZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2xFbXB0eSgpCitSZWY8U3ltYm9s
SW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkoKQogewogICAgIHJldHVybiBjcmVh
dGVTeW1ib2woZW1wdHkoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IGRjMjJi
ZDBlN2M5NjQyNjlmZTNkZWRlYzUxYmVmNTFjZTY2ZmUzZTkuLjYxYjdiZTEyZmRjOGMyZmI0ZmI3
MjE5OWU1ZmNjYWM1Njk1NTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC01Nyw2
ICs1Nyw3IEBACiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsKIHN0cnVjdCBVQ2hhckJ1ZmZl
clRyYW5zbGF0b3I7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgUmV0YWluUHRyOworY2xhc3Mg
U3ltYm9sSW1wbDsKIGNsYXNzIFN5bWJvbFJlZ2lzdHJ5OwogCiBlbnVtIFRleHRDYXNlU2Vuc2l0
aXZpdHkgewpAQCAtMTMxLDcgKzEzMiw2IEBAIGNsYXNzIFN0cmluZ0ltcGwgewogICAgIGZyaWVu
ZCBzdHJ1Y3QgV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0cnVjdCBX
VEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0cnVjdCBXVEY6OlVDaGFyQnVm
ZmVyVHJhbnNsYXRvcjsKLSAgICBmcmllbmQgY2xhc3MgQXRvbWljU3RyaW5nSW1wbDsKICAgICBm
cmllbmQgY2xhc3MgSlNDOjpMTEludDo6RGF0YTsKICAgICBmcmllbmQgY2xhc3MgSlNDOjpMTElu
dE9mZnNldHNFeHRyYWN0b3I7CiAgICAgCkBAIC00MjEsOCArNDIxLDggQEAgY2xhc3MgU3RyaW5n
SW1wbCB7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RJbnRlcm5hbDxUPihyZXN1bHRJbXBsLCBs
ZW5ndGgpOwogICAgIH0KIAotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN0
cmluZ0ltcGw+IGNyZWF0ZVN5bWJvbEVtcHR5KCk7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJ
IHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4gcmVwKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTeW1ib2xJbXBs
PiBjcmVhdGVTeW1ib2xFbXB0eSgpOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMg
UmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCk7
CiAKICAgICAvLyBSZWFsbG9jYXRlIHRoZSBTdHJpbmdJbXBsLiBUaGUgb3JpZ2luYWxTdHJpbmcg
bXVzdCBiZSBvbmx5IG93bmVkIGJ5IHRoZSBQYXNzUmVmUHRyLAogICAgIC8vIGFuZCB0aGUgYnVm
ZmVyIG93bmVyc2hpcCBtdXN0IGJlIEJ1ZmZlckludGVybmFsLiBKdXN0IGxpa2UgdGhlIGlucHV0
IHBvaW50ZXIgb2YgcmVhbGxvYygpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9T
eW1ib2xJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNjcwNTMxYzg5ZWQ1MjY4ZWIxNmRiNTEyZDIwYTE2YmEwZWJhYTljCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBsLmgKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN5bWJvbEltcGxfaAorI2RlZmluZSBTeW1ib2xJ
bXBsX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgU3lt
Ym9sSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbCB7CisgICAgU3ltYm9sSW1wbCgpID0g
ZGVsZXRlOworfTsKKworI2lmICFBU1NFUlRfRElTQUJMRUQKKy8vIFN5bWJvbEltcGxzIGNyZWF0
ZWQgZnJvbSBTdGF0aWNBU0NJSUxpdGVyYWwgd2lsbCBBU1NFUlQKKy8vIGluIHRoZSBnZW5lcmlj
IFZhbHVlQ2hlY2s8VD46OmNoZWNrQ29uc2lzdGVuY3kKKy8vIGFzIHRoZXkgYXJlIG5vdCBhbGxv
Y2F0ZWQgYnkgZmFzdE1hbGxvYy4KKy8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGFueSB3YXkg
dG8gZGV0ZWN0IHRoYXQgY2FzZQorLy8gc28gd2UgaWdub3JlIHRoZSBjb25zaXN0ZW5jeSBjaGVj
ayBmb3IgYWxsIFN5bWJvbEltcGxzKi4KK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPFN5
bWJvbEltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBTeW1i
b2xJbXBsKikgeyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdAorVmFsdWVDaGVjazxjb25zdCBT
eW1ib2xJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29uc3QgU3lt
Ym9sSW1wbCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcg
V1RGOjpTeW1ib2xJbXBsOworCisjZW5kaWYgLy8gU3ltYm9sSW1wbF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3ltYm9sUmVnaXN0cnkuY3BwCmluZGV4IDE1NmJhM2U0YzI3NGIxZjAwY2JjZWU3ZWJmZmVl
YjI2Y2YyM2QzOTAuLjI1OTliNjg4MDcxNzI4OGEwZjZiM2VmYzIxMDFlZmNmMDE5ZWJhZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCkBAIC0zNCwyNiArMzQsMjYgQEAK
ICAgICAgICAga2V5LmltcGwoKS0+c3ltYm9sUmVnaXN0cnkoKSA9IG51bGxwdHI7CiB9CiAKLVJl
ZjxTdHJpbmdJbXBsPiBTeW1ib2xSZWdpc3RyeTo6c3ltYm9sRm9yS2V5KGNvbnN0IFN0cmluZyYg
cmVwKQorUmVmPFN5bWJvbEltcGw+IFN5bWJvbFJlZ2lzdHJ5OjpzeW1ib2xGb3JLZXkoY29uc3Qg
U3RyaW5nJiByZXApCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3RhYmxlLmFkZChTeW1ib2xS
ZWdpc3RyeUtleShyZXAuaW1wbCgpKSk7CiAgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkK
LSAgICAgICAgcmV0dXJuICphZGRSZXN1bHQuaXRlcmF0b3ItPmltcGwoKTsKKyAgICAgICAgcmV0
dXJuICpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4oYWRkUmVzdWx0Lml0ZXJhdG9yLT5pbXBsKCkp
OwogCi0gICAgUmVmPFN0cmluZ0ltcGw+IHN5bWJvbCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJv
bChyZXAuaW1wbCgpKTsKKyAgICBSZWY8U3ltYm9sSW1wbD4gc3ltYm9sID0gU3RyaW5nSW1wbDo6
Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOwogICAgIHN5bWJvbC0+c3ltYm9sUmVnaXN0cnkoKSA9
IHRoaXM7CiAgICAgKmFkZFJlc3VsdC5pdGVyYXRvciA9IFN5bWJvbFJlZ2lzdHJ5S2V5KCZzeW1i
b2wuZ2V0KCkpOwogICAgIHJldHVybiBzeW1ib2w7CiB9CiAKLVN0cmluZyBTeW1ib2xSZWdpc3Ry
eTo6a2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwqIHVpZCkKK1N0cmluZyBTeW1ib2xSZWdpc3RyeTo6
a2V5Rm9yU3ltYm9sKFN5bWJvbEltcGwqIHVpZCkKIHsKICAgICBBU1NFUlQodWlkLT5pc1N5bWJv
bCgpKTsKICAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3RyeSgpID09IHRoaXMpOwogICAgIHJl
dHVybiB1aWQtPmV4dHJhY3RGb2xkZWRTdHJpbmdJblN5bWJvbCgpOwogfQogCi12b2lkIFN5bWJv
bFJlZ2lzdHJ5OjpyZW1vdmUoU3RyaW5nSW1wbCogdWlkKQordm9pZCBTeW1ib2xSZWdpc3RyeTo6
cmVtb3ZlKFN5bWJvbEltcGwqIHVpZCkKIHsKICAgICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsK
ICAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3RyeSgpID09IHRoaXMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oIGIvU291cmNlL1dURi93dGYvdGV4
dC9TeW1ib2xSZWdpc3RyeS5oCmluZGV4IDEzNmMzNjhjOTBiYmJjZWExODg2YjhkZjc4NzJhN2Zm
ZGZiYTk4YTYuLmZlY2JlNzBjNzQ4MzIwODBjZjliNGQ0MzRiNjZiMmQwOTQwNjI4OGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC04MSwxMCArODIsMTAgQEAgY2xhc3MgU3ltYm9s
UmVnaXN0cnkgewogICAgIFN5bWJvbFJlZ2lzdHJ5KCkgPSBkZWZhdWx0OwogICAgIFdURl9FWFBP
UlRfUFJJVkFURSB+U3ltYm9sUmVnaXN0cnkoKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSBS
ZWY8U3RyaW5nSW1wbD4gc3ltYm9sRm9yS2V5KGNvbnN0IFN0cmluZyYpOwotICAgIFdURl9FWFBP
UlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwqIHVpZCk7CisgICAgV1RG
X0VYUE9SVF9QUklWQVRFIFJlZjxTeW1ib2xJbXBsPiBzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5n
Jik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBrZXlGb3JTeW1ib2woU3ltYm9sSW1w
bCogdWlkKTsKIAotICAgIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqIHVpZCk7CisgICAgdm9pZCBy
ZW1vdmUoU3ltYm9sSW1wbCogdWlkKTsKIAogcHJpdmF0ZToKICAgICBIYXNoU2V0PFN5bWJvbFJl
Z2lzdHJ5S2V5PiBtX3RhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9Vbmlx
dWVkU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJmNjk3Y2Y3MGYwNzc3NWZjMTc5Mzg1YTgxYmJlNGNjZDRjYTQ3NGMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgK
QEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtp
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFVuaXF1ZWRTdHJp
bmdJbXBsX2gKKyNkZWZpbmUgVW5pcXVlZFN0cmluZ0ltcGxfaAorCisjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgVW5pcXVlZFN0cmlu
Z0ltcGwgOiBwdWJsaWMgU3RyaW5nSW1wbCB7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwoKSA9IGRl
bGV0ZTsKK307CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisvLyBVbmlxdWVkU3RyaW5nSW1wbHMg
Y3JlYXRlZCBmcm9tIFN0YXRpY0FTQ0lJTGl0ZXJhbCB3aWxsIEFTU0VSVAorLy8gaW4gdGhlIGdl
bmVyaWMgVmFsdWVDaGVjazxUPjo6Y2hlY2tDb25zaXN0ZW5jeQorLy8gYXMgdGhleSBhcmUgbm90
IGFsbG9jYXRlZCBieSBmYXN0TWFsbG9jLgorLy8gV2UgZG9uJ3QgY3VycmVudGx5IGhhdmUgYW55
IHdheSB0byBkZXRlY3QgdGhhdCBjYXNlCisvLyBzbyB3ZSBpZ25vcmUgdGhlIGNvbnNpc3RlbmN5
IGNoZWNrIGZvciBhbGwgVW5pcXVlZFN0cmluZ0ltcGxzKi4KK3RlbXBsYXRlPD4gc3RydWN0CitW
YWx1ZUNoZWNrPFVuaXF1ZWRTdHJpbmdJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29u
c2lzdGVuY3koY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqKSB7IH0KK307CisKK3RlbXBsYXRlPD4g
c3RydWN0CitWYWx1ZUNoZWNrPGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKj4geworICAgIHN0YXRp
YyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqKSB7IH0KK307
CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6VW5pcXVlZFN0cmlu
Z0ltcGw7CisKKyNlbmRpZiAvLyBVbmlxdWVkU3RyaW5nSW1wbF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJp
bmcuaAppbmRleCA2ZThmMDkyYjI3ZTU5YjdhODFkOTUwNzBlNDhlMzIwZGZkOGM3MzYxLi5kZTk5
MmRlYjkzNDllNWVjM2FiMjE5NjVlYThiM2ZlY2Q4YjVkNWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmgKQEAgLTExOCw2ICsxMTgsMTAgQEAgY2xhc3MgU3RyaW5nIHsKICAgICBTdHJpbmcoUmVm
PFN0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2ltcGwoV1RGOjptb3ZlKGltcGwpKSB7IH0KICAgICBT
dHJpbmcoUmVmUHRyPFN0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2ltcGwoaW1wbCkgeyB9CiAKKyAg
ICBTdHJpbmcoUGFzc1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBpbXBsKSA6IG1faW1wbChpbXBs
KSB7IH0KKyAgICBTdHJpbmcoUmVmPEF0b21pY1N0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2ltcGwo
V1RGOjptb3ZlKGltcGwpKSB7IH0KKyAgICBTdHJpbmcoUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+
JiYgaW1wbCkgOiBtX2ltcGwoaW1wbCkgeyB9CisKICAgICAvLyBDb25zdHJ1Y3QgYSBzdHJpbmcg
ZnJvbSBhIGNvbnN0YW50IHN0cmluZyBsaXRlcmFsLgogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQ
SSBTdHJpbmcoQVNDSUlMaXRlcmFsIGNoYXJhY3RlcnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNjkyNDY3ODMwODZmNjk5
NDNhOWQyMzc5YzdjNzlhZDY0ODQ0YmY2Mi4uMGQ1NzNmY2NmNTQxNDE4NWZjMTEzN2Q1YjQzNjc5
YzgzN2I3NzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcApAQCAtMzA2LDcgKzMwNiw4IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCB1
CiAgICAgLy8gQWxsb3cgc2hvcnRjdXRzIGxpa2UgJ0ltYWdlMScgaW5zdGVhZCBvZiBkb2N1bWVu
dC5pbWFnZXMuSW1hZ2UxCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpc09iamVjdC0+aW1w
bCgpLmZyYW1lKCktPmRvY3VtZW50KCk7CiAgICAgaWYgKGlzPEhUTUxEb2N1bWVudD4oKmRvY3Vt
ZW50KSkgewotICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9wZXJ0eU5hbWUgPSBw
cm9wZXJ0eU5hbWUuaW1wbCgpOworICAgICAgICBBU1NFUlQoIXByb3BlcnR5TmFtZS5pc1N5bWJv
bCgpKTsKKyAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogYXRvbWljUHJvcGVydHlOYW1lID0gc3Rh
dGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS5pbXBsKCkpOwogICAgICAg
ICBpZiAoYXRvbWljUHJvcGVydHlOYW1lICYmIGRvd25jYXN0PEhUTUxEb2N1bWVudD4oKmRvY3Vt
ZW50KS5oYXNXaW5kb3dOYW1lZEl0ZW0oKmF0b21pY1Byb3BlcnR5TmFtZSkpIHsKICAgICAgICAg
ICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXNPYmplY3QsIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERv
bnRFbnVtLCBuYW1lZEl0ZW1HZXR0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVy
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1S
ZWFkZXJDdXN0b20uY3BwCmluZGV4IGQzMWQ4ODViMDFhMTRmNjkwZDZkYjJmMzQ1Y2NiMmZiM2Q2
NTk4NTEuLmZmOWFjMGQxZjQ5NjA2MmJlOWMxZWJlMWY1MWQ1NzU2MGQ0OTU3YjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1SZWFkZXJDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1S
ZWFkZXJDdXN0b20uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBKU1Byb21pc2VEZWZlcnJl
ZCogZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywK
IAogc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUmIGNsb3NlZFByb21pc2VTbG90TmFtZSgpCiB7Ci0g
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IGNsb3NlZFByb21pc2VT
bG90TmFtZSgiY2xvc2VkUHJvbWlzZSIpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU0M6
OlByaXZhdGVOYW1lPiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoSlNDOjpQcml2YXRlTmFtZTo6RGVz
Y3JpcHRpb24sICJjbG9zZWRQcm9taXNlIik7CiAgICAgcmV0dXJuIGNsb3NlZFByb21pc2VTbG90
TmFtZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZWUxNWJkNTBjNTIzZjYxMTI1ODU0NjJmMzY3OTUxZGEw
M2Y3N2RjZC4uYWEwZGFkZjA5ZDU0MDMwNDg2ZjljNzcxNzczY2YyMjYwN2FiZTE4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwCkBAIC05ODMsNyArOTgzLDcgQEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDogQ2xvbmVCYXNl
IHsKICAgICB2b2lkIHdyaXRlKGNvbnN0IElkZW50aWZpZXImIGlkZW50KQogICAgIHsKICAgICAg
ICAgY29uc3QgU3RyaW5nJiBzdHIgPSBpZGVudC5zdHJpbmcoKTsKLSAgICAgICAgU3RyaW5nQ29u
c3RhbnRQb29sOjpBZGRSZXN1bHQgYWRkUmVzdWx0ID0gbV9jb25zdGFudFBvb2wuYWRkKHN0ci5p
bXBsKCksIG1fY29uc3RhbnRQb29sLnNpemUoKSk7CisgICAgICAgIFN0cmluZ0NvbnN0YW50UG9v
bDo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IG1fY29uc3RhbnRQb29sLmFkZChpZGVudC5pbXBsKCks
IG1fY29uc3RhbnRQb29sLnNpemUoKSk7CiAgICAgICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50
cnkpIHsKICAgICAgICAgICAgIHdyaXRlKFN0cmluZ1Bvb2xUYWcpOwogICAgICAgICAgICAgd3Jp
dGVTdHJpbmdJbmRleChhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKQEAgLTEyMTEsNyArMTIx
MSw3IEBAIGNsYXNzIENsb25lU2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgT2JqZWN0UG9v
bCBtX29iamVjdFBvb2w7CiAgICAgT2JqZWN0UG9vbCBtX3RyYW5zZmVycmVkTWVzc2FnZVBvcnRz
OwogICAgIE9iamVjdFBvb2wgbV90cmFuc2ZlcnJlZEFycmF5QnVmZmVyczsKLSAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCB1aW50MzJfdCwgSWRlbnRpZmllclJlcEhhc2g+
IFN0cmluZ0NvbnN0YW50UG9vbDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPiwgdWludDMyX3QsIElkZW50aWZpZXJSZXBIYXNoPiBTdHJpbmdDb25zdGFudFBv
b2w7CiAgICAgU3RyaW5nQ29uc3RhbnRQb29sIG1fY29uc3RhbnRQb29sOwogICAgIElkZW50aWZp
ZXIgbV9lbXB0eUlkZW50aWZpZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1RyZWVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAppbmRleCA0
MmFkOTIxYTRhNDEwY2I4NTI0NDM2YzExODU0ZGNlOGQ1YWI2ZTFiLi4zNjYxNmY4YThlMWQ5NWU2
NjA0OTdlNWNiZDgxMTc3NGIxNzZjMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcApAQCAt
MTEyLDcgKzExMiw3IEBAIEVsZW1lbnQqIFRyZWVTY29wZTo6Z2V0RWxlbWVudEJ5SWQoY29uc3Qg
U3RyaW5nJiBlbGVtZW50SWQpIGNvbnN0CiAgICAgaWYgKCFtX2VsZW1lbnRzQnlJZCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogYXRvbWljRWxl
bWVudElkID0gQXRvbWljU3RyaW5nOjpmaW5kKGVsZW1lbnRJZC5pbXBsKCkpKQorICAgIGlmIChB
dG9taWNTdHJpbmdJbXBsKiBhdG9taWNFbGVtZW50SWQgPSBBdG9taWNTdHJpbmdJbXBsOjpsb29r
dXAoZWxlbWVudElkLmltcGwoKSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnRzQnlJZC0+Z2V0
RWxlbWVudEJ5SWQoKmF0b21pY0VsZW1lbnRJZCwgKnRoaXMpOwogCiAgICAgcmV0dXJuIG51bGxw
dHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
YWM4NWRmM2Q0YjJkZWNkOTBiYjAxODY3NDcwOWZmZjUwNDcxMTI0MC4uZWFlYTY4ZTUwNDhiYzhh
NTMwNTA5NTk4NzFjYmY1ZjU5NWE2MjAyZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTEyICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlx
dWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdz
IGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlIFVuaXF1ZWRTdHJpbmdJbXBsLCBTeW1ib2xJbXBsIGFuZCBBdG9t
aWNTdHJpbmdJbXBsLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5n
SW1wbC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNS0wNS0wOSAg
Unlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGFyZ3VtZW50
cyBvZiBydW4tYmVuY2htYXJrIG1vcmUgdXNlciBmcmllbmRseQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAppbmRleCAwOTJjYzQ3ZjkwMTZhZmJkMmI0Njgy
YjI2MGVhNTU4MzA5MzY0NDgzLi4xMDBkMGY0ZmVlZWQ0NGUxMmQ3MDE3NmUyMTgxMDE4MDUyMmVi
MzA1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBs
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApA
QCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CkBAIC01MDksNyArNTA5LDcgQEAKICAgICBBU1NFUlRfVFJVRShyZWZlcmVuY2UtPmlzU3ltYm9s
KCkpOwogICAgIEFTU0VSVF9GQUxTRShyZWZlcmVuY2UtPmlzQXRvbWljKCkpOwogCi0gICAgUmVm
UHRyPFN0cmluZ0ltcGw+IGF0b21pYyA9IEF0b21pY1N0cmluZzo6YWRkKHJlZmVyZW5jZS5nZXQo
KSk7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IGF0b21pYyA9IEF0b21pY1N0cmluZ0ltcGw6OmFk
ZChyZWZlcmVuY2UuZ2V0KCkpOwogICAgIEFTU0VSVF9UUlVFKGF0b21pYy0+aXNBdG9taWMoKSk7
CiAgICAgQVNTRVJUX0ZBTFNFKGF0b21pYy0+aXNTeW1ib2woKSk7CiAgICAgQVNTRVJUX1RSVUUo
cmVmZXJlbmNlLT5pc1N5bWJvbCgpKTsKQEAgLTUyMiw3ICs1MjIsNyBAQAogICAgIEFTU0VSVF9U
UlVFKHJlZmVyZW5jZS0+aXNTeW1ib2woKSk7CiAgICAgQVNTRVJUX0ZBTFNFKHJlZmVyZW5jZS0+
aXNBdG9taWMoKSk7CiAKLSAgICBSZWZQdHI8U3RyaW5nSW1wbD4gYXRvbWljID0gQXRvbWljU3Ry
aW5nOjphZGQocmVmZXJlbmNlLmdldCgpKTsKKyAgICBSZWZQdHI8U3RyaW5nSW1wbD4gYXRvbWlj
ID0gQXRvbWljU3RyaW5nSW1wbDo6YWRkKHJlZmVyZW5jZS5nZXQoKSk7CiAgICAgQVNTRVJUX1RS
VUUoYXRvbWljLT5pc0F0b21pYygpKTsKICAgICBBU1NFUlRfRkFMU0UoYXRvbWljLT5pc1N5bWJv
bCgpKTsKICAgICBBU1NFUlRfVFJVRShyZWZlcmVuY2UtPmlzU3ltYm9sKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252963</attachid>
            <date>2015-05-12 07:30:47 -0700</date>
            <delta_ts>2015-05-12 07:41:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150512232924.patch</filename>
            <type>text/plain</type>
            <size>224936</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWZhNGY5MzE1NmFmOTM4ZDg5ZWU4NDUwNDk5ZmY5MGYwY2VlZTcyLi5lMmUxMjUxNmMzOTcxODNk
Yjg0NDU2ZWMwOGNjODI5YWQ3NGVlMTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzYgQEAKKzIwMTUtMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bmFtZUZvclJlZ2lzdGVyKToKKyAgICAgICAgKiBi
eXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q29tcGxleEdldFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5o
OgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oOgorICAgICAg
ICAqIGJ5dGVjb2RlL0luc3RydWN0aW9uLmg6CisgICAgICAgIChKU0M6Okluc3RydWN0aW9uOjpJ
bnN0cnVjdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAg
ICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlND
OjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlMaXN0Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6SW5saW5lU3RhY2tFbnRyeTo6SW5saW5lU3RhY2tFbnRyeSk6CisgICAgICAgICogZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElk
ZW50aWZpZXJzOjphZGRMYXppbHkpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlm
aWVyczo6YXQpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5
QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmg6CisgICAgICAgIChK
U0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjpvcGVyYXRvcltdKToKKyAgICAgICAgKiBkZmcv
REZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBO
b2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjppc1N0cmluZ1Byb3RvdHlwZU1l
dGhvZFNhbmUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbik6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Omlk
ZW50aWZpZXJVSUQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3Bl
cmF0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6bW1BbGxvY2F0ZURhdGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVE
ZXNjcmlwdG9yLmg6CisgICAgICAgIChKU0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hlRGVz
Y3JpcHRvcjo6dWlkKToKKyAgICAgICAgKEpTQzo6RlRMOjpHZXRCeUlkRGVzY3JpcHRvcjo6R2V0
QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OlB1dEJ5SWREZXNjcmlwdG9yOjpQ
dXRCeUlkRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6Q2hlY2tJbkRlc2NyaXB0b3I6
OkNoZWNrSW5EZXNjcmlwdG9yKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUluKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Z2V0QnlJZCk6CisgICAgICAgICogZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGppdC9K
SVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAqIHBhcnNlci9Ob2Rlcy5jcHA6CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpzZXRDbG9z
ZWRWYXJpYWJsZXMpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpT
Y29wZU5vZGU6OmNhcHR1cmVzKToKKyAgICAgICAgKEpTQzo6U2NvcGVOb2RlOjpzZXRDbG9zZWRW
YXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y2xvc2VkVmFyaWFibGVzKToK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlk
RmluaXNoUGFyc2luZyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
cmljdE9iamVjdExpdGVyYWwpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAg
KEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZVZhcmlhYmxl
KToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAgICAgICAoSlND
OjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnVz
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZhcmlhYmxlc1Rv
VmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAoSlNDOjpTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChKU0M6OlNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjppc1ByaXZh
dGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAg
ICogcnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkOCk6CisgICAgICAgICogcnVudGltZS9J
ZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OmltcGwpOgorICAgICAgICAo
SlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6
YWRkKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXJSZXBIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpJ
ZGVudGlmaWVyOjphZGQpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpmcm9tVWlkKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlND
OjpJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKToKKyAgICAgICAg
KiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAgICAoSlNDOjpKU1JvcGVTdHJp
bmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmluZyk6CisgICAgICAgICogcnVudGlt
ZS9KU1N0cmluZy5oOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6dG9FeGlzdGluZ0F0b21pY1N0
cmluZyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRh
YmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBEYXRhLmg6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVj
dG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAgKiBydW50aW1lL1ByaXZhdGVOYW1l
Lmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2YXRlTmFtZSk6CisgICAgICAgIChK
U0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlNYXBIYXNo
VGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZS5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFt
ZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpwdWJsaWNOYW1lKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJh
eS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkS25vd25VbmlxdWUpOgor
ICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKToKKyAgICAgICAgKiBydW50aW1l
L1NtYWxsU3RyaW5ncy5jcHA6CisgICAgICAgIChKU0M6OlNtYWxsU3RyaW5nc1N0b3JhZ2U6OlNt
YWxsU3RyaW5nc1N0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbCk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZUNvbmN1cnJlbnRseSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0Q29uY3Vy
cmVudGx5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OnJlbW92ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAg
ICAgKEpTQzo6UHJvcGVydHlNYXBFbnRyeTo6UHJvcGVydHlNYXBFbnRyeSk6CisgICAgICAgICog
cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0
Q29uY3VycmVudGx5KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6Okhhc2g6Omhhc2gp
OgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmNwcDoKKyAgICAgICAgKEpTQzo6U3ltYm9sOjpT
eW1ib2wpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmg6CisgICAgICAgICogcnVudGltZS9T
eW1ib2xDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0cnVjdG9yRm9y
KToKKyAgICAgICAgKEpTQzo6c3ltYm9sQ29uc3RydWN0b3JLZXlGb3IpOgorICAgICAgICAqIHJ1
bnRpbWUvU3ltYm9sVGFibGUuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6dW5pcXVl
SURGb3JWYXJpYWJsZSk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0
Rm9yVmFyaWFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAg
KiBydW50aW1lL1R5cGVTZXQuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6YWRk
UHJvcGVydHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlIYXNoKToK
KyAgICAgICAgKiBydW50aW1lL1R5cGVTZXQuaDoKKwogMjAxNS0wNS0xMiAgR2Fib3IgTG9raSAg
PGxva2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBXb3JrYXJvdW5kIGZvciBDb3J0ZXgtQTUzIGVy
cmF0dW0gODQzNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IGVkNTQ4ZDAwYmYzOTE1NWM0ZTk0NjJhZmE1ZjI1MjMyMDU1YmUx
YjQuLmY1MjFjZDVhZTgwZDVhMDExOTU1NjU1N2Q0ZmE5MzE1NjM2NjllN2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTM5IEBACisyMDE1LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1w
bCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGN1cnJlbnQg
QXRvbWljU3RyaW5nSW1wbCBhY2NpZGVudGFsbHkgbWVhbnMgdGhlIHN5bWJvbCBPUiBhdG9taWMg
U3RyaW5nSW1wbC4KKyAgICAgICAgSXQncyBub3QgY29ycmVjdCB0byBpdHMgbmFtZSBhbmQgaXQn
cyBlcnJvciBwcm9uZS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSdsbCBpbnRyb2R1Y2Uv
Y2hhbmdlcyBjbGFzc2VzIGludG8gV1RGLgorCisgICAgICAgIDEuIFVuaXF1ZWRTdHJpbmdJbXBs
CisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFN0cmluZ0ltcGwuIEFuZCBpdCByZXBy
ZXNlbnRzIHN5bWJvbCB8fCBhdG9taWMgU3RyaW5nSW1wbC4KKworICAgICAgICAyLiBTeW1ib2xJ
bXBsCisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFVuaXF1ZWRTdHJpbmdJbXBsLiBP
bmx5IHN5bWJvbCBzdHJpbmdzIGNhbiBiZWNvbWUgdGhpcy4KKyAgICAgICAgSXQgZW5zdXJlcyB0
aGUgZ2l2ZW4gU3RyaW5nSW1wbCBpcyBzeW1ib2wgaW4gY29tcGlsZSB0aW1lLgorCisgICAgICAg
IDMuIEF0b21pY1N0cmluZ0ltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZyb20gVW5p
cXVlZFN0cmluZ0ltcGwuIE9ubHkgYXRvbWljIChub24tbm9ybWFsICYmIG5vbi1zeW1ib2wpIHN0
cmluZ3MgY2FuIGJlY29tZSB0aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJp
bmdJbXBsIGlzIGF0b21pYyBpbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAgQW5kLCBpbiB0aGlz
IHRpbWUsIEkganVzdCBhY2NlcHQgVW5pcXVlU3RyaW5nSW1wbCBpbiBBdG9taWNTdHJpbmcuIEFz
IHRoZSByZXN1bHQsCisgICAgICAgIDEuIE5vdyBBdG9taWNTdHJpbmdJbXBsIGlzc3VlIGlzIGZp
eGVkLiBJdHMgU3ltYm9sSW1wbCBpcyBzZXBhcmF0ZWQgYW5kIFVuaXF1ZWRTdHJpbmdJbXBsIGlz
IGludHJvZHVjZWQuCisgICAgICAgIDIuIEJ1dCBBdG9taWNTdHJpbmcgc3RpbGwgaGF2ZSBib3Ro
IHN5bWJvbCBhbmQgYXRvbWljIHN0cmluZ3MuCisgICAgICAgIFRoaXMgc2hvdWxkIGJlIHNvbHZl
ZCBpbiB0aGUgc2VwYXJhdGVkIHBhdGNoLgorCisgICAgICAgIEFuZCwgaW4gdGhpcyBwYXRjaCwg
d2UgbW92ZWQgdGhlIEF0b21pY1N0cmluZyB0YWJsZSByZWxhdGVkIG9wZXJhdGlvbnMgZnJvbSBB
dG9taWNTdHJpbmcgdG8gQXRvbWljU3RyaW5nSW1wbC4KKyAgICAgICAgSXQgaXMgcmVhc29uYWJs
ZSBiZWNhdXNlIHRoZXNlIG9wZXJhdGlvbiByZWdpc3RlcnMgU3RyaW5nSW1wbCBhbmQgcmV0dXJu
ZXMgQXRvbWljU3RyaW5nSW1wbC4KKworICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9q
OgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICog
V1RGLnZjeHByb2ovY29weS1maWxlcy5jbWQ6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0
Zi9QcmludFN0cmVhbS5jcHA6CisgICAgICAgICogd3RmL1ByaW50U3RyZWFtLmg6CisgICAgICAg
IChXVEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZy5j
cHA6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6bG93ZXIpOgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmc6OmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKToKKyAgICAgICAgKFdURjo6QXRv
bWljU3RyaW5nOjpmcm9tVVRGOEludGVybmFsKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5n
VGFibGVMb2NrZXI6OkF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6c3RyaW5nVGFibGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjphZGRUb1N0cmluZ1Rh
YmxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q1N0cmluZ1RyYW5zbGF0b3I6Omhhc2gpOiBE
ZWxldGVkLgorICAgICAgICAoV1RGOjpDU3RyaW5nVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpDU3RyaW5nVHJhbnNsYXRvcjo6dHJhbnNsYXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjphZGQpOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpV
Q2hhckJ1ZmZlclRyYW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6VUNo
YXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpI
YXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6SGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjpoYXNoKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6SGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1
YWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xh
dG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xh
dG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpTdWJzdHJpbmdUcmFuc2xh
dG9yODo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I4
OjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6
aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6ZXF1
YWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6Omhhc2gp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OmVxdWFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdURjo6TENoYXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNs
YXRvcjo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJh
bERhdGFUcmFuc2xhdG9yOjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNoYXJCdWZm
ZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZEZyb21MaXRlcmFsRGF0YSk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZzo6YWRkU2xvd0Nhc2UpOiBEZWxldGVkLgorICAgICAgICAo
V1RGOjpBdG9taWNTdHJpbmc6OnJlbW92ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0b21p
Y1N0cmluZzo6ZmluZFNsb3dDYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWljU3Ry
aW5nOjpmaW5kSW50ZXJuYWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6
OmlzSW5BdG9taWNTdHJpbmdUYWJsZSk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL3RleHQvQXRv
bWljU3RyaW5nLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6QXRvbWljU3RyaW5nKToK
KyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpmaW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6QXRvbWljU3RyaW5nOjphZGQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJp
bmc6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYv
dGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvdGV4
dC9BdG9taWNTdHJpbmcuY3BwLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdUYWJsZUxvY2tl
cjo6QXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOgorICAgICAgICAoV1RGOjpzdHJpbmdUYWJsZSk6
CisgICAgICAgIChXVEY6OmFkZFRvU3RyaW5nVGFibGUpOgorICAgICAgICAoV1RGOjpDU3RyaW5n
VHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjplcXVh
bCk6CisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAg
ICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGQpOgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZl
clRyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OmVxdWFsKToKKyAgICAgICAgKFdURjo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOjp0cmFuc2xhdGUp
OgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6Omhhc2gpOgorICAg
ICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAg
KFdURjo6SGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAo
V1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdU
Rjo6SGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RG
OjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAo
V1RGOjpTdWJzdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpTdWJz
dHJpbmdUcmFuc2xhdG9yODo6aGFzaCk6CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0
b3I4OjplcXVhbCk6CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6aGFzaCk6
CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3IxNjo6ZXF1YWwpOgorICAgICAgICAo
V1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAoV1RGOjpMQ2hhckJ1
ZmZlclRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6TENoYXJCdWZmZXJUcmFuc2xh
dG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRh
VHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJhbERh
dGFUcmFuc2xhdG9yOjplcXVhbCk6CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJh
bERhdGFUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJ
bXBsOjphZGRGcm9tTGl0ZXJhbERhdGEpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBs
OjphZGRTbG93Q2FzZSk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZSk6
CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cFNsb3dDYXNlKToKKyAgICAg
ICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6YWRkRnJvbVVURjgpOgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdJbXBsOjpsb29rdXBJbnRlcm5hbCk6CisgICAgICAgIChXVEY6OkF0b21pY1N0
cmluZ0ltcGw6OmlzSW5BdG9taWNTdHJpbmdUYWJsZSk6CisgICAgICAgICogd3RmL3RleHQvQXRv
bWljU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjpsb29rdXAp
OgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGQpOgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdJbXBsOjphZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcik6CisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ0ltcGw6OkF0b21pY1N0cmluZ0ltcGwpOiBEZWxldGVkLgorICAgICAg
ICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjp+
U3RyaW5nSW1wbCk6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbCk6Cisg
ICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbEVtcHR5KToKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9sSW1wbC5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oLgor
ICAgICAgICAqIHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdURjo6U3lt
Ym9sUmVnaXN0cnk6OnN5bWJvbEZvcktleSk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5
OjprZXlGb3JTeW1ib2wpOgorICAgICAgICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKToK
KyAgICAgICAgKiB3dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oOgorICAgICAgICAqIHd0Zi90ZXh0
L1VuaXF1ZWRTdHJpbmdJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ByaXZhdGVOYW1lLmguCisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6Cisg
ICAgICAgIChXVEY6OlN0cmluZzo6U3RyaW5nKToKKwogMjAxNS0wNS0xMSAgQnJlbnQgRnVsZ2hh
bSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBNb3ZlIFdpbmRvd3MgYnVp
bGQgdGFyZ2V0IHRvIFdpbmRvd3MgNyAob3IgbmV3ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg0ZDYxNjBm
MTE4MmNkZjQxODIwNTI5YTU4ZWNlZDRhZTE2N2I5Ny4uZWI2ZGNmNGE1MDI2NTA2YzliZTNlZmE1
ZGRjMWRkYzNkOThlNDRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA1LTEy
ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIEludHJv
ZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xp
YyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFVuaXF1ZWRTdHJpbmdJbXBsLCBTeW1ib2xJbXBs
IGFuZCBBdG9taWNTdHJpbmdJbXBsLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1S
ZWFkZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xvc2VkUHJvbWlzZVNsb3ROYW1l
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjp3cml0ZSk6CisgICAgICAgICogZG9tL1Ry
ZWVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmdldEVsZW1lbnRCeUlk
KToKKwogMjAxNS0wNS0xMiAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgQVg6IFtHVEtdIERlZmVyIHRvIFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBmb3IgdGFi
bGUgZXhwb3N1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0
LmgKaW5kZXggZWE0Y2ZhZmQ3YzNlYjhlYTZjZTczZjIzMTZkNDdkOGVjNGNlNWU3MS4uMzNiNDI2
MmU2MjAxNzRjZDdiY2Q0NzFjNTBhNjkzYTlmNDBiNGEwNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3Qg
SlNDYWxsYmFja09iamVjdERhdGEgewogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93
bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CisgICAgICAgIHR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93
bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CiAgICAgICAgIFByaXZh
dGVQcm9wZXJ0eU1hcCBtX3Byb3BlcnR5TWFwOwogICAgIH07CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEpTUHJpdmF0ZVByb3BlcnR5TWFwPiBtX3ByaXZhdGVQcm9wZXJ0aWVzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDc5YWNjMTRkYjE0ODNh
MmZmYWIyMThiNGYzYzMyMDg2NjYzYzM0ODMuLmUyM2Y4MGE3NTlkOTk3ZWM2ZmJkOGY4NjQ0NzZk
ODdmY2IwZWYzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgKQEAgLTM3LDcgKzM3LDcgQEAKICAgICBjb25zdCBJZGVudGlmaWVyJiBuYW1lIyNQ
dWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWU7IH0gXAogICAgIGNvbnN0IElkZW50
aWZpZXImIG5hbWUjI1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWUjI1ByaXZh
dGVOYW1lOyB9CiAKLSNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5J
VElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6
OmZyb21VaWQoUHJpdmF0ZU5hbWUoQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAjbmFtZSkpKSkKKyNk
ZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElO
X05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0
ZU5hbWUoUHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwoIlN5bWJvbC4iICNu
YW1lKSkpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBERUNMQVJFX0JV
SUxUSU5fTkFNRVMobmFtZSkgY29uc3QgSWRlbnRpZmllciBtXyMjbmFtZSMjU3ltYm9sOwogI2Rl
ZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKG5hbWUpIFwKICAgICBERUNMQVJF
X0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUihuYW1lKSBcCkBAIC02NCw3ICs2NCw4IEBAIGNs
YXNzIEJ1aWx0aW5OYW1lcyB7CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJU0VfUFVCTElDX1RPX1BSSVZBVEVfRU5U
UlkpCiAgICAgfQogCi0gICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29u
c3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkgY29uc3Q7CisgICAg
Ym9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgIGJv
b2wgaXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAgICAgY29uc3QgSWRl
bnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIGNv
bnN0IElkZW50aWZpZXImIGdldFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpA
QCAtNzgsNyArNzksNyBAQCBjbGFzcyBCdWlsdGluTmFtZXMgewogICAgIEpTQ19GT1JFQUNIX0JV
SUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1P
Tl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShERUNMQVJFX0JVSUxUSU5f
TkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9X
Tl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBC
dWlsdGluTmFtZXNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5n
SW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVz
TWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWls
dGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CiB9OwpAQCAtOTAsMTYgKzkxLDIxIEBA
IGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAjdW5kZWYgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SCiAKLWlubGluZSBib29sIEJ1
aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0CitpbmxpbmUg
Ym9vbCBCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYgdWlkKSBjb25zdAog
ewotICAgIGlmICghdWlkLT5pc1N5bWJvbCgpKQorICAgIHJldHVybiBtX3ByaXZhdGVUb1B1Ymxp
Y01hcC5jb250YWlucygmdWlkKTsKK30KKworaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1By
aXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0Cit7CisgICAgaWYgKCF1aWQu
aXNTeW1ib2woKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX3ByaXZhdGVU
b1B1YmxpY01hcC5jb250YWlucyh1aWQpOworICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01h
cC5jb250YWlucygmdWlkKTsKIH0KIAogaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZh
dGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAogewotICAgIHJldHVybiBpc1By
aXZhdGVOYW1lKGlkZW50LmltcGwoKSk7CisgICAgcmV0dXJuIGlzUHJpdmF0ZU5hbWUoKmlkZW50
LmltcGwoKSk7CiB9CiAKIGlubGluZSBjb25zdCBJZGVudGlmaWVyKiBCdWlsdGluTmFtZXM6Omdl
dFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnku
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lz
dHJ5LmgKaW5kZXggODMxYmM2NjhkYjk0Mzc1NjYzOWJiNGNmZjFiMzQ3MzdjOGJlMmI0Yi4uODdh
NTc4YzE2YzMwYTMzNDcwMTQ1MTU2ZTVkMWM3YjdiYTEzMmUyNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3Ry
eS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkgewog
CiBwcml2YXRlOgogICAgIGNvbnN0IENvbW1vbklkZW50aWZpZXJzJiBtX3Byb3BlcnR5TmFtZXM7
Ci0gICAgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVy
UmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsKKyAgICBIYXNoTWFwPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29k
ZUludHJpbnNpY01hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJj
YjIyNDQyYmY0MDQ0MWQxM2Y0MDU2Li43OTZmMzk5MGFjMDU3ZDVlNDE0YzYyNDc1ZDM1MGQ3NTQx
NjJkYzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNs
dWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFt
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJM
RShERkdfSklUKQogI2luY2x1ZGUgIkRGR09wZXJhdGlvbnMuaCIKQEAgLTIwMDUsNyArMjAwNiw3
IEBAIGNsYXNzIFB1dFRvU2NvcGVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgewogICAg
ICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocGNbMl0udS5vcGVyYW5kKSAh
PSBVSU5UX01BWCkgewogICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChkaWRDbG9u
ZVN5bWJvbFRhYmxlKTsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQgPSBpZGVudGlmaWVyKHBjWzJdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICAgICAgICAgIFN0
cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsKKyAgICAgICAgICAgICAgICAgICAgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAgQ29u
Y3VycmVudEpJVExvY2tlciBsb2NrZXIobV9zeW1ib2xUYWJsZS0+bV9sb2NrKTsKICAgICAgICAg
ICAgICAgICAgICAgU3ltYm9sVGFibGU6Ok1hcDo6aXRlcmF0b3IgaXRlciA9IG1fc3ltYm9sVGFi
bGUtPmZpbmQobG9ja2VyLCB1aWQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRlciAh
PSBtX3N5bWJvbFRhYmxlLT5lbmQobG9ja2VyKSk7CkBAIC0zODA5LDcgKzM4MTAsNyBAQCBTdHJp
bmcgQ29kZUJsb2NrOjpuYW1lRm9yUmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdp
c3RlcikKICAgICAgICAgaWYgKHB0ci0+dmFsdWUudmFyT2Zmc2V0KCkgPT0gVmFyT2Zmc2V0KHZp
cnR1YWxSZWdpc3RlcikpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsg
ZnJvbSB0aGUgY29tcGlsYXRpb24gdGhyZWFkLgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTMwMAotICAgICAgICAgICAgcmV0dXJuIFN0
cmluZyhwdHItPmtleSk7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHB0ci0+a2V5LmdldCgp
KTsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAodmlydHVhbFJlZ2lzdGVyID09IHRoaXNSZWdp
c3RlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBs
ZXhHZXRTdGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhH
ZXRTdGF0dXMuY3BwCmluZGV4IDA0MmRjZWM3N2VmZGMyMGMxMzI1ZWQyN2M4ZDc5OWU3Mzc3ZjY0
OTcuLmQ4MTNhM2Q2NTdlY2FjZDk3ZDhmMTBlMDg2MDY0MzY3NjFiY2U1N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAKQEAg
LTMyLDcgKzMyLDcgQEAKIAogQ29tcGxleEdldFN0YXR1cyBDb21wbGV4R2V0U3RhdHVzOjpjb21w
dXRlRm9yKAogICAgIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3Ry
dWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sCi0gICAgdW5zaWduZWQgY2hhaW5Db3VudCwg
QXRvbWljU3RyaW5nSW1wbCogdWlkKQorICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCB3
ZSBuZXZlciBzZWUgYSBzdHJ1Y3R1cmUgdGhhdAogICAgIC8vIGhhc0ltcHVyZUdldE93blByb3Bl
cnR5U2xvdCgpIGJ1dCBmb3Igd2hpY2ggd2UgZG9uJ3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5oCmluZGV4IDExNWJmM2NlNDFmNTA4YzE2
N2Q4MGQxNGFkMWU4NGE4ZWY5MDBjMzMuLjI2MjA0MDVhOTZmOTc5ODUwMTM0MTM4MDZjNmM0MjUx
ZWU0ZDNkMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21w
bGV4R2V0U3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBs
ZXhHZXRTdGF0dXMuaApAQCAtOTgsNyArOTgsNyBAQCBjbGFzcyBDb21wbGV4R2V0U3RhdHVzIHsK
ICAgICAKICAgICBzdGF0aWMgQ29tcGxleEdldFN0YXR1cyBjb21wdXRlRm9yKAogICAgICAgICBD
b2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgU3RydWN0
dXJlQ2hhaW4qIGNoYWluLAotICAgICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQpOworICAgICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKTsKICAgICAKICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7
IH0KICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVz
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHAKaW5kZXggYmYyOGM1NTlhNmIwOTY2ZWVhZWNlZGRlMjE0NTQ1ZGQ3ODVlOGMxYy4uMzBjMjIw
NDdlMjVjNDE1ZjI2ODZmNTU5ODQzOTAwN2RiMTY3OTMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcApAQCAtNjYsNyArNjYsNyBAQCBi
b29sIEdldEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
IGxvY2tlciwgQ29kZUJsb2NrKiBwcgogfQogI2VuZGlmCiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJ
ZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2ln
bmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
VU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUlu
ZGV4KTsKQEAgLTkxLDcgKzkxLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQKICAgICByZXR1
cm4gR2V0QnlJZFN0YXR1cyhTaW1wbGUsIGZhbHNlLCBHZXRCeUlkVmFyaWFudChTdHJ1Y3R1cmVT
ZXQoc3RydWN0dXJlKSwgb2Zmc2V0KSk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAs
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRT
dGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IFN0dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpCiB7CiAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIocHJvZmlsZWRCbG9j
ay0+bV9sb2NrKTsKIApAQCAtMTE4LDcgKzExOCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBt
CiAKICNpZiBFTkFCTEUoSklUKQogR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yU3R1YkluZm8oCi0gICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgQXRvbWlj
U3RyaW5nSW1wbCogdWlkLAorICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwg
Q29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsCiAgICAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBj
YWxsRXhpdFNpdGVEYXRhKQogewogICAgIGlmICghc3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVu
KQpAQCAtMjI0LDcgKzIyNCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0
ZUZvclN0dWJJbmZvKAogCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3Io
CiAgICAgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHVi
SW5mb01hcCYgYmFzZWxpbmVNYXAsCi0gICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgU3R1YkluZm9NYXAmIGRm
Z01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
I2lmIEVOQUJMRShERkdfSklUKQogICAgIGlmIChkZmdCbG9jaykgewpAQCAtMjYyLDcgKzI2Miw3
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICByZXR1cm4g
Y29tcHV0ZUZvcihwcm9maWxlZEJsb2NrLCBiYXNlbGluZU1hcCwgY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4LCB1aWQpOwogfQogCi1HZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3IoY29uc3QgU3RydWN0dXJlU2V0JiBzZXQsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5
SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNl
dCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICAvLyBGb3Igbm93IHdlIG9ubHkgaGFu
ZGxlIHRoZSBzdXBlciBzaW1wbGUgc2VsZiBhY2Nlc3MgY2FzZS4gV2UgY291bGQgaGFuZGxlIHRo
ZQogICAgIC8vIHByb3RvdHlwZSBjYXNlIGluIHRoZSBmdXR1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuaAppbmRleCAyN2JmYjg4ZjRjMTJkNzZi
NjI5Mjg1ZjFjYWQyM2YyNmNhYmQ1ZWM4Li43ZDRlYmIyMmNmZDVhOGFjOGViYWIwY2JlNWI1MmY1
NDYzMTY4MmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0
QnlJZFN0YXR1cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmgKQEAgLTY3LDEwICs2NywxMCBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICAgICAg
ICAgbV92YXJpYW50cy5hcHBlbmQodmFyaWFudCk7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBH
ZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25l
ZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIHN0YXRpYyBHZXRC
eUlkU3RhdHVzIGNvbXB1dGVGb3IoY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1w
bCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayos
IFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCk7CisgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1
cmVTZXQmLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAKLSAgICBzdGF0aWMgR2V0QnlJ
ZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBk
ZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBD
b2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3Rh
dHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Js
b2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVP
cmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAgIApAQCAtOTcsOSArOTcsOSBAQCBjbGFzcyBH
ZXRCeUlkU3RhdHVzIHsKICNpZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVz
IGNvbXB1dGVGb3JTdHViSW5mbygKICAgICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYs
IENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qLAotICAgICAgICBB
dG9taWNTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOworICAg
ICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRh
KTsKICNlbmRpZgotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29k
ZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsK
KyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayosIHVu
c2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAg
IGJvb2wgYXBwZW5kVmFyaWFudChjb25zdCBHZXRCeUlkVmFyaWFudCYpOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBiNDJlNDI5MThh
YWY3NDZjOTM5NjA5YjliZDFlMmY5OWQwNmI0Zjk3Li5jMjBhNGY3Mjg0ZWMxYzU4MTg4NDg2MDIy
YjA5YmQ2NDBjMjMxMTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5z
dHJ1Y3Rpb24uaApAQCAtMTAwLDcgKzEwMCw3IEBAIHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAgICAg
SW5zdHJ1Y3Rpb24oT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUpIHsgdS5vYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSA9IHByb2ZpbGU7IH0KICAgICBJbnN0cnVjdGlvbihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4qIHZhcmlhYmxlUG9pbnRlcikgeyB1LnZhcmlhYmxlUG9pbnRlciA9IHZhcmlh
YmxlUG9pbnRlcjsgfQogICAgIEluc3RydWN0aW9uKFNwZWNpYWw6OlBvaW50ZXIgcG9pbnRlcikg
eyB1LnNwZWNpYWxQb2ludGVyID0gcG9pbnRlcjsgfQotICAgIEluc3RydWN0aW9uKFN0cmluZ0lt
cGwqIHVpZCkgeyB1LnVpZCA9IHVpZDsgfQorICAgIEluc3RydWN0aW9uKFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpIHsgdS51aWQgPSB1aWQ7IH0KICAgICBJbnN0cnVjdGlvbihib29sKiBwcmVkaWNh
dGVQb2ludGVyKSB7IHUucHJlZGljYXRlUG9pbnRlciA9IHByZWRpY2F0ZVBvaW50ZXI7IH0KIAog
ICAgIHVuaW9uIHsKQEAgLTExNCw3ICsxMTQsNyBAQCBzdHJ1Y3QgSW5zdHJ1Y3Rpb24gewogICAg
ICAgICBTcGVjaWFsOjpQb2ludGVyIHNwZWNpYWxQb2ludGVyOwogICAgICAgICBQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYyBnZXR0ZXJGdW5jOwogICAgICAgICBMTEludENhbGxMaW5rSW5mbyog
Y2FsbExpbmtJbmZvOwotICAgICAgICBTdHJpbmdJbXBsKiB1aWQ7CisgICAgICAgIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQ7CiAgICAgICAgIFZhbHVlUHJvZmlsZSogcHJvZmlsZTsKICAgICAgICAg
QXJyYXlQcm9maWxlKiBhcnJheVByb2ZpbGU7CiAgICAgICAgIEFycmF5QWxsb2NhdGlvblByb2Zp
bGUqIGFycmF5QWxsb2NhdGlvblByb2ZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKaW5kZXggN2VjMGJhNDMwZTY2Zjc0MTgzMzlkOTgz
NGY1ZjYyYWIxYzZlOWY5MC4uMjRkN2I0NGU0NTdiYTZhNjA1YTNjMWMyYzVmOTdlNzgxNGViNjc5
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVz
LmNwcApAQCAtNjIsNyArNjIsNyBAQCBib29sIFB1dEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNv
bnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcgogfQogI2VuZGlm
CiAKLVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxv
Y2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCkKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChD
b2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAg
IFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKQEAgLTEwNSw3ICsxMDUsNyBAQCBQdXRCeUlk
U3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCB1bnNpZ25lZAogICAgIHJldHVybiBQdXRCeUlkVmFyaWFudDo6dHJhbnNpdGlvbihz
dHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgaW50ZW5kZWRDaGFpbi5nZXQoKSwgb2Zmc2V0KTsKIH0K
IAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRv
bWljU3RyaW5nSW1wbCogdWlkKQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50
SklUTG9ja2VyIGxvY2tlcihwcm9maWxlZEJsb2NrLT5tX2xvY2spOwogICAgIApAQCAtMTM0LDcg
KzEzNCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxv
Y2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtCiAjaWYgRU5BQkxFKEpJVCkKIFB1dEJ5
SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogICAgIGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkLCBDYWxs
TGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCisgICAgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVE
YXRhKQogewogICAgIGlmICghc3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQogICAgICAgICBy
ZXR1cm4gUHV0QnlJZFN0YXR1cygpOwpAQCAtMjc0LDcgKzI3NCw3IEBAIFB1dEJ5SWRTdGF0dXMg
UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogfQogI2VuZGlmCiAKLVB1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ss
IENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9N
YXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQp
CitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNl
bGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAs
IFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCkKIHsKICNpZiBFTkFCTEUoREZHX0pJVCkKICAgICBpZiAoZGZnQmxvY2spIHsK
QEAgLTMwOCw3ICszMDgsNyBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZwogICAgIHJldHVybiBj
b21wdXRlRm9yKGJhc2VsaW5lQmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2Rl
SW5kZXgsIHVpZCk7CiB9CiAKLVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZv
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwg
QXRvbWljU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0KQorUHV0QnlJZFN0YXR1cyBQdXRC
eUlkU3RhdHVzOjpjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0
IFN0cnVjdHVyZVNldCYgc2V0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0
KQogewogICAgIGlmIChwYXJzZUluZGV4KCp1aWQpKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0
YXR1cyhUYWtlc1Nsb3dQYXRoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9QdXRCeUlkU3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHV0QnlJZFN0YXR1cy5oCmluZGV4IGY1NTM2MmUxM2Q5M2I3N2E4YmNkZjNlZmJkOWYxZmUxNWM2
ZTdhNGEuLjA0NjFkYzRkNmZkMmYzNWM4Njc0MWIwNzQyZjVjNjkyZjJjYjEzZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaApAQCAtNzAsMTAg
KzcwLDEwIEBAIGNsYXNzIFB1dEJ5SWRTdGF0dXMgewogICAgICAgICBtX3ZhcmlhbnRzLmFwcGVu
ZCh2YXJpYW50KTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0
ZUZvcihDb2RlQmxvY2sqLCBTdHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0
b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZv
cihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cnVjdHVyZVNldCYsIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCwgYm9vbCBpc0RpcmVjdCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZv
cihDb2RlQmxvY2sqLCBTdHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3Io
SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkLCBib29sIGlzRGlyZWN0KTsKICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21w
dXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1
YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBB
dG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVG
b3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5m
b01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1
cm4gbV9zdGF0ZTsgfQogICAgIApAQCAtOTYsMTAgKzk2LDEwIEBAIGNsYXNzIFB1dEJ5SWRTdGF0
dXMgewogI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBj
b21wdXRlRm9yU3R1YkluZm8oCi0gICAgICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBD
b2RlQmxvY2sqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwKKyAg
ICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwKICAgICAgICAgQ2FsbExpbmtTdGF0dXM6
OkV4aXRTaXRlRGF0YSk7CiAjZW5kaWYKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRl
RnJvbUxMSW50KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChD
b2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
KTsKICAgICAKICAgICBib29sIGFwcGVuZFZhcmlhbnQoY29uc3QgUHV0QnlJZFZhcmlhbnQmKTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggYzNjZTg3NTU5MWEzMjlmNzNlYTVkYjI2MDZiZjU2
Njk4YTI1ZjFhNi4uODc2MWQ1ZTE3NTIwODU3OTJmOTgwMDAwMTJkMmU2Y2NmNzk1MGJkMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKQEAgLTIxMCw3ICsyMTAsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdl
bmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgIGJvb2wgc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhpbmdz
ID0gbV9zaG91bGRFbWl0RGVidWdIb29rcyB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCk7CiAgICAg
Ym9vbCBuZWVkc0FyZ3VtZW50cyA9IGZ1bmN0aW9uTm9kZS0+dXNlc0FyZ3VtZW50cygpIHx8IGNv
ZGVCbG9jay0+dXNlc0V2YWwoKTsKICAgICAKLSAgICBhdXRvIGNhcHR1cmVzID0gWyZdIChTdHJp
bmdJbXBsKiB1aWQpIC0+IGJvb2wgeworICAgIGF1dG8gY2FwdHVyZXMgPSBbJl0gKFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpIC0+IGJvb2wgewogICAgICAgICBpZiAoc2hvdWxkQ2FwdHVyZUFsbE9m
VGhlVGhpbmdzKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmICghc2hvdWxk
Q2FwdHVyZVNvbWVPZlRoZVRoaW5ncykKQEAgLTIyNCw3ICsyMjQsNyBAQCBQYXJzZXJFcnJvciBC
eXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBm
dW5jdGlvbk5vZGUtPmNhcHR1cmVzKHVpZCk7CiAgICAgfTsKLSAgICBhdXRvIHZhcktpbmQgPSBb
Jl0gKFN0cmluZ0ltcGwqIHVpZCkgLT4gVmFyS2luZCB7CisgICAgYXV0byB2YXJLaW5kID0gWyZd
IChVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSAtPiBWYXJLaW5kIHsKICAgICAgICAgcmV0dXJuIGNh
cHR1cmVzKHVpZCkgPyBWYXJLaW5kOjpTY29wZSA6IFZhcktpbmQ6OlN0YWNrOwogICAgIH07CiAK
QEAgLTMxNCw3ICszMTQsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJh
dGUoKQogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBTY29wZU9mZnNldCBvZmZzZXQgPSBtX3N5bWJv
bFRhYmxlLT50YWtlTmV4dFNjb3BlT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgbV9zeW1ib2xU
YWJsZS0+c2V0QXJndW1lbnRPZmZzZXQodm0sIGksIG9mZnNldCk7Ci0gICAgICAgICAgICAgICAg
aWYgKFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJz
LmF0KGkpKSkgeworICAgICAgICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9
IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKSB7CiAgICAgICAgICAg
ICAgICAgICAgIFZhck9mZnNldCB2YXJPZmZzZXQob2Zmc2V0KTsKICAgICAgICAgICAgICAgICAg
ICAgU3ltYm9sVGFibGVFbnRyeSBlbnRyeSh2YXJPZmZzZXQpOwogICAgICAgICAgICAgICAgICAg
ICAvLyBTdG9yZXMgdG8gdGhlc2UgdmFyaWFibGVzIHZpYSB0aGUgU2NvcGVkQXJndW1lbnRzIG9i
amVjdCB3aWxsIG5vdCBkbwpAQCAtMzQyLDcgKzM0Miw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2Rl
R2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBwdXQg
YWxsIHBhcmFtZXRlcnMgaW50byB0aGUgRGlyZWN0QXJndW1lbnRzIG9iamVjdC4gRmlyc3QgZW5z
dXJlCiAgICAgICAgICAgICAvLyB0aGF0IHRoZSBzeW1ib2wgdGFibGUga25vd3MgdGhhdCB0aGlz
IGlzIGhhcHBlbmluZy4KICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJh
bWV0ZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFN0cmluZ0ltcGwqIG5h
bWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkKKyAgICAgICAg
ICAgICAgICBpZiAoVW5pcXVlZFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFt
ZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkKICAgICAgICAgICAgICAgICAgICAgbV9zeW1ib2xUYWJs
ZS0+c2V0KG5hbWUsIFN5bWJvbFRhYmxlRW50cnkoVmFyT2Zmc2V0KERpcmVjdEFyZ3VtZW50c09m
ZnNldChpKSkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzUzLDcgKzM1Myw3
IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIC8v
IENyZWF0ZSB0aGUgZm9ybWFsIHBhcmFtZXRlcnMgdGhlIG5vcm1hbCB3YXkuIEFueSBvZiB0aGVt
IGNvdWxkIGJlIGNhcHR1cmVkLCBvciBub3QuIElmCiAgICAgICAgIC8vIGNhcHR1cmVkLCBsaWZ0
IHRoZW0gaW50byB0aGUgc2NvcGUuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBw
YXJhbWV0ZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBuYW1lID0g
dmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAgICAgICBV
bmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRl
cnMuYXQoaSkpOwogICAgICAgICAgICAgaWYgKCFuYW1lKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgICAgCkBAIC00NjUsNyArNDY1LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaGF2ZVBhcmFt
ZXRlck5hbWVkQXJndW1lbnRzID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBu
YW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAg
ICAgICBVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBh
cmFtZXRlcnMuYXQoaSkpOwogICAgICAgICAgICAgaWYgKG5hbWUgPT0gcHJvcGVydHlOYW1lcygp
LmFyZ3VtZW50cy5pbXBsKCkpIHsKICAgICAgICAgICAgICAgICBoYXZlUGFyYW1ldGVyTmFtZWRB
cmd1bWVudHMgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTQ1LDcgKzU0NSw3
IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjppbml0aWFsaXplTmV4dFBhcmFtZXRl
cigpCiAgICAgcmV0dXJuICZwYXJhbWV0ZXI7CiB9CiAKLVN0cmluZ0ltcGwqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjp2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2Rl
KiBwYXR0ZXJuKQorVW5pcXVlZFN0cmluZ0ltcGwqIEJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxl
TmFtZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKiBwYXR0ZXJuKQogewog
ICAgIGlmIChwYXR0ZXJuLT5pc0JpbmRpbmdOb2RlKCkpIHsKICAgICAgICAgY29uc3QgSWRlbnRp
ZmllciYgaWRlbnQgPSBzdGF0aWNfY2FzdDxjb25zdCBCaW5kaW5nTm9kZSo+KHBhdHRlcm4pLT5i
b3VuZFByb3BlcnR5KCk7CkBAIC05NTQsMTMgKzk1NCwxMyBAQCB2b2lkIEFMV0FZU19JTkxJTkUg
Qnl0ZWNvZGVHZW5lcmF0b3I6OnJld2luZFVuYXJ5T3AoKQogCiBib29sIEJ5dGVjb2RlR2VuZXJh
dG9yOjpoYXNDb25zdGFudChjb25zdCBJZGVudGlmaWVyJiBpZGVudCkgY29uc3QKIHsKLSAgICBT
dHJpbmdJbXBsKiByZXAgPSBpZGVudC5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJl
cCA9IGlkZW50LmltcGwoKTsKICAgICByZXR1cm4gbV9pZGVudGlmaWVyTWFwLmNvbnRhaW5zKHJl
cCk7CiB9CiAKIHVuc2lnbmVkIEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRDb25zdGFudChjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCkKIHsKLSAgICBTdHJpbmdJbXBsKiByZXAgPSBpZGVudC5pbXBsKCk7
CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKICAgICBJZGVudGlm
aWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gbV9pZGVudGlmaWVyTWFwLmFkZChyZXAsIG1fY29k
ZUJsb2NrLT5udW1iZXJPZklkZW50aWZpZXJzKCkpOwogICAgIGlmIChyZXN1bHQuaXNOZXdFbnRy
eSkKICAgICAgICAgbV9jb2RlQmxvY2stPmFkZElkZW50aWZpZXIoaWRlbnQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CmluZGV4IGI4MTU2MzIwMDljZDhmZGNmZTQ5Y2RiM2M2YjMxMDkyMWNmY2JhN2EuLjNlYjQ3NDc1
OTIyZWY1YzlmMzVhYjlmYjgwMmIxZDgwNjk5YzEwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTYxOCw3
ICs2MTgsNyBAQAogICAgICAgICB2b2lkIGVtaXRDb21wbGV4UG9wU2NvcGVzKFJlZ2lzdGVySUQq
LCBDb250cm9sRmxvd0NvbnRleHQqIHRvcFNjb3BlLCBDb250cm9sRmxvd0NvbnRleHQqIGJvdHRv
bVNjb3BlKTsKIAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBKU1ZhbHVlPiBOdW1i
ZXJNYXA7Ci0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgSlNTdHJpbmcqLCBJ
ZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclN0cmluZ01hcDsKKyAgICAgICAgdHlwZWRlZiBI
YXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVyUmVwSGFzaD4g
SWRlbnRpZmllclN0cmluZ01hcDsKICAgICAgICAgCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1p
dENhbGwoKSBhbmQgZW1pdENvbnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBv
ZgogICAgICAgICAvLyBleHBlY3RlZCBmdW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3Ig
Zm9yIGJvdGggY2FsbCBhbmQgY29uc3RydWN0CkBAIC02NDEsNyArNjQxLDcgQEAKIAogICAgICAg
ICAvLyBJbml0aWFsaXplcyB0aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVyOyBkb2VzIG5vdGhp
bmcgZm9yIHRoZSBzeW1ib2wgdGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQqIGluaXRpYWxpemVO
ZXh0UGFyYW1ldGVyKCk7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9yUGFyYW1l
dGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsK
ICAgICAgICAgCiAgICAgICAgIFJlZ2lzdGVySUQmIHJlZ2lzdGVyRm9yKFZpcnR1YWxSZWdpc3Rl
ciByZWcpCiAgICAgICAgIHsKQEAgLTcxOCw3ICs3MTgsNyBAQAogCiAgICAgICAgIC8vIFNvbWUg
b2YgdGhlc2Ugb2JqZWN0cyBrZWVwIHBvaW50ZXJzIHRvIG9uZSBhbm90aGVyLiBUaGV5IGFyZSBh
cnJhbmdlZAogICAgICAgICAvLyB0byBlbnN1cmUgYSBzYW5lIGRlc3RydWN0aW9uIG9yZGVyIHRo
YXQgYXZvaWRzIHJlZmVyZW5jZXMgdG8gZnJlZWQgbWVtb3J5LgotICAgICAgICBIYXNoU2V0PFJl
ZlB0cjxTdHJpbmdJbXBsPiwgSWRlbnRpZmllclJlcEhhc2g+IG1fZnVuY3Rpb25zOworICAgICAg
ICBIYXNoU2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBt
X2Z1bmN0aW9uczsKICAgICAgICAgUmVnaXN0ZXJJRCBtX2lnbm9yZWRSZXN1bHRSZWdpc3RlcjsK
ICAgICAgICAgUmVnaXN0ZXJJRCBtX3RoaXNSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJRCBt
X2NhbGxlZVJlZ2lzdGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDM5YjAzY2RkY2ZiMjMxMDMzNGExZDYzYzgzZjhm
Mzg1M2QxNmM2ZmMuLmM1OGQzOGQ1ZTU2ZjY4Y2FiYWMyZWEzOTJmMjZlZmIyZTJkOWVkOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAKQEAgLTM4Myw3ICszODMsNyBAQCBSZWdpc3RlcklEKiBQcm9wZXJ0eUxpc3ROb2RlOjpl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZQogICAgIC8v
IFdlcmUgdGhlcmUgYW55IGdldC9zZXQgcHJvcGVydGllcz8KICAgICBpZiAocCkgewogICAgICAg
ICB0eXBlZGVmIHN0ZDo6cGFpcjxQcm9wZXJ0eU5vZGUqLCBQcm9wZXJ0eU5vZGUqPiBHZXR0ZXJT
ZXR0ZXJQYWlyOwotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIEdldHRlclNl
dHRlclBhaXI+IEdldHRlclNldHRlck1hcDsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFVuaXF1
ZWRTdHJpbmdJbXBsKiwgR2V0dGVyU2V0dGVyUGFpciwgSWRlbnRpZmllclJlcEhhc2g+IEdldHRl
clNldHRlck1hcDsKICAgICAgICAgR2V0dGVyU2V0dGVyTWFwIG1hcDsKIAogICAgICAgICAvLyBC
dWlsZCBhIG1hcCwgcGFpcmluZyBnZXQvc2V0IHZhbHVlcyB0b2dldGhlci4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggYWJjNTFkNDZh
MDUxOTdkZjQxM2MzYjM2ZGYxNjk2ZDM5YmNjYWEwMS4uMjQ3ZTY0MDgyYzhjYTJhOGU1OTU2MjZj
MWY2OTM3NmEzZDUzODNlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAKQEAgLTMxMDAsNyArMzEwMCw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJz
ZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBOb2RlKiBiYXNlID0g
Z2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CiAg
ICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+
bV9pZGVudGlmaWVyUmVtYXBbY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZF07CiAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRl
bnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CiAgICAg
ICAgICAgICBHZXRCeUlkU3RhdHVzIGdldEJ5SWRTdGF0dXMgPSBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yKAogICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9j
aywgbV9kZmdDb2RlQmxvY2ssCiAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9z
dHViSW5mb3MsIG1fZGZnU3R1YkluZm9zLApAQCAtMzQ2MSw3ICszNDYxLDcgQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIGludCBk
c3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHNj
b3BlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIHVuc2ln
bmVkIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGluZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1h
cFtjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kXTsKLSAgICAgICAgICAgIEF0b21pY1N0
cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsK
KyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJz
KClbaWRlbnRpZmllck51bWJlcl07CiAgICAgICAgICAgICBSZXNvbHZlVHlwZSByZXNvbHZlVHlw
ZSA9IFJlc29sdmVNb2RlQW5kVHlwZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kKS50
eXBlKCk7CiAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gMDsKQEAgLTM2MDMs
MTEgKzM2MDMsOSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxp
bWl0KQogICAgICAgICAgICAgICAgIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGluZVN0YWNrVG9w
LT5tX2lkZW50aWZpZXJSZW1hcFtpZGVudGlmaWVyTnVtYmVyXTsKICAgICAgICAgICAgIHVuc2ln
bmVkIHZhbHVlID0gY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKICAgICAgICAgICAg
IFJlc29sdmVUeXBlIHJlc29sdmVUeXBlID0gUmVzb2x2ZU1vZGVBbmRUeXBlKGN1cnJlbnRJbnN0
cnVjdGlvbls0XS51Lm9wZXJhbmQpLnR5cGUoKTsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0lt
cGwqIHVpZDsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBudWxscHRyOwog
ICAgICAgICAgICAgaWYgKGlkZW50aWZpZXJOdW1iZXIgIT0gVUlOVF9NQVgpCiAgICAgICAgICAg
ICAgICAgdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHVpZCA9IG51bGxwdHI7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAg
ICAgIFdhdGNocG9pbnRTZXQqIHdhdGNocG9pbnRzID0gbnVsbHB0cjsKQEAgLTQwMjAsNyArNDAx
OCw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmJ1aWxkT3BlcmFuZE1hcHNJZk5lY2Vzc2FyeSgp
CiAgICAgICAgIG1fc3dpdGNoUmVtYXAucmVzaXplKGNvZGVCbG9jay0+bnVtYmVyT2ZTd2l0Y2hK
dW1wVGFibGVzKCkpOwogCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29kZUJsb2Nr
LT5udW1iZXJPZklkZW50aWZpZXJzKCk7ICsraSkgewotICAgICAgICAgICAgQXRvbWljU3RyaW5n
SW1wbCogcmVwID0gY29kZUJsb2NrLT5pZGVudGlmaWVyKGkpLmltcGwoKTsKKyAgICAgICAgICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIoaSkuaW1wbCgp
OwogICAgICAgICAgICAgQm9ycm93ZWRJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0g
Ynl0ZUNvZGVQYXJzZXItPm1faWRlbnRpZmllck1hcC5hZGQocmVwLCBieXRlQ29kZVBhcnNlci0+
bV9ncmFwaC5pZGVudGlmaWVycygpLm51bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgICAgICAg
ICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgICAgICAgICAgYnl0ZUNvZGVQYXJzZXIt
Pm1fZ3JhcGguaWRlbnRpZmllcnMoKS5hZGRMYXppbHkocmVwKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAppbmRleCA2NWMzMDFk
YmVlMTZkM2Y3NGI1NDI3YjdhMGY2OTI0ODg0MWM0ZTMyLi41NTE0NWUwZTNmYTZlYzYyYWEyZTM5
ZTYyYTI2YTY3Y2U4YTUyNDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCkBAIC01MiwxNCArNTIsMTQgQEAgdW5zaWduZWQg
RGVzaXJlZElkZW50aWZpZXJzOjpudW1iZXJPZklkZW50aWZpZXJzKCkKICAgICByZXR1cm4gbV9j
b2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKSArIG1fYWRkZWRJZGVudGlmaWVycy5zaXpl
KCk7CiB9CiAKLXZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjphZGRMYXppbHkoQXRvbWljU3RyaW5n
SW1wbCogcmVwKQordm9pZCBEZXNpcmVkSWRlbnRpZmllcnM6OmFkZExhemlseShVbmlxdWVkU3Ry
aW5nSW1wbCogcmVwKQogewogICAgIG1fYWRkZWRJZGVudGlmaWVycy5hcHBlbmQocmVwKTsKIH0K
IAotQXRvbWljU3RyaW5nSW1wbCogRGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKK1VuaXF1ZWRTdHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVuc2ln
bmVkIGluZGV4KSBjb25zdAogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlc3VsdDsKKyAgICBV
bmlxdWVkU3RyaW5nSW1wbCogcmVzdWx0OwogICAgIGlmIChpbmRleCA8IG1fY29kZUJsb2NrLT5u
dW1iZXJPZklkZW50aWZpZXJzKCkpCiAgICAgICAgIHJlc3VsdCA9IG1fY29kZUJsb2NrLT5pZGVu
dGlmaWVyKGluZGV4KS5pbXBsKCk7CiAgICAgZWxzZQpAQCAtNzEsNyArNzEsNyBAQCBBdG9taWNT
dHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGluZGV4KSBjb25zdAog
dm9pZCBEZXNpcmVkSWRlbnRpZmllcnM6OnJlYWxseUFkZChWTSYgdm0sIENvbW1vbkRhdGEqIGNv
bW1vbkRhdGEpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYWRkZWRJZGVudGlm
aWVycy5zaXplKCk7ICsraSkgewotICAgICAgICBTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRl
bnRpZmllcnNbaV07CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRl
bnRpZmllcnNbaV07CiAgICAgICAgIEFTU0VSVChyZXAtPmhhc0F0TGVhc3RPbmVSZWYoKSk7CiAg
ICAgICAgIGNvbW1vbkRhdGEtPmRmZ0lkZW50aWZpZXJzLmFwcGVuZChJZGVudGlmaWVyOjpmcm9t
VWlkKCZ2bSwgcmVwKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRGVzaXJlZElkZW50aWZpZXJzLmgKaW5kZXggZjljZTM4MWZjZTBmMjE1ZjU4NzM1NTRiZTI1
NDhlZGM2ZTE3N2IyNy4uM2EyYTM0ODU3ZjNiMGY3MmVlMWM5YWYzMTY0ZjJlNDk0NDNjYTYyNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmll
cnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVy
cy5oCkBAIC00NSwxNyArNDUsMTcgQEAgY2xhc3MgRGVzaXJlZElkZW50aWZpZXJzIHsKICAgICB+
RGVzaXJlZElkZW50aWZpZXJzKCk7CiAgICAgCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZJZGVudGlm
aWVycygpOwotICAgIHZvaWQgYWRkTGF6aWx5KEF0b21pY1N0cmluZ0ltcGwqKTsKKyAgICB2b2lk
IGFkZExhemlseShVbmlxdWVkU3RyaW5nSW1wbCopOwogICAgIAotICAgIEF0b21pY1N0cmluZ0lt
cGwqIGF0KHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogYXQo
dW5zaWduZWQgaW5kZXgpIGNvbnN0OwogICAgIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIG9wZXJh
dG9yW10odW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIGF0KGluZGV4KTsgfQorICAgIFVu
aXF1ZWRTdHJpbmdJbXBsKiBvcGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVy
biBhdChpbmRleCk7IH0KICAgICAKICAgICB2b2lkIHJlYWxseUFkZChWTSYsIENvbW1vbkRhdGEq
KTsKICAgICAKIHByaXZhdGU6CiAgICAgQ29kZUJsb2NrKiBtX2NvZGVCbG9jazsKLSAgICBWZWN0
b3I8QXRvbWljU3RyaW5nSW1wbCo+IG1fYWRkZWRJZGVudGlmaWVyczsKKyAgICBWZWN0b3I8VW5p
cXVlZFN0cmluZ0ltcGwqPiBtX2FkZGVkSWRlbnRpZmllcnM7CiB9OwogCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
eHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cAppbmRleCBhM2UwYTAyZjdjMmIxMzM3YmE3M2FlZjU3YmExNmEyOTgwZGExNDhmLi40NGQ2MmM2
ODU5NDVmNGIzNDI5ODYyZWIwZmMzYWM3MjQxMWRmYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTk2NCwxNiArOTY0LDE2IEBAIGNsYXNzIEZp
eHVwUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgaWYgKCFtX2dyYXBoLmhhc0V4
aXRTaXRlKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgQmFkQ2FjaGUpCiAgICAgICAgICAgICAgICAg
JiYgIW1fZ3JhcGguaGFzRXhpdFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBCYWRJbmRleGlu
Z1R5cGUpCiAgICAgICAgICAgICAgICAgJiYgIW1fZ3JhcGguaGFzRXhpdFNpdGUobm9kZS0+b3Jp
Z2luLnNlbWFudGljLCBFeG90aWNPYmplY3RNb2RlKSkgewotICAgICAgICAgICAgICAgIFN0cmlu
Z0ltcGwqIGltcGwgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJl
cigpXTsKLSAgICAgICAgICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxl
bmd0aC5pbXBsKCkpIHsKKyAgICAgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0g
bV9ncmFwaC5pZGVudGlmaWVycygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAg
ICAgICAgICAgaWYgKHVpZCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBsKCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdFRvTWFrZUdldEFycmF5TGVuZ3RoKG5vZGUpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgaWYgKGltcGwgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLmltcGwoKSkg
eworICAgICAgICAgICAgICAgIGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVu
Z3RoLmltcGwoKSkgewogICAgICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0VHlwZWRB
cnJheUJ5dGVMZW5ndGgobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFt
ZXMtPmJ5dGVPZmZzZXQuaW1wbCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9PSB2bSgp
LnByb3BlcnR5TmFtZXMtPmJ5dGVPZmZzZXQuaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGF0dGVtcHRUb01ha2VHZXRUeXBlZEFycmF5Qnl0ZU9mZnNldChub2RlKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTQ5Niw3ICsxNDk2LDcgQEAg
Y2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgfQogICAgIAogICAgIGJvb2wg
aXNTdHJpbmdQcm90b3R5cGVNZXRob2RTYW5lKAotICAgICAgICBKU09iamVjdCogc3RyaW5nUHJv
dG90eXBlLCBTdHJ1Y3R1cmUqIHN0cmluZ1Byb3RvdHlwZVN0cnVjdHVyZSwgQXRvbWljU3RyaW5n
SW1wbCogdWlkKQorICAgICAgICBKU09iamVjdCogc3RyaW5nUHJvdG90eXBlLCBTdHJ1Y3R1cmUq
IHN0cmluZ1Byb3RvdHlwZVN0cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7
CiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXNVbnVzZWQ7CiAgICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCmluZGV4IGZhMzdhNzExNDJlMjg1OWY1ZWNlNDc0YjUwNmZhMzFiMDZjOWQxNDQu
LjE3NjliNzM2OTUzYjFiMDcxZmRhOWU5YTMyNDg0MDJhNjU2OGViZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC05MDYsNyArOTA2
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluKE5vZGUqIG5vZGUpCiAgICAgICAg
ICAgICBhdXRvIHNsb3dQYXRoID0gc2xvd1BhdGhDYWxsKAogICAgICAgICAgICAgICAgIGp1bXAu
bV9qdW1wLCB0aGlzLCBvcGVyYXRpb25Jbk9wdGltaXplLAogICAgICAgICAgICAgICAgIEpTVmFs
dWVSZWdzOjpwYXlsb2FkT25seShyZXN1bHRHUFIpLCBzdHViSW5mbywgYmFzZUdQUiwKLSAgICAg
ICAgICAgICAgICBzdHJpbmctPnRyeUdldFZhbHVlSW1wbCgpKTsKKyAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxjb25zdCBBdG9taWNTdHJpbmdJbXBsKj4oc3RyaW5nLT50cnlHZXRWYWx1ZUlt
cGwoKSkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBzdHViSW5mby0+Y29kZU9yaWdpbiA9
IG5vZGUtPm9yaWdpbi5zZW1hbnRpYzsKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC5iYXNl
R1BSID0gc3RhdGljX2Nhc3Q8aW50OF90PihiYXNlR1BSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCBiOWU2ZTBkZDI0ZmRlYmYwYzFjZDdk
MjE0YmZjZWVjZGZmZTU3NGQ5Li5iNjY2NDJlYWM4ZWYwOTVmYjQwZjVlYzk4NjE4MTgyODhmN2M0
MWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CkBAIC01NTYsNyArNTU2LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIGJvb2wgaXNL
bm93bk5vdE51bWJlcihOb2RlKiBub2RlKSB7IHJldHVybiAhKG1fc3RhdGUuZm9yTm9kZShub2Rl
KS5tX3R5cGUgJiBTcGVjRnVsbE51bWJlcik7IH0KICAgICBib29sIGlzS25vd25Ob3RDZWxsKE5v
ZGUqIG5vZGUpIHsgcmV0dXJuICEobV9zdGF0ZS5mb3JOb2RlKG5vZGUpLm1fdHlwZSAmIFNwZWND
ZWxsKTsgfQogICAgIAotICAgIFN0cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5k
ZXgpCisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5kZXgp
CiAgICAgewogICAgICAgICByZXR1cm4gbV9qaXQuZ3JhcGgoKS5pZGVudGlmaWVycygpW2luZGV4
XTsKICAgICB9CkBAIC0xMTc5LDcgKzExNzksNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSV9KSVRPcGVyYXRpb25fRUpzcyBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oVF9KSVRPcGVyYXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCBjbGFzcyBT
cGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzKHZhbHVlKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJ
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQu
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0KTsKQEAgLTEyODUsMTIgKzEyODUsMTIgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewog
ICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7CiAg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQp
CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3Np
Q0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBhcmcxLCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1Yklu
Zm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQot
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJ
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBH
UFJSZWcgYXJnMSwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHQpOwpAQCAtMTQ0NSw3ICsxNDQ1LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQg
ewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwg
VHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJn
MSwgR1BSUmVnIGFyZzIsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyks
IGFyZzEsIGFyZzIsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CkBAIC0xNTQ1LDcgKzE1NDUsNyBAQCBj
bGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShhcmcxKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0K
LSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cmluZ0lt
cGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQs
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXls
b2FkLCByZXN1bHRUYWcpOwpAQCAtMTYxMSwxNyArMTYxMSwxNyBAQCBjbGFzcyBTcGVjdWxhdGl2
ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBU
cnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwog
ICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2Fk
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJ
bXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5
bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0
cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0
cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklU
T3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1
bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBH
UFJSZWcgYXJnMVBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5m
byksIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3Vs
dFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
aW50MzJfdCBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIGludDMyX3QgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2Fk
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwg
VHJ1c3RlZEltbTMyKGFyZzFUYWcpLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1
cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3Vs
dFBheWxvYWQsIHJlc3VsdFRhZyk7CkBAIC0xNzU0LDcgKzE3NTQsNyBAQCBjbGFzcyBTcGVjdWxh
dGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJ
XzMyQklUX0RVTU1ZX0FSRyBhcmcxUGF5bG9hZCwgYXJnMVRhZywgYXJnMiwgVHJ1c3RlZEltbVB0
cihwb2ludGVyKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
KG9wZXJhdGlvbik7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJQYXls
b2FkLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlBh
eWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXls
b2FkLCBhcmcxVGFnLCBhcmcyUGF5bG9hZCwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcp
LCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVjayhvcGVyYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExDb21waWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGls
ZS5jcHAKaW5kZXggM2NlODExODhiZjE4ZmJmZjRlZDM3YTI2MzQ3ODcyNmUwYmIyNDQwMy4uY2I1
ZTc1NDQ2MjQ5M2NmYTlhNzZlYjNmY2RiZmNiOTZiM2JlZjliMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCkBAIC01MTUsNyArNTE1LDcgQEAgc3RhdGljIHZvaWQg
Zml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBzKAogCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgc2xvd0NhbGwgPSBjYWxsT3BlcmF0aW9uKAogICAgICAgICAgICAgICAgICAg
ICBzdGF0ZSwgdXNlZFJlZ2lzdGVycywgc2xvd1BhdGhKSVQsIGNoZWNrSW4uY29kZU9yaWdpbigp
LCAmZXhjZXB0aW9uVGFyZ2V0LAotICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25Jbk9wdGlt
aXplLCByZXN1bHQsIHN0dWJJbmZvLCBvYmosIGNoZWNrSW4ubV9pZCk7CisgICAgICAgICAgICAg
ICAgICAgIG9wZXJhdGlvbkluT3B0aW1pemUsIHJlc3VsdCwgc3R1YkluZm8sIG9iaiwgY2hlY2tJ
bi5tX3VpZCk7CiAKICAgICAgICAgICAgICAgICBjaGVja0luLm1fc2xvd1BhdGhEb25lLmFwcGVu
ZChzbG93UGF0aEpJVC5qdW1wKCkpOwogICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgKaW5kZXggODJi
NjIzOGNjMzRkZTNiMjQ0ODk0ODU5MzM1MzQzYThhNTk1ZjQ1NS4uOGMxNDNkMWZiN2RlMGEzOWZh
NGJiMjk4ZTMyYzA3ZTQ5MmUzZTBiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j
bHVkZSAiSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxl
ci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKQEAgLTM5LDcgKzQwLDcgQEAgY2xhc3MgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKIHB1Ymxp
YzoKICAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBJbmxpbmVDYWNo
ZURlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBT
dHJpbmdJbXBsKiB1aWQpCisgICAgSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNr
bWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAg
ICAgICAgOiBtX3N0YWNrbWFwSUQoc3RhY2ttYXBJRCkKICAgICAgICAgLCBtX2NvZGVPcmlnaW4o
Y29kZU9yaWdpbikKICAgICAgICAgLCBtX3VpZCh1aWQpCkBAIC00OCwxMiArNDksMTIgQEAgY2xh
c3MgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKICAgICAKICAgICB1bnNpZ25lZCBzdGFja21hcElE
KCkgY29uc3QgeyByZXR1cm4gbV9zdGFja21hcElEOyB9CiAgICAgQ29kZU9yaWdpbiBjb2RlT3Jp
Z2luKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlT3JpZ2luOyB9Ci0gICAgU3RyaW5nSW1wbCogdWlk
KCkgY29uc3QgeyByZXR1cm4gbV91aWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKCkg
Y29uc3QgeyByZXR1cm4gbV91aWQ7IH0KICAgICAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9z
dGFja21hcElEOwogICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luOwotICAgIFN0cmluZ0ltcGwq
IG1fdWlkOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICAKIHB1YmxpYzoKICAg
ICBWZWN0b3I8TWFjcm9Bc3NlbWJsZXI6Okp1bXA+IG1fc2xvd1BhdGhEb25lOwpAQCAtNjMsNyAr
NjQsNyBAQCBjbGFzcyBHZXRCeUlkRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2Ny
aXB0b3IgewogcHVibGljOgogICAgIEdldEJ5SWREZXNjcmlwdG9yKCkgeyB9CiAgICAgCi0gICAg
R2V0QnlJZERlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3Jp
Z2luLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR2V0QnlJZERlc2NyaXB0b3IodW5zaWduZWQgc3Rh
Y2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCB1
aWQpCiAgICAgewogICAgIH0KQEAgLTc2LDcgKzc3LDcgQEAgY2xhc3MgUHV0QnlJZERlc2NyaXB0
b3IgOiBwdWJsaWMgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKICAgICBQdXRCeUlkRGVzY3JpcHRv
cigpIHsgfQogICAgIAogICAgIFB1dEJ5SWREZXNjcmlwdG9yKAotICAgICAgICB1bnNpZ25lZCBz
dGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCwKKyAgICAg
ICAgdW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkLAogICAgICAgICBFQ01BTW9kZSBlY21hTW9kZSwgUHV0S2luZCBwdXRLaW5k
KQogICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2lu
LCB1aWQpCiAgICAgICAgICwgbV9lY21hTW9kZShlY21hTW9kZSkKQEAgLTExMSwxNCArMTEyLDE0
IEBAIGNsYXNzIENoZWNrSW5EZXNjcmlwdG9yIDogcHVibGljIElubGluZUNhY2hlRGVzY3JpcHRv
ciB7CiBwdWJsaWM6CiAgICAgQ2hlY2tJbkRlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBDaGVj
a0luRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IGNvbnN0IFN0cmluZ0ltcGwqIGlkKQorICAgIENoZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0
YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKICAgICAgICAgOiBJbmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9y
aWdpbiwgbnVsbHB0cikKLSAgICAgICAgLCBtX2lkKGlkKQorICAgICAgICAsIG1fdWlkKHVpZCkK
ICAgICB7CiAgICAgfQogCiAgICAgCi0gICAgY29uc3QgU3RyaW5nSW1wbCogbV9pZDsKKyAgICBj
b25zdCBVbmlxdWVkU3RyaW5nSW1wbCogbV91aWQ7CiAgICAgVmVjdG9yPENoZWNrSW5HZW5lcmF0
b3I+IG1fZ2VuZXJhdG9yczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggNGIyOGQzNTYyNWE3MzI3YzEyOWM2MWEw
Yjc4NTczMGI4Mjk1MjYzZC4uYTViOGY3MzFjZTJjMjExZDlmYTQ0YTNhNzM0MjAzYTIzZDNhZWEx
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKQEAgLTczLDcgKzczLDcgQEAKICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FU3Ra
WiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludDMyLCBpbnQzMikpIFwK
ICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRy
LCBpbnQzMikpIFwKICAgICBtYWNybyhEX0pJVE9wZXJhdGlvbl9ELCBmdW5jdGlvblR5cGUoZG91
YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKLSAgICBtYWNybyhJX0pJVE9wZXJhdGlvbl9FSnNzLCBm
dW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBtYWNybyhUX0pJVE9w
ZXJhdGlvbl9FSnNzLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAg
ICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0cikpIFwK
ICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FQSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIs
IGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FQVosIGZ1bmN0aW9uVHlwZShp
bnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCA0YTgzN2M3NGJiY2FkNjBlMjMwNWNh
MjA0NGFhZmZmYzJiZDIwYzQwLi42Zjk2Yjg0MDdlYzE5ZWFkYzk5OTM1YjY2NTkyMWJiZWRjZmM5
NTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcApAQCAtMjA4Nyw3ICsyMDg3LDcgQEAgY2xhc3MgTG93ZXJERkdUb0xMVk0gewogICAgICAg
ICAKICAgICAgICAgTFZhbHVlIGJhc2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAg
ICAgICBMVmFsdWUgdmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAg
ICBTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlm
aWVyTnVtYmVyKCldOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5p
ZGVudGlmaWVycygpW21fbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKIAogICAgICAgICAvLyBB
cmd1bWVudHM6IGlkLCBieXRlcywgdGFyZ2V0LCBudW1BcmdzLCBhcmdzLi4uCiAgICAgICAgIHVu
c2lnbmVkIHN0YWNrbWFwSUQgPSBtX3N0YWNrbWFwSURzKys7CkBAIC00ODExLDcgKzQ4MTEsNyBA
QCBjbGFzcyBMb3dlckRGR1RvTExWTSB7CiAgICAgICAgIGlmIChKU1N0cmluZyogc3RyaW5nID0g
bV9ub2RlLT5jaGlsZDEoKS0+ZHluYW1pY0Nhc3RDb25zdGFudDxKU1N0cmluZyo+KCkpIHsKICAg
ICAgICAgICAgIGlmIChzdHJpbmctPnRyeUdldFZhbHVlSW1wbCgpICYmIHN0cmluZy0+dHJ5R2V0
VmFsdWVJbXBsKCktPmlzQXRvbWljKCkpIHsKIAotICAgICAgICAgICAgICAgIGNvbnN0IFN0cmlu
Z0ltcGwqIHN0ciA9IHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCk7CisgICAgICAgICAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nSW1wbCogc3RyID0gc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3Ry
aW5nSW1wbCo+KHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkpOwogICAgICAgICAgICAgICAgIHVu
c2lnbmVkIHN0YWNrbWFwSUQgPSBtX3N0YWNrbWFwSURzKys7CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICBMVmFsdWUgY2FsbCA9IG1fb3V0LmNhbGwoCkBAIC01NzUwLDcgKzU3NTAsNyBA
QCBjbGFzcyBMb3dlckRGR1RvTExWTSB7CiAgICAgCiAgICAgTFZhbHVlIGdldEJ5SWQoTFZhbHVl
IGJhc2UpCiAgICAgewotICAgICAgICBTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZp
ZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOworICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW21fbm9kZS0+aWRlbnRpZmllck51bWJl
cigpXTsKIAogICAgICAgICAvLyBBcmd1bWVudHM6IGlkLCBieXRlcywgdGFyZ2V0LCBudW1Bcmdz
LCBhcmdzLi4uCiAgICAgICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQgPSBtX3N0YWNrbWFwSURzKys7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKaW5kZXgg
MWZkOGM4M2Y0ZTU2YzkyYTRhMTk1NmE5ODdiNWQzNmY0YWQwNzQ2YS4uZmZiZDQ3NGI2MjJhYTdl
NzkwYzI2ZWIxYjgxMzRhNzNkMTc2YWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExTbG93UGF0aENhbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMU2xvd1BhdGhDYWxsLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgc3RvcmVDb2Rl
T3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9y
aWdpbikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJz
LCBDQ2FsbEhlbHBlcnMmIGppdCwKICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNz
ZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpfSklUT3BlcmF0aW9uX0VT
c2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywKLSAgICBHUFJSZWcgb2JqZWN0LCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR1BSUmVn
IG9iamVjdCwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVP
cmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChz
dGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA0LCByZXN1bHQpOwpAQCAtMTkwLDcgKzE5MCw3IEBA
IHZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENv
ZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwKICAgICBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpf
SklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywKLSAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1aWQpCisg
ICAgR1BSUmVnIG9iamVjdCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNv
ZGVPcmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4
dChzdGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA0LCByZXN1bHQpOwpAQCAtMjA0LDcgKzIwNCw3
IEBAIHZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQs
IENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVy
U2V0JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwgCiAgICAgQ29kZU9yaWdpbiBj
b2RlT3JpZ2luLCBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QqIGV4Y2VwdGlvblRhcmdldCwKICAg
ICBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBHUFJSZWcgdmFsdWUsCi0gICAgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1wbCogdWlk
KQorICAgIEdQUlJlZyBvYmplY3QsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc3Rv
cmVDb2RlT3JpZ2luKHN0YXRlLCBqaXQsIGNvZGVPcmlnaW4pOwogICAgIENhbGxDb250ZXh0IGNv
bnRleHQoc3RhdGUsIHVzZWRSZWdpc3RlcnMsIGppdCwgNSwgSW52YWxpZEdQUlJlZyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuaAppbmRleCA2ZTRkNWY2ZTE1
OWE1ZmEzMjA1NmY3MWE3ODQ3NDg5ZWMxMThlM2Y2Li44MThlZjY0NjRjN2IxY2ZhZjZmNWY5MmIw
ZDAxYzBiZDBlMTFiNTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TFNsb3dQYXRoQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1Bh
dGhDYWxsLmgKQEAgLTYwLDE1ICs2MCwxNSBAQCBjbGFzcyBTbG93UGF0aENhbGwgewogTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbigKICAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVy
U2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCos
CiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUNJLCBHUFJSZWcsIFN0cnVjdHVyZVN0dWJJbmZvKiwg
R1BSUmVnLAotICAgIGNvbnN0IFN0cmluZ0ltcGwqKTsKKyAgICBjb25zdCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKTsKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3Rh
dGUmLCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxs
SGVscGVyczo6SnVtcExpc3QqLAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgR1BSUmVnIHJl
c3VsdCwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcgb2JqZWN0LAotICAgIFN0cmluZ0ltcGwq
IHVpZCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKAogICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhl
bHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KiwKICAgICBWX0pJVE9w
ZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyB2YWx1ZSwgR1BSUmVn
IG9iamVjdCwKLSAgICBTdHJpbmdJbXBsKiB1aWQpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5o
CmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1ZDIxYzkuLjEzMWZhMDAx
OWY2MTBjN2Q5NDg5ZTU4Y2U4M2ViY2MwYmQ1MjViY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
aApAQCAtNjk0LDkgKzY5NCw5IEBACiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUMsIEpTQ2VsbCopOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKLCBpbnQsIEdQUlJlZyk7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVj
dHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VT
c2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywgVW5pcXVlZFN0cmluZ0ltcGwq
KTsKICNlbHNlCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0
aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5m
byosIEdQUlJlZywgR1BSUmVnLCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywgR1BSUmVnLCBVbmlxdWVkU3RyaW5n
SW1wbCopOwogI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpJZGMsIGludCwgR1BSUmVnLCBjb25zdCBJZGVudGlmaWVyKik7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKQEAgLTczNCw5ICs3MzQsOSBAQAogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKSWRK
SiwgUmVnaXN0ZXJJRCwgY29uc3QgSWRlbnRpZmllciosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQp
OwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUZKWlosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIGlu
dDMyX3QsIFJlZ2lzdGVySUQpOwotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0
ZXJJRCwgUmVnaXN0ZXJJRCwgU3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNl
Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRp
b25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBS
ZWdpc3RlcklELCBSZWdpc3RlcklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJl
U3R1YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklE
LCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUpKSiwgUmVnaXN0ZXJJRCwgUmVnaXN0
ZXJJRCwgUmVnaXN0ZXJJRCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRUpaSiwgUmVnaXN0ZXJJRCwgaW50MzJfdCwgUmVnaXN0ZXJJ
RCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4
YTk4ODJlYTc2OTYyOWQxYTg3YjZjMzRhODYzMzQuLmI3MTY5ZjU0ODdjOTVlMGU4ZDcwODZmZGY2
ZTg4YjY3MmY1ZjYyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBA
IC0zODcsNyArMzg3LDcgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUZKWlogb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5F
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklE
IHJlZ09wMSwgUmVnaXN0ZXJJRCByZWdPcDIsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9u
X0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lzdGVy
SUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09wMiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsK
ICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyks
IHJlZ09wMSwgcmVnT3AyLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CkBAIC00MDUsNyArNDA1LDcgQEAgQUxX
QVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRVpKIG9wZXJhdGkKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25D
aGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9F
U3NpSkkgb3BlcmF0aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQ
UlJlZyBhcmcxLCBTdHJpbmdJbXBsKiB1aWQpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJh
dGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEdQUlJlZyBhcmcxLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3Rl
ZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dEpTVmFsdWVSZXN1bHRXaXRoUHJvZmlsZShvcGVyYXRpb24sIGRzdCk7CkBAIC01NDYsNyArNTQ2
LDcgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUogb3BlcmF0aW8KICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCi1BTFdB
WVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKSVQ6Oldp
dGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBpbnQgZHN0LCBT
dHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBh
eWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9u
X0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
R1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHVi
SW5mbyksIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdFdpdGhQcm9m
aWxlKG9wZXJhdGlvbiwgZHN0KTsKQEAgLTYwNiw3ICs2MDYsNyBAQCBBTFdBWVNfSU5MSU5FIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FWlN5
bXRhYkogbwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlv
bik7CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3Bl
cmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIFJlZ2lzdGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBheWxv
YWQsIFJlZ2lzdGVySUQgcmVnT3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFN0cmlu
Z0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFJlZ2lzdGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBh
eWxvYWQsIFJlZ2lzdGVySUQgcmVnT3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCByZWdPcDFQYXlsb2FkLCByZWdPcDFUYWcsIHJlZ09w
MlBheWxvYWQsIHJlZ09wMlRhZywgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggOThkODc3M2YzOGQ5NWYyYjhlNThjZGJk
NzgzNjAyOTgxNTQwMDcxMy4uMjI3YzRmYmYwYjM3MzUxMmUxZjBkMTY5OWQwYjcyYWFiN2UwOWRj
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0x
NDcsNyArMTQ3LDcgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0cnVjdEFy
aXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBtaXNzaW5nQXJnQ291bnQ7CiB9
CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5n
SW1wbCogdWlkKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlk
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBiYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTU4LDcgKzE1
OCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShiYXNlVmFsdWUuZ2V0KGV4ZWMsIGlkZW50LCBzbG90KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5n
SW1wbCogdWlkKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlk
QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBF
bmNvZGVkSlNWYWx1ZSBiYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwpAQCAtMTc2LDcgKzE3Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShoYXNSZXN1bHQ/IHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQp
IDoganNVbmRlZmluZWQoKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBTdHJpbmdJbXBsKiB1aWQpCitFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE5NSw3ICsxOTUs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6
ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogCiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgSlNDZWxsKiBiYXNlLCBTdHJpbmdJbXBsKiBrZXkpCitFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqIGtleSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTIyMSw3ICsyMjEsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJl
c3VsdCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0lt
cGwqIGtleSkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4oRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqIGtleSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdlbmVyaWNJbihFeGVjU3RhdGUqIGV4ZWMs
IEpTQ2VsbCogYmFzZSwgRQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKENv
bW1vblNsb3dQYXRoczo6b3BJbihleGVjLCBKU1ZhbHVlOjpkZWNvZGUoa2V5KSwgYmFzZSkpKTsK
IH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAt
MjUzLDcgKzI1Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiAgICAgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRO
b25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwq
IHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Yklu
Zm8qCiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjczLDcgKzI3
Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yODMsNyArMjgz
LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3Qo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
CkBAIC0zMDcsNyArMzA3LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWIKICAgICAgICAgc3R1
YkluZm8tPnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpA
QCAtMzMxLDcgKzMzMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgICAgIHN0dWJJ
bmZvLT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKQEAgLTM1NSw3ICszNTUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dQogICAgICAgICBz
dHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAg
ICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cih2bSwgZXhlYyk7CkBAIC0zNzksNyArMzc5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnUK
ICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7CkBAIC00MDAsNyArNDAwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKICAgICBi
dWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwg
KnN0dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7CkBAIC00MjEsNyArNDIxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKICAgICBidWls
ZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0
dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7CkBAIC00NDIsNyArNDQyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3QKICAgICBi
dWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbywgRGlyZWN0KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApp
bmRleCA0YzgxZDg1NDdjOGNmNjcwNmYwOGRmMDYxN2NkOWE5MTY4OGVmOTY1Li41ZjY5YWRhZWJj
NTQ2ZTg1MGFjMjM0MWNmOTJmNTBkYTBhOWE3NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaApAQCAtNjQsNyArNjQsNyBAQAogICAgIEU6IEV4ZWNTdGF0ZSoK
ICAgICBGOiBDYWxsRnJhbWUqCiAgICAgRzogSlNHbG9iYWxPYmplY3QqCi0gICAgSTogU3RyaW5n
SW1wbCoKKyAgICBJOiBVbmlxdWVkU3RyaW5nSW1wbCoKICAgICBJY2Y6IElubGluZUNhbGxGcmFt
ZSoKICAgICBJZGM6IGNvbnN0IElkZW50aWZpZXIqCiAgICAgSjogRW5jb2RlZEpTVmFsdWUKQEAg
LTgzLDYgKzgzLDcgQEAKICAgICBTc2k6IFN0cnVjdHVyZVN0dWJJbmZvKgogICAgIFN0OiBTdHJ1
Y3R1cmUqCiAgICAgU3ltdGFiOiBTeW1ib2xUYWJsZSoKKyAgICBUOiBTdHJpbmdJbXBsKgogICAg
IFY6IHZvaWQKICAgICBWbTogVk0qCiAgICAgV3M6IFdhdGNocG9pbnRTZXQqCkBAIC05NywxMiAr
OTgsMTIgQEAKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VBYXBKY3BaKShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29u
c3QgSlNWYWx1ZSosIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRUMpKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNDKShFeGVjU3Rh
dGUqLCBKU0NlbGwqLCBKU0NlbGwqKTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgU3RyaW5nSW1w
bCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUNJKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNKKShFeGVj
U3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ1opKEV4ZWNTdGF0ZSosIEpTQ2VsbCos
IGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRURBKShFeGVjU3RhdGUqLCBkb3VibGUsIEpTQXJyYXkqKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VFKShFeGVjU3RhdGUq
LCBFeGVjU3RhdGUqKTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VJKShFeGVjU3RhdGUqLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSSkoRXhlY1N0YXRlKiwg
VW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSlopKEV4
ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKQykoRXhlY1N0YXRlKiwgRW5jb2Rl
ZEpTVmFsdWUsIEpTQ2VsbCopOwpAQCAtMTE3LDggKzExOCw4IEBACiB0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIElu
c3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVj
U3RhdGUqLCBzaXplX3QsIHNpemVfdCk7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSko
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0
cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklU
T3BlcmF0aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaSWNmWikoRXhlY1N0YXRlKiwgaW50
MzJfdCwgSW5saW5lQ2FsbEZyYW1lKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3Qs
IGludDMyX3QpOwpAQCAtMTg0LDcgKzE4NSw3IEBACiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSlNDZWxsKik7CiB0
eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VaU3ltdGFiSikoRXhl
Y1N0YXRlKiwgaW50MzJfdCwgU3ltYm9sVGFibGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVm
IHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSk7Ci10eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9u
X0VKQ0kpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7
Cit0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKQ0kpKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlw
ZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSklkSkopKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlLCBJZGVudGlmaWVyKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpK
SikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKUFAp
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCB2b2lkKiwgdm9pZCopOwpAQCAtMTk0LDcgKzE5
NSw3IEBACiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VPWkop
KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRl
ZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIElu
c3RydWN0aW9uKik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9u
X0VQWkopKEV4ZWNTdGF0ZSosIHZvaWQqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBT
dHJpbmdJbXBsKik7Cit0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9u
X0VTc2lKSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2b2lkIEpJVF9P
UEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FV3MpKEV4ZWNTdGF0ZSosIFdhdGNocG9pbnRTZXQq
KTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVopKEV4ZWNT
dGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJh
dGlvbl9FWkopKEV4ZWNTdGF0ZSosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsKQEAgLTIxOCw3
ICsyMTksNyBAQAogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25f
RVN0U1MpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYg
Y2hhciogSklUX09QRVJBVElPTiAoKlBfSklUT3BlcmF0aW9uX0VTdFopKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSosIGludDMyX3QpOwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRP
cGVyYXRpb25fRVpaKShFeGVjU3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsKLXR5cGVkZWYgU3Ry
aW5nSW1wbCogSklUX09QRVJBVElPTiAoKklfSklUT3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSos
IEpTU3RyaW5nKik7Cit0eXBlZGVmIFN0cmluZ0ltcGwqIEpJVF9PUEVSQVRJT04gKCpUX0pJVE9w
ZXJhdGlvbl9FSnNzKShFeGVjU3RhdGUqLCBKU1N0cmluZyopOwogdHlwZWRlZiBKU1N0cmluZyog
SklUX09QRVJBVElPTiAoKkpzc19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3Qp
OwogCiAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRpb24gaGFuZGVy
LCBrZXllZCBieSBmYXVsdExvY2F0aW9uLCB3aGljaCBpcwpAQCAtMjMxLDI0ICsyMzIsMjQgQEAK
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVj
U3RhdGUqLCBDb2RlQmxvY2sqKSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogaW50MzJf
dCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRC
eUlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmlu
Z0ltcGwqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNv
ZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci1F
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRl
KiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
OwotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBX
VEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWRCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBs
KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZW5lcmljSW4oRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5B
TDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBT
dHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
U3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBV
bmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5p
cXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3Zv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUo
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRM
aXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBX
VEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmlj
dEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJ
bXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRE
aXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlx
dWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUmVhbGxvY2F0ZVN0b3JhZ2VBbmRGaW5pc2hQdXQoRXhlY1N0YXRlKiwg
SlNPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwgRW5jb2RlZEpTVmFsdWUpIFdU
Rl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbChFeGVjU3Rh
dGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKSBXVEZf
SU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcAppbmRleCA3
MjA5NjllNWY4ZTI3Y2JlM2RmYWE5MDU2YzUxNDM3ODFkNzg4ZGMzLi5mZjlhYTQ0YWQxNDc4YWI3
MDkxZGFiNDgxNjU0MDI0ZDExZmEwNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBAIFN0YXRlbWVudE5vZGUqIFNjb3BlTm9kZTo6c2lu
Z2xlU3RhdGVtZW50KCkgY29uc3QKIHsKIH0KIAotdm9pZCBQcm9ncmFtTm9kZTo6c2V0Q2xvc2Vk
VmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQor
dm9pZCBQcm9ncmFtTm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAgICBtX2Nsb3NlZFZhcmlhYmxl
cyA9IFdURjo6bW92ZShjbG9zZWRWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oCmluZGV4IGQyY2YyZWU0ZjM5MmMxMmFjMjY1M2MyZjA4MmZkYzQ0ZTg4MGFhYWUu
LmQ3NTQ4ZDA3NDM1MWU5ZjY5YjcxM2YxMTM5YzFhY2JhOWY3NjZiNGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB9OwogICAgIGlubGlu
ZSBGYWxsVGhyb3VnaE1vZGUgaW52ZXJ0KEZhbGxUaHJvdWdoTW9kZSBmYWxsVGhyb3VnaE1vZGUp
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZhbGxUaHJvdWdoTW9kZT4oIWZhbGxUaHJvdWdoTW9kZSk7
IH0KIAotICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4sIElkZW50aWZpZXJS
ZXBIYXNoPiBJZGVudGlmaWVyU2V0OworICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclNldDsKIAogICAgIG5h
bWVzcGFjZSBEZWNsYXJhdGlvblN0YWNrcyB7CiAgICAgICAgIGVudW0gVmFyQXR0cnMgeyBJc0Nv
bnN0YW50ID0gMSwgSGFzSW5pdGlhbGl6ZXIgPSAyIH07CkBAIC0xNTQ2LDcgKzE1NDYsNyBAQAog
ICAgICAgICBib29sIGhhc0NhcHR1cmVkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gISFtX2Nh
cHR1cmVkVmFyaWFibGVzLnNpemUoKTsgfQogICAgICAgICBzaXplX3QgY2FwdHVyZWRWYXJpYWJs
ZUNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlcy5zaXplKCk7IH0KICAg
ICAgICAgY29uc3QgSWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJl
dHVybiBtX2NhcHR1cmVkVmFyaWFibGVzOyB9Ci0gICAgICAgIGJvb2wgY2FwdHVyZXMoU3RyaW5n
SW1wbCogdWlkKSB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5zKHVpZCk7IH0K
KyAgICAgICAgYm9vbCBjYXB0dXJlcyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSB7IHJldHVybiBt
X2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5zKHVpZCk7IH0KICAgICAgICAgYm9vbCBjYXB0dXJl
cyhjb25zdCBJZGVudGlmaWVyJiBpZGVudCkgeyByZXR1cm4gY2FwdHVyZXMoaWRlbnQuaW1wbCgp
KTsgfQogCiAgICAgICAgIFZhclN0YWNrJiB2YXJTdGFjaygpIHsgcmV0dXJuIG1fdmFyU3RhY2s7
IH0KQEAgLTE1NjMsNyArMTU2Myw3IEBACiAKICAgICAgICAgdm9pZCBlbWl0U3RhdGVtZW50c0J5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogZGVzdGluYXRpb24pOwogICAg
ICAgICAKLSAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJp
bmdJbXBsPj4mJikgeyB9CisgICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgaW50IG1fc3RhcnRMaW5lTnVtYmVyOwpAQCAtMTU4OSwxMiArMTU4OSwxMiBAQAogCiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIHNjb3BlSXNGdW5jdGlvbiA9IGZhbHNlOwogCi0gICAgICAg
IHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwot
ICAgICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgY2xvc2VkVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KKyAgICAgICAgdm9pZCBzZXRD
bG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpOworICAg
ICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mIGNsb3NlZFZhcmlh
YmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2xvc2VkVmFyaWFibGVzOyB9CiAKICAgICBwcml2YXRl
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKLSAgICAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJ
bXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0
cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKICAgICAgICAgdW5zaWduZWQgbV9zdGFydENv
bHVtbjsKICAgICAgICAgdW5zaWduZWQgbV9lbmRDb2x1bW47CiAgICAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4
NmFhMGE3MzRiMDRlODE0Li5kYzMzMzFmMWNmNjVkMTBiZDU3YTk0YTllZmM1YjM2NDEwNzFhNWQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yODYsNyArMjg2
LDcgQEAKICAgICAgICAgZmVhdHVyZXMgfD0gTW9kaWZpZWRQYXJhbWV0ZXJGZWF0dXJlOwogICAg
IGlmIChtb2RpZmllZEFyZ3VtZW50cykKICAgICAgICAgZmVhdHVyZXMgfD0gTW9kaWZpZWRBcmd1
bWVudHNGZWF0dXJlOwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IGNsb3NlZFZhcmlh
YmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gY2xvc2VkVmFyaWFi
bGVzOwogICAgIGlmIChtX3BhcnNpbmdCdWlsdGluKSB7CiAgICAgICAgIElkZW50aWZpZXJTZXQg
dXNlZFZhcmlhYmxlczsKICAgICAgICAgc2NvcGUtPmdldFVzZWRWYXJpYWJsZXModXNlZFZhcmlh
Ymxlcyk7CkBAIC0zMjUsNyArMzI1LDcgQEAKIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVu
dHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smIHZhclN0YWNr
LCAKLSAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNrLCBDb2Rl
RmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQmIGNhcHR1
cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJs
ZXMpCisgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29k
ZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0
dXJlZFZhcnMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3Nl
ZFZhcmlhYmxlcykKIHsKICAgICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxlbWVudHM7CiAg
ICAgbV92YXJEZWNsYXJhdGlvbnMuc3dhcCh2YXJTdGFjayk7CkBAIC0yMTg3LDcgKzIxODcsNyBA
QCBBTFdBWVNfSU5MSU5FIHN0YXRpYyBib29sIGlzVW5hcnlPcChKU1Rva2VuVHlwZSB0b2tlbikK
ICAgICBUcmVlUHJvcGVydHkgcHJvcGVydHkgPSBwYXJzZVByb3BlcnR5KGNvbnRleHQsIHRydWUp
OwogICAgIGZhaWxJZkZhbHNlKHByb3BlcnR5LCAiQ2Fubm90IHBhcnNlIG9iamVjdCBsaXRlcmFs
IHByb3BlcnR5Iik7CiAgICAgCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBs
PiwgdW5zaWduZWQsIElkZW50aWZpZXJSZXBIYXNoPiBPYmplY3RWYWxpZGF0aW9uTWFwOworICAg
IHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCB1bnNpZ25lZCwgSWRl
bnRpZmllclJlcEhhc2g+IE9iamVjdFZhbGlkYXRpb25NYXA7CiAgICAgT2JqZWN0VmFsaWRhdGlv
bk1hcCBvYmplY3RWYWxpZGF0b3I7CiAgICAgLy8gQWRkIHRoZSBmaXJzdCBwcm9wZXJ0eQogICAg
IGlmICghbV9zeW50YXhBbHJlYWR5VmFsaWRhdGVkICYmIGNvbnRleHQuZ2V0TmFtZShwcm9wZXJ0
eSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAzZGZmOGU0OWIzMDU3
YzQ5OTE0NDVmNmZjNGVkNDJjOWYzNDY1YWM4Li41MDc0ZTRkMmVjMDNmMTQxMDg0OTg1YjRmNjc2
MjNhNGM3MjE1ODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTk3
LDEzICs5NywxMyBAQCBlbnVtIERlY29uc3RydWN0aW9uS2luZCB7CiB0ZW1wbGF0ZSA8PiBpbmxp
bmUgYm9vbCBpc0V2YWxOb2RlPEV2YWxOb2RlPigpIHsgcmV0dXJuIHRydWU7IH0KIAogc3RydWN0
IFNjb3BlTGFiZWxJbmZvIHsKLSAgICBTY29wZUxhYmVsSW5mbyhTdHJpbmdJbXBsKiBpZGVudCwg
Ym9vbCBpc0xvb3ApCisgICAgU2NvcGVMYWJlbEluZm8oVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50
LCBib29sIGlzTG9vcCkKICAgICAgICAgOiBtX2lkZW50KGlkZW50KQogICAgICAgICAsIG1faXNM
b29wKGlzTG9vcCkKICAgICB7CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbCogbV9pZGVudDsKKyAg
ICBVbmlxdWVkU3RyaW5nSW1wbCogbV9pZGVudDsKICAgICBib29sIG1faXNMb29wOwogfTsKIApA
QCAtMTkzLDE0ICsxOTMsMTQgQEAgc3RydWN0IFNjb3BlIHsKIAogICAgIHZvaWQgZGVjbGFyZUNh
bGxlZShjb25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7Ci0gICAgICAgIG1fZGVjbGFyZWRW
YXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVk
VmFyaWFibGVzLmFkZChpZGVudC0+aW1wbCgpKTsKICAgICB9CiAKICAgICBib29sIGRlY2xhcmVW
YXJpYWJsZShjb25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNW
YWxpZFN0cmljdE1vZGUgPSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgIT0gKmlkZW50OwogICAgICAgICBtX2lzVmFs
aWRTdHJpY3RNb2RlID0gbV9pc1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsK
LSAgICAgICAgbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7
CisgICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgICAg
ICByZXR1cm4gaXNWYWxpZFN0cmljdE1vZGU7CiAgICAgfQogCkBAIC0yMjYsOSArMjI2LDkgQEAg
c3RydWN0IFNjb3BlIHsKICAgICBib29sIGRlY2xhcmVQYXJhbWV0ZXIoY29uc3QgSWRlbnRpZmll
ciogaWRlbnQpCiAgICAgewogICAgICAgICBib29sIGlzQXJndW1lbnRzID0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+YXJndW1lbnRzID09ICppZGVudDsKLSAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0
TW9kZSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpLmlz
TmV3RW50cnkgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJn
dW1lbnRzOworICAgICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZhcmlh
Ymxlcy5hZGQoaWRlbnQtPmltcGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsICE9ICppZGVudCAmJiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxpZFN0cmlj
dE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwotICAgICAg
ICBtX2RlY2xhcmVkUGFyYW1ldGVycy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAg
ICAgIG1fZGVjbGFyZWRQYXJhbWV0ZXJzLmFkZChpZGVudC0+aW1wbCgpKTsKIAogICAgICAgICBp
ZiAoaXNBcmd1bWVudHMpCiAgICAgICAgICAgICBtX3NoYWRvd3NBcmd1bWVudHMgPSB0cnVlOwpA
QCAtMjQzLDcgKzI0Myw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgQmluZGluZ1Jlc3VsdCBkZWNs
YXJlQm91bmRQYXJhbWV0ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewogICAgICAg
ICBib29sIGlzQXJndW1lbnRzID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICpp
ZGVudDsKLSAgICAgICAgYm9vbCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlk
ZW50LT5zdHJpbmcoKS5pbXBsKCkpLmlzTmV3RW50cnk7CisgICAgICAgIGJvb2wgbmV3RW50cnkg
PSBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5OwogICAg
ICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbmV3RW50cnkgJiYgbV92bS0+cHJvcGVydHlO
YW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJndW1lbnRzOwogICAgICAgICBtX2lzVmFsaWRT
dHJpY3RNb2RlID0gbV9pc1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAg
ICAKQEAgLTI2Miw3ICsyNjIsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIHZvaWQgdXNlVmFyaWFi
bGUoY29uc3QgSWRlbnRpZmllciogaWRlbnQsIGJvb2wgaXNFdmFsKQogICAgIHsKICAgICAgICAg
bV91c2VzRXZhbCB8PSBpc0V2YWw7Ci0gICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQt
PnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmlt
cGwoKSk7CiAgICAgfQogCiAgICAgdm9pZCBzZXROZWVkc0Z1bGxBY3RpdmF0aW9uKCkgeyBtX25l
ZWRzRnVsbEFjdGl2YXRpb24gPSB0cnVlOyB9CkBAIC0zMzcsNyArMzM3LDcgQEAgc3RydWN0IFNj
b3BlIHsKICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pc1Zh
bGlkU3RyaWN0TW9kZTsgfQogICAgIGJvb2wgc2hhZG93c0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0
dXJuIG1fc2hhZG93c0FyZ3VtZW50czsgfQogCi0gICAgdm9pZCBjb3B5Q2FwdHVyZWRWYXJpYWJs
ZXNUb1ZlY3Rvcihjb25zdCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgVmVjdG9y
PFJlZlB0cjxTdHJpbmdJbXBsPj4mIHZlY3RvcikKKyAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlh
Ymxlc1RvVmVjdG9yKGNvbnN0IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0
b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mIHZlY3RvcikKICAgICB7CiAgICAgICAgIElk
ZW50aWZpZXJTZXQ6Oml0ZXJhdG9yIGVuZCA9IGNhcHR1cmVkVmFyaWFibGVzLmVuZCgpOwogICAg
ICAgICBmb3IgKElkZW50aWZpZXJTZXQ6Oml0ZXJhdG9yIGl0ID0gY2FwdHVyZWRWYXJpYWJsZXMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CkBAIC00MzYsNyArNDM2LDcgQEAgY2xhc3MgUGFy
c2VyIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFyc2VkTm9kZT4gcGFyc2UoUGFyc2VyRXJyb3Im
KTsKIAogICAgIEpTVGV4dFBvc2l0aW9uIHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKSBjb25z
dCB7IHJldHVybiBtX2xleGVyLT5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7IH0KLSAgICBW
ZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdU
Rjo6bW92ZShtX2Nsb3NlZFZhcmlhYmxlcyk7IH0KKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMoKSB7IHJldHVybiBXVEY6Om1vdmUobV9jbG9z
ZWRWYXJpYWJsZXMpOyB9CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEFsbG93SW5PdmVycmlkZSB7
CkBAIC01NjMsNyArNTYzLDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBTdHJpbmcgcGFyc2VJbm5l
cigpOwogCiAgICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFy
YXRpb25TdGFja3M6OlZhclN0YWNrJiwgCi0gICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5j
dGlvblN0YWNrJiwgQ29kZUZlYXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmKTsKKyAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1
bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0
ZXJtaW5lIHR5cGUgb2YgZXJyb3IgdG8gcmVwb3J0LgogICAgIGJvb2wgaXNGdW5jdGlvbkJvZHlO
b2RlKFNjb3BlTm9kZSopIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC04ODQsNyArODg0LDcgQEAgY2xh
c3MgUGFyc2VyIHsKICAgICBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgbV92YXJEZWNsYXJh
dGlvbnM7CiAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgbV9mdW5jRGVjbGFy
YXRpb25zOwogICAgIElkZW50aWZpZXJTZXQgbV9jYXB0dXJlZFZhcmlhYmxlczsKLSAgICBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVm
UHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CiAgICAgQ29kZUZlYXR1
cmVzIG1fZmVhdHVyZXM7CiAgICAgaW50IG1fbnVtQ29uc3RhbnRzOwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjVlM2ZkZmZk
ZGEyYTZjN2QyMWNhNDNjNmQ1NTJkOTk2MjhkNzQxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2luY2x1ZGUgIlBhcnNlclRva2Vucy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDggKzQxLDgg
QEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAg
ICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29s
IHN0cmljdE1vZGU7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxl
czsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOworICAg
IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOworICAgIFZl
Y3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKIAog
I2lmIENPTVBJTEVSKE1TVkMpCkBAIC04MiwxMyArODMsMTMgQEAgY2xhc3MgU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0gewogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNp
Z25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKLSAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlh
YmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxl
cyk7IH0KLSAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJu
IGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50
XSk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJl
dHVybiBjb25zdF9jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQorICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNv
bnN0X2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXND
b3VudF0pOyB9CiAKIHByaXZhdGU6CiAgICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKIAotICAgIFN0cmlu
Z0ltcGwqIG1fdmFyaWFibGVzWzBdOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3ZhcmlhYmxl
c1swXTsKIH07CiAKIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtKCkKQEAgLTEwMCw3ICsxMDEsNyBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW06On5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpCiBpbmxpbmUgc3RkOjp1bmlxdWVf
cHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3Jl
YXRlKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzKQogewogICAgIHNpemVfdCB2YXJpYWJsZUNvdW50ID0gcGFyYW1ldGVycy53cml0dGVu
VmFyaWFibGVzLnNpemUoKSArIHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCk7Ci0gICAg
c2l6ZV90IG9iamVjdFNpemUgPSBzaXplb2YoU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6
ZW9mKFN0cmluZ0ltcGwqKSAqIHZhcmlhYmxlQ291bnQ7CisgICAgc2l6ZV90IG9iamVjdFNpemUg
PSBzaXplb2YoU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFVuaXF1ZWRTdHJpbmdJ
bXBsKikgKiB2YXJpYWJsZUNvdW50OwogICAgIHZvaWQqIHNsb3QgPSBmYXN0TWFsbG9jKG9iamVj
dFNpemUpOwogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0+KG5ldyAoc2xvdCkgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0ocGFyYW1ldGVycykpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
Y3BwCmluZGV4IGNlYWJkMjUyZDBkOGNjMmEzOGE3Njg5MGM2OGQyODM5NGE2NjdkZmIuLjIxYmM0
YzdjZWZkZTg2N2Q4YWI1MWM1NzJiZTE1OTc5YmU4MTIwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKQEAgLTUyLDcgKzUy
LDEyIEBACiB7CiB9CiAKLWJvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoU3Ry
aW5nSW1wbCogdWlkKSBjb25zdAorYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFt
ZShTeW1ib2xJbXBsJiB1aWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5p
c1ByaXZhdGVOYW1lKHVpZCk7Cit9CisKK2Jvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0
ZU5hbWUoVW5pcXVlZFN0cmluZ0ltcGwmIHVpZCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9idWls
dGluTmFtZXMtPmlzUHJpdmF0ZU5hbWUodWlkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDc5MDY5ZWE5NjRkNjA2MTU0
MWU5NWRkN2YxYzkzMzBmM2U4YzI4MmUuLjg1MjllNDYwNmU2YzNlNDc1YTQ0YjhhZjMwYjgzODA0
ZTcxMjVjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaApAQCAtMzIxLDcgKzMyMSw4IEBACiAgICAgICAgIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKEpTQ19JREVOVElGSUVSX0RF
Q0xBUkVfUFJJVkFURV9XRUxMX0tOT1dOX1NZTUJPTF9HTE9CQUwpCiAjdW5kZWYgSlNDX0lERU5U
SUZJRVJfREVDTEFSRV9QUklWQVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTAogCi0gICAgICAg
IGJvb2wgaXNQcml2YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0OworICAgICAgICBib29s
IGlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYgdWlkKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1By
aXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgICAgICBib29sIGlz
UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogCiAgICAgICAgIGNvbnN0IElk
ZW50aWZpZXIqIGdldFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAKaW5kZXggZTA4MTZkMjE3
MzBmZjI1NThjZTZlYzFlNzY2MDg3ZTUwZDIyZTAzZS4uZDI2ZDk1NjdjNjgzMGZlN2YzMWVmMTJh
N2E0NWMwMTEyNDdmODZkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRl
bnRpZmllci5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAKICAgICBpZiAoIWNbMV0pCiAgICAgICAgIHJl
dHVybiAqdm0tPnNtYWxsU3RyaW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmdSZXAoY1swXSk7CiAK
LSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkKGMpOworICAgIHJldHVybiAqQXRvbWljU3Ry
aW5nSW1wbDo6YWRkKGMpOwogfQogCiBSZWY8U3RyaW5nSW1wbD4gSWRlbnRpZmllcjo6YWRkKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgY2hhciogYykKQEAgLTY0LDcgKzY0LDcgQEAKICAgICBpZiAo
IWxlbmd0aCkKICAgICAgICAgcmV0dXJuICpTdHJpbmdJbXBsOjplbXB0eSgpOwogCi0gICAgcmV0
dXJuICpBdG9taWNTdHJpbmc6OmFkZChzLCBsZW5ndGgpOworICAgIHJldHVybiAqQXRvbWljU3Ry
aW5nSW1wbDo6YWRkKHMsIGxlbmd0aCk7CiB9CiAKIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJv
bShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSWRlbnRpZmllci5oCmluZGV4IGUyOWM0OTc3NGI1M2U4MzM0NTcxZDkzNWVhMjRl
M2E5Y2EyZTRhZGIuLmExOWNlNzhmYjcyMjRjMWM0MzVmZjA1YmQ5ZjY2M2Y1ZTNmZDdkOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvV1RG
VGhyZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTkyLDcgKzkzLDcgQEAgY2xhc3MgSWRlbnRpZmll
ciB7CiAgICAgSWRlbnRpZmllcihFbXB0eUlkZW50aWZpZXJGbGFnKSA6IG1fc3RyaW5nKFN0cmlu
Z0ltcGw6OmVtcHR5KCkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0K
IAogICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0K
LSAgICBBdG9taWNTdHJpbmdJbXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
QXRvbWljU3RyaW5nSW1wbCo+KG1fc3RyaW5nLmltcGwoKSk7IH0KKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXF1ZWRTdHJpbmdJbXBs
Kj4obV9zdHJpbmcuaW1wbCgpKTsgfQogCiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RyaW5nLmxlbmd0aCgpOyB9CiAKQEAgLTEyMyw4ICsxMjQsOCBAQCBjbGFzcyBJZGVudGlm
aWVyIHsKICAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tU3RyaW5nKEV4ZWNTdGF0ZSosIGNvbnN0
IFN0cmluZyYpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0YXRlKiwg
Y29uc3QgY2hhciopOwogCi0gICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChWTSosIFN0cmlu
Z0ltcGwqIHVpZCk7Ci0gICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChFeGVjU3RhdGUqLCBT
dHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoVk0qLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4ZWNT
dGF0ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZy
b21VaWQoY29uc3QgUHJpdmF0ZU5hbWUmKTsKIAogICAgIHN0YXRpYyBJZGVudGlmaWVyIGNyZWF0
ZUxDaGFyRnJvbVVDaGFyKFZNKiB2bSwgY29uc3QgVUNoYXIqIHMsIGludCBsZW5ndGgpIHsgcmV0
dXJuIElkZW50aWZpZXIodm0sIGFkZDgodm0sIHMsIGxlbmd0aCkpOyB9CkBAIC0xNzQsOCArMTc1
LDEwIEBAIGNsYXNzIElkZW50aWZpZXIgewogICAgIElkZW50aWZpZXIoVk0qIHZtLCBjb25zdCBT
dHJpbmcmIHN0cmluZykgOiBtX3N0cmluZyhhZGQodm0sIHN0cmluZy5pbXBsKCkpKSB7IEFTU0VS
VChtX3N0cmluZy5pbXBsKCktPmlzQXRvbWljKCkpOyB9CiAgICAgSWRlbnRpZmllcihWTSogdm0s
IFN0cmluZ0ltcGwqIHJlcCkgOiBtX3N0cmluZyhhZGQodm0sIHJlcCkpIHsgQVNTRVJUKG1fc3Ry
aW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KIAotICAgIGVudW0gVW5pcXVlSWRlbnRpZmllckZs
YWcgeyBVbmlxdWVJZGVudGlmaWVyIH07Ci0gICAgSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVy
RmxhZywgU3RyaW5nSW1wbCogdWlkKSA6IG1fc3RyaW5nKHVpZCkgeyBBU1NFUlQobV9zdHJpbmcu
aW1wbCgpLT5pc1N5bWJvbCgpKTsgfQorICAgIGV4cGxpY2l0IElkZW50aWZpZXIoU3ltYm9sSW1w
bCogdWlkKQorICAgICAgICA6IG1fc3RyaW5nKHVpZCkKKyAgICB7CisgICAgfQogCiAgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgogICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVpbnQz
Ml90IHRvVUludDMyRnJvbUNoYXJhY3RlcnMoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVu
c2lnbmVkIGxlbmd0aCwgYm9vbCYgb2spOwpAQCAtMjIxLDcgKzIyNCw3IEBAIGNsYXNzIElkZW50
aWZpZXIgewogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gKlN0cmluZ0ltcGw6OmVt
cHR5KCk7CiAKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkKHMsIGxlbmd0aCk7CisgICAg
cmV0dXJuICpBdG9taWNTdHJpbmdJbXBsOjphZGQocywgbGVuZ3RoKTsKIH0KIAogaW5saW5lIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBJZGVudGlmaWVyJiBhLCBjb25zdCBJZGVudGlmaWVyJiBiKQpA
QCAtMjcxLDcgKzI3NCw3IEBAIGlubGluZSBib29sIElkZW50aWZpZXI6OmVxdWFsKGNvbnN0IFN0
cmluZ0ltcGwqIHIsIGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5nCiAKIEFMV0FZU19JTkxJ
TkUgT3B0aW9uYWw8dWludDMyX3Q+IHBhcnNlSW5kZXgoY29uc3QgSWRlbnRpZmllciYgaWRlbnRp
ZmllcikKIHsKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLmltcGwoKTsK
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gaWRlbnRpZmllci5pbXBsKCk7CiAgICAgaWYg
KCF1aWQpCiAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgIGlmICh1aWQtPmlzU3ltYm9sKCkp
CkBAIC0yNzksOSArMjgyLDkgQEAgaW5saW5lIGJvb2wgSWRlbnRpZmllcjo6ZXF1YWwoY29uc3Qg
U3RyaW5nSW1wbCogciwgY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmcKICAgICByZXR1cm4g
cGFyc2VJbmRleCgqdWlkKTsKIH0KIAotc3RydWN0IElkZW50aWZpZXJSZXBIYXNoIDogUHRySGFz
aDxSZWZQdHI8U3RyaW5nSW1wbD4+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBS
ZWZQdHI8U3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJl
SGFzaCgpOyB9Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goU3RyaW5nSW1wbCoga2V5KSB7IHJl
dHVybiBrZXktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCk7IH0KK3N0cnVjdCBJZGVudGlmaWVy
UmVwSGFzaCA6IFB0ckhhc2g8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4geworICAgIHN0YXRp
YyB1bnNpZ25lZCBoYXNoKGNvbnN0IFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4mIGtleSkgeyBy
ZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9CisgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5
bWJvbEF3YXJlSGFzaCgpOyB9CiB9OwogCiBzdHJ1Y3QgSWRlbnRpZmllck1hcEluZGV4SGFzaFRy
YWl0cyA6IEhhc2hUcmFpdHM8aW50PiB7CkBAIC0yODksOCArMjkyLDggQEAgc3RydWN0IElkZW50
aWZpZXJNYXBJbmRleEhhc2hUcmFpdHMgOiBIYXNoVHJhaXRzPGludD4gewogICAgIHN0YXRpYyBj
b25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKIH07CiAKLXR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8U3RyaW5nSW1wbD4sIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8
UmVmUHRyPFN0cmluZ0ltcGw+PiwgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cz4gSWRlbnRp
Zmllck1hcDsKLXR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVw
SGFzaCwgSGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFp
dHM+IEJvcnJvd2VkSWRlbnRpZmllck1hcDsKK3R5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+LCBpbnQsIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBJZGVudGlm
aWVyTWFwOwordHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlm
aWVyUmVwSGFzaCwgSGFzaFRyYWl0czxVbmlxdWVkU3RyaW5nSW1wbCo+LCBJZGVudGlmaWVyTWFw
SW5kZXhIYXNoVHJhaXRzPiBCb3Jyb3dlZElkZW50aWZpZXJNYXA7CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlm
aWVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklu
bGluZXMuaAppbmRleCA0MDYyMjFhNjNhYWQ5NjVmNDczMGU0Njg4MzQ3MzY3YzNiMjY3MDRiLi43
MTQ4YjIxMjgzYTVkMjdlYmZlODJkNjUxNzRhZDZkOWVhYTk3ZmFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKQEAgLTM3LDcgKzM3
LDcgQEAgaW5saW5lIElkZW50aWZpZXI6OklkZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBBdG9t
aWNTdHJpbmdJbXBsKiBzdHJpbmcpCiAjaWZuZGVmIE5ERUJVRwogICAgIGNoZWNrQ3VycmVudEF0
b21pY1N0cmluZ1RhYmxlKGV4ZWMpOwogICAgIGlmIChzdHJpbmcpCi0gICAgICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoIXN0cmluZy0+bGVuZ3RoKCkgfHwgc3RyaW5nLT5pc1N5bWJvbCgpIHx8IEF0
b21pY1N0cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0
cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKKyAgICAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRSghc3RyaW5nLT5sZW5ndGgoKSB8fCBzdHJpbmctPmlzU3ltYm9sKCkgfHwgQXRvbWlj
U3RyaW5nSW1wbDo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0
cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKGV4ZWMpOwogI2VuZGlmCkBAIC00OSw3ICs0OSw3IEBAIGlubGluZSBJZGVudGlmaWVyOjpJ
ZGVudGlmaWVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpCiAj
aWZuZGVmIE5ERUJVRwogICAgIGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxlKGV4ZWMpOwog
ICAgIGlmICghc3RyaW5nLmlzTnVsbCgpKQotICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFz
dHJpbmcubGVuZ3RoKCkgfHwgc3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBBdG9taWNTdHJp
bmc6OmlzSW5BdG9taWNTdHJpbmdUYWJsZShzdHJpbmcuaW1wbCgpKSwgIlRoZSBhdG9taWMgc3Ry
aW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIpOworICAgICAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwgc3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBB
dG9taWNTdHJpbmdJbXBsOjppc0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nLmltcGwoKSksICJU
aGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogI2VuZGlmCkBAIC02MCwzMSArNjAsMzEgQEAgaW5saW5l
IElkZW50aWZpZXI6OklkZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJp
bmcmIHN0cmluZykKICNpZm5kZWYgTkRFQlVHCiAgICAgY2hlY2tDdXJyZW50QXRvbWljU3RyaW5n
VGFibGUoZXhlYyk7CiAjZW5kaWYKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkV2l0aFN0
cmluZ1RhYmxlUHJvdmlkZXIoKmV4ZWMsIHIpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1w
bDo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoKmV4ZWMsIHIpOwogfQogaW5saW5lIFJlZjxT
dHJpbmdJbXBsPiBJZGVudGlmaWVyOjphZGQoVk0qIHZtLCBTdHJpbmdJbXBsKiByKQogewogI2lm
bmRlZiBOREVCVUcKICAgICBjaGVja0N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSh2bSk7CiAjZW5k
aWYKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIo
KnZtLCByKTsKKyAgICByZXR1cm4gKkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJs
ZVByb3ZpZGVyKCp2bSwgcik7CiB9CiAKLWlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZy
b21VaWQoVk0qIHZtLCBTdHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgSWRlbnRpZmllciBJZGVudGlm
aWVyOjpmcm9tVWlkKFZNKiB2bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBpZiAo
IXVpZCB8fCAhdWlkLT5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSWRlbnRpZmllcih2bSwg
dWlkKTsKLSAgICByZXR1cm4gSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyLCB1aWQpOworICAg
IHJldHVybiBJZGVudGlmaWVyKHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih1aWQpKTsKIH0KIAot
aW5saW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFN0
cmluZ0ltcGwqIHVpZCkKK2lubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoRXhl
Y1N0YXRlKiBleGVjLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHJldHVybiBmcm9t
VWlkKCZleGVjLT52bSgpLCB1aWQpOwogfQogCiBpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVy
Ojpmcm9tVWlkKGNvbnN0IFByaXZhdGVOYW1lJiBuYW1lKQogewotICAgIHJldHVybiBJZGVudGlm
aWVyKFVuaXF1ZUlkZW50aWZpZXIsIG5hbWUudWlkKCkpOworICAgIHJldHVybiBJZGVudGlmaWVy
KG5hbWUudWlkKCkpOwogfQogCiB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVy
ZUNoYWluLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0
dXJlQ2hhaW4uY3BwCmluZGV4IGMyNDMyMDZlMzRjYjBlYjkwNjFkZWE2N2U1N2M0NzY0YzE4NzJi
NmQuLmQ3M2Y3NDhlM2FmNTc0ZTEyYmZmYTEzZDI3YTNhMDY2YTk3NjlmYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hh
aW4uY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjpt
YXRjaGVzKFN0cnVjdHVyZUNoYWluKiBjaGFpbikgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21p
Y1N0cmluZ0ltcGwqIHVpZCkKK2Jvb2wgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6bWF5SW50ZXJj
ZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX3ZlY3Rvci5zaXplKCk7ICsraSkgewogICAgICAgICB1bnNpZ25lZCBhdHRy
aWJ1dGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5k
ZWRTdHJ1Y3R1cmVDaGFpbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5k
ZWRTdHJ1Y3R1cmVDaGFpbi5oCmluZGV4IDNjMDE5MTc3ZGE2NTNlOWU3NWY2M2U4MDFjNTE2NDQ0
ZDQ2MWQ0ZWIuLmEwZjU1NjViZDExZmVlOGM4MzcxMWYwZjU2MDUyZjIxNDMyMjllNTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hh
aW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVy
ZUNoYWluLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbiA6
IHB1YmxpYyBSZWZDb3VudGVkPEludGVuZGVkU3RydWN0dXJlQ2hhaW4+IHsKICAgICAKICAgICBi
b29sIGlzU3RpbGxWYWxpZCgpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhTdHJ1Y3R1cmVDaGFp
biopIGNvbnN0OwotICAgIGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhBdG9taWNTdHJpbmdJbXBs
KiB1aWQpOworICAgIGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCog
dWlkKTsKICAgICBib29sIGlzTm9ybWFsaXplZCgpOwogICAgIAogICAgIGJvb2wgdGFrZXNTbG93
UGF0aEluREZHRm9ySW1wdXJlUHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA3ZDA2ZmE2MDBlYTIwNWU1NzE5NTBi
NGNiODNjN2JlYmY1OGU5YjA1Li4yYjMzZWM5MjI1OTExZjg1ZjRmNjM2OGJhNDNlYTNiNGE2MmFm
N2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCkBAIC00NTYsNyArNDU2LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYg
dm0pCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0
ZXJhdGlvbktpbmRLZXlQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwg
anNOdW1iZXIoQXJyYXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJh
eUl0ZXJhdGlvbktpbmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVL
ZXlWYWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5h
bWUsIFN5bWJvbDo6Y3JlYXRlKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5p
bXBsKCkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1l
LCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5
TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCiAgICAgfTsKICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdU
Rl9BUlJBWV9MRU5HVEgoc3RhdGljR2xvYmFscykpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCmluZGV4IDEzYjkwZWZhNjY3ZDQ5MjA3OTBhMjMzMTlh
NWU4ZmM3NzQxZGQ5OGQuLmY5ZDBmNDM0NjE1ZTcyNTc2MmMxMWM3ZTgyZTM5NWVkZDEyOWIzNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKQEAgLTE5NCw3
ICsxOTQsNyBAQCBBdG9taWNTdHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9F
eGlzdGluZ0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZQogewogICAgIGlmIChtX2xlbmd0aCA+
IG1heExlbmd0aEZvck9uU3RhY2tSZXNvbHZlKSB7CiAgICAgICAgIHJlc29sdmVSb3BlKGV4ZWMp
OwotICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogZXhpc3RpbmdBdG9taWNTdHJpbmcgPSBB
dG9taWNTdHJpbmc6OmZpbmQobV92YWx1ZS5pbXBsKCkpKSB7CisgICAgICAgIGlmIChBdG9taWNT
dHJpbmdJbXBsKiBleGlzdGluZ0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1
cChtX3ZhbHVlLmltcGwoKSkpIHsKICAgICAgICAgICAgIG1fdmFsdWUgPSAqZXhpc3RpbmdBdG9t
aWNTdHJpbmc7CiAgICAgICAgICAgICBzZXRJczhCaXQobV92YWx1ZS5pbXBsKCktPmlzOEJpdCgp
KTsKICAgICAgICAgICAgIGNsZWFyRmliZXJzKCk7CkBAIC0yMDYsNyArMjA2LDcgQEAgQXRvbWlj
U3RyaW5nSW1wbCogSlNSb3BlU3RyaW5nOjpyZXNvbHZlUm9wZVRvRXhpc3RpbmdBdG9taWNTdHJp
bmcoRXhlY1N0YXRlKiBleGUKICAgICBpZiAoaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIgYnVm
ZmVyW21heExlbmd0aEZvck9uU3RhY2tSZXNvbHZlXTsKICAgICAgICAgcmVzb2x2ZVJvcGVJbnRl
cm5hbDgoYnVmZmVyKTsKLSAgICAgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRv
bWljU3RyaW5nID0gQXRvbWljU3RyaW5nOjpmaW5kKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CisgICAg
ICAgIGlmIChBdG9taWNTdHJpbmdJbXBsKiBleGlzdGluZ0F0b21pY1N0cmluZyA9IEF0b21pY1N0
cmluZ0ltcGw6Omxvb2t1cChidWZmZXIsIG1fbGVuZ3RoKSkgewogICAgICAgICAgICAgbV92YWx1
ZSA9ICpleGlzdGluZ0F0b21pY1N0cmluZzsKICAgICAgICAgICAgIHNldElzOEJpdChtX3ZhbHVl
LmltcGwoKS0+aXM4Qml0KCkpOwogICAgICAgICAgICAgY2xlYXJGaWJlcnMoKTsKQEAgLTIxNSw3
ICsyMTUsNyBAQCBBdG9taWNTdHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9F
eGlzdGluZ0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZQogICAgIH0gZWxzZSB7CiAgICAgICAg
IFVDaGFyIGJ1ZmZlclttYXhMZW5ndGhGb3JPblN0YWNrUmVzb2x2ZV07CiAgICAgICAgIHJlc29s
dmVSb3BlSW50ZXJuYWwxNihidWZmZXIpOwotICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCog
ZXhpc3RpbmdBdG9taWNTdHJpbmcgPSBBdG9taWNTdHJpbmc6OmZpbmQoYnVmZmVyLCBtX2xlbmd0
aCkpIHsKKyAgICAgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5n
ID0gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CiAgICAgICAg
ICAgICBtX3ZhbHVlID0gKmV4aXN0aW5nQXRvbWljU3RyaW5nOwogICAgICAgICAgICAgc2V0SXM4
Qml0KG1fdmFsdWUuaW1wbCgpLT5pczhCaXQoKSk7CiAgICAgICAgICAgICBjbGVhckZpYmVycygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKaW5kZXggYTIyZTZmYmQ3
NGUxY2ViZDE3NzdkNGZkY2FmOTgzNjM3N2Q0MDRlNi4uMjFmODYzOTkxOTU1YzE3YTgzMTUzMThm
ZDUzYjBkZjY2MjM0ZGUyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmlu
Zy5oCkBAIC00ODEsNyArNDgxLDcgQEAgQUxXQVlTX0lOTElORSBBdG9taWNTdHJpbmdJbXBsKiBK
U1N0cmluZzo6dG9FeGlzdGluZ0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEpTUm9wZVN0cmluZyo+KHRoaXMpLT5yZXNvbHZlUm9w
ZVRvRXhpc3RpbmdBdG9taWNTdHJpbmcoZXhlYyk7CiAgICAgaWYgKG1fdmFsdWUuaW1wbCgpLT5p
c0F0b21pYygpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KG1fdmFsdWUuaW1wbCgpKTsKLSAgICByZXR1cm4gQXRvbWljU3RyaW5nOjpmaW5kKG1fdmFsdWUu
aW1wbCgpKTsKKyAgICByZXR1cm4gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKG1fdmFsdWUuaW1w
bCgpKTsKIH0KIAogaW5saW5lIGNvbnN0IFN0cmluZyYgSlNTdHJpbmc6OnZhbHVlKEV4ZWNTdGF0
ZSogZXhlYykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0xvb2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXgg
ODRhYWY4ZWFlZWY5MjZiODhhZmFiZTJhMDhjMWUwYjQxMmQ4YTJjOC4uMzVhNWM2MWRiNzk0YjUx
NzBiNzU0YjZkNzAwOGUzOGVkY2YxMGQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAg
aWYgKHByb3BlcnR5TmFtZS5pc1N5bWJvbCgpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKLSAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgICAg
ICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgICAgICBp
ZiAoIXVpZCkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXBEYXRhLmgKaW5kZXggMzkzNGE1YjVjNDU1YTU5NzgxNzVlNzM5ZTBhMWJh
MmQzMDBmNTI5Yy4uM2I1ODYzZWZjZGYyNzc2ZWIxYjg0NTkwMmIzODcwODk0MzY2OGI3YyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcERhdGEuaApAQCAtMTE1LDcgKzExNSw3IEBA
IGNsYXNzIE1hcERhdGFJbXBsIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8SlNDZWxsKiwgaW50MzJf
dCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxKU0NlbGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJh
aXRzPEpTQ2VsbCo+LCBJbmRleFRyYWl0cz4gQ2VsbEtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWVIYXNoLCBFbmNvZGVk
SlNWYWx1ZUhhc2hUcmFpdHMsIEluZGV4VHJhaXRzPiBWYWx1ZUtleWVkTWFwOwogICAgIHR5cGVk
ZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFz
aDxTdHJpbmdJbXBsKj46Okhhc2gsIFdURjo6SGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIEluZGV4
VHJhaXRzPiBTdHJpbmdLZXllZE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5n
SW1wbCosIGludDMyX3QsIHR5cGVuYW1lIFdURjo6RGVmYXVsdEhhc2g8QXRvbWljU3RyaW5nSW1w
bCo+OjpIYXNoLCBXVEY6Okhhc2hUcmFpdHM8QXRvbWljU3RyaW5nSW1wbCo+LCBJbmRleFRyYWl0
cz4gU3ltYm9sS2V5ZWRNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFN5bWJvbEltcGwqLCBpbnQz
Ml90LCB0eXBlbmFtZSBXVEY6OlB0ckhhc2g8U3ltYm9sSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8
U3ltYm9sSW1wbCo+LCBJbmRleFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7CiAKICAgICBzaXplX3Qg
Y2FwYWNpdHlJbkJ5dGVzKCkgeyByZXR1cm4gbV9jYXBhY2l0eSAqIHNpemVvZihFbnRyeSk7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCmluZGV4IGQ3YjUxNmE0MzNkODIwY2U4ZTRlMGY3MWVmODUwZWJkOGNlZWQ4MmEuLjNj
ZDE1ZWIzNGFhYjdhZmYyYWNhZmFiZDY3ZWJlMWE1MGU1Zjc0NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTI0Miw5
ICsyNDIsOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9y
R2V0T3duUHJvcGVydHlTeW1ib2xzKEV4ZWNTdGF0ZSogZQogICAgIEpTQXJyYXkqIG5hbWVzID0g
Y29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsKICAgICBzaXplX3QgbnVtUHJvcGVydGllcyA9
IHByb3BlcnRpZXMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVy
dGllczsgaSsrKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVz
W2ldLmltcGwoKTsKLSAgICAgICAgaWYgKGltcGwtPmlzU3ltYm9sKCkgJiYgIWV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5pc1ByaXZhdGVOYW1lKGltcGwpKQotICAgICAgICAgICAgbmFtZXMtPnB1c2go
ZXhlYywgU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgaW1wbCkpOworICAgICAgICBVbmlxdWVk
U3RyaW5nSW1wbCogaW1wbCA9IHByb3BlcnRpZXNbaV0uaW1wbCgpOworICAgICAgICBpZiAoaW1w
bC0+aXNTeW1ib2woKSAmJiAhZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoKmlt
cGwpKQorICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVhdGUoZXhlYy0+
dm0oKSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KGltcGwpKSk7CiAgICAgfQogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUobmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ByaXZhdGVOYW1lLmgKaW5kZXggY2NjY2MzOWZhOTM5MTNiM2ZhNjFjNzUwZTY4ZGM3Mjkx
NmU1YjcxNC4uZTQ2YTdhNjFjNjkyYzlhYTRmZDFmOWIwYWQxMDU1NjY5YWFkY2ViMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCkBAIC0yNiw3ICsyNiw3
IEBACiAjaWZuZGVmIFByaXZhdGVOYW1lX2gKICNkZWZpbmUgUHJpdmF0ZU5hbWVfaAogCi0jaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbElt
cGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTM3LDI0ICszNywyNSBAQCBjbGFzcyBQcml2
YXRlTmFtZSB7CiAgICAgewogICAgIH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKFN0cmlu
Z0ltcGwqIHVpZCkKKyAgICBleHBsaWNpdCBQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1aWQpCiAg
ICAgICAgIDogbV9pbXBsKHVpZCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2ltcGwtPmlzU3lt
Ym9sKCkpOwogICAgIH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKGNvbnN0IFN0cmluZyYg
ZGVzY3JpcHRpb24pCisgICAgZW51bSBEZXNjcmlwdGlvblRhZyB7IERlc2NyaXB0aW9uIH07Cisg
ICAgZXhwbGljaXQgUHJpdmF0ZU5hbWUoRGVzY3JpcHRpb25UYWcsIGNvbnN0IFN0cmluZyYgZGVz
Y3JpcHRpb24pCiAgICAgICAgIDogbV9pbXBsKFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChkZXNj
cmlwdGlvbi5pbXBsKCkpKQogICAgIHsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1
aWQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBs
LmdldCgpKTsgfQorICAgIFN5bWJvbEltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5n
ZXQoKTsgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikg
Y29uc3QgeyByZXR1cm4gdWlkKCkgPT0gb3RoZXIudWlkKCk7IH0KICAgICBib29sIG9wZXJhdG9y
IT0oY29uc3QgUHJpdmF0ZU5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSAhPSBvdGhl
ci51aWQoKTsgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7Cisg
ICAgUmVmUHRyPFN5bWJvbEltcGw+IG1faW1wbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCmluZGV4IGFjOTVj
YTE3NTYwZWUxNzdmYTNjNmE4ZmI4OTgwNWQ1YzY5ZWY1YjguLmIwNjhiOTkxZGVhZDU1ODE0YzQ5
ZDIwNzQyOGJjYjZkMTYzN2VkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaApAQCAtMzUsNyArMzUsNyBAQAogI2RlZmlu
ZSBEVU1QX1BST1BFUlRZTUFQX1NUQVRTIDAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9DT0xM
SVNJT05TIDAKIAotI2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChBdG9t
aWNTdHJpbmdJbXBsKikxKQorI2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkg
KChVbmlxdWVkU3RyaW5nSW1wbCopMSkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTEzMyw3ICsx
MzMsNyBAQCBjbGFzcyBQcm9wZXJ0eVRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IFR5cGVJbmZvKENlbGxUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0g
ICAgdHlwZWRlZiBBdG9taWNTdHJpbmdJbXBsKiBLZXlUeXBlOworICAgIHR5cGVkZWYgVW5pcXVl
ZFN0cmluZ0ltcGwqIEtleVR5cGU7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eU1hcEVudHJ5IFZhbHVl
VHlwZTsKIAogICAgIC8vIFRoZSBpbiBvcmRlciBpdGVyYXRvciBwcm92aWRlcyBvdmVybG9hZGVk
ICogYW5kIC0+IHRvIGFjY2VzcyB0aGUgVmFsdWUgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCmluZGV4IDRmMmNh
ODcyYmUzNzIzZmNiNzA5YTIzNThhNjU4ZDk4MjU5NmQ3NTAuLjcwYmEwMzkzNDA5ZDQ1MzA2MDVi
Mjg4OTRhMWE3YTg1M2FiMDA1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TmFtZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Byb3BlcnR5TmFtZS5oCkBAIC0zNCwxOSArMzQsMTkgQEAKIAogY2xhc3MgUHJvcGVydHlOYW1l
IHsKIHB1YmxpYzoKLSAgICBQcm9wZXJ0eU5hbWUoQXRvbWljU3RyaW5nSW1wbCogcHJvcGVydHlO
YW1lKQorICAgIFByb3BlcnR5TmFtZShVbmlxdWVkU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQog
ICAgICAgICA6IG1faW1wbChwcm9wZXJ0eU5hbWUpCiAgICAgewotICAgICAgICBBU1NFUlQoIW1f
aW1wbCB8fCBtX2ltcGwtPmlzQXRvbWljKCkgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKTsKKyAgICAg
ICAgQVNTRVJUKCFtX2ltcGwpOwogICAgIH0KIAogICAgIFByb3BlcnR5TmFtZShjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUpCi0gICAgICAgIDogUHJvcGVydHlOYW1lKHN0YXRpY19jYXN0
PEF0b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUuaW1wbCgpKSkKKyAgICAgICAgOiBQcm9w
ZXJ0eU5hbWUocHJvcGVydHlOYW1lLmltcGwoKSkKICAgICB7CiAgICAgfQogCiAgICAgUHJvcGVy
dHlOYW1lKGNvbnN0IFByaXZhdGVOYW1lJiBwcm9wZXJ0eU5hbWUpCi0gICAgICAgIDogbV9pbXBs
KHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUudWlkKCkpKQorICAg
ICAgICA6IG1faW1wbChwcm9wZXJ0eU5hbWUudWlkKCkpCiAgICAgewogICAgICAgICBBU1NFUlQo
bV9pbXBsKTsKICAgICAgICAgQVNTRVJUKG1faW1wbC0+aXNTeW1ib2woKSk7CkBAIC01NywxNCAr
NTcsMTQgQEAgY2xhc3MgUHJvcGVydHlOYW1lIHsKICAgICAgICAgcmV0dXJuIG1faW1wbCAmJiBt
X2ltcGwtPmlzU3ltYm9sKCk7CiAgICAgfQogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkKCkg
Y29uc3QKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBtX2ltcGw7CiAgICAgfQogCiAgICAgQXRvbWljU3RyaW5nSW1wbCogcHVibGljTmFt
ZSgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gKCFtX2ltcGwgfHwgbV9pbXBsLT5pc1N5
bWJvbCgpKSA/IG51bGxwdHIgOiBtX2ltcGw7CisgICAgICAgIHJldHVybiAoIW1faW1wbCB8fCBt
X2ltcGwtPmlzU3ltYm9sKCkpID8gbnVsbHB0ciA6IHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0lt
cGwqPihtX2ltcGwpOwogICAgIH0KIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBj
b25zdApAQCAtNzYsNyArNzYsNyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgIH0KIAogcHJp
dmF0ZToKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBtX2ltcGw7CisgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIG1faW1wbDsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oUHJvcGVydHlOYW1lIGEs
IGNvbnN0IElkZW50aWZpZXImIGIpCkBAIC0xMTYsNyArMTE2LDcgQEAgY2xhc3MgUHJvcGVydHlO
YW1lIHsKIAogQUxXQVlTX0lOTElORSBPcHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IHBy
b3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlO
YW1lLnVpZCgpOwogICAgIGlmICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICBp
ZiAodWlkLT5pc1N5bWJvbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Byb3BlcnR5TmFtZUFycmF5LmgKaW5kZXggZThlYmRmMTY4MmRiZDJjNThhNTY4ZmZkOGVhY2E0
YzRmYTk4YzUzOC4uZDlkNGY2YTc5MTdiZGQ5NDkyODk2ZTc4N2M2NzNhZDgxZmYwZjc1ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5o
CkBAIC03MSw4ICs3MSw4IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKICAgICB9CiAKICAg
ICB2b2lkIGFkZChjb25zdCBJZGVudGlmaWVyJik7Ci0gICAgdm9pZCBhZGQoQXRvbWljU3RyaW5n
SW1wbCopOwotICAgIHZvaWQgYWRkS25vd25VbmlxdWUoQXRvbWljU3RyaW5nSW1wbCopOworICAg
IHZvaWQgYWRkKFVuaXF1ZWRTdHJpbmdJbXBsKik7CisgICAgdm9pZCBhZGRLbm93blVuaXF1ZShV
bmlxdWVkU3RyaW5nSW1wbCopOwogCiAgICAgSWRlbnRpZmllciYgb3BlcmF0b3JbXSh1bnNpZ25l
ZCBpKSB7IHJldHVybiBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpW2ldOyB9CiAgICAgY29u
c3QgSWRlbnRpZmllciYgb3BlcmF0b3JbXSh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX2Rh
dGEtPnByb3BlcnR5TmFtZVZlY3RvcigpW2ldOyB9CkBAIC05MCw3ICs5MCw3IEBAIGNsYXNzIFBy
b3BlcnR5TmFtZUFycmF5IHsKIAogcHJpdmF0ZToKICAgICBSZWZQdHI8UHJvcGVydHlOYW1lQXJy
YXlEYXRhPiBtX2RhdGE7Ci0gICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gbV9zZXQ7Cisg
ICAgSGFzaFNldDxVbmlxdWVkU3RyaW5nSW1wbCo+IG1fc2V0OwogICAgIFZNKiBtX3ZtOwogfTsK
IApAQCAtOTksMTIgKzk5LDEyIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJh
eTo6YWRkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAgICAgYWRkKGlkZW50aWZpZXIu
aW1wbCgpKTsKIH0KIAotQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGRL
bm93blVuaXF1ZShBdG9taWNTdHJpbmdJbXBsKiBpZGVudGlmaWVyKQorQUxXQVlTX0lOTElORSB2
b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCog
aWRlbnRpZmllcikKIHsKICAgICBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpLmFwcGVuZChJ
ZGVudGlmaWVyOjpmcm9tVWlkKG1fdm0sIGlkZW50aWZpZXIpKTsKIH0KIAotQUxXQVlTX0lOTElO
RSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGQoQXRvbWljU3RyaW5nSW1wbCogaWRlbnRpZmll
cikKK0FMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKFVuaXF1ZWRTdHJp
bmdJbXBsKiBpZGVudGlmaWVyKQogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzZXRUaHJl
c2hvbGQgPSAyMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U21hbGxTdHJpbmdzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3Ry
aW5ncy5jcHAKaW5kZXggOTFhMzM2ODQ2NGNlNjg3OTljNTk5MzdjODEwZjc4ZmU4MDZkZGJjYy4u
OWM2YTQzYWUyMTM4ZjRlZWZlYmE2ZTFkMDJiYzJlYWQxOWU0ZGU1MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC01Nyw3ICs1Nyw3IEBA
IGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgewogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBiYXNl
U3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChzaW5nbGVDaGFyYWN0ZXJT
dHJpbmdDb3VudCwgY2hhcmFjdGVyQnVmZmVyKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgc2luZ2xlQ2hhcmFjdGVyU3RyaW5nQ291bnQ7ICsraSkgewogICAgICAgICBjaGFyYWN0ZXJC
dWZmZXJbaV0gPSBpOwotICAgICAgICBtX3JlcHNbaV0gPSBBdG9taWNTdHJpbmc6OmFkZChQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+KFN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBs
KGJhc2VTdHJpbmcsIGksIDEpKS5nZXQoKSk7CisgICAgICAgIG1fcmVwc1tpXSA9IEF0b21pY1N0
cmluZ0ltcGw6OmFkZChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KFN0cmluZ0ltcGw6OmNyZWF0ZVN1
YnN0cmluZ1NoYXJpbmdJbXBsKGJhc2VTdHJpbmcsIGksIDEpKS5nZXQoKSk7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAppbmRleCA5OTk4
NTc4OGI2Y2NkMDlkMzU2MWQ1MzI0ZjVjN2NiNGM1ZjIzYmU1Li5iODQ0NmZkNTdlNTMyNTYyZGVk
OGYwZWMwZWVkYjk3OWU0MzlkNjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAKIHN0YXRpYyBIYXNoU2V0PFN0cnVjdHVy
ZSo+JiBsaXZlU3RydWN0dXJlU2V0ID0gKihuZXcgSGFzaFNldDxTdHJ1Y3R1cmUqPik7CiAjZW5k
aWYKIAotYm9vbCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmlu
Z0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKK2Jvb2wgU3RydWN0dXJlVHJh
bnNpdGlvblRhYmxlOjpjb250YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKSBjb25zdAogewogICAgIGlmIChpc1VzaW5nU2luZ2xlU2xvdCgpKSB7CiAgICAg
ICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IHNpbmdsZVRyYW5zaXRpb24oKTsKQEAgLTY5LDcg
KzY5LDcgQEAgYm9vbCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0
cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXQKICAgICByZXR1cm4gbWFwKCktPmdldChz
dGQ6Om1ha2VfcGFpcihyZXAsIGF0dHJpYnV0ZXMpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSog
U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpnZXQoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlOjpnZXQoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRl
cykgY29uc3QKIHsKICAgICBpZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1
Y3R1cmUqIHRyYW5zaXRpb24gPSBzaW5nbGVUcmFuc2l0aW9uKCk7CkBAIC0zMTYsNyArMzE2LDcg
QEAgdm9pZCBTdHJ1Y3R1cmU6Om1hdGVyaWFsaXplUHJvcGVydHlNYXAoVk0mIHZtKQogICAgIGNo
ZWNrT2Zmc2V0Q29uc2lzdGVuY3koKTsKIH0KIAotU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSogc3RydWN0
dXJlLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5
T2Zmc2V0JiBvZmZzZXQpCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0
aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZz
ZXQpCiB7CiAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICBBU1NF
UlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKQEAgLTMzNiw3ICszMzYsNyBAQCBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1
Y3R1cmUqIHN0cnVjdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5n
U3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS51aWQoKSwgYXR0cmlidXRlcywg
b2Zmc2V0KTsKIH0KIAotU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0
b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQm
IG9mZnNldCkKK1N0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4
aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zm
c2V0KQogewogICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN0cnVjdHVyZS0+bV9sb2Nr
KTsKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUlt
cGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CkBAIC04NDIsNyArODQyLDcg
QEAgUHJvcGVydHlUYWJsZSogU3RydWN0dXJlOjpjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmco
Vk0mIHZtKQogICAgIHJldHVybiBQcm9wZXJ0eVRhYmxlOjpjcmVhdGUodm0sIG51bWJlck9mU2xv
dHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CiB9CiAKLVByb3Bl
cnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCwgdW5zaWduZWQmIGF0dHJpYnV0ZXMpCitQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENv
bmN1cnJlbnRseShVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcykK
IHsKICAgICBQcm9wZXJ0eU9mZnNldCByZXN1bHQgPSBpbnZhbGlkT2Zmc2V0OwogICAgIApAQCAt
ODgyLDcgKzg4Miw3IEBAIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJiB2bSwgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmliCiAgICAgaWYgKGF0dHJpYnV0
ZXMgJiBEb250RW51bSkKICAgICAgICAgc2V0SGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXModHJ1
ZSk7CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7Cisg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKIAogICAgIGlm
ICghcHJvcGVydHlUYWJsZSgpKQogICAgICAgICBjcmVhdGVQcm9wZXJ0eU1hcChsb2NrZXIsIHZt
KTsKQEAgLTkwMSw3ICs5MDEsNyBAQCBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZShQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogICAgIAogICAgIGNoZWNrQ29uc2lzdGVuY3koKTsK
IAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBV
bmlxdWVkU3RyaW5nSW1wbCogcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFw
cm9wZXJ0eVRhYmxlKCkpCiAgICAgICAgIHJldHVybiBpbnZhbGlkT2Zmc2V0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAppbmRleCAxYjQ0ZTJhMmI3MjQwMjcwNmMw
ZjkwNGM5Yjk0Yzg4YTExMWRhZmI2Li4xYTRlZWI1YTUwNDY0N2ExMGQ5NzUyMGU0NTNhOGJjZDE3
ZDM2ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAt
NDgsNyArNDgsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0
cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTczLDcgKzczLDcgQEAKIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBvdXRPZkxpbmVHcm93dGhGYWN0b3IgPSAyOwogCiBzdHJ1Y3QgUHJv
cGVydHlNYXBFbnRyeSB7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCoga2V5OworICAgIFVuaXF1ZWRT
dHJpbmdJbXBsKiBrZXk7CiAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OwogICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXM7CiAKQEAgLTg0LDcgKzg0LDcgQEAgc3RydWN0IFByb3BlcnR5TWFwRW50cnkg
ewogICAgIHsKICAgICB9CiAgICAgCi0gICAgUHJvcGVydHlNYXBFbnRyeShBdG9taWNTdHJpbmdJ
bXBsKiBrZXksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQgYXR0cmlidXRlcykKKyAg
ICBQcm9wZXJ0eU1hcEVudHJ5KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgdW5zaWduZWQgYXR0cmlidXRlcykKICAgICAgICAgOiBrZXkoa2V5KQogICAgICAg
ICAsIG9mZnNldChvZmZzZXQpCiAgICAgICAgICwgYXR0cmlidXRlcyhhdHRyaWJ1dGVzKQpAQCAt
MTMzLDcgKzEzMyw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewog
ICAgIHN0YXRpYyB2b2lkIGR1bXBTdGF0aXN0aWNzKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUq
LCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiwgUHV0
UHJvcGVydHlTbG90OjpDb250ZXh0ID0gUHV0UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCk7
Ci0gICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVy
ZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShT
dHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwpAQCAtMjg4LDggKzI4OCw4IEBAIGNsYXNzIFN0cnVjdHVy
ZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+
CiAgICAgdm9pZCBmb3JFYWNoUHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYpOwog
ICAgIAotICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBs
KiB1aWQpOwotICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRD
b25jdXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgUHJvcGVydHlPZmZzZXQg
Z2V0Q29uY3VycmVudGx5KFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1
dGVzKTsKICAgICAKICAgICBWZWN0b3I8UHJvcGVydHlNYXBFbnRyeT4gZ2V0UHJvcGVydGllc0Nv
bmN1cnJlbnRseSgpOwogICAgIApAQCAtNDgyLDcgKzQ4Miw3IEBAIGNsYXNzIFN0cnVjdHVyZSBm
aW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZN
JiwgU3RydWN0dXJlKik7CiAgICAgCi0gICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlU
cmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgQXRvbWljU3RyaW5n
SW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOworICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJ
bXBsKFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAKICAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBzdHJ1
Y3R1cmUgdGhhdCBoYXMgYSB1c2FibGUgcHJvcGVydHkgdGFibGUsIHRoYXQgcHJvcGVydHkgdGFi
bGUsCiAgICAgLy8gYW5kIHRoZSBsaXN0IG9mIHN0cnVjdHVyZXMgdGhhdCB3ZSB2aXNpdGVkIGJl
Zm9yZSB3ZSBnb3QgdG8gaXQuIElmIGl0IHJldHVybnMgYQpAQCAtNTkwLDcgKzU5MCw3IEBAIGNs
YXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgV3JpdGVCYXJyaWVy
PEpTQ2VsbD4gbV9wcmV2aW91c09yUmFyZURhdGE7CiAKLSAgICBSZWZQdHI8QXRvbWljU3RyaW5n
SW1wbD4gbV9uYW1lSW5QcmV2aW91czsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1f
bmFtZUluUHJldmlvdXM7CiAKICAgICBjb25zdCBDbGFzc0luZm8qIG1fY2xhc3NJbmZvOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKaW5k
ZXggZjE3YmMxYjE3YTQwMWMwZGM4OTE4YzZkYjgzMzljNTMzMTA4NTIzMC4uNWMzYWVkNzcxNTFh
OWIyMzdiNjc2YWFhZGVjNWJjMDExNjJjZjc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQg
U3RydWN0dXJlOjpmb3JFYWNoUHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYgZnVu
Y3RvcikKICAgICB9CiB9CiAKLWlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENv
bmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgUHJvcGVydHlPZmZzZXQg
U3RydWN0dXJlOjpnZXRDb25jdXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAg
ICB1bnNpZ25lZCBhdHRyaWJ1dGVzSWdub3JlZDsKICAgICByZXR1cm4gZ2V0Q29uY3VycmVudGx5
KHVpZCwgYXR0cmlidXRlc0lnbm9yZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCAyM2M2Y2EzMGRm
YTM4ZTQwMmI5OTU2OGE2MzAxZjUzN2U4MjA1OGZlLi4zMmM5OTJkYWY3MTQ0MzVjYjliMjE5Nzdj
YjU3OGUyMzU0YTY0MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaApAQCAtMjksNyArMjksNyBAQAogI2lu
Y2x1ZGUgIkluZGV4aW5nVHlwZS5oIgogI2luY2x1ZGUgIldlYWtHQ01hcC5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoRnVuY3Rpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSW1w
bC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCkBAIC05MywxMSArOTMsMTEgQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlIHsKIAogICAgIAogICAgIHN0cnVjdCBIYXNoIHsKLSAgICAgICAgdHlwZWRlZiBzdGQ6OnBh
aXI8QXRvbWljU3RyaW5nSW1wbCosIHVuc2lnbmVkPiBLZXk7CisgICAgICAgIHR5cGVkZWYgc3Rk
OjpwYWlyPFVuaXF1ZWRTdHJpbmdJbXBsKiwgdW5zaWduZWQ+IEtleTsKICAgICAgICAgCiAgICAg
ICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEtleSYgcCkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIFB0ckhhc2g8QXRvbWljU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsg
cC5zZWNvbmQ7CisgICAgICAgICAgICByZXR1cm4gUHRySGFzaDxVbmlxdWVkU3RyaW5nSW1wbCo+
OjpoYXNoKHAuZmlyc3QpICsgcC5zZWNvbmQ7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMg
Ym9vbCBlcXVhbChjb25zdCBLZXkmIGEsIGNvbnN0IEtleSYgYikKQEAgLTEzMCw4ICsxMzAsOCBA
QCBjbGFzcyBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUgewogICAgIH0KIAogICAgIGlubGluZSB2
b2lkIGFkZChWTSYsIFN0cnVjdHVyZSopOwotICAgIGlubGluZSBib29sIGNvbnRhaW5zKEF0b21p
Y1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7Ci0gICAgaW5saW5l
IFN0cnVjdHVyZSogZ2V0KEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRl
cykgY29uc3Q7CisgICAgaW5saW5lIGJvb2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJl
cCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CisgICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0
KFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OwogCiBw
cml2YXRlOgogICAgIGJvb2wgaXNVc2luZ1NpbmdsZVNsb3QoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N5bWJvbC5jcHAKaW5kZXggNmQ3OWQxYzQ2MTZkN2M5NjAzODM2YTIz
NWU1NzcxMTJhY2YwZTM0ZC4uMjViM2NhN2M2MWIyZGUxZDZkMDQxNTI5N2FjYzI4NzE5ZDIwN2Qw
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCkBAIC00MywxMSAr
NDMsMTEgQEAKIAogU3ltYm9sOjpTeW1ib2woVk0mIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykK
ICAgICA6IEJhc2Uodm0sIHZtLnN5bWJvbFN0cnVjdHVyZS5nZXQoKSkKLSAgICAsIG1fcHJpdmF0
ZU5hbWUoc3RyaW5nKQorICAgICwgbV9wcml2YXRlTmFtZShQcml2YXRlTmFtZTo6RGVzY3JpcHRp
b24sIHN0cmluZykKIHsKIH0KIAotU3ltYm9sOjpTeW1ib2woVk0mIHZtLCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQpCitTeW1ib2w6OlN5bWJvbChWTSYgdm0sIFN5bWJvbEltcGwqIHVpZCkKICAgICA6
IEJhc2Uodm0sIHZtLnN5bWJvbFN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1fcHJpdmF0ZU5hbWUo
dWlkKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCAxOWI2ZjRm
MmZjYWJmMDZjMTkyOGY5MGJjODg2YWZjMDRhYzNkMTI0Li43ZDUyY2E5YmMwZGQyMGE5NmMxZTU4
Nzc5NzRlYjE1ZTAxODhlNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wu
aApAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICAgICAgcmV0dXJuIHN5bWJvbDsKICAgICB9CiAKLSAgICBzdGF0aWMgU3ltYm9sKiBjcmVh
dGUoVk0mIHZtLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgc3RhdGljIFN5bWJvbCogY3Jl
YXRlKFZNJiB2bSwgU3ltYm9sSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgU3ltYm9sKiBzeW1i
b2wgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTeW1ib2w+KHZtLmhlYXApKSBTeW1ib2wo
dm0sIHVpZCk7CiAgICAgICAgIHN5bWJvbC0+ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtODUsNyAr
ODUsNyBAQCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIAogICAgIFN5bWJv
bChWTSYpOwogICAgIFN5bWJvbChWTSYsIGNvbnN0IFN0cmluZyYpOwotICAgIFN5bWJvbChWTSYs
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgU3ltYm9sKFZNJiwgU3ltYm9sSW1wbCogdWlk
KTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAppbmRleCA1
MzYzYjliNjk1NWIyNDE1MTE5YTQwMjc2NjNjMGI1ODczNGZkNzEyLi4wZDJiN2Q4MGE4OGNmZGRk
ZjM4NTNjNGI5NzRkYWVjNjViOGEyMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCkBAIC02Miw3ICs2Miw3IEBACiB9CiAK
ICNkZWZpbmUgSU5JVElBTElaRV9XRUxMX0tOT1dOX1NZTUJPTFMobmFtZSkgXAotICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25h
bWUpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSMjU3ltYm9sLmlt
cGwoKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKKyAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICNuYW1lKSwg
U3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lIyNTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KTsKIAogdm9pZCBTeW1ib2xDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBT
eW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKQEAgLTEwOCw4ICsxMDgsOCBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN5bWJvbENvbnN0cnVjdG9yRm9yKEV4ZWNTdGF0ZSogZXhl
YykKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1wbD4gdWlkID0gZXhl
Yy0+dm0oKS5zeW1ib2xSZWdpc3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8
QXRvbWljU3RyaW5nSW1wbCo+KCZ1aWQuZ2V0KCkpKSk7CisgICAgUmVmPFN5bWJvbEltcGw+IHVp
ZCA9IGV4ZWMtPnZtKCkuc3ltYm9sUmVnaXN0cnkoKS5zeW1ib2xGb3JLZXkoc3RyaW5nKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKFN5bWJvbDo6Y3JlYXRlKGV4ZWMtPnZtKCksICZ1aWQu
Z2V0KCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1
Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xMTgsOCArMTE4LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgaWYgKCFzeW1ib2xWYWx1ZS5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCA9IGFzU3ltYm9sKHN5bWJvbFZhbHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAg
ICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKKyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJv
bChzeW1ib2xWYWx1ZSktPnByaXZhdGVOYW1lKCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJv
bFJlZ2lzdHJ5KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRh
YmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcApp
bmRleCA1OTMyZTYxNDYxMWEwMzNiMTE2ZGJmOWU1ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFm
N2EwNzkxNWM0ZjY0OGNjZTM3Zjg4Y2FhZmEyMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1i
b2xUYWJsZTo6cHJlcGFyZUZvclR5cGVQcm9maWxpbmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tl
ciYpCiAgICAgfQogfQogCi1HbG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZv
clZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZN
JiB2bSkKK0dsb2JhbFZhcmlhYmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUo
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2
bSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAg
LTIzOCw3ICsyMzgsNyBAQCBHbG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZv
ck9mZnNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9i
YWxUeXBlU2V0Rm9yVmFyaWFibGUobG9ja2VyLCBpdGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQog
Ci1SZWZQdHI8VHlwZVNldD4gU3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZt
KQorUmVmUHRyPFR5cGVTZXQ+IFN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUo
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5
LCBWTSYgdm0pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4
OWNhYzYwNDQ0MDQwZGFjYjNmZjZlZmZkYzZmZGZkMzU4ZjBjZDVmLi45ZjBiYzRlNDNlYjlkN2Q2
NGEyN2Q5MWQ4OWI4MGE5OTZlODA0MTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTM5LDcgKzM5LDcgQEAKICNpbmNsdWRlICJXYXRjaHBvaW50
LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+Ci0jaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRT
dHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC00MjQsMTAgKzQyNCwxMCBAQCBj
bGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgdHlwZWRlZiBI
YXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJl
cEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+PiwgU3ltYm9sVGFibGVJbmRleEhh
c2hUcmFpdHM+IE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBH
bG9iYWxWYXJpYWJsZUlELCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7Ci0gICAgdHlw
ZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlm
aWVyUmVwSGFzaD4gVW5pcXVlVHlwZVNldE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zm
c2V0LCBSZWZQdHI8U3RyaW5nSW1wbD4+IE9mZnNldFRvVmFyaWFibGVNYXA7CisgICAgdHlwZWRl
ZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElk
ZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+LCBT
eW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJZGVudGlmaWVyUmVwSGFz
aD4gVW5pcXVlSURNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5n
SW1wbD4sIFJlZlB0cjxUeXBlU2V0PiwgSWRlbnRpZmllclJlcEhhc2g+IFVuaXF1ZVR5cGVTZXRN
YXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFZhck9mZnNldCwgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJ
bXBsPj4gT2Zmc2V0VG9WYXJpYWJsZU1hcDsKICAgICB0eXBlZGVmIFZlY3RvcjxTeW1ib2xUYWJs
ZUVudHJ5Kj4gTG9jYWxUb0VudHJ5VmVjOwogCiAgICAgc3RhdGljIFN5bWJvbFRhYmxlKiBjcmVh
dGUoVk0mIHZtKQpAQCAtNDUzLDMzICs0NTMsMzMgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwg
OiBwdWJsaWMgSlNDZWxsIHsKICAgICB9CiAKICAgICAvLyBZb3UgbXVzdCBob2xkIHRoZSBsb2Nr
IHVudGlsIGFmdGVyIHlvdSdyZSBkb25lIHdpdGggdGhlIGl0ZXJhdG9yLgotICAgIE1hcDo6aXRl
cmF0b3IgZmluZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQor
ICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVl
ZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5maW5kKGtleSk7
CiAgICAgfQogICAgIAotICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJy
ZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3IgZmluZChj
b25zdCBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAg
IFN5bWJvbFRhYmxlRW50cnkgZ2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJ
bXBsKiBrZXkpCisgICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9t
YXAuZ2V0KGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KFN0cmlu
Z0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGdldChVbmlxdWVkU3RyaW5nSW1wbCog
a2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsK
ICAgICAgICAgcmV0dXJuIGdldChsb2NrZXIsIGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJv
bFRhYmxlRW50cnkgaW5saW5lR2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJ
bXBsKiBrZXkpCisgICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1
cm4gbV9tYXAuaW5saW5lR2V0KGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50
cnkgaW5saW5lR2V0KFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGlu
ZUdldChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJ
VExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGlubGluZUdldChsb2NrZXIs
IGtleSk7CkBAIC01NTksNyArNTU5LDcgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHRha2VOZXh0U2NvcGVPZmZzZXQobG9ja2VyKTsK
ICAgICB9CiAgICAgCi0gICAgdm9pZCBhZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0
cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBh
ZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNv
bnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIW1fbG9jYWxUb0VudHJ5KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9m
ZnNldCgpKTsKQEAgLTU2NywzMSArNTY3LDMxIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDog
cHVibGljIEpTQ2VsbCB7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNO
ZXdFbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgYWRkKFN0cmluZ0ltcGwqIGtleSwgY29u
c3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBhZGQoVW5pcXVlZFN0cmluZ0lt
cGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBD
b25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICBhZGQobG9ja2VyLCBr
ZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzZXQoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkp
CisgICAgdm9pZCBzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJ
bXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIW1fbG9jYWxUb0VudHJ5KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0
KGVudHJ5LnZhck9mZnNldCgpKTsKICAgICAgICAgbV9tYXAuc2V0KGtleSwgZW50cnkpOwogICAg
IH0KICAgICAKLSAgICB2b2lkIHNldChTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxl
RW50cnkmIGVudHJ5KQorICAgIHZvaWQgc2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0
IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExv
Y2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgc2V0KGxvY2tlciwga2V5LCBlbnRyeSk7CiAg
ICAgfQogICAgIAotICAgIGJvb2wgY29udGFpbnMoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYs
IFN0cmluZ0ltcGwqIGtleSkKKyAgICBib29sIGNvbnRhaW5zKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
bWFwLmNvbnRhaW5zKGtleSk7CiAgICAgfQogICAgIAotICAgIGJvb2wgY29udGFpbnMoU3RyaW5n
SW1wbCoga2V5KQorICAgIGJvb2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAg
ICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAg
IHJldHVybiBjb250YWlucyhsb2NrZXIsIGtleSk7CkBAIC02NDEsMTAgKzY0MSwxMCBAQCBjbGFz
cyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGNvbnN0IExvY2FsVG9F
bnRyeVZlYyYgbG9jYWxUb0VudHJ5KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImKTsKICAgICBT
eW1ib2xUYWJsZUVudHJ5KiBlbnRyeUZvcihjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU2Nv
cGVPZmZzZXQpOwogICAgIAotICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JWYXJpYWJs
ZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBWTSYpOworICAg
IEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKICAgICBHbG9iYWxWYXJpYWJs
ZUlEIHVuaXF1ZUlERm9yT2Zmc2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBWYXJPZmZz
ZXQsIFZNJik7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JPZmZzZXQoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFZhck9mZnNldCwgVk0mKTsKLSAgICBSZWZQdHI8VHlw
ZVNldD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
LCBTdHJpbmdJbXBsKiBrZXksIFZNJik7CisgICAgUmVmUHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVT
ZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0lt
cGwqIGtleSwgVk0mKTsKIAogICAgIGJvb2wgdXNlc05vblN0cmljdEV2YWwoKSB7IHJldHVybiBt
X3VzZXNOb25TdHJpY3RFdmFsOyB9CiAgICAgdm9pZCBzZXRVc2VzTm9uU3RyaWN0RXZhbChib29s
IHVzZXNOb25TdHJpY3RFdmFsKSB7IG1fdXNlc05vblN0cmljdEV2YWwgPSB1c2VzTm9uU3RyaWN0
RXZhbDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNl
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAppbmRleCAw
ZjU3ZWM0YjVlZGJiMWI5Zjc4ZGFlNjljZDc0ZTFjNjdjMzczYzU1Li5jNjFkYTJjOTAxYzNjYmU0
YzA4OTY5OWRmMzExNWQzNzk2OTdiZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9UeXBlU2V0LmNwcApAQCAtMzM0LDEzICszMzQsMTMgQEAgdm9pZCBTdHJ1Y3R1cmVTaGFwZTo6
bWFya0FzRmluYWwoKQogICAgIG1fZmluYWwgPSB0cnVlOwogfQogCi12b2lkIFN0cnVjdHVyZVNo
YXBlOjphZGRQcm9wZXJ0eShSZWZQdHI8U3RyaW5nSW1wbD4gaW1wbCkKK3ZvaWQgU3RydWN0dXJl
U2hhcGU6OmFkZFByb3BlcnR5KFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gdWlkKQogewogICAg
IEFTU0VSVCghbV9maW5hbCk7Ci0gICAgbV9maWVsZHMuYWRkKGltcGwpOworICAgIG1fZmllbGRz
LmFkZCh1aWQpOwogfQogCi1TdHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpIAor
U3RyaW5nIFN0cnVjdHVyZVNoYXBlOjpwcm9wZXJ0eUhhc2goKQogewogICAgIEFTU0VSVChtX2Zp
bmFsKTsKICAgICBpZiAobV9wcm9wZXJ0eUhhc2gpCkBAIC0zNTAsOSArMzUwLDkgQEAgU3RyaW5n
IFN0cnVjdHVyZVNoYXBlOjpwcm9wZXJ0eUhhc2goKQogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7
CiAgICAgYnVpbGRlci5hcHBlbmQobV9jb25zdHJ1Y3Rvck5hbWUpOwogICAgIGJ1aWxkZXIuYXBw
ZW5kKCc6Jyk7Ci0gICAgCi0gICAgZm9yIChhdXRvIGl0ZXIgPSBtX2ZpZWxkcy5iZWdpbigpLCBl
bmQgPSBtX2ZpZWxkcy5lbmQoKTsgaXRlciAhPSBlbmQ7ICsraXRlcikgewotICAgICAgICBTdHJp
bmcgcHJvcGVydHkgPSBTdHJpbmcoKCppdGVyKSk7CisKKyAgICBmb3IgKGF1dG8ga2V5IDogbV9m
aWVsZHMpIHsKKyAgICAgICAgU3RyaW5nIHByb3BlcnR5ID0gU3RyaW5nKHN0YXRpY19wb2ludGVy
X2Nhc3Q8U3RyaW5nSW1wbD4oa2V5KSk7CiAgICAgICAgIHByb3BlcnR5LnJlcGxhY2UoIjoiLCAi
XFw6Iik7IC8vIEVuc3VyZSB0aGF0IGhhc2goeyJmb286IiwgImJhciJ9KSAhPSBoYXNoKHsiZm9v
IiwgIjpiYXIifSkgYmVjYXVzZSB3ZSdyZSB1c2luZyBjb2xvbnMgYXMgYSBzZXBhcmF0b3IgYW5k
IGNvbG9ucyBhcmUgbGVnYWwgY2hhcmFjdGVycyBpbiBmaWVsZCBuYW1lcyBpbiBKUy4KICAgICAg
ICAgYnVpbGRlci5hcHBlbmQocHJvcGVydHkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuaAppbmRleCAyMjk3ZjFkYjI0ODU5MDVhNjRjYTkzMTk0NjVkZGFmZTgz
MWRkYjBhLi4xZDFmYjJhOWQxMjA0ZTA0OTkyMTk0N2NlZmJiNjJlMmQwODUyNGNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCkBAIC01Niw3ICs1Niw3IEBAIGNsYXNz
IFN0cnVjdHVyZVNoYXBlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RydWN0dXJlU2hhcGU+IHsKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFN0cnVjdHVyZVNoYXBlKTsgfQogICAgIFN0cmluZyBwcm9wZXJ0eUhhc2goKTsK
ICAgICB2b2lkIG1hcmtBc0ZpbmFsKCk7Ci0gICAgdm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8U3Ry
aW5nSW1wbD4pOworICAgIHZvaWQgYWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
Pik7CiAgICAgU3RyaW5nIHN0cmluZ1JlcHJlc2VudGF0aW9uKCk7CiAgICAgU3RyaW5nIHRvSlNP
TlN0cmluZygpIGNvbnN0OwogICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpT
dHJ1Y3R1cmVEZXNjcmlwdGlvbj4gaW5zcGVjdG9yUmVwcmVzZW50YXRpb24oKTsKQEAgLTcwLDgg
KzcwLDggQEAgY2xhc3MgU3RydWN0dXJlU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1Y3R1
cmVTaGFwZT4gewogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBtZXJnZShj
b25zdCBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiwgY29uc3QgUGFzc1JlZlB0cjxTdHJ1Y3R1
cmVTaGFwZT4pOwogICAgIGJvb2wgaGFzU2FtZVByb3RvdHlwZUNoYWluKFBhc3NSZWZQdHI8U3Ry
dWN0dXJlU2hhcGU+KTsKIAotICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2ZpZWxk
czsKLSAgICBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPj4gbV9vcHRpb25hbEZpZWxkczsKKyAg
ICBIYXNoU2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBt
X2ZpZWxkczsKKyAgICBIYXNoU2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZp
ZXJSZXBIYXNoPiBtX29wdGlvbmFsRmllbGRzOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4g
bV9wcm90bzsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3RyaW5nPiBtX3Byb3BlcnR5SGFzaDsKICAg
ICBTdHJpbmcgbV9jb25zdHJ1Y3Rvck5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52
Y3hwcm9qL1dURi52Y3hwcm9qIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagpp
bmRleCA0NjY5MGI4YzYyNzRhMWE3NGQyZjZlZDI2YWQxOTBkNzIyYWUxMDllLi5mY2QyYzYzNGQy
MGJjYTM3MWIwMDZiN2IzM2Q0OWMzNjc5NmQxYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZj
eHByb2oKQEAgLTEyNyw2ICsxMjcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XFN0YWNrQm91bmRzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJp
bmdQcmludFN0cmVhbS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4
dFxBdG9taWNTdHJpbmcuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRl
eHRcQXRvbWljU3RyaW5nSW1wbC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3
dGZcdGV4dFxBdG9taWNTdHJpbmdUYWJsZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlx3dGZcdGV4dFxCYXNlNjQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
d3RmXHRleHRcQ1N0cmluZy5jcHAiIC8+CkBAIC0yOTAsNyArMjkxLDkgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0cmluZ0ltcGwuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0cmluZ09wZXJhdG9ycy5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nVmlldy5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sSW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sUmVnaXN0cnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHd0Zlx0ZXh0XFVuaXF1ZWRTdHJpbmdJbXBsLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxXVEZTdHJpbmcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHd0ZlxUaHJlYWRpbmcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHd0ZlxUaHJlYWRpbmdQcmltaXRpdmVzLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dU
Ri52Y3hwcm9qLmZpbHRlcnMKaW5kZXggY2Q5MmEzMWNkN2I3YmI0NGRhZjE1ZGZhZDhkM2U1MTlj
YmYyODIxZS4uNzcxNTk5NmRmYjJiMzVkZjdiNDAwZjM4Yzc1MzJjNTM0MGY4YzNhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwpAQCAtNjYsNiArNjYsOSBA
QAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQXRvbWljU3RyaW5nLmNwcCI+
CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XEF0b21pY1N0cmluZ0ltcGwuY3BwIj4KKyAgICAg
IDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cd3RmXHRleHRcQmFzZTY0LmNwcCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTM0NSw5ICszNDgsMTUgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0cmluZ1ZpZXcuaCI+CiAgICAgICA8RmlsdGVyPnd0
ZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
d3RmXHRleHRcU3ltYm9sSW1wbC5oIj4KKyAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9s
UmVnaXN0cnkuaCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFVuaXF1ZWRTdHJpbmdJbXBs
LmgiPgorICAgICAgPEZpbHRlcj50ZXh0PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxXVEZTdHJpbmcuaCI+CiAgICAgICA8Rmls
dGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvV1RGLnZjeHByb2ovY29weS1maWxlcy5jbWQgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL2Nv
cHktZmlsZXMuY21kCmluZGV4IGVkN2JhYWY4NmU5M2YwMzcxZDQ5NTVjODNjMDAwYWZkZjY5MmQw
ZDYuLmU3ZTY1OWU4ZmY2NzdhNTYwYWY3ZDcwMzk5MzRiZDMxODMxNzhhNGUgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovY29weS1maWxlcy5jbWQKKysrIGIvU291cmNlL1dURi9X
VEYudmN4cHJvai9jb3B5LWZpbGVzLmNtZApAQCAtMjgsNiArMjgsNyBAQCBlY2hvIENvcHlpbmcg
b3RoZXIgZmlsZXMuLi4KIGZvciAlJWYgaW4gKA0KICAgICAuLlxKYXZhU2NyaXB0Q29yZVxjcmVh
dGVfaGFzaF90YWJsZQ0KICAgICB3dGZcdGV4dFxBdG9taWNTdHJpbmcuY3BwDQorICAgIHd0Zlx0
ZXh0XEF0b21pY1N0cmluZ0ltcGwuY3BwDQogICAgIHd0Zlx0ZXh0XFN0cmluZ0J1aWxkZXIuY3Bw
DQogICAgIHd0Zlx0ZXh0XFN0cmluZ0ltcGwuY3BwDQogICAgIHd0Zlx0ZXh0XFdURlN0cmluZy5j
cHANCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMjBkNThk
M2ZiZTJjNzk0YmZiZDQwNmRiMmM0NDVhMmI4MDlkZjkwLi43NDRmZTRlNzZhOGM3ZDhmNTA5YjMx
MWVhMWJmZmFlMWMzODE0MjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTc2LDYgKzc2LDkgQEAKIAkJNDMwQjQ3ODkxQUFBQUMxQTAwMTIyM0RBIC8qIFN0
cmluZ0NvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDMwQjQ3ODcxQUFBQUMxQTAwMTIyM0RBIC8qIFN0cmluZ0NvbW1vbi5oICovOyB9OwogCQk3
MEE5OTNGRTFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBBOTkzRkMxQUQ3MTUxMzAwRkE2
MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCAqLzsgfTsKIAkJNzBBOTkzRkYxQUQ3MTUxMzAwRkE2
MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MEE5OTNGRDFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnku
aCAqLzsgfTsKKwkJNzBFQ0E2MEQxQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2
MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwICovOyB9OworCQk3MEVD
QTYwRTFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MEIxQjAyNDI2ODAwNDQ5NzM5IC8qIFN5
bWJvbEltcGwuaCAqLzsgfTsKKwkJNzBFQ0E2MEYxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRT
dHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MEVDQTYwQzFCMDI0MjY4MDA0NDk3MzkgLyogVW5pcXVlZFN0cmluZ0ltcGwuaCAqLzsgfTsK
IAkJN0NCQkEwNzQxOUJCN0ZEQzAwQkJGMDI1IC8qIE9TT2JqZWN0UHRyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0JCQTA3MzE5QkI3RkRDMDBCQkYw
MjUgLyogT1NPYmplY3RQdHIuaCAqLzsgfTsKIAkJN0NERDdGRjgxODZEMjkxRTAwNzQzM0NEIC8q
IEl0ZXJhdG9yQWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDREQ3RkY3MTg2RDI5MUUwMDc0MzNDRCAvKiBJdGVyYXRvckFkYXB0b3JzLmgg
Ki87IH07CiAJCTdDREQ3RkZBMTg2RDJBNTQwMDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0REN0ZGOTE4NkQy
QTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5nZS5oICovOyB9OwpAQCAtMzYwLDYgKzM2Myw5IEBA
CiAJCTY1NDFDQUY0MTYzMERCMjYwMDZEMERFQyAvKiBDb3B5V1RGSGVhZGVycy54Y2NvbmZpZyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBDb3B5V1RGSGVhZGVycy54Y2NvbmZpZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBBOTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8q
IFN5bWJvbFJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN5bWJvbFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBBOTkz
RkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN5bWJvbFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTcwRUNBNjBBMUIwMjQyNjgwMDQ0OTczOSAvKiBBdG9taWNTdHJpbmdJbXBsLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF0b21pY1N0cmluZ0ltcGwuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYwQjFCMDI0MjY4MDA0NDk3Mzkg
LyogU3ltYm9sSW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeW1ib2xJ
bXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjBDMUIwMjQyNjgwMDQ0
OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVbmlxdWVkU3RyaW5nSW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gT1NPYmplY3RQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0NERDdGRjcxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJhdG9yQWRhcHRvcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSXRlcmF0b3JBZGFwdG9ycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZGOTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0
b3JSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVyYXRvclJhbmdl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTgsNiArOTI0LDcgQEAKIAkJCQlB
OEE0NzMxRDE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmNwcCAqLywKIAkJCQlBOEE0
NzMxRTE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmggKi8sCiAJCQkJQThBNDczMUYx
NTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0hhc2guaCAqLywKKwkJCQk3MEVDQTYwQTFC
MDI0MjY4MDA0NDk3MzkgLyogQXRvbWljU3RyaW5nSW1wbC5jcHAgKi8sCiAJCQkJQThBNDczMjAx
NTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0ltcGwuaCAqLywKIAkJCQk5QkM3MEYwNDE3
NkMzNzlEMDAxMDFERUMgLyogQXRvbWljU3RyaW5nVGFibGUuY3BwICovLAogCQkJCTlCRDhGNDBB
MTc2QzJBRDgwMDAyRDg2NSAvKiBBdG9taWNTdHJpbmdUYWJsZS5oICovLApAQCAtOTQwLDkgKzk0
NywxMSBAQAogCQkJCTkzRjE5OTNEMTlENzk1OEQwMEMyMzkwQiAvKiBTdHJpbmdWaWV3LmNwcCAq
LywKIAkJCQlBOEE0NzMyQTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nT3BlcmF0b3JzLmggKi8s
CiAJCQkJQThBNDczMkIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ1N0YXRpY3MuY3BwICovLAor
CQkJCTcwRUNBNjBCMUIwMjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggKi8sCiAJCQkJNzBB
OTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCAqLywKIAkJCQk3MEE5
OTNGRDFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuaCAqLywKIAkJCQlBOEE0NzMy
QzE1MUE4MjVCMDA0MTIzRkYgLyogVGV4dFBvc2l0aW9uLmggKi8sCisJCQkJNzBFQ0E2MEMxQjAy
NDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggKi8sCiAJCQkJQThBNDczMkQxNTFB
ODI1QjAwNDEyM0ZGIC8qIFdURlN0cmluZy5jcHAgKi8sCiAJCQkJQThBNDczMkUxNTFBODI1QjAw
NDEyM0ZGIC8qIFdURlN0cmluZy5oICovLAogCQkJKTsKQEAgLTEwMzYsNiArMTA0NSw3IEBACiAJ
CQkJQThBNDc0MzgxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0ltcGwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTlCRDhGNDBCMTc2QzJCNDcwMDAyRDg2NSAvKiBBdG9taWNTdHJpbmdUYWJs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ2OTQxOUMxNkVBQjEwQTAwMjRFMTQ2IC8qIEF1dG9k
cmFpbmVkUG9vbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBFQ0E2MEYxQjAyNDI2ODAwNDQ5NzM5
IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MTM0MDEzOTE1QjA5
MkZEMDAxRkYwQjggLyogQmFzZTY0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNBOTE1MUE4
MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0FC
MTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0uaCBpbiBIZWFkZXJzICovLApAQCAtMTE2MCw2ICsx
MTcwLDcgQEAKIAkJCQkxQTZCQjc2OTE2MkYzMDA1MDBERDE2REIgLyogU3RyZWFtQnVmZmVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQzQjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVm
ZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQzRDE1MUE4MjVCMDA0MTIzRkYgLyogU3Ry
aW5nQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzBFQ0E2MEUxQjAyNDI2ODAwNDQ5NzM5
IC8qIFN5bWJvbEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDNFMTUxQTgyNUIwMDQx
MjNGRiAvKiBTdHJpbmdDb25jYXRlbmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU5MUU4ODEx
QUIyQTAyMDAwOTk4OTVGIC8qIFNwaW5Mb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQy
QzE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLywKQEAgLTEz
NTUsNiArMTM2Niw3IEBACiAJCQkJQTc0ODc0NTIxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENoYXJh
Y3Rlckhhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MjUxNTFBODI1QjAwNDEyM0ZG
IC8qIFNpemVMaW1pdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MjcxNTFBODI1QjAw
NDEyM0ZGIC8qIFN0YWNrQm91bmRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTcwRUNBNjBEMUIw
MjQyNjgwMDQ0OTczOSAvKiBBdG9taWNTdHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZFREFDRDNEMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4QTQ3NDNDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4QTQ3NDQwMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdJbXBsLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAyMzY0ZGNlMjk0MjE0ZjU4
MmVmOTBlODQxMzcwOTU4NzQwY2FhMThkLi4zZDI4MDIxNjY4YzBiMjc5MDA3YWMxYzIwMTczOWE4
ZDQ0ZTFkYmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTI2LDcgKzEyNiw5IEBAIHNldChX
VEZfSEVBREVSUwogICAgIHRleHQvU3RyaW5nSGFzaC5oCiAgICAgdGV4dC9TdHJpbmdJbXBsLmgK
ICAgICB0ZXh0L1N0cmluZ1ZpZXcuaAorICAgIHRleHQvU3ltYm9sSW1wbC5oCiAgICAgdGV4dC9T
eW1ib2xSZWdpc3RyeS5oCisgICAgdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oCiAgICAgdGV4dC9X
VEZTdHJpbmcuaAogCiAgICAgdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMTg3LDYgKzE4
OSw3IEBAIHNldChXVEZfU09VUkNFUwogICAgIGR0b2Evc3RydG9kLmNjCiAKICAgICB0ZXh0L0F0
b21pY1N0cmluZy5jcHAKKyAgICB0ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwCiAgICAgdGV4dC9B
dG9taWNTdHJpbmdUYWJsZS5jcHAKICAgICB0ZXh0L0Jhc2U2NC5jcHAKICAgICB0ZXh0L0NTdHJp
bmcuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKaW5kZXggYmI3ZDM5ZGI5MTVkNjQ3OTZmZjQyZDU5
NDRhYWMxNzc1NzRkNjY0ZS4uMDY4OTMxZTNmMGE3MjdkZDQ1NDg3YTc4NGI1NzMxNTI1ODhmMjkx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVh
bS5oIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAppbmRleCBlODE1MzQ5NGY4YmZiMjY4
ZjgwYTVmZGYwYTA3M2M1OGFjYzc4MTYwLi5lOGJiYTYzNGIxNjRjZDNjMmU1ZWU4OGE0OGFkNGI3
MGQ2ZTE4MWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKQEAgLTM4LDYgKzM4LDcgQEAKIGNsYXNzIENT
dHJpbmc7CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBTdHJpbmdJbXBsOworY2xhc3MgVW5pcXVlZFN0
cmluZ0ltcGw7CiAKIGNsYXNzIFByaW50U3RyZWFtIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJpbnRTdHJlYW0pOwpAQCAtNzEsMTEgKzcyLDEz
IEBAIGNsYXNzIFByaW50U3RyZWFtIHsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJpbmcmKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJpbmdJbXBsKik7CiBpbmxp
bmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IEF0b21pY1N0cmlu
Z0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBiaXR3aXNlX2Nhc3Q8Y29uc3QgU3Ry
aW5nSW1wbCo+KHZhbHVlKSk7IH0KK2lubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJl
YW0mIG91dCwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwo
b3V0LCBiaXR3aXNlX2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KIGlubGluZSB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY2hhciogdmFsdWUpIHsgcHJpbnRJ
bnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPih2YWx1ZSkpOyB9CiBpbmxpbmUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIENTdHJpbmcmIHZhbHVlKSB7IHBy
aW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBDU3RyaW5nJj4odmFsdWUpKTsgfQog
aW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBTdHJpbmcmIHZhbHVl
KSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBTdHJpbmcmPih2YWx1ZSkp
OyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFN0cmluZ0lt
cGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBTdHJpbmdJ
bXBsKj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGlj
X2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KK2lubGluZSB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgVW5pcXVlZFN0cmluZ0ltcGwqIHZhbHVlKSB7
IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCo+
KHZhbHVlKSk7IH0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mLCBib29sKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJp
bnRTdHJlYW0mLCBzaWduZWQgY2hhcik7IC8vIE5PVEU6IHRoaXMgcHJpbnRzIGFzIGEgbnVtYmVy
LCBub3QgYXMgYSBjaGFyYWN0ZXI7IHVzZSBDaGFyYWN0ZXJEdW1wIGlmIHlvdSB3YW50IHRoZSBj
aGFyYWN0ZXIKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJl
YW0mLCB1bnNpZ25lZCBjaGFyKTsgLy8gTk9URTogc2VlIGFib3ZlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9B
dG9taWNTdHJpbmcuY3BwCmluZGV4IDVhYjRlMWViN2RiZWRhNmVhMzczNWQ1NGQyYzUwNjc4NTI3
MzI4NDcuLjBjNDJlNWM2YzJiMGUzOWMxODg4ZGVkY2U4NDc1Yjg0OGI3OWUxMTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKQEAgLTIzLDE0ICsyMyw4IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCiAKLSNpbmNsdWRlICJBdG9taWNT
dHJpbmdUYWJsZS5oIgotI2luY2x1ZGUgIkhhc2hTZXQuaCIKICNpbmNsdWRlICJJbnRlZ2VyVG9T
dHJpbmdDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgotI2luY2x1ZGUgIlRo
cmVhZGluZy5oIgotI2luY2x1ZGUgIldURlRocmVhZERhdGEuaCIKICNpbmNsdWRlICJkdG9hLmgi
Ci0jaW5jbHVkZSA8d3RmL3VuaWNvZGUvVVRGOC5oPgogCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAj
aW5jbHVkZSAiU3BpbkxvY2suaCIKQEAgLTM4LDQyNCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV1RG
IHsKIAotdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7Ci0KLXN0YXRpY19hc3NlcnQoc2l6ZW9mKEF0
b21pY1N0cmluZykgPT0gc2l6ZW9mKFN0cmluZyksICJBdG9taWNTdHJpbmcgYW5kIFN0cmluZyBt
dXN0IGJlIHNhbWUgc2l6ZSEiKTsKLQotI2lmIFVTRShXRUJfVEhSRUFEKQotCi1jbGFzcyBBdG9t
aWNTdHJpbmdUYWJsZUxvY2tlciA6IHB1YmxpYyBTcGluTG9ja0hvbGRlciB7Ci0gICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOwotCi0gICAgc3RhdGljIFN0
YXRpY1NwaW5Mb2NrIHNfc3RyaW5nVGFibGVMb2NrOwotcHVibGljOgotICAgIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyKCkKLSAgICAgICAgOiBTcGluTG9ja0hvbGRlcigmc19zdHJpbmdUYWJsZUxv
Y2spCi0gICAgewotICAgIH0KLX07Ci0KLVN0YXRpY1NwaW5Mb2NrIEF0b21pY1N0cmluZ1RhYmxl
TG9ja2VyOjpzX3N0cmluZ1RhYmxlTG9jazsKLQotI2Vsc2UKLQotY2xhc3MgQXRvbWljU3RyaW5n
VGFibGVMb2NrZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxl
TG9ja2VyKTsKLXB1YmxpYzoKLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcigpIHsgfQotfTsK
LQotI2VuZGlmIC8vIFVTRShXRUJfVEhSRUFEKQotCi1zdGF0aWMgQUxXQVlTX0lOTElORSBIYXNo
U2V0PFN0cmluZ0ltcGwqPiYgc3RyaW5nVGFibGUoKQotewotICAgIHJldHVybiB3dGZUaHJlYWRE
YXRhKCkuYXRvbWljU3RyaW5nVGFibGUoKS0+dGFibGUoKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5h
bWUgVCwgdHlwZW5hbWUgSGFzaFRyYW5zbGF0b3I+Ci1zdGF0aWMgaW5saW5lIFJlZjxTdHJpbmdJ
bXBsPiBhZGRUb1N0cmluZ1RhYmxlKGNvbnN0IFQmIHZhbHVlKQotewotICAgIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIGxvY2tlcjsKLQotICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjpBZGRSZXN1
bHQgYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQ8SGFzaFRyYW5zbGF0b3I+KHZhbHVlKTsK
LQotICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgbmV3bHktdHJhbnNsYXRlZCwgdGhlbiB3ZSBuZWVk
IHRvIGFkb3B0IGl0LgotICAgIC8vIFRoZSBib29sZWFuIGluIHRoZSBwYWlyIHRlbGxzIHVzIGlm
IHRoYXQgaXMgc28uCi0gICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKiphZGRSZXN1bHQuaXRlcmF0b3IpOwotICAgIHJldHVybiAqKmFkZFJlc3Vs
dC5pdGVyYXRvcjsKLX0KLQotc3RydWN0IENTdHJpbmdUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBMQ2hhciogYykKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdHJp
bmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGMpOwotICAgIH0KLQotICAgIHN0
YXRpYyBpbmxpbmUgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiByLCBjb25zdCBMQ2hhciogcykKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHIsIHMpOwotICAgIH0KLQotICAgIHN0YXRp
YyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IExDaGFyKiBjb25z
dCYgYywgdW5zaWduZWQgaGFzaCkKLSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0lt
cGw6OmNyZWF0ZShjKS5sZWFrUmVmKCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gp
OwotICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7Ci0gICAgfQotfTsKLQotUmVm
UHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKGNvbnN0IExDaGFyKiBjKQotewotICAg
IGlmICghYykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCEqYykKLSAgICAgICAg
cmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0KLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJs
ZTxjb25zdCBMQ2hhciosIENTdHJpbmdUcmFuc2xhdG9yPihjKTsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0cnVjdCBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXIgewot
ICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIHM7Ci0gICAgdW5zaWduZWQgbGVuZ3RoOwotfTsKLQot
dHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8VUNoYXI+IFVDaGFyQnVmZmVyOwotc3Ry
dWN0IFVDaGFyQnVmZmVyVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29u
c3QgVUNoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6
OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVuZ3RoKTsKLSAgICB9Ci0K
LSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBVQ2hh
ckJ1ZmZlciYgYnVmKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyLCBidWYu
cywgYnVmLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmlu
Z0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgVUNoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkK
LSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3Np
YmxlKGJ1Zi5zLCBidWYubGVuZ3RoKS5sZWFrUmVmKCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRI
YXNoKGhhc2gpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7Ci0gICAgfQot
fTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0cnVjdCBIYXNoQW5kQ2hh
cmFjdGVycyB7Ci0gICAgdW5zaWduZWQgaGFzaDsKLSAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBj
aGFyYWN0ZXJzOwotICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yIHsKLSAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJU
eXBlPiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGJ1ZmZlci5oYXNoID09IFN0cmlu
Z0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmZmVyLmNoYXJhY3RlcnMsIGJ1
ZmZlci5sZW5ndGgpKTsKLSAgICAgICAgcmV0dXJuIGJ1ZmZlci5oYXNoOwotICAgIH0KLQotICAg
IHN0YXRpYyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IEhhc2hB
bmRDaGFyYWN0ZXJzPENoYXJhY3RlclR5cGU+JiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1
cm4gV1RGOjplcXVhbChzdHJpbmcsIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKTsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9u
LCBjb25zdCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyLCB1bnNpZ25l
ZCBoYXNoKQotICAgIHsKLSAgICAgICAgbG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRlKGJ1
ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7Ci0gICAgICAgIGxvY2F0
aW9uLT5zZXRIYXNoKGhhc2gpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7
Ci0gICAgfQotfTsKLQotc3RydWN0IEhhc2hBbmRVVEY4Q2hhcmFjdGVycyB7Ci0gICAgdW5zaWdu
ZWQgaGFzaDsKLSAgICBjb25zdCBjaGFyKiBjaGFyYWN0ZXJzOwotICAgIHVuc2lnbmVkIGxlbmd0
aDsKLSAgICB1bnNpZ25lZCB1dGYxNkxlbmd0aDsKLX07Ci0KLXN0cnVjdCBIYXNoQW5kVVRGOENo
YXJhY3RlcnNUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBIYXNo
QW5kVVRGOENoYXJhY3RlcnMmIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBidWZmZXIu
aGFzaDsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYg
c3RyaW5nLCBjb25zdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMmIGJ1ZmZlcikKLSAgICB7Ci0gICAg
ICAgIGlmIChidWZmZXIudXRmMTZMZW5ndGggIT0gc3RyaW5nLT5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAvLyBJZiBidWZmZXIgY29udGFpbnMgb25seSBB
U0NJSSBjaGFyYWN0ZXJzIFVURi04IGFuZCBVVEYxNiBsZW5ndGggYXJlIHRoZSBzYW1lLgotICAg
ICAgICBpZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IGJ1ZmZlci5sZW5ndGgpIHsKLSAgICAgICAg
ICAgIGlmIChzdHJpbmctPmlzOEJpdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbExh
dGluMVdpdGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczgoKSwgYnVmZmVyLmNoYXJhY3RlcnMsIGJ1
ZmZlci5jaGFyYWN0ZXJzICsgYnVmZmVyLmxlbmd0aCk7Ci0KLSAgICAgICAgICAgIHJldHVybiBl
cXVhbFVURjE2V2l0aFVURjgoc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKSwgYnVmZmVyLmNoYXJhY3Rl
cnMsIGJ1ZmZlci5jaGFyYWN0ZXJzICsgYnVmZmVyLmxlbmd0aCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBpZiAoc3RyaW5nLT5pczhCaXQoKSkgewotICAgICAgICAgICAgY29uc3QgTENoYXIqIHN0
cmluZ0NoYXJhY3RlcnMgPSBzdHJpbmctPmNoYXJhY3RlcnM4KCk7Ci0KLSAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAg
ICAgICBBU1NFUlQoaXNBU0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOwotICAgICAgICAgICAg
ICAgIGlmIChzdHJpbmdDaGFyYWN0ZXJzW2ldICE9IGJ1ZmZlci5jaGFyYWN0ZXJzW2ldKQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgVUNoYXIqIHN0cmlu
Z0NoYXJhY3RlcnMgPSBzdHJpbmctPmNoYXJhY3RlcnMxNigpOwotCi0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIEFTU0VS
VChpc0FTQ0lJKGJ1ZmZlci5jaGFyYWN0ZXJzW2ldKSk7Ci0gICAgICAgICAgICBpZiAoc3RyaW5n
Q2hhcmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0K
LSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBI
YXNoQW5kVVRGOENoYXJhY3RlcnMmIGJ1ZmZlciwgdW5zaWduZWQgaGFzaCkKLSAgICB7Ci0gICAg
ICAgIFVDaGFyKiB0YXJnZXQ7Ci0gICAgICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdTdHJpbmcg
PSBTdHJpbmdJbXBsOjpjcmVhdGVVbmluaXRpYWxpemVkKGJ1ZmZlci51dGYxNkxlbmd0aCwgdGFy
Z2V0KTsKLQotICAgICAgICBib29sIGlzQWxsQVNDSUk7Ci0gICAgICAgIGNvbnN0IGNoYXIqIHNv
dXJjZSA9IGJ1ZmZlci5jaGFyYWN0ZXJzOwotICAgICAgICBpZiAoY29udmVydFVURjhUb1VURjE2
KCZzb3VyY2UsIHNvdXJjZSArIGJ1ZmZlci5sZW5ndGgsICZ0YXJnZXQsIHRhcmdldCArIGJ1ZmZl
ci51dGYxNkxlbmd0aCwgJmlzQWxsQVNDSUkpICE9IGNvbnZlcnNpb25PSykKLSAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgICAgIGlmIChpc0FsbEFTQ0lJKQotICAgICAg
ICAgICAgbmV3U3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlKGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIubGVuZ3RoKTsKLQotICAgICAgICBsb2NhdGlvbiA9IG5ld1N0cmluZy5yZWxlYXNlKCku
bGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9j
YXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLVJlZlB0cjxTdHJpbmdJbXBs
PiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBVQ2hhciogcywgdW5zaWduZWQgbGVuZ3RoKQotewot
ICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoIWxlbmd0aCkK
LSAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0gICAgCi0gICAgVUNoYXJCdWZm
ZXIgYnVmZmVyID0geyBzLCBsZW5ndGggfTsKLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxV
Q2hhckJ1ZmZlciwgVUNoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOwotfQotCi1SZWY8U3Ry
aW5nSW1wbD4gQXRvbWljU3RyaW5nOjphZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0
aCwgdW5zaWduZWQgZXhpc3RpbmdIYXNoKQotewotICAgIEFTU0VSVChzKTsKLSAgICBBU1NFUlQo
ZXhpc3RpbmdIYXNoKTsKLQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gKlN0cmlu
Z0ltcGw6OmVtcHR5KCk7Ci0KLSAgICBIYXNoQW5kQ2hhcmFjdGVyczxVQ2hhcj4gYnVmZmVyID0g
eyBleGlzdGluZ0hhc2gsIHMsIGxlbmd0aCB9OwotICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxl
PEhhc2hBbmRDaGFyYWN0ZXJzPFVDaGFyPiwgSGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yPFVD
aGFyPj4oYnVmZmVyKTsKLX0KLQotUmVmUHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRk
KGNvbnN0IFVDaGFyKiBzKQotewotICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAgIHdoaWxlIChzW2xlbmd0aF0gIT0gVUNo
YXIoMCkpCi0gICAgICAgICsrbGVuZ3RoOwotCi0gICAgaWYgKCFsZW5ndGgpCi0gICAgICAgIHJl
dHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotCi0gICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBz
LCBsZW5ndGggfTsKLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwgVUNo
YXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOwotfQotCi1zdHJ1Y3QgU3Vic3RyaW5nTG9jYXRp
b24gewotICAgIFN0cmluZ0ltcGwqIGJhc2VTdHJpbmc7Ci0gICAgdW5zaWduZWQgc3RhcnQ7Ci0g
ICAgdW5zaWduZWQgbGVuZ3RoOwotfTsKLQotc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3Igewot
ICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IFN1
YnN0cmluZ0xvY2F0aW9uJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBs
b2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVTdWJzdHJpbmdTaGFyaW5nSW1wbChidWZmZXIu
YmFzZVN0cmluZywgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7Ci0gICAg
ICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9t
aWModHJ1ZSk7Ci0gICAgfQotfTsKLQotc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3I4IDogU3Vi
c3RyaW5nVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgU3Vic3Ry
aW5nTG9jYXRpb24mIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6
OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJz
OCgpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMg
Ym9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdMb2Nh
dGlvbiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBi
dWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxl
bmd0aCk7Ci0gICAgfQotfTsKLQotc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3IxNiA6IFN1YnN0
cmluZ1RyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0cmlu
Z0xvY2F0aW9uJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpj
b21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczE2
KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0YXRpYyBi
b29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IFN1YnN0cmluZ0xvY2F0
aW9uJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcsIGJ1
ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJzMTYoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxl
bmd0aCk7Ci0gICAgfQotfTsKLQotUmVmUHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRk
KFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgp
Ci17Ci0gICAgaWYgKCFiYXNlU3RyaW5nKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAg
IGlmICghbGVuZ3RoIHx8IHN0YXJ0ID49IGJhc2VTdHJpbmctPmxlbmd0aCgpKQotICAgICAgICBy
ZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIHVuc2lnbmVkIG1heExlbmd0aCA9IGJh
c2VTdHJpbmctPmxlbmd0aCgpIC0gc3RhcnQ7Ci0gICAgaWYgKGxlbmd0aCA+PSBtYXhMZW5ndGgp
IHsKLSAgICAgICAgaWYgKCFzdGFydCkKLSAgICAgICAgICAgIHJldHVybiBhZGQoYmFzZVN0cmlu
Zyk7Ci0gICAgICAgIGxlbmd0aCA9IG1heExlbmd0aDsKLSAgICB9Ci0KLSAgICBTdWJzdHJpbmdM
b2NhdGlvbiBidWZmZXIgPSB7IGJhc2VTdHJpbmcsIHN0YXJ0LCBsZW5ndGggfTsKLSAgICBpZiAo
YmFzZVN0cmluZy0+aXM4Qml0KCkpCi0gICAgICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFN1
YnN0cmluZ0xvY2F0aW9uLCBTdWJzdHJpbmdUcmFuc2xhdG9yOD4oYnVmZmVyKTsKLSAgICByZXR1
cm4gYWRkVG9TdHJpbmdUYWJsZTxTdWJzdHJpbmdMb2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRv
cjE2PihidWZmZXIpOwotfQotICAgIAotdHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8
TENoYXI+IExDaGFyQnVmZmVyOwotc3RydWN0IExDaGFyQnVmZmVyVHJhbnNsYXRvciB7Ci0gICAg
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5z
LCBidWYubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBs
KiBjb25zdCYgc3RyLCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIFdURjo6ZXF1YWwoc3RyLCBidWYucywgYnVmLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3Rh
dGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgTENoYXJCdWZm
ZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKLSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmlu
Z0ltcGw6OmNyZWF0ZShidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2Nh
dGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUp
OwotICAgIH0KLX07Ci0KLXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPGNoYXI+IENo
YXJCdWZmZXI7Ci1zdHJ1Y3QgQ2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3Igewot
ICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IENoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihidWYucyksIGJ1Zi5sZW5ndGgpOwotICAgIH0K
LQotICAgIHN0YXRpYyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHIsIGNvbnN0IENo
YXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVm
LnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJp
bmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IENoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkK
LSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFs
KGJ1Zi5zLCBidWYubGVuZ3RoKS5sZWFrUmVmKCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRIYXNo
KGhhc2gpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7Ci0gICAgfQotfTsK
LQotUmVmUHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKGNvbnN0IExDaGFyKiBzLCB1
bnNpZ25lZCBsZW5ndGgpCi17Ci0gICAgaWYgKCFzKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHkoKTsK
LQotICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgcywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFk
ZFRvU3RyaW5nVGFibGU8TENoYXJCdWZmZXIsIExDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVy
KTsKLX0KLQotUmVmPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkRnJvbUxpdGVyYWxEYXRh
KGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLXsKLSAgICBBU1NFUlQo
Y2hhcmFjdGVycyk7Ci0gICAgQVNTRVJUKGxlbmd0aCk7Ci0KLSAgICBDaGFyQnVmZmVyIGJ1ZmZl
ciA9IHsgY2hhcmFjdGVycywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8
Q2hhckJ1ZmZlciwgQ2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I+KGJ1ZmZlcik7
Ci19Ci0KLVJlZjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZFNsb3dDYXNlKFN0cmluZ0lt
cGwmIHN0cmluZykKLXsKLSAgICBpZiAoIXN0cmluZy5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJu
ICpTdHJpbmdJbXBsOjplbXB0eSgpOwotCi0gICAgaWYgKHN0cmluZy5pc1N5bWJvbCgpKSB7Ci0g
ICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgICAgICByZXR1cm4gKmFkZChzdHJp
bmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICAgICAgcmV0dXJuICphZGQo
c3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcubGVuZ3RoKCkpOwotICAgIH0KLQotICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5pc0F0b21pYygpLCAiQXRvbWljU3RyaW5nIHNob3Vs
ZCBub3QgaGl0IHRoZSBzbG93IGNhc2UgaWYgdGhlIHN0cmluZyBpcyBhbHJlYWR5IGF0b21pYy4i
KTsKLQotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvIGFkZFJl
c3VsdCA9IHN0cmluZ1RhYmxlKCkuYWRkKCZzdHJpbmcpOwotCi0gICAgaWYgKGFkZFJlc3VsdC5p
c05ld0VudHJ5KSB7Ci0gICAgICAgIEFTU0VSVCgqYWRkUmVzdWx0Lml0ZXJhdG9yID09ICZzdHJp
bmcpOwotICAgICAgICBzdHJpbmcuc2V0SXNBdG9taWModHJ1ZSk7Ci0gICAgfQotCi0gICAgcmV0
dXJuICoqYWRkUmVzdWx0Lml0ZXJhdG9yOwotfQotCi1SZWY8U3RyaW5nSW1wbD4gQXRvbWljU3Ry
aW5nOjphZGRTbG93Q2FzZShBdG9taWNTdHJpbmdUYWJsZSYgc3RyaW5nVGFibGUsIFN0cmluZ0lt
cGwmIHN0cmluZykKLXsKLSAgICBpZiAoIXN0cmluZy5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJu
ICpTdHJpbmdJbXBsOjplbXB0eSgpOwotCi0gICAgaWYgKHN0cmluZy5pc1N5bWJvbCgpKSB7Ci0g
ICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgICAgICByZXR1cm4gKmFkZChzdHJp
bmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICAgICAgcmV0dXJuICphZGQo
c3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcubGVuZ3RoKCkpOwotICAgIH0KLQotICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5pc0F0b21pYygpLCAiQXRvbWljU3RyaW5nIHNob3Vs
ZCBub3QgaGl0IHRoZSBzbG93IGNhc2UgaWYgdGhlIHN0cmluZyBpcyBhbHJlYWR5IGF0b21pYy4i
KTsKLQotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvIGFkZFJl
c3VsdCA9IHN0cmluZ1RhYmxlLnRhYmxlKCkuYWRkKCZzdHJpbmcpOwotCi0gICAgaWYgKGFkZFJl
c3VsdC5pc05ld0VudHJ5KSB7Ci0gICAgICAgIEFTU0VSVCgqYWRkUmVzdWx0Lml0ZXJhdG9yID09
ICZzdHJpbmcpOwotICAgICAgICBzdHJpbmcuc2V0SXNBdG9taWModHJ1ZSk7Ci0gICAgfQotCi0g
ICAgcmV0dXJuICoqYWRkUmVzdWx0Lml0ZXJhdG9yOwotfQotCi12b2lkIEF0b21pY1N0cmluZzo6
cmVtb3ZlKFN0cmluZ0ltcGwqIHN0cmluZykKLXsKLSAgICBBU1NFUlQoc3RyaW5nLT5pc0F0b21p
YygpKTsKLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgSGFzaFNldDxT
dHJpbmdJbXBsKj4mIGF0b21pY1N0cmluZ1RhYmxlID0gc3RyaW5nVGFibGUoKTsKLSAgICBIYXNo
U2V0PFN0cmluZ0ltcGwqPjo6aXRlcmF0b3IgaXRlcmF0b3IgPSBhdG9taWNTdHJpbmdUYWJsZS5m
aW5kKHN0cmluZyk7Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpdGVyYXRvciAhPSBhdG9taWNT
dHJpbmdUYWJsZS5lbmQoKSwgIlRoZSBzdHJpbmcgYmVpbmcgcmVtb3ZlZCBpcyBhdG9taWMgaW4g
dGhlIHN0cmluZyB0YWJsZSBvZiBhbiBvdGhlciB0aHJlYWQhIik7Ci0gICAgYXRvbWljU3RyaW5n
VGFibGUucmVtb3ZlKGl0ZXJhdG9yKTsKLX0KLQogQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6
bG93ZXIoKSBjb25zdAogewogICAgIC8vIE5vdGU6IFRoaXMgaXMgYSBob3QgZnVuY3Rpb24gaW4g
dGhlIERyb21hZW8gYmVuY2htYXJrLgpAQCAtNDY4LDcgKzQ0LDcgQEAgQXRvbWljU3RyaW5nIEF0
b21pY1N0cmluZzo6bG93ZXIoKSBjb25zdAogICAgICAgICByZXR1cm4gKnRoaXM7CiAKICAgICBB
dG9taWNTdHJpbmcgcmVzdWx0OwotICAgIHJlc3VsdC5tX3N0cmluZyA9IGFkZFNsb3dDYXNlKCps
b3dlcmNhc2VkU3RyaW5nKTsKKyAgICByZXN1bHQubV9zdHJpbmcgPSBBdG9taWNTdHJpbmdJbXBs
OjphZGQobG93ZXJjYXNlZFN0cmluZy5nZXQoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApA
QCAtNTA3LDQ1ICs4MywxMCBAQCBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpjb252ZXJ0VG9B
U0NJSUxvd2VyY2FzZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAqdGhpczsKIAogICAgIEF0b21p
Y1N0cmluZyByZXN1bHQ7Ci0gICAgcmVzdWx0Lm1fc3RyaW5nID0gYWRkU2xvd0Nhc2UoKmNvbnZl
cnRlZFN0cmluZyk7CisgICAgcmVzdWx0Lm1fc3RyaW5nID0gQXRvbWljU3RyaW5nSW1wbDo6YWRk
KGNvbnZlcnRlZFN0cmluZy5nZXQoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotQXRvbWlj
U3RyaW5nSW1wbCogQXRvbWljU3RyaW5nOjpmaW5kU2xvd0Nhc2UoU3RyaW5nSW1wbCYgc3RyaW5n
KQotewotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5pc0F0b21pYygpLCAiQXRvbWlj
U3RyaW5nSW1wbHMgc2hvdWxkIHJldHVybiBmcm9tIHRoZSBmYXN0IGNhc2UuIik7Ci0KLSAgICBp
ZiAoIXN0cmluZy5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0
cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1i
b2woKSkgewotICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJu
IGZpbmRJbnRlcm5hbChzdHJpbmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAg
ICAgICAgcmV0dXJuIGZpbmRJbnRlcm5hbChzdHJpbmcuY2hhcmFjdGVyczE2KCksIHN0cmluZy5s
ZW5ndGgoKSk7Ci0gICAgfQotCi0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOwot
ICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9taWNTdHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxl
KCk7Ci0gICAgYXV0byBpdGVyYXRvciA9IGF0b21pY1N0cmluZ1RhYmxlLmZpbmQoJnN0cmluZyk7
Ci0gICAgaWYgKGl0ZXJhdG9yICE9IGF0b21pY1N0cmluZ1RhYmxlLmVuZCgpKQotICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7Ci0gICAgcmV0
dXJuIG51bGxwdHI7Ci19Ci0KLUF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50
ZXJuYWwoY29uc3QgY2hhciogY2hhcmFjdGVyc1N0YXJ0LCBjb25zdCBjaGFyKiBjaGFyYWN0ZXJz
RW5kKQotewotICAgIEhhc2hBbmRVVEY4Q2hhcmFjdGVycyBidWZmZXI7Ci0gICAgYnVmZmVyLmNo
YXJhY3RlcnMgPSBjaGFyYWN0ZXJzU3RhcnQ7Ci0gICAgYnVmZmVyLmhhc2ggPSBjYWxjdWxhdGVT
dHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhNYXNraW5nVG9wOEJpdHMoY2hhcmFjdGVyc1N0YXJ0
LCBjaGFyYWN0ZXJzRW5kLCBidWZmZXIubGVuZ3RoLCBidWZmZXIudXRmMTZMZW5ndGgpOwotCi0g
ICAgaWYgKCFidWZmZXIuaGFzaCkKLSAgICAgICAgcmV0dXJuIG51bGxBdG9tOwotCi0gICAgQXRv
bWljU3RyaW5nIGF0b21pY1N0cmluZzsKLSAgICBhdG9taWNTdHJpbmcubV9zdHJpbmcgPSBhZGRU
b1N0cmluZ1RhYmxlPEhhc2hBbmRVVEY4Q2hhcmFjdGVycywgSGFzaEFuZFVURjhDaGFyYWN0ZXJz
VHJhbnNsYXRvcj4oYnVmZmVyKTsKLSAgICByZXR1cm4gYXRvbWljU3RyaW5nOwotfQotCiBBdG9t
aWNTdHJpbmcgQXRvbWljU3RyaW5nOjpudW1iZXIoaW50IG51bWJlcikKIHsKICAgICByZXR1cm4g
bnVtYmVyVG9TdHJpbmdTaWduZWQ8QXRvbWljU3RyaW5nPihudW1iZXIpOwpAQCAtNTYyLDM3ICsx
MDMsMTQgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6bnVtYmVyKGRvdWJsZSBudW1iZXIp
CiAgICAgcmV0dXJuIFN0cmluZyhudW1iZXJUb0ZpeGVkUHJlY2lzaW9uU3RyaW5nKG51bWJlciwg
NiwgYnVmZmVyLCB0cnVlKSk7CiB9CiAKLUF0b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZzo6
ZmluZEludGVybmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi17
Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOwotICAgIGF1dG8mIHRhYmxlID0g
c3RyaW5nVGFibGUoKTsKLQotICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywg
bGVuZ3RoIH07Ci0gICAgYXV0byBpdGVyYXRvciA9IHRhYmxlLmZpbmQ8TENoYXJCdWZmZXJUcmFu
c2xhdG9yPihidWZmZXIpOwotICAgIGlmIChpdGVyYXRvciAhPSB0YWJsZS5lbmQoKSkKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi1BdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmc6OmZp
bmRJbnRlcm5hbChjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQotewot
ICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvJiB0YWJsZSA9IHN0
cmluZ1RhYmxlKCk7Ci0KLSAgICBVQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMsIGxl
bmd0aCB9OwotICAgIGF1dG8gaXRlcmF0b3IgPSB0YWJsZS5maW5kPFVDaGFyQnVmZmVyVHJhbnNs
YXRvcj4oYnVmZmVyKTsKLSAgICBpZiAoaXRlcmF0b3IgIT0gdGFibGUuZW5kKCkpCi0gICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKml0ZXJhdG9yKTsKLSAgICBy
ZXR1cm4gbnVsbHB0cjsKLX0KLQotI2lmICFBU1NFUlRfRElTQUJMRUQKLWJvb2wgQXRvbWljU3Ry
aW5nOjppc0luQXRvbWljU3RyaW5nVGFibGUoU3RyaW5nSW1wbCogc3RyaW5nKQorQXRvbWljU3Ry
aW5nIEF0b21pY1N0cmluZzo6ZnJvbVVURjhJbnRlcm5hbChjb25zdCBjaGFyKiBjaGFyYWN0ZXJz
U3RhcnQsIGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNFbmQpCiB7Ci0gICAgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIgbG9ja2VyOwotICAgIHJldHVybiBzdHJpbmdUYWJsZSgpLmNvbnRhaW5zKHN0cmlu
Zyk7CisgICAgaWYgKFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBpbXBsID0gQXRvbWljU3RyaW5n
SW1wbDo6YWRkRnJvbVVURjgoY2hhcmFjdGVyc1N0YXJ0LCBjaGFyYWN0ZXJzRW5kKSkgeworICAg
ICAgICBBdG9taWNTdHJpbmcgYXRvbWljU3RyaW5nKGltcGwuZ2V0KCkpOworICAgICAgICByZXR1
cm4gYXRvbWljU3RyaW5nOworICAgIH0KKyAgICByZXR1cm4gbnVsbEF0b207CiB9Ci0jZW5kaWYK
IAogI2lmbmRlZiBOREVCVUcKIHZvaWQgQXRvbWljU3RyaW5nOjpzaG93KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IGNiZmRjODk0NzMwOGU3MjA4MjdhNzliNTE4NjU2
OGVjYzU1MzgxNTIuLmM0ZmI2ODI1YWExNmU2Y2MxZTk0N2NjZTE0Yjk5OTc5MDQ1OWEwY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaApAQCAtMzUsNyArMzUsNiBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotY2xhc3MgQXRvbWljU3RyaW5nVGFibGU7CiBzdHJ1Y3QgQXRvbWljU3RyaW5n
SGFzaDsKIAogY2xhc3MgQXRvbWljU3RyaW5nIHsKQEAgLTQzLDMzICs0MiwzNSBAQCBjbGFzcyBB
dG9taWNTdHJpbmcgewogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBpbml0KCk7
CiAKICAgICBBdG9taWNTdHJpbmcoKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIq
IHMpIDogbV9zdHJpbmcoYWRkKHMpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgY2hhciog
cykgOiBtX3N0cmluZyhhZGQocykpIHsgfQotICAgIEF0b21pY1N0cmluZyhjb25zdCBMQ2hhciog
cywgdW5zaWduZWQgbGVuZ3RoKSA6IG1fc3RyaW5nKGFkZChzLCBsZW5ndGgpKSB7IH0KLSAgICBB
dG9taWNTdHJpbmcoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhh
ZGQocywgbGVuZ3RoKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNp
Z25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkgOiBtX3N0cmluZyhhZGQocywgbGVu
Z3RoLCBleGlzdGluZ0hhc2gpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgVUNoYXIqIHMp
IDogbV9zdHJpbmcoYWRkKHMpKSB7IH0KKyAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIqIHMp
IDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKSB7IH0KKyAgICBBdG9taWNTdHJp
bmcoY29uc3QgY2hhciogcykgOiBtX3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQocykpIHsg
fQorICAgIEF0b21pY1N0cmluZyhjb25zdCBMQ2hhciogcywgdW5zaWduZWQgbGVuZ3RoKSA6IG1f
c3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzLCBsZW5ndGgpKSB7IH0KKyAgICBBdG9taWNT
dHJpbmcoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhBdG9taWNT
dHJpbmdJbXBsOjphZGQocywgbGVuZ3RoKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IFVD
aGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkgOiBtX3N0cmlu
ZyhBdG9taWNTdHJpbmdJbXBsOjphZGQocywgbGVuZ3RoLCBleGlzdGluZ0hhc2gpKSB7IH0KKyAg
ICBBdG9taWNTdHJpbmcoY29uc3QgVUNoYXIqIHMpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1w
bDo6YWRkKHMpKSB7IH0KIAogICAgIHRlbXBsYXRlPHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KICAg
ICBleHBsaWNpdCBBdG9taWNTdHJpbmcoY29uc3QgVmVjdG9yPFVDaGFyLCBpbmxpbmVDYXBhY2l0
eT4mIGNoYXJhY3RlcnMpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkKGNoYXJhY3RlcnMuZGF0YSgp
LCBjaGFyYWN0ZXJzLnNpemUoKSkpCisgICAgICAgIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1w
bDo6YWRkKGNoYXJhY3RlcnMuZGF0YSgpLCBjaGFyYWN0ZXJzLnNpemUoKSkpCiAgICAgewogICAg
IH0KIAotICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhTdHJpbmdJbXBs
KiBpbXApIDogbV9zdHJpbmcoYWRkKGltcCkpIHsgfQotICAgIEF0b21pY1N0cmluZyhBdG9taWNT
dHJpbmdJbXBsKiBpbXApIDogbV9zdHJpbmcoaW1wKSB7IH0KLSAgICBBVE9NSUNTVFJJTkdfQ09O
VkVSU0lPTiBBdG9taWNTdHJpbmcoY29uc3QgU3RyaW5nJiBzKSA6IG1fc3RyaW5nKGFkZChzLmlt
cGwoKSkpIHsgfQotICAgIEF0b21pY1N0cmluZyhTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoKSA6IG1fc3RyaW5nKGFkZChiYXNlU3RyaW5nLCBz
dGFydCwgbGVuZ3RoKSkgeyB9CisgICAgQVRPTUlDU1RSSU5HX0NPTlZFUlNJT04gQXRvbWljU3Ry
aW5nKFN0cmluZ0ltcGwqIGltcCkgOiBtX3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQoaW1w
KSkgeyB9CisgICAgQVRPTUlDU1RSSU5HX0NPTlZFUlNJT04gQXRvbWljU3RyaW5nKGNvbnN0IFN0
cmluZyYgcykgOiBtX3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQocy5pbXBsKCkpKSB7IH0K
KyAgICBBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0cmluZywgdW5zaWduZWQgc3RhcnQs
IHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQoYmFzZVN0
cmluZywgc3RhcnQsIGxlbmd0aCkpIHsgfQorCisgICAgLy8gRklYTUU6IEF0b21pY1N0cmluZyBt
YXkgaGF2ZSBlaXRoZXIgU3ltYm9sSW1wbCBvciBBdG9taWNTdHJpbmdJbXBsLgorICAgIEF0b21p
Y1N0cmluZyhVbmlxdWVkU3RyaW5nSW1wbCogaW1wKSA6IG1fc3RyaW5nKGltcCkgeyB9CiAKICAg
ICBlbnVtIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnIHsgQ29uc3RydWN0RnJvbUxpdGVyYWwgfTsK
ICAgICBBdG9taWNTdHJpbmcoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3Ro
LCBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZykKLSAgICAgICAgOiBtX3N0cmluZyhhZGRGcm9tTGl0
ZXJhbERhdGEoY2hhcmFjdGVycywgbGVuZ3RoKSkKKyAgICAgICAgOiBtX3N0cmluZyhBdG9taWNT
dHJpbmdJbXBsOjphZGRGcm9tTGl0ZXJhbERhdGEoY2hhcmFjdGVycywgbGVuZ3RoKSkKICAgICB7
CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dW5zaWduZWQgY2hhcmFjdGVyc0NvdW50PgogICAgIEFM
V0FZU19JTkxJTkUgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIgKCZjaGFyYWN0ZXJzKVtjaGFyYWN0
ZXJzQ291bnRdLCBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZykKLSAgICAgICAgOiBtX3N0cmluZyhh
ZGRGcm9tTGl0ZXJhbERhdGEoY2hhcmFjdGVycywgY2hhcmFjdGVyc0NvdW50IC0gMSkpCisgICAg
ICAgIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJh
Y3RlcnMsIGNoYXJhY3RlcnNDb3VudCAtIDEpKQogICAgIHsKICAgICAgICAgQ09NUElMRV9BU1NF
UlQoY2hhcmFjdGVyc0NvdW50ID4gMSwgQXRvbWljU3RyaW5nRnJvbUxpdGVyYWxOb3RFbXB0eSk7
CiAgICAgICAgIENPTVBJTEVfQVNTRVJUKChjaGFyYWN0ZXJzQ291bnQgLSAxIDw9ICgodW5zaWdu
ZWQofjApIC0gc2l6ZW9mKFN0cmluZ0ltcGwpKSAvIHNpemVvZihMQ2hhcikpKSwgQXRvbWljU3Ry
aW5nRnJvbUxpdGVyYWxDYW5ub3RPdmVyZmxvdyk7CkBAIC04NiwyMSArODcsNiBAQCBjbGFzcyBB
dG9taWNTdHJpbmcgewogICAgIEF0b21pY1N0cmluZyhXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1
ZVR5cGUpIDogbV9zdHJpbmcoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWUpIHsgfQogICAgIGJv
b2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5pc0hh
c2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiAKLSAgICBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCog
ZmluZChMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGZpbmRJbnRlcm5hbChjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIH0KLSAgICBzdGF0
aWMgQXRvbWljU3RyaW5nSW1wbCogZmluZChVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVu
Z3RoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZpbmRJbnRlcm5hbChjaGFyYWN0ZXJzLCBsZW5n
dGgpOwotICAgIH0KLSAgICBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogZmluZChTdHJpbmdJbXBs
KiBzdHJpbmcpCi0gICAgewotICAgICAgICBpZiAoIXN0cmluZyB8fCBzdHJpbmctPmlzQXRvbWlj
KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHN0
cmluZyk7Ci0gICAgICAgIHJldHVybiBmaW5kU2xvd0Nhc2UoKnN0cmluZyk7Ci0gICAgfQotCiAg
ICAgb3BlcmF0b3IgY29uc3QgU3RyaW5nJigpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nOyB9CiAg
ICAgY29uc3QgU3RyaW5nJiBzdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZzsgfTsKIApA
QCAtMTEwLDcgKzk2LDcgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICBjb25zdCBMQ2hhciog
Y2hhcmFjdGVyczgoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5jaGFyYWN0ZXJzOCgpOyB9CiAg
ICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMxNigpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmNo
YXJhY3RlcnMxNigpOyB9CiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9z
dHJpbmcubGVuZ3RoKCk7IH0KLSAgICAKKwogICAgIFVDaGFyIG9wZXJhdG9yW10odW5zaWduZWQg
aW50IGkpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nW2ldOyB9CiAKICAgICBXVEZfRVhQT1JUX1NU
UklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZyBudW1iZXIoaW50KTsKQEAgLTE2Myw3ICsxNDks
NyBAQCBjbGFzcyBBdG9taWNTdHJpbmcgewogICAgIHRlbXBsYXRlPHVuc2lnbmVkIG1hdGNoTGVu
Z3RoPgogICAgIGJvb2wgZW5kc1dpdGgoY29uc3QgY2hhciAoJnByZWZpeClbbWF0Y2hMZW5ndGhd
LCBib29sIGNhc2VTZW5zaXRpdmUgPSB0cnVlKSBjb25zdAogICAgICAgICB7IHJldHVybiBtX3N0
cmluZy5lbmRzV2l0aDxtYXRjaExlbmd0aD4ocHJlZml4LCBjYXNlU2Vuc2l0aXZlKTsgfQotICAg
IAorCiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIEF0b21pY1N0cmluZyBjb252ZXJ0VG9BU0NJ
SUxvd2VyY2FzZSgpIGNvbnN0OwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBBdG9taWNTdHJp
bmcgbG93ZXIoKSBjb25zdDsKICAgICBBdG9taWNTdHJpbmcgdXBwZXIoKSBjb25zdCB7IHJldHVy
biBBdG9taWNTdHJpbmcoaW1wbCgpLT51cHBlcigpKTsgfQpAQCAtMTc2LDEzICsxNjIsMTEgQEAg
Y2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9z
dHJpbmcuaXNFbXB0eSgpOyB9CiAKLSAgICBzdGF0aWMgdm9pZCByZW1vdmUoU3RyaW5nSW1wbCop
OwotICAgIAogI2lmIFVTRShDRikKLSAgICBBdG9taWNTdHJpbmcoQ0ZTdHJpbmdSZWYgcykgOiAg
bV9zdHJpbmcoYWRkKHMpKSB7IH0KKyAgICBBdG9taWNTdHJpbmcoQ0ZTdHJpbmdSZWYgcykgOiAg
bV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKSB7IH0KICNlbmRpZiAgICAKICNpZmRl
ZiBfX09CSkNfXwotICAgIEF0b21pY1N0cmluZyhOU1N0cmluZyogcykgOiBtX3N0cmluZyhhZGQo
KENGU3RyaW5nUmVmKXMpKSB7IH0KKyAgICBBdG9taWNTdHJpbmcoTlNTdHJpbmcqIHMpIDogbV9z
dHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKChDRlN0cmluZ1JlZilzKSkgeyB9CiAgICAgb3Bl
cmF0b3IgTlNTdHJpbmcqKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KICNlbmRpZgogCkBA
IC0xOTUsNzEgKzE3OSwxNyBAQCBjbGFzcyBBdG9taWNTdHJpbmcgewogICAgIHZvaWQgc2hvdygp
IGNvbnN0OwogI2VuZGlmCiAKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0
cjxTdHJpbmdJbXBsPiBhZGQoY29uc3QgTENoYXIqKTsKLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRp
YyBSZWZQdHI8U3RyaW5nSW1wbD4gYWRkKGNvbnN0IGNoYXIqIHMpIHsgcmV0dXJuIGFkZChyZWlu
dGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocykpOyB9OwotICAgIFdURl9FWFBPUlRfU1RSSU5H
X0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBMQ2hhciosIHVuc2lnbmVk
IGxlbmd0aCk7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8U3RyaW5n
SW1wbD4gYWRkKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKLSAgICBBTFdBWVNfSU5M
SU5FIHN0YXRpYyBSZWZQdHI8U3RyaW5nSW1wbD4gYWRkKGNvbnN0IGNoYXIqIHMsIHVuc2lnbmVk
IGxlbmd0aCkgeyByZXR1cm4gYWRkKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihzKSwg
bGVuZ3RoKTsgfTsKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJ
bXBsPiBhZGQoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0aW5n
SGFzaCk7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8U3RyaW5nSW1w
bD4gYWRkKGNvbnN0IFVDaGFyKik7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBS
ZWZQdHI8U3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwqLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2ln
bmVkIGxlbmd0aCk7Ci0gICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+
IGFkZChTdHJpbmdJbXBsKiBzdHJpbmcpCi0gICAgewotICAgICAgICBpZiAoIXN0cmluZykKLSAg
ICAgICAgICAgIHJldHVybiBzdHJpbmc7Ci0gICAgICAgIHJldHVybiBhZGQoKnN0cmluZyk7Ci0g
ICAgfQotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGFk
ZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgp
OwotI2lmIFVTRShDRikKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxT
dHJpbmdJbXBsPiBhZGQoQ0ZTdHJpbmdSZWYpOwotI2VuZGlmCi0KLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBTdHJpbmdUYWJsZVByb3ZpZGVyPgotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0
cjxTdHJpbmdJbXBsPiBhZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcihTdHJpbmdUYWJsZVByb3Zp
ZGVyJiBzdHJpbmdUYWJsZVByb3ZpZGVyLCBTdHJpbmdJbXBsKiBzdHJpbmcpCi0gICAgewotICAg
ICAgICBpZiAoIXN0cmluZykKLSAgICAgICAgICAgIHJldHVybiBzdHJpbmc7Ci0gICAgICAgIHJl
dHVybiBhZGQoKnN0cmluZ1RhYmxlUHJvdmlkZXIuYXRvbWljU3RyaW5nVGFibGUoKSwgKnN0cmlu
Zyk7Ci0gICAgfQotCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgIFdURl9FWFBPUlRfU1RSSU5H
X0FQSSBzdGF0aWMgYm9vbCBpc0luQXRvbWljU3RyaW5nVGFibGUoU3RyaW5nSW1wbCopOwotI2Vu
ZGlmCi0KIHByaXZhdGU6CiAgICAgLy8gVGhlIGV4cGxpY2l0IGNvbnN0cnVjdG9ycyB3aXRoIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwgbXVzdCBiZSB1c2VkIGZvciBsaXRlcmFs
cy4KICAgICBBdG9taWNTdHJpbmcoQVNDSUlMaXRlcmFsKTsKIAotICAgIFN0cmluZyBtX3N0cmlu
ZzsKLQotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZGQoU3RyaW5n
SW1wbCYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKHN0cmluZy5pc0F0b21pYygpKSB7Ci0g
ICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwgaXNJbkF0
b21pY1N0cmluZ1RhYmxlKCZzdHJpbmcpLCAiVGhlIGF0b21pYyBzdHJpbmcgY29tZXMgZnJvbSBh
biBvdGhlciB0aHJlYWQhIik7Ci0gICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmcpOwotICAgIH0KLQotICAgIEFMV0FZ
U19JTkxJTkUgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZGQoQXRvbWljU3RyaW5nVGFibGUmIHN0
cmluZ1RhYmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCi0gICAgewotICAgICAgICBpZiAoc3RyaW5n
LmlzQXRvbWljKCkpIHsKLSAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5s
ZW5ndGgoKSB8fCBpc0luQXRvbWljU3RyaW5nVGFibGUoJnN0cmluZyksICJUaGUgYXRvbWljIHN0
cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKLSAgICAgICAgICAgIHJldHVybiBz
dHJpbmc7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGFkZFNsb3dDYXNlKHN0cmluZ1RhYmxl
LCBzdHJpbmcpOwotICAgIH0KLQotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVm
PFN0cmluZ0ltcGw+IGFkZFNsb3dDYXNlKFN0cmluZ0ltcGwmKTsKLSAgICBXVEZfRVhQT1JUX1NU
UklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZGRTbG93Q2FzZShBdG9taWNTdHJpbmdU
YWJsZSYsIFN0cmluZ0ltcGwmKTsKLQotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMg
QXRvbWljU3RyaW5nSW1wbCogZmluZFNsb3dDYXNlKFN0cmluZ0ltcGwmKTsKICAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZyBmcm9tVVRGOEludGVybmFsKGNvbnN0
IGNoYXIqLCBjb25zdCBjaGFyKik7CiAKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IEF0b21pY1N0cmluZ0ltcGwqIGZpbmRJbnRlcm5hbChjb25zdCBMQ2hhciosIHVuc2lnbmVkIGxl
bmd0aCk7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBs
KiBmaW5kSW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIFN0cmlu
ZyBtX3N0cmluZzsKIH07CiAKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKEF0b21pY1N0cmluZykgPT0g
c2l6ZW9mKFN0cmluZyksICJBdG9taWNTdHJpbmcgYW5kIFN0cmluZyBtdXN0IGJlIHNhbWUgc2l6
ZSEiKTsKKwogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBBdG9taWNTdHJpbmcmIGEsIGNv
bnN0IEF0b21pY1N0cmluZyYgYikgeyByZXR1cm4gYS5pbXBsKCkgPT0gYi5pbXBsKCk7IH0KIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBMQ2hhciopOwogaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBBdG9taWNTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpIHsg
cmV0dXJuIFdURjo6ZXF1YWwoYS5pbXBsKCksIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PihiKSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1w
bC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRlNTQ1OTRiM2U3MjMxNDQxZDg1ZWEyOTU5Y2Q4M2I4YmZhYjU1ZjMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwCkBAIC0wLDAg
KzEsNTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDgsIDIwMTMtMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUGF0cmlj
ayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVz
dWtlIFN1enVraTx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkF0b21pY1N0cmluZ0ltcGwuaCIKKwor
I2luY2x1ZGUgIkF0b21pY1N0cmluZ1RhYmxlLmgiCisjaW5jbHVkZSAiSGFzaFNldC5oIgorI2lu
Y2x1ZGUgIkludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uaCIKKyNpbmNsdWRlICJTdHJpbmdIYXNo
LmgiCisjaW5jbHVkZSAiVGhyZWFkaW5nLmgiCisjaW5jbHVkZSAiV1RGVGhyZWFkRGF0YS5oIgor
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VURjguaD4KKworI2lmIFVTRShXRUJfVEhSRUFEKQorI2lu
Y2x1ZGUgIlNwaW5Mb2NrLmgiCisjZW5kaWYKKworbmFtZXNwYWNlIFdURiB7CisKK3VzaW5nIG5h
bWVzcGFjZSBVbmljb2RlOworCisjaWYgVVNFKFdFQl9USFJFQUQpCisKK2NsYXNzIEF0b21pY1N0
cmluZ1RhYmxlTG9ja2VyIDogcHVibGljIFNwaW5Mb2NrSG9sZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBdG9taWNTdHJpbmdUYWJsZUxvY2tlcik7CisKKyAgICBzdGF0aWMgU3RhdGlj
U3BpbkxvY2sgc19zdHJpbmdUYWJsZUxvY2s7CitwdWJsaWM6CisgICAgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIoKQorICAgICAgICA6IFNwaW5Mb2NrSG9sZGVyKCZzX3N0cmluZ1RhYmxlTG9jaykK
KyAgICB7CisgICAgfQorfTsKKworU3RhdGljU3BpbkxvY2sgQXRvbWljU3RyaW5nVGFibGVMb2Nr
ZXI6OnNfc3RyaW5nVGFibGVMb2NrOworCisjZWxzZQorCitjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZUxvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWljU3RyaW5nVGFibGVMb2Nr
ZXIpOworcHVibGljOgorICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKCkgeyB9Cit9OworCisj
ZW5kaWYgLy8gVVNFKFdFQl9USFJFQUQpCisKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIEhhc2hTZXQ8
U3RyaW5nSW1wbCo+JiBzdHJpbmdUYWJsZSgpCit7CisgICAgcmV0dXJuIHd0ZlRocmVhZERhdGEo
KS5hdG9taWNTdHJpbmdUYWJsZSgpLT50YWJsZSgpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCB0eXBlbmFtZSBIYXNoVHJhbnNsYXRvcj4KK3N0YXRpYyBpbmxpbmUgUmVmPEF0b21pY1N0cmlu
Z0ltcGw+IGFkZFRvU3RyaW5nVGFibGUoY29uc3QgVCYgdmFsdWUpCit7CisgICAgQXRvbWljU3Ry
aW5nVGFibGVMb2NrZXIgbG9ja2VyOworCisgICAgSGFzaFNldDxTdHJpbmdJbXBsKj46OkFkZFJl
c3VsdCBhZGRSZXN1bHQgPSBzdHJpbmdUYWJsZSgpLmFkZDxIYXNoVHJhbnNsYXRvcj4odmFsdWUp
OworCisgICAgLy8gSWYgdGhlIHN0cmluZyBpcyBuZXdseS10cmFuc2xhdGVkLCB0aGVuIHdlIG5l
ZWQgdG8gYWRvcHQgaXQuCisgICAgLy8gVGhlIGJvb2xlYW4gaW4gdGhlIHBhaXIgdGVsbHMgdXMg
aWYgdGhhdCBpcyBzby4KKyAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsJj4oKiphZGRSZXN1bHQu
aXRlcmF0b3IpKTsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigq
YWRkUmVzdWx0Lml0ZXJhdG9yKTsKK30KKworc3RydWN0IENTdHJpbmdUcmFuc2xhdG9yIHsKKyAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBMQ2hhciogYykKKyAgICB7CisgICAgICAgIHJl
dHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGMpOworICAgIH0K
KworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiByLCBjb25zdCBMQ2hh
ciogcykKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHIsIHMpOworICAgIH0KKwor
ICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IExD
aGFyKiBjb25zdCYgYywgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0g
JlN0cmluZ0ltcGw6OmNyZWF0ZShjKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRI
YXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAgfQor
fTsKKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb25z
dCBMQ2hhciogYykKK3sKKyAgICBpZiAoIWMpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IGlmICghKmMpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4o
U3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxjb25z
dCBMQ2hhciosIENTdHJpbmdUcmFuc2xhdG9yPihjKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK3N0cnVjdCBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXIgeworICAgIGNv
bnN0IENoYXJhY3RlclR5cGUqIHM7CisgICAgdW5zaWduZWQgbGVuZ3RoOworfTsKKwordHlwZWRl
ZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8VUNoYXI+IFVDaGFyQnVmZmVyOworc3RydWN0IFVD
aGFyQnVmZmVyVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgVUNo
YXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1
dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVuZ3RoKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBVQ2hhckJ1ZmZl
ciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyLCBidWYucywgYnVm
Lmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwq
JiBsb2NhdGlvbiwgY29uc3QgVUNoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKKyAgICB7
CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxlKGJ1
Zi5zLCBidWYubGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhh
c2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAgfQorfTsKKwor
dGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0cnVjdCBIYXNoQW5kQ2hhcmFjdGVy
cyB7CisgICAgdW5zaWduZWQgaGFzaDsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0
ZXJzOworICAgIHVuc2lnbmVkIGxlbmd0aDsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CitzdHJ1Y3QgSGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yIHsKKyAgICBzdGF0
aWMgdW5zaWduZWQgaGFzaChjb25zdCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYg
YnVmZmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGJ1ZmZlci5oYXNoID09IFN0cmluZ0hhc2hl
cjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmZmVyLmNoYXJhY3RlcnMsIGJ1ZmZlci5s
ZW5ndGgpKTsKKyAgICAgICAgcmV0dXJuIGJ1ZmZlci5oYXNoOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IEhhc2hBbmRDaGFy
YWN0ZXJzPENoYXJhY3RlclR5cGU+JiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gV1RG
OjplcXVhbChzdHJpbmcsIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25z
dCBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyLCB1bnNpZ25lZCBoYXNo
KQorICAgIHsKKyAgICAgICAgbG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRlKGJ1ZmZlci5j
aGFyYWN0ZXJzLCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5z
ZXRIYXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAg
fQorfTsKKworc3RydWN0IEhhc2hBbmRVVEY4Q2hhcmFjdGVycyB7CisgICAgdW5zaWduZWQgaGFz
aDsKKyAgICBjb25zdCBjaGFyKiBjaGFyYWN0ZXJzOworICAgIHVuc2lnbmVkIGxlbmd0aDsKKyAg
ICB1bnNpZ25lZCB1dGYxNkxlbmd0aDsKK307CisKK3N0cnVjdCBIYXNoQW5kVVRGOENoYXJhY3Rl
cnNUcmFuc2xhdG9yIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBIYXNoQW5kVVRG
OENoYXJhY3RlcnMmIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsK
KyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5n
LCBjb25zdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMmIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIGlm
IChidWZmZXIudXRmMTZMZW5ndGggIT0gc3RyaW5nLT5sZW5ndGgoKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICAvLyBJZiBidWZmZXIgY29udGFpbnMgb25seSBBU0NJSSBj
aGFyYWN0ZXJzIFVURi04IGFuZCBVVEYxNiBsZW5ndGggYXJlIHRoZSBzYW1lLgorICAgICAgICBp
ZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IGJ1ZmZlci5sZW5ndGgpIHsKKyAgICAgICAgICAgIGlm
IChzdHJpbmctPmlzOEJpdCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbExhdGluMVdp
dGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczgoKSwgYnVmZmVyLmNoYXJhY3RlcnMsIGJ1ZmZlci5j
aGFyYWN0ZXJzICsgYnVmZmVyLmxlbmd0aCk7CisKKyAgICAgICAgICAgIHJldHVybiBlcXVhbFVU
RjE2V2l0aFVURjgoc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKSwgYnVmZmVyLmNoYXJhY3RlcnMsIGJ1
ZmZlci5jaGFyYWN0ZXJzICsgYnVmZmVyLmxlbmd0aCk7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoc3RyaW5nLT5pczhCaXQoKSkgeworICAgICAgICAgICAgY29uc3QgTENoYXIqIHN0cmluZ0No
YXJhY3RlcnMgPSBzdHJpbmctPmNoYXJhY3RlcnM4KCk7CisKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBB
U1NFUlQoaXNBU0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOworICAgICAgICAgICAgICAgIGlm
IChzdHJpbmdDaGFyYWN0ZXJzW2ldICE9IGJ1ZmZlci5jaGFyYWN0ZXJzW2ldKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgY29uc3QgVUNoYXIqIHN0cmluZ0NoYXJh
Y3RlcnMgPSBzdHJpbmctPmNoYXJhY3RlcnMxNigpOworCisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIEFTU0VSVChpc0FT
Q0lJKGJ1ZmZlci5jaGFyYWN0ZXJzW2ldKSk7CisgICAgICAgICAgICBpZiAoc3RyaW5nQ2hhcmFj
dGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBIYXNoQW5k
VVRGOENoYXJhY3RlcnMmIGJ1ZmZlciwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAgICAgIFVD
aGFyKiB0YXJnZXQ7CisgICAgICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdTdHJpbmcgPSBTdHJp
bmdJbXBsOjpjcmVhdGVVbmluaXRpYWxpemVkKGJ1ZmZlci51dGYxNkxlbmd0aCwgdGFyZ2V0KTsK
KworICAgICAgICBib29sIGlzQWxsQVNDSUk7CisgICAgICAgIGNvbnN0IGNoYXIqIHNvdXJjZSA9
IGJ1ZmZlci5jaGFyYWN0ZXJzOworICAgICAgICBpZiAoY29udmVydFVURjhUb1VURjE2KCZzb3Vy
Y2UsIHNvdXJjZSArIGJ1ZmZlci5sZW5ndGgsICZ0YXJnZXQsIHRhcmdldCArIGJ1ZmZlci51dGYx
Nkxlbmd0aCwgJmlzQWxsQVNDSUkpICE9IGNvbnZlcnNpb25PSykKKyAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworCisgICAgICAgIGlmIChpc0FsbEFTQ0lJKQorICAgICAgICAgICAg
bmV3U3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlKGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIu
bGVuZ3RoKTsKKworICAgICAgICBsb2NhdGlvbiA9IG5ld1N0cmluZy5yZWxlYXNlKCkubGVha1Jl
ZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24t
PnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisKK1JlZlB0cjxBdG9taWNTdHJpbmdJbXBs
PiBBdG9taWNTdHJpbmdJbXBsOjphZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkK
K3sKKyAgICBpZiAoIXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFsZW5n
dGgpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oU3RyaW5n
SW1wbDo6ZW1wdHkoKSk7CisKKyAgICBVQ2hhckJ1ZmZlciBidWZmZXIgPSB7IHMsIGxlbmd0aCB9
OworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFVDaGFyQnVmZmVyLCBVQ2hhckJ1ZmZlclRy
YW5zbGF0b3I+KGJ1ZmZlcik7Cit9CisKK1JlZjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJp
bmdJbXBsOjphZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgZXhp
c3RpbmdIYXNoKQoreworICAgIEFTU0VSVChzKTsKKyAgICBBU1NFUlQoZXhpc3RpbmdIYXNoKTsK
KworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0
cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIEhhc2hBbmRDaGFyYWN0ZXJz
PFVDaGFyPiBidWZmZXIgPSB7IGV4aXN0aW5nSGFzaCwgcywgbGVuZ3RoIH07CisgICAgcmV0dXJu
IGFkZFRvU3RyaW5nVGFibGU8SGFzaEFuZENoYXJhY3RlcnM8VUNoYXI+LCBIYXNoQW5kQ2hhcmFj
dGVyc1RyYW5zbGF0b3I8VUNoYXI+PihidWZmZXIpOworfQorCitSZWZQdHI8QXRvbWljU3RyaW5n
SW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGNvbnN0IFVDaGFyKiBzKQoreworICAgIGlmICgh
cykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwor
ICAgIHdoaWxlIChzW2xlbmd0aF0gIT0gVUNoYXIoMCkpCisgICAgICAgICsrbGVuZ3RoOworCisg
ICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJ
bXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKKyAgICBVQ2hhckJ1ZmZlciBidWZmZXIgPSB7
IHMsIGxlbmd0aCB9OworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFVDaGFyQnVmZmVyLCBV
Q2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZlcik7Cit9CisKK3N0cnVjdCBTdWJzdHJpbmdMb2Nh
dGlvbiB7CisgICAgU3RyaW5nSW1wbCogYmFzZVN0cmluZzsKKyAgICB1bnNpZ25lZCBzdGFydDsK
KyAgICB1bnNpZ25lZCBsZW5ndGg7Cit9OworCitzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvciB7
CisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3Qg
U3Vic3RyaW5nTG9jYXRpb24mIGJ1ZmZlciwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAgICAg
IGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBsKGJ1ZmZl
ci5iYXNlU3RyaW5nLCBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpLmxlYWtSZWYoKTsKKyAg
ICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0
b21pYyh0cnVlKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjggOiBT
dWJzdHJpbmdUcmFuc2xhdG9yIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTdWJz
dHJpbmdMb2NhdGlvbiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hl
cjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3Rl
cnM4KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IFN1YnN0cmluZ0xv
Y2F0aW9uJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcs
IGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJzOCgpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIu
bGVuZ3RoKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjE2IDogU3Vi
c3RyaW5nVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgU3Vic3Ry
aW5nTG9jYXRpb24mIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6
OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJz
MTYoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGlj
IGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgU3Vic3RyaW5nTG9j
YXRpb24mIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0cmluZywg
YnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnMxNigpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIu
bGVuZ3RoKTsKKyAgICB9Cit9OworCitSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3Ry
aW5nSW1wbDo6YWRkKFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNp
Z25lZCBsZW5ndGgpCit7CisgICAgaWYgKCFiYXNlU3RyaW5nKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIGlmICghbGVuZ3RoIHx8IHN0YXJ0ID49IGJhc2VTdHJpbmctPmxlbmd0aCgp
KQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0lt
cGw6OmVtcHR5KCkpOworCisgICAgdW5zaWduZWQgbWF4TGVuZ3RoID0gYmFzZVN0cmluZy0+bGVu
Z3RoKCkgLSBzdGFydDsKKyAgICBpZiAobGVuZ3RoID49IG1heExlbmd0aCkgeworICAgICAgICBp
ZiAoIXN0YXJ0KQorICAgICAgICAgICAgcmV0dXJuIGFkZChiYXNlU3RyaW5nKTsKKyAgICAgICAg
bGVuZ3RoID0gbWF4TGVuZ3RoOworICAgIH0KKworICAgIFN1YnN0cmluZ0xvY2F0aW9uIGJ1ZmZl
ciA9IHsgYmFzZVN0cmluZywgc3RhcnQsIGxlbmd0aCB9OworICAgIGlmIChiYXNlU3RyaW5nLT5p
czhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8U3Vic3RyaW5nTG9jYXRp
b24sIFN1YnN0cmluZ1RyYW5zbGF0b3I4PihidWZmZXIpOworICAgIHJldHVybiBhZGRUb1N0cmlu
Z1RhYmxlPFN1YnN0cmluZ0xvY2F0aW9uLCBTdWJzdHJpbmdUcmFuc2xhdG9yMTY+KGJ1ZmZlcik7
Cit9CisgICAgCit0eXBlZGVmIEhhc2hUcmFuc2xhdG9yQ2hhckJ1ZmZlcjxMQ2hhcj4gTENoYXJC
dWZmZXI7CitzdHJ1Y3QgTENoYXJCdWZmZXJUcmFuc2xhdG9yIHsKKyAgICBzdGF0aWMgdW5zaWdu
ZWQgaGFzaChjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0
cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmLnMsIGJ1Zi5sZW5ndGgp
OworICAgIH0KKworICAgIHN0YXRpYyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHIs
IGNvbnN0IExDaGFyQnVmZmVyJiBidWYpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVh
bChzdHIsIGJ1Zi5zLCBidWYubGVuZ3RoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB0cmFu
c2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmLCB1bnNp
Z25lZCBoYXNoKQorICAgIHsKKyAgICAgICAgbG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRl
KGJ1Zi5zLCBidWYubGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRIYXNo
KGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAgfQorfTsK
KwordHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8Y2hhcj4gQ2hhckJ1ZmZlcjsKK3N0
cnVjdCBDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3QgQ2hhckJ1ZmZlciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBMQ2hhcio+KGJ1Zi5zKSwgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGlj
IGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgQ2hhckJ1ZmZlciYgYnVm
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyLCBidWYucywgYnVmLmxlbmd0
aCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2Nh
dGlvbiwgY29uc3QgQ2hhckJ1ZmZlciYgYnVmLCB1bnNpZ25lZCBoYXNoKQorICAgIHsKKyAgICAg
ICAgbG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoYnVmLnMsIGJ1Zi5s
ZW5ndGgpLmxlYWtSZWYoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7CisgICAg
ICAgIGxvY2F0aW9uLT5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9Cit9OworCitSZWZQdHI8QXRv
bWljU3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGNvbnN0IExDaGFyKiBzLCB1bnNp
Z25lZCBsZW5ndGgpCit7CisgICAgaWYgKCFzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5n
SW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgTENoYXJCdWZmZXIgYnVmZmVyID0g
eyBzLCBsZW5ndGggfTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxMQ2hhckJ1ZmZlciwg
TENoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWljU3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkRnJvbUxpdGVyYWxEYXRhKGNvbnN0IGNoYXIqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBBU1NFUlQoY2hhcmFjdGVycyk7CisgICAg
QVNTRVJUKGxlbmd0aCk7CisKKyAgICBDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywg
bGVuZ3RoIH07CisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Q2hhckJ1ZmZlciwgQ2hhckJ1
ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I+KGJ1ZmZlcik7Cit9CisKK1JlZjxBdG9taWNT
dHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGRTbG93Q2FzZShTdHJpbmdJbXBsJiBzdHJp
bmcpCit7CisgICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiAqc3RhdGlj
X2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgaWYg
KHN0cmluZy5pc1N5bWJvbCgpKSB7CisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpCisgICAg
ICAgICAgICByZXR1cm4gKmFkZChzdHJpbmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nLmxlbmd0aCgp
KTsKKyAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcubGVu
Z3RoKCkpOworICAgIH0KKworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZy5pc0F0b21p
YygpLCAiQXRvbWljU3RyaW5nSW1wbCBzaG91bGQgbm90IGhpdCB0aGUgc2xvdyBjYXNlIGlmIHRo
ZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMuIik7CisKKyAgICBBdG9taWNTdHJpbmdUYWJsZUxv
Y2tlciBsb2NrZXI7CisgICAgYXV0byBhZGRSZXN1bHQgPSBzdHJpbmdUYWJsZSgpLmFkZCgmc3Ry
aW5nKTsKKworICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBBU1NFUlQo
KmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3RyaW5nKTsKKyAgICAgICAgc3RyaW5nLnNldElzQXRv
bWljKHRydWUpOworICAgIH0KKworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5n
SW1wbCo+KCphZGRSZXN1bHQuaXRlcmF0b3IpOworfQorCitSZWY8QXRvbWljU3RyaW5nSW1wbD4g
QXRvbWljU3RyaW5nSW1wbDo6YWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1Rh
YmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCit7CisgICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCisg
ICAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6
OmVtcHR5KCkpOworCisgICAgaWYgKHN0cmluZy5pc1N5bWJvbCgpKSB7CisgICAgICAgIGlmIChz
dHJpbmcuaXM4Qml0KCkpCisgICAgICAgICAgICByZXR1cm4gKmFkZChzdHJpbmcuY2hhcmFjdGVy
czgoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJh
Y3RlcnMxNigpLCBzdHJpbmcubGVuZ3RoKCkpOworICAgIH0KKworICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UoIXN0cmluZy5pc0F0b21pYygpLCAiQXRvbWljU3RyaW5nSW1wbCBzaG91bGQgbm90IGhp
dCB0aGUgc2xvdyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMuIik7CisKKyAg
ICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7CisgICAgYXV0byBhZGRSZXN1bHQgPSBz
dHJpbmdUYWJsZS50YWJsZSgpLmFkZCgmc3RyaW5nKTsKKworICAgIGlmIChhZGRSZXN1bHQuaXNO
ZXdFbnRyeSkgeworICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3RyaW5n
KTsKKyAgICAgICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOworICAgIH0KKworICAgIHJldHVy
biAqc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCphZGRSZXN1bHQuaXRlcmF0b3IpOwor
fQorCit2b2lkIEF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZShBdG9taWNTdHJpbmdJbXBsKiBzdHJp
bmcpCit7CisgICAgQVNTRVJUKHN0cmluZy0+aXNBdG9taWMoKSk7CisgICAgQXRvbWljU3RyaW5n
VGFibGVMb2NrZXIgbG9ja2VyOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9taWNTdHJp
bmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7CisgICAgSGFzaFNldDxTdHJpbmdJbXBsKj46Oml0ZXJh
dG9yIGl0ZXJhdG9yID0gYXRvbWljU3RyaW5nVGFibGUuZmluZChzdHJpbmcpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoaXRlcmF0b3IgIT0gYXRvbWljU3RyaW5nVGFibGUuZW5kKCksICJUaGUg
c3RyaW5nIGJlaW5nIHJlbW92ZWQgaXMgYXRvbWljIGluIHRoZSBzdHJpbmcgdGFibGUgb2YgYW4g
b3RoZXIgdGhyZWFkISIpOworICAgIGF0b21pY1N0cmluZ1RhYmxlLnJlbW92ZShpdGVyYXRvcik7
Cit9CisKK0F0b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cFNsb3dDYXNl
KFN0cmluZ0ltcGwmIHN0cmluZykKK3sKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcu
aXNBdG9taWMoKSwgIkF0b21pY1N0cmluZ0ltcGxzIHNob3VsZCByZXR1cm4gZnJvbSB0aGUgZmFz
dCBjYXNlLiIpOworCisgICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKKyAg
ICBpZiAoc3RyaW5nLmlzU3ltYm9sKCkpIHsKKyAgICAgICAgaWYgKHN0cmluZy5pczhCaXQoKSkK
KyAgICAgICAgICAgIHJldHVybiBsb29rdXBJbnRlcm5hbChzdHJpbmcuY2hhcmFjdGVyczgoKSwg
c3RyaW5nLmxlbmd0aCgpKTsKKyAgICAgICAgcmV0dXJuIGxvb2t1cEludGVybmFsKHN0cmluZy5j
aGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICB9CisKKyAgICBBdG9taWNTdHJp
bmdUYWJsZUxvY2tlciBsb2NrZXI7CisgICAgSGFzaFNldDxTdHJpbmdJbXBsKj4mIGF0b21pY1N0
cmluZ1RhYmxlID0gc3RyaW5nVGFibGUoKTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gYXRvbWljU3Ry
aW5nVGFibGUuZmluZCgmc3RyaW5nKTsKKyAgICBpZiAoaXRlcmF0b3IgIT0gYXRvbWljU3RyaW5n
VGFibGUuZW5kKCkpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBs
Kj4oKml0ZXJhdG9yKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEF0b21pY1N0
cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21VVEY4KGNvbnN0IGNoYXIqIGNoYXJh
Y3RlcnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVyc0VuZCkKK3sKKyAgICBIYXNoQW5kVVRG
OENoYXJhY3RlcnMgYnVmZmVyOworICAgIGJ1ZmZlci5jaGFyYWN0ZXJzID0gY2hhcmFjdGVyc1N0
YXJ0OworICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21V
VEY4TWFza2luZ1RvcDhCaXRzKGNoYXJhY3RlcnNTdGFydCwgY2hhcmFjdGVyc0VuZCwgYnVmZmVy
Lmxlbmd0aCwgYnVmZmVyLnV0ZjE2TGVuZ3RoKTsKKworICAgIGlmICghYnVmZmVyLmhhc2gpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8SGFz
aEFuZFVURjhDaGFyYWN0ZXJzLCBIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yPihidWZm
ZXIpOworfQorCitBdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXBJbnRl
cm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIEF0
b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKKyAgICBhdXRvJiB0YWJsZSA9IHN0cmluZ1Rh
YmxlKCk7CisKKyAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9
OworICAgIGF1dG8gaXRlcmF0b3IgPSB0YWJsZS5maW5kPExDaGFyQnVmZmVyVHJhbnNsYXRvcj4o
YnVmZmVyKTsKKyAgICBpZiAoaXRlcmF0b3IgIT0gdGFibGUuZW5kKCkpCisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKml0ZXJhdG9yKTsKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nSW1wbDo6bG9va3Vw
SW50ZXJuYWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAg
ICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7CisgICAgYXV0byYgdGFibGUgPSBzdHJp
bmdUYWJsZSgpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBsZW5n
dGggfTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gdGFibGUuZmluZDxVQ2hhckJ1ZmZlclRyYW5zbGF0
b3I+KGJ1ZmZlcik7CisgICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQorICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECitib29sIEF0b21pY1N0cmlu
Z0ltcGw6OmlzSW5BdG9taWNTdHJpbmdUYWJsZShTdHJpbmdJbXBsKiBzdHJpbmcpCit7CisgICAg
QXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIHJldHVybiBzdHJpbmdUYWJsZSgp
LmNvbnRhaW5zKHN0cmluZyk7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oCmluZGV4IDYyYTkwZTA2ZTUzOGY2NjNlNGJm
MGUwM2JlMzJlYjY0MDE3YzIyYzIuLmJlY2VjYzMwMzdiNjJhMThiNWFiMTE4MzkwYTczZDFjMmYy
NjBjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oCkBAIC0yMSwxNCAr
MjEsOTUgQEAKICNpZm5kZWYgQXRvbWljU3RyaW5nSW1wbF9oCiAjZGVmaW5lIEF0b21pY1N0cmlu
Z0ltcGxfaAogCi0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBB
dG9taWNTdHJpbmdJbXBsIDogcHVibGljIFN0cmluZ0ltcGwKLXsKK2NsYXNzIEF0b21pY1N0cmlu
Z1RhYmxlOworCitjbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJ
bXBsIHsKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5nSW1wbCgpID0gZGVsZXRlOworCiBwdWJs
aWM6Ci0gICAgQXRvbWljU3RyaW5nSW1wbCgpIDogU3RyaW5nSW1wbCgwKSB7fQorICAgIHN0YXRp
YyBBdG9taWNTdHJpbmdJbXBsKiBsb29rdXAoTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxl
bmd0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBsb29rdXBJbnRlcm5hbChjaGFyYWN0ZXJzLCBs
ZW5ndGgpOworICAgIH0KKyAgICBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogbG9va3VwKFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAgICAgICByZXR1cm4gbG9v
a3VwSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKKyAgICB9CisgICAgc3RhdGljIEF0b21p
Y1N0cmluZ0ltcGwqIGxvb2t1cChTdHJpbmdJbXBsKiBzdHJpbmcpCisgICAgeworICAgICAgICBp
ZiAoIXN0cmluZyB8fCBzdHJpbmctPmlzQXRvbWljKCkpCisgICAgICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHN0cmluZyk7CisgICAgICAgIHJldHVybiBsb29r
dXBTbG93Q2FzZSgqc3RyaW5nKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZW1vdmUoQXRv
bWljU3RyaW5nSW1wbCopOworCisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQ
dHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkKGNvbnN0IExDaGFyKik7CisgICAgQUxXQVlTX0lOTElO
RSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzKSB7IHJl
dHVybiBhZGQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpKTsgfTsKKyAgICBXVEZf
RVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29u
c3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBz
dGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBVQ2hhciosIHVuc2lnbmVk
IGxlbmd0aCk7CisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0lt
cGw+IGFkZChjb25zdCBjaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGFkZChyZWlu
dGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyksIGxlbmd0aCk7IH07CisgICAgV1RGX0VYUE9S
VF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4gYWRkKGNvbnN0IFVDaGFy
KiwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpOworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBV
Q2hhciopOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0
cmluZ0ltcGw+IGFkZChTdHJpbmdJbXBsKiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5n
dGgpOworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBh
ZGQoU3RyaW5nSW1wbCogc3RyaW5nKQorICAgIHsKKyAgICAgICAgaWYgKCFzdHJpbmcpCisgICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHN0cmluZyk7Cisg
ICAgICAgIHJldHVybiBhZGQoKnN0cmluZyk7CisgICAgfQorICAgIFdURl9FWFBPUlRfU1RSSU5H
X0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZEZyb21MaXRlcmFsRGF0YShjb25z
dCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpOworCisgICAgLy8gQXRvbWljU3Ry
aW5nSW1wbDo6YWRkRnJvbVVURjggd2lsbCByZXR1cm4gYSBudWxscHRyIGlmCisgICAgLy8gdGhl
IGlucHV0IGRhdGEgY29udGFpbnMgaW52YWxpZCBVVEYtOCBzZXF1ZW5jZXMuCisgICAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkRnJvbVVU
RjgoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGVuZCk7CisjaWYgVVNFKENGKQorICAg
IFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFk
ZChDRlN0cmluZ1JlZik7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFN0cmluZ1Rh
YmxlUHJvdmlkZXI+CisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmlu
Z0ltcGw+IGFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKFN0cmluZ1RhYmxlUHJvdmlkZXImIHN0
cmluZ1RhYmxlUHJvdmlkZXIsIFN0cmluZ0ltcGwqIHN0cmluZykKKyAgICB7CisgICAgICAgIGlm
ICghc3RyaW5nKQorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0lt
cGwqPihzdHJpbmcpOworICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmdUYWJsZVByb3ZpZGVyLmF0
b21pY1N0cmluZ1RhYmxlKCksICpzdHJpbmcpOworICAgIH0KKworI2lmICFBU1NFUlRfRElTQUJM
RUQKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIGJvb2wgaXNJbkF0b21pY1N0cmlu
Z1RhYmxlKFN0cmluZ0ltcGwqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIEFMV0FZU19JTkxJ
TkUgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoU3RyaW5nSW1wbCYgc3RyaW5nKQor
ICAgIHsKKyAgICAgICAgaWYgKHN0cmluZy5pc0F0b21pYygpKSB7CisgICAgICAgICAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwgaXNJbkF0b21pY1N0cmluZ1RhYmxl
KCZzdHJpbmcpLCAiVGhlIGF0b21pYyBzdHJpbmcgY29tZXMgZnJvbSBhbiBvdGhlciB0aHJlYWQh
Iik7CisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCY+KHN0
cmluZyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGFkZFNsb3dDYXNlKHN0cmluZyk7Cisg
ICAgfQorCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFk
ZChBdG9taWNTdHJpbmdUYWJsZSYgc3RyaW5nVGFibGUsIFN0cmluZ0ltcGwmIHN0cmluZykKKyAg
ICB7CisgICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgeworICAgICAgICAgICAgQVNTRVJU
X1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5BdG9taWNTdHJpbmdUYWJsZSgm
c3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFkISIp
OworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwmPihzdHJp
bmcpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmdUYWJsZSwg
c3RyaW5nKTsKKyAgICB9CisKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxB
dG9taWNTdHJpbmdJbXBsPiBhZGRTbG93Q2FzZShTdHJpbmdJbXBsJik7CisgICAgV1RGX0VYUE9S
VF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoQXRv
bWljU3RyaW5nVGFibGUmLCBTdHJpbmdJbXBsJik7CisKKyAgICBXVEZfRVhQT1JUX1NUUklOR19B
UEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cFNsb3dDYXNlKFN0cmluZ0ltcGwmKTsK
KworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogbG9v
a3VwSW50ZXJuYWwoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogbG9va3VwSW50ZXJuYWwoY29u
c3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwogfTsKIAogI2lmICFBU1NFUlRfRElTQUJMRUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IDZmZDc3OWM4MGMyYmQ4YTQ0YzY2N2Uy
YTMyNmY4MzhkODVjZmExZjUuLmMxMjkxNDViYzY0ZTNjMDI2MmFjNGQyYWI4NjA4ZjdlZGU5NmVh
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9T
eW1ib2xJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaD4KICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L1VURjguaD4KQEAgLTExMSwxMCArMTEyLDEwIEBAIHZvaWQgU3RyaW5nU3RhdHM6OnByaW50U3Rh
dHMoKQogICAgIFNUUklOR19TVEFUU19SRU1PVkVfU1RSSU5HKCp0aGlzKTsKIAogICAgIGlmIChp
c0F0b21pYygpICYmIGxlbmd0aCgpICYmICFpc1N5bWJvbCgpKQotICAgICAgICBBdG9taWNTdHJp
bmc6OnJlbW92ZSh0aGlzKTsKKyAgICAgICAgQXRvbWljU3RyaW5nSW1wbDo6cmVtb3ZlKHN0YXRp
Y19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPih0aGlzKSk7CiAKICAgICBpZiAoaXNTeW1ib2woKSAm
JiBzeW1ib2xSZWdpc3RyeSgpKQotICAgICAgICBzeW1ib2xSZWdpc3RyeSgpLT5yZW1vdmUodGhp
cyk7CisgICAgICAgIHN5bWJvbFJlZ2lzdHJ5KCktPnJlbW92ZShzdGF0aWNfY2FzdDxTeW1ib2xJ
bXBsKj4odGhpcykpOwogCiAgICAgQnVmZmVyT3duZXJzaGlwIG93bmVyc2hpcCA9IGJ1ZmZlck93
bmVyc2hpcCgpOwogCkBAIC0yOTAsNyArMjkxLDcgQEAgdm9pZCBTdHJpbmdJbXBsOjpkZXN0cm95
KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCiAgICAgcmV0dXJuIGNyZWF0ZShzdHJpbmcsIGxlbmd0
aCk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2woUGFzc1Jl
ZlB0cjxTdHJpbmdJbXBsPiByZXApCitSZWY8U3ltYm9sSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRl
U3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQogewogICAgIFN0cmluZ0ltcGwqIG93
bmVyUmVwID0gKHJlcC0+YnVmZmVyT3duZXJzaGlwKCkgPT0gQnVmZmVyU3Vic3RyaW5nKSA/IHJl
cC0+c3Vic3RyaW5nQnVmZmVyKCkgOiByZXAuZ2V0KCk7CiAKQEAgLTMwMSwxMSArMzAyLDExIEBA
IHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJveShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIC8v
IDQuIHRoZSBwbGFjZWhvbGRlciBmb3Igc3ltYm9sIGF3YXJlIGhhc2ggdmFsdWUgKGFsbG9jYXRl
ZCBzaXplIGlzIHBvaW50ZXIgc2l6ZSwgYnV0IG9ubHkgNCBieXRlcyBhcmUgdXNlZCkKICAgICBT
dHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gc3RhdGljX2Nhc3Q8U3RyaW5nSW1wbCo+KGZhc3RNYWxs
b2MoYWxsb2NhdGlvblNpemU8U3RyaW5nSW1wbCo+KDMpKSk7CiAgICAgaWYgKHJlcC0+aXM4Qml0
KCkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBT
dHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGE4LCByZXAtPmxlbmd0aCgpLCBvd25l
clJlcCkpOwotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBT
dHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGExNiwgcmVwLT5sZW5ndGgoKSwgb3du
ZXJSZXApKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Kj4obmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVw
LT5tX2RhdGE4LCByZXAtPmxlbmd0aCgpLCBvd25lclJlcCkpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKnN0YXRpY19jYXN0PFN5bWJvbEltcGwqPihuZXcgKE5vdE51bGwsIHN0cmluZ0ltcGwpIFN0
cmluZ0ltcGwoQ3JlYXRlU3ltYm9sLCByZXAtPm1fZGF0YTE2LCByZXAtPmxlbmd0aCgpLCBvd25l
clJlcCkpKTsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbEVt
cHR5KCkKK1JlZjxTeW1ib2xJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2xFbXB0eSgpCiB7
CiAgICAgcmV0dXJuIGNyZWF0ZVN5bWJvbChlbXB0eSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmgKaW5kZXggZGMyMmJkMGU3Yzk2NDI2OWZlM2RlZGVjNTFiZWY1MWNlNjZmZTNlOS4uNjFi
N2JlMTJmZGM4YzJmYjRmYjcyMTk5ZTVmY2NhYzU2OTU1NTRkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmgKQEAgLTU3LDYgKzU3LDcgQEAKIHN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOwog
c3RydWN0IFVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBS
ZXRhaW5QdHI7CitjbGFzcyBTeW1ib2xJbXBsOwogY2xhc3MgU3ltYm9sUmVnaXN0cnk7CiAKIGVu
dW0gVGV4dENhc2VTZW5zaXRpdml0eSB7CkBAIC0xMzEsNyArMTMyLDYgQEAgY2xhc3MgU3RyaW5n
SW1wbCB7CiAgICAgZnJpZW5kIHN0cnVjdCBXVEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRvcjsKICAg
ICBmcmllbmQgc3RydWN0IFdURjo6U3Vic3RyaW5nVHJhbnNsYXRvcjsKICAgICBmcmllbmQgc3Ry
dWN0IFdURjo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOwotICAgIGZyaWVuZCBjbGFzcyBBdG9taWNT
dHJpbmdJbXBsOwogICAgIGZyaWVuZCBjbGFzcyBKU0M6OkxMSW50OjpEYXRhOwogICAgIGZyaWVu
ZCBjbGFzcyBKU0M6OkxMSW50T2Zmc2V0c0V4dHJhY3RvcjsKICAgICAKQEAgLTQyMSw4ICs0MjEs
OCBAQCBjbGFzcyBTdHJpbmdJbXBsIHsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEludGVybmFs
PFQ+KHJlc3VsdEltcGwsIGxlbmd0aCk7CiAgICAgfQogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlU3ltYm9sRW1wdHkoKTsKLSAgICBXVEZf
RVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBjcmVhdGVTeW1ib2woUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPiByZXApOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0
aWMgUmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbEVtcHR5KCk7CisgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gcmVwKTsKIAogICAgIC8vIFJlYWxsb2NhdGUgdGhlIFN0cmluZ0ltcGwuIFRo
ZSBvcmlnaW5hbFN0cmluZyBtdXN0IGJlIG9ubHkgb3duZWQgYnkgdGhlIFBhc3NSZWZQdHIsCiAg
ICAgLy8gYW5kIHRoZSBidWZmZXIgb3duZXJzaGlwIG11c3QgYmUgQnVmZmVySW50ZXJuYWwuIEp1
c3QgbGlrZSB0aGUgaW5wdXQgcG9pbnRlciBvZiByZWFsbG9jKCksCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9s
SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI2NzA1MzFjODllZDUyNjhlYjE2ZGI1MTJkMjBhMTZiYTBlYmFh
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaApA
QCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kg
PHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3ltYm9sSW1wbF9o
CisjZGVmaW5lIFN5bWJvbEltcGxfaAorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CisKK25hbWVzcGFjZSBX
VEYgeworCitjbGFzcyBTeW1ib2xJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsKKyAg
ICBTeW1ib2xJbXBsKCkgPSBkZWxldGU7Cit9OworCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorLy8g
U3ltYm9sSW1wbHMgY3JlYXRlZCBmcm9tIFN0YXRpY0FTQ0lJTGl0ZXJhbCB3aWxsIEFTU0VSVAor
Ly8gaW4gdGhlIGdlbmVyaWMgVmFsdWVDaGVjazxUPjo6Y2hlY2tDb25zaXN0ZW5jeQorLy8gYXMg
dGhleSBhcmUgbm90IGFsbG9jYXRlZCBieSBmYXN0TWFsbG9jLgorLy8gV2UgZG9uJ3QgY3VycmVu
dGx5IGhhdmUgYW55IHdheSB0byBkZXRlY3QgdGhhdCBjYXNlCisvLyBzbyB3ZSBpZ25vcmUgdGhl
IGNvbnNpc3RlbmN5IGNoZWNrIGZvciBhbGwgU3ltYm9sSW1wbHMqLgordGVtcGxhdGU8PiBzdHJ1
Y3QKK1ZhbHVlQ2hlY2s8U3ltYm9sSW1wbCo+IHsKKyAgICBzdGF0aWMgdm9pZCBjaGVja0NvbnNp
c3RlbmN5KGNvbnN0IFN5bWJvbEltcGwqKSB7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0CitW
YWx1ZUNoZWNrPGNvbnN0IFN5bWJvbEltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25z
aXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9OworI2VuZGlmCisKK30gLy8gbmFtZXNw
YWNlIFdURgorCit1c2luZyBXVEY6OlN5bWJvbEltcGw7CisKKyNlbmRpZiAvLyBTeW1ib2xJbXBs
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwIGIv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAKaW5kZXggMTU2YmEzZTRjMjc0
YjFmMDBjYmNlZTdlYmZmZWViMjZjZjIzZDM5MC4uMjU5OWI2ODgwNzE3Mjg4YTBmNmIzZWZjMjEw
MWVmY2YwMTllYmFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdp
c3RyeS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAKQEAg
LTM0LDI2ICszNCwyNiBAQAogICAgICAgICBrZXkuaW1wbCgpLT5zeW1ib2xSZWdpc3RyeSgpID0g
bnVsbHB0cjsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN5bWJvbFJlZ2lzdHJ5OjpzeW1ib2xGb3JL
ZXkoY29uc3QgU3RyaW5nJiByZXApCitSZWY8U3ltYm9sSW1wbD4gU3ltYm9sUmVnaXN0cnk6OnN5
bWJvbEZvcktleShjb25zdCBTdHJpbmcmIHJlcCkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1f
dGFibGUuYWRkKFN5bWJvbFJlZ2lzdHJ5S2V5KHJlcC5pbXBsKCkpKTsKICAgICBpZiAoIWFkZFJl
c3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXR1cm4gKmFkZFJlc3VsdC5pdGVyYXRvci0+aW1w
bCgpOworICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PFN5bWJvbEltcGwqPihhZGRSZXN1bHQu
aXRlcmF0b3ItPmltcGwoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1wbD4gc3ltYm9sID0gU3RyaW5n
SW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOworICAgIFJlZjxTeW1ib2xJbXBsPiBzeW1i
b2wgPSBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2wocmVwLmltcGwoKSk7CiAgICAgc3ltYm9sLT5z
eW1ib2xSZWdpc3RyeSgpID0gdGhpczsKICAgICAqYWRkUmVzdWx0Lml0ZXJhdG9yID0gU3ltYm9s
UmVnaXN0cnlLZXkoJnN5bWJvbC5nZXQoKSk7CiAgICAgcmV0dXJuIHN5bWJvbDsKIH0KIAotU3Ry
aW5nIFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2woU3RyaW5nSW1wbCogdWlkKQorU3RyaW5n
IFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2woU3ltYm9sSW1wbCogdWlkKQogewogICAgIEFT
U0VSVCh1aWQtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VSVCh1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkg
PT0gdGhpcyk7CiAgICAgcmV0dXJuIHVpZC0+ZXh0cmFjdEZvbGRlZFN0cmluZ0luU3ltYm9sKCk7
CiB9CiAKLXZvaWQgU3ltYm9sUmVnaXN0cnk6OnJlbW92ZShTdHJpbmdJbXBsKiB1aWQpCit2b2lk
IFN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUoU3ltYm9sSW1wbCogdWlkKQogewogICAgIEFTU0VSVCh1
aWQtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VSVCh1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmggYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKaW5kZXggMTM2YzM2OGM5MGJiYmNl
YTE4ODZiOGRmNzg3MmE3ZmZkZmJhOThhNi4uZmVjYmU3MGM3NDgzMjA4MGNmOWI0ZDQzNGI2NmIy
ZDA5NDA2Mjg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3Ry
eS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTgxLDEwICs4Miwx
MCBAQCBjbGFzcyBTeW1ib2xSZWdpc3RyeSB7CiAgICAgU3ltYm9sUmVnaXN0cnkoKSA9IGRlZmF1
bHQ7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIH5TeW1ib2xSZWdpc3RyeSgpOwogCi0gICAgV1RG
X0VYUE9SVF9QUklWQVRFIFJlZjxTdHJpbmdJbXBsPiBzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5n
Jik7Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBrZXlGb3JTeW1ib2woU3RyaW5nSW1w
bCogdWlkKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgUmVmPFN5bWJvbEltcGw+IHN5bWJvbEZv
cktleShjb25zdCBTdHJpbmcmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGtleUZv
clN5bWJvbChTeW1ib2xJbXBsKiB1aWQpOwogCi0gICAgdm9pZCByZW1vdmUoU3RyaW5nSW1wbCog
dWlkKTsKKyAgICB2b2lkIHJlbW92ZShTeW1ib2xJbXBsKiB1aWQpOwogCiBwcml2YXRlOgogICAg
IEhhc2hTZXQ8U3ltYm9sUmVnaXN0cnlLZXk+IG1fdGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1Vu
aXF1ZWRTdHJpbmdJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2OTdjZjcwZjA3Nzc1ZmMxNzkzODVhODFi
YmU0Y2NkNGNhNDc0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvVW5p
cXVlZFN0cmluZ0ltcGwuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgVW5pcXVlZFN0cmluZ0ltcGxfaAorI2RlZmluZSBVbmlxdWVkU3RyaW5nSW1wbF9oCisK
KyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitj
bGFzcyBVbmlxdWVkU3RyaW5nSW1wbCA6IHB1YmxpYyBTdHJpbmdJbXBsIHsKKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCgpID0gZGVsZXRlOworfTsKKworI2lmICFBU1NFUlRfRElTQUJMRUQKKy8vIFVu
aXF1ZWRTdHJpbmdJbXBscyBjcmVhdGVkIGZyb20gU3RhdGljQVNDSUlMaXRlcmFsIHdpbGwgQVNT
RVJUCisvLyBpbiB0aGUgZ2VuZXJpYyBWYWx1ZUNoZWNrPFQ+OjpjaGVja0NvbnNpc3RlbmN5Cisv
LyBhcyB0aGV5IGFyZSBub3QgYWxsb2NhdGVkIGJ5IGZhc3RNYWxsb2MuCisvLyBXZSBkb24ndCBj
dXJyZW50bHkgaGF2ZSBhbnkgd2F5IHRvIGRldGVjdCB0aGF0IGNhc2UKKy8vIHNvIHdlIGlnbm9y
ZSB0aGUgY29uc2lzdGVuY3kgY2hlY2sgZm9yIGFsbCBVbmlxdWVkU3RyaW5nSW1wbHMqLgordGVt
cGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8VW5pcXVlZFN0cmluZ0ltcGwqPiB7CisgICAgc3Rh
dGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCopIHsgfQor
fTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8Y29uc3QgVW5pcXVlZFN0cmluZ0lt
cGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBVbmlxdWVkU3Ry
aW5nSW1wbCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcg
V1RGOjpVbmlxdWVkU3RyaW5nSW1wbDsKKworI2VuZGlmIC8vIFVuaXF1ZWRTdHJpbmdJbXBsX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1dURlN0cmluZy5oCmluZGV4IDZlOGYwOTJiMjdlNTliN2E4MWQ5NTA3MGU0OGUz
MjBkZmQ4YzczNjEuLmRlOTkyZGViOTM0OWU1ZWMzYWIyMTk2NWVhOGIzZmVjZDhiNWQ1ZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAtMTE4LDYgKzExOCwxMCBAQCBjbGFzcyBTdHJpbmcg
ewogICAgIFN0cmluZyhSZWY8U3RyaW5nSW1wbD4mJiBpbXBsKSA6IG1faW1wbChXVEY6Om1vdmUo
aW1wbCkpIHsgfQogICAgIFN0cmluZyhSZWZQdHI8U3RyaW5nSW1wbD4mJiBpbXBsKSA6IG1faW1w
bChpbXBsKSB7IH0KIAorICAgIFN0cmluZyhQYXNzUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGlt
cGwpIDogbV9pbXBsKGltcGwpIHsgfQorICAgIFN0cmluZyhSZWY8QXRvbWljU3RyaW5nSW1wbD4m
JiBpbXBsKSA6IG1faW1wbChXVEY6Om1vdmUoaW1wbCkpIHsgfQorICAgIFN0cmluZyhSZWZQdHI8
QXRvbWljU3RyaW5nSW1wbD4mJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7IH0KKwogICAgIC8vIENv
bnN0cnVjdCBhIHN0cmluZyBmcm9tIGEgY29uc3RhbnQgc3RyaW5nIGxpdGVyYWwuCiAgICAgV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIFN0cmluZyhBU0NJSUxpdGVyYWwgY2hhcmFjdGVycyk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRl
eCA2OTI0Njc4MzA4NmY2OTk0M2E5ZDIzNzljN2M3OWFkNjQ4NDRiZjYyLi4wZDU3M2ZjY2Y1NDE0
MTg1ZmMxMTM3ZDViNDM2NzljODM3Yjc3MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0zMDYsNyArMzA2LDggQEAgYm9vbCBK
U0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU09iamVjdCogb2JqZWN0LCBF
eGVjU3RhdGUqIGV4ZWMsIHUKICAgICAvLyBBbGxvdyBzaG9ydGN1dHMgbGlrZSAnSW1hZ2UxJyBp
bnN0ZWFkIG9mIGRvY3VtZW50LmltYWdlcy5JbWFnZTEKICAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSB0aGlzT2JqZWN0LT5pbXBsKCkuZnJhbWUoKS0+ZG9jdW1lbnQoKTsKICAgICBpZiAoaXM8SFRN
TERvY3VtZW50PigqZG9jdW1lbnQpKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21p
Y1Byb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5pbXBsKCk7CisgICAgICAgIEFTU0VSVCghcHJv
cGVydHlOYW1lLmlzU3ltYm9sKCkpOworICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQ
cm9wZXJ0eU5hbWUgPSBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4ocHJvcGVydHlOYW1l
LmltcGwoKSk7CiAgICAgICAgIGlmIChhdG9taWNQcm9wZXJ0eU5hbWUgJiYgZG93bmNhc3Q8SFRN
TERvY3VtZW50PigqZG9jdW1lbnQpLmhhc1dpbmRvd05hbWVkSXRlbSgqYXRvbWljUHJvcGVydHlO
YW1lKSkgewogICAgICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVjdCwgUmVhZE9ubHkg
fCBEb250RGVsZXRlIHwgRG9udEVudW0sIG5hbWVkSXRlbUdldHRlcik7CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVh
ZGFibGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAKaW5kZXggODk5ZjA4ZWE2NzFmNjJiMWUx
YTFjZDRmMzcyYThhZDFiYjMzMjRlMC4uZmRiYjMyOThjODQ0ZTg1Y2EyYTUwMmQ1YWFhZTJlODNi
NDY1MmVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJs
ZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGlj
IEpTUHJvbWlzZURlZmVycmVkKiBnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmplY3Qo
RXhlY1N0YXRlKiBleGVjLAogCiBzdGF0aWMgSlNDOjpQcml2YXRlTmFtZSYgY2xvc2VkUHJvbWlz
ZVNsb3ROYW1lKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFt
ZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCJjbG9zZWRQcm9taXNlIik7CisgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IGNsb3NlZFByb21pc2VTbG90TmFtZShKU0M6
OlByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgImNsb3NlZFByb21pc2UiKTsKICAgICByZXR1cm4g
Y2xvc2VkUHJvbWlzZVNsb3ROYW1lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCBlZTE1YmQ1MGM1MjNmNjEx
MjU4NTQ2MmYzNjc5NTFkYTAzZjc3ZGNkLi5hYTBkYWRmMDlkNTQwMzA0ODZmOWM3NzE3NzNjZjIy
NjA3YWJlMThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTk4Myw3ICs5ODMsNyBAQCBjbGFzcyBDbG9uZVNlcmlh
bGl6ZXIgOiBDbG9uZUJhc2UgewogICAgIHZvaWQgd3JpdGUoY29uc3QgSWRlbnRpZmllciYgaWRl
bnQpCiAgICAgewogICAgICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IGlkZW50LnN0cmluZygpOwot
ICAgICAgICBTdHJpbmdDb25zdGFudFBvb2w6OkFkZFJlc3VsdCBhZGRSZXN1bHQgPSBtX2NvbnN0
YW50UG9vbC5hZGQoc3RyLmltcGwoKSwgbV9jb25zdGFudFBvb2wuc2l6ZSgpKTsKKyAgICAgICAg
U3RyaW5nQ29uc3RhbnRQb29sOjpBZGRSZXN1bHQgYWRkUmVzdWx0ID0gbV9jb25zdGFudFBvb2wu
YWRkKGlkZW50LmltcGwoKSwgbV9jb25zdGFudFBvb2wuc2l6ZSgpKTsKICAgICAgICAgaWYgKCFh
ZGRSZXN1bHQuaXNOZXdFbnRyeSkgewogICAgICAgICAgICAgd3JpdGUoU3RyaW5nUG9vbFRhZyk7
CiAgICAgICAgICAgICB3cml0ZVN0cmluZ0luZGV4KGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUp
OwpAQCAtMTIxMSw3ICsxMjExLDcgQEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDogQ2xvbmVCYXNl
IHsKICAgICBPYmplY3RQb29sIG1fb2JqZWN0UG9vbDsKICAgICBPYmplY3RQb29sIG1fdHJhbnNm
ZXJyZWRNZXNzYWdlUG9ydHM7CiAgICAgT2JqZWN0UG9vbCBtX3RyYW5zZmVycmVkQXJyYXlCdWZm
ZXJzOwotICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIHVpbnQzMl90LCBJ
ZGVudGlmaWVyUmVwSGFzaD4gU3RyaW5nQ29uc3RhbnRQb29sOworICAgIHR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCB1aW50MzJfdCwgSWRlbnRpZmllclJlcEhhc2g+
IFN0cmluZ0NvbnN0YW50UG9vbDsKICAgICBTdHJpbmdDb25zdGFudFBvb2wgbV9jb25zdGFudFBv
b2w7CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVl
U2NvcGUuY3BwCmluZGV4IDQyYWQ5MjFhNGE0MTBjYjg1MjQ0MzZjMTE4NTRkY2U4ZDVhYjZlMWIu
LjM2NjE2ZjhhOGUxZDk1ZTY2MDQ5N2U1Y2JkODExNzc0YjE3NmMzNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9U
cmVlU2NvcGUuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgRWxlbWVudCogVHJlZVNjb3BlOjpnZXRF
bGVtZW50QnlJZChjb25zdCBTdHJpbmcmIGVsZW1lbnRJZCkgY29uc3QKICAgICBpZiAoIW1fZWxl
bWVudHNCeUlkKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGlmIChBdG9taWNTdHJp
bmdJbXBsKiBhdG9taWNFbGVtZW50SWQgPSBBdG9taWNTdHJpbmc6OmZpbmQoZWxlbWVudElkLmlt
cGwoKSkpCisgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY0VsZW1lbnRJZCA9IEF0b21p
Y1N0cmluZ0ltcGw6Omxvb2t1cChlbGVtZW50SWQuaW1wbCgpKSkKICAgICAgICAgcmV0dXJuIG1f
ZWxlbWVudHNCeUlkLT5nZXRFbGVtZW50QnlJZCgqYXRvbWljRWxlbWVudElkLCAqdGhpcyk7CiAK
ICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBkYmJhZGE2YTExN2YwNjYzMDJmMWYwYjQ4YjlmYzI2MmQxZjE5ZGEz
Li5iNTNkNTljNzkzMzgyZTA0NGY0MzUyN2MzZDFlNTk2NThkNGQzMDYwIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTUtMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAg
ICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRl
IHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVlZFN0cmluZ0ltcGwsIFN5
bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorCiAyMDE1LTA1LTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAog
ICAgICAgICBGaXggcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIHN0ZXAgb24gdGhlIFdpbkNhaXJv
IGJvdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1w
bC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAppbmRl
eCAwOTJjYzQ3ZjkwMTZhZmJkMmI0NjgyYjI2MGVhNTU4MzA5MzY0NDgzLi4xMDBkMGY0ZmVlZWQ0
NGUxMmQ3MDE3NmUyMTgxMDE4MDUyMmViMzA1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9TdHJpbmdJbXBsLmNwcApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvU3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CkBAIC01MDksNyArNTA5LDcgQEAKICAgICBBU1NFUlRf
VFJVRShyZWZlcmVuY2UtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VSVF9GQUxTRShyZWZlcmVuY2Ut
PmlzQXRvbWljKCkpOwogCi0gICAgUmVmUHRyPFN0cmluZ0ltcGw+IGF0b21pYyA9IEF0b21pY1N0
cmluZzo6YWRkKHJlZmVyZW5jZS5nZXQoKSk7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IGF0b21p
YyA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZChyZWZlcmVuY2UuZ2V0KCkpOwogICAgIEFTU0VSVF9U
UlVFKGF0b21pYy0+aXNBdG9taWMoKSk7CiAgICAgQVNTRVJUX0ZBTFNFKGF0b21pYy0+aXNTeW1i
b2woKSk7CiAgICAgQVNTRVJUX1RSVUUocmVmZXJlbmNlLT5pc1N5bWJvbCgpKTsKQEAgLTUyMiw3
ICs1MjIsNyBAQAogICAgIEFTU0VSVF9UUlVFKHJlZmVyZW5jZS0+aXNTeW1ib2woKSk7CiAgICAg
QVNTRVJUX0ZBTFNFKHJlZmVyZW5jZS0+aXNBdG9taWMoKSk7CiAKLSAgICBSZWZQdHI8U3RyaW5n
SW1wbD4gYXRvbWljID0gQXRvbWljU3RyaW5nOjphZGQocmVmZXJlbmNlLmdldCgpKTsKKyAgICBS
ZWZQdHI8U3RyaW5nSW1wbD4gYXRvbWljID0gQXRvbWljU3RyaW5nSW1wbDo6YWRkKHJlZmVyZW5j
ZS5nZXQoKSk7CiAgICAgQVNTRVJUX1RSVUUoYXRvbWljLT5pc0F0b21pYygpKTsKICAgICBBU1NF
UlRfRkFMU0UoYXRvbWljLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlRfVFJVRShyZWZlcmVuY2Ut
PmlzU3ltYm9sKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252964</attachid>
            <date>2015-05-12 07:41:49 -0700</date>
            <delta_ts>2015-05-12 07:56:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150512234026.patch</filename>
            <type>text/plain</type>
            <size>235843</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWZhNGY5MzE1NmFmOTM4ZDg5ZWU4NDUwNDk5ZmY5MGYwY2VlZTcyLi5lMmUxMjUxNmMzOTcxODNk
Yjg0NDU2ZWMwOGNjODI5YWQ3NGVlMTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzYgQEAKKzIwMTUtMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bmFtZUZvclJlZ2lzdGVyKToKKyAgICAgICAgKiBi
eXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q29tcGxleEdldFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5o
OgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oOgorICAgICAg
ICAqIGJ5dGVjb2RlL0luc3RydWN0aW9uLmg6CisgICAgICAgIChKU0M6Okluc3RydWN0aW9uOjpJ
bnN0cnVjdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAg
ICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlND
OjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlMaXN0Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6SW5saW5lU3RhY2tFbnRyeTo6SW5saW5lU3RhY2tFbnRyeSk6CisgICAgICAgICogZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElk
ZW50aWZpZXJzOjphZGRMYXppbHkpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlm
aWVyczo6YXQpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5
QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmg6CisgICAgICAgIChK
U0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjpvcGVyYXRvcltdKToKKyAgICAgICAgKiBkZmcv
REZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBO
b2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjppc1N0cmluZ1Byb3RvdHlwZU1l
dGhvZFNhbmUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbik6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Omlk
ZW50aWZpZXJVSUQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3Bl
cmF0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6bW1BbGxvY2F0ZURhdGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVE
ZXNjcmlwdG9yLmg6CisgICAgICAgIChKU0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hlRGVz
Y3JpcHRvcjo6dWlkKToKKyAgICAgICAgKEpTQzo6RlRMOjpHZXRCeUlkRGVzY3JpcHRvcjo6R2V0
QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OlB1dEJ5SWREZXNjcmlwdG9yOjpQ
dXRCeUlkRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6Q2hlY2tJbkRlc2NyaXB0b3I6
OkNoZWNrSW5EZXNjcmlwdG9yKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUluKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Z2V0QnlJZCk6CisgICAgICAgICogZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGppdC9K
SVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAqIHBhcnNlci9Ob2Rlcy5jcHA6CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpzZXRDbG9z
ZWRWYXJpYWJsZXMpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpT
Y29wZU5vZGU6OmNhcHR1cmVzKToKKyAgICAgICAgKEpTQzo6U2NvcGVOb2RlOjpzZXRDbG9zZWRW
YXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y2xvc2VkVmFyaWFibGVzKToK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlk
RmluaXNoUGFyc2luZyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
cmljdE9iamVjdExpdGVyYWwpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAg
KEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZVZhcmlhYmxl
KToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAgICAgICAoSlND
OjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnVz
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZhcmlhYmxlc1Rv
VmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAoSlNDOjpTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChKU0M6OlNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjppc1ByaXZh
dGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAg
ICogcnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkOCk6CisgICAgICAgICogcnVudGltZS9J
ZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OmltcGwpOgorICAgICAgICAo
SlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6
YWRkKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXJSZXBIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpJ
ZGVudGlmaWVyOjphZGQpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpmcm9tVWlkKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlND
OjpJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKToKKyAgICAgICAg
KiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAgICAoSlNDOjpKU1JvcGVTdHJp
bmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmluZyk6CisgICAgICAgICogcnVudGlt
ZS9KU1N0cmluZy5oOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6dG9FeGlzdGluZ0F0b21pY1N0
cmluZyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRh
YmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBEYXRhLmg6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVj
dG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAgKiBydW50aW1lL1ByaXZhdGVOYW1l
Lmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2YXRlTmFtZSk6CisgICAgICAgIChK
U0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlNYXBIYXNo
VGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZS5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFt
ZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpwdWJsaWNOYW1lKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJh
eS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkS25vd25VbmlxdWUpOgor
ICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKToKKyAgICAgICAgKiBydW50aW1l
L1NtYWxsU3RyaW5ncy5jcHA6CisgICAgICAgIChKU0M6OlNtYWxsU3RyaW5nc1N0b3JhZ2U6OlNt
YWxsU3RyaW5nc1N0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbCk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZUNvbmN1cnJlbnRseSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0Q29uY3Vy
cmVudGx5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OnJlbW92ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAg
ICAgKEpTQzo6UHJvcGVydHlNYXBFbnRyeTo6UHJvcGVydHlNYXBFbnRyeSk6CisgICAgICAgICog
cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0
Q29uY3VycmVudGx5KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6Okhhc2g6Omhhc2gp
OgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmNwcDoKKyAgICAgICAgKEpTQzo6U3ltYm9sOjpT
eW1ib2wpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmg6CisgICAgICAgICogcnVudGltZS9T
eW1ib2xDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0cnVjdG9yRm9y
KToKKyAgICAgICAgKEpTQzo6c3ltYm9sQ29uc3RydWN0b3JLZXlGb3IpOgorICAgICAgICAqIHJ1
bnRpbWUvU3ltYm9sVGFibGUuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6dW5pcXVl
SURGb3JWYXJpYWJsZSk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0
Rm9yVmFyaWFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAg
KiBydW50aW1lL1R5cGVTZXQuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6YWRk
UHJvcGVydHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlIYXNoKToK
KyAgICAgICAgKiBydW50aW1lL1R5cGVTZXQuaDoKKwogMjAxNS0wNS0xMiAgR2Fib3IgTG9raSAg
PGxva2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBXb3JrYXJvdW5kIGZvciBDb3J0ZXgtQTUzIGVy
cmF0dW0gODQzNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IGVkNTQ4ZDAwYmYzOTE1NWM0ZTk0NjJhZmE1ZjI1MjMyMDU1YmUx
YjQuLjYxZjlhMjRkYTRkYTg5NWE0NTU2NjIwZWRhMDU0MjNjOTBhMjQ3MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQzIEBACisyMDE1LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1w
bCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGN1cnJlbnQg
QXRvbWljU3RyaW5nSW1wbCBhY2NpZGVudGFsbHkgbWVhbnMgdGhlIHN5bWJvbCBPUiBhdG9taWMg
U3RyaW5nSW1wbC4KKyAgICAgICAgSXQncyBub3QgY29ycmVjdCB0byBpdHMgbmFtZSBhbmQgaXQn
cyBlcnJvciBwcm9uZS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSdsbCBpbnRyb2R1Y2Uv
Y2hhbmdlcyBjbGFzc2VzIGludG8gV1RGLgorCisgICAgICAgIDEuIFVuaXF1ZWRTdHJpbmdJbXBs
CisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFN0cmluZ0ltcGwuIEFuZCBpdCByZXBy
ZXNlbnRzIHN5bWJvbCB8fCBhdG9taWMgU3RyaW5nSW1wbC4KKworICAgICAgICAyLiBTeW1ib2xJ
bXBsCisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFVuaXF1ZWRTdHJpbmdJbXBsLiBP
bmx5IHN5bWJvbCBzdHJpbmdzIGNhbiBiZWNvbWUgdGhpcy4KKyAgICAgICAgSXQgZW5zdXJlcyB0
aGUgZ2l2ZW4gU3RyaW5nSW1wbCBpcyBzeW1ib2wgaW4gY29tcGlsZSB0aW1lLgorCisgICAgICAg
IDMuIEF0b21pY1N0cmluZ0ltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZyb20gVW5p
cXVlZFN0cmluZ0ltcGwuIE9ubHkgYXRvbWljIChub24tbm9ybWFsICYmIG5vbi1zeW1ib2wpIHN0
cmluZ3MgY2FuIGJlY29tZSB0aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJp
bmdJbXBsIGlzIGF0b21pYyBpbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAgQW5kLCBpbiB0aGlz
IHRpbWUsIEkganVzdCBhY2NlcHQgVW5pcXVlU3RyaW5nSW1wbCBpbiBBdG9taWNTdHJpbmcuIEFz
IHRoZSByZXN1bHQsCisgICAgICAgIDEuIE5vdyBBdG9taWNTdHJpbmdJbXBsIGlzc3VlIGlzIGZp
eGVkLiBJdHMgU3ltYm9sSW1wbCBpcyBzZXBhcmF0ZWQgYW5kIFVuaXF1ZWRTdHJpbmdJbXBsIGlz
IGludHJvZHVjZWQuCisgICAgICAgIDIuIEJ1dCBBdG9taWNTdHJpbmcgc3RpbGwgaGF2ZSBib3Ro
IHN5bWJvbCBhbmQgYXRvbWljIHN0cmluZ3MuCisgICAgICAgIFRoaXMgc2hvdWxkIGJlIHNvbHZl
ZCBpbiB0aGUgc2VwYXJhdGVkIHBhdGNoLgorCisgICAgICAgIEFuZCwgaW4gdGhpcyBwYXRjaCwg
d2UgbW92ZWQgdGhlIEF0b21pY1N0cmluZyB0YWJsZSByZWxhdGVkIG9wZXJhdGlvbnMgZnJvbSBB
dG9taWNTdHJpbmcgdG8gQXRvbWljU3RyaW5nSW1wbC4KKyAgICAgICAgSXQgaXMgcmVhc29uYWJs
ZSBiZWNhdXNlIHRoZXNlIG9wZXJhdGlvbiByZWdpc3RlcnMgU3RyaW5nSW1wbCBhbmQgcmV0dXJu
ZXMgQXRvbWljU3RyaW5nSW1wbC4KKworICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9q
OgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICog
V1RGLnZjeHByb2ovY29weS1maWxlcy5jbWQ6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0
Zi9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6Cisg
ICAgICAgICogd3RmL1ByaW50U3RyZWFtLmNwcDoKKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0u
aDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQvQXRv
bWljU3RyaW5nLmNwcDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpsb3dlcik6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZzo6Y29udmVydFRvQVNDSUlMb3dlcmNhc2UpOgorICAgICAg
ICAoV1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwpOgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdUYWJsZUxvY2tlcjo6QXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpzdHJpbmdUYWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmFk
ZFRvU3RyaW5nVGFibGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpDU3RyaW5nVHJhbnNsYXRv
cjo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjplcXVh
bCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6aGFzaCk6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6
Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFu
c2xhdG9yOjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFj
dGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0
cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0
cmluZ1RyYW5zbGF0b3I4OjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5n
VHJhbnNsYXRvcjg6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJh
bnNsYXRvcjE2OjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNs
YXRvcjE2OjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNs
YXRvcjo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRv
cjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJh
bERhdGFUcmFuc2xhdG9yOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZl
ckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6Q2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6YWRkRnJvbUxpdGVyYWxEYXRhKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZSk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6cmVtb3ZlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6QXRvbWljU3RyaW5nOjpmaW5kU2xvd0Nhc2UpOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6OmZpbmRJbnRlcm5hbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0
b21pY1N0cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpBdG9t
aWNTdHJpbmcpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmZpbmQpOiBEZWxldGVkLgor
ICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OkF0b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyOjpBdG9taWNTdHJpbmdUYWJsZUxvY2tlcik6CisgICAgICAgIChXVEY6OnN0
cmluZ1RhYmxlKToKKyAgICAgICAgKFdURjo6YWRkVG9TdHJpbmdUYWJsZSk6CisgICAgICAgIChX
VEY6OkNTdHJpbmdUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6Q1N0cmluZ1RyYW5z
bGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6Q1N0cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0
ZSk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZCk6CisgICAgICAgIChXVEY6
OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OlVDaGFyQnVmZmVy
VHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6
aGFzaCk6CisgICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwp
OgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
CisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6Omhhc2gpOgor
ICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjplcXVhbCk6Cisg
ICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAg
IChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I4OjpoYXNoKToKKyAgICAgICAgKFdURjo6U3Vic3Ry
aW5nVHJhbnNsYXRvcjg6OmVxdWFsKToKKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNsYXRv
cjE2OjpoYXNoKToKKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNsYXRvcjE2OjplcXVhbCk6
CisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChX
VEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpMQ2hhckJ1
ZmZlclRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9t
TGl0ZXJhbERhdGFUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZlckZy
b21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZl
ckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6OkF0
b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YSk6CisgICAgICAgIChXVEY6OkF0b21p
Y1N0cmluZ0ltcGw6OmFkZFNsb3dDYXNlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1w
bDo6cmVtb3ZlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6bG9va3VwU2xvd0Nh
c2UpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGRGcm9tVVRGOCk6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cEludGVybmFsKToKKyAgICAgICAgKFdU
Rjo6QXRvbWljU3RyaW5nSW1wbDo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0lt
cGw6Omxvb2t1cCk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZCk6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKToK
KyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6QXRvbWljU3RyaW5nSW1wbCk6IERlbGV0
ZWQuCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6On5TdHJpbmdJbXBsKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRl
U3ltYm9sKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkpOgor
ICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TeW1i
b2xJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZh
dGVOYW1lLmguCisgICAgICAgICogd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwOgorICAgICAg
ICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6c3ltYm9sRm9yS2V5KToKKyAgICAgICAgKFdURjo6U3lt
Ym9sUmVnaXN0cnk6OmtleUZvclN5bWJvbCk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5
OjpyZW1vdmUpOgorICAgICAgICAqIHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg6CisgICAgICAg
ICogd3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaC4KKyAgICAgICAgKiB3dGYvdGV4dC9XVEZT
dHJpbmcuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjpTdHJpbmcpOgorICAgICAgICAqIHd0Zi90
ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0
Zi90ZXh0L2NmL0F0b21pY1N0cmluZ0NGLmNwcC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5n
SW1wbDo6YWRkKToKKwogMjAxNS0wNS0xMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luXSBNb3ZlIFdpbmRvd3MgYnVpbGQgdGFyZ2V0IHRvIFdpbmRv
d3MgNyAob3IgbmV3ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg0ZDYxNjBmMTE4MmNkZjQxODIwNTI5YTU4
ZWNlZDRhZTE2N2I5Ny4uZWI2ZGNmNGE1MDI2NTA2YzliZTNlZmE1ZGRjMWRkYzNkOThlNDRjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5n
SW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRv
bWljU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ0ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIFVuaXF1ZWRTdHJpbmdJbXBsLCBTeW1ib2xJbXBsIGFuZCBBdG9taWNTdHJpbmdJ
bXBsLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y2xvc2VkUHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVTZXJpYWxpemVyOjp3cml0ZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmdldEVsZW1lbnRCeUlkKToKKwogMjAxNS0wNS0xMiAg
Sm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IFtHVEtd
IERlZmVyIHRvIFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBmb3IgdGFibGUgZXhwb3N1cmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggZWE0Y2ZhZmQ3
YzNlYjhlYTZjZTczZjIzMTZkNDdkOGVjNGNlNWU3MS4uMzNiNDI2MmU2MjAxNzRjZDdiY2Q0NzFj
NTBhNjkzYTlmNDBiNGEwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0LmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgSlNDYWxsYmFja09iamVjdERh
dGEgewogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBI
YXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBI
YXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CiAgICAgICAgIFByaXZhdGVQcm9wZXJ0eU1hcCBtX3By
b3BlcnR5TWFwOwogICAgIH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTUHJpdmF0ZVByb3BlcnR5
TWFwPiBtX3ByaXZhdGVQcm9wZXJ0aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDc5YWNjMTRkYjE0ODNhMmZmYWIyMThiNGYzYzMyMDg2
NjYzYzM0ODMuLmUyM2Y4MGE3NTlkOTk3ZWM2ZmJkOGY4NjQ0NzZkODdmY2IwZWYzMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTM3LDcg
KzM3LDcgQEAKICAgICBjb25zdCBJZGVudGlmaWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV8jI25hbWU7IH0gXAogICAgIGNvbnN0IElkZW50aWZpZXImIG5hbWUjI1ByaXZh
dGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWUjI1ByaXZhdGVOYW1lOyB9CiAKLSNkZWZp
bmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05B
TUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5h
bWUoQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAjbmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElTRV9C
VUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMj
bmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoUHJpdmF0ZU5hbWU6
OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwoIlN5bWJvbC4iICNuYW1lKSkpKQogI2RlZmluZSBE
RUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkg
Y29uc3QgSWRlbnRpZmllciBtXyMjbmFtZSMjU3ltYm9sOwogI2RlZmluZSBERUNMQVJFX0JVSUxU
SU5fU1lNQk9MX0FDQ0VTU09SKG5hbWUpIFwKICAgICBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklF
Ul9BQ0NFU1NPUihuYW1lKSBcCkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7
CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05f
U1lNQk9MKElOSVRJQUxJU0VfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgfQogCi0gICAg
Ym9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1By
aXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1l
KFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgIGJvb2wgaXNQcml2YXRlTmFtZShj
b25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAgICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0
ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGdl
dFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtNzgsNyArNzksNyBAQCBj
bGFzcyBCdWlsdGluTmFtZXMgewogICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFN
RShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJ
RVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NP
TU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9C
VUlMVElOX1NZTUJPTFMpCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwg
Y29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50
aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5O
YW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2
YXRlVG9QdWJsaWNNYXA7CiB9OwpAQCAtOTAsMTYgKzkxLDIxIEBAIGNsYXNzIEJ1aWx0aW5OYW1l
cyB7CiAjdW5kZWYgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMKICN1bmRlZiBERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SCiAKLWlubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2
YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0CitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6
OmlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYgdWlkKSBjb25zdAogewotICAgIGlmICghdWlkLT5p
c1N5bWJvbCgpKQorICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlk
KTsKK30KKworaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKFVuaXF1ZWRT
dHJpbmdJbXBsJiB1aWQpIGNvbnN0Cit7CisgICAgaWYgKCF1aWQuaXNTeW1ib2woKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlu
cyh1aWQpOworICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsK
IH0KIAogaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50
aWZpZXImIGlkZW50KSBjb25zdAogewotICAgIHJldHVybiBpc1ByaXZhdGVOYW1lKGlkZW50Lmlt
cGwoKSk7CisgICAgcmV0dXJuIGlzUHJpdmF0ZU5hbWUoKmlkZW50LmltcGwoKSk7CiB9CiAKIGlu
bGluZSBjb25zdCBJZGVudGlmaWVyKiBCdWlsdGluTmFtZXM6OmdldFByaXZhdGVOYW1lKGNvbnN0
IElkZW50aWZpZXImIGlkZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKaW5kZXggODMxYmM2
NjhkYjk0Mzc1NjYzOWJiNGNmZjFiMzQ3MzdjOGJlMmI0Yi4uODdhNTc4YzE2YzMwYTMzNDcwMTQ1
MTU2ZTVkMWM3YjdiYTEzMmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCkBAIC00OCw3ICs0OCw3
IEBAIGNsYXNzIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkgewogCiBwcml2YXRlOgogICAgIGNv
bnN0IENvbW1vbklkZW50aWZpZXJzJiBtX3Byb3BlcnR5TmFtZXM7Ci0gICAgSGFzaE1hcDxSZWZQ
dHI8U3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29k
ZUludHJpbnNpY01hcDsKKyAgICBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEVt
aXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQyYmY0MDQ0MWQxM2Y0
MDU2Li43OTZmMzk5MGFjMDU3ZDVlNDE0YzYyNDc1ZDM1MGQ3NTQxNjJkYzMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtNjYsNiArNjYsNyBA
QAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0
cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJMRShERkdfSklUKQogI2luY2x1
ZGUgIkRGR09wZXJhdGlvbnMuaCIKQEAgLTIwMDUsNyArMjAwNiw3IEBAIGNsYXNzIFB1dFRvU2Nv
cGVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgewogICAgICAgICAgICAgICAgIGlmIChz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ocGNbMl0udS5vcGVyYW5kKSAhPSBVSU5UX01BWCkgewogICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChkaWRDbG9uZVN5bWJvbFRhYmxlKTsKICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKHBj
WzJdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IGlk
ZW50LmltcGwoKTsKKyAgICAgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IGlkZW50LmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBs
b2NrZXIobV9zeW1ib2xUYWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgU3ltYm9s
VGFibGU6Ok1hcDo6aXRlcmF0b3IgaXRlciA9IG1fc3ltYm9sVGFibGUtPmZpbmQobG9ja2VyLCB1
aWQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRlciAhPSBtX3N5bWJvbFRhYmxlLT5l
bmQobG9ja2VyKSk7CkBAIC0zODA5LDcgKzM4MTAsNyBAQCBTdHJpbmcgQ29kZUJsb2NrOjpuYW1l
Rm9yUmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlcikKICAgICAgICAgaWYg
KHB0ci0+dmFsdWUudmFyT2Zmc2V0KCkgPT0gVmFyT2Zmc2V0KHZpcnR1YWxSZWdpc3RlcikpIHsK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsgZnJvbSB0aGUgY29tcGlsYXRp
b24gdGhyZWFkLgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTMwMAotICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwdHItPmtleSk7Cisg
ICAgICAgICAgICByZXR1cm4gU3RyaW5nKHB0ci0+a2V5LmdldCgpKTsKICAgICAgICAgfQogICAg
IH0KICAgICBpZiAodmlydHVhbFJlZ2lzdGVyID09IHRoaXNSZWdpc3RlcigpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwCmluZGV4
IDA0MmRjZWM3N2VmZGMyMGMxMzI1ZWQyN2M4ZDc5OWU3Mzc3ZjY0OTcuLmQ4MTNhM2Q2NTdlY2Fj
ZDk3ZDhmMTBlMDg2MDY0MzY3NjFiY2U1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAog
Q29tcGxleEdldFN0YXR1cyBDb21wbGV4R2V0U3RhdHVzOjpjb21wdXRlRm9yKAogICAgIENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4sCi0gICAgdW5zaWduZWQgY2hhaW5Db3VudCwgQXRvbWljU3RyaW5nSW1wbCog
dWlkKQorICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCB3ZSBuZXZlciBzZWUgYSBzdHJ1
Y3R1cmUgdGhhdAogICAgIC8vIGhhc0ltcHVyZUdldE93blByb3BlcnR5U2xvdCgpIGJ1dCBmb3Ig
d2hpY2ggd2UgZG9uJ3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db21wbGV4R2V0U3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29t
cGxleEdldFN0YXR1cy5oCmluZGV4IDExNWJmM2NlNDFmNTA4YzE2N2Q4MGQxNGFkMWU4NGE4ZWY5
MDBjMzMuLjI2MjA0MDVhOTZmOTc5ODUwMTM0MTM4MDZjNmM0MjUxZWU0ZDNkMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaApAQCAt
OTgsNyArOTgsNyBAQCBjbGFzcyBDb21wbGV4R2V0U3RhdHVzIHsKICAgICAKICAgICBzdGF0aWMg
Q29tcGxleEdldFN0YXR1cyBjb21wdXRlRm9yKAogICAgICAgICBDb2RlQmxvY2sqIHByb2ZpbGVk
QmxvY2ssIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLAot
ICAgICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAg
ICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAK
ICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KICAgICB1bnNpZ25lZCBh
dHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKaW5kZXggYmYyOGM1NTlh
NmIwOTY2ZWVhZWNlZGRlMjE0NTQ1ZGQ3ODVlOGMxYy4uMzBjMjIwNDdlMjVjNDE1ZjI2ODZmNTU5
ODQzOTAwN2RiMTY3OTMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXRCeUlkU3RhdHVzLmNwcApAQCAtNjYsNyArNjYsNyBAQCBib29sIEdldEJ5SWRTdGF0dXM6
Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2Nr
KiBwcgogfQogI2VuZGlmCiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZy
b21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgs
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29t
cHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHByb2Zp
bGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKQEAgLTkxLDcgKzkx
LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQKICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhT
aW1wbGUsIGZhbHNlLCBHZXRCeUlkVmFyaWFudChTdHJ1Y3R1cmVTZXQoc3RydWN0dXJlKSwgb2Zm
c2V0KSk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAs
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
Q29uY3VycmVudEpJVExvY2tlciBsb2NrZXIocHJvZmlsZWRCbG9jay0+bV9sb2NrKTsKIApAQCAt
MTE4LDcgKzExOCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihD
b2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtCiAKICNpZiBFTkFCTEUoSklU
KQogR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCi0gICAg
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxv
Y2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgQXRvbWljU3RyaW5nSW1wbCogdWlkLAor
ICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQsCiAgICAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVEYXRhKQog
ewogICAgIGlmICghc3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQpAQCAtMjI0LDcgKzIyNCw3
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogCiBH
ZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBw
cm9maWxlZEJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVN
YXAsCi0gICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQpCisgICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBj
b2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdfSklU
KQogICAgIGlmIChkZmdCbG9jaykgewpAQCAtMjYyLDcgKzI2Miw3IEBAIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICByZXR1cm4gY29tcHV0ZUZvcihwcm9maWxl
ZEJsb2NrLCBiYXNlbGluZU1hcCwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCB1aWQpOwogfQog
Ci1HZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoY29uc3QgU3RydWN0dXJl
U2V0JiBzZXQsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKIHsKICAgICAvLyBGb3Igbm93IHdlIG9ubHkgaGFuZGxlIHRoZSBzdXBlciBzaW1w
bGUgc2VsZiBhY2Nlc3MgY2FzZS4gV2UgY291bGQgaGFuZGxlIHRoZQogICAgIC8vIHByb3RvdHlw
ZSBjYXNlIGluIHRoZSBmdXR1cmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldEJ5SWRTdGF0dXMuaAppbmRleCAyN2JmYjg4ZjRjMTJkNzZiNjI5Mjg1ZjFjYWQyM2YyNmNh
YmQ1ZWM4Li43ZDRlYmIyMmNmZDVhOGFjOGViYWIwY2JlNWI1MmY1NDYzMTY4MmU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKQEAgLTY3LDEw
ICs2NywxMCBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICAgICAgICAgbV92YXJpYW50cy5hcHBl
bmQodmFyaWFudCk7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1
dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBB
dG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVG
b3IoY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0
aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5z
aWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGlj
IEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKTsKICAgICAKLSAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9y
KENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9N
YXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29k
ZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYg
YmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9z
dGF0ZTsgfQogICAgIApAQCAtOTcsOSArOTcsOSBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICNp
ZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5m
bygKICAgICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qLAotICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1
aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOworICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0
YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJ
ZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5k
ZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFu
dChjb25zdCBHZXRCeUlkVmFyaWFudCYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBiNDJlNDI5MThhYWY3NDZjOTM5NjA5YjliZDFl
MmY5OWQwNmI0Zjk3Li5jMjBhNGY3Mjg0ZWMxYzU4MTg4NDg2MDIyYjA5YmQ2NDBjMjMxMTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtMTAw
LDcgKzEwMCw3IEBAIHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAgICAgSW5zdHJ1Y3Rpb24oT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUpIHsgdS5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSA9
IHByb2ZpbGU7IH0KICAgICBJbnN0cnVjdGlvbihXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHZhcmlh
YmxlUG9pbnRlcikgeyB1LnZhcmlhYmxlUG9pbnRlciA9IHZhcmlhYmxlUG9pbnRlcjsgfQogICAg
IEluc3RydWN0aW9uKFNwZWNpYWw6OlBvaW50ZXIgcG9pbnRlcikgeyB1LnNwZWNpYWxQb2ludGVy
ID0gcG9pbnRlcjsgfQotICAgIEluc3RydWN0aW9uKFN0cmluZ0ltcGwqIHVpZCkgeyB1LnVpZCA9
IHVpZDsgfQorICAgIEluc3RydWN0aW9uKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIHsgdS51aWQg
PSB1aWQ7IH0KICAgICBJbnN0cnVjdGlvbihib29sKiBwcmVkaWNhdGVQb2ludGVyKSB7IHUucHJl
ZGljYXRlUG9pbnRlciA9IHByZWRpY2F0ZVBvaW50ZXI7IH0KIAogICAgIHVuaW9uIHsKQEAgLTEx
NCw3ICsxMTQsNyBAQCBzdHJ1Y3QgSW5zdHJ1Y3Rpb24gewogICAgICAgICBTcGVjaWFsOjpQb2lu
dGVyIHNwZWNpYWxQb2ludGVyOwogICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBn
ZXR0ZXJGdW5jOwogICAgICAgICBMTEludENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvOwotICAg
ICAgICBTdHJpbmdJbXBsKiB1aWQ7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQ7CiAg
ICAgICAgIFZhbHVlUHJvZmlsZSogcHJvZmlsZTsKICAgICAgICAgQXJyYXlQcm9maWxlKiBhcnJh
eVByb2ZpbGU7CiAgICAgICAgIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqIGFycmF5QWxsb2NhdGlv
blByb2ZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0
QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0
YXR1cy5jcHAKaW5kZXggN2VjMGJhNDMwZTY2Zjc0MTgzMzlkOTgzNGY1ZjYyYWIxYzZlOWY5MC4u
MjRkN2I0NGU0NTdiYTZhNjA1YTNjMWMyYzVmOTdlNzgxNGViNjc5MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApAQCAtNjIsNyArNjIs
NyBAQCBib29sIFB1dEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcgogfQogI2VuZGlmCiAKLVB1dEJ5SWRTdGF0dXMg
UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1B1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVk
QmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRl
Y29kZUluZGV4KTsKQEAgLTEwNSw3ICsxMDUsNyBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0
dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25lZAog
ICAgIHJldHVybiBQdXRCeUlkVmFyaWFudDo6dHJhbnNpdGlvbihzdHJ1Y3R1cmUsIG5ld1N0cnVj
dHVyZSwgaW50ZW5kZWRDaGFpbi5nZXQoKSwgb2Zmc2V0KTsKIH0KIAotUHV0QnlJZFN0YXR1cyBQ
dXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1Yklu
Zm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlk
KQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihw
cm9maWxlZEJsb2NrLT5tX2xvY2spOwogICAgIApAQCAtMTM0LDcgKzEzNCw3IEBAIFB1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IFN0dWJJbmZvTWFwJiBtCiAjaWYgRU5BQkxFKEpJVCkKIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
IGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNp
dGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgQ2Fs
bExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVEYXRhKQogewogICAgIGlmICgh
c3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1
cygpOwpAQCAtMjc0LDcgKzI3NCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29t
cHV0ZUZvclN0dWJJbmZvKAogfQogI2VuZGlmCiAKLVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxv
Y2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3RhdHVzIFB1
dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxv
Y2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdN
YXAsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICNp
ZiBFTkFCTEUoREZHX0pJVCkKICAgICBpZiAoZGZnQmxvY2spIHsKQEAgLTMwOCw3ICszMDgsNyBA
QCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNl
bGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZwogICAgIHJldHVybiBjb21wdXRlRm9yKGJhc2VsaW5l
QmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7CiB9CiAK
LVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgQXRvbWljU3RyaW5nSW1wbCog
dWlkLCBib29sIGlzRGlyZWN0KQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0KQogewogICAgIGlmIChwYXJz
ZUluZGV4KCp1aWQpKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhUYWtlc1Nsb3dQYXRo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCmlu
ZGV4IGY1NTM2MmUxM2Q5M2I3N2E4YmNkZjNlZmJkOWYxZmUxNWM2ZTdhNGEuLjA0NjFkYzRkNmZk
MmYzNWM4Njc0MWIwNzQyZjVjNjkyZjJjYjEzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaApAQCAtNzAsMTAgKzcwLDEwIEBAIGNsYXNzIFB1
dEJ5SWRTdGF0dXMgewogICAgICAgICBtX3ZhcmlhbnRzLmFwcGVuZCh2YXJpYW50KTsKICAgICB9
CiAgICAgCi0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBT
dHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCk7Ci0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cnVjdHVyZVNldCYsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgYm9vbCBpc0RpcmVj
dCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHVi
SW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqLCBj
b25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0
KTsKICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayog
YmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5l
TWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1
aWQpOworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNl
bGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAs
IFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAg
IApAQCAtOTYsMTAgKzk2LDEwIEBAIGNsYXNzIFB1dEJ5SWRTdGF0dXMgewogI2VuZGlmCiAjaWYg
RU5BQkxFKEpJVCkKICAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yU3R1YkluZm8o
Ci0gICAgICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDb2RlQmxvY2sqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwKKyAgICAgICAgY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwKICAgICAgICAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSk7CiAj
ZW5kaWYKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9j
ayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAg
c3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25l
ZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAKICAgICBib29s
IGFwcGVuZFZhcmlhbnQoY29uc3QgUHV0QnlJZFZhcmlhbnQmKTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKaW5kZXggYzNjZTg3NTU5MWEzMjlmNzNlYTVkYjI2MDZiZjU2Njk4YTI1ZjFhNi4uODc2MWQ1
ZTE3NTIwODU3OTJmOTgwMDAwMTJkMmU2Y2NmNzk1MGJkMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAg
LTIxMCw3ICsyMTAsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUo
KQogICAgIGJvb2wgc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhpbmdzID0gbV9zaG91bGRFbWl0RGVi
dWdIb29rcyB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCk7CiAgICAgYm9vbCBuZWVkc0FyZ3VtZW50
cyA9IGZ1bmN0aW9uTm9kZS0+dXNlc0FyZ3VtZW50cygpIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwo
KTsKICAgICAKLSAgICBhdXRvIGNhcHR1cmVzID0gWyZdIChTdHJpbmdJbXBsKiB1aWQpIC0+IGJv
b2wgeworICAgIGF1dG8gY2FwdHVyZXMgPSBbJl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIC0+
IGJvb2wgewogICAgICAgICBpZiAoc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhpbmdzKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmICghc2hvdWxkQ2FwdHVyZVNvbWVPZlRoZVRo
aW5ncykKQEAgLTIyNCw3ICsyMjQsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6
Z2VuZXJhdGUoKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmdW5jdGlvbk5vZGUtPmNhcHR1
cmVzKHVpZCk7CiAgICAgfTsKLSAgICBhdXRvIHZhcktpbmQgPSBbJl0gKFN0cmluZ0ltcGwqIHVp
ZCkgLT4gVmFyS2luZCB7CisgICAgYXV0byB2YXJLaW5kID0gWyZdIChVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKSAtPiBWYXJLaW5kIHsKICAgICAgICAgcmV0dXJuIGNhcHR1cmVzKHVpZCkgPyBWYXJL
aW5kOjpTY29wZSA6IFZhcktpbmQ6OlN0YWNrOwogICAgIH07CiAKQEAgLTMxNCw3ICszMTQsNyBA
QCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBTY29wZU9mZnNldCBvZmZzZXQgPSBtX3N5bWJvbFRhYmxlLT50YWtlTmV4dFNj
b3BlT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0QXJndW1lbnRP
ZmZzZXQodm0sIGksIG9mZnNldCk7Ci0gICAgICAgICAgICAgICAgaWYgKFN0cmluZ0ltcGwqIG5h
bWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkgeworICAgICAg
ICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFy
YW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKSB7CiAgICAgICAgICAgICAgICAgICAgIFZhck9mZnNl
dCB2YXJPZmZzZXQob2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGVFbnRy
eSBlbnRyeSh2YXJPZmZzZXQpOwogICAgICAgICAgICAgICAgICAgICAvLyBTdG9yZXMgdG8gdGhl
c2UgdmFyaWFibGVzIHZpYSB0aGUgU2NvcGVkQXJndW1lbnRzIG9iamVjdCB3aWxsIG5vdCBkbwpA
QCAtMzQyLDcgKzM0Miw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0
ZSgpCiAgICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBwdXQgYWxsIHBhcmFtZXRlcnMgaW50
byB0aGUgRGlyZWN0QXJndW1lbnRzIG9iamVjdC4gRmlyc3QgZW5zdXJlCiAgICAgICAgICAgICAv
LyB0aGF0IHRoZSBzeW1ib2wgdGFibGUga25vd3MgdGhhdCB0aGlzIGlzIGhhcHBlbmluZy4KICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZv
clBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkKKyAgICAgICAgICAgICAgICBpZiAoVW5pcXVl
ZFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0
KGkpKSkKICAgICAgICAgICAgICAgICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0KG5hbWUsIFN5bWJv
bFRhYmxlRW50cnkoVmFyT2Zmc2V0KERpcmVjdEFyZ3VtZW50c09mZnNldChpKSkpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzUzLDcgKzM1Myw3IEBAIFBhcnNlckVycm9yIEJ5
dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIC8vIENyZWF0ZSB0aGUgZm9ybWFs
IHBhcmFtZXRlcnMgdGhlIG5vcm1hbCB3YXkuIEFueSBvZiB0aGVtIGNvdWxkIGJlIGNhcHR1cmVk
LCBvciBub3QuIElmCiAgICAgICAgIC8vIGNhcHR1cmVkLCBsaWZ0IHRoZW0gaW50byB0aGUgc2Nv
cGUuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJh
bWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCog
bmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpOwogICAgICAg
ICAgICAgaWYgKCFuYW1lKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAg
CkBAIC00NjUsNyArNDY1LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVy
YXRlKCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaGF2ZVBhcmFtZXRlck5hbWVkQXJndW1lbnRz
ID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVG
b3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpOwog
ICAgICAgICAgICAgaWYgKG5hbWUgPT0gcHJvcGVydHlOYW1lcygpLmFyZ3VtZW50cy5pbXBsKCkp
IHsKICAgICAgICAgICAgICAgICBoYXZlUGFyYW1ldGVyTmFtZWRBcmd1bWVudHMgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTQ1LDcgKzU0NSw3IEBAIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjppbml0aWFsaXplTmV4dFBhcmFtZXRlcigpCiAgICAgcmV0dXJuICZw
YXJhbWV0ZXI7CiB9CiAKLVN0cmluZ0ltcGwqIEJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFt
ZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKiBwYXR0ZXJuKQorVW5pcXVl
ZFN0cmluZ0ltcGwqIEJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihE
ZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKiBwYXR0ZXJuKQogewogICAgIGlmIChwYXR0ZXJuLT5p
c0JpbmRpbmdOb2RlKCkpIHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBzdGF0
aWNfY2FzdDxjb25zdCBCaW5kaW5nTm9kZSo+KHBhdHRlcm4pLT5ib3VuZFByb3BlcnR5KCk7CkBA
IC05NTQsMTMgKzk1NCwxMyBAQCB2b2lkIEFMV0FZU19JTkxJTkUgQnl0ZWNvZGVHZW5lcmF0b3I6
OnJld2luZFVuYXJ5T3AoKQogCiBib29sIEJ5dGVjb2RlR2VuZXJhdG9yOjpoYXNDb25zdGFudChj
b25zdCBJZGVudGlmaWVyJiBpZGVudCkgY29uc3QKIHsKLSAgICBTdHJpbmdJbXBsKiByZXAgPSBp
ZGVudC5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsK
ICAgICByZXR1cm4gbV9pZGVudGlmaWVyTWFwLmNvbnRhaW5zKHJlcCk7CiB9CiAKIHVuc2lnbmVk
IEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRDb25zdGFudChjb25zdCBJZGVudGlmaWVyJiBpZGVudCkK
IHsKLSAgICBTdHJpbmdJbXBsKiByZXAgPSBpZGVudC5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKICAgICBJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQg
cmVzdWx0ID0gbV9pZGVudGlmaWVyTWFwLmFkZChyZXAsIG1fY29kZUJsb2NrLT5udW1iZXJPZklk
ZW50aWZpZXJzKCkpOwogICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgbV9jb2Rl
QmxvY2stPmFkZElkZW50aWZpZXIoaWRlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGI4MTU2MzIwMDlj
ZDhmZGNmZTQ5Y2RiM2M2YjMxMDkyMWNmY2JhN2EuLjNlYjQ3NDc1OTIyZWY1YzlmMzVhYjlmYjgw
MmIxZDgwNjk5YzEwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTYxOCw3ICs2MTgsNyBAQAogICAgICAg
ICB2b2lkIGVtaXRDb21wbGV4UG9wU2NvcGVzKFJlZ2lzdGVySUQqLCBDb250cm9sRmxvd0NvbnRl
eHQqIHRvcFNjb3BlLCBDb250cm9sRmxvd0NvbnRleHQqIGJvdHRvbVNjb3BlKTsKIAogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBKU1ZhbHVlPiBOdW1iZXJNYXA7Ci0gICAgICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVyUmVwSGFzaD4g
SWRlbnRpZmllclN0cmluZ01hcDsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRTdHJp
bmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclN0cmluZ01h
cDsKICAgICAgICAgCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1pdENhbGwoKSBhbmQgZW1pdENv
bnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBvZgogICAgICAgICAvLyBleHBl
Y3RlZCBmdW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3IgZm9yIGJvdGggY2FsbCBhbmQg
Y29uc3RydWN0CkBAIC02NDEsNyArNjQxLDcgQEAKIAogICAgICAgICAvLyBJbml0aWFsaXplcyB0
aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVyOyBkb2VzIG5vdGhpbmcgZm9yIHRoZSBzeW1ib2wg
dGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQqIGluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCk7Ci0g
ICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9u
UGF0dGVybk5vZGUqKTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9y
UGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsKICAgICAgICAgCiAgICAgICAg
IFJlZ2lzdGVySUQmIHJlZ2lzdGVyRm9yKFZpcnR1YWxSZWdpc3RlciByZWcpCiAgICAgICAgIHsK
QEAgLTcxOCw3ICs3MTgsNyBAQAogCiAgICAgICAgIC8vIFNvbWUgb2YgdGhlc2Ugb2JqZWN0cyBr
ZWVwIHBvaW50ZXJzIHRvIG9uZSBhbm90aGVyLiBUaGV5IGFyZSBhcnJhbmdlZAogICAgICAgICAv
LyB0byBlbnN1cmUgYSBzYW5lIGRlc3RydWN0aW9uIG9yZGVyIHRoYXQgYXZvaWRzIHJlZmVyZW5j
ZXMgdG8gZnJlZWQgbWVtb3J5LgotICAgICAgICBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPiwg
SWRlbnRpZmllclJlcEhhc2g+IG1fZnVuY3Rpb25zOworICAgICAgICBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2Z1bmN0aW9uczsKICAgICAg
ICAgUmVnaXN0ZXJJRCBtX2lnbm9yZWRSZXN1bHRSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJ
RCBtX3RoaXNSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJRCBtX2NhbGxlZVJlZ2lzdGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCmluZGV4IDM5YjAzY2RkY2ZiMjMxMDMzNGExZDYzYzgzZjhmMzg1M2QxNmM2ZmMuLmM1OGQz
OGQ1ZTU2ZjY4Y2FiYWMyZWEzOTJmMjZlZmIyZTJkOWVkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM4Myw3ICsz
ODMsNyBAQCBSZWdpc3RlcklEKiBQcm9wZXJ0eUxpc3ROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZQogICAgIC8vIFdlcmUgdGhlcmUgYW55IGdl
dC9zZXQgcHJvcGVydGllcz8KICAgICBpZiAocCkgewogICAgICAgICB0eXBlZGVmIHN0ZDo6cGFp
cjxQcm9wZXJ0eU5vZGUqLCBQcm9wZXJ0eU5vZGUqPiBHZXR0ZXJTZXR0ZXJQYWlyOwotICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIEdldHRlclNldHRlclBhaXI+IEdldHRlclNl
dHRlck1hcDsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgR2V0
dGVyU2V0dGVyUGFpciwgSWRlbnRpZmllclJlcEhhc2g+IEdldHRlclNldHRlck1hcDsKICAgICAg
ICAgR2V0dGVyU2V0dGVyTWFwIG1hcDsKIAogICAgICAgICAvLyBCdWlsZCBhIG1hcCwgcGFpcmlu
ZyBnZXQvc2V0IHZhbHVlcyB0b2dldGhlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggYWJjNTFkNDZhMDUxOTdkZjQxM2MzYjM2ZGYx
Njk2ZDM5YmNjYWEwMS4uMjQ3ZTY0MDgyYzhjYTJhOGU1OTU2MjZjMWY2OTM3NmEzZDUzODNlZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
QEAgLTMxMDAsNyArMzEwMCw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQgbGltaXQpCiAgICAgICAgICAgICBOb2RlKiBiYXNlID0gZ2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBb
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZF07CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlm
aWVyTnVtYmVyXTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBo
LmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CiAgICAgICAgICAgICBHZXRCeUlkU3Rh
dHVzIGdldEJ5SWRTdGF0dXMgPSBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAogICAgICAgICAg
ICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgbV9kZmdDb2RlQmxvY2ss
CiAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9zdHViSW5mb3MsIG1fZGZnU3R1
YkluZm9zLApAQCAtMzQ2MSw3ICszNDYxLDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VC
bG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHNjb3BlID0gY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1i
ZXIgPSBtX2lubGluZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1hcFtjdXJyZW50SW5zdHJ1Y3Rp
b25bM10udS5vcGVyYW5kXTsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IG1f
Z3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKKyAgICAgICAgICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJl
cl07CiAgICAgICAgICAgICBSZXNvbHZlVHlwZSByZXNvbHZlVHlwZSA9IFJlc29sdmVNb2RlQW5k
VHlwZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kKS50eXBlKCk7CiAKICAgICAgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gMDsKQEAgLTM2MDMsMTEgKzM2MDMsOSBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAg
ICAgIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGluZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1h
cFtpZGVudGlmaWVyTnVtYmVyXTsKICAgICAgICAgICAgIHVuc2lnbmVkIHZhbHVlID0gY3VycmVu
dEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKICAgICAgICAgICAgIFJlc29sdmVUeXBlIHJlc29s
dmVUeXBlID0gUmVzb2x2ZU1vZGVBbmRUeXBlKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJh
bmQpLnR5cGUoKTsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZDsKKyAgICAgICAg
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBudWxscHRyOwogICAgICAgICAgICAgaWYgKGlk
ZW50aWZpZXJOdW1iZXIgIT0gVUlOVF9NQVgpCiAgICAgICAgICAgICAgICAgdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHVpZCA9IG51bGxwdHI7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAgICAgIFdhdGNocG9pbnRTZXQq
IHdhdGNocG9pbnRzID0gbnVsbHB0cjsKQEAgLTQwMjAsNyArNDAxOCw3IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OmJ1aWxkT3BlcmFuZE1hcHNJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1fc3dpdGNo
UmVtYXAucmVzaXplKGNvZGVCbG9jay0+bnVtYmVyT2ZTd2l0Y2hKdW1wVGFibGVzKCkpOwogCiAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZp
ZXJzKCk7ICsraSkgewotICAgICAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogcmVwID0gY29kZUJs
b2NrLT5pZGVudGlmaWVyKGkpLmltcGwoKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIoaSkuaW1wbCgpOwogICAgICAgICAgICAgQm9y
cm93ZWRJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gYnl0ZUNvZGVQYXJzZXItPm1f
aWRlbnRpZmllck1hcC5hZGQocmVwLCBieXRlQ29kZVBhcnNlci0+bV9ncmFwaC5pZGVudGlmaWVy
cygpLm51bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgICAgICAgICBpZiAocmVzdWx0LmlzTmV3
RW50cnkpCiAgICAgICAgICAgICAgICAgYnl0ZUNvZGVQYXJzZXItPm1fZ3JhcGguaWRlbnRpZmll
cnMoKS5hZGRMYXppbHkocmVwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAppbmRleCA2NWMzMDFkYmVlMTZkM2Y3NGI1NDI3Yjdh
MGY2OTI0ODg0MWM0ZTMyLi41NTE0NWUwZTNmYTZlYzYyYWEyZTM5ZTYyYTI2YTY3Y2U4YTUyNDE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlm
aWVycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRp
ZmllcnMuY3BwCkBAIC01MiwxNCArNTIsMTQgQEAgdW5zaWduZWQgRGVzaXJlZElkZW50aWZpZXJz
OjpudW1iZXJPZklkZW50aWZpZXJzKCkKICAgICByZXR1cm4gbV9jb2RlQmxvY2stPm51bWJlck9m
SWRlbnRpZmllcnMoKSArIG1fYWRkZWRJZGVudGlmaWVycy5zaXplKCk7CiB9CiAKLXZvaWQgRGVz
aXJlZElkZW50aWZpZXJzOjphZGRMYXppbHkoQXRvbWljU3RyaW5nSW1wbCogcmVwKQordm9pZCBE
ZXNpcmVkSWRlbnRpZmllcnM6OmFkZExhemlseShVbmlxdWVkU3RyaW5nSW1wbCogcmVwKQogewog
ICAgIG1fYWRkZWRJZGVudGlmaWVycy5hcHBlbmQocmVwKTsKIH0KIAotQXRvbWljU3RyaW5nSW1w
bCogRGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK1VuaXF1ZWRT
dHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGluZGV4KSBjb25zdAog
ewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlc3VsdDsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
cmVzdWx0OwogICAgIGlmIChpbmRleCA8IG1fY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZpZXJz
KCkpCiAgICAgICAgIHJlc3VsdCA9IG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGluZGV4KS5pbXBs
KCk7CiAgICAgZWxzZQpAQCAtNzEsNyArNzEsNyBAQCBBdG9taWNTdHJpbmdJbXBsKiBEZXNpcmVk
SWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGluZGV4KSBjb25zdAogdm9pZCBEZXNpcmVkSWRlbnRp
ZmllcnM6OnJlYWxseUFkZChWTSYgdm0sIENvbW1vbkRhdGEqIGNvbW1vbkRhdGEpCiB7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYWRkZWRJZGVudGlmaWVycy5zaXplKCk7ICsraSkg
ewotICAgICAgICBTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRlbnRpZmllcnNbaV07CisgICAg
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRlbnRpZmllcnNbaV07CiAgICAg
ICAgIEFTU0VSVChyZXAtPmhhc0F0TGVhc3RPbmVSZWYoKSk7CiAgICAgICAgIGNvbW1vbkRhdGEt
PmRmZ0lkZW50aWZpZXJzLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlkKCZ2bSwgcmVwKSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRl
bnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZp
ZXJzLmgKaW5kZXggZjljZTM4MWZjZTBmMjE1ZjU4NzM1NTRiZTI1NDhlZGM2ZTE3N2IyNy4uM2Ey
YTM0ODU3ZjNiMGY3MmVlMWM5YWYzMTY0ZjJlNDk0NDNjYTYyNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oCkBAIC00NSwxNyArNDUs
MTcgQEAgY2xhc3MgRGVzaXJlZElkZW50aWZpZXJzIHsKICAgICB+RGVzaXJlZElkZW50aWZpZXJz
KCk7CiAgICAgCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZJZGVudGlmaWVycygpOwotICAgIHZvaWQg
YWRkTGF6aWx5KEF0b21pY1N0cmluZ0ltcGwqKTsKKyAgICB2b2lkIGFkZExhemlseShVbmlxdWVk
U3RyaW5nSW1wbCopOwogICAgIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0KHVuc2lnbmVkIGlu
ZGV4KSBjb25zdDsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogYXQodW5zaWduZWQgaW5kZXgpIGNv
bnN0OwogICAgIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIG9wZXJhdG9yW10odW5zaWduZWQgaW5k
ZXgpIGNvbnN0IHsgcmV0dXJuIGF0KGluZGV4KTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBv
cGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBhdChpbmRleCk7IH0KICAg
ICAKICAgICB2b2lkIHJlYWxseUFkZChWTSYsIENvbW1vbkRhdGEqKTsKICAgICAKIHByaXZhdGU6
CiAgICAgQ29kZUJsb2NrKiBtX2NvZGVCbG9jazsKLSAgICBWZWN0b3I8QXRvbWljU3RyaW5nSW1w
bCo+IG1fYWRkZWRJZGVudGlmaWVyczsKKyAgICBWZWN0b3I8VW5pcXVlZFN0cmluZ0ltcGwqPiBt
X2FkZGVkSWRlbnRpZmllcnM7CiB9OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCBhM2UwYTAyZjdj
MmIxMzM3YmE3M2FlZjU3YmExNmEyOTgwZGExNDhmLi40NGQ2MmM2ODU5NDVmNGIzNDI5ODYyZWIw
ZmMzYWM3MjQxMWRmYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKQEAgLTk2NCwxNiArOTY0LDE2IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICAgICAgaWYgKCFtX2dyYXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYywgQmFkQ2FjaGUpCiAgICAgICAgICAgICAgICAgJiYgIW1fZ3JhcGguaGFzRXhp
dFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBCYWRJbmRleGluZ1R5cGUpCiAgICAgICAgICAg
ICAgICAgJiYgIW1fZ3JhcGguaGFzRXhpdFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBFeG90
aWNPYmplY3RNb2RlKSkgewotICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIGltcGwgPSBtX2dy
YXBoLmlkZW50aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKLSAgICAgICAgICAg
ICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBsKCkpIHsKKyAg
ICAgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVy
cygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9
PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBsKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgYXR0ZW1wdFRvTWFrZUdldEFycmF5TGVuZ3RoKG5vZGUpOwogICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKGltcGwgPT0g
dm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLmltcGwoKSkgeworICAgICAgICAgICAgICAg
IGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLmltcGwoKSkgewogICAg
ICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0VHlwZWRBcnJheUJ5dGVMZW5ndGgobm9k
ZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5dGVPZmZzZXQuaW1w
bCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5
dGVPZmZzZXQuaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHRUb01ha2VHZXRU
eXBlZEFycmF5Qnl0ZU9mZnNldChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgfQpAQCAtMTQ5Niw3ICsxNDk2LDcgQEAgY2xhc3MgRml4dXBQaGFzZSA6
IHB1YmxpYyBQaGFzZSB7CiAgICAgfQogICAgIAogICAgIGJvb2wgaXNTdHJpbmdQcm90b3R5cGVN
ZXRob2RTYW5lKAotICAgICAgICBKU09iamVjdCogc3RyaW5nUHJvdG90eXBlLCBTdHJ1Y3R1cmUq
IHN0cmluZ1Byb3RvdHlwZVN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorICAgICAg
ICBKU09iamVjdCogc3RyaW5nUHJvdG90eXBlLCBTdHJ1Y3R1cmUqIHN0cmluZ1Byb3RvdHlwZVN0
cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXNVbnVzZWQ7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IGZh
MzdhNzExNDJlMjg1OWY1ZWNlNDc0YjUwNmZhMzFiMDZjOWQxNDQuLjE3NjliNzM2OTUzYjFiMDcx
ZmRhOWU5YTMyNDg0MDJhNjU2OGViZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC05MDYsNyArOTA2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUluKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBhdXRvIHNsb3dQYXRo
ID0gc2xvd1BhdGhDYWxsKAogICAgICAgICAgICAgICAgIGp1bXAubV9qdW1wLCB0aGlzLCBvcGVy
YXRpb25Jbk9wdGltaXplLAogICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25s
eShyZXN1bHRHUFIpLCBzdHViSW5mbywgYmFzZUdQUiwKLSAgICAgICAgICAgICAgICBzdHJpbmct
PnRyeUdldFZhbHVlSW1wbCgpKTsKKyAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBB
dG9taWNTdHJpbmdJbXBsKj4oc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSkpOwogICAgICAgICAg
ICAgCiAgICAgICAgICAgICBzdHViSW5mby0+Y29kZU9yaWdpbiA9IG5vZGUtPm9yaWdpbi5zZW1h
bnRpYzsKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC5iYXNlR1BSID0gc3RhdGljX2Nhc3Q8
aW50OF90PihiYXNlR1BSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAppbmRleCBiOWU2ZTBkZDI0ZmRlYmYwYzFjZDdkMjE0YmZjZWVjZGZmZTU3NGQ5
Li5iNjY2NDJlYWM4ZWYwOTVmYjQwZjVlYzk4NjE4MTgyODhmN2M0MWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC01NTYsNyArNTU2LDcg
QEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIGJvb2wgaXNLbm93bk5vdE51bWJlcihOb2Rl
KiBub2RlKSB7IHJldHVybiAhKG1fc3RhdGUuZm9yTm9kZShub2RlKS5tX3R5cGUgJiBTcGVjRnVs
bE51bWJlcik7IH0KICAgICBib29sIGlzS25vd25Ob3RDZWxsKE5vZGUqIG5vZGUpIHsgcmV0dXJu
ICEobV9zdGF0ZS5mb3JOb2RlKG5vZGUpLm1fdHlwZSAmIFNwZWNDZWxsKTsgfQogICAgIAotICAg
IFN0cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5kZXgpCisgICAgVW5pcXVlZFN0
cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBy
ZXR1cm4gbV9qaXQuZ3JhcGgoKS5pZGVudGlmaWVycygpW2luZGV4XTsKICAgICB9CkBAIC0xMTc5
LDcgKzExNzksNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3Vs
dChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSV9KSVRPcGVyYXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVF9KSVRPcGVy
YXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdCk7CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTEyODUs
MTIgKzEyODUsMTIgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAg
ICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
U3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25z
dCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVk
SW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgU3RyaW5n
SW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0
dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwpAQCAt
MTQ0NSw3ICsxNDQ1LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgVHJ1c3RlZEltbVB0cihwb2lu
dGVyKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJh
dGlvbik7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
R1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIGFyZzIsIFRydXN0
ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvbik7CkBAIC0xNTQ1LDcgKzE1NDUsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJ
VCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
VHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwpA
QCAtMTYxMSwxNyArMTYxMSwxNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwp
KTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVz
dGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1
bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQs
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2FkLCBh
cmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3Vs
dFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgaW50MzJfdCBhcmcxVGFnLCBH
UFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyBy
ZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIGludDMyX3QgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgVHJ1c3RlZEltbTMyKGFyZzFU
YWcpLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRh
Zyk7CkBAIC0xNzU0LDcgKzE3NTQsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBh
cmcxUGF5bG9hZCwgYXJnMVRhZywgYXJnMiwgVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CiAgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiAgICAg
fQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNz
aUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFU
YWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJQYXlsb2FkLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlBheWxvYWQsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBhcmcy
UGF5bG9hZCwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCBUcnVzdGVkSW1tUHRyKHVp
ZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRp
b24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKaW5kZXggM2NlODEx
ODhiZjE4ZmJmZjRlZDM3YTI2MzQ3ODcyNmUwYmIyNDQwMy4uY2I1ZTc1NDQ2MjQ5M2NmYTlhNzZl
YjNmY2RiZmNiOTZiM2JlZjliMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21waWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBp
bGUuY3BwCkBAIC01MTUsNyArNTE1LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9u
U3RhY2tNYXBzKAogCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgc2xvd0Nh
bGwgPSBjYWxsT3BlcmF0aW9uKAogICAgICAgICAgICAgICAgICAgICBzdGF0ZSwgdXNlZFJlZ2lz
dGVycywgc2xvd1BhdGhKSVQsIGNoZWNrSW4uY29kZU9yaWdpbigpLCAmZXhjZXB0aW9uVGFyZ2V0
LAotICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25Jbk9wdGltaXplLCByZXN1bHQsIHN0dWJJ
bmZvLCBvYmosIGNoZWNrSW4ubV9pZCk7CisgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbklu
T3B0aW1pemUsIHJlc3VsdCwgc3R1YkluZm8sIG9iaiwgY2hlY2tJbi5tX3VpZCk7CiAKICAgICAg
ICAgICAgICAgICBjaGVja0luLm1fc2xvd1BhdGhEb25lLmFwcGVuZChzbG93UGF0aEpJVC5qdW1w
KCkpOwogICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgKaW5kZXggODJiNjIzOGNjMzRkZTNiMjQ0ODk0
ODU5MzM1MzQzYThhNTk1ZjQ1NS4uOGMxNDNkMWZiN2RlMGEzOWZhNGJiMjk4ZTMyYzA3ZTQ5MmUz
ZTBiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNo
ZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNh
Y2hlRGVzY3JpcHRvci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSklUSW5saW5lQ2Fj
aGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1w
bC5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKQEAgLTM5LDcgKzQwLDcg
QEAgY2xhc3MgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKIHB1YmxpYzoKICAgICBJbmxpbmVDYWNo
ZURlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IodW5zaWdu
ZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1aWQpCisg
ICAgSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4g
Y29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICAgICAgOiBtX3N0YWNrbWFw
SUQoc3RhY2ttYXBJRCkKICAgICAgICAgLCBtX2NvZGVPcmlnaW4oY29kZU9yaWdpbikKICAgICAg
ICAgLCBtX3VpZCh1aWQpCkBAIC00OCwxMiArNDksMTIgQEAgY2xhc3MgSW5saW5lQ2FjaGVEZXNj
cmlwdG9yIHsKICAgICAKICAgICB1bnNpZ25lZCBzdGFja21hcElEKCkgY29uc3QgeyByZXR1cm4g
bV9zdGFja21hcElEOyB9CiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKCkgY29uc3QgeyByZXR1
cm4gbV9jb2RlT3JpZ2luOyB9Ci0gICAgU3RyaW5nSW1wbCogdWlkKCkgY29uc3QgeyByZXR1cm4g
bV91aWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKCkgY29uc3QgeyByZXR1cm4gbV91
aWQ7IH0KICAgICAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9zdGFja21hcElEOwogICAgIENv
ZGVPcmlnaW4gbV9jb2RlT3JpZ2luOwotICAgIFN0cmluZ0ltcGwqIG1fdWlkOworICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICAKIHB1YmxpYzoKICAgICBWZWN0b3I8TWFjcm9Bc3Nl
bWJsZXI6Okp1bXA+IG1fc2xvd1BhdGhEb25lOwpAQCAtNjMsNyArNjQsNyBAQCBjbGFzcyBHZXRC
eUlkRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogcHVibGljOgog
ICAgIEdldEJ5SWREZXNjcmlwdG9yKCkgeyB9CiAgICAgCi0gICAgR2V0QnlJZERlc2NyaXB0b3Io
dW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgR2V0QnlJZERlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgICAgICA6IElubGluZUNh
Y2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCB1aWQpCiAgICAgewogICAgIH0K
QEAgLTc2LDcgKzc3LDcgQEAgY2xhc3MgUHV0QnlJZERlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5l
Q2FjaGVEZXNjcmlwdG9yIHsKICAgICBQdXRCeUlkRGVzY3JpcHRvcigpIHsgfQogICAgIAogICAg
IFB1dEJ5SWREZXNjcmlwdG9yKAotICAgICAgICB1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCwKKyAgICAgICAgdW5zaWduZWQgc3RhY2tt
YXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLAogICAg
ICAgICBFQ01BTW9kZSBlY21hTW9kZSwgUHV0S2luZCBwdXRLaW5kKQogICAgICAgICA6IElubGlu
ZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCB1aWQpCiAgICAgICAgICwg
bV9lY21hTW9kZShlY21hTW9kZSkKQEAgLTExMSwxNCArMTEyLDE0IEBAIGNsYXNzIENoZWNrSW5E
ZXNjcmlwdG9yIDogcHVibGljIElubGluZUNhY2hlRGVzY3JpcHRvciB7CiBwdWJsaWM6CiAgICAg
Q2hlY2tJbkRlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBDaGVja0luRGVzY3JpcHRvcih1bnNp
Z25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFN0cmluZ0ltcGwq
IGlkKQorICAgIENoZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmln
aW4gY29kZU9yaWdpbiwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICAgICAgOiBJ
bmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgbnVsbHB0cikKLSAg
ICAgICAgLCBtX2lkKGlkKQorICAgICAgICAsIG1fdWlkKHVpZCkKICAgICB7CiAgICAgfQogCiAg
ICAgCi0gICAgY29uc3QgU3RyaW5nSW1wbCogbV9pZDsKKyAgICBjb25zdCBVbmlxdWVkU3RyaW5n
SW1wbCogbV91aWQ7CiAgICAgVmVjdG9yPENoZWNrSW5HZW5lcmF0b3I+IG1fZ2VuZXJhdG9yczsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2lj
UmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKaW5kZXggNGIyOGQzNTYyNWE3MzI3YzEyOWM2MWEwYjc4NTczMGI4Mjk1MjYzZC4u
YTViOGY3MzFjZTJjMjExZDlmYTQ0YTNhNzM0MjAzYTIzZDNhZWExNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTczLDcg
KzczLDcgQEAKICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FU3RaWiwgZnVuY3Rpb25UeXBlKGlu
dFB0ciwgaW50UHRyLCBpbnRQdHIsIGludDMyLCBpbnQzMikpIFwKICAgICBtYWNybyhDX0pJVE9w
ZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAgICBt
YWNybyhEX0pJVE9wZXJhdGlvbl9ELCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlw
ZSkpIFwKLSAgICBtYWNybyhJX0pJVE9wZXJhdGlvbl9FSnNzLCBmdW5jdGlvblR5cGUoaW50UHRy
LCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBtYWNybyhUX0pJVE9wZXJhdGlvbl9FSnNzLCBmdW5j
dGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJh
dGlvbl9FLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9w
ZXJhdGlvbl9FQSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0cikpIFwKICAgICBt
YWNybyhKX0pJVE9wZXJhdGlvbl9FQVosIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQ
dHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcAppbmRleCA0YTgzN2M3NGJiY2FkNjBlMjMwNWNhMjA0NGFhZmZmYzJiZDIwYzQw
Li42Zjk2Yjg0MDdlYzE5ZWFkYzk5OTM1YjY2NTkyMWJiZWRjZmM5NTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtMjA4Nyw3ICsy
MDg3LDcgQEAgY2xhc3MgTG93ZXJERkdUb0xMVk0gewogICAgICAgICAKICAgICAgICAgTFZhbHVl
IGJhc2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBMVmFsdWUgdmFsdWUg
PSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICBTdHJpbmdJbXBsKiB1aWQg
PSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOworICAg
ICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW21fbm9k
ZS0+aWRlbnRpZmllck51bWJlcigpXTsKIAogICAgICAgICAvLyBBcmd1bWVudHM6IGlkLCBieXRl
cywgdGFyZ2V0LCBudW1BcmdzLCBhcmdzLi4uCiAgICAgICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQg
PSBtX3N0YWNrbWFwSURzKys7CkBAIC00ODExLDcgKzQ4MTEsNyBAQCBjbGFzcyBMb3dlckRGR1Rv
TExWTSB7CiAgICAgICAgIGlmIChKU1N0cmluZyogc3RyaW5nID0gbV9ub2RlLT5jaGlsZDEoKS0+
ZHluYW1pY0Nhc3RDb25zdGFudDxKU1N0cmluZyo+KCkpIHsKICAgICAgICAgICAgIGlmIChzdHJp
bmctPnRyeUdldFZhbHVlSW1wbCgpICYmIHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCktPmlzQXRv
bWljKCkpIHsKIAotICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZ0ltcGwqIHN0ciA9IHN0cmlu
Zy0+dHJ5R2V0VmFsdWVJbXBsKCk7CisgICAgICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
SW1wbCogc3RyID0gc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHN0cmluZy0+
dHJ5R2V0VmFsdWVJbXBsKCkpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQg
PSBtX3N0YWNrbWFwSURzKys7CiAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBMVmFsdWUg
Y2FsbCA9IG1fb3V0LmNhbGwoCkBAIC01NzUwLDcgKzU3NTAsNyBAQCBjbGFzcyBMb3dlckRGR1Rv
TExWTSB7CiAgICAgCiAgICAgTFZhbHVlIGdldEJ5SWQoTFZhbHVlIGJhc2UpCiAgICAgewotICAg
ICAgICBTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCldOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW21fbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKIAogICAgICAgICAv
LyBBcmd1bWVudHM6IGlkLCBieXRlcywgdGFyZ2V0LCBudW1BcmdzLCBhcmdzLi4uCiAgICAgICAg
IHVuc2lnbmVkIHN0YWNrbWFwSUQgPSBtX3N0YWNrbWFwSURzKys7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKaW5kZXggMWZkOGM4M2Y0ZTU2YzkyYTRh
MTk1NmE5ODdiNWQzNmY0YWQwNzQ2YS4uZmZiZDQ3NGI2MjJhYTdlNzkwYzI2ZWIxYjgxMzRhNzNk
MTc2YWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0
aENhbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0
ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICBTdGF0ZSYg
c3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGpp
dCwKICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCog
ZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKLSAgICBHUFJSZWcgb2Jq
ZWN0LCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR1BSUmVnIG9iamVjdCwgY29uc3QgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGppdCwg
Y29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lzdGVy
cywgaml0LCA0LCByZXN1bHQpOwpAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgc3RvcmVDb2RlT3Jp
Z2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdp
bikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBD
Q2FsbEhlbHBlcnMmIGppdCwKICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1i
bGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywK
LSAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR1BSUmVnIG9iamVjdCwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGpp
dCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lz
dGVycywgaml0LCA0LCByZXN1bHQpOwpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgc3RvcmVDb2Rl
T3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9y
aWdpbikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJz
LCBDQ2FsbEhlbHBlcnMmIGppdCwgCiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBNYWNyb0Fz
c2VtYmxlcjo6SnVtcExpc3QqIGV4Y2VwdGlvblRhcmdldCwKICAgICBWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgdmFs
dWUsCi0gICAgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEdQUlJlZyBvYmpl
Y3QsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc3RvcmVDb2RlT3JpZ2luKHN0YXRl
LCBqaXQsIGNvZGVPcmlnaW4pOwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVzZWRS
ZWdpc3RlcnMsIGppdCwgNSwgSW52YWxpZEdQUlJlZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExTbG93UGF0aENhbGwuaAppbmRleCA2ZTRkNWY2ZTE1OWE1ZmEzMjA1NmY3MWE3ODQ3
NDg5ZWMxMThlM2Y2Li44MThlZjY0NjRjN2IxY2ZhZjZmNWY5MmIwZDAxYzBiZDBlMTFiNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgKQEAgLTYwLDE1
ICs2MCwxNSBAQCBjbGFzcyBTbG93UGF0aENhbGwgewogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbigKICAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJz
JiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCiAgICAgSl9KSVRPcGVyYXRp
b25fRVNzaUNJLCBHUFJSZWcsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLAotICAgIGNvbnN0
IFN0cmluZ0ltcGwqKTsKKyAgICBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3Rl
clNldCYsIENDYWxsSGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3Qq
LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1
YkluZm8qLCBHUFJSZWcgb2JqZWN0LAotICAgIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCk7CiBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAog
ICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2lu
LCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KiwKICAgICBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwKLSAgICBTdHJp
bmdJbXBsKiB1aWQpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogCiB9IH0gLy8gbmFt
ZXNwYWNlIEpTQzo6RlRMCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJh
ZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1ZDIxYzkuLjEzMWZhMDAxOWY2MTBjN2Q5NDg5ZTU4Y2U4
M2ViY2MwYmQ1MjViY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNjk0LDkgKzY5NCw5
IEBACiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVy
YXRpb25fRUMsIEpTQ2VsbCopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKLCBpbnQsIEdQUlJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmls
ZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BS
UmVnLCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEdQUlJlZywgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNlCi0gICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklU
T3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywgR1BSUmVn
LCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEdQUlJlZywgR1BSUmVnLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2VuZGlmCiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpJZGMsIGludCwgR1BSUmVnLCBjb25zdCBJZGVudGlmaWVyKik7CiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJl
ZywgR1BSUmVnKTsKQEAgLTczNCw5ICs3MzQsOSBAQAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKSWRKSiwgUmVnaXN0ZXJJRCwgY29u
c3QgSWRlbnRpZmllciosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwogI2lmIFVTRShKU1ZBTFVF
NjQpCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRPcGVy
YXRpb25fRUZKWlosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIGludDMyX3QsIFJlZ2lzdGVySUQp
OwotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwg
U3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwg
UmVnaXN0ZXJJRCwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNlCi0gICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0
dXJlU3R1YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3Rl
cklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBSZWdpc3Rl
cklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBVbmlxdWVkU3RyaW5nSW1w
bCopOwogI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRUpKSiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCk7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRp
b25fRUpaSiwgUmVnaXN0ZXJJRCwgaW50MzJfdCwgUmVnaXN0ZXJJRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3
YjZjMzRhODYzMzQuLmI3MTY5ZjU0ODdjOTVlMGU4ZDcwODZmZGY2ZTg4YjY3MmY1ZjYyOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0zODcsNyArMzg3LDcgQEAg
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oRl9K
SVRPcGVyYXRpb25fRUZKWlogb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklEIHJlZ09wMSwgUmVnaXN0ZXJJ
RCByZWdPcDIsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9u
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3Rl
cklEIHJlZ09wMiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHJlZ09wMSwgcmVnT3AyLCBU
cnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvbik7CkBAIC00MDUsNyArNDA1LDcgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVpKIG9wZXJh
dGkKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwog
fQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlv
bihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBp
bnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBTdHJpbmdJ
bXBsKiB1aWQpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0
aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHRXaXRo
UHJvZmlsZShvcGVyYXRpb24sIGRzdCk7CkBAIC01NDYsNyArNTQ2LDcgQEAgQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUogb3BlcmF0aW8KICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJ
VE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwq
IHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24s
IGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQ
UlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2Fk
LCBhcmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdFdpdGhQcm9maWxlKG9wZXJhdGlvbiwgZHN0
KTsKQEAgLTYwNiw3ICs2MDYsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FWlN5bXRhYkogbwogICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19J
TkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lz
dGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBheWxvYWQsIFJlZ2lzdGVySUQgcmVn
T3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3Bl
cmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJl
Z2lzdGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBheWxvYWQsIFJlZ2lzdGVySUQg
cmVnT3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1
YkluZm8pLCByZWdPcDFQYXlsb2FkLCByZWdPcDFUYWcsIHJlZ09wMlBheWxvYWQsIHJlZ09wMlRh
ZywgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVjayhvcGVyYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKaW5kZXggOThkODc3M2YzOGQ5NWYyYjhlNThjZGJkNzgzNjAyOTgxNTQwMDcxMy4u
MjI3YzRmYmYwYjM3MzUxMmUxZjBkMTY5OWQwYjcyYWFiN2UwOWRjYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgaW50
MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRl
KiBleGVjKQogICAgIHJldHVybiBtaXNzaW5nQXJnQ291bnQ7CiB9CiAKLUVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTU4LDcgKzE1OCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShiYXNlVmFsdWUuZ2V0KGV4
ZWMsIGlkZW50LCBzbG90KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTc2LDcgKzE3
Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxk
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShoYXNSZXN1bHQ/IHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQpIDoganNVbmRlZmluZWQoKSk7
CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBiYXNlLCBTdHJpbmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE5NSw3ICsxOTUsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZQogCiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
SW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
SlNDZWxsKiBiYXNlLCBTdHJpbmdJbXBsKiBrZXkpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKQEAgLTIyMSw3ICsyMjEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJlc3VsdCkpOwogfQogCi1FbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0ltcGwqIGtleSkKK0VuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4oRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdlbmVyaWNJbihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogYmFzZSwgRQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKENvbW1vblNsb3dQYXRoczo6b3BJ
bihleGVjLCBKU1ZhbHVlOjpkZWNvZGUoa2V5KSwgYmFzZSkpKTsKIH0KIAotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBFCiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5w
dXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKIH0K
IAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpA
QCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiAgICAgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmlu
Z0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluCiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSkt
PnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1
ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1w
bCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJp
Y3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHUKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+
cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0
cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0zMDcsNyArMzA3LDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWIKICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVl
OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJ
bXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMzMxLDcgKzMzMSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsK
IH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5n
SW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTM1NSw3ICszNTUs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRy
dWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0z
NzksNyArMzc5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnUKICAgICAgICAgc3R1YkluZm8t
PnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0
cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00MDAsNyAr
NDAwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4
ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJl
Y3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1
aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3Ry
aW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00MjEsNyArNDIx
LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMs
IGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3Qp
OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1
aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3Ry
aW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00NDIsNyAr
NDQyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3QKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4
ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0
KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0YzgxZDg1NDdjOGNm
NjcwNmYwOGRmMDYxN2NkOWE5MTY4OGVmOTY1Li41ZjY5YWRhZWJjNTQ2ZTg1MGFjMjM0MWNmOTJm
NTBkYTBhOWE3NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aApAQCAtNjQsNyArNjQsNyBAQAogICAgIEU6IEV4ZWNTdGF0ZSoKICAgICBGOiBDYWxsRnJhbWUq
CiAgICAgRzogSlNHbG9iYWxPYmplY3QqCi0gICAgSTogU3RyaW5nSW1wbCoKKyAgICBJOiBVbmlx
dWVkU3RyaW5nSW1wbCoKICAgICBJY2Y6IElubGluZUNhbGxGcmFtZSoKICAgICBJZGM6IGNvbnN0
IElkZW50aWZpZXIqCiAgICAgSjogRW5jb2RlZEpTVmFsdWUKQEAgLTgzLDYgKzgzLDcgQEAKICAg
ICBTc2k6IFN0cnVjdHVyZVN0dWJJbmZvKgogICAgIFN0OiBTdHJ1Y3R1cmUqCiAgICAgU3ltdGFi
OiBTeW1ib2xUYWJsZSoKKyAgICBUOiBTdHJpbmdJbXBsKgogICAgIFY6IHZvaWQKICAgICBWbTog
Vk0qCiAgICAgV3M6IFdhdGNocG9pbnRTZXQqCkBAIC05NywxMiArOTgsMTIgQEAKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VBYXBKY3BaKShF
eGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNWYWx1ZSosIGludDMy
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUMpKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNDKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0Nl
bGwqKTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNJKShFeGVjU3RhdGUq
LCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBF
bmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FQ1opKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIGludDMyX3QpOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRURBKShFeGVj
U3RhdGUqLCBkb3VibGUsIEpTQXJyYXkqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VFKShFeGVjU3RhdGUqLCBFeGVjU3RhdGUqKTsKLXR5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VJKShF
eGVjU3RhdGUqLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSSkoRXhlY1N0YXRlKiwgVW5pcXVlZFN0cmluZ0ltcGwq
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSlopKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VKQykoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCop
OwpAQCAtMTE3LDggKzExOCw4IEBACiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQyko
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNp
emVfdCk7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3Ry
aW5nSW1wbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaKShFeGVj
U3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VaSWNmWikoRXhlY1N0YXRlKiwgaW50MzJfdCwgSW5saW5lQ2FsbEZy
YW1lKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwpAQCAtMTg0
LDcgKzE4NSw3IEBACiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9u
X0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSlNDZWxsKik7CiB0eXBlZGVmIHZvaWQgSklUX09Q
RVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VaU3ltdGFiSikoRXhlY1N0YXRlKiwgaW50MzJfdCwg
U3ltYm9sVGFibGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKQ0kpKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIHZvaWQgSklU
X09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKQ0kpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVS
QVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSklkSkopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVl
LCBJZGVudGlmaWVyKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYg
dm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpKSikoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZv
aWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKUFApKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlLCB2b2lkKiwgdm9pZCopOwpAQCAtMTk0LDcgKzE5NSw3IEBACiB0eXBlZGVmIHZv
aWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VPWkopKEV4ZWNTdGF0ZSosIEpTT2Jq
ZWN0KiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJ
T04gKCpWX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VQWkopKEV4ZWNTdGF0ZSos
IHZvaWQqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBlZGVmIHZvaWQgSklUX09QRVJB
VElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBV
bmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9w
ZXJhdGlvbl9FV3MpKEV4ZWNTdGF0ZSosIFdhdGNocG9pbnRTZXQqKTsKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwog
dHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FWkopKEV4ZWNTdGF0
ZSosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsKQEAgLTIxOCw3ICsyMTksNyBAQAogdHlwZWRl
ZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVN0U1MpKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgY2hhciogSklUX09QRVJBVElP
TiAoKlBfSklUT3BlcmF0aW9uX0VTdFopKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3Qp
OwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVpaKShFeGVj
U3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsKLXR5cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJB
VElPTiAoKklfSklUT3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKik7Cit0eXBl
ZGVmIFN0cmluZ0ltcGwqIEpJVF9PUEVSQVRJT04gKCpUX0pJVE9wZXJhdGlvbl9FSnNzKShFeGVj
U3RhdGUqLCBKU1N0cmluZyopOwogdHlwZWRlZiBKU1N0cmluZyogSklUX09QRVJBVElPTiAoKkpz
c19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogCiAvLyBUaGlzIG1ldGhv
ZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRpb24gaGFuZGVyLCBrZXllZCBieSBmYXVsdExv
Y2F0aW9uLCB3aGljaCBpcwpAQCAtMjMxLDI0ICsyMzIsMjQgQEAKIHZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqLCBDb2RlQmxvY2sq
KSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5
Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwotRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExp
c3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0lt
cGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZW5lcmljSW4oRXhlY1N0YXRl
KiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
Tm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdU
Rl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lO
VEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJ
bXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3Ry
aWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBX
VEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0
cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
Owordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdU
Rl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9u
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUmVh
bGxvY2F0ZVN0b3JhZ2VBbmRGaW5pc2hQdXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBQcm9wZXJ0eU9mZnNldCwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcAppbmRleCA3MjA5NjllNWY4ZTI3Y2JlM2Rm
YWE5MDU2YzUxNDM3ODFkNzg4ZGMzLi5mZjlhYTQ0YWQxNDc4YWI3MDkxZGFiNDgxNjU0MDI0ZDEx
ZmEwNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcApAQCAtMTI0LDcg
KzEyNCw3IEBAIFN0YXRlbWVudE5vZGUqIFNjb3BlTm9kZTo6c2luZ2xlU3RhdGVtZW50KCkgY29u
c3QKIHsKIH0KIAotdm9pZCBQcm9ncmFtTm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxS
ZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQordm9pZCBQcm9ncmFtTm9kZTo6
c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNs
b3NlZFZhcmlhYmxlcykKIHsKICAgICBtX2Nsb3NlZFZhcmlhYmxlcyA9IFdURjo6bW92ZShjbG9z
ZWRWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGQy
Y2YyZWU0ZjM5MmMxMmFjMjY1M2MyZjA4MmZkYzQ0ZTg4MGFhYWUuLmQ3NTQ4ZDA3NDM1MWU5ZjY5
YjcxM2YxMTM5YzFhY2JhOWY3NjZiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB9OwogICAgIGlubGluZSBGYWxsVGhyb3VnaE1vZGUg
aW52ZXJ0KEZhbGxUaHJvdWdoTW9kZSBmYWxsVGhyb3VnaE1vZGUpIHsgcmV0dXJuIHN0YXRpY19j
YXN0PEZhbGxUaHJvdWdoTW9kZT4oIWZhbGxUaHJvdWdoTW9kZSk7IH0KIAotICAgIHR5cGVkZWYg
SGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVy
U2V0OworICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVu
dGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclNldDsKIAogICAgIG5hbWVzcGFjZSBEZWNsYXJhdGlv
blN0YWNrcyB7CiAgICAgICAgIGVudW0gVmFyQXR0cnMgeyBJc0NvbnN0YW50ID0gMSwgSGFzSW5p
dGlhbGl6ZXIgPSAyIH07CkBAIC0xNTQ2LDcgKzE1NDYsNyBAQAogICAgICAgICBib29sIGhhc0Nh
cHR1cmVkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gISFtX2NhcHR1cmVkVmFyaWFibGVzLnNp
emUoKTsgfQogICAgICAgICBzaXplX3QgY2FwdHVyZWRWYXJpYWJsZUNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlcy5zaXplKCk7IH0KICAgICAgICAgY29uc3QgSWRlbnRp
ZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFy
aWFibGVzOyB9Ci0gICAgICAgIGJvb2wgY2FwdHVyZXMoU3RyaW5nSW1wbCogdWlkKSB7IHJldHVy
biBtX2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5zKHVpZCk7IH0KKyAgICAgICAgYm9vbCBjYXB0
dXJlcyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVz
LmNvbnRhaW5zKHVpZCk7IH0KICAgICAgICAgYm9vbCBjYXB0dXJlcyhjb25zdCBJZGVudGlmaWVy
JiBpZGVudCkgeyByZXR1cm4gY2FwdHVyZXMoaWRlbnQuaW1wbCgpKTsgfQogCiAgICAgICAgIFZh
clN0YWNrJiB2YXJTdGFjaygpIHsgcmV0dXJuIG1fdmFyU3RhY2s7IH0KQEAgLTE1NjMsNyArMTU2
Myw3IEBACiAKICAgICAgICAgdm9pZCBlbWl0U3RhdGVtZW50c0J5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiwgUmVnaXN0ZXJJRCogZGVzdGluYXRpb24pOwogICAgICAgICAKLSAgICAgICAgdm9p
ZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJikgeyB9Cisg
ICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmlu
Z0ltcGw+PiYmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgaW50IG1fc3RhcnRMaW5l
TnVtYmVyOwpAQCAtMTU4OSwxMiArMTU4OSwxMiBAQAogCiAgICAgICAgIHN0YXRpYyBjb25zdCBi
b29sIHNjb3BlSXNGdW5jdGlvbiA9IGZhbHNlOwogCi0gICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFy
aWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwotICAgICAgICBjb25zdCBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgY2xvc2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
bV9jbG9zZWRWYXJpYWJsZXM7IH0KKyAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVj
dG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpOworICAgICAgICBjb25zdCBWZWN0b3I8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mIGNsb3NlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0
dXJuIG1fY2xvc2VkVmFyaWFibGVzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBv
dmVycmlkZTsKLSAgICAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gbV9jbG9zZWRWYXJp
YWJsZXM7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBtX2Nsb3Nl
ZFZhcmlhYmxlczsKICAgICAgICAgdW5zaWduZWQgbV9zdGFydENvbHVtbjsKICAgICAgICAgdW5z
aWduZWQgbV9lbmRDb2x1bW47CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4NmFhMGE3MzRiMDRlODE0Li5k
YzMzMzFmMWNmNjVkMTBiZDU3YTk0YTllZmM1YjM2NDEwNzFhNWQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAKICAgICAgICAgZmVh
dHVyZXMgfD0gTW9kaWZpZWRQYXJhbWV0ZXJGZWF0dXJlOwogICAgIGlmIChtb2RpZmllZEFyZ3Vt
ZW50cykKICAgICAgICAgZmVhdHVyZXMgfD0gTW9kaWZpZWRBcmd1bWVudHNGZWF0dXJlOwotICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IGNsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gY2xvc2VkVmFyaWFibGVzOwogICAgIGlmIChtX3Bh
cnNpbmdCdWlsdGluKSB7CiAgICAgICAgIElkZW50aWZpZXJTZXQgdXNlZFZhcmlhYmxlczsKICAg
ICAgICAgc2NvcGUtPmdldFVzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlcyk7CkBAIC0zMjUsNyAr
MzI1LDcgQEAKIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHZvaWQgUGFyc2VyPExl
eGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRz
LCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smIHZhclN0YWNrLCAKLSAgICBEZWNsYXJhdGlv
blN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNrLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMs
IGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFycywgY29uc3QgVmVj
dG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMpCisgICAgRGVjbGFyYXRp
b25TdGFja3M6OkZ1bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVz
LCBpbnQgbnVtQ29uc3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAg
ICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxlbWVudHM7CiAgICAgbV92YXJEZWNsYXJhdGlv
bnMuc3dhcCh2YXJTdGFjayk7CkBAIC0yMTg3LDcgKzIxODcsNyBAQCBBTFdBWVNfSU5MSU5FIHN0
YXRpYyBib29sIGlzVW5hcnlPcChKU1Rva2VuVHlwZSB0b2tlbikKICAgICBUcmVlUHJvcGVydHkg
cHJvcGVydHkgPSBwYXJzZVByb3BlcnR5KGNvbnRleHQsIHRydWUpOwogICAgIGZhaWxJZkZhbHNl
KHByb3BlcnR5LCAiQ2Fubm90IHBhcnNlIG9iamVjdCBsaXRlcmFsIHByb3BlcnR5Iik7CiAgICAg
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQsIElkZW50
aWZpZXJSZXBIYXNoPiBPYmplY3RWYWxpZGF0aW9uTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCB1bnNpZ25lZCwgSWRlbnRpZmllclJlcEhhc2g+IE9i
amVjdFZhbGlkYXRpb25NYXA7CiAgICAgT2JqZWN0VmFsaWRhdGlvbk1hcCBvYmplY3RWYWxpZGF0
b3I7CiAgICAgLy8gQWRkIHRoZSBmaXJzdCBwcm9wZXJ0eQogICAgIGlmICghbV9zeW50YXhBbHJl
YWR5VmFsaWRhdGVkICYmIGNvbnRleHQuZ2V0TmFtZShwcm9wZXJ0eSkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAzZGZmOGU0OWIzMDU3YzQ5OTE0NDVmNmZjNGVkNDJj
OWYzNDY1YWM4Li41MDc0ZTRkMmVjMDNmMTQxMDg0OTg1YjRmNjc2MjNhNGM3MjE1ODhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTk3LDEzICs5NywxMyBAQCBlbnVt
IERlY29uc3RydWN0aW9uS2luZCB7CiB0ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0V2YWxOb2Rl
PEV2YWxOb2RlPigpIHsgcmV0dXJuIHRydWU7IH0KIAogc3RydWN0IFNjb3BlTGFiZWxJbmZvIHsK
LSAgICBTY29wZUxhYmVsSW5mbyhTdHJpbmdJbXBsKiBpZGVudCwgYm9vbCBpc0xvb3ApCisgICAg
U2NvcGVMYWJlbEluZm8oVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50LCBib29sIGlzTG9vcCkKICAg
ICAgICAgOiBtX2lkZW50KGlkZW50KQogICAgICAgICAsIG1faXNMb29wKGlzTG9vcCkKICAgICB7
CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbCogbV9pZGVudDsKKyAgICBVbmlxdWVkU3RyaW5nSW1w
bCogbV9pZGVudDsKICAgICBib29sIG1faXNMb29wOwogfTsKIApAQCAtMTkzLDE0ICsxOTMsMTQg
QEAgc3RydWN0IFNjb3BlIHsKIAogICAgIHZvaWQgZGVjbGFyZUNhbGxlZShjb25zdCBJZGVudGlm
aWVyKiBpZGVudCkKICAgICB7Ci0gICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50
LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVu
dC0+aW1wbCgpKTsKICAgICB9CiAKICAgICBib29sIGRlY2xhcmVWYXJpYWJsZShjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5hcmd1bWVudHMgIT0gKmlkZW50OwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9p
c1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKLSAgICAgICAgbV9kZWNsYXJl
ZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFy
ZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgICAgICByZXR1cm4gaXNWYWxpZFN0
cmljdE1vZGU7CiAgICAgfQogCkBAIC0yMjYsOSArMjI2LDkgQEAgc3RydWN0IFNjb3BlIHsKICAg
ICBib29sIGRlY2xhcmVQYXJhbWV0ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewog
ICAgICAgICBib29sIGlzQXJndW1lbnRzID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRz
ID09ICppZGVudDsKLSAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9IG1fZGVjbGFyZWRW
YXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpLmlzTmV3RW50cnkgJiYgbV92bS0+
cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJndW1lbnRzOworICAgICAgICBi
b29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmlt
cGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAm
JiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRT
dHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwotICAgICAgICBtX2RlY2xhcmVkUGFyYW1l
dGVycy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFyZWRQYXJh
bWV0ZXJzLmFkZChpZGVudC0+aW1wbCgpKTsKIAogICAgICAgICBpZiAoaXNBcmd1bWVudHMpCiAg
ICAgICAgICAgICBtX3NoYWRvd3NBcmd1bWVudHMgPSB0cnVlOwpAQCAtMjQzLDcgKzI0Myw3IEBA
IHN0cnVjdCBTY29wZSB7CiAgICAgQmluZGluZ1Jlc3VsdCBkZWNsYXJlQm91bmRQYXJhbWV0ZXIo
Y29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewogICAgICAgICBib29sIGlzQXJndW1lbnRz
ID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppZGVudDsKLSAgICAgICAgYm9v
bCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBs
KCkpLmlzTmV3RW50cnk7CisgICAgICAgIGJvb2wgbmV3RW50cnkgPSBtX2RlY2xhcmVkVmFyaWFi
bGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5OwogICAgICAgICBib29sIGlzVmFsaWRT
dHJpY3RNb2RlID0gbmV3RW50cnkgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRl
bnQgJiYgIWlzQXJndW1lbnRzOwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9pc1Zh
bGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAgICAKQEAgLTI2Miw3ICsyNjIs
NyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIHZvaWQgdXNlVmFyaWFibGUoY29uc3QgSWRlbnRpZmll
ciogaWRlbnQsIGJvb2wgaXNFdmFsKQogICAgIHsKICAgICAgICAgbV91c2VzRXZhbCB8PSBpc0V2
YWw7Ci0gICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7
CisgICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7CiAgICAgfQogCiAg
ICAgdm9pZCBzZXROZWVkc0Z1bGxBY3RpdmF0aW9uKCkgeyBtX25lZWRzRnVsbEFjdGl2YXRpb24g
PSB0cnVlOyB9CkBAIC0zMzcsNyArMzM3LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBib29sIGlz
VmFsaWRTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkU3RyaWN0TW9kZTsgfQog
ICAgIGJvb2wgc2hhZG93c0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hhZG93c0FyZ3Vt
ZW50czsgfQogCi0gICAgdm9pZCBjb3B5Q2FwdHVyZWRWYXJpYWJsZXNUb1ZlY3Rvcihjb25zdCBJ
ZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBs
Pj4mIHZlY3RvcikKKyAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlhYmxlc1RvVmVjdG9yKGNvbnN0
IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPj4mIHZlY3RvcikKICAgICB7CiAgICAgICAgIElkZW50aWZpZXJTZXQ6Oml0ZXJh
dG9yIGVuZCA9IGNhcHR1cmVkVmFyaWFibGVzLmVuZCgpOwogICAgICAgICBmb3IgKElkZW50aWZp
ZXJTZXQ6Oml0ZXJhdG9yIGl0ID0gY2FwdHVyZWRWYXJpYWJsZXMuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7CkBAIC00MzYsNyArNDM2LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UGFyc2VkTm9kZT4gcGFyc2UoUGFyc2VyRXJyb3ImKTsKIAogICAgIEpTVGV4dFBv
c2l0aW9uIHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKSBjb25zdCB7IHJldHVybiBtX2xleGVy
LT5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7IH0KLSAgICBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6bW92ZShtX2Nsb3NlZFZh
cmlhYmxlcyk7IH0KKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJiBjbG9z
ZWRWYXJpYWJsZXMoKSB7IHJldHVybiBXVEY6Om1vdmUobV9jbG9zZWRWYXJpYWJsZXMpOyB9CiAK
IHByaXZhdGU6CiAgICAgc3RydWN0IEFsbG93SW5PdmVycmlkZSB7CkBAIC01NjMsNyArNTYzLDcg
QEAgY2xhc3MgUGFyc2VyIHsKICAgICBTdHJpbmcgcGFyc2VJbm5lcigpOwogCiAgICAgdm9pZCBk
aWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0
YWNrJiwgCi0gICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29kZUZl
YXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiYmKTsKKyAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smLCBDb2Rl
RmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2YgZXJy
b3IgdG8gcmVwb3J0LgogICAgIGJvb2wgaXNGdW5jdGlvbkJvZHlOb2RlKFNjb3BlTm9kZSopIHsg
cmV0dXJuIGZhbHNlOyB9CkBAIC04ODQsNyArODg0LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgbV92YXJEZWNsYXJhdGlvbnM7CiAgICAgRGVjbGFy
YXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgbV9mdW5jRGVjbGFyYXRpb25zOwogICAgIElkZW50
aWZpZXJTZXQgbV9jYXB0dXJlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJ
bXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7CiAg
ICAgaW50IG1fbnVtQ29uc3RhbnRzOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0
NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjVlM2ZkZmZkZGEyYTZjN2QyMWNhNDNjNmQ1
NTJkOTk2MjhkNzQxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgIlBhcnNlclRva2Vucy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDggKzQxLDggQEAgc3RydWN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFj
dGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7Ci0gICAg
VmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5p
cXVlZFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKIAogI2lmIENPTVBJTEVSKE1TVkMp
CkBAIC04MiwxMyArODMsMTMgQEAgY2xhc3MgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0gewogICAg
IHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFi
bGVzQ291bnQ7CiAKLSAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0
dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KLSAgICBTdHJpbmdJ
bXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5n
SW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFVu
aXF1ZWRTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBs
Kiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8VW5pcXVlZFN0
cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKIHByaXZh
dGU6CiAgICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKIAotICAgIFN0cmluZ0ltcGwqIG1fdmFyaWFibGVz
WzBdOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3ZhcmlhYmxlc1swXTsKIH07CiAKIGlubGlu
ZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCkKQEAg
LTEwMCw3ICsxMDEsNyBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06On5Tb3VyY2VQ
cm92aWRlckNhY2hlSXRlbSgpCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtPiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKGNvbnN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIHNp
emVfdCB2YXJpYWJsZUNvdW50ID0gcGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSAr
IHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCk7Ci0gICAgc2l6ZV90IG9iamVjdFNpemUg
PSBzaXplb2YoU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFN0cmluZ0ltcGwqKSAq
IHZhcmlhYmxlQ291bnQ7CisgICAgc2l6ZV90IG9iamVjdFNpemUgPSBzaXplb2YoU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFVuaXF1ZWRTdHJpbmdJbXBsKikgKiB2YXJpYWJsZUNv
dW50OwogICAgIHZvaWQqIHNsb3QgPSBmYXN0TWFsbG9jKG9iamVjdFNpemUpOwogICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+KG5ldyAoc2xvdCkgU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0ocGFyYW1ldGVycykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCmluZGV4IGNlYWJkMjUy
ZDBkOGNjMmEzOGE3Njg5MGM2OGQyODM5NGE2NjdkZmIuLjIxYmM0YzdjZWZkZTg2N2Q4YWI1MWM1
NzJiZTE1OTc5YmU4MTIwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKQEAgLTUyLDcgKzUyLDEyIEBACiB7CiB9CiAKLWJv
b2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoU3RyaW5nSW1wbCogdWlkKSBjb25z
dAorYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShTeW1ib2xJbXBsJiB1aWQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5pc1ByaXZhdGVOYW1lKHVpZCk7
Cit9CisKK2Jvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmlu
Z0ltcGwmIHVpZCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9idWlsdGluTmFtZXMtPmlzUHJpdmF0
ZU5hbWUodWlkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCmluZGV4IDc5MDY5ZWE5NjRkNjA2MTU0MWU5NWRkN2YxYzkzMzBmM2U4
YzI4MmUuLjg1MjllNDYwNmU2YzNlNDc1YTQ0YjhhZjMwYjgzODA0ZTcxMjVjNzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAt
MzIxLDcgKzMyMSw4IEBACiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKEpTQ19JREVOVElGSUVSX0RFQ0xBUkVfUFJJVkFURV9XRUxM
X0tOT1dOX1NZTUJPTF9HTE9CQUwpCiAjdW5kZWYgSlNDX0lERU5USUZJRVJfREVDTEFSRV9QUklW
QVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTAogCi0gICAgICAgIGJvb2wgaXNQcml2YXRlTmFt
ZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0OworICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoU3lt
Ym9sSW1wbCYgdWlkKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRT
dHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoY29uc3Qg
SWRlbnRpZmllciYpIGNvbnN0OwogCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGdldFByaXZh
dGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSWRlbnRpZmllci5jcHAKaW5kZXggZTA4MTZkMjE3MzBmZjI1NThjZTZlYzFlNzY2
MDg3ZTUwZDIyZTAzZS4uZDI2ZDk1NjdjNjgzMGZlN2YzMWVmMTJhN2E0NWMwMTEyNDdmODZkZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAKQEAgLTQ1
LDcgKzQ1LDcgQEAKICAgICBpZiAoIWNbMV0pCiAgICAgICAgIHJldHVybiAqdm0tPnNtYWxsU3Ry
aW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmdSZXAoY1swXSk7CiAKLSAgICByZXR1cm4gKkF0b21p
Y1N0cmluZzo6YWRkKGMpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkKGMpOwog
fQogCiBSZWY8U3RyaW5nSW1wbD4gSWRlbnRpZmllcjo6YWRkKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgY2hhciogYykKQEAgLTY0LDcgKzY0LDcgQEAKICAgICBpZiAoIWxlbmd0aCkKICAgICAgICAg
cmV0dXJuICpTdHJpbmdJbXBsOjplbXB0eSgpOwogCi0gICAgcmV0dXJuICpBdG9taWNTdHJpbmc6
OmFkZChzLCBsZW5ndGgpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMsIGxl
bmd0aCk7CiB9CiAKIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbShFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSWRlbnRpZmllci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmll
ci5oCmluZGV4IGUyOWM0OTc3NGI1M2U4MzM0NTcxZDkzNWVhMjRlM2E5Y2EyZTRhZGIuLmExOWNl
NzhmYjcyMjRjMWM0MzVmZjA1YmQ5ZjY2M2Y1ZTNmZDdkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDx3
dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3Ry
aW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTkyLDcgKzkzLDcgQEAgY2xhc3MgSWRlbnRpZmllciB7CiAgICAgSWRlbnRpZmll
cihFbXB0eUlkZW50aWZpZXJGbGFnKSA6IG1fc3RyaW5nKFN0cmluZ0ltcGw6OmVtcHR5KCkpIHsg
QVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KIAogICAgIGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KLSAgICBBdG9taWNTdHJpbmdJ
bXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KG1fc3RyaW5nLmltcGwoKSk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKj4obV9zdHJpbmcuaW1wbCgp
KTsgfQogCiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmxlbmd0aCgp
OyB9CiAKQEAgLTEyMyw4ICsxMjQsOCBAQCBjbGFzcyBJZGVudGlmaWVyIHsKICAgICBzdGF0aWMg
SWRlbnRpZmllciBmcm9tU3RyaW5nKEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0YXRlKiwgY29uc3QgY2hhciopOwogCi0g
ICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChWTSosIFN0cmluZ0ltcGwqIHVpZCk7Ci0gICAg
c3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChFeGVjU3RhdGUqLCBTdHJpbmdJbXBsKiB1aWQpOwor
ICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoVk0qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
KTsKKyAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4ZWNTdGF0ZSosIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoY29uc3QgUHJpdmF0
ZU5hbWUmKTsKIAogICAgIHN0YXRpYyBJZGVudGlmaWVyIGNyZWF0ZUxDaGFyRnJvbVVDaGFyKFZN
KiB2bSwgY29uc3QgVUNoYXIqIHMsIGludCBsZW5ndGgpIHsgcmV0dXJuIElkZW50aWZpZXIodm0s
IGFkZDgodm0sIHMsIGxlbmd0aCkpOyB9CkBAIC0xNzQsOCArMTc1LDEwIEBAIGNsYXNzIElkZW50
aWZpZXIgewogICAgIElkZW50aWZpZXIoVk0qIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykgOiBt
X3N0cmluZyhhZGQodm0sIHN0cmluZy5pbXBsKCkpKSB7IEFTU0VSVChtX3N0cmluZy5pbXBsKCkt
PmlzQXRvbWljKCkpOyB9CiAgICAgSWRlbnRpZmllcihWTSogdm0sIFN0cmluZ0ltcGwqIHJlcCkg
OiBtX3N0cmluZyhhZGQodm0sIHJlcCkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9t
aWMoKSk7IH0KIAotICAgIGVudW0gVW5pcXVlSWRlbnRpZmllckZsYWcgeyBVbmlxdWVJZGVudGlm
aWVyIH07Ci0gICAgSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyRmxhZywgU3RyaW5nSW1wbCog
dWlkKSA6IG1fc3RyaW5nKHVpZCkgeyBBU1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc1N5bWJvbCgp
KTsgfQorICAgIGV4cGxpY2l0IElkZW50aWZpZXIoU3ltYm9sSW1wbCogdWlkKQorICAgICAgICA6
IG1fc3RyaW5nKHVpZCkKKyAgICB7CisgICAgfQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENo
YXJUeXBlPgogICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVpbnQzMl90IHRvVUludDMyRnJvbUNo
YXJhY3RlcnMoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgYm9v
bCYgb2spOwpAQCAtMjIxLDcgKzIyNCw3IEBAIGNsYXNzIElkZW50aWZpZXIgewogICAgIGlmICgh
bGVuZ3RoKQogICAgICAgICByZXR1cm4gKlN0cmluZ0ltcGw6OmVtcHR5KCk7CiAKLSAgICByZXR1
cm4gKkF0b21pY1N0cmluZzo6YWRkKHMsIGxlbmd0aCk7CisgICAgcmV0dXJuICpBdG9taWNTdHJp
bmdJbXBsOjphZGQocywgbGVuZ3RoKTsKIH0KIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBJZGVudGlmaWVyJiBhLCBjb25zdCBJZGVudGlmaWVyJiBiKQpAQCAtMjcxLDcgKzI3NCw3IEBA
IGlubGluZSBib29sIElkZW50aWZpZXI6OmVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIHIsIGNvbnN0
IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5nCiAKIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8dWludDMy
X3Q+IHBhcnNlSW5kZXgoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKLSAgICBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkID0gaWRlbnRpZmllci5pbXBsKCk7CiAgICAgaWYgKCF1aWQpCiAgICAgICAgIHJl
dHVybiBOdWxsb3B0OwogICAgIGlmICh1aWQtPmlzU3ltYm9sKCkpCkBAIC0yNzksOSArMjgyLDkg
QEAgaW5saW5lIGJvb2wgSWRlbnRpZmllcjo6ZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogciwgY29u
c3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmcKICAgICByZXR1cm4gcGFyc2VJbmRleCgqdWlkKTsK
IH0KIAotc3RydWN0IElkZW50aWZpZXJSZXBIYXNoIDogUHRySGFzaDxSZWZQdHI8U3RyaW5nSW1w
bD4+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4m
IGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9Ci0gICAgc3Rh
dGljIHVuc2lnbmVkIGhhc2goU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5n
U3ltYm9sQXdhcmVIYXNoKCk7IH0KK3N0cnVjdCBJZGVudGlmaWVyUmVwSGFzaCA6IFB0ckhhc2g8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4geworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGlu
Z1N5bWJvbEF3YXJlSGFzaCgpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9
CiB9OwogCiBzdHJ1Y3QgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8
aW50PiB7CkBAIC0yODksOCArMjkyLDggQEAgc3RydWN0IElkZW50aWZpZXJNYXBJbmRleEhhc2hU
cmFpdHMgOiBIYXNoVHJhaXRzPGludD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFs
dWVJc1plcm8gPSBmYWxzZTsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1w
bD4sIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+
PiwgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cz4gSWRlbnRpZmllck1hcDsKLXR5cGVkZWYg
SGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxT
dHJpbmdJbXBsKj4sIElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHM+IEJvcnJvd2VkSWRlbnRp
Zmllck1hcDsKK3R5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBpbnQs
IElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+
LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBJZGVudGlmaWVyTWFwOwordHlwZWRlZiBI
YXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRy
YWl0czxVbmlxdWVkU3RyaW5nSW1wbCo+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBC
b3Jyb3dlZElkZW50aWZpZXJNYXA7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaAppbmRleCA0MDYy
MjFhNjNhYWQ5NjVmNDczMGU0Njg4MzQ3MzY3YzNiMjY3MDRiLi43MTQ4YjIxMjgzYTVkMjdlYmZl
ODJkNjUxNzRhZDZkOWVhYTk3ZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKQEAgLTM3LDcgKzM3LDcgQEAgaW5saW5lIElkZW50
aWZpZXI6OklkZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBBdG9taWNTdHJpbmdJbXBsKiBzdHJp
bmcpCiAjaWZuZGVmIE5ERUJVRwogICAgIGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxlKGV4
ZWMpOwogICAgIGlmIChzdHJpbmcpCi0gICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmlu
Zy0+bGVuZ3RoKCkgfHwgc3RyaW5nLT5pc1N5bWJvbCgpIHx8IEF0b21pY1N0cmluZzo6aXNJbkF0
b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFu
IG90aGVyIHRocmVhZCEiKTsKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLT5s
ZW5ndGgoKSB8fCBzdHJpbmctPmlzU3ltYm9sKCkgfHwgQXRvbWljU3RyaW5nSW1wbDo6aXNJbkF0
b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFu
IG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogI2VuZGlm
CkBAIC00OSw3ICs0OSw3IEBAIGlubGluZSBJZGVudGlmaWVyOjpJZGVudGlmaWVyKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpCiAjaWZuZGVmIE5ERUJVRwogICAg
IGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxlKGV4ZWMpOwogICAgIGlmICghc3RyaW5nLmlz
TnVsbCgpKQotICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwg
c3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBBdG9taWNTdHJpbmc6OmlzSW5BdG9taWNTdHJp
bmdUYWJsZShzdHJpbmcuaW1wbCgpKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4g
b3RoZXIgdGhyZWFkISIpOworICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVu
Z3RoKCkgfHwgc3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBBdG9taWNTdHJpbmdJbXBsOjpp
c0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nLmltcGwoKSksICJUaGUgYXRvbWljIHN0cmluZyBj
b21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV4
ZWMpOwogI2VuZGlmCkBAIC02MCwzMSArNjAsMzEgQEAgaW5saW5lIElkZW50aWZpZXI6OklkZW50
aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykKICNpZm5k
ZWYgTkRFQlVHCiAgICAgY2hlY2tDdXJyZW50QXRvbWljU3RyaW5nVGFibGUoZXhlYyk7CiAjZW5k
aWYKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIo
KmV4ZWMsIHIpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkV2l0aFN0cmluZ1Rh
YmxlUHJvdmlkZXIoKmV4ZWMsIHIpOwogfQogaW5saW5lIFJlZjxTdHJpbmdJbXBsPiBJZGVudGlm
aWVyOjphZGQoVk0qIHZtLCBTdHJpbmdJbXBsKiByKQogewogI2lmbmRlZiBOREVCVUcKICAgICBj
aGVja0N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSh2bSk7CiAjZW5kaWYKLSAgICByZXR1cm4gKkF0
b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoKnZtLCByKTsKKyAgICByZXR1
cm4gKkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKCp2bSwgcik7
CiB9CiAKLWlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0qIHZtLCBTdHJp
bmdJbXBsKiB1aWQpCitpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKFZNKiB2
bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBpZiAoIXVpZCB8fCAhdWlkLT5pc1N5
bWJvbCgpKQogICAgICAgICByZXR1cm4gSWRlbnRpZmllcih2bSwgdWlkKTsKLSAgICByZXR1cm4g
SWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyLCB1aWQpOworICAgIHJldHVybiBJZGVudGlmaWVy
KHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih1aWQpKTsKIH0KIAotaW5saW5lIElkZW50aWZpZXIg
SWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cmluZ0ltcGwqIHVpZCkKK2lu
bGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoRXhlY1N0YXRlKiBleGVjLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHJldHVybiBmcm9tVWlkKCZleGVjLT52bSgpLCB1
aWQpOwogfQogCiBpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKGNvbnN0IFBy
aXZhdGVOYW1lJiBuYW1lKQogewotICAgIHJldHVybiBJZGVudGlmaWVyKFVuaXF1ZUlkZW50aWZp
ZXIsIG5hbWUudWlkKCkpOworICAgIHJldHVybiBJZGVudGlmaWVyKG5hbWUudWlkKCkpOwogfQog
CiB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCmluZGV4
IGMyNDMyMDZlMzRjYjBlYjkwNjFkZWE2N2U1N2M0NzY0YzE4NzJiNmQuLmQ3M2Y3NDhlM2FmNTc0
ZTEyYmZmYTEzZDI3YTNhMDY2YTk3NjlmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCkBAIC0xMDMsNyAr
MTAzLDcgQEAgYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXRjaGVzKFN0cnVjdHVyZUNo
YWluKiBjaGFpbikgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJbnRlbmRlZFN0
cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21pY1N0cmluZ0ltcGwqIHVpZCkK
K2Jvb2wgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6bWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZlY3Rv
ci5zaXplKCk7ICsraSkgewogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5o
CmluZGV4IDNjMDE5MTc3ZGE2NTNlOWU3NWY2M2U4MDFjNTE2NDQ0ZDQ2MWQ0ZWIuLmEwZjU1NjVi
ZDExZmVlOGM4MzcxMWYwZjU2MDUyZjIxNDMyMjllNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgY2xhc3MgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbiA6IHB1YmxpYyBSZWZDb3VudGVk
PEludGVuZGVkU3RydWN0dXJlQ2hhaW4+IHsKICAgICAKICAgICBib29sIGlzU3RpbGxWYWxpZCgp
IGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhTdHJ1Y3R1cmVDaGFpbiopIGNvbnN0OwotICAgIGJv
b2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIGJvb2wg
bWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICBib29sIGlz
Tm9ybWFsaXplZCgpOwogICAgIAogICAgIGJvb2wgdGFrZXNTbG93UGF0aEluREZHRm9ySW1wdXJl
UHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCA3ZDA2ZmE2MDBlYTIwNWU1NzE5NTBiNGNiODNjN2JlYmY1OGU5YjA1
Li4yYjMzZWM5MjI1OTExZjg1ZjRmNjM2OGJhNDNlYTNiNGE2MmFmN2EwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC00NTYsNyAr
NDU2LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRLZXlQcml2
YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVy
YXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRLZXlW
YWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlWYWx1ZSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUsIFN5bWJvbDo6Y3JlYXRl
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpLCBEb250RW51bSB8
IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5w
cm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1ib2w6OmNyZWF0ZSh2
bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgfTsK
ICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3Rh
dGljR2xvYmFscykpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJp
bmcuY3BwCmluZGV4IDEzYjkwZWZhNjY3ZDQ5MjA3OTBhMjMzMTlhNWU4ZmM3NzQxZGQ5OGQuLmY5
ZDBmNDM0NjE1ZTcyNTc2MmMxMWM3ZTgyZTM5NWVkZDEyOWIzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBBdG9taWNT
dHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmlu
ZyhFeGVjU3RhdGUqIGV4ZQogewogICAgIGlmIChtX2xlbmd0aCA+IG1heExlbmd0aEZvck9uU3Rh
Y2tSZXNvbHZlKSB7CiAgICAgICAgIHJlc29sdmVSb3BlKGV4ZWMpOwotICAgICAgICBpZiAoQXRv
bWljU3RyaW5nSW1wbCogZXhpc3RpbmdBdG9taWNTdHJpbmcgPSBBdG9taWNTdHJpbmc6OmZpbmQo
bV92YWx1ZS5pbXBsKCkpKSB7CisgICAgICAgIGlmIChBdG9taWNTdHJpbmdJbXBsKiBleGlzdGlu
Z0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cChtX3ZhbHVlLmltcGwoKSkp
IHsKICAgICAgICAgICAgIG1fdmFsdWUgPSAqZXhpc3RpbmdBdG9taWNTdHJpbmc7CiAgICAgICAg
ICAgICBzZXRJczhCaXQobV92YWx1ZS5pbXBsKCktPmlzOEJpdCgpKTsKICAgICAgICAgICAgIGNs
ZWFyRmliZXJzKCk7CkBAIC0yMDYsNyArMjA2LDcgQEAgQXRvbWljU3RyaW5nSW1wbCogSlNSb3Bl
U3RyaW5nOjpyZXNvbHZlUm9wZVRvRXhpc3RpbmdBdG9taWNTdHJpbmcoRXhlY1N0YXRlKiBleGUK
ICAgICBpZiAoaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIgYnVmZmVyW21heExlbmd0aEZvck9u
U3RhY2tSZXNvbHZlXTsKICAgICAgICAgcmVzb2x2ZVJvcGVJbnRlcm5hbDgoYnVmZmVyKTsKLSAg
ICAgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5nID0gQXRvbWlj
U3RyaW5nOjpmaW5kKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CisgICAgICAgIGlmIChBdG9taWNTdHJp
bmdJbXBsKiBleGlzdGluZ0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cChi
dWZmZXIsIG1fbGVuZ3RoKSkgewogICAgICAgICAgICAgbV92YWx1ZSA9ICpleGlzdGluZ0F0b21p
Y1N0cmluZzsKICAgICAgICAgICAgIHNldElzOEJpdChtX3ZhbHVlLmltcGwoKS0+aXM4Qml0KCkp
OwogICAgICAgICAgICAgY2xlYXJGaWJlcnMoKTsKQEAgLTIxNSw3ICsyMTUsNyBAQCBBdG9taWNT
dHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmlu
ZyhFeGVjU3RhdGUqIGV4ZQogICAgIH0gZWxzZSB7CiAgICAgICAgIFVDaGFyIGJ1ZmZlclttYXhM
ZW5ndGhGb3JPblN0YWNrUmVzb2x2ZV07CiAgICAgICAgIHJlc29sdmVSb3BlSW50ZXJuYWwxNihi
dWZmZXIpOwotICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogZXhpc3RpbmdBdG9taWNTdHJp
bmcgPSBBdG9taWNTdHJpbmc6OmZpbmQoYnVmZmVyLCBtX2xlbmd0aCkpIHsKKyAgICAgICAgaWYg
KEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5nID0gQXRvbWljU3RyaW5nSW1w
bDo6bG9va3VwKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CiAgICAgICAgICAgICBtX3ZhbHVlID0gKmV4
aXN0aW5nQXRvbWljU3RyaW5nOwogICAgICAgICAgICAgc2V0SXM4Qml0KG1fdmFsdWUuaW1wbCgp
LT5pczhCaXQoKSk7CiAgICAgICAgICAgICBjbGVhckZpYmVycygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKaW5kZXggYTIyZTZmYmQ3NGUxY2ViZDE3NzdkNGZkY2Fm
OTgzNjM3N2Q0MDRlNi4uMjFmODYzOTkxOTU1YzE3YTgzMTUzMThmZDUzYjBkZjY2MjM0ZGUyNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCkBAIC00ODEsNyArNDgx
LDcgQEAgQUxXQVlTX0lOTElORSBBdG9taWNTdHJpbmdJbXBsKiBKU1N0cmluZzo6dG9FeGlzdGlu
Z0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IEpTUm9wZVN0cmluZyo+KHRoaXMpLT5yZXNvbHZlUm9wZVRvRXhpc3RpbmdBdG9taWNT
dHJpbmcoZXhlYyk7CiAgICAgaWYgKG1fdmFsdWUuaW1wbCgpLT5pc0F0b21pYygpKQogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KG1fdmFsdWUuaW1wbCgpKTsK
LSAgICByZXR1cm4gQXRvbWljU3RyaW5nOjpmaW5kKG1fdmFsdWUuaW1wbCgpKTsKKyAgICByZXR1
cm4gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKG1fdmFsdWUuaW1wbCgpKTsKIH0KIAogaW5saW5l
IGNvbnN0IFN0cmluZyYgSlNTdHJpbmc6OnZhbHVlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggODRhYWY4ZWFlZWY5MjZiODhh
ZmFiZTJhMDhjMWUwYjQxMmQ4YTJjOC4uMzVhNWM2MWRiNzk0YjUxNzBiNzU0YjZkNzAwOGUzOGVk
Y2YxMGQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3Vw
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTEwMCw3
ICsxMDAsNyBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgaWYgKHByb3BlcnR5TmFtZS5p
c1N5bWJvbCgpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgU3RyaW5n
SW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgICAgICBpZiAoIXVpZCkKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXBEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRh
LmgKaW5kZXggMzkzNGE1YjVjNDU1YTU5NzgxNzVlNzM5ZTBhMWJhMmQzMDBmNTI5Yy4uM2I1ODYz
ZWZjZGYyNzc2ZWIxYjg0NTkwMmIzODcwODk0MzY2OGI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcERhdGEuaApAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIE1hcERhdGFJbXBs
IHsKICAgICB0eXBlZGVmIEhhc2hNYXA8SlNDZWxsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpE
ZWZhdWx0SGFzaDxKU0NlbGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJhaXRzPEpTQ2VsbCo+LCBJbmRl
eFRyYWl0cz4gQ2VsbEtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxFbmNvZGVkSlNWYWx1
ZSwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWVIYXNoLCBFbmNvZGVkSlNWYWx1ZUhhc2hUcmFpdHMs
IEluZGV4VHJhaXRzPiBWYWx1ZUtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJ
bXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj46Okhh
c2gsIFdURjo6SGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIEluZGV4VHJhaXRzPiBTdHJpbmdLZXll
ZE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludDMyX3QsIHR5
cGVuYW1lIFdURjo6RGVmYXVsdEhhc2g8QXRvbWljU3RyaW5nSW1wbCo+OjpIYXNoLCBXVEY6Okhh
c2hUcmFpdHM8QXRvbWljU3RyaW5nSW1wbCo+LCBJbmRleFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7
CisgICAgdHlwZWRlZiBIYXNoTWFwPFN5bWJvbEltcGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6
OlB0ckhhc2g8U3ltYm9sSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8U3ltYm9sSW1wbCo+LCBJbmRl
eFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7CiAKICAgICBzaXplX3QgY2FwYWNpdHlJbkJ5dGVzKCkg
eyByZXR1cm4gbV9jYXBhY2l0eSAqIHNpemVvZihFbnRyeSk7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IGQ3YjUx
NmE0MzNkODIwY2U4ZTRlMGY3MWVmODUwZWJkOGNlZWQ4MmEuLjNjZDE1ZWIzNGFhYjdhZmYyYWNh
ZmFiZDY3ZWJlMWE1MGU1Zjc0NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTI0Miw5ICsyNDIsOSBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVydHlTeW1i
b2xzKEV4ZWNTdGF0ZSogZQogICAgIEpTQXJyYXkqIG5hbWVzID0gY29uc3RydWN0RW1wdHlBcnJh
eShleGVjLCAwKTsKICAgICBzaXplX3QgbnVtUHJvcGVydGllcyA9IHByb3BlcnRpZXMuc2l6ZSgp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVydGllczsgaSsrKSB7Ci0gICAg
ICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVzW2ldLmltcGwoKTsKLSAgICAg
ICAgaWYgKGltcGwtPmlzU3ltYm9sKCkgJiYgIWV4ZWMtPnByb3BlcnR5TmFtZXMoKS5pc1ByaXZh
dGVOYW1lKGltcGwpKQotICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVh
dGUoZXhlYy0+dm0oKSwgaW1wbCkpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCA9
IHByb3BlcnRpZXNbaV0uaW1wbCgpOworICAgICAgICBpZiAoaW1wbC0+aXNTeW1ib2woKSAmJiAh
ZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoKmltcGwpKQorICAgICAgICAgICAg
bmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8
U3ltYm9sSW1wbCo+KGltcGwpKSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
bmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJp
dmF0ZU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgK
aW5kZXggY2NjY2MzOWZhOTM5MTNiM2ZhNjFjNzUwZTY4ZGM3MjkxNmU1YjcxNC4uZTQ2YTdhNjFj
NjkyYzlhYTRmZDFmOWIwYWQxMDU1NjY5YWFkY2ViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFByaXZh
dGVOYW1lX2gKICNkZWZpbmUgUHJpdmF0ZU5hbWVfaAogCi0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKQEAgLTM3LDI0ICszNywyNSBAQCBjbGFzcyBQcml2YXRlTmFtZSB7CiAgICAgewog
ICAgIH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkKKyAgICBl
eHBsaWNpdCBQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1aWQpCiAgICAgICAgIDogbV9pbXBsKHVp
ZCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2ltcGwtPmlzU3ltYm9sKCkpOwogICAgIH0KIAot
ICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCisgICAg
ZW51bSBEZXNjcmlwdGlvblRhZyB7IERlc2NyaXB0aW9uIH07CisgICAgZXhwbGljaXQgUHJpdmF0
ZU5hbWUoRGVzY3JpcHRpb25UYWcsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCiAgICAgICAg
IDogbV9pbXBsKFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChkZXNjcmlwdGlvbi5pbXBsKCkpKQog
ICAgIHsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBsLmdldCgpKTsgfQorICAgIFN5
bWJvbEltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfQogCiAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gdWlk
KCkgPT0gb3RoZXIudWlkKCk7IH0KICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJpdmF0ZU5h
bWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSAhPSBvdGhlci51aWQoKTsgfQogCiBwcml2
YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7CisgICAgUmVmUHRyPFN5bWJvbElt
cGw+IG1faW1wbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCmluZGV4IGFjOTVjYTE3NTYwZWUxNzdmYTNjNmE4
ZmI4OTgwNWQ1YzY5ZWY1YjguLmIwNjhiOTkxZGVhZDU1ODE0YzQ5ZDIwNzQyOGJjYjZkMTYzN2Vk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFw
SGFzaFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlN
YXBIYXNoVGFibGUuaApAQCAtMzUsNyArMzUsNyBAQAogI2RlZmluZSBEVU1QX1BST1BFUlRZTUFQ
X1NUQVRTIDAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9DT0xMSVNJT05TIDAKIAotI2RlZmlu
ZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChBdG9taWNTdHJpbmdJbXBsKikxKQor
I2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChVbmlxdWVkU3RyaW5nSW1w
bCopMSkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFzcyBQcm9w
ZXJ0eVRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKENlbGxUeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgdHlwZWRlZiBBdG9taWNT
dHJpbmdJbXBsKiBLZXlUeXBlOworICAgIHR5cGVkZWYgVW5pcXVlZFN0cmluZ0ltcGwqIEtleVR5
cGU7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eU1hcEVudHJ5IFZhbHVlVHlwZTsKIAogICAgIC8vIFRo
ZSBpbiBvcmRlciBpdGVyYXRvciBwcm92aWRlcyBvdmVybG9hZGVkICogYW5kIC0+IHRvIGFjY2Vz
cyB0aGUgVmFsdWUgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCmluZGV4IDRmMmNhODcyYmUzNzIzZmNiNzA5YTIz
NThhNjU4ZDk4MjU5NmQ3NTAuLjcwYmEwMzkzNDA5ZDQ1MzA2MDViMjg4OTRhMWE3YTg1M2FiMDA1
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFt
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCkBA
IC0zNCwxOSArMzQsMTkgQEAKIAogY2xhc3MgUHJvcGVydHlOYW1lIHsKIHB1YmxpYzoKLSAgICBQ
cm9wZXJ0eU5hbWUoQXRvbWljU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQorICAgIFByb3BlcnR5
TmFtZShVbmlxdWVkU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQogICAgICAgICA6IG1faW1wbChw
cm9wZXJ0eU5hbWUpCiAgICAgewotICAgICAgICBBU1NFUlQoIW1faW1wbCB8fCBtX2ltcGwtPmlz
QXRvbWljKCkgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKTsKKyAgICAgICAgQVNTRVJUKCFtX2ltcGwp
OwogICAgIH0KIAogICAgIFByb3BlcnR5TmFtZShjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCi0gICAgICAgIDogUHJvcGVydHlOYW1lKHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwq
Pihwcm9wZXJ0eU5hbWUuaW1wbCgpKSkKKyAgICAgICAgOiBQcm9wZXJ0eU5hbWUocHJvcGVydHlO
YW1lLmltcGwoKSkKICAgICB7CiAgICAgfQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IFByaXZh
dGVOYW1lJiBwcm9wZXJ0eU5hbWUpCi0gICAgICAgIDogbV9pbXBsKHN0YXRpY19jYXN0PEF0b21p
Y1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUudWlkKCkpKQorICAgICAgICA6IG1faW1wbChwcm9w
ZXJ0eU5hbWUudWlkKCkpCiAgICAgewogICAgICAgICBBU1NFUlQobV9pbXBsKTsKICAgICAgICAg
QVNTRVJUKG1faW1wbC0+aXNTeW1ib2woKSk7CkBAIC01NywxNCArNTcsMTQgQEAgY2xhc3MgUHJv
cGVydHlOYW1lIHsKICAgICAgICAgcmV0dXJuIG1faW1wbCAmJiBtX2ltcGwtPmlzU3ltYm9sKCk7
CiAgICAgfQogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkKCkgY29uc3QKKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2ltcGw7CiAg
ICAgfQogCiAgICAgQXRvbWljU3RyaW5nSW1wbCogcHVibGljTmFtZSgpIGNvbnN0CiAgICAgewot
ICAgICAgICByZXR1cm4gKCFtX2ltcGwgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKSA/IG51bGxwdHIg
OiBtX2ltcGw7CisgICAgICAgIHJldHVybiAoIW1faW1wbCB8fCBtX2ltcGwtPmlzU3ltYm9sKCkp
ID8gbnVsbHB0ciA6IHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihtX2ltcGwpOwogICAg
IH0KIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApAQCAtNzYsNyArNzYs
NyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgIH0KIAogcHJpdmF0ZToKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiBtX2ltcGw7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1faW1wbDsKIH07CiAK
IGlubGluZSBib29sIG9wZXJhdG9yPT0oUHJvcGVydHlOYW1lIGEsIGNvbnN0IElkZW50aWZpZXIm
IGIpCkBAIC0xMTYsNyArMTE2LDcgQEAgY2xhc3MgUHJvcGVydHlOYW1lIHsKIAogQUxXQVlTX0lO
TElORSBPcHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IHByb3BlcnR5TmFtZS51aWQoKTsK
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgIGlm
ICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICBpZiAodWlkLT5pc1N5bWJvbCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1l
QXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5
LmgKaW5kZXggZThlYmRmMTY4MmRiZDJjNThhNTY4ZmZkOGVhY2E0YzRmYTk4YzUzOC4uZDlkNGY2
YTc5MTdiZGQ5NDkyODk2ZTc4N2M2NzNhZDgxZmYwZjc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oCkBAIC03MSw4ICs3MSw4IEBA
IGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKICAgICB9CiAKICAgICB2b2lkIGFkZChjb25zdCBJ
ZGVudGlmaWVyJik7Ci0gICAgdm9pZCBhZGQoQXRvbWljU3RyaW5nSW1wbCopOwotICAgIHZvaWQg
YWRkS25vd25VbmlxdWUoQXRvbWljU3RyaW5nSW1wbCopOworICAgIHZvaWQgYWRkKFVuaXF1ZWRT
dHJpbmdJbXBsKik7CisgICAgdm9pZCBhZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCop
OwogCiAgICAgSWRlbnRpZmllciYgb3BlcmF0b3JbXSh1bnNpZ25lZCBpKSB7IHJldHVybiBtX2Rh
dGEtPnByb3BlcnR5TmFtZVZlY3RvcigpW2ldOyB9CiAgICAgY29uc3QgSWRlbnRpZmllciYgb3Bl
cmF0b3JbXSh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX2RhdGEtPnByb3BlcnR5TmFtZVZl
Y3RvcigpW2ldOyB9CkBAIC05MCw3ICs5MCw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsK
IAogcHJpdmF0ZToKICAgICBSZWZQdHI8UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBtX2RhdGE7Ci0g
ICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gbV9zZXQ7CisgICAgSGFzaFNldDxVbmlxdWVk
U3RyaW5nSW1wbCo+IG1fc2V0OwogICAgIFZNKiBtX3ZtOwogfTsKIApAQCAtOTksMTIgKzk5LDEy
IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKGNvbnN0IElkZW50
aWZpZXImIGlkZW50aWZpZXIpCiAgICAgYWRkKGlkZW50aWZpZXIuaW1wbCgpKTsKIH0KIAotQUxX
QVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGRLbm93blVuaXF1ZShBdG9taWNT
dHJpbmdJbXBsKiBpZGVudGlmaWVyKQorQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFy
cmF5OjphZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllcikKIHsKICAg
ICBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlk
KG1fdm0sIGlkZW50aWZpZXIpKTsKIH0KIAotQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFt
ZUFycmF5OjphZGQoQXRvbWljU3RyaW5nSW1wbCogaWRlbnRpZmllcikKK0FMV0FZU19JTkxJTkUg
dm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlmaWVy
KQogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzZXRUaHJlc2hvbGQgPSAyMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKaW5kZXggOTFh
MzM2ODQ2NGNlNjg3OTljNTk5MzdjODEwZjc4ZmU4MDZkZGJjYy4uOWM2YTQzYWUyMTM4ZjRlZWZl
YmE2ZTFkMDJiYzJlYWQxOWU0ZGU1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNtYWxsU3RyaW5n
c1N0b3JhZ2UgewogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBiYXNlU3RyaW5nID0gU3RyaW5nSW1w
bDo6Y3JlYXRlVW5pbml0aWFsaXplZChzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3VudCwgY2hhcmFj
dGVyQnVmZmVyKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2luZ2xlQ2hhcmFjdGVy
U3RyaW5nQ291bnQ7ICsraSkgewogICAgICAgICBjaGFyYWN0ZXJCdWZmZXJbaV0gPSBpOwotICAg
ICAgICBtX3JlcHNbaV0gPSBBdG9taWNTdHJpbmc6OmFkZChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+
KFN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBsKGJhc2VTdHJpbmcsIGksIDEp
KS5nZXQoKSk7CisgICAgICAgIG1fcmVwc1tpXSA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZChQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+KFN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBs
KGJhc2VTdHJpbmcsIGksIDEpKS5nZXQoKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAppbmRleCA5OTk4NTc4OGI2Y2NkMDlkMzU2MWQ1
MzI0ZjVjN2NiNGM1ZjIzYmU1Li5iODQ0NmZkNTdlNTMyNTYyZGVkOGYwZWMwZWVkYjk3OWU0Mzlk
NjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKQEAg
LTYwLDcgKzYwLDcgQEAKIHN0YXRpYyBIYXNoU2V0PFN0cnVjdHVyZSo+JiBsaXZlU3RydWN0dXJl
U2V0ID0gKihuZXcgSGFzaFNldDxTdHJ1Y3R1cmUqPik7CiAjZW5kaWYKIAotYm9vbCBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWdu
ZWQgYXR0cmlidXRlcykgY29uc3QKK2Jvb2wgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250
YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdAog
ewogICAgIGlmIChpc1VzaW5nU2luZ2xlU2xvdCgpKSB7CiAgICAgICAgIFN0cnVjdHVyZSogdHJh
bnNpdGlvbiA9IHNpbmdsZVRyYW5zaXRpb24oKTsKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBTdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5z
aWduZWQgYXR0cmlidXQKICAgICByZXR1cm4gbWFwKCktPmdldChzdGQ6Om1ha2VfcGFpcihyZXAs
IGF0dHJpYnV0ZXMpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNpdGlv
blRhYmxlOjpnZXQoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBj
b25zdAoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpnZXQoVW5p
cXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKIHsKICAgICBp
ZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24g
PSBzaW5nbGVUcmFuc2l0aW9uKCk7CkBAIC0zMTYsNyArMzE2LDcgQEAgdm9pZCBTdHJ1Y3R1cmU6
Om1hdGVyaWFsaXplUHJvcGVydHlNYXAoVk0mIHZtKQogICAgIGNoZWNrT2Zmc2V0Q29uc2lzdGVu
Y3koKTsKIH0KIAotU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRv
RXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSogc3RydWN0dXJlLCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCitT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgQVNTRVJU
KCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09i
amVjdCgpKTsKQEAgLTMzNiw3ICszMzYsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJv
cGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqIHN0cnVjdAogICAg
IHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZS51aWQoKSwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKK1N0cnVjdHVy
ZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29u
Y3VycmVudGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIENvbmN1
cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN0cnVjdHVyZS0+bV9sb2NrKTsKICAgICByZXR1cm4gYWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQs
IGF0dHJpYnV0ZXMsIG9mZnNldCk7CkBAIC04NDIsNyArODQyLDcgQEAgUHJvcGVydHlUYWJsZSog
U3RydWN0dXJlOjpjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoVk0mIHZtKQogICAgIHJldHVy
biBQcm9wZXJ0eVRhYmxlOjpjcmVhdGUodm0sIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1f
b2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CiB9CiAKLVByb3BlcnR5T2Zmc2V0IFN0cnVjdHVy
ZTo6Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJp
YnV0ZXMpCitQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcykKIHsKICAgICBQcm9wZXJ0eU9m
ZnNldCByZXN1bHQgPSBpbnZhbGlkT2Zmc2V0OwogICAgIApAQCAtODgyLDcgKzg4Miw3IEBAIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwgdW5zaWduZWQgYXR0cmliCiAgICAgaWYgKGF0dHJpYnV0ZXMgJiBEb250RW51bSkKICAg
ICAgICAgc2V0SGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXModHJ1ZSk7CiAKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKIAogICAgIGlmICghcHJvcGVydHlUYWJsZSgp
KQogICAgICAgICBjcmVhdGVQcm9wZXJ0eU1hcChsb2NrZXIsIHZtKTsKQEAgLTkwMSw3ICs5MDEs
NyBAQCBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZShQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lKQogICAgIAogICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKIAotICAgIEF0b21pY1N0cmlu
Z0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
cmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFwcm9wZXJ0eVRhYmxlKCkpCiAg
ICAgICAgIHJldHVybiBpbnZhbGlkT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaAppbmRleCAxYjQ0ZTJhMmI3MjQwMjcwNmMwZjkwNGM5Yjk0Yzg4YTExMWRh
ZmI2Li4xYTRlZWI1YTUwNDY0N2ExMGQ5NzUyMGU0NTNhOGJjZDE3ZDM2ODlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAtNDgsNyArNDgsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTczLDcgKzczLDcgQEAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBv
dXRPZkxpbmVHcm93dGhGYWN0b3IgPSAyOwogCiBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRyeSB7Ci0g
ICAgQXRvbWljU3RyaW5nSW1wbCoga2V5OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXk7CiAg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OwogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CiAKQEAg
LTg0LDcgKzg0LDcgQEAgc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewogICAgIHsKICAgICB9CiAg
ICAgCi0gICAgUHJvcGVydHlNYXBFbnRyeShBdG9taWNTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQgYXR0cmlidXRlcykKKyAgICBQcm9wZXJ0eU1hcEVudHJ5
KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQg
YXR0cmlidXRlcykKICAgICAgICAgOiBrZXkoa2V5KQogICAgICAgICAsIG9mZnNldChvZmZzZXQp
CiAgICAgICAgICwgYXR0cmlidXRlcyhhdHRyaWJ1dGVzKQpAQCAtMTMzLDcgKzEzMyw3IEBAIGNs
YXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHN0YXRpYyB2b2lkIGR1
bXBTdGF0aXN0aWNzKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBhZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiwgUHV0UHJvcGVydHlTbG90OjpDb250
ZXh0ID0gUHV0UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCk7Ci0gICAgc3RhdGljIFN0cnVj
dHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRs
eShTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMs
IFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFu
c2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJl
bW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJv
cGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBj
aGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5
cGUpOwpAQCAtMjg4LDggKzI4OCw4IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CiAgICAgdm9pZCBmb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYpOwogICAgIAotICAgIFByb3BlcnR5
T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIFByb3Bl
cnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVk
JiBhdHRyaWJ1dGVzKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRDb25jdXJyZW50bHkoVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgUHJvcGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKTsKICAgICAKICAgICBW
ZWN0b3I8UHJvcGVydHlNYXBFbnRyeT4gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpOwogICAg
IApAQCAtNDgyLDcgKzQ4Miw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0Nl
bGwgewogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKik7CiAg
ICAgCi0gICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGlu
Z1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFk
ZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSosIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAKICAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBzdHJ1Y3R1cmUgdGhhdCBoYXMgYSB1
c2FibGUgcHJvcGVydHkgdGFibGUsIHRoYXQgcHJvcGVydHkgdGFibGUsCiAgICAgLy8gYW5kIHRo
ZSBsaXN0IG9mIHN0cnVjdHVyZXMgdGhhdCB3ZSB2aXNpdGVkIGJlZm9yZSB3ZSBnb3QgdG8gaXQu
IElmIGl0IHJldHVybnMgYQpAQCAtNTkwLDcgKzU5MCw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgV3JpdGVCYXJyaWVyPEpTQ2VsbD4gbV9wcmV2aW91
c09yUmFyZURhdGE7CiAKLSAgICBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbV9uYW1lSW5QcmV2
aW91czsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbmFtZUluUHJldmlvdXM7CiAK
ICAgICBjb25zdCBDbGFzc0luZm8qIG1fY2xhc3NJbmZvOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKaW5kZXggZjE3YmMxYjE3YTQwMWMw
ZGM4OTE4YzZkYjgzMzljNTMzMTA4NTIzMC4uNWMzYWVkNzcxNTFhOWIyMzdiNjc2YWFhZGVjNWJj
MDExNjJjZjc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3RydWN0dXJlOjpmb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKICAgICB9CiB9CiAK
LWlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25j
dXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1
dGVzSWdub3JlZDsKICAgICByZXR1cm4gZ2V0Q29uY3VycmVudGx5KHVpZCwgYXR0cmlidXRlc0ln
bm9yZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCAyM2M2Y2EzMGRmYTM4ZTQwMmI5OTU2OGE2MzAx
ZjUzN2U4MjA1OGZlLi4zMmM5OTJkYWY3MTQ0MzVjYjliMjE5NzdjYjU3OGUyMzU0YTY0MjJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0
aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGUuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkluZGV4aW5nVHlw
ZS5oIgogI2luY2x1ZGUgIldlYWtHQ01hcC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05Mywx
MSArOTMsMTEgQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlIHsKIAogICAgIAogICAg
IHN0cnVjdCBIYXNoIHsKLSAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8QXRvbWljU3RyaW5nSW1w
bCosIHVuc2lnbmVkPiBLZXk7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFVuaXF1ZWRTdHJp
bmdJbXBsKiwgdW5zaWduZWQ+IEtleTsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyB1bnNpZ25l
ZCBoYXNoKGNvbnN0IEtleSYgcCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFB0ckhh
c2g8QXRvbWljU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsgcC5zZWNvbmQ7CisgICAgICAg
ICAgICByZXR1cm4gUHRySGFzaDxVbmlxdWVkU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsg
cC5zZWNvbmQ7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBL
ZXkmIGEsIGNvbnN0IEtleSYgYikKQEAgLTEzMCw4ICsxMzAsOCBAQCBjbGFzcyBTdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGUgewogICAgIH0KIAogICAgIGlubGluZSB2b2lkIGFkZChWTSYsIFN0cnVj
dHVyZSopOwotICAgIGlubGluZSBib29sIGNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwg
dW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7Ci0gICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0KEF0
b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CisgICAgaW5s
aW5lIGJvb2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmli
dXRlcykgY29uc3Q7CisgICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0KFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGJvb2wg
aXNVc2luZ1NpbmdsZVNsb3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbC5jcHAKaW5kZXggNmQ3OWQxYzQ2MTZkN2M5NjAzODM2YTIzNWU1NzcxMTJhY2YwZTM0ZC4u
MjViM2NhN2M2MWIyZGUxZDZkMDQxNTI5N2FjYzI4NzE5ZDIwN2QwMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCkBAIC00MywxMSArNDMsMTEgQEAKIAogU3ltYm9s
OjpTeW1ib2woVk0mIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICA6IEJhc2Uodm0sIHZt
LnN5bWJvbFN0cnVjdHVyZS5nZXQoKSkKLSAgICAsIG1fcHJpdmF0ZU5hbWUoc3RyaW5nKQorICAg
ICwgbV9wcml2YXRlTmFtZShQcml2YXRlTmFtZTo6RGVzY3JpcHRpb24sIHN0cmluZykKIHsKIH0K
IAotU3ltYm9sOjpTeW1ib2woVk0mIHZtLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitTeW1ib2w6
OlN5bWJvbChWTSYgdm0sIFN5bWJvbEltcGwqIHVpZCkKICAgICA6IEJhc2Uodm0sIHZtLnN5bWJv
bFN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1fcHJpdmF0ZU5hbWUodWlkKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCAxOWI2ZjRmMmZjYWJmMDZjMTkyOGY5MGJj
ODg2YWZjMDRhYzNkMTI0Li43ZDUyY2E5YmMwZGQyMGE5NmMxZTU4Nzc5NzRlYjE1ZTAxODhlNTUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAtNjQsNyArNjQsNyBA
QCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHN5
bWJvbDsKICAgICB9CiAKLSAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCisgICAgc3RhdGljIFN5bWJvbCogY3JlYXRlKFZNJiB2bSwgU3ltYm9s
SW1wbCogdWlkKQogICAgIHsKICAgICAgICAgU3ltYm9sKiBzeW1ib2wgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxTeW1ib2w+KHZtLmhlYXApKSBTeW1ib2wodm0sIHVpZCk7CiAgICAgICAg
IHN5bWJvbC0+ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBTeW1i
b2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIAogICAgIFN5bWJvbChWTSYpOwogICAgIFN5bWJv
bChWTSYsIGNvbnN0IFN0cmluZyYpOwotICAgIFN5bWJvbChWTSYsIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCk7CisgICAgU3ltYm9sKFZNJiwgU3ltYm9sSW1wbCogdWlkKTsKIAogICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAppbmRleCA1MzYzYjliNjk1NWIyNDE1MTE5
YTQwMjc2NjNjMGI1ODczNGZkNzEyLi4wZDJiN2Q4MGE4OGNmZGRkZjM4NTNjNGI5NzRkYWVjNjVi
OGEyMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
Q29uc3RydWN0b3IuY3BwCkBAIC02Miw3ICs2Miw3IEBACiB9CiAKICNkZWZpbmUgSU5JVElBTEla
RV9XRUxMX0tOT1dOX1NZTUJPTFMobmFtZSkgXAotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNyZWF0
ZSh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSMjU3ltYm9sLmltcGwoKSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICNuYW1lKSwgU3ltYm9sOjpjcmVhdGUodm0s
IHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lIyNTeW1ib2wu
aW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogdm9pZCBTeW1i
b2xDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTeW1ib2xQcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKQEAgLTEwOCw4ICsxMDgsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHN5bWJvbENvbnN0cnVjdG9yRm9yKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1wbD4gdWlkID0gZXhlYy0+dm0oKS5zeW1ib2xSZWdp
c3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
U3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KCZ1aWQuZ2V0KCkpKSk7CisgICAgUmVmPFN5bWJvbEltcGw+IHVpZCA9IGV4ZWMtPnZtKCkuc3lt
Ym9sUmVnaXN0cnkoKS5zeW1ib2xGb3JLZXkoc3RyaW5nKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKFN5bWJvbDo6Y3JlYXRlKGV4ZWMtPnZtKCksICZ1aWQuZ2V0KCkpKTsKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC0xMTgsOCArMTE4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKCFzeW1i
b2xWYWx1ZS5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93
VHlwZUVycm9yKGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGFzU3ltYm9s
KHN5bWJvbFZhbHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAgICBBU1NFUlQodWlkLT5pc1N5
bWJvbCgpKTsKKyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1ib2xWYWx1ZSktPnBy
aXZhdGVOYW1lKCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkpCiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAppbmRleCA1OTMyZTYxNDYxMWEw
MzNiMTE2ZGJmOWU1ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFmN2EwNzkxNWM0ZjY0OGNjZTM3
Zjg4Y2FhZmEyMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
eW1ib2xUYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
VGFibGUuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1ib2xUYWJsZTo6cHJlcGFyZUZv
clR5cGVQcm9maWxpbmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgfQogfQogCi1H
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKK0dsb2JhbFZhcmlh
YmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxFQVNF
X0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBH
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvck9mZnNldChjb25zdCBDb25j
dXJyZW50SklUTG9ja2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFi
bGUobG9ja2VyLCBpdGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQogCi1SZWZQdHI8VHlwZVNldD4g
U3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiBsb2NrZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorUmVmUHRyPFR5cGVTZXQ+
IFN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYgbG9ja2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCiB7CiAgICAg
UkVMRUFTRV9BU1NFUlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4OWNhYzYwNDQ0MDQwZGFjYjNm
ZjZlZmZkYzZmZGZkMzU4ZjBjZDVmLi45ZjBiYzRlNDNlYjlkN2Q2NGEyN2Q5MWQ4OWI4MGE5OTZl
ODA0MTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xU
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgK
QEAgLTM5LDcgKzM5LDcgQEAKICNpbmNsdWRlICJXYXRjaHBvaW50LmgiCiAjaW5jbHVkZSA8bWVt
b3J5PgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogCkBAIC00MjQsMTAgKzQyNCwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBm
aW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJp
bmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8
UmVmUHRyPFN0cmluZ0ltcGw+PiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFpdHM+IE1hcDsKLSAg
ICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJ
ZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0
cjxTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVl
VHlwZVNldE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQdHI8U3RyaW5n
SW1wbD4+IE9mZnNldFRvVmFyaWFibGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBI
YXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+LCBTeW1ib2xUYWJsZUluZGV4SGFz
aFRyYWl0cz4gTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0lt
cGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFJlZlB0cjxUeXBl
U2V0PiwgSWRlbnRpZmllclJlcEhhc2g+IFVuaXF1ZVR5cGVTZXRNYXA7CisgICAgdHlwZWRlZiBI
YXNoTWFwPFZhck9mZnNldCwgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gT2Zmc2V0VG9WYXJp
YWJsZU1hcDsKICAgICB0eXBlZGVmIFZlY3RvcjxTeW1ib2xUYWJsZUVudHJ5Kj4gTG9jYWxUb0Vu
dHJ5VmVjOwogCiAgICAgc3RhdGljIFN5bWJvbFRhYmxlKiBjcmVhdGUoVk0mIHZtKQpAQCAtNDUz
LDMzICs0NTMsMzMgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICB9CiAKICAgICAvLyBZb3UgbXVzdCBob2xkIHRoZSBsb2NrIHVudGlsIGFmdGVyIHlvdSdy
ZSBkb25lIHdpdGggdGhlIGl0ZXJhdG9yLgotICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3Ig
ZmluZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAg
IE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2VyJiwgU3Ry
aW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJy
ZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkg
Z2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3lt
Ym9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJp
bmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuZ2V0KGtleSk7CiAgICAg
fQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KFN0cmluZ0ltcGwqIGtleSkKKyAgICBT
eW1ib2xUYWJsZUVudHJ5IGdldChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAg
ICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGdl
dChsb2NrZXIsIGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5l
R2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3lt
Ym9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1
ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuaW5saW5lR2V0
KGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KFN0cmlu
Z0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGluZUdldChVbmlxdWVkU3RyaW5n
SW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9s
b2NrKTsKICAgICAgICAgcmV0dXJuIGlubGluZUdldChsb2NrZXIsIGtleSk7CkBAIC01NTksNyAr
NTU5LDcgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAg
ICAgcmV0dXJuIHRha2VOZXh0U2NvcGVPZmZzZXQobG9ja2VyKTsKICAgICB9CiAgICAgCi0gICAg
dm9pZCBhZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgY29u
c3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBhZGQoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50
cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fbG9jYWxUb0VudHJ5
KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgpKTsKQEAgLTU2Nywz
MSArNTY3LDMxIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgYWRkKFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRy
eSYgZW50cnkpCisgICAgdm9pZCBhZGQoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3lt
Ym9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2Vy
IGxvY2tlcihtX2xvY2spOwogICAgICAgICBhZGQobG9ja2VyLCBrZXksIGVudHJ5KTsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0lt
cGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5
bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1f
bG9jYWxUb0VudHJ5KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgp
KTsKICAgICAgICAgbV9tYXAuc2V0KGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lk
IHNldChTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQorICAg
IHZvaWQgc2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkm
IGVudHJ5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2Nr
KTsKICAgICAgICAgc2V0KGxvY2tlciwga2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIGJv
b2wgY29udGFpbnMoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkK
KyAgICBib29sIGNvbnRhaW5zKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmNvbnRhaW5zKGtleSk7
CiAgICAgfQogICAgIAotICAgIGJvb2wgY29udGFpbnMoU3RyaW5nSW1wbCoga2V5KQorICAgIGJv
b2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIENvbmN1
cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIHJldHVybiBjb250YWlucyhs
b2NrZXIsIGtleSk7CkBAIC02NDEsMTAgKzY0MSwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGNvbnN0IExvY2FsVG9FbnRyeVZlYyYgbG9jYWxUb0Vu
dHJ5KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImKTsKICAgICBTeW1ib2xUYWJsZUVudHJ5KiBl
bnRyeUZvcihjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU2NvcGVPZmZzZXQpOwogICAgIAot
ICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBWTSYpOworICAgIEdsb2JhbFZhcmlhYmxlSUQg
dW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSwgVk0mKTsKICAgICBHbG9iYWxWYXJpYWJsZUlEIHVuaXF1ZUlERm9yT2Zm
c2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBWYXJPZmZzZXQsIFZNJik7CiAgICAgUmVm
UHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JPZmZzZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFZhck9mZnNldCwgVk0mKTsKLSAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNl
dEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXks
IFZNJik7CisgICAgUmVmUHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKIAog
ICAgIGJvb2wgdXNlc05vblN0cmljdEV2YWwoKSB7IHJldHVybiBtX3VzZXNOb25TdHJpY3RFdmFs
OyB9CiAgICAgdm9pZCBzZXRVc2VzTm9uU3RyaWN0RXZhbChib29sIHVzZXNOb25TdHJpY3RFdmFs
KSB7IG1fdXNlc05vblN0cmljdEV2YWwgPSB1c2VzTm9uU3RyaWN0RXZhbDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAppbmRleCAwZjU3ZWM0YjVlZGJiMWI5Zjc4
ZGFlNjljZDc0ZTFjNjdjMzczYzU1Li5jNjFkYTJjOTAxYzNjYmU0YzA4OTY5OWRmMzExNWQzNzk2
OTdiZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcApAQCAt
MzM0LDEzICszMzQsMTMgQEAgdm9pZCBTdHJ1Y3R1cmVTaGFwZTo6bWFya0FzRmluYWwoKQogICAg
IG1fZmluYWwgPSB0cnVlOwogfQogCi12b2lkIFN0cnVjdHVyZVNoYXBlOjphZGRQcm9wZXJ0eShS
ZWZQdHI8U3RyaW5nSW1wbD4gaW1wbCkKK3ZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5
KFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gdWlkKQogewogICAgIEFTU0VSVCghbV9maW5hbCk7
Ci0gICAgbV9maWVsZHMuYWRkKGltcGwpOworICAgIG1fZmllbGRzLmFkZCh1aWQpOwogfQogCi1T
dHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpIAorU3RyaW5nIFN0cnVjdHVyZVNo
YXBlOjpwcm9wZXJ0eUhhc2goKQogewogICAgIEFTU0VSVChtX2ZpbmFsKTsKICAgICBpZiAobV9w
cm9wZXJ0eUhhc2gpCkBAIC0zNTAsOSArMzUwLDkgQEAgU3RyaW5nIFN0cnVjdHVyZVNoYXBlOjpw
cm9wZXJ0eUhhc2goKQogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7CiAgICAgYnVpbGRlci5hcHBl
bmQobV9jb25zdHJ1Y3Rvck5hbWUpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7Ci0gICAgCi0g
ICAgZm9yIChhdXRvIGl0ZXIgPSBtX2ZpZWxkcy5iZWdpbigpLCBlbmQgPSBtX2ZpZWxkcy5lbmQo
KTsgaXRlciAhPSBlbmQ7ICsraXRlcikgewotICAgICAgICBTdHJpbmcgcHJvcGVydHkgPSBTdHJp
bmcoKCppdGVyKSk7CisKKyAgICBmb3IgKGF1dG8ga2V5IDogbV9maWVsZHMpIHsKKyAgICAgICAg
U3RyaW5nIHByb3BlcnR5ID0gU3RyaW5nKHN0YXRpY19wb2ludGVyX2Nhc3Q8U3RyaW5nSW1wbD4o
a2V5KSk7CiAgICAgICAgIHByb3BlcnR5LnJlcGxhY2UoIjoiLCAiXFw6Iik7IC8vIEVuc3VyZSB0
aGF0IGhhc2goeyJmb286IiwgImJhciJ9KSAhPSBoYXNoKHsiZm9vIiwgIjpiYXIifSkgYmVjYXVz
ZSB3ZSdyZSB1c2luZyBjb2xvbnMgYXMgYSBzZXBhcmF0b3IgYW5kIGNvbG9ucyBhcmUgbGVnYWwg
Y2hhcmFjdGVycyBpbiBmaWVsZCBuYW1lcyBpbiBKUy4KICAgICAgICAgYnVpbGRlci5hcHBlbmQo
cHJvcGVydHkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaApp
bmRleCAyMjk3ZjFkYjI0ODU5MDVhNjRjYTkzMTk0NjVkZGFmZTgzMWRkYjBhLi4xZDFmYjJhOWQx
MjA0ZTA0OTkyMTk0N2NlZmJiNjJlMmQwODUyNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oCkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFN0cnVjdHVyZVNoYXBlIDog
cHVibGljIFJlZkNvdW50ZWQ8U3RydWN0dXJlU2hhcGU+IHsKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0cnVjdHVy
ZVNoYXBlKTsgfQogICAgIFN0cmluZyBwcm9wZXJ0eUhhc2goKTsKICAgICB2b2lkIG1hcmtBc0Zp
bmFsKCk7Ci0gICAgdm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8U3RyaW5nSW1wbD4pOworICAgIHZv
aWQgYWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPik7CiAgICAgU3RyaW5nIHN0
cmluZ1JlcHJlc2VudGF0aW9uKCk7CiAgICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owog
ICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpTdHJ1Y3R1cmVEZXNjcmlwdGlv
bj4gaW5zcGVjdG9yUmVwcmVzZW50YXRpb24oKTsKQEAgLTcwLDggKzcwLDggQEAgY2xhc3MgU3Ry
dWN0dXJlU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1Y3R1cmVTaGFwZT4gewogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBtZXJnZShjb25zdCBQYXNzUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiwgY29uc3QgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4pOwogICAgIGJv
b2wgaGFzU2FtZVByb3RvdHlwZUNoYWluKFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+KTsKIAot
ICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2ZpZWxkczsKLSAgICBIYXNoU2V0PFJl
ZlB0cjxTdHJpbmdJbXBsPj4gbV9vcHRpb25hbEZpZWxkczsKKyAgICBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2ZpZWxkczsKKyAgICBIYXNo
U2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX29wdGlv
bmFsRmllbGRzOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gbV9wcm90bzsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8U3RyaW5nPiBtX3Byb3BlcnR5SGFzaDsKICAgICBTdHJpbmcgbV9jb25zdHJ1
Y3Rvck5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9q
IGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagppbmRleCA0NjY5MGI4YzYyNzRh
MWE3NGQyZjZlZDI2YWQxOTBkNzIyYWUxMDllLi45ODk3MTNlYTA2MzU5MTJhNDFkMmFiMjc3OWNj
MDNlZTY4MTExMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hw
cm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKQEAgLTEyNyw2ICsx
MjcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFN0YWNrQm91bmRzLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdQcmludFN0cmVhbS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxBdG9taWNTdHJpbmcuY3Bw
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQXRvbWljU3RyaW5nSW1w
bC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxBdG9taWNTdHJp
bmdUYWJsZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxCYXNl
NjQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQ1N0cmluZy5j
cHAiIC8+CkBAIC0xMzYsNyArMTM3LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx0ZXh0XFN0cmluZ1ZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XHRleHRcU3ltYm9sUmVnaXN0cnkuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
d3RmXHRleHRcV1RGU3RyaW5nLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0NGLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHd0Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0ltcGxDRi5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxTdHJpbmdDRi5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxTdHJpbmdJbXBsQ0YuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcY2ZcU3RyaW5nVmlld0NGLmNwcCIgLz4KQEAgLTI5
MCw3ICsyOTEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5n
SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nT3Bl
cmF0b3JzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTdHJpbmdW
aWV3LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xJbXBs
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xSZWdpc3Ry
eS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcVW5pcXVlZFN0cmlu
Z0ltcGwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFdURlN0cmlu
Zy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZy5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZ1ByaW1pdGl2ZXMuaCIgLz4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycyBi
L1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCBjZDkyYTMx
Y2Q3YjdiYjQ0ZGFmMTVkZmFkOGQzZTUxOWNiZjI4MjFlLi42OGEyZGIxOWU2ZmY4NWU0Y2FhZGMx
ZWNiYTFmYTIxMGZiZDhjODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dU
Ri52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJv
ai5maWx0ZXJzCkBAIC02Niw2ICs2Niw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3
dGZcdGV4dFxBdG9taWNTdHJpbmcuY3BwIj4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQXRv
bWljU3RyaW5nSW1wbC5jcHAiPgorICAgICAgPEZpbHRlcj50ZXh0PC9GaWx0ZXI+CisgICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxCYXNlNjQuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtODQs
NyArODcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcV1RGU3RyaW5n
LmNwcCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0NGLmNwcCI+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxBdG9taWNTdHJpbmdJbXBs
Q0YuY3BwIj4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcY2ZcU3RyaW5nQ0YuY3BwIj4KQEAg
LTM0NSw5ICszNDgsMTUgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0
cmluZ1ZpZXcuaCI+CiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sSW1wbC5oIj4KKyAg
ICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sUmVnaXN0cnkuaCI+CiAgICAgICA8RmlsdGVy
PnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0Zlx0ZXh0XFVuaXF1ZWRTdHJpbmdJbXBsLmgiPgorICAgICAgPEZpbHRlcj50ZXh0PC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZc
dGV4dFxXVEZTdHJpbmcuaCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovY29weS1maWxlcy5j
bWQgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL2NvcHktZmlsZXMuY21kCmluZGV4IGVkN2JhYWY4
NmU5M2YwMzcxZDQ5NTVjODNjMDAwYWZkZjY5MmQwZDYuLmU3ZTY1OWU4ZmY2NzdhNTYwYWY3ZDcw
Mzk5MzRiZDMxODMxNzhhNGUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovY29w
eS1maWxlcy5jbWQKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9jb3B5LWZpbGVzLmNtZApA
QCAtMjgsNiArMjgsNyBAQCBlY2hvIENvcHlpbmcgb3RoZXIgZmlsZXMuLi4KIGZvciAlJWYgaW4g
KA0KICAgICAuLlxKYXZhU2NyaXB0Q29yZVxjcmVhdGVfaGFzaF90YWJsZQ0KICAgICB3dGZcdGV4
dFxBdG9taWNTdHJpbmcuY3BwDQorICAgIHd0Zlx0ZXh0XEF0b21pY1N0cmluZ0ltcGwuY3BwDQog
ICAgIHd0Zlx0ZXh0XFN0cmluZ0J1aWxkZXIuY3BwDQogICAgIHd0Zlx0ZXh0XFN0cmluZ0ltcGwu
Y3BwDQogICAgIHd0Zlx0ZXh0XFdURlN0cmluZy5jcHANCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyMjBkNThkM2ZiZTJjNzk0YmZiZDQwNmRiMmM0NDVhMmI4
MDlkZjkwLi5iZjRjZTk4MDFlMGE5Zjc1Njc5OGM1MDdkMGRmMGFmMDUzYmE3NDczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc2LDYgKzc2LDkgQEAKIAkJ
NDMwQjQ3ODkxQUFBQUMxQTAwMTIyM0RBIC8qIFN0cmluZ0NvbW1vbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMwQjQ3ODcxQUFBQUMxQTAwMTIyM0RB
IC8qIFN0cmluZ0NvbW1vbi5oICovOyB9OwogCQk3MEE5OTNGRTFBRDcxNTEzMDBGQTYxNUIgLyog
U3ltYm9sUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzBBOTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCAq
LzsgfTsKIAkJNzBBOTkzRkYxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEE5OTNGRDFBRDcx
NTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuaCAqLzsgfTsKKwkJNzBFQ0E2MEQxQjAyNDI2
ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21p
Y1N0cmluZ0ltcGwuY3BwICovOyB9OworCQk3MEVDQTYwRTFCMDI0MjY4MDA0NDk3MzkgLyogU3lt
Ym9sSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzBFQ0E2MEIxQjAyNDI2ODAwNDQ5NzM5IC8qIFN5bWJvbEltcGwuaCAqLzsgfTsKKwkJNzBFQ0E2
MEYxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEVDQTYwQzFCMDI0MjY4MDA0NDk3Mzkg
LyogVW5pcXVlZFN0cmluZ0ltcGwuaCAqLzsgfTsKIAkJN0NCQkEwNzQxOUJCN0ZEQzAwQkJGMDI1
IC8qIE9TT2JqZWN0UHRyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIuaCAqLzsgfTsK
IAkJN0NERDdGRjgxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJhdG9yQWRhcHRvcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDREQ3RkY3MTg2RDI5MUUw
MDc0MzNDRCAvKiBJdGVyYXRvckFkYXB0b3JzLmggKi87IH07CiAJCTdDREQ3RkZBMTg2RDJBNTQw
MDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Q0REN0ZGOTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5n
ZS5oICovOyB9OwpAQCAtOTQsNyArOTcsNyBAQAogCQk5QkQ4RjQwQjE3NkMyQjQ3MDAwMkQ4NjUg
LyogQXRvbWljU3RyaW5nVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlCRDhGNDBBMTc2QzJBRDgwMDAyRDg2NSAvKiBBdG9taWNTdHJpbmdUYWJs
ZS5oICovOyB9OwogCQlBNUJBMTVGMzE4MjQzM0E5MDBBODJFNjkgLyogU3RyaW5nTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RjIxODI0
MzNBOTAwQTgyRTY5IC8qIFN0cmluZ01hYy5tbSAqLzsgfTsKIAkJQTVCQTE1RjUxODI0MzQ4MDAw
QTgyRTY5IC8qIFN0cmluZ0ltcGxNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUJBMTVGNDE4MjQzNDgwMDBBODJFNjkgLyogU3RyaW5nSW1wbE1h
Yy5tbSAqLzsgfTsKLQkJQTVCQTE1RkExODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NG
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkEx
NUY3MTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdDRi5jcHAgKi87IH07CisJCUE1QkEx
NUZBMTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdJbXBsQ0YuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RjcxODI0MzVBNjAwQTgy
RTY5IC8qIEF0b21pY1N0cmluZ0ltcGxDRi5jcHAgKi87IH07CiAJCUE1QkExNUZCMTgyNDM1QTYw
MEE4MkU2OSAvKiBTdHJpbmdDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUJBMTVGODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICov
OyB9OwogCQlBNUJBMTVGQzE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nSW1wbENGLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUY5MTgyNDM1
QTYwMEE4MkU2OSAvKiBTdHJpbmdJbXBsQ0YuY3BwICovOyB9OwogCQlBNzBEQTA4NDE3OTlGMDRE
MDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi87
IH07CkBAIC0zNjAsNiArMzYzLDkgQEAKIAkJNjU0MUNBRjQxNjMwREIyNjAwNkQwREVDIC8qIENv
cHlXVEZIZWFkZXJzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IENv
cHlXVEZIZWFkZXJzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MEE5
OTNGQzFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MEE5OTNGRDFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8q
IEF0b21pY1N0cmluZ0ltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQXRvbWljU3RyaW5nSW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcw
RUNBNjBCMUIwMjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN5bWJvbEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzBFQ0E2MEMxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVuaXF1ZWRTdHJpbmdJbXBsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQkJBMDczMTlCQjdGREMwMEJCRjAyNSAvKiBPU09iamVj
dFB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPU09iamVjdFB0ci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZGNzE4NkQyOTFFMDA3NDMzQ0QgLyog
SXRlcmF0b3JBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVy
YXRvckFkYXB0b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDREQ3RkY5MTg2
RDJBNTQwMDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEl0ZXJhdG9yUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTM3OCw3ICszODQsNyBAQAogCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUgLyogQXRvbWljU3Ry
aW5nVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXRvbWljU3RyaW5nVGFibGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVCQTE1RjIxODI0MzNBOTAwQTgyRTY5IC8qIFN0cmluZ01h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFN0cmluZ01hYy5t
bTsgcGF0aCA9IG1hYy9TdHJpbmdNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1QkExNUY0MTgyNDM0ODAwMEE4MkU2OSAvKiBTdHJpbmdJbXBsTWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gU3RyaW5nSW1wbE1hYy5tbTsgcGF0aCA9IG1h
Yy9TdHJpbmdJbXBsTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBNUJBMTVG
NzE4MjQzNUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nQ0YuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gQXRvbWljU3RyaW5nQ0YuY3BwOyBwYXRoID0gY2YvQXRvbWlj
U3RyaW5nQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUJBMTVGNzE4MjQz
NUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nSW1wbENGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEF0b21pY1N0cmluZ0ltcGxDRi5jcHA7IHBhdGggPSBjZi9BdG9t
aWNTdHJpbmdJbXBsQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUJBMTVG
ODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gU3RyaW5nQ0YuY3BwOyBwYXRoID0gY2YvU3RyaW5nQ0YuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUJBMTVGOTE4MjQzNUE2MDBBODJFNjkgLyogU3Ry
aW5nSW1wbENGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0cmlu
Z0ltcGxDRi5jcHA7IHBhdGggPSBjZi9TdHJpbmdJbXBsQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc2VydGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjY4LDcgKzY3NCw3IEBACiAJCUE1QkExNUY2MTgyNDM1OUUwMEE4
MkU2OSAvKiBjZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0J
CQkJQTVCQTE1RjcxODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NGLmNwcCAqLywKKwkJ
CQlBNUJBMTVGNzE4MjQzNUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nSW1wbENGLmNwcCAqLywK
IAkJCQlBNUJBMTVGODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICovLAogCQkJCUE1
QkExNUY5MTgyNDM1QTYwMEE4MkU2OSAvKiBTdHJpbmdJbXBsQ0YuY3BwICovLAogCQkJCTkzOTM0
QkQ0MThBMUYxNjkwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q0YuY3BwICovLApAQCAtOTE4LDYgKzky
NCw3IEBACiAJCQkJQThBNDczMUQxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5jcHAg
Ki8sCiAJCQkJQThBNDczMUUxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5oICovLAog
CQkJCUE4QTQ3MzFGMTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdIYXNoLmggKi8sCisJ
CQkJNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwICovLAog
CQkJCUE4QTQ3MzIwMTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJbXBsLmggKi8sCiAJ
CQkJOUJDNzBGMDQxNzZDMzc5RDAwMTAxREVDIC8qIEF0b21pY1N0cmluZ1RhYmxlLmNwcCAqLywK
IAkJCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUgLyogQXRvbWljU3RyaW5nVGFibGUuaCAqLywK
QEAgLTk0MCw5ICs5NDcsMTEgQEAKIAkJCQk5M0YxOTkzRDE5RDc5NThEMDBDMjM5MEIgLyogU3Ry
aW5nVmlldy5jcHAgKi8sCiAJCQkJQThBNDczMkExNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ09w
ZXJhdG9ycy5oICovLAogCQkJCUE4QTQ3MzJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdTdGF0
aWNzLmNwcCAqLywKKwkJCQk3MEVDQTYwQjFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5o
ICovLAogCQkJCTcwQTk5M0ZDMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5jcHAg
Ki8sCiAJCQkJNzBBOTkzRkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi8s
CiAJCQkJQThBNDczMkMxNTFBODI1QjAwNDEyM0ZGIC8qIFRleHRQb3NpdGlvbi5oICovLAorCQkJ
CTcwRUNBNjBDMUIwMjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovLAogCQkJ
CUE4QTQ3MzJEMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuY3BwICovLAogCQkJCUE4QTQ3
MzJFMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuaCAqLywKIAkJCSk7CkBAIC0xMDM2LDYg
KzEwNDUsNyBAQAogCQkJCUE4QTQ3NDM4MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJ
bXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QkQ4RjQwQjE3NkMyQjQ3MDAwMkQ4NjUgLyogQXRv
bWljU3RyaW5nVGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0Njk0MTlDMTZFQUIxMEEwMDI0
RTE0NiAvKiBBdXRvZHJhaW5lZFBvb2wuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBGMUIw
MjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODEzNDAxMzkxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczQTkxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzNBQjE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmggaW4gSGVhZGVycyAqLywK
QEAgLTExNjAsNiArMTE3MCw3IEBACiAJCQkJMUE2QkI3NjkxNjJGMzAwNTAwREQxNkRCIC8qIFN0
cmVhbUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0IxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0cmluZ0J1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0QxNTFBODI1QjAw
NDEyM0ZGIC8qIFN0cmluZ0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBFMUIw
MjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQz
RTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZFOTFFODgxMUFCMkEwMjAwMDk5ODk1RiAvKiBTcGluTG9jay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThBNDc0MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xMzI0LDcgKzEzMzUsNyBAQAogCQkJCUU0QTBBRDNEMUE5NjI1M0MwMDUzNkRG
NiAvKiBXb3JrUXVldWVDb2NvYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMzE1MUE4
MjVCMDA0MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQzMx
NTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQTVC
QTE1RkExODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NGLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUE1QkExNUZBMTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdJbXBsQ0YuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1NTU2RjUxOEEwQ0MxODAwNkY0OEZCIC8qIENyeXB0b2dy
YXBoaWNVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDMzNjAxNjVEQkE3MzAw
NUFEMzg3IC8qIEZpbGVQcmludFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNC
NTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBTb3VyY2VzICovLApAQCAtMTM1
NSw2ICsxMzY2LDcgQEAKIAkJCQlBNzQ4NzQ1MjE3QTBCREFFMDBGQTA0Q0IgLyogU2l4Q2hhcmFj
dGVySGFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNTE1MUE4MjVCMDA0MTIzRkYg
LyogU2l6ZUxpbWl0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNzE1MUE4MjVCMDA0
MTIzRkYgLyogU3RhY2tCb3VuZHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQ0E2MEQxQjAy
NDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkVEQUNEM0QxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDc0M0MxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0J1aWxkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0ltcGwuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzNjRkY2UyOTQyMTRmNTgy
ZWY5MGU4NDEzNzA5NTg3NDBjYWExOGQuLjNkMjgwMjE2NjhjMGIyNzkwMDdhYzFjMjAxNzM5YThk
NDRlMWRiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMjYsNyArMTI2LDkgQEAgc2V0KFdU
Rl9IRUFERVJTCiAgICAgdGV4dC9TdHJpbmdIYXNoLmgKICAgICB0ZXh0L1N0cmluZ0ltcGwuaAog
ICAgIHRleHQvU3RyaW5nVmlldy5oCisgICAgdGV4dC9TeW1ib2xJbXBsLmgKICAgICB0ZXh0L1N5
bWJvbFJlZ2lzdHJ5LmgKKyAgICB0ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgKICAgICB0ZXh0L1dU
RlN0cmluZy5oCiAKICAgICB0aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oCkBAIC0xODcsNiArMTg5
LDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgZHRvYS9zdHJ0b2QuY2MKIAogICAgIHRleHQvQXRv
bWljU3RyaW5nLmNwcAorICAgIHRleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAKICAgICB0ZXh0L0F0
b21pY1N0cmluZ1RhYmxlLmNwcAogICAgIHRleHQvQmFzZTY0LmNwcAogICAgIHRleHQvQ1N0cmlu
Zy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggOGQxMDdjNzMwZWFhYzM3MTVjOTI5
MGU1NzU1MzUyOWFkMzI5Mjk5NS4uZjYxMDYxOWIxODVkMzY3MGNlNzIxZjQ5YTAwMjZkZmRmZDc5
MDRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTExLDcgKzExLDcgQEAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKICAgICBtYWMvRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmku
bW0KICAgICBtYWMvTWFpblRocmVhZE1hYy5tbQogCi0gICAgdGV4dC9jZi9BdG9taWNTdHJpbmdD
Ri5jcHAKKyAgICB0ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0
cmluZ0NGLmNwcAogICAgIHRleHQvY2YvU3RyaW5nSW1wbENGLmNwcAogICAgIHRleHQvY2YvU3Ry
aW5nVmlld0NGLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21h
a2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCBmNzM3YjhjYWJjNWVm
OTRlODM0OGJmMzhmYmQ2ZWM3Nzc4ODhkYWE2Li45N2Y3Mzk5NWVkNDg5MmJjY2EwYmMwZmFhYzlj
OTUxMTg0NDNkZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFr
ZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMSw1ICsxLDUgQEAK
IGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCi0gICAgdGV4dC9jZi9BdG9taWNTdHJpbmdDRi5jcHAK
KyAgICB0ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0cmluZ0NG
LmNwcAogICAgIHRleHQvY2YvU3RyaW5nSW1wbENGLmNwcAogICAgIHRleHQvY2YvU3RyaW5nVmll
d0NGLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291
cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCmluZGV4IGJiN2QzOWRiOTE1ZDY0Nzk2ZmY0MmQ1
OTQ0YWFjMTc3NTc0ZDY2NGUuLjA2ODkzMWUzZjBhNzI3ZGQ0NTQ4N2E3ODRiNTczMTUyNTg4ZjI5
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
PHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJl
YW0uaCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKaW5kZXggZTgxNTM0OTRmOGJmYjI2
OGY4MGE1ZmRmMGEwNzNjNThhY2M3ODE2MC4uZThiYmE2MzRiMTY0Y2QzYzJlNWVlODhhNDhhZDRi
NzBkNmUxODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oCkBAIC0zOCw2ICszOCw3IEBACiBjbGFzcyBD
U3RyaW5nOwogY2xhc3MgU3RyaW5nOwogY2xhc3MgU3RyaW5nSW1wbDsKK2NsYXNzIFVuaXF1ZWRT
dHJpbmdJbXBsOwogCiBjbGFzcyBQcmludFN0cmVhbSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7IFdURl9NQUtFX05PTkNPUFlBQkxFKFByaW50U3RyZWFtKTsKQEAgLTcxLDExICs3Miwx
MyBAQCBjbGFzcyBQcmludFN0cmVhbSB7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludElu
dGVybmFsKFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nSW1wbCopOwogaW5s
aW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0
cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFs
KG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBpbmxpbmUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNoYXIqIHZhbHVlKSB7IHByaW50
SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4odmFsdWUpKTsgfQogaW5saW5l
IHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBDU3RyaW5nJiB2YWx1ZSkgeyBw
cmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgQ1N0cmluZyY+KHZhbHVlKSk7IH0K
IGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgU3RyaW5nJiB2YWx1
ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5nJj4odmFsdWUp
KTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBTdHJpbmdJ
bXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5n
SW1wbCo+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0m
IG91dCwgQXRvbWljU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0YXRp
Y19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBw
cmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkg
eyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgVW5pcXVlZFN0cmluZ0ltcGwq
Pih2YWx1ZSkpOyB9CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50
U3RyZWFtJiwgYm9vbCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFBy
aW50U3RyZWFtJiwgc2lnbmVkIGNoYXIpOyAvLyBOT1RFOiB0aGlzIHByaW50cyBhcyBhIG51bWJl
ciwgbm90IGFzIGEgY2hhcmFjdGVyOyB1c2UgQ2hhcmFjdGVyRHVtcCBpZiB5b3Ugd2FudCB0aGUg
Y2hhcmFjdGVyCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiwgdW5zaWduZWQgY2hhcik7IC8vIE5PVEU6IHNlZSBhYm92ZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
QXRvbWljU3RyaW5nLmNwcAppbmRleCA1YWI0ZTFlYjdkYmVkYTZlYTM3MzVkNTRkMmM1MDY3ODUy
NzMyODQ3Li4wYzQyZTVjNmMyYjBlMzljMTg4OGRlZGNlODQ3NWI4NDhiNzllMTE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCkBAIC0yMywxNCArMjMsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgogCi0jaW5jbHVkZSAiQXRvbWlj
U3RyaW5nVGFibGUuaCIKLSNpbmNsdWRlICJIYXNoU2V0LmgiCiAjaW5jbHVkZSAiSW50ZWdlclRv
U3RyaW5nQ29udmVyc2lvbi5oIgotI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLSNpbmNsdWRlICJU
aHJlYWRpbmcuaCIKLSNpbmNsdWRlICJXVEZUaHJlYWREYXRhLmgiCiAjaW5jbHVkZSAiZHRvYS5o
IgotI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VURjguaD4KIAogI2lmIFVTRShXRUJfVEhSRUFEKQog
I2luY2x1ZGUgIlNwaW5Mb2NrLmgiCkBAIC0zOCw0MjQgKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdU
RiB7CiAKLXVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwotCi1zdGF0aWNfYXNzZXJ0KHNpemVvZihB
dG9taWNTdHJpbmcpID09IHNpemVvZihTdHJpbmcpLCAiQXRvbWljU3RyaW5nIGFuZCBTdHJpbmcg
bXVzdCBiZSBzYW1lIHNpemUhIik7Ci0KLSNpZiBVU0UoV0VCX1RIUkVBRCkKLQotY2xhc3MgQXRv
bWljU3RyaW5nVGFibGVMb2NrZXIgOiBwdWJsaWMgU3BpbkxvY2tIb2xkZXIgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKTsKLQotICAgIHN0YXRpYyBT
dGF0aWNTcGluTG9jayBzX3N0cmluZ1RhYmxlTG9jazsKLXB1YmxpYzoKLSAgICBBdG9taWNTdHJp
bmdUYWJsZUxvY2tlcigpCi0gICAgICAgIDogU3BpbkxvY2tIb2xkZXIoJnNfc3RyaW5nVGFibGVM
b2NrKQotICAgIHsKLSAgICB9Ci19OwotCi1TdGF0aWNTcGluTG9jayBBdG9taWNTdHJpbmdUYWJs
ZUxvY2tlcjo6c19zdHJpbmdUYWJsZUxvY2s7Ci0KLSNlbHNlCi0KLWNsYXNzIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNTdHJpbmdUYWJs
ZUxvY2tlcik7Ci1wdWJsaWM6Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIoKSB7IH0KLX07
Ci0KLSNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKLQotc3RhdGljIEFMV0FZU19JTkxJTkUgSGFz
aFNldDxTdHJpbmdJbXBsKj4mIHN0cmluZ1RhYmxlKCkKLXsKLSAgICByZXR1cm4gd3RmVGhyZWFk
RGF0YSgpLmF0b21pY1N0cmluZ1RhYmxlKCktPnRhYmxlKCk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yPgotc3RhdGljIGlubGluZSBSZWY8U3RyaW5n
SW1wbD4gYWRkVG9TdHJpbmdUYWJsZShjb25zdCBUJiB2YWx1ZSkKLXsKLSAgICBBdG9taWNTdHJp
bmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0KLSAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPjo6QWRkUmVz
dWx0IGFkZFJlc3VsdCA9IHN0cmluZ1RhYmxlKCkuYWRkPEhhc2hUcmFuc2xhdG9yPih2YWx1ZSk7
Ci0KLSAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIG5ld2x5LXRyYW5zbGF0ZWQsIHRoZW4gd2UgbmVl
ZCB0byBhZG9wdCBpdC4KLSAgICAvLyBUaGUgYm9vbGVhbiBpbiB0aGUgcGFpciB0ZWxscyB1cyBp
ZiB0aGF0IGlzIHNvLgotICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCoqYWRkUmVzdWx0Lml0ZXJhdG9yKTsKLSAgICByZXR1cm4gKiphZGRSZXN1
bHQuaXRlcmF0b3I7Ci19Ci0KLXN0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7Ci0gICAgc3RhdGlj
IHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXIqIGMpCi0gICAgewotICAgICAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgaW5saW5lIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENoYXIqIHMpCi0g
ICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChyLCBzKTsKLSAgICB9Ci0KLSAgICBzdGF0
aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBMQ2hhciogY29u
c3QmIGMsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJ
bXBsOjpjcmVhdGUoYykubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNo
KTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLVJl
ZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogYykKLXsKLSAg
ICBpZiAoIWMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmICghKmMpCi0gICAgICAg
IHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotCi0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFi
bGU8Y29uc3QgTENoYXIqLCBDU3RyaW5nVHJhbnNsYXRvcj4oYyk7Ci19Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsK
LSAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzOwotICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0K
LXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKLXN0
cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFVDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7Ci0gICAgfQot
Ci0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNo
YXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVm
LnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJp
bmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gp
Ci0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3Nz
aWJsZShidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0
SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0K
LX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaEFuZENo
YXJhY3RlcnMgewotICAgIHVuc2lnbmVkIGhhc2g7Ci0gICAgY29uc3QgQ2hhcmFjdGVyVHlwZSog
Y2hhcmFjdGVyczsKLSAgICB1bnNpZ25lZCBsZW5ndGg7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgotc3RydWN0IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7Ci0g
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVy
VHlwZT4mIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJp
bmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIubGVuZ3RoKSk7Ci0gICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsKLSAgICB9Ci0KLSAg
ICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNo
QW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlv
biwgY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWdu
ZWQgaGFzaCkKLSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShi
dWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2Nh
dGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUp
OwotICAgIH0KLX07Ci0KLXN0cnVjdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMgewotICAgIHVuc2ln
bmVkIGhhc2g7Ci0gICAgY29uc3QgY2hhciogY2hhcmFjdGVyczsKLSAgICB1bnNpZ25lZCBsZW5n
dGg7Ci0gICAgdW5zaWduZWQgdXRmMTZMZW5ndGg7Ci19OwotCi1zdHJ1Y3QgSGFzaEFuZFVURjhD
aGFyYWN0ZXJzVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFz
aEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYnVmZmVy
Lmhhc2g7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3Qm
IHN0cmluZywgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCi0gICAgewotICAg
ICAgICBpZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkg
QVNDSUkgY2hhcmFjdGVycyBVVEYtOCBhbmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KLSAg
ICAgICAgaWYgKGJ1ZmZlci51dGYxNkxlbmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7Ci0gICAgICAg
ICAgICBpZiAoc3RyaW5nLT5pczhCaXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxM
YXRpbjFXaXRoVVRGOChzdHJpbmctPmNoYXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOwotCi0gICAgICAgICAgICByZXR1cm4g
ZXF1YWxVVEYxNldpdGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0
ZXJzLCBidWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKHN0cmluZy0+aXM4Qml0KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IExDaGFyKiBz
dHJpbmdDaGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzOCgpOwotCi0gICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKGlzQVNDSUkoYnVmZmVyLmNoYXJhY3RlcnNbaV0pKTsKLSAgICAgICAgICAg
ICAgICBpZiAoc3RyaW5nQ2hhcmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IFVDaGFyKiBzdHJp
bmdDaGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKTsKLQotICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBBU1NF
UlQoaXNBU0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOwotICAgICAgICAgICAgaWYgKHN0cmlu
Z0NoYXJhY3RlcnNbaV0gIT0gYnVmZmVyLmNoYXJhY3RlcnNbaV0pCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
Ci0gICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3Qg
SGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAg
ICAgICBVQ2hhciogdGFyZ2V0OwotICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5n
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRh
cmdldCk7Ci0KLSAgICAgICAgYm9vbCBpc0FsbEFTQ0lJOwotICAgICAgICBjb25zdCBjaGFyKiBz
b3VyY2UgPSBidWZmZXIuY2hhcmFjdGVyczsKLSAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYx
Nigmc291cmNlLCBzb3VyY2UgKyBidWZmZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZm
ZXIudXRmMTZMZW5ndGgsICZpc0FsbEFTQ0lJKSAhPSBjb252ZXJzaW9uT0spCi0gICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgICAgICBpZiAoaXNBbGxBU0NJSSkKLSAgICAg
ICAgICAgIG5ld1N0cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywg
YnVmZmVyLmxlbmd0aCk7Ci0KLSAgICAgICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgp
LmxlYWtSZWYoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7Ci0gICAgICAgIGxv
Y2F0aW9uLT5zZXRJc0F0b21pYyh0cnVlKTsKLSAgICB9Ci19OwotCi1SZWZQdHI8U3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nOjphZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkKLXsK
LSAgICBpZiAoIXMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKCFsZW5ndGgp
Ci0gICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotICAgIAotICAgIFVDaGFyQnVm
ZmVyIGJ1ZmZlciA9IHsgcywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8
VUNoYXJCdWZmZXIsIFVDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKLX0KLQotUmVmPFN0
cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5n
dGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkKLXsKLSAgICBBU1NFUlQocyk7Ci0gICAgQVNTRVJU
KGV4aXN0aW5nSGFzaCk7Ci0KLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuICpTdHJp
bmdJbXBsOjplbXB0eSgpOwotCi0gICAgSGFzaEFuZENoYXJhY3RlcnM8VUNoYXI+IGJ1ZmZlciA9
IHsgZXhpc3RpbmdIYXNoLCBzLCBsZW5ndGggfTsKLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJs
ZTxIYXNoQW5kQ2hhcmFjdGVyczxVQ2hhcj4sIEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjxV
Q2hhcj4+KGJ1ZmZlcik7Ci19Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFk
ZChjb25zdCBVQ2hhciogcykKLXsKLSAgICBpZiAoIXMpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKLSAgICB3aGlsZSAoc1tsZW5ndGhdICE9IFVD
aGFyKDApKQotICAgICAgICArK2xlbmd0aDsKLQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICBy
ZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsg
cywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8VUNoYXJCdWZmZXIsIFVD
aGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKLX0KLQotc3RydWN0IFN1YnN0cmluZ0xvY2F0
aW9uIHsKLSAgICBTdHJpbmdJbXBsKiBiYXNlU3RyaW5nOwotICAgIHVuc2lnbmVkIHN0YXJ0Owot
ICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yIHsK
LSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBT
dWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVyLCB1bnNpZ25lZCBoYXNoKQotICAgIHsKLSAgICAgICAg
bG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0ltcGwoYnVmZmVy
LmJhc2VTdHJpbmcsIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAg
ICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRv
bWljKHRydWUpOwotICAgIH0KLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOCA6IFN1
YnN0cmluZ1RyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0
cmluZ0xvY2F0aW9uJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVy
czgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGlj
IGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgU3Vic3RyaW5nTG9j
YXRpb24mIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0cmluZywg
YnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnM4KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5s
ZW5ndGgpOwotICAgIH0KLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yMTYgOiBTdWJz
dHJpbmdUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTdWJzdHJp
bmdMb2NhdGlvbiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6
Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnMx
NigpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMg
Ym9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdMb2Nh
dGlvbiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBi
dWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczE2KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5s
ZW5ndGgpOwotICAgIH0KLX07Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFk
ZChTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3Ro
KQotewotICAgIGlmICghYmFzZVN0cmluZykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAg
ICBpZiAoIWxlbmd0aCB8fCBzdGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgoKSkKLSAgICAgICAg
cmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0KLSAgICB1bnNpZ25lZCBtYXhMZW5ndGggPSBi
YXNlU3RyaW5nLT5sZW5ndGgoKSAtIHN0YXJ0OwotICAgIGlmIChsZW5ndGggPj0gbWF4TGVuZ3Ro
KSB7Ci0gICAgICAgIGlmICghc3RhcnQpCi0gICAgICAgICAgICByZXR1cm4gYWRkKGJhc2VTdHJp
bmcpOwotICAgICAgICBsZW5ndGggPSBtYXhMZW5ndGg7Ci0gICAgfQotCi0gICAgU3Vic3RyaW5n
TG9jYXRpb24gYnVmZmVyID0geyBiYXNlU3RyaW5nLCBzdGFydCwgbGVuZ3RoIH07Ci0gICAgaWYg
KGJhc2VTdHJpbmctPmlzOEJpdCgpKQotICAgICAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxT
dWJzdHJpbmdMb2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRvcjg+KGJ1ZmZlcik7Ci0gICAgcmV0
dXJuIGFkZFRvU3RyaW5nVGFibGU8U3Vic3RyaW5nTG9jYXRpb24sIFN1YnN0cmluZ1RyYW5zbGF0
b3IxNj4oYnVmZmVyKTsKLX0KLSAgICAKLXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVy
PExDaGFyPiBMQ2hhckJ1ZmZlcjsKLXN0cnVjdCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewotICAg
IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IExDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAg
ICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYu
cywgYnVmLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1w
bCogY29uc3QmIHN0ciwgY29uc3QgTENoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0
YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IExDaGFyQnVm
ZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJp
bmdJbXBsOjpjcmVhdGUoYnVmLnMsIGJ1Zi5sZW5ndGgpLmxlYWtSZWYoKTsKLSAgICAgICAgbG9j
YXRpb24tPnNldEhhc2goaGFzaCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0b21pYyh0cnVl
KTsKLSAgICB9Ci19OwotCi10eXBlZGVmIEhhc2hUcmFuc2xhdG9yQ2hhckJ1ZmZlcjxjaGFyPiBD
aGFyQnVmZmVyOwotc3RydWN0IENoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yIHsK
LSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDaGFyQnVmZmVyJiBidWYpCi0gICAgewot
ICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYnVmLnMpLCBidWYubGVuZ3RoKTsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBD
aGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHIsIGJ1
Zi5zLCBidWYubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3Ry
aW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gp
Ci0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJh
bChidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFz
aChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07
Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogcywg
dW5zaWduZWQgbGVuZ3RoKQotewotICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7
Ci0KLSAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IHMsIGxlbmd0aCB9OwotICAgIHJldHVybiBh
ZGRUb1N0cmluZ1RhYmxlPExDaGFyQnVmZmVyLCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZl
cik7Ci19Ci0KLVJlZjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZEZyb21MaXRlcmFsRGF0
YShjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi17Ci0gICAgQVNTRVJU
KGNoYXJhY3RlcnMpOwotICAgIEFTU0VSVChsZW5ndGgpOwotCi0gICAgQ2hhckJ1ZmZlciBidWZm
ZXIgPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9OwotICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxl
PENoYXJCdWZmZXIsIENoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yPihidWZmZXIp
OwotfQotCi1SZWY8U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZShTdHJpbmdJ
bXBsJiBzdHJpbmcpCi17Ci0gICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biAqU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewot
ICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3Ry
aW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRk
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91
bGQgbm90IGhpdCB0aGUgc2xvdyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMu
Iik7Ci0KLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRS
ZXN1bHQgPSBzdHJpbmdUYWJsZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRSZXN1bHQu
aXNOZXdFbnRyeSkgewotICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3Ry
aW5nKTsKLSAgICAgICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQotICAgIHJl
dHVybiAqKmFkZFJlc3VsdC5pdGVyYXRvcjsKLX0KLQotUmVmPFN0cmluZ0ltcGw+IEF0b21pY1N0
cmluZzo6YWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJ
bXBsJiBzdHJpbmcpCi17Ci0gICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biAqU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewot
ICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3Ry
aW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRk
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91
bGQgbm90IGhpdCB0aGUgc2xvdyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMu
Iik7Ci0KLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRS
ZXN1bHQgPSBzdHJpbmdUYWJsZS50YWJsZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRS
ZXN1bHQuaXNOZXdFbnRyeSkgewotICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9
PSAmc3RyaW5nKTsKLSAgICAgICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQot
ICAgIHJldHVybiAqKmFkZFJlc3VsdC5pdGVyYXRvcjsKLX0KLQotdm9pZCBBdG9taWNTdHJpbmc6
OnJlbW92ZShTdHJpbmdJbXBsKiBzdHJpbmcpCi17Ci0gICAgQVNTRVJUKHN0cmluZy0+aXNBdG9t
aWMoKSk7Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOwotICAgIEhhc2hTZXQ8
U3RyaW5nSW1wbCo+JiBhdG9taWNTdHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7Ci0gICAgSGFz
aFNldDxTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGl0ZXJhdG9yID0gYXRvbWljU3RyaW5nVGFibGUu
ZmluZChzdHJpbmcpOwotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoaXRlcmF0b3IgIT0gYXRvbWlj
U3RyaW5nVGFibGUuZW5kKCksICJUaGUgc3RyaW5nIGJlaW5nIHJlbW92ZWQgaXMgYXRvbWljIGlu
IHRoZSBzdHJpbmcgdGFibGUgb2YgYW4gb3RoZXIgdGhyZWFkISIpOwotICAgIGF0b21pY1N0cmlu
Z1RhYmxlLnJlbW92ZShpdGVyYXRvcik7Ci19Ci0KIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6
Omxvd2VyKCkgY29uc3QKIHsKICAgICAvLyBOb3RlOiBUaGlzIGlzIGEgaG90IGZ1bmN0aW9uIGlu
IHRoZSBEcm9tYWVvIGJlbmNobWFyay4KQEAgLTQ2OCw3ICs0NCw3IEBAIEF0b21pY1N0cmluZyBB
dG9taWNTdHJpbmc6Omxvd2VyKCkgY29uc3QKICAgICAgICAgcmV0dXJuICp0aGlzOwogCiAgICAg
QXRvbWljU3RyaW5nIHJlc3VsdDsKLSAgICByZXN1bHQubV9zdHJpbmcgPSBhZGRTbG93Q2FzZSgq
bG93ZXJjYXNlZFN0cmluZyk7CisgICAgcmVzdWx0Lm1fc3RyaW5nID0gQXRvbWljU3RyaW5nSW1w
bDo6YWRkKGxvd2VyY2FzZWRTdHJpbmcuZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
QEAgLTUwNyw0NSArODMsMTAgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6Y29udmVydFRv
QVNDSUlMb3dlcmNhc2UoKSBjb25zdAogICAgICAgICByZXR1cm4gKnRoaXM7CiAKICAgICBBdG9t
aWNTdHJpbmcgcmVzdWx0OwotICAgIHJlc3VsdC5tX3N0cmluZyA9IGFkZFNsb3dDYXNlKCpjb252
ZXJ0ZWRTdHJpbmcpOworICAgIHJlc3VsdC5tX3N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6OmFk
ZChjb252ZXJ0ZWRTdHJpbmcuZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUF0b21p
Y1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZzo6ZmluZFNsb3dDYXNlKFN0cmluZ0ltcGwmIHN0cmlu
ZykKLXsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21p
Y1N0cmluZ0ltcGxzIHNob3VsZCByZXR1cm4gZnJvbSB0aGUgZmFzdCBjYXNlLiIpOwotCi0gICAg
aWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNT
dHJpbmdJbXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7Ci0KLSAgICBpZiAoc3RyaW5nLmlzU3lt
Ym9sKCkpIHsKLSAgICAgICAgaWYgKHN0cmluZy5pczhCaXQoKSkKLSAgICAgICAgICAgIHJldHVy
biBmaW5kSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0g
ICAgICAgIHJldHVybiBmaW5kSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcu
bGVuZ3RoKCkpOwotICAgIH0KLQotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsK
LSAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgYXRvbWljU3RyaW5nVGFibGUgPSBzdHJpbmdUYWJs
ZSgpOwotICAgIGF1dG8gaXRlcmF0b3IgPSBhdG9taWNTdHJpbmdUYWJsZS5maW5kKCZzdHJpbmcp
OwotICAgIGlmIChpdGVyYXRvciAhPSBhdG9taWNTdHJpbmdUYWJsZS5lbmQoKSkKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOwotICAgIHJl
dHVybiBudWxscHRyOwotfQotCi1BdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOElu
dGVybmFsKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVy
c0VuZCkKLXsKLSAgICBIYXNoQW5kVVRGOENoYXJhY3RlcnMgYnVmZmVyOwotICAgIGJ1ZmZlci5j
aGFyYWN0ZXJzID0gY2hhcmFjdGVyc1N0YXJ0OwotICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRl
U3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4TWFza2luZ1RvcDhCaXRzKGNoYXJhY3RlcnNTdGFy
dCwgY2hhcmFjdGVyc0VuZCwgYnVmZmVyLmxlbmd0aCwgYnVmZmVyLnV0ZjE2TGVuZ3RoKTsKLQot
ICAgIGlmICghYnVmZmVyLmhhc2gpCi0gICAgICAgIHJldHVybiBudWxsQXRvbTsKLQotICAgIEF0
b21pY1N0cmluZyBhdG9taWNTdHJpbmc7Ci0gICAgYXRvbWljU3RyaW5nLm1fc3RyaW5nID0gYWRk
VG9TdHJpbmdUYWJsZTxIYXNoQW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4Q2hhcmFjdGVy
c1RyYW5zbGF0b3I+KGJ1ZmZlcik7Ci0gICAgcmV0dXJuIGF0b21pY1N0cmluZzsKLX0KLQogQXRv
bWljU3RyaW5nIEF0b21pY1N0cmluZzo6bnVtYmVyKGludCBudW1iZXIpCiB7CiAgICAgcmV0dXJu
IG51bWJlclRvU3RyaW5nU2lnbmVkPEF0b21pY1N0cmluZz4obnVtYmVyKTsKQEAgLTU2MiwzNyAr
MTAzLDE0IEBAIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcihkb3VibGUgbnVtYmVy
KQogICAgIHJldHVybiBTdHJpbmcobnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZyhudW1iZXIs
IDYsIGJ1ZmZlciwgdHJ1ZSkpOwogfQogCi1BdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmc6
OmZpbmRJbnRlcm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQot
ewotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvJiB0YWJsZSA9
IHN0cmluZ1RhYmxlKCk7Ci0KLSAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMs
IGxlbmd0aCB9OwotICAgIGF1dG8gaXRlcmF0b3IgPSB0YWJsZS5maW5kPExDaGFyQnVmZmVyVHJh
bnNsYXRvcj4oYnVmZmVyKTsKLSAgICBpZiAoaXRlcmF0b3IgIT0gdGFibGUuZW5kKCkpCi0gICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKml0ZXJhdG9yKTsKLSAg
ICByZXR1cm4gbnVsbHB0cjsKLX0KLQotQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nOjpm
aW5kSW50ZXJuYWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLXsK
LSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byYgdGFibGUgPSBz
dHJpbmdUYWJsZSgpOwotCi0gICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBs
ZW5ndGggfTsKLSAgICBhdXRvIGl0ZXJhdG9yID0gdGFibGUuZmluZDxVQ2hhckJ1ZmZlclRyYW5z
bGF0b3I+KGJ1ZmZlcik7Ci0gICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQotICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7Ci0gICAg
cmV0dXJuIG51bGxwdHI7Ci19Ci0KLSNpZiAhQVNTRVJUX0RJU0FCTEVECi1ib29sIEF0b21pY1N0
cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKFN0cmluZ0ltcGwqIHN0cmluZykKK0F0b21pY1N0
cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciogY2hhcmFjdGVy
c1N0YXJ0LCBjb25zdCBjaGFyKiBjaGFyYWN0ZXJzRW5kKQogewotICAgIEF0b21pY1N0cmluZ1Rh
YmxlTG9ja2VyIGxvY2tlcjsKLSAgICByZXR1cm4gc3RyaW5nVGFibGUoKS5jb250YWlucyhzdHJp
bmcpOworICAgIGlmIChSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gaW1wbCA9IEF0b21pY1N0cmlu
Z0ltcGw6OmFkZEZyb21VVEY4KGNoYXJhY3RlcnNTdGFydCwgY2hhcmFjdGVyc0VuZCkpIHsKKyAg
ICAgICAgQXRvbWljU3RyaW5nIGF0b21pY1N0cmluZyhpbXBsLmdldCgpKTsKKyAgICAgICAgcmV0
dXJuIGF0b21pY1N0cmluZzsKKyAgICB9CisgICAgcmV0dXJuIG51bGxBdG9tOwogfQotI2VuZGlm
CiAKICNpZm5kZWYgTkRFQlVHCiB2b2lkIEF0b21pY1N0cmluZzo6c2hvdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9taWNTdHJpbmcuaAppbmRleCBjYmZkYzg5NDczMDhlNzIwODI3YTc5YjUxODY1
NjhlY2M1NTM4MTUyLi5jNGZiNjgyNWFhMTZlNmNjMWU5NDdjY2UxNGI5OTk3OTA0NTlhMGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLWNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogc3RydWN0IEF0b21pY1N0cmlu
Z0hhc2g7CiAKIGNsYXNzIEF0b21pY1N0cmluZyB7CkBAIC00MywzMyArNDIsMzUgQEAgY2xhc3Mg
QXRvbWljU3RyaW5nIHsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdCgp
OwogCiAgICAgQXRvbWljU3RyaW5nKCkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFy
KiBzKSA6IG1fc3RyaW5nKGFkZChzKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIq
IHMpIDogbV9zdHJpbmcoYWRkKHMpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIq
IHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQocywgbGVuZ3RoKSkgeyB9Ci0gICAg
QXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmco
YWRkKHMsIGxlbmd0aCkpIHsgfQotICAgIEF0b21pY1N0cmluZyhjb25zdCBVQ2hhciogcywgdW5z
aWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJpbmcoYWRkKHMsIGxl
bmd0aCwgZXhpc3RpbmdIYXNoKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBz
KSA6IG1fc3RyaW5nKGFkZChzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFyKiBz
KSA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CisgICAgQXRvbWljU3Ry
aW5nKGNvbnN0IGNoYXIqIHMpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKSB7
IH0KKyAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBt
X3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQocywgbGVuZ3RoKSkgeyB9CisgICAgQXRvbWlj
U3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbDo6YWRkKHMsIGxlbmd0aCkpIHsgfQorICAgIEF0b21pY1N0cmluZyhjb25zdCBV
Q2hhciogcywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJp
bmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMsIGxlbmd0aCwgZXhpc3RpbmdIYXNoKSkgeyB9Cisg
ICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzKSA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0lt
cGw6OmFkZChzKSkgeyB9CiAKICAgICB0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAg
ICAgZXhwbGljaXQgQXRvbWljU3RyaW5nKGNvbnN0IFZlY3RvcjxVQ2hhciwgaW5saW5lQ2FwYWNp
dHk+JiBjaGFyYWN0ZXJzKQotICAgICAgICA6IG1fc3RyaW5nKGFkZChjaGFyYWN0ZXJzLmRhdGEo
KSwgY2hhcmFjdGVycy5zaXplKCkpKQorICAgICAgICA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0lt
cGw6OmFkZChjaGFyYWN0ZXJzLmRhdGEoKSwgY2hhcmFjdGVycy5zaXplKCkpKQogICAgIHsKICAg
ICB9CiAKLSAgICBBVE9NSUNTVFJJTkdfQ09OVkVSU0lPTiBBdG9taWNTdHJpbmcoU3RyaW5nSW1w
bCogaW1wKSA6IG1fc3RyaW5nKGFkZChpbXApKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbCogaW1wKSA6IG1fc3RyaW5nKGltcCkgeyB9Ci0gICAgQVRPTUlDU1RSSU5HX0NP
TlZFUlNJT04gQXRvbWljU3RyaW5nKGNvbnN0IFN0cmluZyYgcykgOiBtX3N0cmluZyhhZGQocy5p
bXBsKCkpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0cmluZywgdW5z
aWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQoYmFzZVN0cmluZywg
c3RhcnQsIGxlbmd0aCkpIHsgfQorICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0
cmluZyhTdHJpbmdJbXBsKiBpbXApIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGlt
cCkpIHsgfQorICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhjb25zdCBT
dHJpbmcmIHMpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMuaW1wbCgpKSkgeyB9
CisgICAgQXRvbWljU3RyaW5nKFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGJhc2VT
dHJpbmcsIHN0YXJ0LCBsZW5ndGgpKSB7IH0KKworICAgIC8vIEZJWE1FOiBBdG9taWNTdHJpbmcg
bWF5IGhhdmUgZWl0aGVyIFN5bWJvbEltcGwgb3IgQXRvbWljU3RyaW5nSW1wbC4KKyAgICBBdG9t
aWNTdHJpbmcoVW5pcXVlZFN0cmluZ0ltcGwqIGltcCkgOiBtX3N0cmluZyhpbXApIHsgfQogCiAg
ICAgZW51bSBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVjdEZyb21MaXRlcmFsIH07
CiAgICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxp
dGVyYWxEYXRhKGNoYXJhY3RlcnMsIGxlbmd0aCkpCisgICAgICAgIDogbV9zdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbDo6YWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGxlbmd0aCkpCiAgICAg
ewogICAgIH0KIAogICAgIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KICAgICBB
TFdBWVNfSU5MSU5FIEF0b21pY1N0cmluZyhjb25zdCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFj
dGVyc0NvdW50XSwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmco
YWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGNoYXJhY3RlcnNDb3VudCAtIDEpKQorICAg
ICAgICA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YShjaGFy
YWN0ZXJzLCBjaGFyYWN0ZXJzQ291bnQgLSAxKSkKICAgICB7CiAgICAgICAgIENPTVBJTEVfQVNT
RVJUKGNoYXJhY3RlcnNDb3VudCA+IDEsIEF0b21pY1N0cmluZ0Zyb21MaXRlcmFsTm90RW1wdHkp
OwogICAgICAgICBDT01QSUxFX0FTU0VSVCgoY2hhcmFjdGVyc0NvdW50IC0gMSA8PSAoKHVuc2ln
bmVkKH4wKSAtIHNpemVvZihTdHJpbmdJbXBsKSkgLyBzaXplb2YoTENoYXIpKSksIEF0b21pY1N0
cmluZ0Zyb21MaXRlcmFsQ2Fubm90T3ZlcmZsb3cpOwpAQCAtODYsMjEgKzg3LDYgQEAgY2xhc3Mg
QXRvbWljU3RyaW5nIHsKICAgICBBdG9taWNTdHJpbmcoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKSA6IG1fc3RyaW5nKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKSB7IH0KICAgICBi
b29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcuaXNI
YXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQogCi0gICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwq
IGZpbmQoTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBmaW5kSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9Ci0gICAgc3Rh
dGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxl
bmd0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBmaW5kSW50ZXJuYWwoY2hhcmFjdGVycywgbGVu
Z3RoKTsKLSAgICB9Ci0gICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoU3RyaW5nSW1w
bCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21p
YygpKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihz
dHJpbmcpOwotICAgICAgICByZXR1cm4gZmluZFNsb3dDYXNlKCpzdHJpbmcpOwotICAgIH0KLQog
ICAgIG9wZXJhdG9yIGNvbnN0IFN0cmluZyYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZzsgfQog
ICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH07CiAK
QEAgLTExMCw3ICs5Niw3IEBAIGNsYXNzIEF0b21pY1N0cmluZyB7CiAgICAgY29uc3QgTENoYXIq
IGNoYXJhY3RlcnM4KCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcuY2hhcmFjdGVyczgoKTsgfQog
ICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzMTYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5j
aGFyYWN0ZXJzMTYoKTsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmxlbmd0aCgpOyB9Ci0gICAgCisKICAgICBVQ2hhciBvcGVyYXRvcltdKHVuc2lnbmVk
IGludCBpKSBjb25zdCB7IHJldHVybiBtX3N0cmluZ1tpXTsgfQogCiAgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgbnVtYmVyKGludCk7CkBAIC0xNjMsNyArMTQ5
LDcgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBtYXRjaExl
bmd0aD4KICAgICBib29sIGVuZHNXaXRoKGNvbnN0IGNoYXIgKCZwcmVmaXgpW21hdGNoTGVuZ3Ro
XSwgYm9vbCBjYXNlU2Vuc2l0aXZlID0gdHJ1ZSkgY29uc3QKICAgICAgICAgeyByZXR1cm4gbV9z
dHJpbmcuZW5kc1dpdGg8bWF0Y2hMZW5ndGg+KHByZWZpeCwgY2FzZVNlbnNpdGl2ZSk7IH0KLSAg
ICAKKwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBBdG9taWNTdHJpbmcgY29udmVydFRvQVND
SUlMb3dlcmNhc2UoKSBjb25zdDsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgQXRvbWljU3Ry
aW5nIGxvd2VyKCkgY29uc3Q7CiAgICAgQXRvbWljU3RyaW5nIHVwcGVyKCkgY29uc3QgeyByZXR1
cm4gQXRvbWljU3RyaW5nKGltcGwoKS0+dXBwZXIoKSk7IH0KQEAgLTE3NiwxMyArMTYyLDExIEBA
IGNsYXNzIEF0b21pY1N0cmluZyB7CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBt
X3N0cmluZy5pc051bGwoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmlzRW1wdHkoKTsgfQogCi0gICAgc3RhdGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwq
KTsKLSAgICAKICNpZiBVU0UoQ0YpCi0gICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDog
IG1fc3RyaW5nKGFkZChzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDog
IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CiAjZW5kaWYgICAgCiAjaWZk
ZWYgX19PQkpDX18KLSAgICBBdG9taWNTdHJpbmcoTlNTdHJpbmcqIHMpIDogbV9zdHJpbmcoYWRk
KChDRlN0cmluZ1JlZilzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKE5TU3RyaW5nKiBzKSA6IG1f
c3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZCgoQ0ZTdHJpbmdSZWYpcykpIHsgfQogICAgIG9w
ZXJhdG9yIE5TU3RyaW5nKigpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nOyB9CiAjZW5kaWYKIApA
QCAtMTk1LDcxICsxNzksMTcgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICB2b2lkIHNob3co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQ
dHI8U3RyaW5nSW1wbD4gYWRkKGNvbnN0IExDaGFyKik7Ci0gICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzKSB7IHJldHVybiBhZGQocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpKTsgfTsKLSAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFJlZlB0cjxTdHJpbmdJbXBsPiBhZGQoY29uc3QgTENoYXIqLCB1bnNpZ25l
ZCBsZW5ndGgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmlu
Z0ltcGw+IGFkZChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7Ci0gICAgQUxXQVlTX0lO
TElORSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzLCB1bnNpZ25l
ZCBsZW5ndGgpIHsgcmV0dXJuIGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyks
IGxlbmd0aCk7IH07Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5n
SW1wbD4gYWRkKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGlu
Z0hhc2gpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0lt
cGw+IGFkZChjb25zdCBVQ2hhciopOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMg
UmVmUHRyPFN0cmluZ0ltcGw+IGFkZChTdHJpbmdJbXBsKiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNp
Z25lZCBsZW5ndGgpOwotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxTdHJpbmdJbXBs
PiBhZGQoU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcpCi0g
ICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmcpOwot
ICAgIH0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBh
ZGRGcm9tTGl0ZXJhbERhdGEoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3Ro
KTsKLSNpZiBVU0UoQ0YpCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8
U3RyaW5nSW1wbD4gYWRkKENGU3RyaW5nUmVmKTsKLSNlbmRpZgotCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgU3RyaW5nVGFibGVQcm92aWRlcj4KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWZQ
dHI8U3RyaW5nSW1wbD4gYWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoU3RyaW5nVGFibGVQcm92
aWRlciYgc3RyaW5nVGFibGVQcm92aWRlciwgU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsKLSAg
ICAgICAgaWYgKCFzdHJpbmcpCi0gICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICBy
ZXR1cm4gYWRkKCpzdHJpbmdUYWJsZVByb3ZpZGVyLmF0b21pY1N0cmluZ1RhYmxlKCksICpzdHJp
bmcpOwotICAgIH0KLQotI2lmICFBU1NFUlRfRElTQUJMRUQKLSAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIGJvb2wgaXNJbkF0b21pY1N0cmluZ1RhYmxlKFN0cmluZ0ltcGwqKTsKLSNl
bmRpZgotCiBwcml2YXRlOgogICAgIC8vIFRoZSBleHBsaWNpdCBjb25zdHJ1Y3RvcnMgd2l0aCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsIG11c3QgYmUgdXNlZCBmb3IgbGl0ZXJh
bHMuCiAgICAgQXRvbWljU3RyaW5nKEFTQ0lJTGl0ZXJhbCk7CiAKLSAgICBTdHJpbmcgbV9zdHJp
bmc7Ci0KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKFN0cmlu
Z0ltcGwmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgewot
ICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5B
dG9taWNTdHJpbmdUYWJsZSgmc3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20g
YW4gb3RoZXIgdGhyZWFkISIpOwotICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nKTsKLSAgICB9Ci0KLSAgICBBTFdB
WVNfSU5MSU5FIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKEF0b21pY1N0cmluZ1RhYmxlJiBz
dHJpbmdUYWJsZSwgU3RyaW5nSW1wbCYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKHN0cmlu
Zy5pc0F0b21pYygpKSB7Ci0gICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcu
bGVuZ3RoKCkgfHwgaXNJbkF0b21pY1N0cmluZ1RhYmxlKCZzdHJpbmcpLCAiVGhlIGF0b21pYyBz
dHJpbmcgY29tZXMgZnJvbSBhbiBvdGhlciB0aHJlYWQhIik7Ci0gICAgICAgICAgICByZXR1cm4g
c3RyaW5nOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmdUYWJs
ZSwgc3RyaW5nKTsKLSAgICB9Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJl
ZjxTdHJpbmdJbXBsPiBhZGRTbG93Q2FzZShTdHJpbmdJbXBsJik7Ci0gICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5n
VGFibGUmLCBTdHJpbmdJbXBsJik7Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IEF0b21pY1N0cmluZ0ltcGwqIGZpbmRTbG93Q2FzZShTdHJpbmdJbXBsJik7CiAgICAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgZnJvbVVURjhJbnRlcm5hbChjb25z
dCBjaGFyKiwgY29uc3QgY2hhciopOwogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRp
YyBBdG9taWNTdHJpbmdJbXBsKiBmaW5kSW50ZXJuYWwoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBs
ZW5ndGgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5nSW1w
bCogZmluZEludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBTdHJp
bmcgbV9zdHJpbmc7CiB9OwogCitzdGF0aWNfYXNzZXJ0KHNpemVvZihBdG9taWNTdHJpbmcpID09
IHNpemVvZihTdHJpbmcpLCAiQXRvbWljU3RyaW5nIGFuZCBTdHJpbmcgbXVzdCBiZSBzYW1lIHNp
emUhIik7CisKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBj
b25zdCBBdG9taWNTdHJpbmcmIGIpIHsgcmV0dXJuIGEuaW1wbCgpID09IGIuaW1wbCgpOyB9CiBi
b29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgTENoYXIqKTsKIGlubGlu
ZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBjb25zdCBjaGFyKiBiKSB7
IHJldHVybiBXVEY6OmVxdWFsKGEuaW1wbCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFy
Kj4oYikpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0lt
cGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZTU0NTk0YjNlNzIzMTQ0MWQ4NWVhMjk1OWNkODNiOGJmYWI1NWYzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApAQCAtMCww
ICsxLDUyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCAyMDEzLTIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFBhdHJp
Y2sgR2Fuc3RlcmVyIDxwYXJvZ2FAcGFyb2dhLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1
c3VrZSBTdXp1a2k8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdG9taWNTdHJpbmdJbXBsLmgiCisK
KyNpbmNsdWRlICJBdG9taWNTdHJpbmdUYWJsZS5oIgorI2luY2x1ZGUgIkhhc2hTZXQuaCIKKyNp
bmNsdWRlICJJbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFz
aC5oIgorI2luY2x1ZGUgIlRocmVhZGluZy5oIgorI2luY2x1ZGUgIldURlRocmVhZERhdGEuaCIK
KyNpbmNsdWRlIDx3dGYvdW5pY29kZS9VVEY4Lmg+CisKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNp
bmNsdWRlICJTcGluTG9jay5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXVEYgeworCit1c2luZyBu
YW1lc3BhY2UgVW5pY29kZTsKKworI2lmIFVTRShXRUJfVEhSRUFEKQorCitjbGFzcyBBdG9taWNT
dHJpbmdUYWJsZUxvY2tlciA6IHB1YmxpYyBTcGluTG9ja0hvbGRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOworCisgICAgc3RhdGljIFN0YXRp
Y1NwaW5Mb2NrIHNfc3RyaW5nVGFibGVMb2NrOworcHVibGljOgorICAgIEF0b21pY1N0cmluZ1Rh
YmxlTG9ja2VyKCkKKyAgICAgICAgOiBTcGluTG9ja0hvbGRlcigmc19zdHJpbmdUYWJsZUxvY2sp
CisgICAgeworICAgIH0KK307CisKK1N0YXRpY1NwaW5Mb2NrIEF0b21pY1N0cmluZ1RhYmxlTG9j
a2VyOjpzX3N0cmluZ1RhYmxlTG9jazsKKworI2Vsc2UKKworY2xhc3MgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxlTG9j
a2VyKTsKK3B1YmxpYzoKKyAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcigpIHsgfQorfTsKKwor
I2VuZGlmIC8vIFVTRShXRUJfVEhSRUFEKQorCitzdGF0aWMgQUxXQVlTX0lOTElORSBIYXNoU2V0
PFN0cmluZ0ltcGwqPiYgc3RyaW5nVGFibGUoKQoreworICAgIHJldHVybiB3dGZUaHJlYWREYXRh
KCkuYXRvbWljU3RyaW5nVGFibGUoKS0+dGFibGUoKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgSGFzaFRyYW5zbGF0b3I+CitzdGF0aWMgaW5saW5lIFJlZjxBdG9taWNTdHJp
bmdJbXBsPiBhZGRUb1N0cmluZ1RhYmxlKGNvbnN0IFQmIHZhbHVlKQoreworICAgIEF0b21pY1N0
cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKKworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjpBZGRS
ZXN1bHQgYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQ8SGFzaFRyYW5zbGF0b3I+KHZhbHVl
KTsKKworICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgbmV3bHktdHJhbnNsYXRlZCwgdGhlbiB3ZSBu
ZWVkIHRvIGFkb3B0IGl0LgorICAgIC8vIFRoZSBib29sZWFuIGluIHRoZSBwYWlyIHRlbGxzIHVz
IGlmIHRoYXQgaXMgc28uCisgICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KQorICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCY+KCoqYWRkUmVzdWx0
Lml0ZXJhdG9yKSk7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4o
KmFkZFJlc3VsdC5pdGVyYXRvcik7Cit9CisKK3N0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXIqIGMpCisgICAgeworICAgICAgICBy
ZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENo
YXIqIHMpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChyLCBzKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBM
Q2hhciogY29uc3QmIGMsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBsb2NhdGlvbiA9
ICZTdHJpbmdJbXBsOjpjcmVhdGUoYykubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0
SGFzaChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0K
K307CisKK1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGQoY29u
c3QgTENoYXIqIGMpCit7CisgICAgaWYgKCFjKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAoISpjKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Y29u
c3QgTENoYXIqLCBDU3RyaW5nVHJhbnNsYXRvcj4oYyk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CitzdHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsKKyAgICBj
b25zdCBDaGFyYWN0ZXJUeXBlKiBzOworICAgIHVuc2lnbmVkIGxlbmd0aDsKK307CisKK3R5cGVk
ZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKK3N0cnVjdCBV
Q2hhckJ1ZmZlclRyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFVD
aGFyQnVmZmVyJiBidWYpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21w
dXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAg
c3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNoYXJCdWZm
ZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1
Zi5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBs
KiYgbG9jYXRpb24sIGNvbnN0IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCisgICAg
eworICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShi
dWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaCho
YXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisK
K3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdHJ1Y3QgSGFzaEFuZENoYXJhY3Rl
cnMgeworICAgIHVuc2lnbmVkIGhhc2g7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVyczsKKyAgICB1bnNpZ25lZCBsZW5ndGg7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgorc3RydWN0IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7CisgICAgc3Rh
dGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4m
IGJ1ZmZlcikKKyAgICB7CisgICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJpbmdIYXNo
ZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIu
bGVuZ3RoKSk7CisgICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsKKyAgICB9CisKKyAgICBzdGF0
aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNoQW5kQ2hh
cmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdU
Rjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29u
c3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWduZWQgaGFz
aCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIu
Y2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+
c2V0SGFzaChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAg
IH0KK307CisKK3N0cnVjdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMgeworICAgIHVuc2lnbmVkIGhh
c2g7CisgICAgY29uc3QgY2hhciogY2hhcmFjdGVyczsKKyAgICB1bnNpZ25lZCBsZW5ndGg7Cisg
ICAgdW5zaWduZWQgdXRmMTZMZW5ndGg7Cit9OworCitzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0
ZXJzVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZFVU
RjhDaGFyYWN0ZXJzJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gYnVmZmVyLmhhc2g7
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmlu
ZywgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCisgICAgeworICAgICAgICBp
ZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkgQVNDSUkg
Y2hhcmFjdGVycyBVVEYtOCBhbmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KKyAgICAgICAg
aWYgKGJ1ZmZlci51dGYxNkxlbmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7CisgICAgICAgICAgICBp
ZiAoc3RyaW5nLT5pczhCaXQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxMYXRpbjFX
aXRoVVRGOChzdHJpbmctPmNoYXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIu
Y2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOworCisgICAgICAgICAgICByZXR1cm4gZXF1YWxV
VEYxNldpdGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKHN0cmluZy0+aXM4Qml0KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IExDaGFyKiBzdHJpbmdD
aGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzOCgpOworCisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAg
QVNTRVJUKGlzQVNDSUkoYnVmZmVyLmNoYXJhY3RlcnNbaV0pKTsKKyAgICAgICAgICAgICAgICBp
ZiAoc3RyaW5nQ2hhcmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0IFVDaGFyKiBzdHJpbmdDaGFy
YWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXNB
U0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOworICAgICAgICAgICAgaWYgKHN0cmluZ0NoYXJh
Y3RlcnNbaV0gIT0gYnVmZmVyLmNoYXJhY3RlcnNbaV0pCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
c3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFu
ZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBV
Q2hhciogdGFyZ2V0OworICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gU3Ry
aW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRhcmdldCk7
CisKKyAgICAgICAgYm9vbCBpc0FsbEFTQ0lJOworICAgICAgICBjb25zdCBjaGFyKiBzb3VyY2Ug
PSBidWZmZXIuY2hhcmFjdGVyczsKKyAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYxNigmc291
cmNlLCBzb3VyY2UgKyBidWZmZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZmZXIudXRm
MTZMZW5ndGgsICZpc0FsbEFTQ0lJKSAhPSBjb252ZXJzaW9uT0spCisgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKworICAgICAgICBpZiAoaXNBbGxBU0NJSSkKKyAgICAgICAgICAg
IG5ld1N0cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywgYnVmZmVy
Lmxlbmd0aCk7CisKKyAgICAgICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgpLmxlYWtS
ZWYoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7CisgICAgICAgIGxvY2F0aW9u
LT5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9Cit9OworCitSZWZQdHI8QXRvbWljU3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgp
Cit7CisgICAgaWYgKCFzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghbGVu
Z3RoKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmlu
Z0ltcGw6OmVtcHR5KCkpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBzLCBsZW5ndGgg
fTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwgVUNoYXJCdWZmZXJU
cmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3Ry
aW5nSW1wbDo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4
aXN0aW5nSGFzaCkKK3sKKyAgICBBU1NFUlQocyk7CisgICAgQVNTRVJUKGV4aXN0aW5nSGFzaCk7
CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNT
dHJpbmdJbXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKKyAgICBIYXNoQW5kQ2hhcmFjdGVy
czxVQ2hhcj4gYnVmZmVyID0geyBleGlzdGluZ0hhc2gsIHMsIGxlbmd0aCB9OworICAgIHJldHVy
biBhZGRUb1N0cmluZ1RhYmxlPEhhc2hBbmRDaGFyYWN0ZXJzPFVDaGFyPiwgSGFzaEFuZENoYXJh
Y3RlcnNUcmFuc2xhdG9yPFVDaGFyPj4oYnVmZmVyKTsKK30KKworUmVmUHRyPEF0b21pY1N0cmlu
Z0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb25zdCBVQ2hhciogcykKK3sKKyAgICBpZiAo
IXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgdW5zaWduZWQgbGVuZ3RoID0gMDsK
KyAgICB3aGlsZSAoc1tsZW5ndGhdICE9IFVDaGFyKDApKQorICAgICAgICArK2xlbmd0aDsKKwor
ICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5n
SW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0g
eyBzLCBsZW5ndGggfTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwg
VUNoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitzdHJ1Y3QgU3Vic3RyaW5nTG9j
YXRpb24geworICAgIFN0cmluZ0ltcGwqIGJhc2VTdHJpbmc7CisgICAgdW5zaWduZWQgc3RhcnQ7
CisgICAgdW5zaWduZWQgbGVuZ3RoOworfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3Ig
eworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0
IFN1YnN0cmluZ0xvY2F0aW9uJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAg
ICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVTdWJzdHJpbmdTaGFyaW5nSW1wbChidWZm
ZXIuYmFzZVN0cmluZywgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7Cisg
ICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNB
dG9taWModHJ1ZSk7CisgICAgfQorfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3I4IDog
U3Vic3RyaW5nVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgU3Vi
c3RyaW5nTG9jYXRpb24mIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNo
ZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0
ZXJzOCgpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdM
b2NhdGlvbiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5n
LCBidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVy
Lmxlbmd0aCk7CisgICAgfQorfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3IxNiA6IFN1
YnN0cmluZ1RyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0
cmluZ0xvY2F0aW9uJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVy
czE2KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IFN1YnN0cmluZ0xv
Y2F0aW9uJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcs
IGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJzMTYoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVy
Lmxlbmd0aCk7CisgICAgfQorfTsKKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0
cmluZ0ltcGw6OmFkZChTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgbGVuZ3RoKQoreworICAgIGlmICghYmFzZVN0cmluZykKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBpZiAoIWxlbmd0aCB8fCBzdGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgo
KSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJ
bXBsOjplbXB0eSgpKTsKKworICAgIHVuc2lnbmVkIG1heExlbmd0aCA9IGJhc2VTdHJpbmctPmxl
bmd0aCgpIC0gc3RhcnQ7CisgICAgaWYgKGxlbmd0aCA+PSBtYXhMZW5ndGgpIHsKKyAgICAgICAg
aWYgKCFzdGFydCkKKyAgICAgICAgICAgIHJldHVybiBhZGQoYmFzZVN0cmluZyk7CisgICAgICAg
IGxlbmd0aCA9IG1heExlbmd0aDsKKyAgICB9CisKKyAgICBTdWJzdHJpbmdMb2NhdGlvbiBidWZm
ZXIgPSB7IGJhc2VTdHJpbmcsIHN0YXJ0LCBsZW5ndGggfTsKKyAgICBpZiAoYmFzZVN0cmluZy0+
aXM4Qml0KCkpCisgICAgICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFN1YnN0cmluZ0xvY2F0
aW9uLCBTdWJzdHJpbmdUcmFuc2xhdG9yOD4oYnVmZmVyKTsKKyAgICByZXR1cm4gYWRkVG9TdHJp
bmdUYWJsZTxTdWJzdHJpbmdMb2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRvcjE2PihidWZmZXIp
OworfQorICAgIAordHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8TENoYXI+IExDaGFy
QnVmZmVyOworc3RydWN0IExDaGFyQnVmZmVyVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goY29uc3QgTENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBT
dHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVuZ3Ro
KTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3Ry
LCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1
YWwoc3RyLCBidWYucywgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJh
bnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgTENoYXJCdWZmZXImIGJ1ZiwgdW5z
aWduZWQgaGFzaCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0
ZShidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFz
aChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307
CisKK3R5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPGNoYXI+IENoYXJCdWZmZXI7Citz
dHJ1Y3QgQ2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVy
biBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgTENoYXIqPihidWYucyksIGJ1Zi5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHIsIGNvbnN0IENoYXJCdWZmZXImIGJ1
ZikKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5n
dGgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9j
YXRpb24sIGNvbnN0IENoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAg
ICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGJ1Zi5zLCBidWYu
bGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOworICAg
ICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAgfQorfTsKKworUmVmUHRyPEF0
b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb25zdCBMQ2hhciogcywgdW5z
aWduZWQgbGVuZ3RoKQoreworICAgIGlmICghcykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9
IHsgcywgbGVuZ3RoIH07CisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8TENoYXJCdWZmZXIs
IExDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0lt
cGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgQVNTRVJUKGNoYXJhY3RlcnMpOworICAg
IEFTU0VSVChsZW5ndGgpOworCisgICAgQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMs
IGxlbmd0aCB9OworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPENoYXJCdWZmZXIsIENoYXJC
dWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWlj
U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYgc3Ry
aW5nKQoreworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gKnN0YXRp
Y19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIGlm
IChzdHJpbmcuaXNTeW1ib2woKSkgeworICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQorICAg
ICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgo
KSk7CisgICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxl
bmd0aCgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9t
aWMoKSwgIkF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIG5vdCBoaXQgdGhlIHNsb3cgY2FzZSBpZiB0
aGUgc3RyaW5nIGlzIGFscmVhZHkgYXRvbWljLiIpOworCisgICAgQXRvbWljU3RyaW5nVGFibGVM
b2NrZXIgbG9ja2VyOworICAgIGF1dG8gYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQoJnN0
cmluZyk7CisKKyAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgQVNTRVJU
KCphZGRSZXN1bHQuaXRlcmF0b3IgPT0gJnN0cmluZyk7CisgICAgICAgIHN0cmluZy5zZXRJc0F0
b21pYyh0cnVlKTsKKyAgICB9CisKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPigqYWRkUmVzdWx0Lml0ZXJhdG9yKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0ltcGw+
IEF0b21pY1N0cmluZ0ltcGw6OmFkZFNsb3dDYXNlKEF0b21pY1N0cmluZ1RhYmxlJiBzdHJpbmdU
YWJsZSwgU3RyaW5nSW1wbCYgc3RyaW5nKQoreworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQor
ICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBs
OjplbXB0eSgpKTsKKworICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgeworICAgICAgICBpZiAo
c3RyaW5nLmlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3Rl
cnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFy
YWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIG5vdCBo
aXQgdGhlIHNsb3cgY2FzZSBpZiB0aGUgc3RyaW5nIGlzIGFscmVhZHkgYXRvbWljLiIpOworCisg
ICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8gYWRkUmVzdWx0ID0g
c3RyaW5nVGFibGUudGFibGUoKS5hZGQoJnN0cmluZyk7CisKKyAgICBpZiAoYWRkUmVzdWx0Lmlz
TmV3RW50cnkpIHsKKyAgICAgICAgQVNTRVJUKCphZGRSZXN1bHQuaXRlcmF0b3IgPT0gJnN0cmlu
Zyk7CisgICAgICAgIHN0cmluZy5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9CisKKyAgICByZXR1
cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqYWRkUmVzdWx0Lml0ZXJhdG9yKTsK
K30KKwordm9pZCBBdG9taWNTdHJpbmdJbXBsOjpyZW1vdmUoQXRvbWljU3RyaW5nSW1wbCogc3Ry
aW5nKQoreworICAgIEFTU0VSVChzdHJpbmctPmlzQXRvbWljKCkpOworICAgIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIGxvY2tlcjsKKyAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgYXRvbWljU3Ry
aW5nVGFibGUgPSBzdHJpbmdUYWJsZSgpOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjppdGVy
YXRvciBpdGVyYXRvciA9IGF0b21pY1N0cmluZ1RhYmxlLmZpbmQoc3RyaW5nKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKGl0ZXJhdG9yICE9IGF0b21pY1N0cmluZ1RhYmxlLmVuZCgpLCAiVGhl
IHN0cmluZyBiZWluZyByZW1vdmVkIGlzIGF0b21pYyBpbiB0aGUgc3RyaW5nIHRhYmxlIG9mIGFu
IG90aGVyIHRocmVhZCEiKTsKKyAgICBhdG9taWNTdHJpbmdUYWJsZS5yZW1vdmUoaXRlcmF0b3Ip
OworfQorCitBdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXBTbG93Q2Fz
ZShTdHJpbmdJbXBsJiBzdHJpbmcpCit7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5n
LmlzQXRvbWljKCksICJBdG9taWNTdHJpbmdJbXBscyBzaG91bGQgcmV0dXJuIGZyb20gdGhlIGZh
c3QgY2FzZS4iKTsKKworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisg
ICAgaWYgKHN0cmluZy5pc1N5bWJvbCgpKSB7CisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkp
CisgICAgICAgICAgICByZXR1cm4gbG9va3VwSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnM4KCks
IHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBsb29rdXBJbnRlcm5hbChzdHJpbmcu
Y2hhcmFjdGVyczE2KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgfQorCisgICAgQXRvbWljU3Ry
aW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9taWNT
dHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7CisgICAgYXV0byBpdGVyYXRvciA9IGF0b21pY1N0
cmluZ1RhYmxlLmZpbmQoJnN0cmluZyk7CisgICAgaWYgKGl0ZXJhdG9yICE9IGF0b21pY1N0cmlu
Z1RhYmxlLmVuZCgpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1w
bCo+KCppdGVyYXRvcik7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBdG9taWNT
dHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGRGcm9tVVRGOChjb25zdCBjaGFyKiBjaGFy
YWN0ZXJzU3RhcnQsIGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNFbmQpCit7CisgICAgSGFzaEFuZFVU
RjhDaGFyYWN0ZXJzIGJ1ZmZlcjsKKyAgICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnNT
dGFydDsKKyAgICBidWZmZXIuaGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9t
VVRGOE1hc2tpbmdUb3A4Qml0cyhjaGFyYWN0ZXJzU3RhcnQsIGNoYXJhY3RlcnNFbmQsIGJ1ZmZl
ci5sZW5ndGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7CisKKyAgICBpZiAoIWJ1ZmZlci5oYXNoKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPEhh
c2hBbmRVVEY4Q2hhcmFjdGVycywgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcj4oYnVm
ZmVyKTsKK30KKworQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwSW50
ZXJuYWwoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBB
dG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7CisgICAgYXV0byYgdGFibGUgPSBzdHJpbmdU
YWJsZSgpOworCisgICAgTENoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBsZW5ndGgg
fTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gdGFibGUuZmluZDxMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+
KGJ1ZmZlcik7CisgICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0F0b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1
cEludGVybmFsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7Cisg
ICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8mIHRhYmxlID0gc3Ry
aW5nVGFibGUoKTsKKworICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywgbGVu
Z3RoIH07CisgICAgYXV0byBpdGVyYXRvciA9IHRhYmxlLmZpbmQ8VUNoYXJCdWZmZXJUcmFuc2xh
dG9yPihidWZmZXIpOworICAgIGlmIChpdGVyYXRvciAhPSB0YWJsZS5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOworICAgIHJl
dHVybiBudWxscHRyOworfQorCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorYm9vbCBBdG9taWNTdHJp
bmdJbXBsOjppc0luQXRvbWljU3RyaW5nVGFibGUoU3RyaW5nSW1wbCogc3RyaW5nKQoreworICAg
IEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKKyAgICByZXR1cm4gc3RyaW5nVGFibGUo
KS5jb250YWlucyhzdHJpbmcpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmggYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAppbmRleCA2MmE5MGUwNmU1MzhmNjYzZTRi
ZjBlMDNiZTMyZWI2NDAxN2MyMmMyLi5iZWNlY2MzMDM3YjYyYTE4YjVhYjExODM5MGE3M2QxYzJm
MjYwYzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaApAQCAtMjEsMTQg
KzIxLDk1IEBACiAjaWZuZGVmIEF0b21pY1N0cmluZ0ltcGxfaAogI2RlZmluZSBBdG9taWNTdHJp
bmdJbXBsX2gKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3Mg
QXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBTdHJpbmdJbXBsCi17CitjbGFzcyBBdG9taWNTdHJp
bmdUYWJsZTsKKworY2xhc3MgQXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5n
SW1wbCB7Citwcml2YXRlOgorICAgIEF0b21pY1N0cmluZ0ltcGwoKSA9IGRlbGV0ZTsKKwogcHVi
bGljOgotICAgIEF0b21pY1N0cmluZ0ltcGwoKSA6IFN0cmluZ0ltcGwoMCkge30KKyAgICBzdGF0
aWMgQXRvbWljU3RyaW5nSW1wbCogbG9va3VwKExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCisgICAgeworICAgICAgICByZXR1cm4gbG9va3VwSW50ZXJuYWwoY2hhcmFjdGVycywg
bGVuZ3RoKTsKKyAgICB9CisgICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cChVQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGxv
b2t1cEludGVybmFsKGNoYXJhY3RlcnMsIGxlbmd0aCk7CisgICAgfQorICAgIHN0YXRpYyBBdG9t
aWNTdHJpbmdJbXBsKiBsb29rdXAoU3RyaW5nSW1wbCogc3RyaW5nKQorICAgIHsKKyAgICAgICAg
aWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21pYygpKQorICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOworICAgICAgICByZXR1cm4gbG9v
a3VwU2xvd0Nhc2UoKnN0cmluZyk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlKEF0
b21pY1N0cmluZ0ltcGwqKTsKKworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVm
UHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBMQ2hhciopOworICAgIEFMV0FZU19JTkxJ
TkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgY2hhciogcykgeyBy
ZXR1cm4gYWRkKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihzKSk7IH07CisgICAgV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkKGNv
bnN0IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkg
c3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgVUNoYXIqLCB1bnNpZ25l
ZCBsZW5ndGgpOworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJ
bXBsPiBhZGQoY29uc3QgY2hhciogcywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBhZGQocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpLCBsZW5ndGgpOyB9OworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBVQ2hh
ciosIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgZXhpc3RpbmdIYXNoKTsKKyAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3Qg
VUNoYXIqKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNT
dHJpbmdJbXBsPiBhZGQoU3RyaW5nSW1wbCosIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVu
Z3RoKTsKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4g
YWRkKFN0cmluZ0ltcGwqIHN0cmluZykKKyAgICB7CisgICAgICAgIGlmICghc3RyaW5nKQorICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOwor
ICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmcpOworICAgIH0KKyAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBhZGRGcm9tTGl0ZXJhbERhdGEoY29u
c3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKTsKKworICAgIC8vIEF0b21pY1N0
cmluZ0ltcGw6OmFkZEZyb21VVEY4IHdpbGwgcmV0dXJuIGEgbnVsbHB0ciBpZgorICAgIC8vIHRo
ZSBpbnB1dCBkYXRhIGNvbnRhaW5zIGludmFsaWQgVVRGLTggc2VxdWVuY2VzLgorICAgIFdURl9F
WFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZEZyb21V
VEY4KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlbmQpOworI2lmIFVTRShDRikKKyAg
ICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBh
ZGQoQ0ZTdHJpbmdSZWYpOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdU
YWJsZVByb3ZpZGVyPgorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJp
bmdJbXBsPiBhZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcihTdHJpbmdUYWJsZVByb3ZpZGVyJiBz
dHJpbmdUYWJsZVByb3ZpZGVyLCBTdHJpbmdJbXBsKiBzdHJpbmcpCisgICAgeworICAgICAgICBp
ZiAoIXN0cmluZykKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJ
bXBsKj4oc3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIGFkZCgqc3RyaW5nVGFibGVQcm92aWRlci5h
dG9taWNTdHJpbmdUYWJsZSgpLCAqc3RyaW5nKTsKKyAgICB9CisKKyNpZiAhQVNTRVJUX0RJU0FC
TEVECisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBib29sIGlzSW5BdG9taWNTdHJp
bmdUYWJsZShTdHJpbmdJbXBsKik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBTFdBWVNfSU5M
SU5FIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwmIHN0cmluZykK
KyAgICB7CisgICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgeworICAgICAgICAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5BdG9taWNTdHJpbmdUYWJs
ZSgmc3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFk
ISIpOworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwmPihz
dHJpbmcpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmcpOwor
ICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBh
ZGQoQXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCisg
ICAgeworICAgICAgICBpZiAoc3RyaW5nLmlzQXRvbWljKCkpIHsKKyAgICAgICAgICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoIXN0cmluZy5sZW5ndGgoKSB8fCBpc0luQXRvbWljU3RyaW5nVGFibGUo
JnN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEi
KTsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsJj4oc3Ry
aW5nKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nVGFibGUs
IHN0cmluZyk7CisgICAgfQorCisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8
QXRvbWljU3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYpOworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZFNsb3dDYXNlKEF0
b21pY1N0cmluZ1RhYmxlJiwgU3RyaW5nSW1wbCYpOworCisgICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBsKiBsb29rdXBTbG93Q2FzZShTdHJpbmdJbXBsJik7
CisKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxv
b2t1cEludGVybmFsKGNvbnN0IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cEludGVybmFsKGNv
bnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKIH07CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVE
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwIGIvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCA2ZmQ3NzljODBjMmJkOGE0NGM2Njdl
MmEzMjZmODM4ZDg1Y2ZhMWY1Li5jMTI5MTQ1YmM2NGUzYzAyNjJhYzRkMmFiODYwOGY3ZWRlOTZl
YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
U3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9VVEY4Lmg+CkBAIC0xMTEsMTAgKzExMiwxMCBAQCB2b2lkIFN0cmluZ1N0YXRzOjpwcmludFN0
YXRzKCkKICAgICBTVFJJTkdfU1RBVFNfUkVNT1ZFX1NUUklORygqdGhpcyk7CiAKICAgICBpZiAo
aXNBdG9taWMoKSAmJiBsZW5ndGgoKSAmJiAhaXNTeW1ib2woKSkKLSAgICAgICAgQXRvbWljU3Ry
aW5nOjpyZW1vdmUodGhpcyk7CisgICAgICAgIEF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZShzdGF0
aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4odGhpcykpOwogCiAgICAgaWYgKGlzU3ltYm9sKCkg
JiYgc3ltYm9sUmVnaXN0cnkoKSkKLSAgICAgICAgc3ltYm9sUmVnaXN0cnkoKS0+cmVtb3ZlKHRo
aXMpOworICAgICAgICBzeW1ib2xSZWdpc3RyeSgpLT5yZW1vdmUoc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCo+KHRoaXMpKTsKIAogICAgIEJ1ZmZlck93bmVyc2hpcCBvd25lcnNoaXAgPSBidWZmZXJP
d25lcnNoaXAoKTsKIApAQCAtMjkwLDcgKzI5MSw3IEBAIHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJv
eShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIHJldHVybiBjcmVhdGUoc3RyaW5nLCBsZW5n
dGgpOwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKFBhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQorUmVmPFN5bWJvbEltcGw+IFN0cmluZ0ltcGw6OmNyZWF0
ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCkKIHsKICAgICBTdHJpbmdJbXBsKiBv
d25lclJlcCA9IChyZXAtPmJ1ZmZlck93bmVyc2hpcCgpID09IEJ1ZmZlclN1YnN0cmluZykgPyBy
ZXAtPnN1YnN0cmluZ0J1ZmZlcigpIDogcmVwLmdldCgpOwogCkBAIC0zMDEsMTEgKzMwMiwxMSBA
QCB2b2lkIFN0cmluZ0ltcGw6OmRlc3Ryb3koU3RyaW5nSW1wbCogc3RyaW5nSW1wbCkKICAgICAv
LyA0LiB0aGUgcGxhY2Vob2xkZXIgZm9yIHN5bWJvbCBhd2FyZSBoYXNoIHZhbHVlIChhbGxvY2F0
ZWQgc2l6ZSBpcyBwb2ludGVyIHNpemUsIGJ1dCBvbmx5IDQgYnl0ZXMgYXJlIHVzZWQpCiAgICAg
U3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0YXRpY19jYXN0PFN0cmluZ0ltcGwqPihmYXN0TWFs
bG9jKGFsbG9jYXRpb25TaXplPFN0cmluZ0ltcGwqPigzKSkpOwogICAgIGlmIChyZXAtPmlzOEJp
dCgpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkg
U3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3du
ZXJSZXApKTsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkg
U3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhMTYsIHJlcC0+bGVuZ3RoKCksIG93
bmVyUmVwKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqc3RhdGljX2Nhc3Q8U3ltYm9sSW1w
bCo+KG5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJl
cC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4obmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBT
dHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGExNiwgcmVwLT5sZW5ndGgoKSwgb3du
ZXJSZXApKSk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2xF
bXB0eSgpCitSZWY8U3ltYm9sSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkoKQog
ewogICAgIHJldHVybiBjcmVhdGVTeW1ib2woZW1wdHkoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
SW1wbC5oCmluZGV4IGRjMjJiZDBlN2M5NjQyNjlmZTNkZWRlYzUxYmVmNTFjZTY2ZmUzZTkuLjYx
YjdiZTEyZmRjOGMyZmI0ZmI3MjE5OWU1ZmNjYWM1Njk1NTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oCkBAIC01Nyw2ICs1Nyw3IEBACiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsK
IHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3Mg
UmV0YWluUHRyOworY2xhc3MgU3ltYm9sSW1wbDsKIGNsYXNzIFN5bWJvbFJlZ2lzdHJ5OwogCiBl
bnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkgewpAQCAtMTMxLDcgKzEzMiw2IEBAIGNsYXNzIFN0cmlu
Z0ltcGwgewogICAgIGZyaWVuZCBzdHJ1Y3QgV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiAg
ICAgZnJpZW5kIHN0cnVjdCBXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0
cnVjdCBXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKLSAgICBmcmllbmQgY2xhc3MgQXRvbWlj
U3RyaW5nSW1wbDsKICAgICBmcmllbmQgY2xhc3MgSlNDOjpMTEludDo6RGF0YTsKICAgICBmcmll
bmQgY2xhc3MgSlNDOjpMTEludE9mZnNldHNFeHRyYWN0b3I7CiAgICAgCkBAIC00MjEsOCArNDIx
LDggQEAgY2xhc3MgU3RyaW5nSW1wbCB7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RJbnRlcm5h
bDxUPihyZXN1bHRJbXBsLCBsZW5ndGgpOwogICAgIH0KIAotICAgIFdURl9FWFBPUlRfU1RSSU5H
X0FQSSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGNyZWF0ZVN5bWJvbEVtcHR5KCk7Ci0gICAgV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlU3ltYm9sKFBh
c3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3Rh
dGljIFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVTeW1ib2xFbXB0eSgpOworICAgIFdURl9FWFBPUlRf
U1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbChQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IHJlcCk7CiAKICAgICAvLyBSZWFsbG9jYXRlIHRoZSBTdHJpbmdJbXBsLiBU
aGUgb3JpZ2luYWxTdHJpbmcgbXVzdCBiZSBvbmx5IG93bmVkIGJ5IHRoZSBQYXNzUmVmUHRyLAog
ICAgIC8vIGFuZCB0aGUgYnVmZmVyIG93bmVyc2hpcCBtdXN0IGJlIEJ1ZmZlckludGVybmFsLiBK
dXN0IGxpa2UgdGhlIGlucHV0IHBvaW50ZXIgb2YgcmVhbGxvYygpLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJv
bEltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNjcwNTMxYzg5ZWQ1MjY4ZWIxNmRiNTEyZDIwYTE2YmEwZWJh
YTljCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBsLmgK
QEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtp
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN5bWJvbEltcGxf
aAorI2RlZmluZSBTeW1ib2xJbXBsX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2Ug
V1RGIHsKKworY2xhc3MgU3ltYm9sSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbCB7Cisg
ICAgU3ltYm9sSW1wbCgpID0gZGVsZXRlOworfTsKKworI2lmICFBU1NFUlRfRElTQUJMRUQKKy8v
IFN5bWJvbEltcGxzIGNyZWF0ZWQgZnJvbSBTdGF0aWNBU0NJSUxpdGVyYWwgd2lsbCBBU1NFUlQK
Ky8vIGluIHRoZSBnZW5lcmljIFZhbHVlQ2hlY2s8VD46OmNoZWNrQ29uc2lzdGVuY3kKKy8vIGFz
IHRoZXkgYXJlIG5vdCBhbGxvY2F0ZWQgYnkgZmFzdE1hbGxvYy4KKy8vIFdlIGRvbid0IGN1cnJl
bnRseSBoYXZlIGFueSB3YXkgdG8gZGV0ZWN0IHRoYXQgY2FzZQorLy8gc28gd2UgaWdub3JlIHRo
ZSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgYWxsIFN5bWJvbEltcGxzKi4KK3RlbXBsYXRlPD4gc3Ry
dWN0CitWYWx1ZUNoZWNrPFN5bWJvbEltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25z
aXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdAor
VmFsdWVDaGVjazxjb25zdCBTeW1ib2xJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29u
c2lzdGVuY3koY29uc3QgU3ltYm9sSW1wbCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8vIG5hbWVz
cGFjZSBXVEYKKwordXNpbmcgV1RGOjpTeW1ib2xJbXBsOworCisjZW5kaWYgLy8gU3ltYm9sSW1w
bF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNwcCBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCmluZGV4IDE1NmJhM2U0YzI3
NGIxZjAwY2JjZWU3ZWJmZmVlYjI2Y2YyM2QzOTAuLjI1OTliNjg4MDcxNzI4OGEwZjZiM2VmYzIx
MDFlZmNmMDE5ZWJhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVn
aXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCkBA
IC0zNCwyNiArMzQsMjYgQEAKICAgICAgICAga2V5LmltcGwoKS0+c3ltYm9sUmVnaXN0cnkoKSA9
IG51bGxwdHI7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTeW1ib2xSZWdpc3RyeTo6c3ltYm9sRm9y
S2V5KGNvbnN0IFN0cmluZyYgcmVwKQorUmVmPFN5bWJvbEltcGw+IFN5bWJvbFJlZ2lzdHJ5Ojpz
eW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJiByZXApCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3RhYmxlLmFkZChTeW1ib2xSZWdpc3RyeUtleShyZXAuaW1wbCgpKSk7CiAgICAgaWYgKCFhZGRS
ZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuICphZGRSZXN1bHQuaXRlcmF0b3ItPmlt
cGwoKTsKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4oYWRkUmVzdWx0
Lml0ZXJhdG9yLT5pbXBsKCkpOwogCi0gICAgUmVmPFN0cmluZ0ltcGw+IHN5bWJvbCA9IFN0cmlu
Z0ltcGw6OmNyZWF0ZVN5bWJvbChyZXAuaW1wbCgpKTsKKyAgICBSZWY8U3ltYm9sSW1wbD4gc3lt
Ym9sID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOwogICAgIHN5bWJvbC0+
c3ltYm9sUmVnaXN0cnkoKSA9IHRoaXM7CiAgICAgKmFkZFJlc3VsdC5pdGVyYXRvciA9IFN5bWJv
bFJlZ2lzdHJ5S2V5KCZzeW1ib2wuZ2V0KCkpOwogICAgIHJldHVybiBzeW1ib2w7CiB9CiAKLVN0
cmluZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwqIHVpZCkKK1N0cmlu
ZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN5bWJvbEltcGwqIHVpZCkKIHsKICAgICBB
U1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3RyeSgp
ID09IHRoaXMpOwogICAgIHJldHVybiB1aWQtPmV4dHJhY3RGb2xkZWRTdHJpbmdJblN5bWJvbCgp
OwogfQogCi12b2lkIFN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUoU3RyaW5nSW1wbCogdWlkKQordm9p
ZCBTeW1ib2xSZWdpc3RyeTo6cmVtb3ZlKFN5bWJvbEltcGwqIHVpZCkKIHsKICAgICBBU1NFUlQo
dWlkLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3RyeSgpID09IHRo
aXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oIGIv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCmluZGV4IDEzNmMzNjhjOTBiYmJj
ZWExODg2YjhkZjc4NzJhN2ZmZGZiYTk4YTYuLmZlY2JlNzBjNzQ4MzIwODBjZjliNGQ0MzRiNjZi
MmQwOTQwNjI4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0
cnkuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC04MSwxMCArODIs
MTAgQEAgY2xhc3MgU3ltYm9sUmVnaXN0cnkgewogICAgIFN5bWJvbFJlZ2lzdHJ5KCkgPSBkZWZh
dWx0OwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB+U3ltYm9sUmVnaXN0cnkoKTsKIAotICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBSZWY8U3RyaW5nSW1wbD4gc3ltYm9sRm9yS2V5KGNvbnN0IFN0cmlu
ZyYpOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3ltYm9sKFN0cmluZ0lt
cGwqIHVpZCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFJlZjxTeW1ib2xJbXBsPiBzeW1ib2xG
b3JLZXkoY29uc3QgU3RyaW5nJik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBrZXlG
b3JTeW1ib2woU3ltYm9sSW1wbCogdWlkKTsKIAotICAgIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwq
IHVpZCk7CisgICAgdm9pZCByZW1vdmUoU3ltYm9sSW1wbCogdWlkKTsKIAogcHJpdmF0ZToKICAg
ICBIYXNoU2V0PFN5bWJvbFJlZ2lzdHJ5S2V5PiBtX3RhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9V
bmlxdWVkU3RyaW5nSW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNjk3Y2Y3MGYwNzc3NWZjMTc5Mzg1YTgx
YmJlNGNjZDRjYTQ3NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1Vu
aXF1ZWRTdHJpbmdJbXBsLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFVuaXF1ZWRTdHJpbmdJbXBsX2gKKyNkZWZpbmUgVW5pcXVlZFN0cmluZ0ltcGxfaAor
CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2UgV1RGIHsKKwor
Y2xhc3MgVW5pcXVlZFN0cmluZ0ltcGwgOiBwdWJsaWMgU3RyaW5nSW1wbCB7CisgICAgVW5pcXVl
ZFN0cmluZ0ltcGwoKSA9IGRlbGV0ZTsKK307CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisvLyBV
bmlxdWVkU3RyaW5nSW1wbHMgY3JlYXRlZCBmcm9tIFN0YXRpY0FTQ0lJTGl0ZXJhbCB3aWxsIEFT
U0VSVAorLy8gaW4gdGhlIGdlbmVyaWMgVmFsdWVDaGVjazxUPjo6Y2hlY2tDb25zaXN0ZW5jeQor
Ly8gYXMgdGhleSBhcmUgbm90IGFsbG9jYXRlZCBieSBmYXN0TWFsbG9jLgorLy8gV2UgZG9uJ3Qg
Y3VycmVudGx5IGhhdmUgYW55IHdheSB0byBkZXRlY3QgdGhhdCBjYXNlCisvLyBzbyB3ZSBpZ25v
cmUgdGhlIGNvbnNpc3RlbmN5IGNoZWNrIGZvciBhbGwgVW5pcXVlZFN0cmluZ0ltcGxzKi4KK3Rl
bXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPFVuaXF1ZWRTdHJpbmdJbXBsKj4geworICAgIHN0
YXRpYyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqKSB7IH0K
K307CisKK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPGNvbnN0IFVuaXF1ZWRTdHJpbmdJ
bXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNrQ29uc2lzdGVuY3koY29uc3QgVW5pcXVlZFN0
cmluZ0ltcGwqKSB7IH0KK307CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5n
IFdURjo6VW5pcXVlZFN0cmluZ0ltcGw7CisKKyNlbmRpZiAvLyBVbmlxdWVkU3RyaW5nSW1wbF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCA2ZThmMDkyYjI3ZTU5YjdhODFkOTUwNzBlNDhl
MzIwZGZkOGM3MzYxLi5kZTk5MmRlYjkzNDllNWVjM2FiMjE5NjVlYThiM2ZlY2Q4YjVkNWVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKQEAgLTExOCw2ICsxMTgsMTAgQEAgY2xhc3MgU3RyaW5n
IHsKICAgICBTdHJpbmcoUmVmPFN0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2ltcGwoV1RGOjptb3Zl
KGltcGwpKSB7IH0KICAgICBTdHJpbmcoUmVmUHRyPFN0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2lt
cGwoaW1wbCkgeyB9CiAKKyAgICBTdHJpbmcoUGFzc1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBp
bXBsKSA6IG1faW1wbChpbXBsKSB7IH0KKyAgICBTdHJpbmcoUmVmPEF0b21pY1N0cmluZ0ltcGw+
JiYgaW1wbCkgOiBtX2ltcGwoV1RGOjptb3ZlKGltcGwpKSB7IH0KKyAgICBTdHJpbmcoUmVmUHRy
PEF0b21pY1N0cmluZ0ltcGw+JiYgaW1wbCkgOiBtX2ltcGwoaW1wbCkgeyB9CisKICAgICAvLyBD
b25zdHJ1Y3QgYSBzdHJpbmcgZnJvbSBhIGNvbnN0YW50IHN0cmluZyBsaXRlcmFsLgogICAgIFdU
Rl9FWFBPUlRfU1RSSU5HX0FQSSBTdHJpbmcoQVNDSUlMaXRlcmFsIGNoYXJhY3RlcnMpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L2NmL0F0b21pY1N0cmluZ0NGLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvY2YvQXRvbWljU3RyaW5nQ0YuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1OWM4MmJmM2M0OTI3OGQxZTAyMjNkMjU5NTNlZGY3MWYyY2Q0YjRkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvY2YvQXRvbWljU3RyaW5nQ0YuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KLQotI2lmIFVTRShDRikKLQotI2luY2x1ZGUgPENvcmVGb3VuZGF0
aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi1u
YW1lc3BhY2UgV1RGIHsKLQotUmVmUHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKENG
U3RyaW5nUmVmIHN0cmluZykKLXsKLSAgICBpZiAoIXN0cmluZykKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICBDRkluZGV4IGxlbmd0aCA9IENGU3RyaW5nR2V0TGVuZ3RoKHN0cmluZyk7
Ci0KLSAgICBpZiAoY29uc3QgTENoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENo
YXIqPihDRlN0cmluZ0dldENTdHJpbmdQdHIoc3RyaW5nLCBrQ0ZTdHJpbmdFbmNvZGluZ0lTT0xh
dGluMSkpKQotICAgICAgICByZXR1cm4gYWRkKHB0ciwgbGVuZ3RoKTsKLQotICAgIGlmIChjb25z
dCBVbmlDaGFyKiBwdHIgPSBDRlN0cmluZ0dldENoYXJhY3RlcnNQdHIoc3RyaW5nKSkKLSAgICAg
ICAgcmV0dXJuIGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4ocHRyKSwgbGVuZ3Ro
KTsKLQotICAgIFZlY3RvcjxVbmlDaGFyLCAxMDI0PiB1Y2hhckJ1ZmZlcihsZW5ndGgpOwotICAg
IENGU3RyaW5nR2V0Q2hhcmFjdGVycyhzdHJpbmcsIENGUmFuZ2VNYWtlKDAsIGxlbmd0aCksIHVj
aGFyQnVmZmVyLmRhdGEoKSk7Ci0gICAgcmV0dXJuIGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0
IFVDaGFyKj4odWNoYXJCdWZmZXIuZGF0YSgpKSwgbGVuZ3RoKTsKLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV1RGCi0KLSNlbmRpZiAvLyBVU0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L2NmL0F0
b21pY1N0cmluZ0ltcGxDRi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODk2ZjJjY2RiNGE2Y2JlNjVlMTc1NjFi
MDZjY2RhZGQ1NGNlZDM0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
Y2YvQXRvbWljU3RyaW5nSW1wbENGLmNwcApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwu
aD4KKworI2lmIFVTRShDRikKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0
aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsK
KworUmVmUHRyPFN0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChDRlN0cmluZ1JlZiBz
dHJpbmcpCit7CisgICAgaWYgKCFzdHJpbmcpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgQ0ZJbmRleCBsZW5ndGggPSBDRlN0cmluZ0dldExlbmd0aChzdHJpbmcpOworCisgICAgaWYg
KGNvbnN0IExDaGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oQ0ZTdHJp
bmdHZXRDU3RyaW5nUHRyKHN0cmluZywga0NGU3RyaW5nRW5jb2RpbmdJU09MYXRpbjEpKSkKKyAg
ICAgICAgcmV0dXJuIGFkZChwdHIsIGxlbmd0aCk7CisKKyAgICBpZiAoY29uc3QgVW5pQ2hhciog
cHRyID0gQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzUHRyKHN0cmluZykpCisgICAgICAgIHJldHVybiBh
ZGQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHB0ciksIGxlbmd0aCk7CisKKyAgICBW
ZWN0b3I8VW5pQ2hhciwgMTAyND4gdWNoYXJCdWZmZXIobGVuZ3RoKTsKKyAgICBDRlN0cmluZ0dl
dENoYXJhY3RlcnMoc3RyaW5nLCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCB1Y2hhckJ1ZmZlci5k
YXRhKCkpOworICAgIHJldHVybiBhZGQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHVj
aGFyQnVmZmVyLmRhdGEoKSksIGxlbmd0aCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisj
ZW5kaWYgLy8gVVNFKENGKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCmluZGV4IDY5MjQ2NzgzMDg2ZjY5OTQzYTlkMjM3OWM3Yzc5YWQ2NDg0
NGJmNjIuLjBkNTczZmNjZjU0MTQxODVmYzExMzdkNWI0MzY3OWM4MzdiNzczNGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTMw
Niw3ICszMDYsOCBAQCBib29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4
KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgdQogICAgIC8vIEFsbG93IHNob3J0
Y3V0cyBsaWtlICdJbWFnZTEnIGluc3RlYWQgb2YgZG9jdW1lbnQuaW1hZ2VzLkltYWdlMQogICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5mcmFtZSgpLT5kb2N1bWVu
dCgpOwogICAgIGlmIChpczxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkpIHsKLSAgICAgICAgQXRv
bWljU3RyaW5nSW1wbCogYXRvbWljUHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lLmltcGwoKTsK
KyAgICAgICAgQVNTRVJUKCFwcm9wZXJ0eU5hbWUuaXNTeW1ib2woKSk7CisgICAgICAgIEF0b21p
Y1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IHN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPihwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKICAgICAgICAgaWYgKGF0b21pY1Byb3BlcnR5
TmFtZSAmJiBkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkuaGFzV2luZG93TmFtZWRJ
dGVtKCphdG9taWNQcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgICAgICBzbG90LnNldEN1c3RvbSh0
aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSwgbmFtZWRJdGVtR2V0
dGVyKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcAppbmRl
eCA4OTlmMDhlYTY3MWY2MmIxZTFhMWNkNGYzNzJhOGFkMWJiMzMyNGUwLi5mZGJiMzI5OGM4NDRl
ODVjYTJhNTAyZDVhYWFlMmU4M2I0NjUyZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcApAQCAt
NjMsNyArNjMsNyBAQCBzdGF0aWMgSlNQcm9taXNlRGVmZXJyZWQqIGdldE9yQ3JlYXRlUHJvbWlz
ZURlZmVycmVkRnJvbU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsCiAKIHN0YXRpYyBKU0M6OlByaXZh
dGVOYW1lJiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxKU0M6OlByaXZhdGVOYW1lPiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoImNsb3NlZFByb21p
c2UiKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gY2xvc2Vk
UHJvbWlzZVNsb3ROYW1lKEpTQzo6UHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCAiY2xvc2VkUHJv
bWlzZSIpOwogICAgIHJldHVybiBjbG9zZWRQcm9taXNlU2xvdE5hbWU7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IGVlMTViZDUwYzUyM2Y2MTEyNTg1NDYyZjM2Nzk1MWRhMDNmNzdkY2QuLmFhMGRhZGYwOWQ1
NDAzMDQ4NmY5Yzc3MTc3M2NmMjI2MDdhYmUxOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtOTgzLDcgKzk4Myw3
IEBAIGNsYXNzIENsb25lU2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgdm9pZCB3cml0ZShj
b25zdCBJZGVudGlmaWVyJiBpZGVudCkKICAgICB7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgc3Ry
ID0gaWRlbnQuc3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZ0NvbnN0YW50UG9vbDo6QWRkUmVzdWx0
IGFkZFJlc3VsdCA9IG1fY29uc3RhbnRQb29sLmFkZChzdHIuaW1wbCgpLCBtX2NvbnN0YW50UG9v
bC5zaXplKCkpOworICAgICAgICBTdHJpbmdDb25zdGFudFBvb2w6OkFkZFJlc3VsdCBhZGRSZXN1
bHQgPSBtX2NvbnN0YW50UG9vbC5hZGQoaWRlbnQuaW1wbCgpLCBtX2NvbnN0YW50UG9vbC5zaXpl
KCkpOwogICAgICAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KSB7CiAgICAgICAgICAgICB3
cml0ZShTdHJpbmdQb29sVGFnKTsKICAgICAgICAgICAgIHdyaXRlU3RyaW5nSW5kZXgoYWRkUmVz
dWx0Lml0ZXJhdG9yLT52YWx1ZSk7CkBAIC0xMjExLDcgKzEyMTEsNyBAQCBjbGFzcyBDbG9uZVNl
cmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgIE9iamVjdFBvb2wgbV9vYmplY3RQb29sOwogICAg
IE9iamVjdFBvb2wgbV90cmFuc2ZlcnJlZE1lc3NhZ2VQb3J0czsKICAgICBPYmplY3RQb29sIG1f
dHJhbnNmZXJyZWRBcnJheUJ1ZmZlcnM7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJp
bmdJbXBsPiwgdWludDMyX3QsIElkZW50aWZpZXJSZXBIYXNoPiBTdHJpbmdDb25zdGFudFBvb2w7
CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIHVpbnQzMl90
LCBJZGVudGlmaWVyUmVwSGFzaD4gU3RyaW5nQ29uc3RhbnRQb29sOwogICAgIFN0cmluZ0NvbnN0
YW50UG9vbCBtX2NvbnN0YW50UG9vbDsKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKaW5kZXggNDJhZDkyMWE0YTQxMGNiODUyNDQz
NmMxMTg1NGRjZThkNWFiNmUxYi4uMzY2MTZmOGE4ZTFkOTVlNjYwNDk3ZTVjYmQ4MTE3NzRiMTc2
YzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCBFbGVt
ZW50KiBUcmVlU2NvcGU6OmdldEVsZW1lbnRCeUlkKGNvbnN0IFN0cmluZyYgZWxlbWVudElkKSBj
b25zdAogICAgIGlmICghbV9lbGVtZW50c0J5SWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
Ci0gICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY0VsZW1lbnRJZCA9IEF0b21pY1N0cmlu
Zzo6ZmluZChlbGVtZW50SWQuaW1wbCgpKSkKKyAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogYXRv
bWljRWxlbWVudElkID0gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKGVsZW1lbnRJZC5pbXBsKCkp
KQogICAgICAgICByZXR1cm4gbV9lbGVtZW50c0J5SWQtPmdldEVsZW1lbnRCeUlkKCphdG9taWNF
bGVtZW50SWQsICp0aGlzKTsKIAogICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRiYmFkYTZhMTE3ZjA2NjMwMmYx
ZjBiNDhiOWZjMjYyZDFmMTlkYTMuLmI1M2Q1OWM3OTMzODJlMDQ0ZjQzNTI3YzNkMWU1OTY1OGQ0
ZDMwNjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgVW5pcXVlZFN0cmluZ0ltcGwgYW5kIFN5
bWJvbEltcGwgdG8gc2VwYXJhdGUgc3ltYm9saWMgc3RyaW5ncyBmcm9tIEF0b21pY1N0cmluZ0lt
cGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBV
bmlxdWVkU3RyaW5nSW1wbCwgU3ltYm9sSW1wbCBhbmQgQXRvbWljU3RyaW5nSW1wbC4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTUtMDUtMTIgIFBlciBBcm5lIFZvbGxhbiAgPHBl
YXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIEZpeCBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
c3RlcCBvbiB0aGUgV2luQ2Fpcm8gYm90CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L1N0cmluZ0ltcGwuY3BwCmluZGV4IDA5MmNjNDdmOTAxNmFmYmQyYjQ2ODJiMjYwZWE1NTgzMDkz
NjQ0ODMuLjEwMGQwZjRmZWVlZDQ0ZTEyZDcwMTc2ZTIxODEwMTgwNTIyZWIzMDUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKQEAgLTUwOSw3ICs1
MDksNyBAQAogICAgIEFTU0VSVF9UUlVFKHJlZmVyZW5jZS0+aXNTeW1ib2woKSk7CiAgICAgQVNT
RVJUX0ZBTFNFKHJlZmVyZW5jZS0+aXNBdG9taWMoKSk7CiAKLSAgICBSZWZQdHI8U3RyaW5nSW1w
bD4gYXRvbWljID0gQXRvbWljU3RyaW5nOjphZGQocmVmZXJlbmNlLmdldCgpKTsKKyAgICBSZWZQ
dHI8U3RyaW5nSW1wbD4gYXRvbWljID0gQXRvbWljU3RyaW5nSW1wbDo6YWRkKHJlZmVyZW5jZS5n
ZXQoKSk7CiAgICAgQVNTRVJUX1RSVUUoYXRvbWljLT5pc0F0b21pYygpKTsKICAgICBBU1NFUlRf
RkFMU0UoYXRvbWljLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlRfVFJVRShyZWZlcmVuY2UtPmlz
U3ltYm9sKCkpOwpAQCAtNTIyLDcgKzUyMiw3IEBACiAgICAgQVNTRVJUX1RSVUUocmVmZXJlbmNl
LT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlRfRkFMU0UocmVmZXJlbmNlLT5pc0F0b21pYygpKTsK
IAotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBhdG9taWMgPSBBdG9taWNTdHJpbmc6OmFkZChyZWZl
cmVuY2UuZ2V0KCkpOworICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBhdG9taWMgPSBBdG9taWNTdHJp
bmdJbXBsOjphZGQocmVmZXJlbmNlLmdldCgpKTsKICAgICBBU1NFUlRfVFJVRShhdG9taWMtPmlz
QXRvbWljKCkpOwogICAgIEFTU0VSVF9GQUxTRShhdG9taWMtPmlzU3ltYm9sKCkpOwogICAgIEFT
U0VSVF9UUlVFKHJlZmVyZW5jZS0+aXNTeW1ib2woKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252965</attachid>
            <date>2015-05-12 07:56:21 -0700</date>
            <delta_ts>2015-05-20 10:24:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150512235459.patch</filename>
            <type>text/plain</type>
            <size>236100</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWZhNGY5MzE1NmFmOTM4ZDg5ZWU4NDUwNDk5ZmY5MGYwY2VlZTcyLi5lMmUxMjUxNmMzOTcxODNk
Yjg0NDU2ZWMwOGNjODI5YWQ3NGVlMTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzYgQEAKKzIwMTUtMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bmFtZUZvclJlZ2lzdGVyKToKKyAgICAgICAgKiBi
eXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q29tcGxleEdldFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5o
OgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVG
b3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oOgorICAgICAg
ICAqIGJ5dGVjb2RlL0luc3RydWN0aW9uLmg6CisgICAgICAgIChKU0M6Okluc3RydWN0aW9uOjpJ
bnN0cnVjdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAg
ICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlND
OjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclN0dWJJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlMaXN0Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6SW5saW5lU3RhY2tFbnRyeTo6SW5saW5lU3RhY2tFbnRyeSk6CisgICAgICAgICogZGZn
L0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6RGVzaXJlZElk
ZW50aWZpZXJzOjphZGRMYXppbHkpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlm
aWVyczo6YXQpOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5
QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmg6CisgICAgICAgIChK
U0M6OkRGRzo6RGVzaXJlZElkZW50aWZpZXJzOjpvcGVyYXRvcltdKToKKyAgICAgICAgKiBkZmcv
REZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBO
b2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjppc1N0cmluZ1Byb3RvdHlwZU1l
dGhvZFNhbmUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbik6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Omlk
ZW50aWZpZXJVSUQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3Bl
cmF0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6bW1BbGxvY2F0ZURhdGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVE
ZXNjcmlwdG9yLmg6CisgICAgICAgIChKU0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hlRGVz
Y3JpcHRvcjo6dWlkKToKKyAgICAgICAgKEpTQzo6RlRMOjpHZXRCeUlkRGVzY3JpcHRvcjo6R2V0
QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OlB1dEJ5SWREZXNjcmlwdG9yOjpQ
dXRCeUlkRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZUTDo6Q2hlY2tJbkRlc2NyaXB0b3I6
OkNoZWNrSW5EZXNjcmlwdG9yKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUluKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Z2V0QnlJZCk6CisgICAgICAgICogZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGppdC9K
SVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAqIHBhcnNlci9Ob2Rlcy5jcHA6CisgICAgICAgIChKU0M6OlByb2dyYW1Ob2RlOjpzZXRDbG9z
ZWRWYXJpYWJsZXMpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpT
Y29wZU5vZGU6OmNhcHR1cmVzKToKKyAgICAgICAgKEpTQzo6U2NvcGVOb2RlOjpzZXRDbG9zZWRW
YXJpYWJsZXMpOgorICAgICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y2xvc2VkVmFyaWFibGVzKToK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlk
RmluaXNoUGFyc2luZyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
cmljdE9iamVjdExpdGVyYWwpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAg
KEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZVZhcmlhYmxl
KToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAgICAgICAoSlND
OjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnVz
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZhcmlhYmxlc1Rv
VmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAoSlNDOjpTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChKU0M6OlNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjppc1ByaXZh
dGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAg
ICogcnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6YWRkOCk6CisgICAgICAgICogcnVudGltZS9J
ZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OmltcGwpOgorICAgICAgICAo
SlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmllcjo6
YWRkKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXJSZXBIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OklkZW50aWZpZXI6OklkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpJ
ZGVudGlmaWVyOjphZGQpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpmcm9tVWlkKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlND
OjpJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKToKKyAgICAgICAg
KiBydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAgICAoSlNDOjpKU1JvcGVTdHJp
bmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmluZyk6CisgICAgICAgICogcnVudGlt
ZS9KU1N0cmluZy5oOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6dG9FeGlzdGluZ0F0b21pY1N0
cmluZyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRh
YmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBEYXRhLmg6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVj
dG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAgKiBydW50aW1lL1ByaXZhdGVOYW1l
Lmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2YXRlTmFtZSk6CisgICAgICAgIChK
U0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlNYXBIYXNo
VGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZS5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5TmFt
ZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpwdWJsaWNOYW1lKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJh
eS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkS25vd25VbmlxdWUpOgor
ICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKToKKyAgICAgICAgKiBydW50aW1l
L1NtYWxsU3RyaW5ncy5jcHA6CisgICAgICAgIChKU0M6OlNtYWxsU3RyaW5nc1N0b3JhZ2U6OlNt
YWxsU3RyaW5nc1N0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250YWlucyk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbCk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZUNvbmN1cnJlbnRseSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0Q29uY3Vy
cmVudGx5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OnJlbW92ZSk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAg
ICAgKEpTQzo6UHJvcGVydHlNYXBFbnRyeTo6UHJvcGVydHlNYXBFbnRyeSk6CisgICAgICAgICog
cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0
Q29uY3VycmVudGx5KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6Okhhc2g6Omhhc2gp
OgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmNwcDoKKyAgICAgICAgKEpTQzo6U3ltYm9sOjpT
eW1ib2wpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sLmg6CisgICAgICAgICogcnVudGltZS9T
eW1ib2xDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0cnVjdG9yRm9y
KToKKyAgICAgICAgKEpTQzo6c3ltYm9sQ29uc3RydWN0b3JLZXlGb3IpOgorICAgICAgICAqIHJ1
bnRpbWUvU3ltYm9sVGFibGUuY3BwOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6dW5pcXVl
SURGb3JWYXJpYWJsZSk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0
Rm9yVmFyaWFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAg
KiBydW50aW1lL1R5cGVTZXQuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6YWRk
UHJvcGVydHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTaGFwZTo6cHJvcGVydHlIYXNoKToK
KyAgICAgICAgKiBydW50aW1lL1R5cGVTZXQuaDoKKwogMjAxNS0wNS0xMiAgR2Fib3IgTG9raSAg
PGxva2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBXb3JrYXJvdW5kIGZvciBDb3J0ZXgtQTUzIGVy
cmF0dW0gODQzNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IGVkNTQ4ZDAwYmYzOTE1NWM0ZTk0NjJhZmE1ZjI1MjMyMDU1YmUx
YjQuLjYxZjlhMjRkYTRkYTg5NWE0NTU2NjIwZWRhMDU0MjNjOTBhMjQ3MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQzIEBACisyMDE1LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1w
bCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGN1cnJlbnQg
QXRvbWljU3RyaW5nSW1wbCBhY2NpZGVudGFsbHkgbWVhbnMgdGhlIHN5bWJvbCBPUiBhdG9taWMg
U3RyaW5nSW1wbC4KKyAgICAgICAgSXQncyBub3QgY29ycmVjdCB0byBpdHMgbmFtZSBhbmQgaXQn
cyBlcnJvciBwcm9uZS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSdsbCBpbnRyb2R1Y2Uv
Y2hhbmdlcyBjbGFzc2VzIGludG8gV1RGLgorCisgICAgICAgIDEuIFVuaXF1ZWRTdHJpbmdJbXBs
CisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFN0cmluZ0ltcGwuIEFuZCBpdCByZXBy
ZXNlbnRzIHN5bWJvbCB8fCBhdG9taWMgU3RyaW5nSW1wbC4KKworICAgICAgICAyLiBTeW1ib2xJ
bXBsCisgICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFVuaXF1ZWRTdHJpbmdJbXBsLiBP
bmx5IHN5bWJvbCBzdHJpbmdzIGNhbiBiZWNvbWUgdGhpcy4KKyAgICAgICAgSXQgZW5zdXJlcyB0
aGUgZ2l2ZW4gU3RyaW5nSW1wbCBpcyBzeW1ib2wgaW4gY29tcGlsZSB0aW1lLgorCisgICAgICAg
IDMuIEF0b21pY1N0cmluZ0ltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZyb20gVW5p
cXVlZFN0cmluZ0ltcGwuIE9ubHkgYXRvbWljIChub24tbm9ybWFsICYmIG5vbi1zeW1ib2wpIHN0
cmluZ3MgY2FuIGJlY29tZSB0aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJp
bmdJbXBsIGlzIGF0b21pYyBpbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAgQW5kLCBpbiB0aGlz
IHRpbWUsIEkganVzdCBhY2NlcHQgVW5pcXVlU3RyaW5nSW1wbCBpbiBBdG9taWNTdHJpbmcuIEFz
IHRoZSByZXN1bHQsCisgICAgICAgIDEuIE5vdyBBdG9taWNTdHJpbmdJbXBsIGlzc3VlIGlzIGZp
eGVkLiBJdHMgU3ltYm9sSW1wbCBpcyBzZXBhcmF0ZWQgYW5kIFVuaXF1ZWRTdHJpbmdJbXBsIGlz
IGludHJvZHVjZWQuCisgICAgICAgIDIuIEJ1dCBBdG9taWNTdHJpbmcgc3RpbGwgaGF2ZSBib3Ro
IHN5bWJvbCBhbmQgYXRvbWljIHN0cmluZ3MuCisgICAgICAgIFRoaXMgc2hvdWxkIGJlIHNvbHZl
ZCBpbiB0aGUgc2VwYXJhdGVkIHBhdGNoLgorCisgICAgICAgIEFuZCwgaW4gdGhpcyBwYXRjaCwg
d2UgbW92ZWQgdGhlIEF0b21pY1N0cmluZyB0YWJsZSByZWxhdGVkIG9wZXJhdGlvbnMgZnJvbSBB
dG9taWNTdHJpbmcgdG8gQXRvbWljU3RyaW5nSW1wbC4KKyAgICAgICAgSXQgaXMgcmVhc29uYWJs
ZSBiZWNhdXNlIHRoZXNlIG9wZXJhdGlvbiByZWdpc3RlcnMgU3RyaW5nSW1wbCBhbmQgcmV0dXJu
ZXMgQXRvbWljU3RyaW5nSW1wbC4KKworICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9q
OgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICog
V1RGLnZjeHByb2ovY29weS1maWxlcy5jbWQ6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0
Zi9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6Cisg
ICAgICAgICogd3RmL1ByaW50U3RyZWFtLmNwcDoKKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0u
aDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQvQXRv
bWljU3RyaW5nLmNwcDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpsb3dlcik6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZzo6Y29udmVydFRvQVNDSUlMb3dlcmNhc2UpOgorICAgICAg
ICAoV1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwpOgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdUYWJsZUxvY2tlcjo6QXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpzdHJpbmdUYWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmFk
ZFRvU3RyaW5nVGFibGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpDU3RyaW5nVHJhbnNsYXRv
cjo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjplcXVh
bCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6aGFzaCk6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwpOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6
Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFu
c2xhdG9yOjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFj
dGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0
cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlN1YnN0
cmluZ1RyYW5zbGF0b3I4OjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5n
VHJhbnNsYXRvcjg6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJh
bnNsYXRvcjE2OjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNs
YXRvcjE2OjplcXVhbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNs
YXRvcjo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRv
cjo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OnRyYW5zbGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9tTGl0ZXJh
bERhdGFUcmFuc2xhdG9yOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZl
ckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6Q2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6YWRkRnJvbUxpdGVyYWxEYXRhKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZSk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6cmVtb3ZlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6QXRvbWljU3RyaW5nOjpmaW5kU2xvd0Nhc2UpOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6OmZpbmRJbnRlcm5hbCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0
b21pY1N0cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpBdG9t
aWNTdHJpbmcpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmZpbmQpOiBEZWxldGVkLgor
ICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OkF0b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyOjpBdG9taWNTdHJpbmdUYWJsZUxvY2tlcik6CisgICAgICAgIChXVEY6OnN0
cmluZ1RhYmxlKToKKyAgICAgICAgKFdURjo6YWRkVG9TdHJpbmdUYWJsZSk6CisgICAgICAgIChX
VEY6OkNTdHJpbmdUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6Q1N0cmluZ1RyYW5z
bGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6Q1N0cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0
ZSk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZCk6CisgICAgICAgIChXVEY6
OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OlVDaGFyQnVmZmVy
VHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpVQ2hhckJ1ZmZlclRyYW5zbGF0b3I6
OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6
aGFzaCk6CisgICAgICAgIChXVEY6Okhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjo6ZXF1YWwp
OgorICAgICAgICAoV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
CisgICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6Omhhc2gpOgor
ICAgICAgICAoV1RGOjpIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yOjplcXVhbCk6Cisg
ICAgICAgIChXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
CisgICAgICAgIChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAg
IChXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I4OjpoYXNoKToKKyAgICAgICAgKFdURjo6U3Vic3Ry
aW5nVHJhbnNsYXRvcjg6OmVxdWFsKToKKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNsYXRv
cjE2OjpoYXNoKToKKyAgICAgICAgKFdURjo6U3Vic3RyaW5nVHJhbnNsYXRvcjE2OjplcXVhbCk6
CisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChX
VEY6OkxDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpMQ2hhckJ1
ZmZlclRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6OkNoYXJCdWZmZXJGcm9t
TGl0ZXJhbERhdGFUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZlckZy
b21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKFdURjo6Q2hhckJ1ZmZl
ckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6OkF0
b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YSk6CisgICAgICAgIChXVEY6OkF0b21p
Y1N0cmluZ0ltcGw6OmFkZFNsb3dDYXNlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1w
bDo6cmVtb3ZlKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6bG9va3VwU2xvd0Nh
c2UpOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmdJbXBsOjphZGRGcm9tVVRGOCk6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cEludGVybmFsKToKKyAgICAgICAgKFdU
Rjo6QXRvbWljU3RyaW5nSW1wbDo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0lt
cGw6Omxvb2t1cCk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZCk6CisgICAg
ICAgIChXVEY6OkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKToK
KyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6QXRvbWljU3RyaW5nSW1wbCk6IERlbGV0
ZWQuCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6On5TdHJpbmdJbXBsKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRl
U3ltYm9sKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkpOgor
ICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TeW1i
b2xJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZh
dGVOYW1lLmguCisgICAgICAgICogd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwOgorICAgICAg
ICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6c3ltYm9sRm9yS2V5KToKKyAgICAgICAgKFdURjo6U3lt
Ym9sUmVnaXN0cnk6OmtleUZvclN5bWJvbCk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5
OjpyZW1vdmUpOgorICAgICAgICAqIHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg6CisgICAgICAg
ICogd3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaC4KKyAgICAgICAgKiB3dGYvdGV4dC9XVEZT
dHJpbmcuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjpTdHJpbmcpOgorICAgICAgICAqIHd0Zi90
ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0
Zi90ZXh0L2NmL0F0b21pY1N0cmluZ0NGLmNwcC4KKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5n
SW1wbDo6YWRkKToKKwogMjAxNS0wNS0xMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luXSBNb3ZlIFdpbmRvd3MgYnVpbGQgdGFyZ2V0IHRvIFdpbmRv
d3MgNyAob3IgbmV3ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg0ZDYxNjBmMTE4MmNkZjQxODIwNTI5YTU4
ZWNlZDRhZTE2N2I5Ny4uZWI2ZGNmNGE1MDI2NTA2YzliZTNlZmE1ZGRjMWRkYzNkOThlNDRjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5n
SW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRv
bWljU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ0ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIFVuaXF1ZWRTdHJpbmdJbXBsLCBTeW1ib2xJbXBsIGFuZCBBdG9taWNTdHJpbmdJ
bXBsLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y2xvc2VkUHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVTZXJpYWxpemVyOjp3cml0ZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmdldEVsZW1lbnRCeUlkKToKKwogMjAxNS0wNS0xMiAg
Sm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IFtHVEtd
IERlZmVyIHRvIFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBmb3IgdGFibGUgZXhwb3N1cmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggZWE0Y2ZhZmQ3
YzNlYjhlYTZjZTczZjIzMTZkNDdkOGVjNGNlNWU3MS4uMzNiNDI2MmU2MjAxNzRjZDdiY2Q0NzFj
NTBhNjkzYTlmNDBiNGEwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0LmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgSlNDYWxsYmFja09iamVjdERh
dGEgewogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBI
YXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBI
YXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CiAgICAgICAgIFByaXZhdGVQcm9wZXJ0eU1hcCBtX3By
b3BlcnR5TWFwOwogICAgIH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTUHJpdmF0ZVByb3BlcnR5
TWFwPiBtX3ByaXZhdGVQcm9wZXJ0aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDc5YWNjMTRkYjE0ODNhMmZmYWIyMThiNGYzYzMyMDg2
NjYzYzM0ODMuLmUyM2Y4MGE3NTlkOTk3ZWM2ZmJkOGY4NjQ0NzZkODdmY2IwZWYzMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTM3LDcg
KzM3LDcgQEAKICAgICBjb25zdCBJZGVudGlmaWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV8jI25hbWU7IH0gXAogICAgIGNvbnN0IElkZW50aWZpZXImIG5hbWUjI1ByaXZh
dGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWUjI1ByaXZhdGVOYW1lOyB9CiAKLSNkZWZp
bmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05B
TUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5h
bWUoQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAjbmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElTRV9C
VUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMj
bmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoUHJpdmF0ZU5hbWU6
OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwoIlN5bWJvbC4iICNuYW1lKSkpKQogI2RlZmluZSBE
RUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkg
Y29uc3QgSWRlbnRpZmllciBtXyMjbmFtZSMjU3ltYm9sOwogI2RlZmluZSBERUNMQVJFX0JVSUxU
SU5fU1lNQk9MX0FDQ0VTU09SKG5hbWUpIFwKICAgICBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklF
Ul9BQ0NFU1NPUihuYW1lKSBcCkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7
CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05f
U1lNQk9MKElOSVRJQUxJU0VfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgfQogCi0gICAg
Ym9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1By
aXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1l
KFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgIGJvb2wgaXNQcml2YXRlTmFtZShj
b25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAgICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0
ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGdl
dFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtNzgsNyArNzksNyBAQCBj
bGFzcyBCdWlsdGluTmFtZXMgewogICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFN
RShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJ
RVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NP
TU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9C
VUlMVElOX1NZTUJPTFMpCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwg
Y29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50
aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5O
YW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2
YXRlVG9QdWJsaWNNYXA7CiB9OwpAQCAtOTAsMTYgKzkxLDIxIEBAIGNsYXNzIEJ1aWx0aW5OYW1l
cyB7CiAjdW5kZWYgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMKICN1bmRlZiBERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SCiAKLWlubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2
YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0CitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6
OmlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYgdWlkKSBjb25zdAogewotICAgIGlmICghdWlkLT5p
c1N5bWJvbCgpKQorICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlk
KTsKK30KKworaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKFVuaXF1ZWRT
dHJpbmdJbXBsJiB1aWQpIGNvbnN0Cit7CisgICAgaWYgKCF1aWQuaXNTeW1ib2woKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlu
cyh1aWQpOworICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsK
IH0KIAogaW5saW5lIGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50
aWZpZXImIGlkZW50KSBjb25zdAogewotICAgIHJldHVybiBpc1ByaXZhdGVOYW1lKGlkZW50Lmlt
cGwoKSk7CisgICAgcmV0dXJuIGlzUHJpdmF0ZU5hbWUoKmlkZW50LmltcGwoKSk7CiB9CiAKIGlu
bGluZSBjb25zdCBJZGVudGlmaWVyKiBCdWlsdGluTmFtZXM6OmdldFByaXZhdGVOYW1lKGNvbnN0
IElkZW50aWZpZXImIGlkZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKaW5kZXggODMxYmM2
NjhkYjk0Mzc1NjYzOWJiNGNmZjFiMzQ3MzdjOGJlMmI0Yi4uODdhNTc4YzE2YzMwYTMzNDcwMTQ1
MTU2ZTVkMWM3YjdiYTEzMmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCkBAIC00OCw3ICs0OCw3
IEBAIGNsYXNzIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkgewogCiBwcml2YXRlOgogICAgIGNv
bnN0IENvbW1vbklkZW50aWZpZXJzJiBtX3Byb3BlcnR5TmFtZXM7Ci0gICAgSGFzaE1hcDxSZWZQ
dHI8U3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29k
ZUludHJpbnNpY01hcDsKKyAgICBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEVt
aXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQyYmY0MDQ0MWQxM2Y0
MDU2Li43OTZmMzk5MGFjMDU3ZDVlNDE0YzYyNDc1ZDM1MGQ3NTQxNjJkYzMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtNjYsNiArNjYsNyBA
QAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0
cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJMRShERkdfSklUKQogI2luY2x1
ZGUgIkRGR09wZXJhdGlvbnMuaCIKQEAgLTIwMDUsNyArMjAwNiw3IEBAIGNsYXNzIFB1dFRvU2Nv
cGVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgewogICAgICAgICAgICAgICAgIGlmIChz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ocGNbMl0udS5vcGVyYW5kKSAhPSBVSU5UX01BWCkgewogICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChkaWRDbG9uZVN5bWJvbFRhYmxlKTsKICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKHBj
WzJdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IGlk
ZW50LmltcGwoKTsKKyAgICAgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IGlkZW50LmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBs
b2NrZXIobV9zeW1ib2xUYWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgU3ltYm9s
VGFibGU6Ok1hcDo6aXRlcmF0b3IgaXRlciA9IG1fc3ltYm9sVGFibGUtPmZpbmQobG9ja2VyLCB1
aWQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRlciAhPSBtX3N5bWJvbFRhYmxlLT5l
bmQobG9ja2VyKSk7CkBAIC0zODA5LDcgKzM4MTAsNyBAQCBTdHJpbmcgQ29kZUJsb2NrOjpuYW1l
Rm9yUmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlcikKICAgICAgICAgaWYg
KHB0ci0+dmFsdWUudmFyT2Zmc2V0KCkgPT0gVmFyT2Zmc2V0KHZpcnR1YWxSZWdpc3RlcikpIHsK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsgZnJvbSB0aGUgY29tcGlsYXRp
b24gdGhyZWFkLgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTMwMAotICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwdHItPmtleSk7Cisg
ICAgICAgICAgICByZXR1cm4gU3RyaW5nKHB0ci0+a2V5LmdldCgpKTsKICAgICAgICAgfQogICAg
IH0KICAgICBpZiAodmlydHVhbFJlZ2lzdGVyID09IHRoaXNSZWdpc3RlcigpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwCmluZGV4
IDA0MmRjZWM3N2VmZGMyMGMxMzI1ZWQyN2M4ZDc5OWU3Mzc3ZjY0OTcuLmQ4MTNhM2Q2NTdlY2Fj
ZDk3ZDhmMTBlMDg2MDY0MzY3NjFiY2U1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAog
Q29tcGxleEdldFN0YXR1cyBDb21wbGV4R2V0U3RhdHVzOjpjb21wdXRlRm9yKAogICAgIENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4sCi0gICAgdW5zaWduZWQgY2hhaW5Db3VudCwgQXRvbWljU3RyaW5nSW1wbCog
dWlkKQorICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCB3ZSBuZXZlciBzZWUgYSBzdHJ1
Y3R1cmUgdGhhdAogICAgIC8vIGhhc0ltcHVyZUdldE93blByb3BlcnR5U2xvdCgpIGJ1dCBmb3Ig
d2hpY2ggd2UgZG9uJ3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db21wbGV4R2V0U3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29t
cGxleEdldFN0YXR1cy5oCmluZGV4IDExNWJmM2NlNDFmNTA4YzE2N2Q4MGQxNGFkMWU4NGE4ZWY5
MDBjMzMuLjI2MjA0MDVhOTZmOTc5ODUwMTM0MTM4MDZjNmM0MjUxZWU0ZDNkMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaApAQCAt
OTgsNyArOTgsNyBAQCBjbGFzcyBDb21wbGV4R2V0U3RhdHVzIHsKICAgICAKICAgICBzdGF0aWMg
Q29tcGxleEdldFN0YXR1cyBjb21wdXRlRm9yKAogICAgICAgICBDb2RlQmxvY2sqIHByb2ZpbGVk
QmxvY2ssIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLAot
ICAgICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAg
ICAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAK
ICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KICAgICB1bnNpZ25lZCBh
dHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKaW5kZXggYmYyOGM1NTlh
NmIwOTY2ZWVhZWNlZGRlMjE0NTQ1ZGQ3ODVlOGMxYy4uMzBjMjIwNDdlMjVjNDE1ZjI2ODZmNTU5
ODQzOTAwN2RiMTY3OTMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXRCeUlkU3RhdHVzLmNwcApAQCAtNjYsNyArNjYsNyBAQCBib29sIEdldEJ5SWRTdGF0dXM6
Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2Nr
KiBwcgogfQogI2VuZGlmCiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZy
b21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgs
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29t
cHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHByb2Zp
bGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKQEAgLTkxLDcgKzkx
LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQKICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhT
aW1wbGUsIGZhbHNlLCBHZXRCeUlkVmFyaWFudChTdHJ1Y3R1cmVTZXQoc3RydWN0dXJlKSwgb2Zm
c2V0KSk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAsIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtYXAs
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
Q29uY3VycmVudEpJVExvY2tlciBsb2NrZXIocHJvZmlsZWRCbG9jay0+bV9sb2NrKTsKIApAQCAt
MTE4LDcgKzExOCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihD
b2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZvTWFwJiBtCiAKICNpZiBFTkFCTEUoSklU
KQogR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCi0gICAg
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxv
Y2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgQXRvbWljU3RyaW5nSW1wbCogdWlkLAor
ICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQsCiAgICAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVEYXRhKQog
ewogICAgIGlmICghc3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQpAQCAtMjI0LDcgKzIyNCw3
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogCiBH
ZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBw
cm9maWxlZEJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVN
YXAsCi0gICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQpCisgICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBj
b2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdfSklU
KQogICAgIGlmIChkZmdCbG9jaykgewpAQCAtMjYyLDcgKzI2Miw3IEBAIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICByZXR1cm4gY29tcHV0ZUZvcihwcm9maWxl
ZEJsb2NrLCBiYXNlbGluZU1hcCwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCB1aWQpOwogfQog
Ci1HZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoY29uc3QgU3RydWN0dXJl
U2V0JiBzZXQsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKIHsKICAgICAvLyBGb3Igbm93IHdlIG9ubHkgaGFuZGxlIHRoZSBzdXBlciBzaW1w
bGUgc2VsZiBhY2Nlc3MgY2FzZS4gV2UgY291bGQgaGFuZGxlIHRoZQogICAgIC8vIHByb3RvdHlw
ZSBjYXNlIGluIHRoZSBmdXR1cmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldEJ5SWRTdGF0dXMuaAppbmRleCAyN2JmYjg4ZjRjMTJkNzZiNjI5Mjg1ZjFjYWQyM2YyNmNh
YmQ1ZWM4Li43ZDRlYmIyMmNmZDVhOGFjOGViYWIwY2JlNWI1MmY1NDYzMTY4MmU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKQEAgLTY3LDEw
ICs2NywxMCBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICAgICAgICAgbV92YXJpYW50cy5hcHBl
bmQodmFyaWFudCk7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1
dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBB
dG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVG
b3IoY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0
aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5z
aWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGlj
IEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKTsKICAgICAKLSAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9y
KENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9N
YXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29k
ZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYg
YmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9z
dGF0ZTsgfQogICAgIApAQCAtOTcsOSArOTcsOSBAQCBjbGFzcyBHZXRCeUlkU3RhdHVzIHsKICNp
ZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5m
bygKICAgICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qLAotICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1
aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOworICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0
YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJ
ZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5k
ZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFu
dChjb25zdCBHZXRCeUlkVmFyaWFudCYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBiNDJlNDI5MThhYWY3NDZjOTM5NjA5YjliZDFl
MmY5OWQwNmI0Zjk3Li5jMjBhNGY3Mjg0ZWMxYzU4MTg4NDg2MDIyYjA5YmQ2NDBjMjMxMTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtMTAw
LDcgKzEwMCw3IEBAIHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAgICAgSW5zdHJ1Y3Rpb24oT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUpIHsgdS5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSA9
IHByb2ZpbGU7IH0KICAgICBJbnN0cnVjdGlvbihXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHZhcmlh
YmxlUG9pbnRlcikgeyB1LnZhcmlhYmxlUG9pbnRlciA9IHZhcmlhYmxlUG9pbnRlcjsgfQogICAg
IEluc3RydWN0aW9uKFNwZWNpYWw6OlBvaW50ZXIgcG9pbnRlcikgeyB1LnNwZWNpYWxQb2ludGVy
ID0gcG9pbnRlcjsgfQotICAgIEluc3RydWN0aW9uKFN0cmluZ0ltcGwqIHVpZCkgeyB1LnVpZCA9
IHVpZDsgfQorICAgIEluc3RydWN0aW9uKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIHsgdS51aWQg
PSB1aWQ7IH0KICAgICBJbnN0cnVjdGlvbihib29sKiBwcmVkaWNhdGVQb2ludGVyKSB7IHUucHJl
ZGljYXRlUG9pbnRlciA9IHByZWRpY2F0ZVBvaW50ZXI7IH0KIAogICAgIHVuaW9uIHsKQEAgLTEx
NCw3ICsxMTQsNyBAQCBzdHJ1Y3QgSW5zdHJ1Y3Rpb24gewogICAgICAgICBTcGVjaWFsOjpQb2lu
dGVyIHNwZWNpYWxQb2ludGVyOwogICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBn
ZXR0ZXJGdW5jOwogICAgICAgICBMTEludENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvOwotICAg
ICAgICBTdHJpbmdJbXBsKiB1aWQ7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQ7CiAg
ICAgICAgIFZhbHVlUHJvZmlsZSogcHJvZmlsZTsKICAgICAgICAgQXJyYXlQcm9maWxlKiBhcnJh
eVByb2ZpbGU7CiAgICAgICAgIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqIGFycmF5QWxsb2NhdGlv
blByb2ZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0
QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0
YXR1cy5jcHAKaW5kZXggN2VjMGJhNDMwZTY2Zjc0MTgzMzlkOTgzNGY1ZjYyYWIxYzZlOWY5MC4u
MjRkN2I0NGU0NTdiYTZhNjA1YTNjMWMyYzVmOTdlNzgxNGViNjc5MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApAQCAtNjIsNyArNjIs
NyBAQCBib29sIFB1dEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcgogfQogI2VuZGlmCiAKLVB1dEJ5SWRTdGF0dXMg
UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1B1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVk
QmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRl
Y29kZUluZGV4KTsKQEAgLTEwNSw3ICsxMDUsNyBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0
dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25lZAog
ICAgIHJldHVybiBQdXRCeUlkVmFyaWFudDo6dHJhbnNpdGlvbihzdHJ1Y3R1cmUsIG5ld1N0cnVj
dHVyZSwgaW50ZW5kZWRDaGFpbi5nZXQoKSwgb2Zmc2V0KTsKIH0KIAotUHV0QnlJZFN0YXR1cyBQ
dXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1Yklu
Zm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlk
KQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihw
cm9maWxlZEJsb2NrLT5tX2xvY2spOwogICAgIApAQCAtMTM0LDcgKzEzNCw3IEBAIFB1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IFN0dWJJbmZvTWFwJiBtCiAjaWYgRU5BQkxFKEpJVCkKIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKAogICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
IGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNp
dGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgQ2Fs
bExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBjYWxsRXhpdFNpdGVEYXRhKQogewogICAgIGlmICgh
c3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1
cygpOwpAQCAtMjc0LDcgKzI3NCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29t
cHV0ZUZvclN0dWJJbmZvKAogfQogI2VuZGlmCiAKLVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxv
Y2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3RhdHVzIFB1
dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxv
Y2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdN
YXAsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICNp
ZiBFTkFCTEUoREZHX0pJVCkKICAgICBpZiAoZGZnQmxvY2spIHsKQEAgLTMwOCw3ICszMDgsNyBA
QCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNl
bGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZwogICAgIHJldHVybiBjb21wdXRlRm9yKGJhc2VsaW5l
QmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7CiB9CiAK
LVB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgQXRvbWljU3RyaW5nSW1wbCog
dWlkLCBib29sIGlzRGlyZWN0KQorUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0KQogewogICAgIGlmIChwYXJz
ZUluZGV4KCp1aWQpKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhUYWtlc1Nsb3dQYXRo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCmlu
ZGV4IGY1NTM2MmUxM2Q5M2I3N2E4YmNkZjNlZmJkOWYxZmUxNWM2ZTdhNGEuLjA0NjFkYzRkNmZk
MmYzNWM4Njc0MWIwNzQyZjVjNjkyZjJjYjEzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaApAQCAtNzAsMTAgKzcwLDEwIEBAIGNsYXNzIFB1
dEJ5SWRTdGF0dXMgewogICAgICAgICBtX3ZhcmlhbnRzLmFwcGVuZCh2YXJpYW50KTsKICAgICB9
CiAgICAgCi0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBT
dHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCk7Ci0gICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cnVjdHVyZVNldCYsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgYm9vbCBpc0RpcmVj
dCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHVi
SW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqLCBj
b25zdCBTdHJ1Y3R1cmVTZXQmLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0
KTsKICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayog
YmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5l
TWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luLCBBdG9taWNTdHJpbmdJbXBsKiB1
aWQpOworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNl
bGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAs
IFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OwogICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAg
IApAQCAtOTYsMTAgKzk2LDEwIEBAIGNsYXNzIFB1dEJ5SWRTdGF0dXMgewogI2VuZGlmCiAjaWYg
RU5BQkxFKEpJVCkKICAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yU3R1YkluZm8o
Ci0gICAgICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDb2RlQmxvY2sqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwKKyAgICAgICAgY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwKICAgICAgICAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSk7CiAj
ZW5kaWYKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9j
ayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAg
c3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25l
ZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICAKICAgICBib29s
IGFwcGVuZFZhcmlhbnQoY29uc3QgUHV0QnlJZFZhcmlhbnQmKTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKaW5kZXggYzNjZTg3NTU5MWEzMjlmNzNlYTVkYjI2MDZiZjU2Njk4YTI1ZjFhNi4uODc2MWQ1
ZTE3NTIwODU3OTJmOTgwMDAwMTJkMmU2Y2NmNzk1MGJkMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAg
LTIxMCw3ICsyMTAsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUo
KQogICAgIGJvb2wgc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhpbmdzID0gbV9zaG91bGRFbWl0RGVi
dWdIb29rcyB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCk7CiAgICAgYm9vbCBuZWVkc0FyZ3VtZW50
cyA9IGZ1bmN0aW9uTm9kZS0+dXNlc0FyZ3VtZW50cygpIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwo
KTsKICAgICAKLSAgICBhdXRvIGNhcHR1cmVzID0gWyZdIChTdHJpbmdJbXBsKiB1aWQpIC0+IGJv
b2wgeworICAgIGF1dG8gY2FwdHVyZXMgPSBbJl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIC0+
IGJvb2wgewogICAgICAgICBpZiAoc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhpbmdzKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmICghc2hvdWxkQ2FwdHVyZVNvbWVPZlRoZVRo
aW5ncykKQEAgLTIyNCw3ICsyMjQsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6
Z2VuZXJhdGUoKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmdW5jdGlvbk5vZGUtPmNhcHR1
cmVzKHVpZCk7CiAgICAgfTsKLSAgICBhdXRvIHZhcktpbmQgPSBbJl0gKFN0cmluZ0ltcGwqIHVp
ZCkgLT4gVmFyS2luZCB7CisgICAgYXV0byB2YXJLaW5kID0gWyZdIChVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKSAtPiBWYXJLaW5kIHsKICAgICAgICAgcmV0dXJuIGNhcHR1cmVzKHVpZCkgPyBWYXJL
aW5kOjpTY29wZSA6IFZhcktpbmQ6OlN0YWNrOwogICAgIH07CiAKQEAgLTMxNCw3ICszMTQsNyBA
QCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBTY29wZU9mZnNldCBvZmZzZXQgPSBtX3N5bWJvbFRhYmxlLT50YWtlTmV4dFNj
b3BlT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0QXJndW1lbnRP
ZmZzZXQodm0sIGksIG9mZnNldCk7Ci0gICAgICAgICAgICAgICAgaWYgKFN0cmluZ0ltcGwqIG5h
bWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkgeworICAgICAg
ICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFy
YW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKSB7CiAgICAgICAgICAgICAgICAgICAgIFZhck9mZnNl
dCB2YXJPZmZzZXQob2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGVFbnRy
eSBlbnRyeSh2YXJPZmZzZXQpOwogICAgICAgICAgICAgICAgICAgICAvLyBTdG9yZXMgdG8gdGhl
c2UgdmFyaWFibGVzIHZpYSB0aGUgU2NvcGVkQXJndW1lbnRzIG9iamVjdCB3aWxsIG5vdCBkbwpA
QCAtMzQyLDcgKzM0Miw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0
ZSgpCiAgICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBwdXQgYWxsIHBhcmFtZXRlcnMgaW50
byB0aGUgRGlyZWN0QXJndW1lbnRzIG9iamVjdC4gRmlyc3QgZW5zdXJlCiAgICAgICAgICAgICAv
LyB0aGF0IHRoZSBzeW1ib2wgdGFibGUga25vd3MgdGhhdCB0aGlzIGlzIGhhcHBlbmluZy4KICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZv
clBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKSkKKyAgICAgICAgICAgICAgICBpZiAoVW5pcXVl
ZFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0
KGkpKSkKICAgICAgICAgICAgICAgICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0KG5hbWUsIFN5bWJv
bFRhYmxlRW50cnkoVmFyT2Zmc2V0KERpcmVjdEFyZ3VtZW50c09mZnNldChpKSkpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzUzLDcgKzM1Myw3IEBAIFBhcnNlckVycm9yIEJ5
dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIC8vIENyZWF0ZSB0aGUgZm9ybWFs
IHBhcmFtZXRlcnMgdGhlIG5vcm1hbCB3YXkuIEFueSBvZiB0aGVtIGNvdWxkIGJlIGNhcHR1cmVk
LCBvciBub3QuIElmCiAgICAgICAgIC8vIGNhcHR1cmVkLCBsaWZ0IHRoZW0gaW50byB0aGUgc2Nv
cGUuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJh
bWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCog
bmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpOwogICAgICAg
ICAgICAgaWYgKCFuYW1lKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAg
CkBAIC00NjUsNyArNDY1LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVy
YXRlKCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaGF2ZVBhcmFtZXRlck5hbWVkQXJndW1lbnRz
ID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVG
b3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpOwog
ICAgICAgICAgICAgaWYgKG5hbWUgPT0gcHJvcGVydHlOYW1lcygpLmFyZ3VtZW50cy5pbXBsKCkp
IHsKICAgICAgICAgICAgICAgICBoYXZlUGFyYW1ldGVyTmFtZWRBcmd1bWVudHMgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTQ1LDcgKzU0NSw3IEBAIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjppbml0aWFsaXplTmV4dFBhcmFtZXRlcigpCiAgICAgcmV0dXJuICZw
YXJhbWV0ZXI7CiB9CiAKLVN0cmluZ0ltcGwqIEJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFt
ZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKiBwYXR0ZXJuKQorVW5pcXVl
ZFN0cmluZ0ltcGwqIEJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihE
ZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKiBwYXR0ZXJuKQogewogICAgIGlmIChwYXR0ZXJuLT5p
c0JpbmRpbmdOb2RlKCkpIHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBzdGF0
aWNfY2FzdDxjb25zdCBCaW5kaW5nTm9kZSo+KHBhdHRlcm4pLT5ib3VuZFByb3BlcnR5KCk7CkBA
IC05NTQsMTMgKzk1NCwxMyBAQCB2b2lkIEFMV0FZU19JTkxJTkUgQnl0ZWNvZGVHZW5lcmF0b3I6
OnJld2luZFVuYXJ5T3AoKQogCiBib29sIEJ5dGVjb2RlR2VuZXJhdG9yOjpoYXNDb25zdGFudChj
b25zdCBJZGVudGlmaWVyJiBpZGVudCkgY29uc3QKIHsKLSAgICBTdHJpbmdJbXBsKiByZXAgPSBp
ZGVudC5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsK
ICAgICByZXR1cm4gbV9pZGVudGlmaWVyTWFwLmNvbnRhaW5zKHJlcCk7CiB9CiAKIHVuc2lnbmVk
IEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRDb25zdGFudChjb25zdCBJZGVudGlmaWVyJiBpZGVudCkK
IHsKLSAgICBTdHJpbmdJbXBsKiByZXAgPSBpZGVudC5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKICAgICBJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQg
cmVzdWx0ID0gbV9pZGVudGlmaWVyTWFwLmFkZChyZXAsIG1fY29kZUJsb2NrLT5udW1iZXJPZklk
ZW50aWZpZXJzKCkpOwogICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgbV9jb2Rl
QmxvY2stPmFkZElkZW50aWZpZXIoaWRlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGI4MTU2MzIwMDlj
ZDhmZGNmZTQ5Y2RiM2M2YjMxMDkyMWNmY2JhN2EuLjNlYjQ3NDc1OTIyZWY1YzlmMzVhYjlmYjgw
MmIxZDgwNjk5YzEwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTYxOCw3ICs2MTgsNyBAQAogICAgICAg
ICB2b2lkIGVtaXRDb21wbGV4UG9wU2NvcGVzKFJlZ2lzdGVySUQqLCBDb250cm9sRmxvd0NvbnRl
eHQqIHRvcFNjb3BlLCBDb250cm9sRmxvd0NvbnRleHQqIGJvdHRvbVNjb3BlKTsKIAogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBKU1ZhbHVlPiBOdW1iZXJNYXA7Ci0gICAgICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVyUmVwSGFzaD4g
SWRlbnRpZmllclN0cmluZ01hcDsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRTdHJp
bmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclN0cmluZ01h
cDsKICAgICAgICAgCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1pdENhbGwoKSBhbmQgZW1pdENv
bnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBvZgogICAgICAgICAvLyBleHBl
Y3RlZCBmdW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3IgZm9yIGJvdGggY2FsbCBhbmQg
Y29uc3RydWN0CkBAIC02NDEsNyArNjQxLDcgQEAKIAogICAgICAgICAvLyBJbml0aWFsaXplcyB0
aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVyOyBkb2VzIG5vdGhpbmcgZm9yIHRoZSBzeW1ib2wg
dGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQqIGluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCk7Ci0g
ICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9u
UGF0dGVybk5vZGUqKTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9y
UGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsKICAgICAgICAgCiAgICAgICAg
IFJlZ2lzdGVySUQmIHJlZ2lzdGVyRm9yKFZpcnR1YWxSZWdpc3RlciByZWcpCiAgICAgICAgIHsK
QEAgLTcxOCw3ICs3MTgsNyBAQAogCiAgICAgICAgIC8vIFNvbWUgb2YgdGhlc2Ugb2JqZWN0cyBr
ZWVwIHBvaW50ZXJzIHRvIG9uZSBhbm90aGVyLiBUaGV5IGFyZSBhcnJhbmdlZAogICAgICAgICAv
LyB0byBlbnN1cmUgYSBzYW5lIGRlc3RydWN0aW9uIG9yZGVyIHRoYXQgYXZvaWRzIHJlZmVyZW5j
ZXMgdG8gZnJlZWQgbWVtb3J5LgotICAgICAgICBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPiwg
SWRlbnRpZmllclJlcEhhc2g+IG1fZnVuY3Rpb25zOworICAgICAgICBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2Z1bmN0aW9uczsKICAgICAg
ICAgUmVnaXN0ZXJJRCBtX2lnbm9yZWRSZXN1bHRSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJ
RCBtX3RoaXNSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJRCBtX2NhbGxlZVJlZ2lzdGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCmluZGV4IDM5YjAzY2RkY2ZiMjMxMDMzNGExZDYzYzgzZjhmMzg1M2QxNmM2ZmMuLmM1OGQz
OGQ1ZTU2ZjY4Y2FiYWMyZWEzOTJmMjZlZmIyZTJkOWVkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM4Myw3ICsz
ODMsNyBAQCBSZWdpc3RlcklEKiBQcm9wZXJ0eUxpc3ROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZQogICAgIC8vIFdlcmUgdGhlcmUgYW55IGdl
dC9zZXQgcHJvcGVydGllcz8KICAgICBpZiAocCkgewogICAgICAgICB0eXBlZGVmIHN0ZDo6cGFp
cjxQcm9wZXJ0eU5vZGUqLCBQcm9wZXJ0eU5vZGUqPiBHZXR0ZXJTZXR0ZXJQYWlyOwotICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIEdldHRlclNldHRlclBhaXI+IEdldHRlclNl
dHRlck1hcDsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgR2V0
dGVyU2V0dGVyUGFpciwgSWRlbnRpZmllclJlcEhhc2g+IEdldHRlclNldHRlck1hcDsKICAgICAg
ICAgR2V0dGVyU2V0dGVyTWFwIG1hcDsKIAogICAgICAgICAvLyBCdWlsZCBhIG1hcCwgcGFpcmlu
ZyBnZXQvc2V0IHZhbHVlcyB0b2dldGhlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggYWJjNTFkNDZhMDUxOTdkZjQxM2MzYjM2ZGYx
Njk2ZDM5YmNjYWEwMS4uMjQ3ZTY0MDgyYzhjYTJhOGU1OTU2MjZjMWY2OTM3NmEzZDUzODNlZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
QEAgLTMxMDAsNyArMzEwMCw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQgbGltaXQpCiAgICAgICAgICAgICBOb2RlKiBiYXNlID0gZ2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBb
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZF07CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlm
aWVyTnVtYmVyXTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBo
LmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CiAgICAgICAgICAgICBHZXRCeUlkU3Rh
dHVzIGdldEJ5SWRTdGF0dXMgPSBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAogICAgICAgICAg
ICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgbV9kZmdDb2RlQmxvY2ss
CiAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9zdHViSW5mb3MsIG1fZGZnU3R1
YkluZm9zLApAQCAtMzQ2MSw3ICszNDYxLDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VC
bG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHNjb3BlID0gY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1i
ZXIgPSBtX2lubGluZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1hcFtjdXJyZW50SW5zdHJ1Y3Rp
b25bM10udS5vcGVyYW5kXTsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IG1f
Z3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKKyAgICAgICAgICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJl
cl07CiAgICAgICAgICAgICBSZXNvbHZlVHlwZSByZXNvbHZlVHlwZSA9IFJlc29sdmVNb2RlQW5k
VHlwZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kKS50eXBlKCk7CiAKICAgICAgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gMDsKQEAgLTM2MDMsMTEgKzM2MDMsOSBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAg
ICAgIGlkZW50aWZpZXJOdW1iZXIgPSBtX2lubGluZVN0YWNrVG9wLT5tX2lkZW50aWZpZXJSZW1h
cFtpZGVudGlmaWVyTnVtYmVyXTsKICAgICAgICAgICAgIHVuc2lnbmVkIHZhbHVlID0gY3VycmVu
dEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKICAgICAgICAgICAgIFJlc29sdmVUeXBlIHJlc29s
dmVUeXBlID0gUmVzb2x2ZU1vZGVBbmRUeXBlKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJh
bmQpLnR5cGUoKTsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZDsKKyAgICAgICAg
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBudWxscHRyOwogICAgICAgICAgICAgaWYgKGlk
ZW50aWZpZXJOdW1iZXIgIT0gVUlOVF9NQVgpCiAgICAgICAgICAgICAgICAgdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHVpZCA9IG51bGxwdHI7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAgICAgIFdhdGNocG9pbnRTZXQq
IHdhdGNocG9pbnRzID0gbnVsbHB0cjsKQEAgLTQwMjAsNyArNDAxOCw3IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OmJ1aWxkT3BlcmFuZE1hcHNJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1fc3dpdGNo
UmVtYXAucmVzaXplKGNvZGVCbG9jay0+bnVtYmVyT2ZTd2l0Y2hKdW1wVGFibGVzKCkpOwogCiAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZp
ZXJzKCk7ICsraSkgewotICAgICAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogcmVwID0gY29kZUJs
b2NrLT5pZGVudGlmaWVyKGkpLmltcGwoKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIoaSkuaW1wbCgpOwogICAgICAgICAgICAgQm9y
cm93ZWRJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gYnl0ZUNvZGVQYXJzZXItPm1f
aWRlbnRpZmllck1hcC5hZGQocmVwLCBieXRlQ29kZVBhcnNlci0+bV9ncmFwaC5pZGVudGlmaWVy
cygpLm51bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgICAgICAgICBpZiAocmVzdWx0LmlzTmV3
RW50cnkpCiAgICAgICAgICAgICAgICAgYnl0ZUNvZGVQYXJzZXItPm1fZ3JhcGguaWRlbnRpZmll
cnMoKS5hZGRMYXppbHkocmVwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAppbmRleCA2NWMzMDFkYmVlMTZkM2Y3NGI1NDI3Yjdh
MGY2OTI0ODg0MWM0ZTMyLi41NTE0NWUwZTNmYTZlYzYyYWEyZTM5ZTYyYTI2YTY3Y2U4YTUyNDE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlm
aWVycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRp
ZmllcnMuY3BwCkBAIC01MiwxNCArNTIsMTQgQEAgdW5zaWduZWQgRGVzaXJlZElkZW50aWZpZXJz
OjpudW1iZXJPZklkZW50aWZpZXJzKCkKICAgICByZXR1cm4gbV9jb2RlQmxvY2stPm51bWJlck9m
SWRlbnRpZmllcnMoKSArIG1fYWRkZWRJZGVudGlmaWVycy5zaXplKCk7CiB9CiAKLXZvaWQgRGVz
aXJlZElkZW50aWZpZXJzOjphZGRMYXppbHkoQXRvbWljU3RyaW5nSW1wbCogcmVwKQordm9pZCBE
ZXNpcmVkSWRlbnRpZmllcnM6OmFkZExhemlseShVbmlxdWVkU3RyaW5nSW1wbCogcmVwKQogewog
ICAgIG1fYWRkZWRJZGVudGlmaWVycy5hcHBlbmQocmVwKTsKIH0KIAotQXRvbWljU3RyaW5nSW1w
bCogRGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK1VuaXF1ZWRT
dHJpbmdJbXBsKiBEZXNpcmVkSWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGluZGV4KSBjb25zdAog
ewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlc3VsdDsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
cmVzdWx0OwogICAgIGlmIChpbmRleCA8IG1fY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZpZXJz
KCkpCiAgICAgICAgIHJlc3VsdCA9IG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGluZGV4KS5pbXBs
KCk7CiAgICAgZWxzZQpAQCAtNzEsNyArNzEsNyBAQCBBdG9taWNTdHJpbmdJbXBsKiBEZXNpcmVk
SWRlbnRpZmllcnM6OmF0KHVuc2lnbmVkIGluZGV4KSBjb25zdAogdm9pZCBEZXNpcmVkSWRlbnRp
ZmllcnM6OnJlYWxseUFkZChWTSYgdm0sIENvbW1vbkRhdGEqIGNvbW1vbkRhdGEpCiB7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYWRkZWRJZGVudGlmaWVycy5zaXplKCk7ICsraSkg
ewotICAgICAgICBTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRlbnRpZmllcnNbaV07CisgICAg
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBtX2FkZGVkSWRlbnRpZmllcnNbaV07CiAgICAg
ICAgIEFTU0VSVChyZXAtPmhhc0F0TGVhc3RPbmVSZWYoKSk7CiAgICAgICAgIGNvbW1vbkRhdGEt
PmRmZ0lkZW50aWZpZXJzLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlkKCZ2bSwgcmVwKSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRl
bnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZp
ZXJzLmgKaW5kZXggZjljZTM4MWZjZTBmMjE1ZjU4NzM1NTRiZTI1NDhlZGM2ZTE3N2IyNy4uM2Ey
YTM0ODU3ZjNiMGY3MmVlMWM5YWYzMTY0ZjJlNDk0NDNjYTYyNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oCkBAIC00NSwxNyArNDUs
MTcgQEAgY2xhc3MgRGVzaXJlZElkZW50aWZpZXJzIHsKICAgICB+RGVzaXJlZElkZW50aWZpZXJz
KCk7CiAgICAgCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZJZGVudGlmaWVycygpOwotICAgIHZvaWQg
YWRkTGF6aWx5KEF0b21pY1N0cmluZ0ltcGwqKTsKKyAgICB2b2lkIGFkZExhemlseShVbmlxdWVk
U3RyaW5nSW1wbCopOwogICAgIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0KHVuc2lnbmVkIGlu
ZGV4KSBjb25zdDsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogYXQodW5zaWduZWQgaW5kZXgpIGNv
bnN0OwogICAgIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIG9wZXJhdG9yW10odW5zaWduZWQgaW5k
ZXgpIGNvbnN0IHsgcmV0dXJuIGF0KGluZGV4KTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBv
cGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBhdChpbmRleCk7IH0KICAg
ICAKICAgICB2b2lkIHJlYWxseUFkZChWTSYsIENvbW1vbkRhdGEqKTsKICAgICAKIHByaXZhdGU6
CiAgICAgQ29kZUJsb2NrKiBtX2NvZGVCbG9jazsKLSAgICBWZWN0b3I8QXRvbWljU3RyaW5nSW1w
bCo+IG1fYWRkZWRJZGVudGlmaWVyczsKKyAgICBWZWN0b3I8VW5pcXVlZFN0cmluZ0ltcGwqPiBt
X2FkZGVkSWRlbnRpZmllcnM7CiB9OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCBhM2UwYTAyZjdj
MmIxMzM3YmE3M2FlZjU3YmExNmEyOTgwZGExNDhmLi40NGQ2MmM2ODU5NDVmNGIzNDI5ODYyZWIw
ZmMzYWM3MjQxMWRmYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKQEAgLTk2NCwxNiArOTY0LDE2IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICAgICAgaWYgKCFtX2dyYXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYywgQmFkQ2FjaGUpCiAgICAgICAgICAgICAgICAgJiYgIW1fZ3JhcGguaGFzRXhp
dFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBCYWRJbmRleGluZ1R5cGUpCiAgICAgICAgICAg
ICAgICAgJiYgIW1fZ3JhcGguaGFzRXhpdFNpdGUobm9kZS0+b3JpZ2luLnNlbWFudGljLCBFeG90
aWNPYmplY3RNb2RlKSkgewotICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIGltcGwgPSBtX2dy
YXBoLmlkZW50aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKLSAgICAgICAgICAg
ICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBsKCkpIHsKKyAg
ICAgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVy
cygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9
PSB2bSgpLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBsKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgYXR0ZW1wdFRvTWFrZUdldEFycmF5TGVuZ3RoKG5vZGUpOwogICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKGltcGwgPT0g
dm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLmltcGwoKSkgeworICAgICAgICAgICAgICAg
IGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLmltcGwoKSkgewogICAg
ICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0VHlwZWRBcnJheUJ5dGVMZW5ndGgobm9k
ZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBpZiAoaW1wbCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5dGVPZmZzZXQuaW1w
bCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHVpZCA9PSB2bSgpLnByb3BlcnR5TmFtZXMtPmJ5
dGVPZmZzZXQuaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHRUb01ha2VHZXRU
eXBlZEFycmF5Qnl0ZU9mZnNldChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgfQpAQCAtMTQ5Niw3ICsxNDk2LDcgQEAgY2xhc3MgRml4dXBQaGFzZSA6
IHB1YmxpYyBQaGFzZSB7CiAgICAgfQogICAgIAogICAgIGJvb2wgaXNTdHJpbmdQcm90b3R5cGVN
ZXRob2RTYW5lKAotICAgICAgICBKU09iamVjdCogc3RyaW5nUHJvdG90eXBlLCBTdHJ1Y3R1cmUq
IHN0cmluZ1Byb3RvdHlwZVN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorICAgICAg
ICBKU09iamVjdCogc3RyaW5nUHJvdG90eXBlLCBTdHJ1Y3R1cmUqIHN0cmluZ1Byb3RvdHlwZVN0
cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXNVbnVzZWQ7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IGZh
MzdhNzExNDJlMjg1OWY1ZWNlNDc0YjUwNmZhMzFiMDZjOWQxNDQuLjE3NjliNzM2OTUzYjFiMDcx
ZmRhOWU5YTMyNDg0MDJhNjU2OGViZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC05MDYsNyArOTA2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUluKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBhdXRvIHNsb3dQYXRo
ID0gc2xvd1BhdGhDYWxsKAogICAgICAgICAgICAgICAgIGp1bXAubV9qdW1wLCB0aGlzLCBvcGVy
YXRpb25Jbk9wdGltaXplLAogICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25s
eShyZXN1bHRHUFIpLCBzdHViSW5mbywgYmFzZUdQUiwKLSAgICAgICAgICAgICAgICBzdHJpbmct
PnRyeUdldFZhbHVlSW1wbCgpKTsKKyAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBB
dG9taWNTdHJpbmdJbXBsKj4oc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSkpOwogICAgICAgICAg
ICAgCiAgICAgICAgICAgICBzdHViSW5mby0+Y29kZU9yaWdpbiA9IG5vZGUtPm9yaWdpbi5zZW1h
bnRpYzsKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC5iYXNlR1BSID0gc3RhdGljX2Nhc3Q8
aW50OF90PihiYXNlR1BSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAppbmRleCBiOWU2ZTBkZDI0ZmRlYmYwYzFjZDdkMjE0YmZjZWVjZGZmZTU3NGQ5
Li5iNjY2NDJlYWM4ZWYwOTVmYjQwZjVlYzk4NjE4MTgyODhmN2M0MWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC01NTYsNyArNTU2LDcg
QEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIGJvb2wgaXNLbm93bk5vdE51bWJlcihOb2Rl
KiBub2RlKSB7IHJldHVybiAhKG1fc3RhdGUuZm9yTm9kZShub2RlKS5tX3R5cGUgJiBTcGVjRnVs
bE51bWJlcik7IH0KICAgICBib29sIGlzS25vd25Ob3RDZWxsKE5vZGUqIG5vZGUpIHsgcmV0dXJu
ICEobV9zdGF0ZS5mb3JOb2RlKG5vZGUpLm1fdHlwZSAmIFNwZWNDZWxsKTsgfQogICAgIAotICAg
IFN0cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5kZXgpCisgICAgVW5pcXVlZFN0
cmluZ0ltcGwqIGlkZW50aWZpZXJVSUQodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBy
ZXR1cm4gbV9qaXQuZ3JhcGgoKS5pZGVudGlmaWVycygpW2luZGV4XTsKICAgICB9CkBAIC0xMTc5
LDcgKzExNzksNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3Vs
dChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSV9KSVRPcGVyYXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVF9KSVRPcGVy
YXRpb25fRUpzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdCk7CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTEyODUs
MTIgKzEyODUsMTIgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAg
ICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
U3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25z
dCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVk
SW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgU3RyaW5n
SW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0
dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwpAQCAt
MTQ0NSw3ICsxNDQ1LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgVHJ1c3RlZEltbVB0cihwb2lu
dGVyKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJh
dGlvbik7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
R1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIGFyZzIsIFRydXN0
ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvbik7CkBAIC0xNTQ1LDcgKzE1NDUsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJ
VCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
VHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwpA
QCAtMTYxMSwxNyArMTYxMSwxNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwp
KTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVz
dGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1
bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQs
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2FkLCBh
cmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3Vs
dFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgaW50MzJfdCBhcmcxVGFnLCBH
UFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyBy
ZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIGludDMyX3QgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgVHJ1c3RlZEltbTMyKGFyZzFU
YWcpLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRh
Zyk7CkBAIC0xNzU0LDcgKzE3NTQsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBh
cmcxUGF5bG9hZCwgYXJnMVRhZywgYXJnMiwgVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CiAgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiAgICAg
fQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNz
aUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFU
YWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJQYXlsb2FkLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlBheWxvYWQsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBhcmcy
UGF5bG9hZCwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCBUcnVzdGVkSW1tUHRyKHVp
ZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRp
b24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKaW5kZXggM2NlODEx
ODhiZjE4ZmJmZjRlZDM3YTI2MzQ3ODcyNmUwYmIyNDQwMy4uY2I1ZTc1NDQ2MjQ5M2NmYTlhNzZl
YjNmY2RiZmNiOTZiM2JlZjliMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21waWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBp
bGUuY3BwCkBAIC01MTUsNyArNTE1LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9u
U3RhY2tNYXBzKAogCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgc2xvd0Nh
bGwgPSBjYWxsT3BlcmF0aW9uKAogICAgICAgICAgICAgICAgICAgICBzdGF0ZSwgdXNlZFJlZ2lz
dGVycywgc2xvd1BhdGhKSVQsIGNoZWNrSW4uY29kZU9yaWdpbigpLCAmZXhjZXB0aW9uVGFyZ2V0
LAotICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25Jbk9wdGltaXplLCByZXN1bHQsIHN0dWJJ
bmZvLCBvYmosIGNoZWNrSW4ubV9pZCk7CisgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbklu
T3B0aW1pemUsIHJlc3VsdCwgc3R1YkluZm8sIG9iaiwgY2hlY2tJbi5tX3VpZCk7CiAKICAgICAg
ICAgICAgICAgICBjaGVja0luLm1fc2xvd1BhdGhEb25lLmFwcGVuZChzbG93UGF0aEpJVC5qdW1w
KCkpOwogICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgKaW5kZXggODJiNjIzOGNjMzRkZTNiMjQ0ODk0
ODU5MzM1MzQzYThhNTk1ZjQ1NS4uOGMxNDNkMWZiN2RlMGEzOWZhNGJiMjk4ZTMyYzA3ZTQ5MmUz
ZTBiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNo
ZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNh
Y2hlRGVzY3JpcHRvci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSklUSW5saW5lQ2Fj
aGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1w
bC5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKQEAgLTM5LDcgKzQwLDcg
QEAgY2xhc3MgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKIHB1YmxpYzoKICAgICBJbmxpbmVDYWNo
ZURlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IodW5zaWdu
ZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1aWQpCisg
ICAgSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4g
Y29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICAgICAgOiBtX3N0YWNrbWFw
SUQoc3RhY2ttYXBJRCkKICAgICAgICAgLCBtX2NvZGVPcmlnaW4oY29kZU9yaWdpbikKICAgICAg
ICAgLCBtX3VpZCh1aWQpCkBAIC00OCwxMiArNDksMTIgQEAgY2xhc3MgSW5saW5lQ2FjaGVEZXNj
cmlwdG9yIHsKICAgICAKICAgICB1bnNpZ25lZCBzdGFja21hcElEKCkgY29uc3QgeyByZXR1cm4g
bV9zdGFja21hcElEOyB9CiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKCkgY29uc3QgeyByZXR1
cm4gbV9jb2RlT3JpZ2luOyB9Ci0gICAgU3RyaW5nSW1wbCogdWlkKCkgY29uc3QgeyByZXR1cm4g
bV91aWQ7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKCkgY29uc3QgeyByZXR1cm4gbV91
aWQ7IH0KICAgICAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9zdGFja21hcElEOwogICAgIENv
ZGVPcmlnaW4gbV9jb2RlT3JpZ2luOwotICAgIFN0cmluZ0ltcGwqIG1fdWlkOworICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICAKIHB1YmxpYzoKICAgICBWZWN0b3I8TWFjcm9Bc3Nl
bWJsZXI6Okp1bXA+IG1fc2xvd1BhdGhEb25lOwpAQCAtNjMsNyArNjQsNyBAQCBjbGFzcyBHZXRC
eUlkRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogcHVibGljOgog
ICAgIEdldEJ5SWREZXNjcmlwdG9yKCkgeyB9CiAgICAgCi0gICAgR2V0QnlJZERlc2NyaXB0b3Io
dW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgR2V0QnlJZERlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgICAgICA6IElubGluZUNh
Y2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCB1aWQpCiAgICAgewogICAgIH0K
QEAgLTc2LDcgKzc3LDcgQEAgY2xhc3MgUHV0QnlJZERlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5l
Q2FjaGVEZXNjcmlwdG9yIHsKICAgICBQdXRCeUlkRGVzY3JpcHRvcigpIHsgfQogICAgIAogICAg
IFB1dEJ5SWREZXNjcmlwdG9yKAotICAgICAgICB1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCwKKyAgICAgICAgdW5zaWduZWQgc3RhY2tt
YXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLAogICAg
ICAgICBFQ01BTW9kZSBlY21hTW9kZSwgUHV0S2luZCBwdXRLaW5kKQogICAgICAgICA6IElubGlu
ZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCB1aWQpCiAgICAgICAgICwg
bV9lY21hTW9kZShlY21hTW9kZSkKQEAgLTExMSwxNCArMTEyLDE0IEBAIGNsYXNzIENoZWNrSW5E
ZXNjcmlwdG9yIDogcHVibGljIElubGluZUNhY2hlRGVzY3JpcHRvciB7CiBwdWJsaWM6CiAgICAg
Q2hlY2tJbkRlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBDaGVja0luRGVzY3JpcHRvcih1bnNp
Z25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFN0cmluZ0ltcGwq
IGlkKQorICAgIENoZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmln
aW4gY29kZU9yaWdpbiwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICAgICAgOiBJ
bmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgbnVsbHB0cikKLSAg
ICAgICAgLCBtX2lkKGlkKQorICAgICAgICAsIG1fdWlkKHVpZCkKICAgICB7CiAgICAgfQogCiAg
ICAgCi0gICAgY29uc3QgU3RyaW5nSW1wbCogbV9pZDsKKyAgICBjb25zdCBVbmlxdWVkU3RyaW5n
SW1wbCogbV91aWQ7CiAgICAgVmVjdG9yPENoZWNrSW5HZW5lcmF0b3I+IG1fZ2VuZXJhdG9yczsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2lj
UmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKaW5kZXggNGIyOGQzNTYyNWE3MzI3YzEyOWM2MWEwYjc4NTczMGI4Mjk1MjYzZC4u
YTViOGY3MzFjZTJjMjExZDlmYTQ0YTNhNzM0MjAzYTIzZDNhZWExNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTczLDcg
KzczLDcgQEAKICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FU3RaWiwgZnVuY3Rpb25UeXBlKGlu
dFB0ciwgaW50UHRyLCBpbnRQdHIsIGludDMyLCBpbnQzMikpIFwKICAgICBtYWNybyhDX0pJVE9w
ZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAgICBt
YWNybyhEX0pJVE9wZXJhdGlvbl9ELCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlw
ZSkpIFwKLSAgICBtYWNybyhJX0pJVE9wZXJhdGlvbl9FSnNzLCBmdW5jdGlvblR5cGUoaW50UHRy
LCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBtYWNybyhUX0pJVE9wZXJhdGlvbl9FSnNzLCBmdW5j
dGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJh
dGlvbl9FLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9w
ZXJhdGlvbl9FQSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0cikpIFwKICAgICBt
YWNybyhKX0pJVE9wZXJhdGlvbl9FQVosIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQ
dHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcAppbmRleCA0YTgzN2M3NGJiY2FkNjBlMjMwNWNhMjA0NGFhZmZmYzJiZDIwYzQw
Li42Zjk2Yjg0MDdlYzE5ZWFkYzk5OTM1YjY2NTkyMWJiZWRjZmM5NTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtMjA4Nyw3ICsy
MDg3LDcgQEAgY2xhc3MgTG93ZXJERkdUb0xMVk0gewogICAgICAgICAKICAgICAgICAgTFZhbHVl
IGJhc2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBMVmFsdWUgdmFsdWUg
PSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICBTdHJpbmdJbXBsKiB1aWQg
PSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOworICAg
ICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW21fbm9k
ZS0+aWRlbnRpZmllck51bWJlcigpXTsKIAogICAgICAgICAvLyBBcmd1bWVudHM6IGlkLCBieXRl
cywgdGFyZ2V0LCBudW1BcmdzLCBhcmdzLi4uCiAgICAgICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQg
PSBtX3N0YWNrbWFwSURzKys7CkBAIC00ODExLDcgKzQ4MTEsNyBAQCBjbGFzcyBMb3dlckRGR1Rv
TExWTSB7CiAgICAgICAgIGlmIChKU1N0cmluZyogc3RyaW5nID0gbV9ub2RlLT5jaGlsZDEoKS0+
ZHluYW1pY0Nhc3RDb25zdGFudDxKU1N0cmluZyo+KCkpIHsKICAgICAgICAgICAgIGlmIChzdHJp
bmctPnRyeUdldFZhbHVlSW1wbCgpICYmIHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCktPmlzQXRv
bWljKCkpIHsKIAotICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZ0ltcGwqIHN0ciA9IHN0cmlu
Zy0+dHJ5R2V0VmFsdWVJbXBsKCk7CisgICAgICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
SW1wbCogc3RyID0gc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHN0cmluZy0+
dHJ5R2V0VmFsdWVJbXBsKCkpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQg
PSBtX3N0YWNrbWFwSURzKys7CiAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBMVmFsdWUg
Y2FsbCA9IG1fb3V0LmNhbGwoCkBAIC01NzUwLDcgKzU3NTAsNyBAQCBjbGFzcyBMb3dlckRGR1Rv
TExWTSB7CiAgICAgCiAgICAgTFZhbHVlIGdldEJ5SWQoTFZhbHVlIGJhc2UpCiAgICAgewotICAg
ICAgICBTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCldOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFw
aC5pZGVudGlmaWVycygpW21fbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKIAogICAgICAgICAv
LyBBcmd1bWVudHM6IGlkLCBieXRlcywgdGFyZ2V0LCBudW1BcmdzLCBhcmdzLi4uCiAgICAgICAg
IHVuc2lnbmVkIHN0YWNrbWFwSUQgPSBtX3N0YWNrbWFwSURzKys7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKaW5kZXggMWZkOGM4M2Y0ZTU2YzkyYTRh
MTk1NmE5ODdiNWQzNmY0YWQwNzQ2YS4uZmZiZDQ3NGI2MjJhYTdlNzkwYzI2ZWIxYjgxMzRhNzNk
MTc2YWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0
aENhbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0
ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICBTdGF0ZSYg
c3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGpp
dCwKICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCog
ZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKLSAgICBHUFJSZWcgb2Jq
ZWN0LCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR1BSUmVnIG9iamVjdCwgY29uc3QgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGppdCwg
Y29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lzdGVy
cywgaml0LCA0LCByZXN1bHQpOwpAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgc3RvcmVDb2RlT3Jp
Z2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdp
bikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBD
Q2FsbEhlbHBlcnMmIGppdCwKICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1i
bGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywK
LSAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1aWQpCisgICAgR1BSUmVnIG9iamVjdCwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGpp
dCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lz
dGVycywgaml0LCA0LCByZXN1bHQpOwpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgc3RvcmVDb2Rl
T3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxIZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9y
aWdpbikKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJz
LCBDQ2FsbEhlbHBlcnMmIGppdCwgCiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBNYWNyb0Fz
c2VtYmxlcjo6SnVtcExpc3QqIGV4Y2VwdGlvblRhcmdldCwKICAgICBWX0pJVE9wZXJhdGlvbl9F
U3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgdmFs
dWUsCi0gICAgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEdQUlJlZyBvYmpl
Y3QsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc3RvcmVDb2RlT3JpZ2luKHN0YXRl
LCBqaXQsIGNvZGVPcmlnaW4pOwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVzZWRS
ZWdpc3RlcnMsIGppdCwgNSwgSW52YWxpZEdQUlJlZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExTbG93UGF0aENhbGwuaAppbmRleCA2ZTRkNWY2ZTE1OWE1ZmEzMjA1NmY3MWE3ODQ3
NDg5ZWMxMThlM2Y2Li44MThlZjY0NjRjN2IxY2ZhZjZmNWY5MmIwZDAxYzBiZDBlMTFiNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgKQEAgLTYwLDE1
ICs2MCwxNSBAQCBjbGFzcyBTbG93UGF0aENhbGwgewogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbigKICAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJz
JiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCiAgICAgSl9KSVRPcGVyYXRp
b25fRVNzaUNJLCBHUFJSZWcsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLAotICAgIGNvbnN0
IFN0cmluZ0ltcGwqKTsKKyAgICBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3Rl
clNldCYsIENDYWxsSGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3Qq
LAogICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1
YkluZm8qLCBHUFJSZWcgb2JqZWN0LAotICAgIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCk7CiBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAog
ICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2lu
LCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KiwKICAgICBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwKLSAgICBTdHJp
bmdJbXBsKiB1aWQpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogCiB9IH0gLy8gbmFt
ZXNwYWNlIEpTQzo6RlRMCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJh
ZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1ZDIxYzkuLjEzMWZhMDAxOWY2MTBjN2Q5NDg5ZTU4Y2U4
M2ViY2MwYmQ1MjViY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNjk0LDkgKzY5NCw5
IEBACiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVy
YXRpb25fRUMsIEpTQ2VsbCopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKLCBpbnQsIEdQUlJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmls
ZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BS
UmVnLCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEdQUlJlZywgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNlCi0gICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklU
T3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywgR1BSUmVn
LCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEdQUlJlZywgR1BSUmVnLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2VuZGlmCiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpJZGMsIGludCwgR1BSUmVnLCBjb25zdCBJZGVudGlmaWVyKik7CiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJl
ZywgR1BSUmVnKTsKQEAgLTczNCw5ICs3MzQsOSBAQAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKSWRKSiwgUmVnaXN0ZXJJRCwgY29u
c3QgSWRlbnRpZmllciosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwogI2lmIFVTRShKU1ZBTFVF
NjQpCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRPcGVy
YXRpb25fRUZKWlosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIGludDMyX3QsIFJlZ2lzdGVySUQp
OwotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwg
U3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwg
UmVnaXN0ZXJJRCwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNlCi0gICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0
dXJlU3R1YkluZm8qLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3Rl
cklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBSZWdpc3Rl
cklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBVbmlxdWVkU3RyaW5nSW1w
bCopOwogI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRUpKSiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCk7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRp
b25fRUpaSiwgUmVnaXN0ZXJJRCwgaW50MzJfdCwgUmVnaXN0ZXJJRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3
YjZjMzRhODYzMzQuLmI3MTY5ZjU0ODdjOTVlMGU4ZDcwODZmZGY2ZTg4YjY3MmY1ZjYyOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0zODcsNyArMzg3LDcgQEAg
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oRl9K
SVRPcGVyYXRpb25fRUZKWlogb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklEIHJlZ09wMSwgUmVnaXN0ZXJJ
RCByZWdPcDIsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9u
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3Rl
cklEIHJlZ09wMiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHJlZ09wMSwgcmVnT3AyLCBU
cnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvbik7CkBAIC00MDUsNyArNDA1LDcgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVpKIG9wZXJh
dGkKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwog
fQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlv
bihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBp
bnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBTdHJpbmdJ
bXBsKiB1aWQpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0
aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHRXaXRo
UHJvZmlsZShvcGVyYXRpb24sIGRzdCk7CkBAIC01NDYsNyArNTQ2LDcgQEAgQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUogb3BlcmF0aW8KICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJ
VE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFN0cmluZ0ltcGwq
IHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24s
IGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQ
UlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzFQYXlsb2Fk
LCBhcmcxVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdFdpdGhQcm9maWxlKG9wZXJhdGlvbiwgZHN0
KTsKQEAgLTYwNiw3ICs2MDYsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FWlN5bXRhYkogbwogICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19J
TkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lz
dGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBheWxvYWQsIFJlZ2lzdGVySUQgcmVn
T3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3Bl
cmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJl
Z2lzdGVySUQgcmVnT3AxVGFnLCBSZWdpc3RlcklEIHJlZ09wMVBheWxvYWQsIFJlZ2lzdGVySUQg
cmVnT3AyVGFnLCBSZWdpc3RlcklEIHJlZ09wMlBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1
YkluZm8pLCByZWdPcDFQYXlsb2FkLCByZWdPcDFUYWcsIHJlZ09wMlBheWxvYWQsIHJlZ09wMlRh
ZywgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVjayhvcGVyYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKaW5kZXggOThkODc3M2YzOGQ5NWYyYjhlNThjZGJkNzgzNjAyOTgxNTQwMDcxMy4u
MjI3YzRmYmYwYjM3MzUxMmUxZjBkMTY5OWQwYjcyYWFiN2UwOWRjYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgaW50
MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRl
KiBleGVjKQogICAgIHJldHVybiBtaXNzaW5nQXJnQ291bnQ7CiB9CiAKLUVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTU4LDcgKzE1OCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShiYXNlVmFsdWUuZ2V0KGV4
ZWMsIGlkZW50LCBzbG90KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTc2LDcgKzE3
Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxk
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShoYXNSZXN1bHQ/IHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQpIDoganNVbmRlZmluZWQoKSk7
CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBiYXNlLCBTdHJpbmdJbXBsKiB1aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE5NSw3ICsxOTUsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZQogCiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
SW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
SlNDZWxsKiBiYXNlLCBTdHJpbmdJbXBsKiBrZXkpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKQEAgLTIyMSw3ICsyMjEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJlc3VsdCkpOwogfQogCi1FbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0ltcGwqIGtleSkKK0VuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4oRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEpTQ2VsbCogYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdlbmVyaWNJbihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogYmFzZSwgRQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKENvbW1vblNsb3dQYXRoczo6b3BJ
bihleGVjLCBKU1ZhbHVlOjpkZWNvZGUoa2V5KSwgYmFzZSkpKTsKIH0KIAotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBFCiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5w
dXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKIH0K
IAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpA
QCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiAgICAgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmlu
Z0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluCiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSkt
PnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1
ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1w
bCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJp
Y3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHUKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+
cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0
cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0zMDcsNyArMzA3LDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWIKICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVl
OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJ
bXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMzMxLDcgKzMzMSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsK
IH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5n
SW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTM1NSw3ICszNTUs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRy
dWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0z
NzksNyArMzc5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnUKICAgICAgICAgc3R1YkluZm8t
PnNlZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0
cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00MDAsNyAr
NDAwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4
ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJl
Y3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1
aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3Ry
aW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00MjEsNyArNDIx
LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMs
IGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3Qp
OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1
aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3Ry
aW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC00NDIsNyAr
NDQyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3QKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4
ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0
KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0YzgxZDg1NDdjOGNm
NjcwNmYwOGRmMDYxN2NkOWE5MTY4OGVmOTY1Li41ZjY5YWRhZWJjNTQ2ZTg1MGFjMjM0MWNmOTJm
NTBkYTBhOWE3NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aApAQCAtNjQsNyArNjQsNyBAQAogICAgIEU6IEV4ZWNTdGF0ZSoKICAgICBGOiBDYWxsRnJhbWUq
CiAgICAgRzogSlNHbG9iYWxPYmplY3QqCi0gICAgSTogU3RyaW5nSW1wbCoKKyAgICBJOiBVbmlx
dWVkU3RyaW5nSW1wbCoKICAgICBJY2Y6IElubGluZUNhbGxGcmFtZSoKICAgICBJZGM6IGNvbnN0
IElkZW50aWZpZXIqCiAgICAgSjogRW5jb2RlZEpTVmFsdWUKQEAgLTgzLDYgKzgzLDcgQEAKICAg
ICBTc2k6IFN0cnVjdHVyZVN0dWJJbmZvKgogICAgIFN0OiBTdHJ1Y3R1cmUqCiAgICAgU3ltdGFi
OiBTeW1ib2xUYWJsZSoKKyAgICBUOiBTdHJpbmdJbXBsKgogICAgIFY6IHZvaWQKICAgICBWbTog
Vk0qCiAgICAgV3M6IFdhdGNocG9pbnRTZXQqCkBAIC05NywxMiArOTgsMTIgQEAKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VBYXBKY3BaKShF
eGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNWYWx1ZSosIGludDMy
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUMpKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNDKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0Nl
bGwqKTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNJKShFeGVjU3RhdGUq
LCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBF
bmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FQ1opKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIGludDMyX3QpOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRURBKShFeGVj
U3RhdGUqLCBkb3VibGUsIEpTQXJyYXkqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VFKShFeGVjU3RhdGUqLCBFeGVjU3RhdGUqKTsKLXR5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VJKShF
eGVjU3RhdGUqLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSSkoRXhlY1N0YXRlKiwgVW5pcXVlZFN0cmluZ0ltcGwq
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSlopKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VKQykoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCop
OwpAQCAtMTE3LDggKzExOCw4IEBACiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQyko
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNp
emVfdCk7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3Ry
aW5nSW1wbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaKShFeGVj
U3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VaSWNmWikoRXhlY1N0YXRlKiwgaW50MzJfdCwgSW5saW5lQ2FsbEZy
YW1lKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwpAQCAtMTg0
LDcgKzE4NSw3IEBACiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9u
X0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSlNDZWxsKik7CiB0eXBlZGVmIHZvaWQgSklUX09Q
RVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VaU3ltdGFiSikoRXhlY1N0YXRlKiwgaW50MzJfdCwg
U3ltYm9sVGFibGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKQ0kpKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIHZvaWQgSklU
X09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKQ0kpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVS
QVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSklkSkopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVl
LCBJZGVudGlmaWVyKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYg
dm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpKSikoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZv
aWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKUFApKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlLCB2b2lkKiwgdm9pZCopOwpAQCAtMTk0LDcgKzE5NSw3IEBACiB0eXBlZGVmIHZv
aWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VPWkopKEV4ZWNTdGF0ZSosIEpTT2Jq
ZWN0KiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJ
T04gKCpWX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VQWkopKEV4ZWNTdGF0ZSos
IHZvaWQqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBlZGVmIHZvaWQgSklUX09QRVJB
VElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBl
ZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBV
bmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9w
ZXJhdGlvbl9FV3MpKEV4ZWNTdGF0ZSosIFdhdGNocG9pbnRTZXQqKTsKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwog
dHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FWkopKEV4ZWNTdGF0
ZSosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsKQEAgLTIxOCw3ICsyMTksNyBAQAogdHlwZWRl
ZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVN0U1MpKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgY2hhciogSklUX09QRVJBVElP
TiAoKlBfSklUT3BlcmF0aW9uX0VTdFopKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3Qp
OwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVpaKShFeGVj
U3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsKLXR5cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJB
VElPTiAoKklfSklUT3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKik7Cit0eXBl
ZGVmIFN0cmluZ0ltcGwqIEpJVF9PUEVSQVRJT04gKCpUX0pJVE9wZXJhdGlvbl9FSnNzKShFeGVj
U3RhdGUqLCBKU1N0cmluZyopOwogdHlwZWRlZiBKU1N0cmluZyogSklUX09QRVJBVElPTiAoKkpz
c19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogCiAvLyBUaGlzIG1ldGhv
ZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRpb24gaGFuZGVyLCBrZXllZCBieSBmYXVsdExv
Y2F0aW9uLCB3aGljaCBpcwpAQCAtMjMxLDI0ICsyMzIsMjQgQEAKIHZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqLCBDb2RlQmxvY2sq
KSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5
Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwotRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExp
c3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0lt
cGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZW5lcmljSW4oRXhlY1N0YXRl
KiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
Tm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdU
Rl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lO
VEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9J
TlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJ
bXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCop
IFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3Ry
aWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBX
VEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0
cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5n
SW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
Owordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdU
Rl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9u
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUmVh
bGxvY2F0ZVN0b3JhZ2VBbmRGaW5pc2hQdXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBQcm9wZXJ0eU9mZnNldCwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcAppbmRleCA3MjA5NjllNWY4ZTI3Y2JlM2Rm
YWE5MDU2YzUxNDM3ODFkNzg4ZGMzLi5mZjlhYTQ0YWQxNDc4YWI3MDkxZGFiNDgxNjU0MDI0ZDEx
ZmEwNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcApAQCAtMTI0LDcg
KzEyNCw3IEBAIFN0YXRlbWVudE5vZGUqIFNjb3BlTm9kZTo6c2luZ2xlU3RhdGVtZW50KCkgY29u
c3QKIHsKIH0KIAotdm9pZCBQcm9ncmFtTm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxS
ZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQordm9pZCBQcm9ncmFtTm9kZTo6
c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNs
b3NlZFZhcmlhYmxlcykKIHsKICAgICBtX2Nsb3NlZFZhcmlhYmxlcyA9IFdURjo6bW92ZShjbG9z
ZWRWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGQy
Y2YyZWU0ZjM5MmMxMmFjMjY1M2MyZjA4MmZkYzQ0ZTg4MGFhYWUuLmQ3NTQ4ZDA3NDM1MWU5ZjY5
YjcxM2YxMTM5YzFhY2JhOWY3NjZiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB9OwogICAgIGlubGluZSBGYWxsVGhyb3VnaE1vZGUg
aW52ZXJ0KEZhbGxUaHJvdWdoTW9kZSBmYWxsVGhyb3VnaE1vZGUpIHsgcmV0dXJuIHN0YXRpY19j
YXN0PEZhbGxUaHJvdWdoTW9kZT4oIWZhbGxUaHJvdWdoTW9kZSk7IH0KIAotICAgIHR5cGVkZWYg
SGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVy
U2V0OworICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVu
dGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclNldDsKIAogICAgIG5hbWVzcGFjZSBEZWNsYXJhdGlv
blN0YWNrcyB7CiAgICAgICAgIGVudW0gVmFyQXR0cnMgeyBJc0NvbnN0YW50ID0gMSwgSGFzSW5p
dGlhbGl6ZXIgPSAyIH07CkBAIC0xNTQ2LDcgKzE1NDYsNyBAQAogICAgICAgICBib29sIGhhc0Nh
cHR1cmVkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gISFtX2NhcHR1cmVkVmFyaWFibGVzLnNp
emUoKTsgfQogICAgICAgICBzaXplX3QgY2FwdHVyZWRWYXJpYWJsZUNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlcy5zaXplKCk7IH0KICAgICAgICAgY29uc3QgSWRlbnRp
ZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFy
aWFibGVzOyB9Ci0gICAgICAgIGJvb2wgY2FwdHVyZXMoU3RyaW5nSW1wbCogdWlkKSB7IHJldHVy
biBtX2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5zKHVpZCk7IH0KKyAgICAgICAgYm9vbCBjYXB0
dXJlcyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVz
LmNvbnRhaW5zKHVpZCk7IH0KICAgICAgICAgYm9vbCBjYXB0dXJlcyhjb25zdCBJZGVudGlmaWVy
JiBpZGVudCkgeyByZXR1cm4gY2FwdHVyZXMoaWRlbnQuaW1wbCgpKTsgfQogCiAgICAgICAgIFZh
clN0YWNrJiB2YXJTdGFjaygpIHsgcmV0dXJuIG1fdmFyU3RhY2s7IH0KQEAgLTE1NjMsNyArMTU2
Myw3IEBACiAKICAgICAgICAgdm9pZCBlbWl0U3RhdGVtZW50c0J5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiwgUmVnaXN0ZXJJRCogZGVzdGluYXRpb24pOwogICAgICAgICAKLSAgICAgICAgdm9p
ZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJikgeyB9Cisg
ICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmlu
Z0ltcGw+PiYmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgaW50IG1fc3RhcnRMaW5l
TnVtYmVyOwpAQCAtMTU4OSwxMiArMTU4OSwxMiBAQAogCiAgICAgICAgIHN0YXRpYyBjb25zdCBi
b29sIHNjb3BlSXNGdW5jdGlvbiA9IGZhbHNlOwogCi0gICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFy
aWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwotICAgICAgICBjb25zdCBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgY2xvc2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
bV9jbG9zZWRWYXJpYWJsZXM7IH0KKyAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVj
dG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpOworICAgICAgICBjb25zdCBWZWN0b3I8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mIGNsb3NlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0
dXJuIG1fY2xvc2VkVmFyaWFibGVzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBv
dmVycmlkZTsKLSAgICAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gbV9jbG9zZWRWYXJp
YWJsZXM7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBtX2Nsb3Nl
ZFZhcmlhYmxlczsKICAgICAgICAgdW5zaWduZWQgbV9zdGFydENvbHVtbjsKICAgICAgICAgdW5z
aWduZWQgbV9lbmRDb2x1bW47CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4NmFhMGE3MzRiMDRlODE0Li5k
YzMzMzFmMWNmNjVkMTBiZDU3YTk0YTllZmM1YjM2NDEwNzFhNWQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAKICAgICAgICAgZmVh
dHVyZXMgfD0gTW9kaWZpZWRQYXJhbWV0ZXJGZWF0dXJlOwogICAgIGlmIChtb2RpZmllZEFyZ3Vt
ZW50cykKICAgICAgICAgZmVhdHVyZXMgfD0gTW9kaWZpZWRBcmd1bWVudHNGZWF0dXJlOwotICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IGNsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gY2xvc2VkVmFyaWFibGVzOwogICAgIGlmIChtX3Bh
cnNpbmdCdWlsdGluKSB7CiAgICAgICAgIElkZW50aWZpZXJTZXQgdXNlZFZhcmlhYmxlczsKICAg
ICAgICAgc2NvcGUtPmdldFVzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlcyk7CkBAIC0zMjUsNyAr
MzI1LDcgQEAKIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHZvaWQgUGFyc2VyPExl
eGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRz
LCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smIHZhclN0YWNrLCAKLSAgICBEZWNsYXJhdGlv
blN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNrLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMs
IGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFycywgY29uc3QgVmVj
dG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMpCisgICAgRGVjbGFyYXRp
b25TdGFja3M6OkZ1bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVz
LCBpbnQgbnVtQ29uc3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAg
ICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxlbWVudHM7CiAgICAgbV92YXJEZWNsYXJhdGlv
bnMuc3dhcCh2YXJTdGFjayk7CkBAIC0yMTg3LDcgKzIxODcsNyBAQCBBTFdBWVNfSU5MSU5FIHN0
YXRpYyBib29sIGlzVW5hcnlPcChKU1Rva2VuVHlwZSB0b2tlbikKICAgICBUcmVlUHJvcGVydHkg
cHJvcGVydHkgPSBwYXJzZVByb3BlcnR5KGNvbnRleHQsIHRydWUpOwogICAgIGZhaWxJZkZhbHNl
KHByb3BlcnR5LCAiQ2Fubm90IHBhcnNlIG9iamVjdCBsaXRlcmFsIHByb3BlcnR5Iik7CiAgICAg
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQsIElkZW50
aWZpZXJSZXBIYXNoPiBPYmplY3RWYWxpZGF0aW9uTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCB1bnNpZ25lZCwgSWRlbnRpZmllclJlcEhhc2g+IE9i
amVjdFZhbGlkYXRpb25NYXA7CiAgICAgT2JqZWN0VmFsaWRhdGlvbk1hcCBvYmplY3RWYWxpZGF0
b3I7CiAgICAgLy8gQWRkIHRoZSBmaXJzdCBwcm9wZXJ0eQogICAgIGlmICghbV9zeW50YXhBbHJl
YWR5VmFsaWRhdGVkICYmIGNvbnRleHQuZ2V0TmFtZShwcm9wZXJ0eSkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAzZGZmOGU0OWIzMDU3YzQ5OTE0NDVmNmZjNGVkNDJj
OWYzNDY1YWM4Li41MDc0ZTRkMmVjMDNmMTQxMDg0OTg1YjRmNjc2MjNhNGM3MjE1ODhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTk3LDEzICs5NywxMyBAQCBlbnVt
IERlY29uc3RydWN0aW9uS2luZCB7CiB0ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0V2YWxOb2Rl
PEV2YWxOb2RlPigpIHsgcmV0dXJuIHRydWU7IH0KIAogc3RydWN0IFNjb3BlTGFiZWxJbmZvIHsK
LSAgICBTY29wZUxhYmVsSW5mbyhTdHJpbmdJbXBsKiBpZGVudCwgYm9vbCBpc0xvb3ApCisgICAg
U2NvcGVMYWJlbEluZm8oVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50LCBib29sIGlzTG9vcCkKICAg
ICAgICAgOiBtX2lkZW50KGlkZW50KQogICAgICAgICAsIG1faXNMb29wKGlzTG9vcCkKICAgICB7
CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbCogbV9pZGVudDsKKyAgICBVbmlxdWVkU3RyaW5nSW1w
bCogbV9pZGVudDsKICAgICBib29sIG1faXNMb29wOwogfTsKIApAQCAtMTkzLDE0ICsxOTMsMTQg
QEAgc3RydWN0IFNjb3BlIHsKIAogICAgIHZvaWQgZGVjbGFyZUNhbGxlZShjb25zdCBJZGVudGlm
aWVyKiBpZGVudCkKICAgICB7Ci0gICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50
LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVu
dC0+aW1wbCgpKTsKICAgICB9CiAKICAgICBib29sIGRlY2xhcmVWYXJpYWJsZShjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUgPSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5hcmd1bWVudHMgIT0gKmlkZW50OwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9p
c1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKLSAgICAgICAgbV9kZWNsYXJl
ZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFy
ZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgICAgICByZXR1cm4gaXNWYWxpZFN0
cmljdE1vZGU7CiAgICAgfQogCkBAIC0yMjYsOSArMjI2LDkgQEAgc3RydWN0IFNjb3BlIHsKICAg
ICBib29sIGRlY2xhcmVQYXJhbWV0ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewog
ICAgICAgICBib29sIGlzQXJndW1lbnRzID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRz
ID09ICppZGVudDsKLSAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9IG1fZGVjbGFyZWRW
YXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpLmlzTmV3RW50cnkgJiYgbV92bS0+
cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJndW1lbnRzOworICAgICAgICBi
b29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmlt
cGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAm
JiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRT
dHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwotICAgICAgICBtX2RlY2xhcmVkUGFyYW1l
dGVycy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFyZWRQYXJh
bWV0ZXJzLmFkZChpZGVudC0+aW1wbCgpKTsKIAogICAgICAgICBpZiAoaXNBcmd1bWVudHMpCiAg
ICAgICAgICAgICBtX3NoYWRvd3NBcmd1bWVudHMgPSB0cnVlOwpAQCAtMjQzLDcgKzI0Myw3IEBA
IHN0cnVjdCBTY29wZSB7CiAgICAgQmluZGluZ1Jlc3VsdCBkZWNsYXJlQm91bmRQYXJhbWV0ZXIo
Y29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewogICAgICAgICBib29sIGlzQXJndW1lbnRz
ID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppZGVudDsKLSAgICAgICAgYm9v
bCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBs
KCkpLmlzTmV3RW50cnk7CisgICAgICAgIGJvb2wgbmV3RW50cnkgPSBtX2RlY2xhcmVkVmFyaWFi
bGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5OwogICAgICAgICBib29sIGlzVmFsaWRT
dHJpY3RNb2RlID0gbmV3RW50cnkgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRl
bnQgJiYgIWlzQXJndW1lbnRzOwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9pc1Zh
bGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAgICAKQEAgLTI2Miw3ICsyNjIs
NyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIHZvaWQgdXNlVmFyaWFibGUoY29uc3QgSWRlbnRpZmll
ciogaWRlbnQsIGJvb2wgaXNFdmFsKQogICAgIHsKICAgICAgICAgbV91c2VzRXZhbCB8PSBpc0V2
YWw7Ci0gICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7
CisgICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7CiAgICAgfQogCiAg
ICAgdm9pZCBzZXROZWVkc0Z1bGxBY3RpdmF0aW9uKCkgeyBtX25lZWRzRnVsbEFjdGl2YXRpb24g
PSB0cnVlOyB9CkBAIC0zMzcsNyArMzM3LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBib29sIGlz
VmFsaWRTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkU3RyaWN0TW9kZTsgfQog
ICAgIGJvb2wgc2hhZG93c0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hhZG93c0FyZ3Vt
ZW50czsgfQogCi0gICAgdm9pZCBjb3B5Q2FwdHVyZWRWYXJpYWJsZXNUb1ZlY3Rvcihjb25zdCBJ
ZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBs
Pj4mIHZlY3RvcikKKyAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlhYmxlc1RvVmVjdG9yKGNvbnN0
IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPj4mIHZlY3RvcikKICAgICB7CiAgICAgICAgIElkZW50aWZpZXJTZXQ6Oml0ZXJh
dG9yIGVuZCA9IGNhcHR1cmVkVmFyaWFibGVzLmVuZCgpOwogICAgICAgICBmb3IgKElkZW50aWZp
ZXJTZXQ6Oml0ZXJhdG9yIGl0ID0gY2FwdHVyZWRWYXJpYWJsZXMuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7CkBAIC00MzYsNyArNDM2LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UGFyc2VkTm9kZT4gcGFyc2UoUGFyc2VyRXJyb3ImKTsKIAogICAgIEpTVGV4dFBv
c2l0aW9uIHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKSBjb25zdCB7IHJldHVybiBtX2xleGVy
LT5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7IH0KLSAgICBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6bW92ZShtX2Nsb3NlZFZh
cmlhYmxlcyk7IH0KKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJiBjbG9z
ZWRWYXJpYWJsZXMoKSB7IHJldHVybiBXVEY6Om1vdmUobV9jbG9zZWRWYXJpYWJsZXMpOyB9CiAK
IHByaXZhdGU6CiAgICAgc3RydWN0IEFsbG93SW5PdmVycmlkZSB7CkBAIC01NjMsNyArNTYzLDcg
QEAgY2xhc3MgUGFyc2VyIHsKICAgICBTdHJpbmcgcGFyc2VJbm5lcigpOwogCiAgICAgdm9pZCBk
aWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0
YWNrJiwgCi0gICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29kZUZl
YXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiYmKTsKKyAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smLCBDb2Rl
RmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2YgZXJy
b3IgdG8gcmVwb3J0LgogICAgIGJvb2wgaXNGdW5jdGlvbkJvZHlOb2RlKFNjb3BlTm9kZSopIHsg
cmV0dXJuIGZhbHNlOyB9CkBAIC04ODQsNyArODg0LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgbV92YXJEZWNsYXJhdGlvbnM7CiAgICAgRGVjbGFy
YXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgbV9mdW5jRGVjbGFyYXRpb25zOwogICAgIElkZW50
aWZpZXJTZXQgbV9jYXB0dXJlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJ
bXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7CiAg
ICAgaW50IG1fbnVtQ29uc3RhbnRzOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0
NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjVlM2ZkZmZkZGEyYTZjN2QyMWNhNDNjNmQ1
NTJkOTk2MjhkNzQxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgIlBhcnNlclRva2Vucy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDggKzQxLDggQEAgc3RydWN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFj
dGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7Ci0gICAg
VmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5p
cXVlZFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKIAogI2lmIENPTVBJTEVSKE1TVkMp
CkBAIC04MiwxMyArODMsMTMgQEAgY2xhc3MgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0gewogICAg
IHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFi
bGVzQ291bnQ7CiAKLSAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0
dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KLSAgICBTdHJpbmdJ
bXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5n
SW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFVu
aXF1ZWRTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBs
Kiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8VW5pcXVlZFN0
cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKIHByaXZh
dGU6CiAgICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKIAotICAgIFN0cmluZ0ltcGwqIG1fdmFyaWFibGVz
WzBdOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3ZhcmlhYmxlc1swXTsKIH07CiAKIGlubGlu
ZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCkKQEAg
LTEwMCw3ICsxMDEsNyBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06On5Tb3VyY2VQ
cm92aWRlckNhY2hlSXRlbSgpCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtPiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKGNvbnN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIHNp
emVfdCB2YXJpYWJsZUNvdW50ID0gcGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSAr
IHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCk7Ci0gICAgc2l6ZV90IG9iamVjdFNpemUg
PSBzaXplb2YoU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFN0cmluZ0ltcGwqKSAq
IHZhcmlhYmxlQ291bnQ7CisgICAgc2l6ZV90IG9iamVjdFNpemUgPSBzaXplb2YoU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFVuaXF1ZWRTdHJpbmdJbXBsKikgKiB2YXJpYWJsZUNv
dW50OwogICAgIHZvaWQqIHNsb3QgPSBmYXN0TWFsbG9jKG9iamVjdFNpemUpOwogICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+KG5ldyAoc2xvdCkgU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0ocGFyYW1ldGVycykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCmluZGV4IGNlYWJkMjUy
ZDBkOGNjMmEzOGE3Njg5MGM2OGQyODM5NGE2NjdkZmIuLjIxYmM0YzdjZWZkZTg2N2Q4YWI1MWM1
NzJiZTE1OTc5YmU4MTIwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKQEAgLTUyLDcgKzUyLDEyIEBACiB7CiB9CiAKLWJv
b2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoU3RyaW5nSW1wbCogdWlkKSBjb25z
dAorYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShTeW1ib2xJbXBsJiB1aWQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5pc1ByaXZhdGVOYW1lKHVpZCk7
Cit9CisKK2Jvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0cmlu
Z0ltcGwmIHVpZCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9idWlsdGluTmFtZXMtPmlzUHJpdmF0
ZU5hbWUodWlkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCmluZGV4IDc5MDY5ZWE5NjRkNjA2MTU0MWU5NWRkN2YxYzkzMzBmM2U4
YzI4MmUuLjg1MjllNDYwNmU2YzNlNDc1YTQ0YjhhZjMwYjgzODA0ZTcxMjVjNzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAt
MzIxLDcgKzMyMSw4IEBACiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKEpTQ19JREVOVElGSUVSX0RFQ0xBUkVfUFJJVkFURV9XRUxM
X0tOT1dOX1NZTUJPTF9HTE9CQUwpCiAjdW5kZWYgSlNDX0lERU5USUZJRVJfREVDTEFSRV9QUklW
QVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTAogCi0gICAgICAgIGJvb2wgaXNQcml2YXRlTmFt
ZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0OworICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoU3lt
Ym9sSW1wbCYgdWlkKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRT
dHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoY29uc3Qg
SWRlbnRpZmllciYpIGNvbnN0OwogCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGdldFByaXZh
dGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSWRlbnRpZmllci5jcHAKaW5kZXggZTA4MTZkMjE3MzBmZjI1NThjZTZlYzFlNzY2
MDg3ZTUwZDIyZTAzZS4uZDI2ZDk1NjdjNjgzMGZlN2YzMWVmMTJhN2E0NWMwMTEyNDdmODZkZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAKQEAgLTQ1
LDcgKzQ1LDcgQEAKICAgICBpZiAoIWNbMV0pCiAgICAgICAgIHJldHVybiAqdm0tPnNtYWxsU3Ry
aW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmdSZXAoY1swXSk7CiAKLSAgICByZXR1cm4gKkF0b21p
Y1N0cmluZzo6YWRkKGMpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkKGMpOwog
fQogCiBSZWY8U3RyaW5nSW1wbD4gSWRlbnRpZmllcjo6YWRkKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgY2hhciogYykKQEAgLTY0LDcgKzY0LDcgQEAKICAgICBpZiAoIWxlbmd0aCkKICAgICAgICAg
cmV0dXJuICpTdHJpbmdJbXBsOjplbXB0eSgpOwogCi0gICAgcmV0dXJuICpBdG9taWNTdHJpbmc6
OmFkZChzLCBsZW5ndGgpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMsIGxl
bmd0aCk7CiB9CiAKIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbShFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSWRlbnRpZmllci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmll
ci5oCmluZGV4IGUyOWM0OTc3NGI1M2U4MzM0NTcxZDkzNWVhMjRlM2E5Y2EyZTRhZGIuLmExOWNl
NzhmYjcyMjRjMWM0MzVmZjA1YmQ5ZjY2M2Y1ZTNmZDdkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDx3
dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3Ry
aW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTkyLDcgKzkzLDcgQEAgY2xhc3MgSWRlbnRpZmllciB7CiAgICAgSWRlbnRpZmll
cihFbXB0eUlkZW50aWZpZXJGbGFnKSA6IG1fc3RyaW5nKFN0cmluZ0ltcGw6OmVtcHR5KCkpIHsg
QVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KIAogICAgIGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KLSAgICBBdG9taWNTdHJpbmdJ
bXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KG1fc3RyaW5nLmltcGwoKSk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKj4obV9zdHJpbmcuaW1wbCgp
KTsgfQogCiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmxlbmd0aCgp
OyB9CiAKQEAgLTEyMyw4ICsxMjQsOCBAQCBjbGFzcyBJZGVudGlmaWVyIHsKICAgICBzdGF0aWMg
SWRlbnRpZmllciBmcm9tU3RyaW5nKEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0YXRlKiwgY29uc3QgY2hhciopOwogCi0g
ICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChWTSosIFN0cmluZ0ltcGwqIHVpZCk7Ci0gICAg
c3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChFeGVjU3RhdGUqLCBTdHJpbmdJbXBsKiB1aWQpOwor
ICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoVk0qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
KTsKKyAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4ZWNTdGF0ZSosIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoY29uc3QgUHJpdmF0
ZU5hbWUmKTsKIAogICAgIHN0YXRpYyBJZGVudGlmaWVyIGNyZWF0ZUxDaGFyRnJvbVVDaGFyKFZN
KiB2bSwgY29uc3QgVUNoYXIqIHMsIGludCBsZW5ndGgpIHsgcmV0dXJuIElkZW50aWZpZXIodm0s
IGFkZDgodm0sIHMsIGxlbmd0aCkpOyB9CkBAIC0xNzQsOCArMTc1LDEwIEBAIGNsYXNzIElkZW50
aWZpZXIgewogICAgIElkZW50aWZpZXIoVk0qIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykgOiBt
X3N0cmluZyhhZGQodm0sIHN0cmluZy5pbXBsKCkpKSB7IEFTU0VSVChtX3N0cmluZy5pbXBsKCkt
PmlzQXRvbWljKCkpOyB9CiAgICAgSWRlbnRpZmllcihWTSogdm0sIFN0cmluZ0ltcGwqIHJlcCkg
OiBtX3N0cmluZyhhZGQodm0sIHJlcCkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9t
aWMoKSk7IH0KIAotICAgIGVudW0gVW5pcXVlSWRlbnRpZmllckZsYWcgeyBVbmlxdWVJZGVudGlm
aWVyIH07Ci0gICAgSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyRmxhZywgU3RyaW5nSW1wbCog
dWlkKSA6IG1fc3RyaW5nKHVpZCkgeyBBU1NFUlQobV9zdHJpbmcuaW1wbCgpLT5pc1N5bWJvbCgp
KTsgfQorICAgIGV4cGxpY2l0IElkZW50aWZpZXIoU3ltYm9sSW1wbCogdWlkKQorICAgICAgICA6
IG1fc3RyaW5nKHVpZCkKKyAgICB7CisgICAgfQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENo
YXJUeXBlPgogICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVpbnQzMl90IHRvVUludDMyRnJvbUNo
YXJhY3RlcnMoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgYm9v
bCYgb2spOwpAQCAtMjIxLDcgKzIyNCw3IEBAIGNsYXNzIElkZW50aWZpZXIgewogICAgIGlmICgh
bGVuZ3RoKQogICAgICAgICByZXR1cm4gKlN0cmluZ0ltcGw6OmVtcHR5KCk7CiAKLSAgICByZXR1
cm4gKkF0b21pY1N0cmluZzo6YWRkKHMsIGxlbmd0aCk7CisgICAgcmV0dXJuICpBdG9taWNTdHJp
bmdJbXBsOjphZGQocywgbGVuZ3RoKTsKIH0KIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBJZGVudGlmaWVyJiBhLCBjb25zdCBJZGVudGlmaWVyJiBiKQpAQCAtMjcxLDcgKzI3NCw3IEBA
IGlubGluZSBib29sIElkZW50aWZpZXI6OmVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIHIsIGNvbnN0
IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5nCiAKIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8dWludDMy
X3Q+IHBhcnNlSW5kZXgoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKLSAgICBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkID0gaWRlbnRpZmllci5pbXBsKCk7CiAgICAgaWYgKCF1aWQpCiAgICAgICAgIHJl
dHVybiBOdWxsb3B0OwogICAgIGlmICh1aWQtPmlzU3ltYm9sKCkpCkBAIC0yNzksOSArMjgyLDkg
QEAgaW5saW5lIGJvb2wgSWRlbnRpZmllcjo6ZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogciwgY29u
c3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmcKICAgICByZXR1cm4gcGFyc2VJbmRleCgqdWlkKTsK
IH0KIAotc3RydWN0IElkZW50aWZpZXJSZXBIYXNoIDogUHRySGFzaDxSZWZQdHI8U3RyaW5nSW1w
bD4+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4m
IGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9Ci0gICAgc3Rh
dGljIHVuc2lnbmVkIGhhc2goU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5n
U3ltYm9sQXdhcmVIYXNoKCk7IH0KK3N0cnVjdCBJZGVudGlmaWVyUmVwSGFzaCA6IFB0ckhhc2g8
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4geworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGlu
Z1N5bWJvbEF3YXJlSGFzaCgpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9
CiB9OwogCiBzdHJ1Y3QgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8
aW50PiB7CkBAIC0yODksOCArMjkyLDggQEAgc3RydWN0IElkZW50aWZpZXJNYXBJbmRleEhhc2hU
cmFpdHMgOiBIYXNoVHJhaXRzPGludD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFs
dWVJc1plcm8gPSBmYWxzZTsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1w
bD4sIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+
PiwgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cz4gSWRlbnRpZmllck1hcDsKLXR5cGVkZWYg
SGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxT
dHJpbmdJbXBsKj4sIElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHM+IEJvcnJvd2VkSWRlbnRp
Zmllck1hcDsKK3R5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBpbnQs
IElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+
LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBJZGVudGlmaWVyTWFwOwordHlwZWRlZiBI
YXNoTWFwPFVuaXF1ZWRTdHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRy
YWl0czxVbmlxdWVkU3RyaW5nSW1wbCo+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBC
b3Jyb3dlZElkZW50aWZpZXJNYXA7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaAppbmRleCA0MDYy
MjFhNjNhYWQ5NjVmNDczMGU0Njg4MzQ3MzY3YzNiMjY3MDRiLi43MTQ4YjIxMjgzYTVkMjdlYmZl
ODJkNjUxNzRhZDZkOWVhYTk3ZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKQEAgLTM3LDcgKzM3LDcgQEAgaW5saW5lIElkZW50
aWZpZXI6OklkZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBBdG9taWNTdHJpbmdJbXBsKiBzdHJp
bmcpCiAjaWZuZGVmIE5ERUJVRwogICAgIGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxlKGV4
ZWMpOwogICAgIGlmIChzdHJpbmcpCi0gICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmlu
Zy0+bGVuZ3RoKCkgfHwgc3RyaW5nLT5pc1N5bWJvbCgpIHx8IEF0b21pY1N0cmluZzo6aXNJbkF0
b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFu
IG90aGVyIHRocmVhZCEiKTsKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLT5s
ZW5ndGgoKSB8fCBzdHJpbmctPmlzU3ltYm9sKCkgfHwgQXRvbWljU3RyaW5nSW1wbDo6aXNJbkF0
b21pY1N0cmluZ1RhYmxlKHN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFu
IG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogI2VuZGlm
CkBAIC00OSw3ICs0OSw3IEBAIGlubGluZSBJZGVudGlmaWVyOjpJZGVudGlmaWVyKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpCiAjaWZuZGVmIE5ERUJVRwogICAg
IGNoZWNrQ3VycmVudEF0b21pY1N0cmluZ1RhYmxlKGV4ZWMpOwogICAgIGlmICghc3RyaW5nLmlz
TnVsbCgpKQotICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVuZ3RoKCkgfHwg
c3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBBdG9taWNTdHJpbmc6OmlzSW5BdG9taWNTdHJp
bmdUYWJsZShzdHJpbmcuaW1wbCgpKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4g
b3RoZXIgdGhyZWFkISIpOworICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcubGVu
Z3RoKCkgfHwgc3RyaW5nLmltcGwoKS0+aXNTeW1ib2woKSB8fCBBdG9taWNTdHJpbmdJbXBsOjpp
c0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nLmltcGwoKSksICJUaGUgYXRvbWljIHN0cmluZyBj
b21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV4
ZWMpOwogI2VuZGlmCkBAIC02MCwzMSArNjAsMzEgQEAgaW5saW5lIElkZW50aWZpZXI6OklkZW50
aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykKICNpZm5k
ZWYgTkRFQlVHCiAgICAgY2hlY2tDdXJyZW50QXRvbWljU3RyaW5nVGFibGUoZXhlYyk7CiAjZW5k
aWYKLSAgICByZXR1cm4gKkF0b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIo
KmV4ZWMsIHIpOworICAgIHJldHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkV2l0aFN0cmluZ1Rh
YmxlUHJvdmlkZXIoKmV4ZWMsIHIpOwogfQogaW5saW5lIFJlZjxTdHJpbmdJbXBsPiBJZGVudGlm
aWVyOjphZGQoVk0qIHZtLCBTdHJpbmdJbXBsKiByKQogewogI2lmbmRlZiBOREVCVUcKICAgICBj
aGVja0N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSh2bSk7CiAjZW5kaWYKLSAgICByZXR1cm4gKkF0
b21pY1N0cmluZzo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoKnZtLCByKTsKKyAgICByZXR1
cm4gKkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKCp2bSwgcik7
CiB9CiAKLWlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0qIHZtLCBTdHJp
bmdJbXBsKiB1aWQpCitpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKFZNKiB2
bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBpZiAoIXVpZCB8fCAhdWlkLT5pc1N5
bWJvbCgpKQogICAgICAgICByZXR1cm4gSWRlbnRpZmllcih2bSwgdWlkKTsKLSAgICByZXR1cm4g
SWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyLCB1aWQpOworICAgIHJldHVybiBJZGVudGlmaWVy
KHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih1aWQpKTsKIH0KIAotaW5saW5lIElkZW50aWZpZXIg
SWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cmluZ0ltcGwqIHVpZCkKK2lu
bGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoRXhlY1N0YXRlKiBleGVjLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHJldHVybiBmcm9tVWlkKCZleGVjLT52bSgpLCB1
aWQpOwogfQogCiBpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKGNvbnN0IFBy
aXZhdGVOYW1lJiBuYW1lKQogewotICAgIHJldHVybiBJZGVudGlmaWVyKFVuaXF1ZUlkZW50aWZp
ZXIsIG5hbWUudWlkKCkpOworICAgIHJldHVybiBJZGVudGlmaWVyKG5hbWUudWlkKCkpOwogfQog
CiB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCmluZGV4
IGMyNDMyMDZlMzRjYjBlYjkwNjFkZWE2N2U1N2M0NzY0YzE4NzJiNmQuLmQ3M2Y3NDhlM2FmNTc0
ZTEyYmZmYTEzZDI3YTNhMDY2YTk3NjlmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCkBAIC0xMDMsNyAr
MTAzLDcgQEAgYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXRjaGVzKFN0cnVjdHVyZUNo
YWluKiBjaGFpbikgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJbnRlbmRlZFN0
cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21pY1N0cmluZ0ltcGwqIHVpZCkK
K2Jvb2wgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6bWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZlY3Rv
ci5zaXplKCk7ICsraSkgewogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5o
CmluZGV4IDNjMDE5MTc3ZGE2NTNlOWU3NWY2M2U4MDFjNTE2NDQ0ZDQ2MWQ0ZWIuLmEwZjU1NjVi
ZDExZmVlOGM4MzcxMWYwZjU2MDUyZjIxNDMyMjllNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgY2xhc3MgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbiA6IHB1YmxpYyBSZWZDb3VudGVk
PEludGVuZGVkU3RydWN0dXJlQ2hhaW4+IHsKICAgICAKICAgICBib29sIGlzU3RpbGxWYWxpZCgp
IGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhTdHJ1Y3R1cmVDaGFpbiopIGNvbnN0OwotICAgIGJv
b2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIGJvb2wg
bWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICBib29sIGlz
Tm9ybWFsaXplZCgpOwogICAgIAogICAgIGJvb2wgdGFrZXNTbG93UGF0aEluREZHRm9ySW1wdXJl
UHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCA3ZDA2ZmE2MDBlYTIwNWU1NzE5NTBiNGNiODNjN2JlYmY1OGU5YjA1
Li4yYjMzZWM5MjI1OTExZjg1ZjRmNjM2OGJhNDNlYTNiNGE2MmFmN2EwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC00NTYsNyAr
NDU2LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRLZXlQcml2
YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVy
YXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRLZXlW
YWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlWYWx1ZSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUsIFN5bWJvbDo6Y3JlYXRl
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpLCBEb250RW51bSB8
IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5w
cm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1ib2w6OmNyZWF0ZSh2
bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgfTsK
ICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3Rh
dGljR2xvYmFscykpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJp
bmcuY3BwCmluZGV4IDEzYjkwZWZhNjY3ZDQ5MjA3OTBhMjMzMTlhNWU4ZmM3NzQxZGQ5OGQuLmY5
ZDBmNDM0NjE1ZTcyNTc2MmMxMWM3ZTgyZTM5NWVkZDEyOWIzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBBdG9taWNT
dHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmlu
ZyhFeGVjU3RhdGUqIGV4ZQogewogICAgIGlmIChtX2xlbmd0aCA+IG1heExlbmd0aEZvck9uU3Rh
Y2tSZXNvbHZlKSB7CiAgICAgICAgIHJlc29sdmVSb3BlKGV4ZWMpOwotICAgICAgICBpZiAoQXRv
bWljU3RyaW5nSW1wbCogZXhpc3RpbmdBdG9taWNTdHJpbmcgPSBBdG9taWNTdHJpbmc6OmZpbmQo
bV92YWx1ZS5pbXBsKCkpKSB7CisgICAgICAgIGlmIChBdG9taWNTdHJpbmdJbXBsKiBleGlzdGlu
Z0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cChtX3ZhbHVlLmltcGwoKSkp
IHsKICAgICAgICAgICAgIG1fdmFsdWUgPSAqZXhpc3RpbmdBdG9taWNTdHJpbmc7CiAgICAgICAg
ICAgICBzZXRJczhCaXQobV92YWx1ZS5pbXBsKCktPmlzOEJpdCgpKTsKICAgICAgICAgICAgIGNs
ZWFyRmliZXJzKCk7CkBAIC0yMDYsNyArMjA2LDcgQEAgQXRvbWljU3RyaW5nSW1wbCogSlNSb3Bl
U3RyaW5nOjpyZXNvbHZlUm9wZVRvRXhpc3RpbmdBdG9taWNTdHJpbmcoRXhlY1N0YXRlKiBleGUK
ICAgICBpZiAoaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIgYnVmZmVyW21heExlbmd0aEZvck9u
U3RhY2tSZXNvbHZlXTsKICAgICAgICAgcmVzb2x2ZVJvcGVJbnRlcm5hbDgoYnVmZmVyKTsKLSAg
ICAgICAgaWYgKEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5nID0gQXRvbWlj
U3RyaW5nOjpmaW5kKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CisgICAgICAgIGlmIChBdG9taWNTdHJp
bmdJbXBsKiBleGlzdGluZ0F0b21pY1N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1cChi
dWZmZXIsIG1fbGVuZ3RoKSkgewogICAgICAgICAgICAgbV92YWx1ZSA9ICpleGlzdGluZ0F0b21p
Y1N0cmluZzsKICAgICAgICAgICAgIHNldElzOEJpdChtX3ZhbHVlLmltcGwoKS0+aXM4Qml0KCkp
OwogICAgICAgICAgICAgY2xlYXJGaWJlcnMoKTsKQEAgLTIxNSw3ICsyMTUsNyBAQCBBdG9taWNT
dHJpbmdJbXBsKiBKU1JvcGVTdHJpbmc6OnJlc29sdmVSb3BlVG9FeGlzdGluZ0F0b21pY1N0cmlu
ZyhFeGVjU3RhdGUqIGV4ZQogICAgIH0gZWxzZSB7CiAgICAgICAgIFVDaGFyIGJ1ZmZlclttYXhM
ZW5ndGhGb3JPblN0YWNrUmVzb2x2ZV07CiAgICAgICAgIHJlc29sdmVSb3BlSW50ZXJuYWwxNihi
dWZmZXIpOwotICAgICAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCogZXhpc3RpbmdBdG9taWNTdHJp
bmcgPSBBdG9taWNTdHJpbmc6OmZpbmQoYnVmZmVyLCBtX2xlbmd0aCkpIHsKKyAgICAgICAgaWYg
KEF0b21pY1N0cmluZ0ltcGwqIGV4aXN0aW5nQXRvbWljU3RyaW5nID0gQXRvbWljU3RyaW5nSW1w
bDo6bG9va3VwKGJ1ZmZlciwgbV9sZW5ndGgpKSB7CiAgICAgICAgICAgICBtX3ZhbHVlID0gKmV4
aXN0aW5nQXRvbWljU3RyaW5nOwogICAgICAgICAgICAgc2V0SXM4Qml0KG1fdmFsdWUuaW1wbCgp
LT5pczhCaXQoKSk7CiAgICAgICAgICAgICBjbGVhckZpYmVycygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKaW5kZXggYTIyZTZmYmQ3NGUxY2ViZDE3NzdkNGZkY2Fm
OTgzNjM3N2Q0MDRlNi4uMjFmODYzOTkxOTU1YzE3YTgzMTUzMThmZDUzYjBkZjY2MjM0ZGUyNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCkBAIC00ODEsNyArNDgx
LDcgQEAgQUxXQVlTX0lOTElORSBBdG9taWNTdHJpbmdJbXBsKiBKU1N0cmluZzo6dG9FeGlzdGlu
Z0F0b21pY1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IEpTUm9wZVN0cmluZyo+KHRoaXMpLT5yZXNvbHZlUm9wZVRvRXhpc3RpbmdBdG9taWNT
dHJpbmcoZXhlYyk7CiAgICAgaWYgKG1fdmFsdWUuaW1wbCgpLT5pc0F0b21pYygpKQogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KG1fdmFsdWUuaW1wbCgpKTsK
LSAgICByZXR1cm4gQXRvbWljU3RyaW5nOjpmaW5kKG1fdmFsdWUuaW1wbCgpKTsKKyAgICByZXR1
cm4gQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwKG1fdmFsdWUuaW1wbCgpKTsKIH0KIAogaW5saW5l
IGNvbnN0IFN0cmluZyYgSlNTdHJpbmc6OnZhbHVlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggODRhYWY4ZWFlZWY5MjZiODhh
ZmFiZTJhMDhjMWUwYjQxMmQ4YTJjOC4uMzVhNWM2MWRiNzk0YjUxNzBiNzU0YjZkNzAwOGUzOGVk
Y2YxMGQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3Vw
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTEwMCw3
ICsxMDAsNyBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgaWYgKHByb3BlcnR5TmFtZS5p
c1N5bWJvbCgpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgU3RyaW5n
SW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgICAgICBpZiAoIXVpZCkKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXBEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRh
LmgKaW5kZXggMzkzNGE1YjVjNDU1YTU5NzgxNzVlNzM5ZTBhMWJhMmQzMDBmNTI5Yy4uM2I1ODYz
ZWZjZGYyNzc2ZWIxYjg0NTkwMmIzODcwODk0MzY2OGI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcERhdGEuaApAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIE1hcERhdGFJbXBs
IHsKICAgICB0eXBlZGVmIEhhc2hNYXA8SlNDZWxsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpE
ZWZhdWx0SGFzaDxKU0NlbGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJhaXRzPEpTQ2VsbCo+LCBJbmRl
eFRyYWl0cz4gQ2VsbEtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxFbmNvZGVkSlNWYWx1
ZSwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWVIYXNoLCBFbmNvZGVkSlNWYWx1ZUhhc2hUcmFpdHMs
IEluZGV4VHJhaXRzPiBWYWx1ZUtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJ
bXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj46Okhh
c2gsIFdURjo6SGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIEluZGV4VHJhaXRzPiBTdHJpbmdLZXll
ZE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludDMyX3QsIHR5
cGVuYW1lIFdURjo6RGVmYXVsdEhhc2g8QXRvbWljU3RyaW5nSW1wbCo+OjpIYXNoLCBXVEY6Okhh
c2hUcmFpdHM8QXRvbWljU3RyaW5nSW1wbCo+LCBJbmRleFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7
CisgICAgdHlwZWRlZiBIYXNoTWFwPFN5bWJvbEltcGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6
OlB0ckhhc2g8U3ltYm9sSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8U3ltYm9sSW1wbCo+LCBJbmRl
eFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7CiAKICAgICBzaXplX3QgY2FwYWNpdHlJbkJ5dGVzKCkg
eyByZXR1cm4gbV9jYXBhY2l0eSAqIHNpemVvZihFbnRyeSk7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IGQ3YjUx
NmE0MzNkODIwY2U4ZTRlMGY3MWVmODUwZWJkOGNlZWQ4MmEuLjNjZDE1ZWIzNGFhYjdhZmYyYWNh
ZmFiZDY3ZWJlMWE1MGU1Zjc0NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTI0Miw5ICsyNDIsOSBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVydHlTeW1i
b2xzKEV4ZWNTdGF0ZSogZQogICAgIEpTQXJyYXkqIG5hbWVzID0gY29uc3RydWN0RW1wdHlBcnJh
eShleGVjLCAwKTsKICAgICBzaXplX3QgbnVtUHJvcGVydGllcyA9IHByb3BlcnRpZXMuc2l6ZSgp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVydGllczsgaSsrKSB7Ci0gICAg
ICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVzW2ldLmltcGwoKTsKLSAgICAg
ICAgaWYgKGltcGwtPmlzU3ltYm9sKCkgJiYgIWV4ZWMtPnByb3BlcnR5TmFtZXMoKS5pc1ByaXZh
dGVOYW1lKGltcGwpKQotICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVh
dGUoZXhlYy0+dm0oKSwgaW1wbCkpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCA9
IHByb3BlcnRpZXNbaV0uaW1wbCgpOworICAgICAgICBpZiAoaW1wbC0+aXNTeW1ib2woKSAmJiAh
ZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoKmltcGwpKQorICAgICAgICAgICAg
bmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8
U3ltYm9sSW1wbCo+KGltcGwpKSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
bmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJp
dmF0ZU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgK
aW5kZXggY2NjY2MzOWZhOTM5MTNiM2ZhNjFjNzUwZTY4ZGM3MjkxNmU1YjcxNC4uZTQ2YTdhNjFj
NjkyYzlhYTRmZDFmOWIwYWQxMDU1NjY5YWFkY2ViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFByaXZh
dGVOYW1lX2gKICNkZWZpbmUgUHJpdmF0ZU5hbWVfaAogCi0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKQEAgLTM3LDI0ICszNywyNSBAQCBjbGFzcyBQcml2YXRlTmFtZSB7CiAgICAgewog
ICAgIH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkKKyAgICBl
eHBsaWNpdCBQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1aWQpCiAgICAgICAgIDogbV9pbXBsKHVp
ZCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2ltcGwtPmlzU3ltYm9sKCkpOwogICAgIH0KIAot
ICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCisgICAg
ZW51bSBEZXNjcmlwdGlvblRhZyB7IERlc2NyaXB0aW9uIH07CisgICAgZXhwbGljaXQgUHJpdmF0
ZU5hbWUoRGVzY3JpcHRpb25UYWcsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCiAgICAgICAg
IDogbV9pbXBsKFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChkZXNjcmlwdGlvbi5pbXBsKCkpKQog
ICAgIHsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBsLmdldCgpKTsgfQorICAgIFN5
bWJvbEltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfQogCiAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gdWlk
KCkgPT0gb3RoZXIudWlkKCk7IH0KICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJpdmF0ZU5h
bWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSAhPSBvdGhlci51aWQoKTsgfQogCiBwcml2
YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7CisgICAgUmVmUHRyPFN5bWJvbElt
cGw+IG1faW1wbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCmluZGV4IGFjOTVjYTE3NTYwZWUxNzdmYTNjNmE4
ZmI4OTgwNWQ1YzY5ZWY1YjguLmIwNjhiOTkxZGVhZDU1ODE0YzQ5ZDIwNzQyOGJjYjZkMTYzN2Vk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFw
SGFzaFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlN
YXBIYXNoVGFibGUuaApAQCAtMzUsNyArMzUsNyBAQAogI2RlZmluZSBEVU1QX1BST1BFUlRZTUFQ
X1NUQVRTIDAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9DT0xMSVNJT05TIDAKIAotI2RlZmlu
ZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChBdG9taWNTdHJpbmdJbXBsKikxKQor
I2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChVbmlxdWVkU3RyaW5nSW1w
bCopMSkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFzcyBQcm9w
ZXJ0eVRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKENlbGxUeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgdHlwZWRlZiBBdG9taWNT
dHJpbmdJbXBsKiBLZXlUeXBlOworICAgIHR5cGVkZWYgVW5pcXVlZFN0cmluZ0ltcGwqIEtleVR5
cGU7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eU1hcEVudHJ5IFZhbHVlVHlwZTsKIAogICAgIC8vIFRo
ZSBpbiBvcmRlciBpdGVyYXRvciBwcm92aWRlcyBvdmVybG9hZGVkICogYW5kIC0+IHRvIGFjY2Vz
cyB0aGUgVmFsdWUgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCmluZGV4IDRmMmNhODcyYmUzNzIzZmNiNzA5YTIz
NThhNjU4ZDk4MjU5NmQ3NTAuLjcwYmEwMzkzNDA5ZDQ1MzA2MDViMjg4OTRhMWE3YTg1M2FiMDA1
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFt
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCkBA
IC0zNCwxOSArMzQsMTkgQEAKIAogY2xhc3MgUHJvcGVydHlOYW1lIHsKIHB1YmxpYzoKLSAgICBQ
cm9wZXJ0eU5hbWUoQXRvbWljU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQorICAgIFByb3BlcnR5
TmFtZShVbmlxdWVkU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQogICAgICAgICA6IG1faW1wbChw
cm9wZXJ0eU5hbWUpCiAgICAgewotICAgICAgICBBU1NFUlQoIW1faW1wbCB8fCBtX2ltcGwtPmlz
QXRvbWljKCkgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKTsKKyAgICAgICAgQVNTRVJUKCFtX2ltcGwp
OwogICAgIH0KIAogICAgIFByb3BlcnR5TmFtZShjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCi0gICAgICAgIDogUHJvcGVydHlOYW1lKHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwq
Pihwcm9wZXJ0eU5hbWUuaW1wbCgpKSkKKyAgICAgICAgOiBQcm9wZXJ0eU5hbWUocHJvcGVydHlO
YW1lLmltcGwoKSkKICAgICB7CiAgICAgfQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IFByaXZh
dGVOYW1lJiBwcm9wZXJ0eU5hbWUpCi0gICAgICAgIDogbV9pbXBsKHN0YXRpY19jYXN0PEF0b21p
Y1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUudWlkKCkpKQorICAgICAgICA6IG1faW1wbChwcm9w
ZXJ0eU5hbWUudWlkKCkpCiAgICAgewogICAgICAgICBBU1NFUlQobV9pbXBsKTsKICAgICAgICAg
QVNTRVJUKG1faW1wbC0+aXNTeW1ib2woKSk7CkBAIC01NywxNCArNTcsMTQgQEAgY2xhc3MgUHJv
cGVydHlOYW1lIHsKICAgICAgICAgcmV0dXJuIG1faW1wbCAmJiBtX2ltcGwtPmlzU3ltYm9sKCk7
CiAgICAgfQogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogdWlkKCkgY29uc3QKKyAgICBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2ltcGw7CiAg
ICAgfQogCiAgICAgQXRvbWljU3RyaW5nSW1wbCogcHVibGljTmFtZSgpIGNvbnN0CiAgICAgewot
ICAgICAgICByZXR1cm4gKCFtX2ltcGwgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKSA/IG51bGxwdHIg
OiBtX2ltcGw7CisgICAgICAgIHJldHVybiAoIW1faW1wbCB8fCBtX2ltcGwtPmlzU3ltYm9sKCkp
ID8gbnVsbHB0ciA6IHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihtX2ltcGwpOwogICAg
IH0KIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApAQCAtNzYsNyArNzYs
NyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUgewogICAgIH0KIAogcHJpdmF0ZToKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiBtX2ltcGw7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1faW1wbDsKIH07CiAK
IGlubGluZSBib29sIG9wZXJhdG9yPT0oUHJvcGVydHlOYW1lIGEsIGNvbnN0IElkZW50aWZpZXIm
IGIpCkBAIC0xMTYsNyArMTE2LDcgQEAgY2xhc3MgUHJvcGVydHlOYW1lIHsKIAogQUxXQVlTX0lO
TElORSBPcHRpb25hbDx1aW50MzJfdD4gcGFyc2VJbmRleChQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IHByb3BlcnR5TmFtZS51aWQoKTsK
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgIGlm
ICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICBpZiAodWlkLT5pc1N5bWJvbCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1l
QXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5
LmgKaW5kZXggZThlYmRmMTY4MmRiZDJjNThhNTY4ZmZkOGVhY2E0YzRmYTk4YzUzOC4uZDlkNGY2
YTc5MTdiZGQ5NDkyODk2ZTc4N2M2NzNhZDgxZmYwZjc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oCkBAIC03MSw4ICs3MSw4IEBA
IGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKICAgICB9CiAKICAgICB2b2lkIGFkZChjb25zdCBJ
ZGVudGlmaWVyJik7Ci0gICAgdm9pZCBhZGQoQXRvbWljU3RyaW5nSW1wbCopOwotICAgIHZvaWQg
YWRkS25vd25VbmlxdWUoQXRvbWljU3RyaW5nSW1wbCopOworICAgIHZvaWQgYWRkKFVuaXF1ZWRT
dHJpbmdJbXBsKik7CisgICAgdm9pZCBhZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCop
OwogCiAgICAgSWRlbnRpZmllciYgb3BlcmF0b3JbXSh1bnNpZ25lZCBpKSB7IHJldHVybiBtX2Rh
dGEtPnByb3BlcnR5TmFtZVZlY3RvcigpW2ldOyB9CiAgICAgY29uc3QgSWRlbnRpZmllciYgb3Bl
cmF0b3JbXSh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX2RhdGEtPnByb3BlcnR5TmFtZVZl
Y3RvcigpW2ldOyB9CkBAIC05MCw3ICs5MCw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsK
IAogcHJpdmF0ZToKICAgICBSZWZQdHI8UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBtX2RhdGE7Ci0g
ICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gbV9zZXQ7CisgICAgSGFzaFNldDxVbmlxdWVk
U3RyaW5nSW1wbCo+IG1fc2V0OwogICAgIFZNKiBtX3ZtOwogfTsKIApAQCAtOTksMTIgKzk5LDEy
IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKGNvbnN0IElkZW50
aWZpZXImIGlkZW50aWZpZXIpCiAgICAgYWRkKGlkZW50aWZpZXIuaW1wbCgpKTsKIH0KIAotQUxX
QVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGRLbm93blVuaXF1ZShBdG9taWNT
dHJpbmdJbXBsKiBpZGVudGlmaWVyKQorQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFy
cmF5OjphZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllcikKIHsKICAg
ICBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlk
KG1fdm0sIGlkZW50aWZpZXIpKTsKIH0KIAotQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFt
ZUFycmF5OjphZGQoQXRvbWljU3RyaW5nSW1wbCogaWRlbnRpZmllcikKK0FMV0FZU19JTkxJTkUg
dm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlmaWVy
KQogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzZXRUaHJlc2hvbGQgPSAyMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKaW5kZXggOTFh
MzM2ODQ2NGNlNjg3OTljNTk5MzdjODEwZjc4ZmU4MDZkZGJjYy4uOWM2YTQzYWUyMTM4ZjRlZWZl
YmE2ZTFkMDJiYzJlYWQxOWU0ZGU1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNtYWxsU3RyaW5n
c1N0b3JhZ2UgewogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBiYXNlU3RyaW5nID0gU3RyaW5nSW1w
bDo6Y3JlYXRlVW5pbml0aWFsaXplZChzaW5nbGVDaGFyYWN0ZXJTdHJpbmdDb3VudCwgY2hhcmFj
dGVyQnVmZmVyKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2luZ2xlQ2hhcmFjdGVy
U3RyaW5nQ291bnQ7ICsraSkgewogICAgICAgICBjaGFyYWN0ZXJCdWZmZXJbaV0gPSBpOwotICAg
ICAgICBtX3JlcHNbaV0gPSBBdG9taWNTdHJpbmc6OmFkZChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+
KFN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBsKGJhc2VTdHJpbmcsIGksIDEp
KS5nZXQoKSk7CisgICAgICAgIG1fcmVwc1tpXSA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZChQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+KFN0cmluZ0ltcGw6OmNyZWF0ZVN1YnN0cmluZ1NoYXJpbmdJbXBs
KGJhc2VTdHJpbmcsIGksIDEpKS5nZXQoKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAppbmRleCA5OTk4NTc4OGI2Y2NkMDlkMzU2MWQ1
MzI0ZjVjN2NiNGM1ZjIzYmU1Li5iODQ0NmZkNTdlNTMyNTYyZGVkOGYwZWMwZWVkYjk3OWU0Mzlk
NjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKQEAg
LTYwLDcgKzYwLDcgQEAKIHN0YXRpYyBIYXNoU2V0PFN0cnVjdHVyZSo+JiBsaXZlU3RydWN0dXJl
U2V0ID0gKihuZXcgSGFzaFNldDxTdHJ1Y3R1cmUqPik7CiAjZW5kaWYKIAotYm9vbCBTdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWdu
ZWQgYXR0cmlidXRlcykgY29uc3QKK2Jvb2wgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpjb250
YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdAog
ewogICAgIGlmIChpc1VzaW5nU2luZ2xlU2xvdCgpKSB7CiAgICAgICAgIFN0cnVjdHVyZSogdHJh
bnNpdGlvbiA9IHNpbmdsZVRyYW5zaXRpb24oKTsKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBTdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5z
aWduZWQgYXR0cmlidXQKICAgICByZXR1cm4gbWFwKCktPmdldChzdGQ6Om1ha2VfcGFpcihyZXAs
IGF0dHJpYnV0ZXMpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNpdGlv
blRhYmxlOjpnZXQoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBj
b25zdAoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpnZXQoVW5p
cXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKIHsKICAgICBp
ZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24g
PSBzaW5nbGVUcmFuc2l0aW9uKCk7CkBAIC0zMTYsNyArMzE2LDcgQEAgdm9pZCBTdHJ1Y3R1cmU6
Om1hdGVyaWFsaXplUHJvcGVydHlNYXAoVk0mIHZtKQogICAgIGNoZWNrT2Zmc2V0Q29uc2lzdGVu
Y3koKTsKIH0KIAotU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRv
RXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSogc3RydWN0dXJlLCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCitT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgQVNTRVJU
KCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09i
amVjdCgpKTsKQEAgLTMzNiw3ICszMzYsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJv
cGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqIHN0cnVjdAogICAg
IHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZS51aWQoKSwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKK1N0cnVjdHVy
ZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29u
Y3VycmVudGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIENvbmN1
cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHN0cnVjdHVyZS0+bV9sb2NrKTsKICAgICByZXR1cm4gYWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQs
IGF0dHJpYnV0ZXMsIG9mZnNldCk7CkBAIC04NDIsNyArODQyLDcgQEAgUHJvcGVydHlUYWJsZSog
U3RydWN0dXJlOjpjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoVk0mIHZtKQogICAgIHJldHVy
biBQcm9wZXJ0eVRhYmxlOjpjcmVhdGUodm0sIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1f
b2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KSk7CiB9CiAKLVByb3BlcnR5T2Zmc2V0IFN0cnVjdHVy
ZTo6Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJp
YnV0ZXMpCitQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcykKIHsKICAgICBQcm9wZXJ0eU9m
ZnNldCByZXN1bHQgPSBpbnZhbGlkT2Zmc2V0OwogICAgIApAQCAtODgyLDcgKzg4Miw3IEBAIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwgdW5zaWduZWQgYXR0cmliCiAgICAgaWYgKGF0dHJpYnV0ZXMgJiBEb250RW51bSkKICAg
ICAgICAgc2V0SGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXModHJ1ZSk7CiAKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKIAogICAgIGlmICghcHJvcGVydHlUYWJsZSgp
KQogICAgICAgICBjcmVhdGVQcm9wZXJ0eU1hcChsb2NrZXIsIHZtKTsKQEAgLTkwMSw3ICs5MDEs
NyBAQCBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZShQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lKQogICAgIAogICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKIAotICAgIEF0b21pY1N0cmlu
Z0ltcGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
cmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFwcm9wZXJ0eVRhYmxlKCkpCiAg
ICAgICAgIHJldHVybiBpbnZhbGlkT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaAppbmRleCAxYjQ0ZTJhMmI3MjQwMjcwNmMwZjkwNGM5Yjk0Yzg4YTExMWRh
ZmI2Li4xYTRlZWI1YTUwNDY0N2ExMGQ5NzUyMGU0NTNhOGJjZDE3ZDM2ODlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAtNDgsNyArNDgsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTczLDcgKzczLDcgQEAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBv
dXRPZkxpbmVHcm93dGhGYWN0b3IgPSAyOwogCiBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRyeSB7Ci0g
ICAgQXRvbWljU3RyaW5nSW1wbCoga2V5OworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXk7CiAg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OwogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CiAKQEAg
LTg0LDcgKzg0LDcgQEAgc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewogICAgIHsKICAgICB9CiAg
ICAgCi0gICAgUHJvcGVydHlNYXBFbnRyeShBdG9taWNTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQgYXR0cmlidXRlcykKKyAgICBQcm9wZXJ0eU1hcEVudHJ5
KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgdW5zaWduZWQg
YXR0cmlidXRlcykKICAgICAgICAgOiBrZXkoa2V5KQogICAgICAgICAsIG9mZnNldChvZmZzZXQp
CiAgICAgICAgICwgYXR0cmlidXRlcyhhdHRyaWJ1dGVzKQpAQCAtMTMzLDcgKzEzMyw3IEBAIGNs
YXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHN0YXRpYyB2b2lkIGR1
bXBTdGF0aXN0aWNzKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBhZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiwgUHV0UHJvcGVydHlTbG90OjpDb250
ZXh0ID0gUHV0UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCk7Ci0gICAgc3RhdGljIFN0cnVj
dHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRs
eShTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMs
IFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFu
c2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJl
bW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJv
cGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBj
aGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5
cGUpOwpAQCAtMjg4LDggKzI4OCw4IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CiAgICAgdm9pZCBmb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYpOwogICAgIAotICAgIFByb3BlcnR5
T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwotICAgIFByb3Bl
cnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVk
JiBhdHRyaWJ1dGVzKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRDb25jdXJyZW50bHkoVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgUHJvcGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKTsKICAgICAKICAgICBW
ZWN0b3I8UHJvcGVydHlNYXBFbnRyeT4gZ2V0UHJvcGVydGllc0NvbmN1cnJlbnRseSgpOwogICAg
IApAQCAtNDgyLDcgKzQ4Miw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0Nl
bGwgewogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKik7CiAg
ICAgCi0gICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGlu
Z1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFk
ZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSosIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAKICAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBzdHJ1Y3R1cmUgdGhhdCBoYXMgYSB1
c2FibGUgcHJvcGVydHkgdGFibGUsIHRoYXQgcHJvcGVydHkgdGFibGUsCiAgICAgLy8gYW5kIHRo
ZSBsaXN0IG9mIHN0cnVjdHVyZXMgdGhhdCB3ZSB2aXNpdGVkIGJlZm9yZSB3ZSBnb3QgdG8gaXQu
IElmIGl0IHJldHVybnMgYQpAQCAtNTkwLDcgKzU5MCw3IEBAIGNsYXNzIFN0cnVjdHVyZSBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgV3JpdGVCYXJyaWVyPEpTQ2VsbD4gbV9wcmV2aW91
c09yUmFyZURhdGE7CiAKLSAgICBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbV9uYW1lSW5QcmV2
aW91czsKKyAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbmFtZUluUHJldmlvdXM7CiAK
ICAgICBjb25zdCBDbGFzc0luZm8qIG1fY2xhc3NJbmZvOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKaW5kZXggZjE3YmMxYjE3YTQwMWMw
ZGM4OTE4YzZkYjgzMzljNTMzMTA4NTIzMC4uNWMzYWVkNzcxNTFhOWIyMzdiNjc2YWFhZGVjNWJj
MDExNjJjZjc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3RydWN0dXJlOjpmb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKICAgICB9CiB9CiAK
LWlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseShBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25j
dXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1
dGVzSWdub3JlZDsKICAgICByZXR1cm4gZ2V0Q29uY3VycmVudGx5KHVpZCwgYXR0cmlidXRlc0ln
bm9yZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCAyM2M2Y2EzMGRmYTM4ZTQwMmI5OTU2OGE2MzAx
ZjUzN2U4MjA1OGZlLi4zMmM5OTJkYWY3MTQ0MzVjYjliMjE5NzdjYjU3OGUyMzU0YTY0MjJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0
aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGUuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkluZGV4aW5nVHlw
ZS5oIgogI2luY2x1ZGUgIldlYWtHQ01hcC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05Mywx
MSArOTMsMTEgQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlIHsKIAogICAgIAogICAg
IHN0cnVjdCBIYXNoIHsKLSAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8QXRvbWljU3RyaW5nSW1w
bCosIHVuc2lnbmVkPiBLZXk7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFVuaXF1ZWRTdHJp
bmdJbXBsKiwgdW5zaWduZWQ+IEtleTsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyB1bnNpZ25l
ZCBoYXNoKGNvbnN0IEtleSYgcCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFB0ckhh
c2g8QXRvbWljU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsgcC5zZWNvbmQ7CisgICAgICAg
ICAgICByZXR1cm4gUHRySGFzaDxVbmlxdWVkU3RyaW5nSW1wbCo+OjpoYXNoKHAuZmlyc3QpICsg
cC5zZWNvbmQ7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBL
ZXkmIGEsIGNvbnN0IEtleSYgYikKQEAgLTEzMCw4ICsxMzAsOCBAQCBjbGFzcyBTdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGUgewogICAgIH0KIAogICAgIGlubGluZSB2b2lkIGFkZChWTSYsIFN0cnVj
dHVyZSopOwotICAgIGlubGluZSBib29sIGNvbnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIHJlcCwg
dW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7Ci0gICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0KEF0
b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CisgICAgaW5s
aW5lIGJvb2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmli
dXRlcykgY29uc3Q7CisgICAgaW5saW5lIFN0cnVjdHVyZSogZ2V0KFVuaXF1ZWRTdHJpbmdJbXBs
KiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGJvb2wg
aXNVc2luZ1NpbmdsZVNsb3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbC5jcHAKaW5kZXggNmQ3OWQxYzQ2MTZkN2M5NjAzODM2YTIzNWU1NzcxMTJhY2YwZTM0ZC4u
MjViM2NhN2M2MWIyZGUxZDZkMDQxNTI5N2FjYzI4NzE5ZDIwN2QwMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCkBAIC00MywxMSArNDMsMTEgQEAKIAogU3ltYm9s
OjpTeW1ib2woVk0mIHZtLCBjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICA6IEJhc2Uodm0sIHZt
LnN5bWJvbFN0cnVjdHVyZS5nZXQoKSkKLSAgICAsIG1fcHJpdmF0ZU5hbWUoc3RyaW5nKQorICAg
ICwgbV9wcml2YXRlTmFtZShQcml2YXRlTmFtZTo6RGVzY3JpcHRpb24sIHN0cmluZykKIHsKIH0K
IAotU3ltYm9sOjpTeW1ib2woVk0mIHZtLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitTeW1ib2w6
OlN5bWJvbChWTSYgdm0sIFN5bWJvbEltcGwqIHVpZCkKICAgICA6IEJhc2Uodm0sIHZtLnN5bWJv
bFN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1fcHJpdmF0ZU5hbWUodWlkKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCAxOWI2ZjRmMmZjYWJmMDZjMTkyOGY5MGJj
ODg2YWZjMDRhYzNkMTI0Li43ZDUyY2E5YmMwZGQyMGE5NmMxZTU4Nzc5NzRlYjE1ZTAxODhlNTUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAtNjQsNyArNjQsNyBA
QCBjbGFzcyBTeW1ib2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHN5
bWJvbDsKICAgICB9CiAKLSAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBBdG9taWNT
dHJpbmdJbXBsKiB1aWQpCisgICAgc3RhdGljIFN5bWJvbCogY3JlYXRlKFZNJiB2bSwgU3ltYm9s
SW1wbCogdWlkKQogICAgIHsKICAgICAgICAgU3ltYm9sKiBzeW1ib2wgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxTeW1ib2w+KHZtLmhlYXApKSBTeW1ib2wodm0sIHVpZCk7CiAgICAgICAg
IHN5bWJvbC0+ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBTeW1i
b2wgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIAogICAgIFN5bWJvbChWTSYpOwogICAgIFN5bWJv
bChWTSYsIGNvbnN0IFN0cmluZyYpOwotICAgIFN5bWJvbChWTSYsIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCk7CisgICAgU3ltYm9sKFZNJiwgU3ltYm9sSW1wbCogdWlkKTsKIAogICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAppbmRleCA1MzYzYjliNjk1NWIyNDE1MTE5
YTQwMjc2NjNjMGI1ODczNGZkNzEyLi4wZDJiN2Q4MGE4OGNmZGRkZjM4NTNjNGI5NzRkYWVjNjVi
OGEyMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
Q29uc3RydWN0b3IuY3BwCkBAIC02Miw3ICs2Miw3IEBACiB9CiAKICNkZWZpbmUgSU5JVElBTEla
RV9XRUxMX0tOT1dOX1NZTUJPTFMobmFtZSkgXAotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNyZWF0
ZSh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSMjU3ltYm9sLmltcGwoKSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICNuYW1lKSwgU3ltYm9sOjpjcmVhdGUodm0s
IHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lIyNTeW1ib2wu
aW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogdm9pZCBTeW1i
b2xDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTeW1ib2xQcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKQEAgLTEwOCw4ICsxMDgsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHN5bWJvbENvbnN0cnVjdG9yRm9yKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1wbD4gdWlkID0gZXhlYy0+dm0oKS5zeW1ib2xSZWdp
c3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
U3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KCZ1aWQuZ2V0KCkpKSk7CisgICAgUmVmPFN5bWJvbEltcGw+IHVpZCA9IGV4ZWMtPnZtKCkuc3lt
Ym9sUmVnaXN0cnkoKS5zeW1ib2xGb3JLZXkoc3RyaW5nKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKFN5bWJvbDo6Y3JlYXRlKGV4ZWMtPnZtKCksICZ1aWQuZ2V0KCkpKTsKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC0xMTgsOCArMTE4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBzeW1ib2xDb25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKCFzeW1i
b2xWYWx1ZS5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93
VHlwZUVycm9yKGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGFzU3ltYm9s
KHN5bWJvbFZhbHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAgICBBU1NFUlQodWlkLT5pc1N5
bWJvbCgpKTsKKyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1ib2xWYWx1ZSktPnBy
aXZhdGVOYW1lKCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkpCiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAppbmRleCA1OTMyZTYxNDYxMWEw
MzNiMTE2ZGJmOWU1ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFmN2EwNzkxNWM0ZjY0OGNjZTM3
Zjg4Y2FhZmEyMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
eW1ib2xUYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
VGFibGUuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1ib2xUYWJsZTo6cHJlcGFyZUZv
clR5cGVQcm9maWxpbmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgfQogfQogCi1H
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKK0dsb2JhbFZhcmlh
YmxlSUQgU3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxFQVNF
X0FTU0VSVChtX3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBH
bG9iYWxWYXJpYWJsZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvck9mZnNldChjb25zdCBDb25j
dXJyZW50SklUTG9ja2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFi
bGUobG9ja2VyLCBpdGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQogCi1SZWZQdHI8VHlwZVNldD4g
U3ltYm9sVGFibGU6Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiBsb2NrZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorUmVmUHRyPFR5cGVTZXQ+
IFN5bWJvbFRhYmxlOjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYgbG9ja2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCiB7CiAgICAg
UkVMRUFTRV9BU1NFUlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4OWNhYzYwNDQ0MDQwZGFjYjNm
ZjZlZmZkYzZmZGZkMzU4ZjBjZDVmLi45ZjBiYzRlNDNlYjlkN2Q2NGEyN2Q5MWQ4OWI4MGE5OTZl
ODA0MTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xU
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgK
QEAgLTM5LDcgKzM5LDcgQEAKICNpbmNsdWRlICJXYXRjaHBvaW50LmgiCiAjaW5jbHVkZSA8bWVt
b3J5PgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogCkBAIC00MjQsMTAgKzQyNCwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBm
aW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJp
bmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8
UmVmUHRyPFN0cmluZ0ltcGw+PiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFpdHM+IE1hcDsKLSAg
ICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJ
ZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0
cjxTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVl
VHlwZVNldE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQdHI8U3RyaW5n
SW1wbD4+IE9mZnNldFRvVmFyaWFibGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBI
YXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+LCBTeW1ib2xUYWJsZUluZGV4SGFz
aFRyYWl0cz4gTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0lt
cGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFJlZlB0cjxUeXBl
U2V0PiwgSWRlbnRpZmllclJlcEhhc2g+IFVuaXF1ZVR5cGVTZXRNYXA7CisgICAgdHlwZWRlZiBI
YXNoTWFwPFZhck9mZnNldCwgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gT2Zmc2V0VG9WYXJp
YWJsZU1hcDsKICAgICB0eXBlZGVmIFZlY3RvcjxTeW1ib2xUYWJsZUVudHJ5Kj4gTG9jYWxUb0Vu
dHJ5VmVjOwogCiAgICAgc3RhdGljIFN5bWJvbFRhYmxlKiBjcmVhdGUoVk0mIHZtKQpAQCAtNDUz
LDMzICs0NTMsMzMgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICB9CiAKICAgICAvLyBZb3UgbXVzdCBob2xkIHRoZSBsb2NrIHVudGlsIGFmdGVyIHlvdSdy
ZSBkb25lIHdpdGggdGhlIGl0ZXJhdG9yLgotICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3Ig
ZmluZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAg
IE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2VyJiwgU3Ry
aW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJy
ZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkg
Z2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3lt
Ym9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJp
bmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuZ2V0KGtleSk7CiAgICAg
fQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KFN0cmluZ0ltcGwqIGtleSkKKyAgICBT
eW1ib2xUYWJsZUVudHJ5IGdldChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAg
ICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGdl
dChsb2NrZXIsIGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5l
R2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3lt
Ym9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1
ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuaW5saW5lR2V0
KGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KFN0cmlu
Z0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGluZUdldChVbmlxdWVkU3RyaW5n
SW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9s
b2NrKTsKICAgICAgICAgcmV0dXJuIGlubGluZUdldChsb2NrZXIsIGtleSk7CkBAIC01NTksNyAr
NTU5LDcgQEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAg
ICAgcmV0dXJuIHRha2VOZXh0U2NvcGVPZmZzZXQobG9ja2VyKTsKICAgICB9CiAgICAgCi0gICAg
dm9pZCBhZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgY29u
c3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBhZGQoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50
cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fbG9jYWxUb0VudHJ5
KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgpKTsKQEAgLTU2Nywz
MSArNTY3LDMxIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgYWRkKFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRy
eSYgZW50cnkpCisgICAgdm9pZCBhZGQoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3lt
Ym9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2Vy
IGxvY2tlcihtX2xvY2spOwogICAgICAgICBhZGQobG9ja2VyLCBrZXksIGVudHJ5KTsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0lt
cGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5
bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1f
bG9jYWxUb0VudHJ5KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgp
KTsKICAgICAgICAgbV9tYXAuc2V0KGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lk
IHNldChTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQorICAg
IHZvaWQgc2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkm
IGVudHJ5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2Nr
KTsKICAgICAgICAgc2V0KGxvY2tlciwga2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIGJv
b2wgY29udGFpbnMoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkK
KyAgICBib29sIGNvbnRhaW5zKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmNvbnRhaW5zKGtleSk7
CiAgICAgfQogICAgIAotICAgIGJvb2wgY29udGFpbnMoU3RyaW5nSW1wbCoga2V5KQorICAgIGJv
b2wgY29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIENvbmN1
cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIHJldHVybiBjb250YWlucyhs
b2NrZXIsIGtleSk7CkBAIC02NDEsMTAgKzY0MSwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGNvbnN0IExvY2FsVG9FbnRyeVZlYyYgbG9jYWxUb0Vu
dHJ5KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImKTsKICAgICBTeW1ib2xUYWJsZUVudHJ5KiBl
bnRyeUZvcihjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU2NvcGVPZmZzZXQpOwogICAgIAot
ICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBWTSYpOworICAgIEdsb2JhbFZhcmlhYmxlSUQg
dW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0
cmluZ0ltcGwqIGtleSwgVk0mKTsKICAgICBHbG9iYWxWYXJpYWJsZUlEIHVuaXF1ZUlERm9yT2Zm
c2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBWYXJPZmZzZXQsIFZNJik7CiAgICAgUmVm
UHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JPZmZzZXQoY29uc3QgQ29uY3VycmVudEpJVExv
Y2tlciYsIFZhck9mZnNldCwgVk0mKTsKLSAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNl
dEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXks
IFZNJik7CisgICAgUmVmUHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKIAog
ICAgIGJvb2wgdXNlc05vblN0cmljdEV2YWwoKSB7IHJldHVybiBtX3VzZXNOb25TdHJpY3RFdmFs
OyB9CiAgICAgdm9pZCBzZXRVc2VzTm9uU3RyaWN0RXZhbChib29sIHVzZXNOb25TdHJpY3RFdmFs
KSB7IG1fdXNlc05vblN0cmljdEV2YWwgPSB1c2VzTm9uU3RyaWN0RXZhbDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAppbmRleCAwZjU3ZWM0YjVlZGJiMWI5Zjc4
ZGFlNjljZDc0ZTFjNjdjMzczYzU1Li5jNjFkYTJjOTAxYzNjYmU0YzA4OTY5OWRmMzExNWQzNzk2
OTdiZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcApAQCAt
MzM0LDEzICszMzQsMTMgQEAgdm9pZCBTdHJ1Y3R1cmVTaGFwZTo6bWFya0FzRmluYWwoKQogICAg
IG1fZmluYWwgPSB0cnVlOwogfQogCi12b2lkIFN0cnVjdHVyZVNoYXBlOjphZGRQcm9wZXJ0eShS
ZWZQdHI8U3RyaW5nSW1wbD4gaW1wbCkKK3ZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5
KFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gdWlkKQogewogICAgIEFTU0VSVCghbV9maW5hbCk7
Ci0gICAgbV9maWVsZHMuYWRkKGltcGwpOworICAgIG1fZmllbGRzLmFkZCh1aWQpOwogfQogCi1T
dHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpIAorU3RyaW5nIFN0cnVjdHVyZVNo
YXBlOjpwcm9wZXJ0eUhhc2goKQogewogICAgIEFTU0VSVChtX2ZpbmFsKTsKICAgICBpZiAobV9w
cm9wZXJ0eUhhc2gpCkBAIC0zNTAsOSArMzUwLDkgQEAgU3RyaW5nIFN0cnVjdHVyZVNoYXBlOjpw
cm9wZXJ0eUhhc2goKQogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7CiAgICAgYnVpbGRlci5hcHBl
bmQobV9jb25zdHJ1Y3Rvck5hbWUpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7Ci0gICAgCi0g
ICAgZm9yIChhdXRvIGl0ZXIgPSBtX2ZpZWxkcy5iZWdpbigpLCBlbmQgPSBtX2ZpZWxkcy5lbmQo
KTsgaXRlciAhPSBlbmQ7ICsraXRlcikgewotICAgICAgICBTdHJpbmcgcHJvcGVydHkgPSBTdHJp
bmcoKCppdGVyKSk7CisKKyAgICBmb3IgKGF1dG8ga2V5IDogbV9maWVsZHMpIHsKKyAgICAgICAg
U3RyaW5nIHByb3BlcnR5ID0gU3RyaW5nKHN0YXRpY19wb2ludGVyX2Nhc3Q8U3RyaW5nSW1wbD4o
a2V5KSk7CiAgICAgICAgIHByb3BlcnR5LnJlcGxhY2UoIjoiLCAiXFw6Iik7IC8vIEVuc3VyZSB0
aGF0IGhhc2goeyJmb286IiwgImJhciJ9KSAhPSBoYXNoKHsiZm9vIiwgIjpiYXIifSkgYmVjYXVz
ZSB3ZSdyZSB1c2luZyBjb2xvbnMgYXMgYSBzZXBhcmF0b3IgYW5kIGNvbG9ucyBhcmUgbGVnYWwg
Y2hhcmFjdGVycyBpbiBmaWVsZCBuYW1lcyBpbiBKUy4KICAgICAgICAgYnVpbGRlci5hcHBlbmQo
cHJvcGVydHkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaApp
bmRleCAyMjk3ZjFkYjI0ODU5MDVhNjRjYTkzMTk0NjVkZGFmZTgzMWRkYjBhLi4xZDFmYjJhOWQx
MjA0ZTA0OTkyMTk0N2NlZmJiNjJlMmQwODUyNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oCkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFN0cnVjdHVyZVNoYXBlIDog
cHVibGljIFJlZkNvdW50ZWQ8U3RydWN0dXJlU2hhcGU+IHsKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0cnVjdHVy
ZVNoYXBlKTsgfQogICAgIFN0cmluZyBwcm9wZXJ0eUhhc2goKTsKICAgICB2b2lkIG1hcmtBc0Zp
bmFsKCk7Ci0gICAgdm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8U3RyaW5nSW1wbD4pOworICAgIHZv
aWQgYWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPik7CiAgICAgU3RyaW5nIHN0
cmluZ1JlcHJlc2VudGF0aW9uKCk7CiAgICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owog
ICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpTdHJ1Y3R1cmVEZXNjcmlwdGlv
bj4gaW5zcGVjdG9yUmVwcmVzZW50YXRpb24oKTsKQEAgLTcwLDggKzcwLDggQEAgY2xhc3MgU3Ry
dWN0dXJlU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1Y3R1cmVTaGFwZT4gewogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBtZXJnZShjb25zdCBQYXNzUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiwgY29uc3QgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4pOwogICAgIGJv
b2wgaGFzU2FtZVByb3RvdHlwZUNoYWluKFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+KTsKIAot
ICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2ZpZWxkczsKLSAgICBIYXNoU2V0PFJl
ZlB0cjxTdHJpbmdJbXBsPj4gbV9vcHRpb25hbEZpZWxkczsKKyAgICBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2ZpZWxkczsKKyAgICBIYXNo
U2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX29wdGlv
bmFsRmllbGRzOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gbV9wcm90bzsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8U3RyaW5nPiBtX3Byb3BlcnR5SGFzaDsKICAgICBTdHJpbmcgbV9jb25zdHJ1
Y3Rvck5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9q
IGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagppbmRleCA0NjY5MGI4YzYyNzRh
MWE3NGQyZjZlZDI2YWQxOTBkNzIyYWUxMDllLi45ODk3MTNlYTA2MzU5MTJhNDFkMmFiMjc3OWNj
MDNlZTY4MTExMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hw
cm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKQEAgLTEyNyw2ICsx
MjcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFN0YWNrQm91bmRzLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdQcmludFN0cmVhbS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxBdG9taWNTdHJpbmcuY3Bw
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQXRvbWljU3RyaW5nSW1w
bC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxBdG9taWNTdHJp
bmdUYWJsZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxCYXNl
NjQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQ1N0cmluZy5j
cHAiIC8+CkBAIC0xMzYsNyArMTM3LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx0ZXh0XFN0cmluZ1ZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XHRleHRcU3ltYm9sUmVnaXN0cnkuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
d3RmXHRleHRcV1RGU3RyaW5nLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0NGLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHd0Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0ltcGxDRi5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxTdHJpbmdDRi5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxTdHJpbmdJbXBsQ0YuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcY2ZcU3RyaW5nVmlld0NGLmNwcCIgLz4KQEAgLTI5
MCw3ICsyOTEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5n
SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nT3Bl
cmF0b3JzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTdHJpbmdW
aWV3LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xJbXBs
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xSZWdpc3Ry
eS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcVW5pcXVlZFN0cmlu
Z0ltcGwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFdURlN0cmlu
Zy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZy5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZ1ByaW1pdGl2ZXMuaCIgLz4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycyBi
L1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCBjZDkyYTMx
Y2Q3YjdiYjQ0ZGFmMTVkZmFkOGQzZTUxOWNiZjI4MjFlLi42OGEyZGIxOWU2ZmY4NWU0Y2FhZGMx
ZWNiYTFmYTIxMGZiZDhjODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dU
Ri52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJv
ai5maWx0ZXJzCkBAIC02Niw2ICs2Niw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3
dGZcdGV4dFxBdG9taWNTdHJpbmcuY3BwIj4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcQXRv
bWljU3RyaW5nSW1wbC5jcHAiPgorICAgICAgPEZpbHRlcj50ZXh0PC9GaWx0ZXI+CisgICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxCYXNlNjQuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtODQs
NyArODcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcV1RGU3RyaW5n
LmNwcCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XGNmXEF0b21pY1N0cmluZ0NGLmNwcCI+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxjZlxBdG9taWNTdHJpbmdJbXBs
Q0YuY3BwIj4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcY2ZcU3RyaW5nQ0YuY3BwIj4KQEAg
LTM0NSw5ICszNDgsMTUgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0
cmluZ1ZpZXcuaCI+CiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sSW1wbC5oIj4KKyAg
ICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sUmVnaXN0cnkuaCI+CiAgICAgICA8RmlsdGVy
PnRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0Zlx0ZXh0XFVuaXF1ZWRTdHJpbmdJbXBsLmgiPgorICAgICAgPEZpbHRlcj50ZXh0PC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZc
dGV4dFxXVEZTdHJpbmcuaCI+CiAgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovY29weS1maWxlcy5j
bWQgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL2NvcHktZmlsZXMuY21kCmluZGV4IGVkN2JhYWY4
NmU5M2YwMzcxZDQ5NTVjODNjMDAwYWZkZjY5MmQwZDYuLmU3ZTY1OWU4ZmY2NzdhNTYwYWY3ZDcw
Mzk5MzRiZDMxODMxNzhhNGUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovY29w
eS1maWxlcy5jbWQKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9jb3B5LWZpbGVzLmNtZApA
QCAtMjgsNiArMjgsNyBAQCBlY2hvIENvcHlpbmcgb3RoZXIgZmlsZXMuLi4KIGZvciAlJWYgaW4g
KA0KICAgICAuLlxKYXZhU2NyaXB0Q29yZVxjcmVhdGVfaGFzaF90YWJsZQ0KICAgICB3dGZcdGV4
dFxBdG9taWNTdHJpbmcuY3BwDQorICAgIHd0Zlx0ZXh0XEF0b21pY1N0cmluZ0ltcGwuY3BwDQog
ICAgIHd0Zlx0ZXh0XFN0cmluZ0J1aWxkZXIuY3BwDQogICAgIHd0Zlx0ZXh0XFN0cmluZ0ltcGwu
Y3BwDQogICAgIHd0Zlx0ZXh0XFdURlN0cmluZy5jcHANCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyMjBkNThkM2ZiZTJjNzk0YmZiZDQwNmRiMmM0NDVhMmI4
MDlkZjkwLi5iZjRjZTk4MDFlMGE5Zjc1Njc5OGM1MDdkMGRmMGFmMDUzYmE3NDczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc2LDYgKzc2LDkgQEAKIAkJ
NDMwQjQ3ODkxQUFBQUMxQTAwMTIyM0RBIC8qIFN0cmluZ0NvbW1vbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMwQjQ3ODcxQUFBQUMxQTAwMTIyM0RB
IC8qIFN0cmluZ0NvbW1vbi5oICovOyB9OwogCQk3MEE5OTNGRTFBRDcxNTEzMDBGQTYxNUIgLyog
U3ltYm9sUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzBBOTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCAq
LzsgfTsKIAkJNzBBOTkzRkYxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEE5OTNGRDFBRDcx
NTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuaCAqLzsgfTsKKwkJNzBFQ0E2MEQxQjAyNDI2
ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21p
Y1N0cmluZ0ltcGwuY3BwICovOyB9OworCQk3MEVDQTYwRTFCMDI0MjY4MDA0NDk3MzkgLyogU3lt
Ym9sSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzBFQ0E2MEIxQjAyNDI2ODAwNDQ5NzM5IC8qIFN5bWJvbEltcGwuaCAqLzsgfTsKKwkJNzBFQ0E2
MEYxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEVDQTYwQzFCMDI0MjY4MDA0NDk3Mzkg
LyogVW5pcXVlZFN0cmluZ0ltcGwuaCAqLzsgfTsKIAkJN0NCQkEwNzQxOUJCN0ZEQzAwQkJGMDI1
IC8qIE9TT2JqZWN0UHRyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIuaCAqLzsgfTsK
IAkJN0NERDdGRjgxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJhdG9yQWRhcHRvcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDREQ3RkY3MTg2RDI5MUUw
MDc0MzNDRCAvKiBJdGVyYXRvckFkYXB0b3JzLmggKi87IH07CiAJCTdDREQ3RkZBMTg2RDJBNTQw
MDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Q0REN0ZGOTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5n
ZS5oICovOyB9OwpAQCAtOTQsNyArOTcsNyBAQAogCQk5QkQ4RjQwQjE3NkMyQjQ3MDAwMkQ4NjUg
LyogQXRvbWljU3RyaW5nVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlCRDhGNDBBMTc2QzJBRDgwMDAyRDg2NSAvKiBBdG9taWNTdHJpbmdUYWJs
ZS5oICovOyB9OwogCQlBNUJBMTVGMzE4MjQzM0E5MDBBODJFNjkgLyogU3RyaW5nTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RjIxODI0
MzNBOTAwQTgyRTY5IC8qIFN0cmluZ01hYy5tbSAqLzsgfTsKIAkJQTVCQTE1RjUxODI0MzQ4MDAw
QTgyRTY5IC8qIFN0cmluZ0ltcGxNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUJBMTVGNDE4MjQzNDgwMDBBODJFNjkgLyogU3RyaW5nSW1wbE1h
Yy5tbSAqLzsgfTsKLQkJQTVCQTE1RkExODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NG
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkEx
NUY3MTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdDRi5jcHAgKi87IH07CisJCUE1QkEx
NUZBMTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdJbXBsQ0YuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVCQTE1RjcxODI0MzVBNjAwQTgy
RTY5IC8qIEF0b21pY1N0cmluZ0ltcGxDRi5jcHAgKi87IH07CiAJCUE1QkExNUZCMTgyNDM1QTYw
MEE4MkU2OSAvKiBTdHJpbmdDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUJBMTVGODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICov
OyB9OwogCQlBNUJBMTVGQzE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nSW1wbENGLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QkExNUY5MTgyNDM1
QTYwMEE4MkU2OSAvKiBTdHJpbmdJbXBsQ0YuY3BwICovOyB9OwogCQlBNzBEQTA4NDE3OTlGMDRE
MDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi87
IH07CkBAIC0zNjAsNiArMzYzLDkgQEAKIAkJNjU0MUNBRjQxNjMwREIyNjAwNkQwREVDIC8qIENv
cHlXVEZIZWFkZXJzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IENv
cHlXVEZIZWFkZXJzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MEE5
OTNGQzFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MEE5OTNGRDFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8q
IEF0b21pY1N0cmluZ0ltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQXRvbWljU3RyaW5nSW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcw
RUNBNjBCMUIwMjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN5bWJvbEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzBFQ0E2MEMxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVuaXF1ZWRTdHJpbmdJbXBsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQkJBMDczMTlCQjdGREMwMEJCRjAyNSAvKiBPU09iamVj
dFB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPU09iamVjdFB0ci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZGNzE4NkQyOTFFMDA3NDMzQ0QgLyog
SXRlcmF0b3JBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVy
YXRvckFkYXB0b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDREQ3RkY5MTg2
RDJBNTQwMDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEl0ZXJhdG9yUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTM3OCw3ICszODQsNyBAQAogCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUgLyogQXRvbWljU3Ry
aW5nVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXRvbWljU3RyaW5nVGFibGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVCQTE1RjIxODI0MzNBOTAwQTgyRTY5IC8qIFN0cmluZ01h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFN0cmluZ01hYy5t
bTsgcGF0aCA9IG1hYy9TdHJpbmdNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1QkExNUY0MTgyNDM0ODAwMEE4MkU2OSAvKiBTdHJpbmdJbXBsTWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gU3RyaW5nSW1wbE1hYy5tbTsgcGF0aCA9IG1h
Yy9TdHJpbmdJbXBsTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBNUJBMTVG
NzE4MjQzNUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nQ0YuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gQXRvbWljU3RyaW5nQ0YuY3BwOyBwYXRoID0gY2YvQXRvbWlj
U3RyaW5nQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUJBMTVGNzE4MjQz
NUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nSW1wbENGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEF0b21pY1N0cmluZ0ltcGxDRi5jcHA7IHBhdGggPSBjZi9BdG9t
aWNTdHJpbmdJbXBsQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUJBMTVG
ODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gU3RyaW5nQ0YuY3BwOyBwYXRoID0gY2YvU3RyaW5nQ0YuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUJBMTVGOTE4MjQzNUE2MDBBODJFNjkgLyogU3Ry
aW5nSW1wbENGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0cmlu
Z0ltcGxDRi5jcHA7IHBhdGggPSBjZi9TdHJpbmdJbXBsQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc2VydGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjY4LDcgKzY3NCw3IEBACiAJCUE1QkExNUY2MTgyNDM1OUUwMEE4
MkU2OSAvKiBjZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0J
CQkJQTVCQTE1RjcxODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NGLmNwcCAqLywKKwkJ
CQlBNUJBMTVGNzE4MjQzNUE2MDBBODJFNjkgLyogQXRvbWljU3RyaW5nSW1wbENGLmNwcCAqLywK
IAkJCQlBNUJBMTVGODE4MjQzNUE2MDBBODJFNjkgLyogU3RyaW5nQ0YuY3BwICovLAogCQkJCUE1
QkExNUY5MTgyNDM1QTYwMEE4MkU2OSAvKiBTdHJpbmdJbXBsQ0YuY3BwICovLAogCQkJCTkzOTM0
QkQ0MThBMUYxNjkwMEQwRDZBMSAvKiBTdHJpbmdWaWV3Q0YuY3BwICovLApAQCAtOTE4LDYgKzky
NCw3IEBACiAJCQkJQThBNDczMUQxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5jcHAg
Ki8sCiAJCQkJQThBNDczMUUxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5oICovLAog
CQkJCUE4QTQ3MzFGMTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdIYXNoLmggKi8sCisJ
CQkJNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwICovLAog
CQkJCUE4QTQ3MzIwMTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJbXBsLmggKi8sCiAJ
CQkJOUJDNzBGMDQxNzZDMzc5RDAwMTAxREVDIC8qIEF0b21pY1N0cmluZ1RhYmxlLmNwcCAqLywK
IAkJCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUgLyogQXRvbWljU3RyaW5nVGFibGUuaCAqLywK
QEAgLTk0MCw5ICs5NDcsMTEgQEAKIAkJCQk5M0YxOTkzRDE5RDc5NThEMDBDMjM5MEIgLyogU3Ry
aW5nVmlldy5jcHAgKi8sCiAJCQkJQThBNDczMkExNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ09w
ZXJhdG9ycy5oICovLAogCQkJCUE4QTQ3MzJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdTdGF0
aWNzLmNwcCAqLywKKwkJCQk3MEVDQTYwQjFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5o
ICovLAogCQkJCTcwQTk5M0ZDMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5jcHAg
Ki8sCiAJCQkJNzBBOTkzRkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi8s
CiAJCQkJQThBNDczMkMxNTFBODI1QjAwNDEyM0ZGIC8qIFRleHRQb3NpdGlvbi5oICovLAorCQkJ
CTcwRUNBNjBDMUIwMjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovLAogCQkJ
CUE4QTQ3MzJEMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuY3BwICovLAogCQkJCUE4QTQ3
MzJFMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuaCAqLywKIAkJCSk7CkBAIC0xMDM2LDYg
KzEwNDUsNyBAQAogCQkJCUE4QTQ3NDM4MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJ
bXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QkQ4RjQwQjE3NkMyQjQ3MDAwMkQ4NjUgLyogQXRv
bWljU3RyaW5nVGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0Njk0MTlDMTZFQUIxMEEwMDI0
RTE0NiAvKiBBdXRvZHJhaW5lZFBvb2wuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBGMUIw
MjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODEzNDAxMzkxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczQTkxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzNBQjE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmggaW4gSGVhZGVycyAqLywK
QEAgLTExNjAsNiArMTE3MCw3IEBACiAJCQkJMUE2QkI3NjkxNjJGMzAwNTAwREQxNkRCIC8qIFN0
cmVhbUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0IxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0cmluZ0J1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0QxNTFBODI1QjAw
NDEyM0ZGIC8qIFN0cmluZ0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBFMUIw
MjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQz
RTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZFOTFFODgxMUFCMkEwMjAwMDk5ODk1RiAvKiBTcGluTG9jay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThBNDc0MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xMzI0LDcgKzEzMzUsNyBAQAogCQkJCUU0QTBBRDNEMUE5NjI1M0MwMDUzNkRG
NiAvKiBXb3JrUXVldWVDb2NvYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMzE1MUE4
MjVCMDA0MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQzMx
NTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQTVC
QTE1RkExODI0MzVBNjAwQTgyRTY5IC8qIEF0b21pY1N0cmluZ0NGLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUE1QkExNUZBMTgyNDM1QTYwMEE4MkU2OSAvKiBBdG9taWNTdHJpbmdJbXBsQ0YuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1NTU2RjUxOEEwQ0MxODAwNkY0OEZCIC8qIENyeXB0b2dy
YXBoaWNVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDMzNjAxNjVEQkE3MzAw
NUFEMzg3IC8qIEZpbGVQcmludFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNC
NTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBTb3VyY2VzICovLApAQCAtMTM1
NSw2ICsxMzY2LDcgQEAKIAkJCQlBNzQ4NzQ1MjE3QTBCREFFMDBGQTA0Q0IgLyogU2l4Q2hhcmFj
dGVySGFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNTE1MUE4MjVCMDA0MTIzRkYg
LyogU2l6ZUxpbWl0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNzE1MUE4MjVCMDA0
MTIzRkYgLyogU3RhY2tCb3VuZHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzBFQ0E2MEQxQjAy
NDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkVEQUNEM0QxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDc0M0MxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0J1aWxkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0ltcGwuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzNjRkY2UyOTQyMTRmNTgy
ZWY5MGU4NDEzNzA5NTg3NDBjYWExOGQuLjNkMjgwMjE2NjhjMGIyNzkwMDdhYzFjMjAxNzM5YThk
NDRlMWRiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMjYsNyArMTI2LDkgQEAgc2V0KFdU
Rl9IRUFERVJTCiAgICAgdGV4dC9TdHJpbmdIYXNoLmgKICAgICB0ZXh0L1N0cmluZ0ltcGwuaAog
ICAgIHRleHQvU3RyaW5nVmlldy5oCisgICAgdGV4dC9TeW1ib2xJbXBsLmgKICAgICB0ZXh0L1N5
bWJvbFJlZ2lzdHJ5LmgKKyAgICB0ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgKICAgICB0ZXh0L1dU
RlN0cmluZy5oCiAKICAgICB0aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oCkBAIC0xODcsNiArMTg5
LDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgZHRvYS9zdHJ0b2QuY2MKIAogICAgIHRleHQvQXRv
bWljU3RyaW5nLmNwcAorICAgIHRleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAKICAgICB0ZXh0L0F0
b21pY1N0cmluZ1RhYmxlLmNwcAogICAgIHRleHQvQmFzZTY0LmNwcAogICAgIHRleHQvQ1N0cmlu
Zy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggOGQxMDdjNzMwZWFhYzM3MTVjOTI5
MGU1NzU1MzUyOWFkMzI5Mjk5NS4uZjYxMDYxOWIxODVkMzY3MGNlNzIxZjQ5YTAwMjZkZmRmZDc5
MDRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTExLDcgKzExLDcgQEAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKICAgICBtYWMvRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmku
bW0KICAgICBtYWMvTWFpblRocmVhZE1hYy5tbQogCi0gICAgdGV4dC9jZi9BdG9taWNTdHJpbmdD
Ri5jcHAKKyAgICB0ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0
cmluZ0NGLmNwcAogICAgIHRleHQvY2YvU3RyaW5nSW1wbENGLmNwcAogICAgIHRleHQvY2YvU3Ry
aW5nVmlld0NGLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21h
a2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCBmNzM3YjhjYWJjNWVm
OTRlODM0OGJmMzhmYmQ2ZWM3Nzc4ODhkYWE2Li45N2Y3Mzk5NWVkNDg5MmJjY2EwYmMwZmFhYzlj
OTUxMTg0NDNkZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFr
ZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMSw1ICsxLDUgQEAK
IGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCi0gICAgdGV4dC9jZi9BdG9taWNTdHJpbmdDRi5jcHAK
KyAgICB0ZXh0L2NmL0F0b21pY1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0cmluZ0NG
LmNwcAogICAgIHRleHQvY2YvU3RyaW5nSW1wbENGLmNwcAogICAgIHRleHQvY2YvU3RyaW5nVmll
d0NGLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291
cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCmluZGV4IGJiN2QzOWRiOTE1ZDY0Nzk2ZmY0MmQ1
OTQ0YWFjMTc3NTc0ZDY2NGUuLjA2ODkzMWUzZjBhNzI3ZGQ0NTQ4N2E3ODRiNTczMTUyNTg4ZjI5
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
PHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJl
YW0uaCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKaW5kZXggZTgxNTM0OTRmOGJmYjI2
OGY4MGE1ZmRmMGEwNzNjNThhY2M3ODE2MC4uZThiYmE2MzRiMTY0Y2QzYzJlNWVlODhhNDhhZDRi
NzBkNmUxODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oCkBAIC0zOCw2ICszOCw3IEBACiBjbGFzcyBD
U3RyaW5nOwogY2xhc3MgU3RyaW5nOwogY2xhc3MgU3RyaW5nSW1wbDsKK2NsYXNzIFVuaXF1ZWRT
dHJpbmdJbXBsOwogCiBjbGFzcyBQcmludFN0cmVhbSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7IFdURl9NQUtFX05PTkNPUFlBQkxFKFByaW50U3RyZWFtKTsKQEAgLTcxLDExICs3Miwx
MyBAQCBjbGFzcyBQcmludFN0cmVhbSB7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludElu
dGVybmFsKFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nSW1wbCopOwogaW5s
aW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0
cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFs
KG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBpbmxpbmUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNoYXIqIHZhbHVlKSB7IHByaW50
SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4odmFsdWUpKTsgfQogaW5saW5l
IHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBDU3RyaW5nJiB2YWx1ZSkgeyBw
cmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgQ1N0cmluZyY+KHZhbHVlKSk7IH0K
IGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgU3RyaW5nJiB2YWx1
ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5nJj4odmFsdWUp
KTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBTdHJpbmdJ
bXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5n
SW1wbCo+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0m
IG91dCwgQXRvbWljU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0YXRp
Y19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBw
cmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1ZSkg
eyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgVW5pcXVlZFN0cmluZ0ltcGwq
Pih2YWx1ZSkpOyB9CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50
U3RyZWFtJiwgYm9vbCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFBy
aW50U3RyZWFtJiwgc2lnbmVkIGNoYXIpOyAvLyBOT1RFOiB0aGlzIHByaW50cyBhcyBhIG51bWJl
ciwgbm90IGFzIGEgY2hhcmFjdGVyOyB1c2UgQ2hhcmFjdGVyRHVtcCBpZiB5b3Ugd2FudCB0aGUg
Y2hhcmFjdGVyCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiwgdW5zaWduZWQgY2hhcik7IC8vIE5PVEU6IHNlZSBhYm92ZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
QXRvbWljU3RyaW5nLmNwcAppbmRleCA1YWI0ZTFlYjdkYmVkYTZlYTM3MzVkNTRkMmM1MDY3ODUy
NzMyODQ3Li4wYzQyZTVjNmMyYjBlMzljMTg4OGRlZGNlODQ3NWI4NDhiNzllMTE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCkBAIC0yMywxNCArMjMsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgogCi0jaW5jbHVkZSAiQXRvbWlj
U3RyaW5nVGFibGUuaCIKLSNpbmNsdWRlICJIYXNoU2V0LmgiCiAjaW5jbHVkZSAiSW50ZWdlclRv
U3RyaW5nQ29udmVyc2lvbi5oIgotI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLSNpbmNsdWRlICJU
aHJlYWRpbmcuaCIKLSNpbmNsdWRlICJXVEZUaHJlYWREYXRhLmgiCiAjaW5jbHVkZSAiZHRvYS5o
IgotI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VURjguaD4KIAogI2lmIFVTRShXRUJfVEhSRUFEKQog
I2luY2x1ZGUgIlNwaW5Mb2NrLmgiCkBAIC0zOCw0MjQgKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdU
RiB7CiAKLXVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwotCi1zdGF0aWNfYXNzZXJ0KHNpemVvZihB
dG9taWNTdHJpbmcpID09IHNpemVvZihTdHJpbmcpLCAiQXRvbWljU3RyaW5nIGFuZCBTdHJpbmcg
bXVzdCBiZSBzYW1lIHNpemUhIik7Ci0KLSNpZiBVU0UoV0VCX1RIUkVBRCkKLQotY2xhc3MgQXRv
bWljU3RyaW5nVGFibGVMb2NrZXIgOiBwdWJsaWMgU3BpbkxvY2tIb2xkZXIgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyKTsKLQotICAgIHN0YXRpYyBT
dGF0aWNTcGluTG9jayBzX3N0cmluZ1RhYmxlTG9jazsKLXB1YmxpYzoKLSAgICBBdG9taWNTdHJp
bmdUYWJsZUxvY2tlcigpCi0gICAgICAgIDogU3BpbkxvY2tIb2xkZXIoJnNfc3RyaW5nVGFibGVM
b2NrKQotICAgIHsKLSAgICB9Ci19OwotCi1TdGF0aWNTcGluTG9jayBBdG9taWNTdHJpbmdUYWJs
ZUxvY2tlcjo6c19zdHJpbmdUYWJsZUxvY2s7Ci0KLSNlbHNlCi0KLWNsYXNzIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNTdHJpbmdUYWJs
ZUxvY2tlcik7Ci1wdWJsaWM6Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIoKSB7IH0KLX07
Ci0KLSNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKLQotc3RhdGljIEFMV0FZU19JTkxJTkUgSGFz
aFNldDxTdHJpbmdJbXBsKj4mIHN0cmluZ1RhYmxlKCkKLXsKLSAgICByZXR1cm4gd3RmVGhyZWFk
RGF0YSgpLmF0b21pY1N0cmluZ1RhYmxlKCktPnRhYmxlKCk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yPgotc3RhdGljIGlubGluZSBSZWY8U3RyaW5n
SW1wbD4gYWRkVG9TdHJpbmdUYWJsZShjb25zdCBUJiB2YWx1ZSkKLXsKLSAgICBBdG9taWNTdHJp
bmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0KLSAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPjo6QWRkUmVz
dWx0IGFkZFJlc3VsdCA9IHN0cmluZ1RhYmxlKCkuYWRkPEhhc2hUcmFuc2xhdG9yPih2YWx1ZSk7
Ci0KLSAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIG5ld2x5LXRyYW5zbGF0ZWQsIHRoZW4gd2UgbmVl
ZCB0byBhZG9wdCBpdC4KLSAgICAvLyBUaGUgYm9vbGVhbiBpbiB0aGUgcGFpciB0ZWxscyB1cyBp
ZiB0aGF0IGlzIHNvLgotICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCoqYWRkUmVzdWx0Lml0ZXJhdG9yKTsKLSAgICByZXR1cm4gKiphZGRSZXN1
bHQuaXRlcmF0b3I7Ci19Ci0KLXN0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7Ci0gICAgc3RhdGlj
IHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXIqIGMpCi0gICAgewotICAgICAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgaW5saW5lIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENoYXIqIHMpCi0g
ICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChyLCBzKTsKLSAgICB9Ci0KLSAgICBzdGF0
aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBMQ2hhciogY29u
c3QmIGMsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJ
bXBsOjpjcmVhdGUoYykubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNo
KTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07Ci0KLVJl
ZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogYykKLXsKLSAg
ICBpZiAoIWMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmICghKmMpCi0gICAgICAg
IHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotCi0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFi
bGU8Y29uc3QgTENoYXIqLCBDU3RyaW5nVHJhbnNsYXRvcj4oYyk7Ci19Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsK
LSAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzOwotICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0K
LXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKLXN0
cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IFVDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7Ci0gICAgfQot
Ci0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNo
YXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVm
LnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJp
bmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gp
Ci0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3Nz
aWJsZShidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0
SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0K
LX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdHJ1Y3QgSGFzaEFuZENo
YXJhY3RlcnMgewotICAgIHVuc2lnbmVkIGhhc2g7Ci0gICAgY29uc3QgQ2hhcmFjdGVyVHlwZSog
Y2hhcmFjdGVyczsKLSAgICB1bnNpZ25lZCBsZW5ndGg7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgotc3RydWN0IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7Ci0g
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVy
VHlwZT4mIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJp
bmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIubGVuZ3RoKSk7Ci0gICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsKLSAgICB9Ci0KLSAg
ICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNo
QW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlv
biwgY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWdu
ZWQgaGFzaCkKLSAgICB7Ci0gICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShi
dWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2Nh
dGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUp
OwotICAgIH0KLX07Ci0KLXN0cnVjdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMgewotICAgIHVuc2ln
bmVkIGhhc2g7Ci0gICAgY29uc3QgY2hhciogY2hhcmFjdGVyczsKLSAgICB1bnNpZ25lZCBsZW5n
dGg7Ci0gICAgdW5zaWduZWQgdXRmMTZMZW5ndGg7Ci19OwotCi1zdHJ1Y3QgSGFzaEFuZFVURjhD
aGFyYWN0ZXJzVHJhbnNsYXRvciB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFz
aEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYnVmZmVy
Lmhhc2g7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3Qm
IHN0cmluZywgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCi0gICAgewotICAg
ICAgICBpZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkg
QVNDSUkgY2hhcmFjdGVycyBVVEYtOCBhbmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KLSAg
ICAgICAgaWYgKGJ1ZmZlci51dGYxNkxlbmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7Ci0gICAgICAg
ICAgICBpZiAoc3RyaW5nLT5pczhCaXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxM
YXRpbjFXaXRoVVRGOChzdHJpbmctPmNoYXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOwotCi0gICAgICAgICAgICByZXR1cm4g
ZXF1YWxVVEYxNldpdGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0
ZXJzLCBidWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKHN0cmluZy0+aXM4Qml0KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IExDaGFyKiBz
dHJpbmdDaGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzOCgpOwotCi0gICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKGlzQVNDSUkoYnVmZmVyLmNoYXJhY3RlcnNbaV0pKTsKLSAgICAgICAgICAg
ICAgICBpZiAoc3RyaW5nQ2hhcmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IFVDaGFyKiBzdHJp
bmdDaGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKTsKLQotICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBBU1NF
UlQoaXNBU0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOwotICAgICAgICAgICAgaWYgKHN0cmlu
Z0NoYXJhY3RlcnNbaV0gIT0gYnVmZmVyLmNoYXJhY3RlcnNbaV0pCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
Ci0gICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3Qg
SGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAg
ICAgICBVQ2hhciogdGFyZ2V0OwotICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5n
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRh
cmdldCk7Ci0KLSAgICAgICAgYm9vbCBpc0FsbEFTQ0lJOwotICAgICAgICBjb25zdCBjaGFyKiBz
b3VyY2UgPSBidWZmZXIuY2hhcmFjdGVyczsKLSAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYx
Nigmc291cmNlLCBzb3VyY2UgKyBidWZmZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZm
ZXIudXRmMTZMZW5ndGgsICZpc0FsbEFTQ0lJKSAhPSBjb252ZXJzaW9uT0spCi0gICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgICAgICBpZiAoaXNBbGxBU0NJSSkKLSAgICAg
ICAgICAgIG5ld1N0cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywg
YnVmZmVyLmxlbmd0aCk7Ci0KLSAgICAgICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgp
LmxlYWtSZWYoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7Ci0gICAgICAgIGxv
Y2F0aW9uLT5zZXRJc0F0b21pYyh0cnVlKTsKLSAgICB9Ci19OwotCi1SZWZQdHI8U3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nOjphZGQoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkKLXsK
LSAgICBpZiAoIXMpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKCFsZW5ndGgp
Ci0gICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotICAgIAotICAgIFVDaGFyQnVm
ZmVyIGJ1ZmZlciA9IHsgcywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8
VUNoYXJCdWZmZXIsIFVDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKLX0KLQotUmVmPFN0
cmluZ0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5n
dGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkKLXsKLSAgICBBU1NFUlQocyk7Ci0gICAgQVNTRVJU
KGV4aXN0aW5nSGFzaCk7Ci0KLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuICpTdHJp
bmdJbXBsOjplbXB0eSgpOwotCi0gICAgSGFzaEFuZENoYXJhY3RlcnM8VUNoYXI+IGJ1ZmZlciA9
IHsgZXhpc3RpbmdIYXNoLCBzLCBsZW5ndGggfTsKLSAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJs
ZTxIYXNoQW5kQ2hhcmFjdGVyczxVQ2hhcj4sIEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvcjxV
Q2hhcj4+KGJ1ZmZlcik7Ci19Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFk
ZChjb25zdCBVQ2hhciogcykKLXsKLSAgICBpZiAoIXMpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKLSAgICB3aGlsZSAoc1tsZW5ndGhdICE9IFVD
aGFyKDApKQotICAgICAgICArK2xlbmd0aDsKLQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICBy
ZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsg
cywgbGVuZ3RoIH07Ci0gICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8VUNoYXJCdWZmZXIsIFVD
aGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKLX0KLQotc3RydWN0IFN1YnN0cmluZ0xvY2F0
aW9uIHsKLSAgICBTdHJpbmdJbXBsKiBiYXNlU3RyaW5nOwotICAgIHVuc2lnbmVkIHN0YXJ0Owot
ICAgIHVuc2lnbmVkIGxlbmd0aDsKLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yIHsK
LSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBT
dWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVyLCB1bnNpZ25lZCBoYXNoKQotICAgIHsKLSAgICAgICAg
bG9jYXRpb24gPSAmU3RyaW5nSW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0ltcGwoYnVmZmVy
LmJhc2VTdHJpbmcsIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOwotICAg
ICAgICBsb2NhdGlvbi0+c2V0SGFzaChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRv
bWljKHRydWUpOwotICAgIH0KLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOCA6IFN1
YnN0cmluZ1RyYW5zbGF0b3IgewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0
cmluZ0xvY2F0aW9uJiBidWZmZXIpCi0gICAgewotICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVy
czgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVyLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGlj
IGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZywgY29uc3QgU3Vic3RyaW5nTG9j
YXRpb24mIGJ1ZmZlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0cmluZywg
YnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnM4KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5s
ZW5ndGgpOwotICAgIH0KLX07Ci0KLXN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yMTYgOiBTdWJz
dHJpbmdUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTdWJzdHJp
bmdMb2NhdGlvbiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6
Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVmZmVyLmJhc2VTdHJpbmctPmNoYXJhY3RlcnMx
NigpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMg
Ym9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdMb2Nh
dGlvbiYgYnVmZmVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5nLCBi
dWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczE2KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5s
ZW5ndGgpOwotICAgIH0KLX07Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFk
ZChTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3Ro
KQotewotICAgIGlmICghYmFzZVN0cmluZykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAg
ICBpZiAoIWxlbmd0aCB8fCBzdGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgoKSkKLSAgICAgICAg
cmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0KLSAgICB1bnNpZ25lZCBtYXhMZW5ndGggPSBi
YXNlU3RyaW5nLT5sZW5ndGgoKSAtIHN0YXJ0OwotICAgIGlmIChsZW5ndGggPj0gbWF4TGVuZ3Ro
KSB7Ci0gICAgICAgIGlmICghc3RhcnQpCi0gICAgICAgICAgICByZXR1cm4gYWRkKGJhc2VTdHJp
bmcpOwotICAgICAgICBsZW5ndGggPSBtYXhMZW5ndGg7Ci0gICAgfQotCi0gICAgU3Vic3RyaW5n
TG9jYXRpb24gYnVmZmVyID0geyBiYXNlU3RyaW5nLCBzdGFydCwgbGVuZ3RoIH07Ci0gICAgaWYg
KGJhc2VTdHJpbmctPmlzOEJpdCgpKQotICAgICAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxT
dWJzdHJpbmdMb2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRvcjg+KGJ1ZmZlcik7Ci0gICAgcmV0
dXJuIGFkZFRvU3RyaW5nVGFibGU8U3Vic3RyaW5nTG9jYXRpb24sIFN1YnN0cmluZ1RyYW5zbGF0
b3IxNj4oYnVmZmVyKTsKLX0KLSAgICAKLXR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVy
PExDaGFyPiBMQ2hhckJ1ZmZlcjsKLXN0cnVjdCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewotICAg
IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IExDaGFyQnVmZmVyJiBidWYpCi0gICAgewotICAg
ICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYu
cywgYnVmLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1w
bCogY29uc3QmIHN0ciwgY29uc3QgTENoYXJCdWZmZXImIGJ1ZikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOwotICAgIH0KLQotICAgIHN0
YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0IExDaGFyQnVm
ZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCi0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJp
bmdJbXBsOjpjcmVhdGUoYnVmLnMsIGJ1Zi5sZW5ndGgpLmxlYWtSZWYoKTsKLSAgICAgICAgbG9j
YXRpb24tPnNldEhhc2goaGFzaCk7Ci0gICAgICAgIGxvY2F0aW9uLT5zZXRJc0F0b21pYyh0cnVl
KTsKLSAgICB9Ci19OwotCi10eXBlZGVmIEhhc2hUcmFuc2xhdG9yQ2hhckJ1ZmZlcjxjaGFyPiBD
aGFyQnVmZmVyOwotc3RydWN0IENoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yIHsK
LSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDaGFyQnVmZmVyJiBidWYpCi0gICAgewot
ICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYnVmLnMpLCBidWYubGVuZ3RoKTsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyLCBjb25zdCBD
aGFyQnVmZmVyJiBidWYpCi0gICAgewotICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHIsIGJ1
Zi5zLCBidWYubGVuZ3RoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3Ry
aW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gp
Ci0gICAgewotICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJh
bChidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwotICAgICAgICBsb2NhdGlvbi0+c2V0SGFz
aChoYXNoKTsKLSAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLX07
Ci0KLVJlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZChjb25zdCBMQ2hhciogcywg
dW5zaWduZWQgbGVuZ3RoKQotewotICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7
Ci0KLSAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IHMsIGxlbmd0aCB9OwotICAgIHJldHVybiBh
ZGRUb1N0cmluZ1RhYmxlPExDaGFyQnVmZmVyLCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+KGJ1ZmZl
cik7Ci19Ci0KLVJlZjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZEZyb21MaXRlcmFsRGF0
YShjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi17Ci0gICAgQVNTRVJU
KGNoYXJhY3RlcnMpOwotICAgIEFTU0VSVChsZW5ndGgpOwotCi0gICAgQ2hhckJ1ZmZlciBidWZm
ZXIgPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9OwotICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxl
PENoYXJCdWZmZXIsIENoYXJCdWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yPihidWZmZXIp
OwotfQotCi1SZWY8U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZShTdHJpbmdJ
bXBsJiBzdHJpbmcpCi17Ci0gICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biAqU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewot
ICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3Ry
aW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRk
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91
bGQgbm90IGhpdCB0aGUgc2xvdyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMu
Iik7Ci0KLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRS
ZXN1bHQgPSBzdHJpbmdUYWJsZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRSZXN1bHQu
aXNOZXdFbnRyeSkgewotICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9PSAmc3Ry
aW5nKTsKLSAgICAgICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQotICAgIHJl
dHVybiAqKmFkZFJlc3VsdC5pdGVyYXRvcjsKLX0KLQotUmVmPFN0cmluZ0ltcGw+IEF0b21pY1N0
cmluZzo6YWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJ
bXBsJiBzdHJpbmcpCi17Ci0gICAgaWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biAqU3RyaW5nSW1wbDo6ZW1wdHkoKTsKLQotICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgewot
ICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuICphZGQoc3Ry
aW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0gICAgICAgIHJldHVybiAqYWRk
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZyBzaG91
bGQgbm90IGhpdCB0aGUgc2xvdyBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBhdG9taWMu
Iik7Ci0KLSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byBhZGRS
ZXN1bHQgPSBzdHJpbmdUYWJsZS50YWJsZSgpLmFkZCgmc3RyaW5nKTsKLQotICAgIGlmIChhZGRS
ZXN1bHQuaXNOZXdFbnRyeSkgewotICAgICAgICBBU1NFUlQoKmFkZFJlc3VsdC5pdGVyYXRvciA9
PSAmc3RyaW5nKTsKLSAgICAgICAgc3RyaW5nLnNldElzQXRvbWljKHRydWUpOwotICAgIH0KLQot
ICAgIHJldHVybiAqKmFkZFJlc3VsdC5pdGVyYXRvcjsKLX0KLQotdm9pZCBBdG9taWNTdHJpbmc6
OnJlbW92ZShTdHJpbmdJbXBsKiBzdHJpbmcpCi17Ci0gICAgQVNTRVJUKHN0cmluZy0+aXNBdG9t
aWMoKSk7Ci0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOwotICAgIEhhc2hTZXQ8
U3RyaW5nSW1wbCo+JiBhdG9taWNTdHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7Ci0gICAgSGFz
aFNldDxTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGl0ZXJhdG9yID0gYXRvbWljU3RyaW5nVGFibGUu
ZmluZChzdHJpbmcpOwotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoaXRlcmF0b3IgIT0gYXRvbWlj
U3RyaW5nVGFibGUuZW5kKCksICJUaGUgc3RyaW5nIGJlaW5nIHJlbW92ZWQgaXMgYXRvbWljIGlu
IHRoZSBzdHJpbmcgdGFibGUgb2YgYW4gb3RoZXIgdGhyZWFkISIpOwotICAgIGF0b21pY1N0cmlu
Z1RhYmxlLnJlbW92ZShpdGVyYXRvcik7Ci19Ci0KIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6
Omxvd2VyKCkgY29uc3QKIHsKICAgICAvLyBOb3RlOiBUaGlzIGlzIGEgaG90IGZ1bmN0aW9uIGlu
IHRoZSBEcm9tYWVvIGJlbmNobWFyay4KQEAgLTQ2OCw3ICs0NCw3IEBAIEF0b21pY1N0cmluZyBB
dG9taWNTdHJpbmc6Omxvd2VyKCkgY29uc3QKICAgICAgICAgcmV0dXJuICp0aGlzOwogCiAgICAg
QXRvbWljU3RyaW5nIHJlc3VsdDsKLSAgICByZXN1bHQubV9zdHJpbmcgPSBhZGRTbG93Q2FzZSgq
bG93ZXJjYXNlZFN0cmluZyk7CisgICAgcmVzdWx0Lm1fc3RyaW5nID0gQXRvbWljU3RyaW5nSW1w
bDo6YWRkKGxvd2VyY2FzZWRTdHJpbmcuZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
QEAgLTUwNyw0NSArODMsMTAgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6Y29udmVydFRv
QVNDSUlMb3dlcmNhc2UoKSBjb25zdAogICAgICAgICByZXR1cm4gKnRoaXM7CiAKICAgICBBdG9t
aWNTdHJpbmcgcmVzdWx0OwotICAgIHJlc3VsdC5tX3N0cmluZyA9IGFkZFNsb3dDYXNlKCpjb252
ZXJ0ZWRTdHJpbmcpOworICAgIHJlc3VsdC5tX3N0cmluZyA9IEF0b21pY1N0cmluZ0ltcGw6OmFk
ZChjb252ZXJ0ZWRTdHJpbmcuZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUF0b21p
Y1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZzo6ZmluZFNsb3dDYXNlKFN0cmluZ0ltcGwmIHN0cmlu
ZykKLXsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21p
Y1N0cmluZ0ltcGxzIHNob3VsZCByZXR1cm4gZnJvbSB0aGUgZmFzdCBjYXNlLiIpOwotCi0gICAg
aWYgKCFzdHJpbmcubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNT
dHJpbmdJbXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7Ci0KLSAgICBpZiAoc3RyaW5nLmlzU3lt
Ym9sKCkpIHsKLSAgICAgICAgaWYgKHN0cmluZy5pczhCaXQoKSkKLSAgICAgICAgICAgIHJldHVy
biBmaW5kSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Ci0g
ICAgICAgIHJldHVybiBmaW5kSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcu
bGVuZ3RoKCkpOwotICAgIH0KLQotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsK
LSAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgYXRvbWljU3RyaW5nVGFibGUgPSBzdHJpbmdUYWJs
ZSgpOwotICAgIGF1dG8gaXRlcmF0b3IgPSBhdG9taWNTdHJpbmdUYWJsZS5maW5kKCZzdHJpbmcp
OwotICAgIGlmIChpdGVyYXRvciAhPSBhdG9taWNTdHJpbmdUYWJsZS5lbmQoKSkKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOwotICAgIHJl
dHVybiBudWxscHRyOwotfQotCi1BdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOElu
dGVybmFsKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVy
c0VuZCkKLXsKLSAgICBIYXNoQW5kVVRGOENoYXJhY3RlcnMgYnVmZmVyOwotICAgIGJ1ZmZlci5j
aGFyYWN0ZXJzID0gY2hhcmFjdGVyc1N0YXJ0OwotICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRl
U3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4TWFza2luZ1RvcDhCaXRzKGNoYXJhY3RlcnNTdGFy
dCwgY2hhcmFjdGVyc0VuZCwgYnVmZmVyLmxlbmd0aCwgYnVmZmVyLnV0ZjE2TGVuZ3RoKTsKLQot
ICAgIGlmICghYnVmZmVyLmhhc2gpCi0gICAgICAgIHJldHVybiBudWxsQXRvbTsKLQotICAgIEF0
b21pY1N0cmluZyBhdG9taWNTdHJpbmc7Ci0gICAgYXRvbWljU3RyaW5nLm1fc3RyaW5nID0gYWRk
VG9TdHJpbmdUYWJsZTxIYXNoQW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4Q2hhcmFjdGVy
c1RyYW5zbGF0b3I+KGJ1ZmZlcik7Ci0gICAgcmV0dXJuIGF0b21pY1N0cmluZzsKLX0KLQogQXRv
bWljU3RyaW5nIEF0b21pY1N0cmluZzo6bnVtYmVyKGludCBudW1iZXIpCiB7CiAgICAgcmV0dXJu
IG51bWJlclRvU3RyaW5nU2lnbmVkPEF0b21pY1N0cmluZz4obnVtYmVyKTsKQEAgLTU2MiwzNyAr
MTAzLDE0IEBAIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcihkb3VibGUgbnVtYmVy
KQogICAgIHJldHVybiBTdHJpbmcobnVtYmVyVG9GaXhlZFByZWNpc2lvblN0cmluZyhudW1iZXIs
IDYsIGJ1ZmZlciwgdHJ1ZSkpOwogfQogCi1BdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmc6
OmZpbmRJbnRlcm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQot
ewotICAgIEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKLSAgICBhdXRvJiB0YWJsZSA9
IHN0cmluZ1RhYmxlKCk7Ci0KLSAgICBMQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMs
IGxlbmd0aCB9OwotICAgIGF1dG8gaXRlcmF0b3IgPSB0YWJsZS5maW5kPExDaGFyQnVmZmVyVHJh
bnNsYXRvcj4oYnVmZmVyKTsKLSAgICBpZiAoaXRlcmF0b3IgIT0gdGFibGUuZW5kKCkpCi0gICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oKml0ZXJhdG9yKTsKLSAg
ICByZXR1cm4gbnVsbHB0cjsKLX0KLQotQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nOjpm
aW5kSW50ZXJuYWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLXsK
LSAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7Ci0gICAgYXV0byYgdGFibGUgPSBz
dHJpbmdUYWJsZSgpOwotCi0gICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBs
ZW5ndGggfTsKLSAgICBhdXRvIGl0ZXJhdG9yID0gdGFibGUuZmluZDxVQ2hhckJ1ZmZlclRyYW5z
bGF0b3I+KGJ1ZmZlcik7Ci0gICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQotICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7Ci0gICAg
cmV0dXJuIG51bGxwdHI7Ci19Ci0KLSNpZiAhQVNTRVJUX0RJU0FCTEVECi1ib29sIEF0b21pY1N0
cmluZzo6aXNJbkF0b21pY1N0cmluZ1RhYmxlKFN0cmluZ0ltcGwqIHN0cmluZykKK0F0b21pY1N0
cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciogY2hhcmFjdGVy
c1N0YXJ0LCBjb25zdCBjaGFyKiBjaGFyYWN0ZXJzRW5kKQogewotICAgIEF0b21pY1N0cmluZ1Rh
YmxlTG9ja2VyIGxvY2tlcjsKLSAgICByZXR1cm4gc3RyaW5nVGFibGUoKS5jb250YWlucyhzdHJp
bmcpOworICAgIGlmIChSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gaW1wbCA9IEF0b21pY1N0cmlu
Z0ltcGw6OmFkZEZyb21VVEY4KGNoYXJhY3RlcnNTdGFydCwgY2hhcmFjdGVyc0VuZCkpIHsKKyAg
ICAgICAgQXRvbWljU3RyaW5nIGF0b21pY1N0cmluZyhpbXBsLmdldCgpKTsKKyAgICAgICAgcmV0
dXJuIGF0b21pY1N0cmluZzsKKyAgICB9CisgICAgcmV0dXJuIG51bGxBdG9tOwogfQotI2VuZGlm
CiAKICNpZm5kZWYgTkRFQlVHCiB2b2lkIEF0b21pY1N0cmluZzo6c2hvdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9taWNTdHJpbmcuaAppbmRleCBjYmZkYzg5NDczMDhlNzIwODI3YTc5YjUxODY1
NjhlY2M1NTM4MTUyLi5jNGZiNjgyNWFhMTZlNmNjMWU5NDdjY2UxNGI5OTk3OTA0NTlhMGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLWNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogc3RydWN0IEF0b21pY1N0cmlu
Z0hhc2g7CiAKIGNsYXNzIEF0b21pY1N0cmluZyB7CkBAIC00MywzMyArNDIsMzUgQEAgY2xhc3Mg
QXRvbWljU3RyaW5nIHsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdCgp
OwogCiAgICAgQXRvbWljU3RyaW5nKCkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFy
KiBzKSA6IG1fc3RyaW5nKGFkZChzKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIq
IHMpIDogbV9zdHJpbmcoYWRkKHMpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIq
IHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQocywgbGVuZ3RoKSkgeyB9Ci0gICAg
QXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmco
YWRkKHMsIGxlbmd0aCkpIHsgfQotICAgIEF0b21pY1N0cmluZyhjb25zdCBVQ2hhciogcywgdW5z
aWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJpbmcoYWRkKHMsIGxl
bmd0aCwgZXhpc3RpbmdIYXNoKSkgeyB9Ci0gICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBz
KSA6IG1fc3RyaW5nKGFkZChzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKGNvbnN0IExDaGFyKiBz
KSA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CisgICAgQXRvbWljU3Ry
aW5nKGNvbnN0IGNoYXIqIHMpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKSB7
IH0KKyAgICBBdG9taWNTdHJpbmcoY29uc3QgTENoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBt
X3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjphZGQocywgbGVuZ3RoKSkgeyB9CisgICAgQXRvbWlj
U3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbDo6YWRkKHMsIGxlbmd0aCkpIHsgfQorICAgIEF0b21pY1N0cmluZyhjb25zdCBV
Q2hhciogcywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGluZ0hhc2gpIDogbV9zdHJp
bmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMsIGxlbmd0aCwgZXhpc3RpbmdIYXNoKSkgeyB9Cisg
ICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzKSA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0lt
cGw6OmFkZChzKSkgeyB9CiAKICAgICB0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAg
ICAgZXhwbGljaXQgQXRvbWljU3RyaW5nKGNvbnN0IFZlY3RvcjxVQ2hhciwgaW5saW5lQ2FwYWNp
dHk+JiBjaGFyYWN0ZXJzKQotICAgICAgICA6IG1fc3RyaW5nKGFkZChjaGFyYWN0ZXJzLmRhdGEo
KSwgY2hhcmFjdGVycy5zaXplKCkpKQorICAgICAgICA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0lt
cGw6OmFkZChjaGFyYWN0ZXJzLmRhdGEoKSwgY2hhcmFjdGVycy5zaXplKCkpKQogICAgIHsKICAg
ICB9CiAKLSAgICBBVE9NSUNTVFJJTkdfQ09OVkVSU0lPTiBBdG9taWNTdHJpbmcoU3RyaW5nSW1w
bCogaW1wKSA6IG1fc3RyaW5nKGFkZChpbXApKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbCogaW1wKSA6IG1fc3RyaW5nKGltcCkgeyB9Ci0gICAgQVRPTUlDU1RSSU5HX0NP
TlZFUlNJT04gQXRvbWljU3RyaW5nKGNvbnN0IFN0cmluZyYgcykgOiBtX3N0cmluZyhhZGQocy5p
bXBsKCkpKSB7IH0KLSAgICBBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0cmluZywgdW5z
aWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQoYmFzZVN0cmluZywg
c3RhcnQsIGxlbmd0aCkpIHsgfQorICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0
cmluZyhTdHJpbmdJbXBsKiBpbXApIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGlt
cCkpIHsgfQorICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhjb25zdCBT
dHJpbmcmIHMpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMuaW1wbCgpKSkgeyB9
CisgICAgQXRvbWljU3RyaW5nKFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBsZW5ndGgpIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKGJhc2VT
dHJpbmcsIHN0YXJ0LCBsZW5ndGgpKSB7IH0KKworICAgIC8vIEZJWE1FOiBBdG9taWNTdHJpbmcg
bWF5IGhhdmUgZWl0aGVyIFN5bWJvbEltcGwgb3IgQXRvbWljU3RyaW5nSW1wbC4KKyAgICBBdG9t
aWNTdHJpbmcoVW5pcXVlZFN0cmluZ0ltcGwqIGltcCkgOiBtX3N0cmluZyhpbXApIHsgfQogCiAg
ICAgZW51bSBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVjdEZyb21MaXRlcmFsIH07
CiAgICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxp
dGVyYWxEYXRhKGNoYXJhY3RlcnMsIGxlbmd0aCkpCisgICAgICAgIDogbV9zdHJpbmcoQXRvbWlj
U3RyaW5nSW1wbDo6YWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGxlbmd0aCkpCiAgICAg
ewogICAgIH0KIAogICAgIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KICAgICBB
TFdBWVNfSU5MSU5FIEF0b21pY1N0cmluZyhjb25zdCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFj
dGVyc0NvdW50XSwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmco
YWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGNoYXJhY3RlcnNDb3VudCAtIDEpKQorICAg
ICAgICA6IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YShjaGFy
YWN0ZXJzLCBjaGFyYWN0ZXJzQ291bnQgLSAxKSkKICAgICB7CiAgICAgICAgIENPTVBJTEVfQVNT
RVJUKGNoYXJhY3RlcnNDb3VudCA+IDEsIEF0b21pY1N0cmluZ0Zyb21MaXRlcmFsTm90RW1wdHkp
OwogICAgICAgICBDT01QSUxFX0FTU0VSVCgoY2hhcmFjdGVyc0NvdW50IC0gMSA8PSAoKHVuc2ln
bmVkKH4wKSAtIHNpemVvZihTdHJpbmdJbXBsKSkgLyBzaXplb2YoTENoYXIpKSksIEF0b21pY1N0
cmluZ0Zyb21MaXRlcmFsQ2Fubm90T3ZlcmZsb3cpOwpAQCAtODYsMjEgKzg3LDYgQEAgY2xhc3Mg
QXRvbWljU3RyaW5nIHsKICAgICBBdG9taWNTdHJpbmcoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKSA6IG1fc3RyaW5nKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKSB7IH0KICAgICBi
b29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcuaXNI
YXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQogCi0gICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwq
IGZpbmQoTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBmaW5kSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9Ci0gICAgc3Rh
dGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxl
bmd0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBmaW5kSW50ZXJuYWwoY2hhcmFjdGVycywgbGVu
Z3RoKTsKLSAgICB9Ci0gICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoU3RyaW5nSW1w
bCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21p
YygpKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihz
dHJpbmcpOwotICAgICAgICByZXR1cm4gZmluZFNsb3dDYXNlKCpzdHJpbmcpOwotICAgIH0KLQog
ICAgIG9wZXJhdG9yIGNvbnN0IFN0cmluZyYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZzsgfQog
ICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH07CiAK
QEAgLTExMCw3ICs5Niw3IEBAIGNsYXNzIEF0b21pY1N0cmluZyB7CiAgICAgY29uc3QgTENoYXIq
IGNoYXJhY3RlcnM4KCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmcuY2hhcmFjdGVyczgoKTsgfQog
ICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzMTYoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5j
aGFyYWN0ZXJzMTYoKTsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmxlbmd0aCgpOyB9Ci0gICAgCisKICAgICBVQ2hhciBvcGVyYXRvcltdKHVuc2lnbmVk
IGludCBpKSBjb25zdCB7IHJldHVybiBtX3N0cmluZ1tpXTsgfQogCiAgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgbnVtYmVyKGludCk7CkBAIC0xNjMsNyArMTQ5
LDcgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBtYXRjaExl
bmd0aD4KICAgICBib29sIGVuZHNXaXRoKGNvbnN0IGNoYXIgKCZwcmVmaXgpW21hdGNoTGVuZ3Ro
XSwgYm9vbCBjYXNlU2Vuc2l0aXZlID0gdHJ1ZSkgY29uc3QKICAgICAgICAgeyByZXR1cm4gbV9z
dHJpbmcuZW5kc1dpdGg8bWF0Y2hMZW5ndGg+KHByZWZpeCwgY2FzZVNlbnNpdGl2ZSk7IH0KLSAg
ICAKKwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBBdG9taWNTdHJpbmcgY29udmVydFRvQVND
SUlMb3dlcmNhc2UoKSBjb25zdDsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgQXRvbWljU3Ry
aW5nIGxvd2VyKCkgY29uc3Q7CiAgICAgQXRvbWljU3RyaW5nIHVwcGVyKCkgY29uc3QgeyByZXR1
cm4gQXRvbWljU3RyaW5nKGltcGwoKS0+dXBwZXIoKSk7IH0KQEAgLTE3NiwxMyArMTYyLDExIEBA
IGNsYXNzIEF0b21pY1N0cmluZyB7CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBt
X3N0cmluZy5pc051bGwoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmlzRW1wdHkoKTsgfQogCi0gICAgc3RhdGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwq
KTsKLSAgICAKICNpZiBVU0UoQ0YpCi0gICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDog
IG1fc3RyaW5nKGFkZChzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDog
IG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkgeyB9CiAjZW5kaWYgICAgCiAjaWZk
ZWYgX19PQkpDX18KLSAgICBBdG9taWNTdHJpbmcoTlNTdHJpbmcqIHMpIDogbV9zdHJpbmcoYWRk
KChDRlN0cmluZ1JlZilzKSkgeyB9CisgICAgQXRvbWljU3RyaW5nKE5TU3RyaW5nKiBzKSA6IG1f
c3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZCgoQ0ZTdHJpbmdSZWYpcykpIHsgfQogICAgIG9w
ZXJhdG9yIE5TU3RyaW5nKigpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nOyB9CiAjZW5kaWYKIApA
QCAtMTk1LDcxICsxNzksMTcgQEAgY2xhc3MgQXRvbWljU3RyaW5nIHsKICAgICB2b2lkIHNob3co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQ
dHI8U3RyaW5nSW1wbD4gYWRkKGNvbnN0IExDaGFyKik7Ci0gICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzKSB7IHJldHVybiBhZGQocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpKTsgfTsKLSAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFJlZlB0cjxTdHJpbmdJbXBsPiBhZGQoY29uc3QgTENoYXIqLCB1bnNpZ25l
ZCBsZW5ndGgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmlu
Z0ltcGw+IGFkZChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7Ci0gICAgQUxXQVlTX0lO
TElORSBzdGF0aWMgUmVmUHRyPFN0cmluZ0ltcGw+IGFkZChjb25zdCBjaGFyKiBzLCB1bnNpZ25l
ZCBsZW5ndGgpIHsgcmV0dXJuIGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyks
IGxlbmd0aCk7IH07Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5n
SW1wbD4gYWRkKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBleGlzdGlu
Z0hhc2gpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPFN0cmluZ0lt
cGw+IGFkZChjb25zdCBVQ2hhciopOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMg
UmVmUHRyPFN0cmluZ0ltcGw+IGFkZChTdHJpbmdJbXBsKiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNp
Z25lZCBsZW5ndGgpOwotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxTdHJpbmdJbXBs
PiBhZGQoU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHJpbmcpCi0g
ICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmcpOwot
ICAgIH0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBh
ZGRGcm9tTGl0ZXJhbERhdGEoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3Ro
KTsKLSNpZiBVU0UoQ0YpCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8
U3RyaW5nSW1wbD4gYWRkKENGU3RyaW5nUmVmKTsKLSNlbmRpZgotCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgU3RyaW5nVGFibGVQcm92aWRlcj4KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWZQ
dHI8U3RyaW5nSW1wbD4gYWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoU3RyaW5nVGFibGVQcm92
aWRlciYgc3RyaW5nVGFibGVQcm92aWRlciwgU3RyaW5nSW1wbCogc3RyaW5nKQotICAgIHsKLSAg
ICAgICAgaWYgKCFzdHJpbmcpCi0gICAgICAgICAgICByZXR1cm4gc3RyaW5nOwotICAgICAgICBy
ZXR1cm4gYWRkKCpzdHJpbmdUYWJsZVByb3ZpZGVyLmF0b21pY1N0cmluZ1RhYmxlKCksICpzdHJp
bmcpOwotICAgIH0KLQotI2lmICFBU1NFUlRfRElTQUJMRUQKLSAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIGJvb2wgaXNJbkF0b21pY1N0cmluZ1RhYmxlKFN0cmluZ0ltcGwqKTsKLSNl
bmRpZgotCiBwcml2YXRlOgogICAgIC8vIFRoZSBleHBsaWNpdCBjb25zdHJ1Y3RvcnMgd2l0aCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsIG11c3QgYmUgdXNlZCBmb3IgbGl0ZXJh
bHMuCiAgICAgQXRvbWljU3RyaW5nKEFTQ0lJTGl0ZXJhbCk7CiAKLSAgICBTdHJpbmcgbV9zdHJp
bmc7Ci0KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKFN0cmlu
Z0ltcGwmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgewot
ICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5B
dG9taWNTdHJpbmdUYWJsZSgmc3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20g
YW4gb3RoZXIgdGhyZWFkISIpOwotICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nKTsKLSAgICB9Ci0KLSAgICBBTFdB
WVNfSU5MSU5FIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkKEF0b21pY1N0cmluZ1RhYmxlJiBz
dHJpbmdUYWJsZSwgU3RyaW5nSW1wbCYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgaWYgKHN0cmlu
Zy5pc0F0b21pYygpKSB7Ci0gICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcu
bGVuZ3RoKCkgfHwgaXNJbkF0b21pY1N0cmluZ1RhYmxlKCZzdHJpbmcpLCAiVGhlIGF0b21pYyBz
dHJpbmcgY29tZXMgZnJvbSBhbiBvdGhlciB0aHJlYWQhIik7Ci0gICAgICAgICAgICByZXR1cm4g
c3RyaW5nOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmdUYWJs
ZSwgc3RyaW5nKTsKLSAgICB9Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJl
ZjxTdHJpbmdJbXBsPiBhZGRTbG93Q2FzZShTdHJpbmdJbXBsJik7Ci0gICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoQXRvbWljU3RyaW5n
VGFibGUmLCBTdHJpbmdJbXBsJik7Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IEF0b21pY1N0cmluZ0ltcGwqIGZpbmRTbG93Q2FzZShTdHJpbmdJbXBsJik7CiAgICAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgZnJvbVVURjhJbnRlcm5hbChjb25z
dCBjaGFyKiwgY29uc3QgY2hhciopOwogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRp
YyBBdG9taWNTdHJpbmdJbXBsKiBmaW5kSW50ZXJuYWwoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBs
ZW5ndGgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5nSW1w
bCogZmluZEludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBTdHJp
bmcgbV9zdHJpbmc7CiB9OwogCitzdGF0aWNfYXNzZXJ0KHNpemVvZihBdG9taWNTdHJpbmcpID09
IHNpemVvZihTdHJpbmcpLCAiQXRvbWljU3RyaW5nIGFuZCBTdHJpbmcgbXVzdCBiZSBzYW1lIHNp
emUhIik7CisKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBj
b25zdCBBdG9taWNTdHJpbmcmIGIpIHsgcmV0dXJuIGEuaW1wbCgpID09IGIuaW1wbCgpOyB9CiBi
b29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgTENoYXIqKTsKIGlubGlu
ZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBjb25zdCBjaGFyKiBiKSB7
IHJldHVybiBXVEY6OmVxdWFsKGEuaW1wbCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFy
Kj4oYikpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0lt
cGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZTU0NTk0YjNlNzIzMTQ0MWQ4NWVhMjk1OWNkODNiOGJmYWI1NWYzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApAQCAtMCww
ICsxLDUyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCAyMDEzLTIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFBhdHJp
Y2sgR2Fuc3RlcmVyIDxwYXJvZ2FAcGFyb2dhLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1
c3VrZSBTdXp1a2k8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdG9taWNTdHJpbmdJbXBsLmgiCisK
KyNpbmNsdWRlICJBdG9taWNTdHJpbmdUYWJsZS5oIgorI2luY2x1ZGUgIkhhc2hTZXQuaCIKKyNp
bmNsdWRlICJJbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFz
aC5oIgorI2luY2x1ZGUgIlRocmVhZGluZy5oIgorI2luY2x1ZGUgIldURlRocmVhZERhdGEuaCIK
KyNpbmNsdWRlIDx3dGYvdW5pY29kZS9VVEY4Lmg+CisKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNp
bmNsdWRlICJTcGluTG9jay5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXVEYgeworCit1c2luZyBu
YW1lc3BhY2UgVW5pY29kZTsKKworI2lmIFVTRShXRUJfVEhSRUFEKQorCitjbGFzcyBBdG9taWNT
dHJpbmdUYWJsZUxvY2tlciA6IHB1YmxpYyBTcGluTG9ja0hvbGRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXRvbWljU3RyaW5nVGFibGVMb2NrZXIpOworCisgICAgc3RhdGljIFN0YXRp
Y1NwaW5Mb2NrIHNfc3RyaW5nVGFibGVMb2NrOworcHVibGljOgorICAgIEF0b21pY1N0cmluZ1Rh
YmxlTG9ja2VyKCkKKyAgICAgICAgOiBTcGluTG9ja0hvbGRlcigmc19zdHJpbmdUYWJsZUxvY2sp
CisgICAgeworICAgIH0KK307CisKK1N0YXRpY1NwaW5Mb2NrIEF0b21pY1N0cmluZ1RhYmxlTG9j
a2VyOjpzX3N0cmluZ1RhYmxlTG9jazsKKworI2Vsc2UKKworY2xhc3MgQXRvbWljU3RyaW5nVGFi
bGVMb2NrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY1N0cmluZ1RhYmxlTG9j
a2VyKTsKK3B1YmxpYzoKKyAgICBBdG9taWNTdHJpbmdUYWJsZUxvY2tlcigpIHsgfQorfTsKKwor
I2VuZGlmIC8vIFVTRShXRUJfVEhSRUFEKQorCitzdGF0aWMgQUxXQVlTX0lOTElORSBIYXNoU2V0
PFN0cmluZ0ltcGwqPiYgc3RyaW5nVGFibGUoKQoreworICAgIHJldHVybiB3dGZUaHJlYWREYXRh
KCkuYXRvbWljU3RyaW5nVGFibGUoKS0+dGFibGUoKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgSGFzaFRyYW5zbGF0b3I+CitzdGF0aWMgaW5saW5lIFJlZjxBdG9taWNTdHJp
bmdJbXBsPiBhZGRUb1N0cmluZ1RhYmxlKGNvbnN0IFQmIHZhbHVlKQoreworICAgIEF0b21pY1N0
cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKKworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjpBZGRS
ZXN1bHQgYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQ8SGFzaFRyYW5zbGF0b3I+KHZhbHVl
KTsKKworICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgbmV3bHktdHJhbnNsYXRlZCwgdGhlbiB3ZSBu
ZWVkIHRvIGFkb3B0IGl0LgorICAgIC8vIFRoZSBib29sZWFuIGluIHRoZSBwYWlyIHRlbGxzIHVz
IGlmIHRoYXQgaXMgc28uCisgICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KQorICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCY+KCoqYWRkUmVzdWx0
Lml0ZXJhdG9yKSk7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4o
KmFkZFJlc3VsdC5pdGVyYXRvcik7Cit9CisKK3N0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXIqIGMpCisgICAgeworICAgICAgICBy
ZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENo
YXIqIHMpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChyLCBzKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBM
Q2hhciogY29uc3QmIGMsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBsb2NhdGlvbiA9
ICZTdHJpbmdJbXBsOjpjcmVhdGUoYykubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0
SGFzaChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0K
K307CisKK1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGQoY29u
c3QgTENoYXIqIGMpCit7CisgICAgaWYgKCFjKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAoISpjKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Y29u
c3QgTENoYXIqLCBDU3RyaW5nVHJhbnNsYXRvcj4oYyk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CitzdHJ1Y3QgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyIHsKKyAgICBj
b25zdCBDaGFyYWN0ZXJUeXBlKiBzOworICAgIHVuc2lnbmVkIGxlbmd0aDsKK307CisKK3R5cGVk
ZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBVQ2hhckJ1ZmZlcjsKK3N0cnVjdCBV
Q2hhckJ1ZmZlclRyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFVD
aGFyQnVmZmVyJiBidWYpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21w
dXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWYucywgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAg
c3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0ciwgY29uc3QgVUNoYXJCdWZm
ZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1
Zi5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBs
KiYgbG9jYXRpb24sIGNvbnN0IFVDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCisgICAg
eworICAgICAgICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShi
dWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFzaCho
YXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307CisK
K3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdHJ1Y3QgSGFzaEFuZENoYXJhY3Rl
cnMgeworICAgIHVuc2lnbmVkIGhhc2g7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVyczsKKyAgICB1bnNpZ25lZCBsZW5ndGg7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgorc3RydWN0IEhhc2hBbmRDaGFyYWN0ZXJzVHJhbnNsYXRvciB7CisgICAgc3Rh
dGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4m
IGJ1ZmZlcikKKyAgICB7CisgICAgICAgIEFTU0VSVChidWZmZXIuaGFzaCA9PSBTdHJpbmdIYXNo
ZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIu
bGVuZ3RoKSk7CisgICAgICAgIHJldHVybiBidWZmZXIuaGFzaDsKKyAgICB9CisKKyAgICBzdGF0
aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBIYXNoQW5kQ2hh
cmFjdGVyczxDaGFyYWN0ZXJUeXBlPiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdU
Rjo6ZXF1YWwoc3RyaW5nLCBidWZmZXIuY2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCk7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29u
c3QgSGFzaEFuZENoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4mIGJ1ZmZlciwgdW5zaWduZWQgaGFz
aCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIu
Y2hhcmFjdGVycywgYnVmZmVyLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+
c2V0SGFzaChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAg
IH0KK307CisKK3N0cnVjdCBIYXNoQW5kVVRGOENoYXJhY3RlcnMgeworICAgIHVuc2lnbmVkIGhh
c2g7CisgICAgY29uc3QgY2hhciogY2hhcmFjdGVyczsKKyAgICB1bnNpZ25lZCBsZW5ndGg7Cisg
ICAgdW5zaWduZWQgdXRmMTZMZW5ndGg7Cit9OworCitzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0
ZXJzVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSGFzaEFuZFVU
RjhDaGFyYWN0ZXJzJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gYnVmZmVyLmhhc2g7
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogY29uc3QmIHN0cmlu
ZywgY29uc3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIpCisgICAgeworICAgICAgICBp
ZiAoYnVmZmVyLnV0ZjE2TGVuZ3RoICE9IHN0cmluZy0+bGVuZ3RoKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gSWYgYnVmZmVyIGNvbnRhaW5zIG9ubHkgQVNDSUkg
Y2hhcmFjdGVycyBVVEYtOCBhbmQgVVRGMTYgbGVuZ3RoIGFyZSB0aGUgc2FtZS4KKyAgICAgICAg
aWYgKGJ1ZmZlci51dGYxNkxlbmd0aCAhPSBidWZmZXIubGVuZ3RoKSB7CisgICAgICAgICAgICBp
ZiAoc3RyaW5nLT5pczhCaXQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxMYXRpbjFX
aXRoVVRGOChzdHJpbmctPmNoYXJhY3RlcnM4KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBidWZmZXIu
Y2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOworCisgICAgICAgICAgICByZXR1cm4gZXF1YWxV
VEYxNldpdGhVVEY4KHN0cmluZy0+Y2hhcmFjdGVyczE2KCksIGJ1ZmZlci5jaGFyYWN0ZXJzLCBi
dWZmZXIuY2hhcmFjdGVycyArIGJ1ZmZlci5sZW5ndGgpOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKHN0cmluZy0+aXM4Qml0KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IExDaGFyKiBzdHJpbmdD
aGFyYWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzOCgpOworCisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAg
QVNTRVJUKGlzQVNDSUkoYnVmZmVyLmNoYXJhY3RlcnNbaV0pKTsKKyAgICAgICAgICAgICAgICBp
ZiAoc3RyaW5nQ2hhcmFjdGVyc1tpXSAhPSBidWZmZXIuY2hhcmFjdGVyc1tpXSkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0IFVDaGFyKiBzdHJpbmdDaGFy
YWN0ZXJzID0gc3RyaW5nLT5jaGFyYWN0ZXJzMTYoKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXNB
U0NJSShidWZmZXIuY2hhcmFjdGVyc1tpXSkpOworICAgICAgICAgICAgaWYgKHN0cmluZ0NoYXJh
Y3RlcnNbaV0gIT0gYnVmZmVyLmNoYXJhY3RlcnNbaV0pCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
c3RhdGljIHZvaWQgdHJhbnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgSGFzaEFu
ZFVURjhDaGFyYWN0ZXJzJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAgICBV
Q2hhciogdGFyZ2V0OworICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbmV3U3RyaW5nID0gU3Ry
aW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChidWZmZXIudXRmMTZMZW5ndGgsIHRhcmdldCk7
CisKKyAgICAgICAgYm9vbCBpc0FsbEFTQ0lJOworICAgICAgICBjb25zdCBjaGFyKiBzb3VyY2Ug
PSBidWZmZXIuY2hhcmFjdGVyczsKKyAgICAgICAgaWYgKGNvbnZlcnRVVEY4VG9VVEYxNigmc291
cmNlLCBzb3VyY2UgKyBidWZmZXIubGVuZ3RoLCAmdGFyZ2V0LCB0YXJnZXQgKyBidWZmZXIudXRm
MTZMZW5ndGgsICZpc0FsbEFTQ0lJKSAhPSBjb252ZXJzaW9uT0spCisgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKworICAgICAgICBpZiAoaXNBbGxBU0NJSSkKKyAgICAgICAgICAg
IG5ld1N0cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZShidWZmZXIuY2hhcmFjdGVycywgYnVmZmVy
Lmxlbmd0aCk7CisKKyAgICAgICAgbG9jYXRpb24gPSBuZXdTdHJpbmcucmVsZWFzZSgpLmxlYWtS
ZWYoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldEhhc2goaGFzaCk7CisgICAgICAgIGxvY2F0aW9u
LT5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9Cit9OworCitSZWZQdHI8QXRvbWljU3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgp
Cit7CisgICAgaWYgKCFzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghbGVu
Z3RoKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmlu
Z0ltcGw6OmVtcHR5KCkpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0geyBzLCBsZW5ndGgg
fTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwgVUNoYXJCdWZmZXJU
cmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3Ry
aW5nSW1wbDo6YWRkKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGV4
aXN0aW5nSGFzaCkKK3sKKyAgICBBU1NFUlQocyk7CisgICAgQVNTRVJUKGV4aXN0aW5nSGFzaCk7
CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxBdG9taWNT
dHJpbmdJbXBsKj4oU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKKyAgICBIYXNoQW5kQ2hhcmFjdGVy
czxVQ2hhcj4gYnVmZmVyID0geyBleGlzdGluZ0hhc2gsIHMsIGxlbmd0aCB9OworICAgIHJldHVy
biBhZGRUb1N0cmluZ1RhYmxlPEhhc2hBbmRDaGFyYWN0ZXJzPFVDaGFyPiwgSGFzaEFuZENoYXJh
Y3RlcnNUcmFuc2xhdG9yPFVDaGFyPj4oYnVmZmVyKTsKK30KKworUmVmUHRyPEF0b21pY1N0cmlu
Z0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb25zdCBVQ2hhciogcykKK3sKKyAgICBpZiAo
IXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgdW5zaWduZWQgbGVuZ3RoID0gMDsK
KyAgICB3aGlsZSAoc1tsZW5ndGhdICE9IFVDaGFyKDApKQorICAgICAgICArK2xlbmd0aDsKKwor
ICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5n
SW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisgICAgVUNoYXJCdWZmZXIgYnVmZmVyID0g
eyBzLCBsZW5ndGggfTsKKyAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxVQ2hhckJ1ZmZlciwg
VUNoYXJCdWZmZXJUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitzdHJ1Y3QgU3Vic3RyaW5nTG9j
YXRpb24geworICAgIFN0cmluZ0ltcGwqIGJhc2VTdHJpbmc7CisgICAgdW5zaWduZWQgc3RhcnQ7
CisgICAgdW5zaWduZWQgbGVuZ3RoOworfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3Ig
eworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0
IFN1YnN0cmluZ0xvY2F0aW9uJiBidWZmZXIsIHVuc2lnbmVkIGhhc2gpCisgICAgeworICAgICAg
ICBsb2NhdGlvbiA9ICZTdHJpbmdJbXBsOjpjcmVhdGVTdWJzdHJpbmdTaGFyaW5nSW1wbChidWZm
ZXIuYmFzZVN0cmluZywgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKS5sZWFrUmVmKCk7Cisg
ICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOworICAgICAgICBsb2NhdGlvbi0+c2V0SXNB
dG9taWModHJ1ZSk7CisgICAgfQorfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3I4IDog
U3Vic3RyaW5nVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgU3Vi
c3RyaW5nTG9jYXRpb24mIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNo
ZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0
ZXJzOCgpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBjb25zdCBTdWJzdHJpbmdM
b2NhdGlvbiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoc3RyaW5n
LCBidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVyczgoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVy
Lmxlbmd0aCk7CisgICAgfQorfTsKKworc3RydWN0IFN1YnN0cmluZ1RyYW5zbGF0b3IxNiA6IFN1
YnN0cmluZ1RyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN1YnN0
cmluZ0xvY2F0aW9uJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVy
Ojpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFzZVN0cmluZy0+Y2hhcmFjdGVy
czE2KCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIGNvbnN0IFN1YnN0cmluZ0xv
Y2F0aW9uJiBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcs
IGJ1ZmZlci5iYXNlU3RyaW5nLT5jaGFyYWN0ZXJzMTYoKSArIGJ1ZmZlci5zdGFydCwgYnVmZmVy
Lmxlbmd0aCk7CisgICAgfQorfTsKKworUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0
cmluZ0ltcGw6OmFkZChTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgbGVuZ3RoKQoreworICAgIGlmICghYmFzZVN0cmluZykKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBpZiAoIWxlbmd0aCB8fCBzdGFydCA+PSBiYXNlU3RyaW5nLT5sZW5ndGgo
KSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJ
bXBsOjplbXB0eSgpKTsKKworICAgIHVuc2lnbmVkIG1heExlbmd0aCA9IGJhc2VTdHJpbmctPmxl
bmd0aCgpIC0gc3RhcnQ7CisgICAgaWYgKGxlbmd0aCA+PSBtYXhMZW5ndGgpIHsKKyAgICAgICAg
aWYgKCFzdGFydCkKKyAgICAgICAgICAgIHJldHVybiBhZGQoYmFzZVN0cmluZyk7CisgICAgICAg
IGxlbmd0aCA9IG1heExlbmd0aDsKKyAgICB9CisKKyAgICBTdWJzdHJpbmdMb2NhdGlvbiBidWZm
ZXIgPSB7IGJhc2VTdHJpbmcsIHN0YXJ0LCBsZW5ndGggfTsKKyAgICBpZiAoYmFzZVN0cmluZy0+
aXM4Qml0KCkpCisgICAgICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFN1YnN0cmluZ0xvY2F0
aW9uLCBTdWJzdHJpbmdUcmFuc2xhdG9yOD4oYnVmZmVyKTsKKyAgICByZXR1cm4gYWRkVG9TdHJp
bmdUYWJsZTxTdWJzdHJpbmdMb2NhdGlvbiwgU3Vic3RyaW5nVHJhbnNsYXRvcjE2PihidWZmZXIp
OworfQorICAgIAordHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8TENoYXI+IExDaGFy
QnVmZmVyOworc3RydWN0IExDaGFyQnVmZmVyVHJhbnNsYXRvciB7CisgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goY29uc3QgTENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVybiBT
dHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVuZ3Ro
KTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3Ry
LCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1
YWwoc3RyLCBidWYucywgYnVmLmxlbmd0aCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgdHJh
bnNsYXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgTENoYXJCdWZmZXImIGJ1ZiwgdW5z
aWduZWQgaGFzaCkKKyAgICB7CisgICAgICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0
ZShidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOworICAgICAgICBsb2NhdGlvbi0+c2V0SGFz
aChoYXNoKTsKKyAgICAgICAgbG9jYXRpb24tPnNldElzQXRvbWljKHRydWUpOworICAgIH0KK307
CisKK3R5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPGNoYXI+IENoYXJCdWZmZXI7Citz
dHJ1Y3QgQ2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3IgeworICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IENoYXJCdWZmZXImIGJ1ZikKKyAgICB7CisgICAgICAgIHJldHVy
biBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgTENoYXIqPihidWYucyksIGJ1Zi5sZW5ndGgpOworICAgIH0KKworICAgIHN0YXRp
YyBib29sIGVxdWFsKFN0cmluZ0ltcGwqIGNvbnN0JiBzdHIsIGNvbnN0IENoYXJCdWZmZXImIGJ1
ZikKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5n
dGgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9j
YXRpb24sIGNvbnN0IENoYXJCdWZmZXImIGJ1ZiwgdW5zaWduZWQgaGFzaCkKKyAgICB7CisgICAg
ICAgIGxvY2F0aW9uID0gJlN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGJ1Zi5zLCBidWYu
bGVuZ3RoKS5sZWFrUmVmKCk7CisgICAgICAgIGxvY2F0aW9uLT5zZXRIYXNoKGhhc2gpOworICAg
ICAgICBsb2NhdGlvbi0+c2V0SXNBdG9taWModHJ1ZSk7CisgICAgfQorfTsKKworUmVmUHRyPEF0
b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZChjb25zdCBMQ2hhciogcywgdW5z
aWduZWQgbGVuZ3RoKQoreworICAgIGlmICghcykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9
IHsgcywgbGVuZ3RoIH07CisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8TENoYXJCdWZmZXIs
IExDaGFyQnVmZmVyVHJhbnNsYXRvcj4oYnVmZmVyKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0lt
cGw+IEF0b21pY1N0cmluZ0ltcGw6OmFkZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgQVNTRVJUKGNoYXJhY3RlcnMpOworICAg
IEFTU0VSVChsZW5ndGgpOworCisgICAgQ2hhckJ1ZmZlciBidWZmZXIgPSB7IGNoYXJhY3RlcnMs
IGxlbmd0aCB9OworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPENoYXJCdWZmZXIsIENoYXJC
dWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yPihidWZmZXIpOworfQorCitSZWY8QXRvbWlj
U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6YWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYgc3Ry
aW5nKQoreworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gKnN0YXRp
Y19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBsOjplbXB0eSgpKTsKKworICAgIGlm
IChzdHJpbmcuaXNTeW1ib2woKSkgeworICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQorICAg
ICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgo
KSk7CisgICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxl
bmd0aCgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcuaXNBdG9t
aWMoKSwgIkF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIG5vdCBoaXQgdGhlIHNsb3cgY2FzZSBpZiB0
aGUgc3RyaW5nIGlzIGFscmVhZHkgYXRvbWljLiIpOworCisgICAgQXRvbWljU3RyaW5nVGFibGVM
b2NrZXIgbG9ja2VyOworICAgIGF1dG8gYWRkUmVzdWx0ID0gc3RyaW5nVGFibGUoKS5hZGQoJnN0
cmluZyk7CisKKyAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgQVNTRVJU
KCphZGRSZXN1bHQuaXRlcmF0b3IgPT0gJnN0cmluZyk7CisgICAgICAgIHN0cmluZy5zZXRJc0F0
b21pYyh0cnVlKTsKKyAgICB9CisKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmlu
Z0ltcGwqPigqYWRkUmVzdWx0Lml0ZXJhdG9yKTsKK30KKworUmVmPEF0b21pY1N0cmluZ0ltcGw+
IEF0b21pY1N0cmluZ0ltcGw6OmFkZFNsb3dDYXNlKEF0b21pY1N0cmluZ1RhYmxlJiBzdHJpbmdU
YWJsZSwgU3RyaW5nSW1wbCYgc3RyaW5nKQoreworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQor
ICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihTdHJpbmdJbXBs
OjplbXB0eSgpKTsKKworICAgIGlmIChzdHJpbmcuaXNTeW1ib2woKSkgeworICAgICAgICBpZiAo
c3RyaW5nLmlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuICphZGQoc3RyaW5nLmNoYXJhY3Rl
cnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIHJldHVybiAqYWRkKHN0cmluZy5jaGFy
YWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKCFzdHJpbmcuaXNBdG9taWMoKSwgIkF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIG5vdCBo
aXQgdGhlIHNsb3cgY2FzZSBpZiB0aGUgc3RyaW5nIGlzIGFscmVhZHkgYXRvbWljLiIpOworCisg
ICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8gYWRkUmVzdWx0ID0g
c3RyaW5nVGFibGUudGFibGUoKS5hZGQoJnN0cmluZyk7CisKKyAgICBpZiAoYWRkUmVzdWx0Lmlz
TmV3RW50cnkpIHsKKyAgICAgICAgQVNTRVJUKCphZGRSZXN1bHQuaXRlcmF0b3IgPT0gJnN0cmlu
Zyk7CisgICAgICAgIHN0cmluZy5zZXRJc0F0b21pYyh0cnVlKTsKKyAgICB9CisKKyAgICByZXR1
cm4gKnN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqYWRkUmVzdWx0Lml0ZXJhdG9yKTsK
K30KKwordm9pZCBBdG9taWNTdHJpbmdJbXBsOjpyZW1vdmUoQXRvbWljU3RyaW5nSW1wbCogc3Ry
aW5nKQoreworICAgIEFTU0VSVChzdHJpbmctPmlzQXRvbWljKCkpOworICAgIEF0b21pY1N0cmlu
Z1RhYmxlTG9ja2VyIGxvY2tlcjsKKyAgICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgYXRvbWljU3Ry
aW5nVGFibGUgPSBzdHJpbmdUYWJsZSgpOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjppdGVy
YXRvciBpdGVyYXRvciA9IGF0b21pY1N0cmluZ1RhYmxlLmZpbmQoc3RyaW5nKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKGl0ZXJhdG9yICE9IGF0b21pY1N0cmluZ1RhYmxlLmVuZCgpLCAiVGhl
IHN0cmluZyBiZWluZyByZW1vdmVkIGlzIGF0b21pYyBpbiB0aGUgc3RyaW5nIHRhYmxlIG9mIGFu
IG90aGVyIHRocmVhZCEiKTsKKyAgICBhdG9taWNTdHJpbmdUYWJsZS5yZW1vdmUoaXRlcmF0b3Ip
OworfQorCitBdG9taWNTdHJpbmdJbXBsKiBBdG9taWNTdHJpbmdJbXBsOjpsb29rdXBTbG93Q2Fz
ZShTdHJpbmdJbXBsJiBzdHJpbmcpCit7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3RyaW5n
LmlzQXRvbWljKCksICJBdG9taWNTdHJpbmdJbXBscyBzaG91bGQgcmV0dXJuIGZyb20gdGhlIGZh
c3QgY2FzZS4iKTsKKworICAgIGlmICghc3RyaW5nLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOworCisg
ICAgaWYgKHN0cmluZy5pc1N5bWJvbCgpKSB7CisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkp
CisgICAgICAgICAgICByZXR1cm4gbG9va3VwSW50ZXJuYWwoc3RyaW5nLmNoYXJhY3RlcnM4KCks
IHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBsb29rdXBJbnRlcm5hbChzdHJpbmcu
Y2hhcmFjdGVyczE2KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgfQorCisgICAgQXRvbWljU3Ry
aW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+JiBhdG9taWNT
dHJpbmdUYWJsZSA9IHN0cmluZ1RhYmxlKCk7CisgICAgYXV0byBpdGVyYXRvciA9IGF0b21pY1N0
cmluZ1RhYmxlLmZpbmQoJnN0cmluZyk7CisgICAgaWYgKGl0ZXJhdG9yICE9IGF0b21pY1N0cmlu
Z1RhYmxlLmVuZCgpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1w
bCo+KCppdGVyYXRvcik7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBdG9taWNT
dHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGRGcm9tVVRGOChjb25zdCBjaGFyKiBjaGFy
YWN0ZXJzU3RhcnQsIGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNFbmQpCit7CisgICAgSGFzaEFuZFVU
RjhDaGFyYWN0ZXJzIGJ1ZmZlcjsKKyAgICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnNT
dGFydDsKKyAgICBidWZmZXIuaGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9t
VVRGOE1hc2tpbmdUb3A4Qml0cyhjaGFyYWN0ZXJzU3RhcnQsIGNoYXJhY3RlcnNFbmQsIGJ1ZmZl
ci5sZW5ndGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7CisKKyAgICBpZiAoIWJ1ZmZlci5oYXNoKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPEhh
c2hBbmRVVEY4Q2hhcmFjdGVycywgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcj4oYnVm
ZmVyKTsKK30KKworQXRvbWljU3RyaW5nSW1wbCogQXRvbWljU3RyaW5nSW1wbDo6bG9va3VwSW50
ZXJuYWwoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBB
dG9taWNTdHJpbmdUYWJsZUxvY2tlciBsb2NrZXI7CisgICAgYXV0byYgdGFibGUgPSBzdHJpbmdU
YWJsZSgpOworCisgICAgTENoYXJCdWZmZXIgYnVmZmVyID0geyBjaGFyYWN0ZXJzLCBsZW5ndGgg
fTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gdGFibGUuZmluZDxMQ2hhckJ1ZmZlclRyYW5zbGF0b3I+
KGJ1ZmZlcik7CisgICAgaWYgKGl0ZXJhdG9yICE9IHRhYmxlLmVuZCgpKQorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KCppdGVyYXRvcik7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0F0b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmluZ0ltcGw6Omxvb2t1
cEludGVybmFsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7Cisg
ICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIgbG9ja2VyOworICAgIGF1dG8mIHRhYmxlID0gc3Ry
aW5nVGFibGUoKTsKKworICAgIFVDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywgbGVu
Z3RoIH07CisgICAgYXV0byBpdGVyYXRvciA9IHRhYmxlLmZpbmQ8VUNoYXJCdWZmZXJUcmFuc2xh
dG9yPihidWZmZXIpOworICAgIGlmIChpdGVyYXRvciAhPSB0YWJsZS5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOworICAgIHJl
dHVybiBudWxscHRyOworfQorCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorYm9vbCBBdG9taWNTdHJp
bmdJbXBsOjppc0luQXRvbWljU3RyaW5nVGFibGUoU3RyaW5nSW1wbCogc3RyaW5nKQoreworICAg
IEF0b21pY1N0cmluZ1RhYmxlTG9ja2VyIGxvY2tlcjsKKyAgICByZXR1cm4gc3RyaW5nVGFibGUo
KS5jb250YWlucyhzdHJpbmcpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmggYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAppbmRleCA2MmE5MGUwNmU1MzhmNjYzZTRi
ZjBlMDNiZTMyZWI2NDAxN2MyMmMyLi5iZWNlY2MzMDM3YjYyYTE4YjVhYjExODM5MGE3M2QxYzJm
MjYwYzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaApAQCAtMjEsMTQg
KzIxLDk1IEBACiAjaWZuZGVmIEF0b21pY1N0cmluZ0ltcGxfaAogI2RlZmluZSBBdG9taWNTdHJp
bmdJbXBsX2gKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3Mg
QXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBTdHJpbmdJbXBsCi17CitjbGFzcyBBdG9taWNTdHJp
bmdUYWJsZTsKKworY2xhc3MgQXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5n
SW1wbCB7Citwcml2YXRlOgorICAgIEF0b21pY1N0cmluZ0ltcGwoKSA9IGRlbGV0ZTsKKwogcHVi
bGljOgotICAgIEF0b21pY1N0cmluZ0ltcGwoKSA6IFN0cmluZ0ltcGwoMCkge30KKyAgICBzdGF0
aWMgQXRvbWljU3RyaW5nSW1wbCogbG9va3VwKExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCisgICAgeworICAgICAgICByZXR1cm4gbG9va3VwSW50ZXJuYWwoY2hhcmFjdGVycywg
bGVuZ3RoKTsKKyAgICB9CisgICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cChVQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGxv
b2t1cEludGVybmFsKGNoYXJhY3RlcnMsIGxlbmd0aCk7CisgICAgfQorICAgIHN0YXRpYyBBdG9t
aWNTdHJpbmdJbXBsKiBsb29rdXAoU3RyaW5nSW1wbCogc3RyaW5nKQorICAgIHsKKyAgICAgICAg
aWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21pYygpKQorICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOworICAgICAgICByZXR1cm4gbG9v
a3VwU2xvd0Nhc2UoKnN0cmluZyk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlKEF0
b21pY1N0cmluZ0ltcGwqKTsKKworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVm
UHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBMQ2hhciopOworICAgIEFMV0FZU19JTkxJ
TkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgY2hhciogcykgeyBy
ZXR1cm4gYWRkKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihzKSk7IH07CisgICAgV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gYWRkKGNv
bnN0IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkg
c3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3QgVUNoYXIqLCB1bnNpZ25l
ZCBsZW5ndGgpOworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJ
bXBsPiBhZGQoY29uc3QgY2hhciogcywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBhZGQocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpLCBsZW5ndGgpOyB9OworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZChjb25zdCBVQ2hh
ciosIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgZXhpc3RpbmdIYXNoKTsKKyAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBhZGQoY29uc3Qg
VUNoYXIqKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNT
dHJpbmdJbXBsPiBhZGQoU3RyaW5nSW1wbCosIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVu
Z3RoKTsKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4g
YWRkKFN0cmluZ0ltcGwqIHN0cmluZykKKyAgICB7CisgICAgICAgIGlmICghc3RyaW5nKQorICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihzdHJpbmcpOwor
ICAgICAgICByZXR1cm4gYWRkKCpzdHJpbmcpOworICAgIH0KKyAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBhZGRGcm9tTGl0ZXJhbERhdGEoY29u
c3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKTsKKworICAgIC8vIEF0b21pY1N0
cmluZ0ltcGw6OmFkZEZyb21VVEY4IHdpbGwgcmV0dXJuIGEgbnVsbHB0ciBpZgorICAgIC8vIHRo
ZSBpbnB1dCBkYXRhIGNvbnRhaW5zIGludmFsaWQgVVRGLTggc2VxdWVuY2VzLgorICAgIFdURl9F
WFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGFkZEZyb21V
VEY4KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlbmQpOworI2lmIFVTRShDRikKKyAg
ICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBh
ZGQoQ0ZTdHJpbmdSZWYpOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdU
YWJsZVByb3ZpZGVyPgorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJp
bmdJbXBsPiBhZGRXaXRoU3RyaW5nVGFibGVQcm92aWRlcihTdHJpbmdUYWJsZVByb3ZpZGVyJiBz
dHJpbmdUYWJsZVByb3ZpZGVyLCBTdHJpbmdJbXBsKiBzdHJpbmcpCisgICAgeworICAgICAgICBp
ZiAoIXN0cmluZykKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJ
bXBsKj4oc3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIGFkZCgqc3RyaW5nVGFibGVQcm92aWRlci5h
dG9taWNTdHJpbmdUYWJsZSgpLCAqc3RyaW5nKTsKKyAgICB9CisKKyNpZiAhQVNTRVJUX0RJU0FC
TEVECisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBib29sIGlzSW5BdG9taWNTdHJp
bmdUYWJsZShTdHJpbmdJbXBsKik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBTFdBWVNfSU5M
SU5FIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4gYWRkKFN0cmluZ0ltcGwmIHN0cmluZykK
KyAgICB7CisgICAgICAgIGlmIChzdHJpbmcuaXNBdG9taWMoKSkgeworICAgICAgICAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRSghc3RyaW5nLmxlbmd0aCgpIHx8IGlzSW5BdG9taWNTdHJpbmdUYWJs
ZSgmc3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVzIGZyb20gYW4gb3RoZXIgdGhyZWFk
ISIpOworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwmPihz
dHJpbmcpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShzdHJpbmcpOwor
ICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFJlZjxBdG9taWNTdHJpbmdJbXBsPiBh
ZGQoQXRvbWljU3RyaW5nVGFibGUmIHN0cmluZ1RhYmxlLCBTdHJpbmdJbXBsJiBzdHJpbmcpCisg
ICAgeworICAgICAgICBpZiAoc3RyaW5nLmlzQXRvbWljKCkpIHsKKyAgICAgICAgICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoIXN0cmluZy5sZW5ndGgoKSB8fCBpc0luQXRvbWljU3RyaW5nVGFibGUo
JnN0cmluZyksICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEi
KTsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsJj4oc3Ry
aW5nKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nVGFibGUs
IHN0cmluZyk7CisgICAgfQorCisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8
QXRvbWljU3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoU3RyaW5nSW1wbCYpOworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+IGFkZFNsb3dDYXNlKEF0
b21pY1N0cmluZ1RhYmxlJiwgU3RyaW5nSW1wbCYpOworCisgICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBsKiBsb29rdXBTbG93Q2FzZShTdHJpbmdJbXBsJik7
CisKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxv
b2t1cEludGVybmFsKGNvbnN0IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2t1cEludGVybmFsKGNv
bnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKIH07CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVE
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwIGIvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCA2ZmQ3NzljODBjMmJkOGE0NGM2Njdl
MmEzMjZmODM4ZDg1Y2ZhMWY1Li5jMTI5MTQ1YmM2NGUzYzAyNjJhYzRkMmFiODYwOGY3ZWRlOTZl
YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
U3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9VVEY4Lmg+CkBAIC0xMTEsMTAgKzExMiwxMCBAQCB2b2lkIFN0cmluZ1N0YXRzOjpwcmludFN0
YXRzKCkKICAgICBTVFJJTkdfU1RBVFNfUkVNT1ZFX1NUUklORygqdGhpcyk7CiAKICAgICBpZiAo
aXNBdG9taWMoKSAmJiBsZW5ndGgoKSAmJiAhaXNTeW1ib2woKSkKLSAgICAgICAgQXRvbWljU3Ry
aW5nOjpyZW1vdmUodGhpcyk7CisgICAgICAgIEF0b21pY1N0cmluZ0ltcGw6OnJlbW92ZShzdGF0
aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4odGhpcykpOwogCiAgICAgaWYgKGlzU3ltYm9sKCkg
JiYgc3ltYm9sUmVnaXN0cnkoKSkKLSAgICAgICAgc3ltYm9sUmVnaXN0cnkoKS0+cmVtb3ZlKHRo
aXMpOworICAgICAgICBzeW1ib2xSZWdpc3RyeSgpLT5yZW1vdmUoc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCo+KHRoaXMpKTsKIAogICAgIEJ1ZmZlck93bmVyc2hpcCBvd25lcnNoaXAgPSBidWZmZXJP
d25lcnNoaXAoKTsKIApAQCAtMjkwLDcgKzI5MSw3IEBAIHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJv
eShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIHJldHVybiBjcmVhdGUoc3RyaW5nLCBsZW5n
dGgpOwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKFBhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQorUmVmPFN5bWJvbEltcGw+IFN0cmluZ0ltcGw6OmNyZWF0
ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCkKIHsKICAgICBTdHJpbmdJbXBsKiBv
d25lclJlcCA9IChyZXAtPmJ1ZmZlck93bmVyc2hpcCgpID09IEJ1ZmZlclN1YnN0cmluZykgPyBy
ZXAtPnN1YnN0cmluZ0J1ZmZlcigpIDogcmVwLmdldCgpOwogCkBAIC0zMDEsMTEgKzMwMiwxMSBA
QCB2b2lkIFN0cmluZ0ltcGw6OmRlc3Ryb3koU3RyaW5nSW1wbCogc3RyaW5nSW1wbCkKICAgICAv
LyA0LiB0aGUgcGxhY2Vob2xkZXIgZm9yIHN5bWJvbCBhd2FyZSBoYXNoIHZhbHVlIChhbGxvY2F0
ZWQgc2l6ZSBpcyBwb2ludGVyIHNpemUsIGJ1dCBvbmx5IDQgYnl0ZXMgYXJlIHVzZWQpCiAgICAg
U3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0YXRpY19jYXN0PFN0cmluZ0ltcGwqPihmYXN0TWFs
bG9jKGFsbG9jYXRpb25TaXplPFN0cmluZ0ltcGwqPigzKSkpOwogICAgIGlmIChyZXAtPmlzOEJp
dCgpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkg
U3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3du
ZXJSZXApKTsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkg
U3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhMTYsIHJlcC0+bGVuZ3RoKCksIG93
bmVyUmVwKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqc3RhdGljX2Nhc3Q8U3ltYm9sSW1w
bCo+KG5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJl
cC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4obmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBT
dHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGExNiwgcmVwLT5sZW5ndGgoKSwgb3du
ZXJSZXApKSk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2xF
bXB0eSgpCitSZWY8U3ltYm9sSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkoKQog
ewogICAgIHJldHVybiBjcmVhdGVTeW1ib2woZW1wdHkoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
SW1wbC5oCmluZGV4IGRjMjJiZDBlN2M5NjQyNjlmZTNkZWRlYzUxYmVmNTFjZTY2ZmUzZTkuLjU3
MzI5MjZkOTEyMjFhNTEzOTgzODkzMGViNmQ4NmYzMjI0MDE5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oCkBAIC01Nyw2ICs1Nyw3IEBACiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsK
IHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3Mg
UmV0YWluUHRyOworY2xhc3MgU3ltYm9sSW1wbDsKIGNsYXNzIFN5bWJvbFJlZ2lzdHJ5OwogCiBl
bnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkgewpAQCAtMTMxLDcgKzEzMiw2IEBAIGNsYXNzIFN0cmlu
Z0ltcGwgewogICAgIGZyaWVuZCBzdHJ1Y3QgV1RGOjpMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiAg
ICAgZnJpZW5kIHN0cnVjdCBXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0
cnVjdCBXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKLSAgICBmcmllbmQgY2xhc3MgQXRvbWlj
U3RyaW5nSW1wbDsKICAgICBmcmllbmQgY2xhc3MgSlNDOjpMTEludDo6RGF0YTsKICAgICBmcmll
bmQgY2xhc3MgSlNDOjpMTEludE9mZnNldHNFeHRyYWN0b3I7CiAgICAgCkBAIC0zMzAsNiArMzMw
LDggQEAgY2xhc3MgU3RyaW5nSW1wbCB7CiAgICAgICAgIFNUUklOR19TVEFUU19BRERfMTZCSVRf
U1RSSU5HMihtX2xlbmd0aCwgdHJ1ZSk7CiAgICAgfQogCitwcm90ZWN0ZWQ6CisgICAgLy8gVG8g
YWxsb3cgZ2VuZXJhdGluZyB0aGUgZGVzdHJ1Y3RvciBpbiB0aGUgYmFzZSBjbGFzc2VzLCB3ZSBl
eHBvc2UgdGhlIGRlc3RydWN0b3IgYXMgcHJvdGVjdGVkLgogICAgIH5TdHJpbmdJbXBsKCk7CiAK
IHB1YmxpYzoKQEAgLTQyMSw4ICs0MjMsOCBAQCBjbGFzcyBTdHJpbmdJbXBsIHsKICAgICAgICAg
cmV0dXJuIGNvbnN0cnVjdEludGVybmFsPFQ+KHJlc3VsdEltcGwsIGxlbmd0aCk7CiAgICAgfQog
Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRl
U3ltYm9sRW1wdHkoKTsKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJp
bmdJbXBsPiBjcmVhdGVTeW1ib2woUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiByZXApOworICAgIFdU
Rl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbEVt
cHR5KCk7CisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4g
Y3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKTsKIAogICAgIC8vIFJlYWxs
b2NhdGUgdGhlIFN0cmluZ0ltcGwuIFRoZSBvcmlnaW5hbFN0cmluZyBtdXN0IGJlIG9ubHkgb3du
ZWQgYnkgdGhlIFBhc3NSZWZQdHIsCiAgICAgLy8gYW5kIHRoZSBidWZmZXIgb3duZXJzaGlwIG11
c3QgYmUgQnVmZmVySW50ZXJuYWwuIEp1c3QgbGlrZSB0aGUgaW5wdXQgcG9pbnRlciBvZiByZWFs
bG9jKCksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2NzA1MzFjODllZDUy
NjhlYjE2ZGI1MTJkMjBhMTZiYTBlYmFhOWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N5bWJvbEltcGwuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgU3ltYm9sSW1wbF9oCisjZGVmaW5lIFN5bWJvbEltcGxfaAorCisjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJp
bmdJbXBsLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitjbGFzcyBTeW1ib2xJbXBsIDogcHVibGlj
IFVuaXF1ZWRTdHJpbmdJbXBsIHsKKyAgICBTeW1ib2xJbXBsKCkgPSBkZWxldGU7Cit9OworCisj
aWYgIUFTU0VSVF9ESVNBQkxFRAorLy8gU3ltYm9sSW1wbHMgY3JlYXRlZCBmcm9tIFN0YXRpY0FT
Q0lJTGl0ZXJhbCB3aWxsIEFTU0VSVAorLy8gaW4gdGhlIGdlbmVyaWMgVmFsdWVDaGVjazxUPjo6
Y2hlY2tDb25zaXN0ZW5jeQorLy8gYXMgdGhleSBhcmUgbm90IGFsbG9jYXRlZCBieSBmYXN0TWFs
bG9jLgorLy8gV2UgZG9uJ3QgY3VycmVudGx5IGhhdmUgYW55IHdheSB0byBkZXRlY3QgdGhhdCBj
YXNlCisvLyBzbyB3ZSBpZ25vcmUgdGhlIGNvbnNpc3RlbmN5IGNoZWNrIGZvciBhbGwgU3ltYm9s
SW1wbHMqLgordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8U3ltYm9sSW1wbCo+IHsKKyAg
ICBzdGF0aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0IFN5bWJvbEltcGwqKSB7IH0KK307
CisKK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPGNvbnN0IFN5bWJvbEltcGwqPiB7Cisg
ICAgc3RhdGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9
OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OlN5bWJvbEltcGw7
CisKKyNlbmRpZiAvLyBTeW1ib2xJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3ltYm9sUmVnaXN0cnkuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3Ry
eS5jcHAKaW5kZXggMTU2YmEzZTRjMjc0YjFmMDBjYmNlZTdlYmZmZWViMjZjZjIzZDM5MC4uMjU5
OWI2ODgwNzE3Mjg4YTBmNmIzZWZjMjEwMWVmY2YwMTllYmFmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9TeW1ib2xSZWdpc3RyeS5jcHAKQEAgLTM0LDI2ICszNCwyNiBAQAogICAgICAgICBrZXkuaW1w
bCgpLT5zeW1ib2xSZWdpc3RyeSgpID0gbnVsbHB0cjsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN5
bWJvbFJlZ2lzdHJ5OjpzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJiByZXApCitSZWY8U3ltYm9s
SW1wbD4gU3ltYm9sUmVnaXN0cnk6OnN5bWJvbEZvcktleShjb25zdCBTdHJpbmcmIHJlcCkKIHsK
ICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdGFibGUuYWRkKFN5bWJvbFJlZ2lzdHJ5S2V5KHJlcC5p
bXBsKCkpKTsKICAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXR1cm4g
KmFkZFJlc3VsdC5pdGVyYXRvci0+aW1wbCgpOworICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0
PFN5bWJvbEltcGwqPihhZGRSZXN1bHQuaXRlcmF0b3ItPmltcGwoKSk7CiAKLSAgICBSZWY8U3Ry
aW5nSW1wbD4gc3ltYm9sID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOwor
ICAgIFJlZjxTeW1ib2xJbXBsPiBzeW1ib2wgPSBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2wocmVw
LmltcGwoKSk7CiAgICAgc3ltYm9sLT5zeW1ib2xSZWdpc3RyeSgpID0gdGhpczsKICAgICAqYWRk
UmVzdWx0Lml0ZXJhdG9yID0gU3ltYm9sUmVnaXN0cnlLZXkoJnN5bWJvbC5nZXQoKSk7CiAgICAg
cmV0dXJuIHN5bWJvbDsKIH0KIAotU3RyaW5nIFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2wo
U3RyaW5nSW1wbCogdWlkKQorU3RyaW5nIFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2woU3lt
Ym9sSW1wbCogdWlkKQogewogICAgIEFTU0VSVCh1aWQtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VS
VCh1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhpcyk7CiAgICAgcmV0dXJuIHVpZC0+ZXh0cmFj
dEZvbGRlZFN0cmluZ0luU3ltYm9sKCk7CiB9CiAKLXZvaWQgU3ltYm9sUmVnaXN0cnk6OnJlbW92
ZShTdHJpbmdJbXBsKiB1aWQpCit2b2lkIFN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUoU3ltYm9sSW1w
bCogdWlkKQogewogICAgIEFTU0VSVCh1aWQtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VSVCh1aWQt
PnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1N5bWJvbFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5
LmgKaW5kZXggMTM2YzM2OGM5MGJiYmNlYTE4ODZiOGRmNzg3MmE3ZmZkZmJhOThhNi4uZmVjYmU3
MGM3NDgzMjA4MGNmOWI0ZDQzNGI2NmIyZDA5NDA2Mjg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sUmVnaXN0cnkuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
U3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKQEAgLTgxLDEwICs4MiwxMCBAQCBjbGFzcyBTeW1ib2xSZWdpc3RyeSB7CiAgICAg
U3ltYm9sUmVnaXN0cnkoKSA9IGRlZmF1bHQ7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIH5TeW1i
b2xSZWdpc3RyeSgpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFJlZjxTdHJpbmdJbXBsPiBz
eW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJik7Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmlu
ZyBrZXlGb3JTeW1ib2woU3RyaW5nSW1wbCogdWlkKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUg
UmVmPFN5bWJvbEltcGw+IHN5bWJvbEZvcktleShjb25zdCBTdHJpbmcmKTsKKyAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgU3RyaW5nIGtleUZvclN5bWJvbChTeW1ib2xJbXBsKiB1aWQpOwogCi0gICAg
dm9pZCByZW1vdmUoU3RyaW5nSW1wbCogdWlkKTsKKyAgICB2b2lkIHJlbW92ZShTeW1ib2xJbXBs
KiB1aWQpOwogCiBwcml2YXRlOgogICAgIEhhc2hTZXQ8U3ltYm9sUmVnaXN0cnlLZXk+IG1fdGFi
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2
OTdjZjcwZjA3Nzc1ZmMxNzkzODVhODFiYmU0Y2NkNGNhNDc0YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaApAQCAtMCwwICsxLDU4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVW5pcXVlZFN0cmluZ0ltcGxfaAorI2RlZmlu
ZSBVbmlxdWVkU3RyaW5nSW1wbF9oCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+
CisKK25hbWVzcGFjZSBXVEYgeworCitjbGFzcyBVbmlxdWVkU3RyaW5nSW1wbCA6IHB1YmxpYyBT
dHJpbmdJbXBsIHsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCgpID0gZGVsZXRlOworfTsKKworI2lm
ICFBU1NFUlRfRElTQUJMRUQKKy8vIFVuaXF1ZWRTdHJpbmdJbXBscyBjcmVhdGVkIGZyb20gU3Rh
dGljQVNDSUlMaXRlcmFsIHdpbGwgQVNTRVJUCisvLyBpbiB0aGUgZ2VuZXJpYyBWYWx1ZUNoZWNr
PFQ+OjpjaGVja0NvbnNpc3RlbmN5CisvLyBhcyB0aGV5IGFyZSBub3QgYWxsb2NhdGVkIGJ5IGZh
c3RNYWxsb2MuCisvLyBXZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhbnkgd2F5IHRvIGRldGVjdCB0
aGF0IGNhc2UKKy8vIHNvIHdlIGlnbm9yZSB0aGUgY29uc2lzdGVuY3kgY2hlY2sgZm9yIGFsbCBV
bmlxdWVkU3RyaW5nSW1wbHMqLgordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8VW5pcXVl
ZFN0cmluZ0ltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBV
bmlxdWVkU3RyaW5nSW1wbCopIHsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hl
Y2s8Y29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25z
aXN0ZW5jeShjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8v
IG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpVbmlxdWVkU3RyaW5nSW1wbDsKKworI2VuZGlm
IC8vIFVuaXF1ZWRTdHJpbmdJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
V1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCmluZGV4IDZlOGYw
OTJiMjdlNTliN2E4MWQ5NTA3MGU0OGUzMjBkZmQ4YzczNjEuLmRlOTkyZGViOTM0OWU1ZWMzYWIy
MTk2NWVhOGIzZmVjZDhiNWQ1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RG
U3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAtMTE4LDYg
KzExOCwxMCBAQCBjbGFzcyBTdHJpbmcgewogICAgIFN0cmluZyhSZWY8U3RyaW5nSW1wbD4mJiBp
bXBsKSA6IG1faW1wbChXVEY6Om1vdmUoaW1wbCkpIHsgfQogICAgIFN0cmluZyhSZWZQdHI8U3Ry
aW5nSW1wbD4mJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7IH0KIAorICAgIFN0cmluZyhQYXNzUmVm
UHRyPEF0b21pY1N0cmluZ0ltcGw+IGltcGwpIDogbV9pbXBsKGltcGwpIHsgfQorICAgIFN0cmlu
ZyhSZWY8QXRvbWljU3RyaW5nSW1wbD4mJiBpbXBsKSA6IG1faW1wbChXVEY6Om1vdmUoaW1wbCkp
IHsgfQorICAgIFN0cmluZyhSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4mJiBpbXBsKSA6IG1faW1w
bChpbXBsKSB7IH0KKwogICAgIC8vIENvbnN0cnVjdCBhIHN0cmluZyBmcm9tIGEgY29uc3RhbnQg
c3RyaW5nIGxpdGVyYWwuCiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIFN0cmluZyhBU0NJSUxp
dGVyYWwgY2hhcmFjdGVycyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2Yv
QXRvbWljU3RyaW5nQ0YuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9jZi9BdG9taWNTdHJpbmdD
Ri5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5YzgyYmYzYzQ5Mjc4ZDFlMDIy
M2QyNTk1M2VkZjcxZjJjZDRiNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9jZi9BdG9taWNTdHJpbmdDRi5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotCi0jaWYgVVNFKENGKQot
Ci0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXVEYgewotCi1SZWZQdHI8U3RyaW5nSW1w
bD4gQXRvbWljU3RyaW5nOjphZGQoQ0ZTdHJpbmdSZWYgc3RyaW5nKQotewotICAgIGlmICghc3Ry
aW5nKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIENGSW5kZXggbGVuZ3RoID0gQ0ZT
dHJpbmdHZXRMZW5ndGgoc3RyaW5nKTsKLQotICAgIGlmIChjb25zdCBMQ2hhciogcHRyID0gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KENGU3RyaW5nR2V0Q1N0cmluZ1B0cihzdHJpbmcs
IGtDRlN0cmluZ0VuY29kaW5nSVNPTGF0aW4xKSkpCi0gICAgICAgIHJldHVybiBhZGQocHRyLCBs
ZW5ndGgpOwotCi0gICAgaWYgKGNvbnN0IFVuaUNoYXIqIHB0ciA9IENGU3RyaW5nR2V0Q2hhcmFj
dGVyc1B0cihzdHJpbmcpKQotICAgICAgICByZXR1cm4gYWRkKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgVUNoYXIqPihwdHIpLCBsZW5ndGgpOwotCi0gICAgVmVjdG9yPFVuaUNoYXIsIDEwMjQ+IHVj
aGFyQnVmZmVyKGxlbmd0aCk7Ci0gICAgQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzKHN0cmluZywgQ0ZS
YW5nZU1ha2UoMCwgbGVuZ3RoKSwgdWNoYXJCdWZmZXIuZGF0YSgpKTsKLSAgICByZXR1cm4gYWRk
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPih1Y2hhckJ1ZmZlci5kYXRhKCkpLCBsZW5n
dGgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXVEYKLQotI2VuZGlmIC8vIFVTRShDRikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvQXRvbWljU3RyaW5nSW1wbENGLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvY2YvQXRvbWljU3RyaW5nSW1wbENGLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YTNmMTVkYWU0OTg0N2FhOGZmMjhkYzNhNzc2YjY3NWM1MWY5MGM3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9jZi9BdG9taWNTdHJpbmdJbXBsQ0YuY3BwCkBAIC0wLDAg
KzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nSW1wbC5oPgorCisjaWYgVVNFKENGKQorCisjaW5jbHVkZSA8Q29y
ZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXVEYgeworCitSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gQXRvbWlj
U3RyaW5nSW1wbDo6YWRkKENGU3RyaW5nUmVmIHN0cmluZykKK3sKKyAgICBpZiAoIXN0cmluZykK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBDRkluZGV4IGxlbmd0aCA9IENGU3RyaW5n
R2V0TGVuZ3RoKHN0cmluZyk7CisKKyAgICBpZiAoY29uc3QgTENoYXIqIHB0ciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihDRlN0cmluZ0dldENTdHJpbmdQdHIoc3RyaW5nLCBrQ0ZT
dHJpbmdFbmNvZGluZ0lTT0xhdGluMSkpKQorICAgICAgICByZXR1cm4gYWRkKHB0ciwgbGVuZ3Ro
KTsKKworICAgIGlmIChjb25zdCBVbmlDaGFyKiBwdHIgPSBDRlN0cmluZ0dldENoYXJhY3RlcnNQ
dHIoc3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIGFkZChyZWludGVycHJldF9jYXN0PGNvbnN0IFVD
aGFyKj4ocHRyKSwgbGVuZ3RoKTsKKworICAgIFZlY3RvcjxVbmlDaGFyLCAxMDI0PiB1Y2hhckJ1
ZmZlcihsZW5ndGgpOworICAgIENGU3RyaW5nR2V0Q2hhcmFjdGVycyhzdHJpbmcsIENGUmFuZ2VN
YWtlKDAsIGxlbmd0aCksIHVjaGFyQnVmZmVyLmRhdGEoKSk7CisgICAgcmV0dXJuIGFkZChyZWlu
dGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4odWNoYXJCdWZmZXIuZGF0YSgpKSwgbGVuZ3RoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyBVU0UoQ0YpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNjkyNDY3
ODMwODZmNjk5NDNhOWQyMzc5YzdjNzlhZDY0ODQ0YmY2Mi4uMGQ1NzNmY2NmNTQxNDE4NWZjMTEz
N2Q1YjQzNjc5YzgzN2I3NzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMzA2LDcgKzMwNiw4IEBAIGJvb2wgSlNET01XaW5k
b3c6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRl
KiBleGVjLCB1CiAgICAgLy8gQWxsb3cgc2hvcnRjdXRzIGxpa2UgJ0ltYWdlMScgaW5zdGVhZCBv
ZiBkb2N1bWVudC5pbWFnZXMuSW1hZ2UxCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpc09i
amVjdC0+aW1wbCgpLmZyYW1lKCktPmRvY3VtZW50KCk7CiAgICAgaWYgKGlzPEhUTUxEb2N1bWVu
dD4oKmRvY3VtZW50KSkgewotICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9wZXJ0
eU5hbWUgPSBwcm9wZXJ0eU5hbWUuaW1wbCgpOworICAgICAgICBBU1NFUlQoIXByb3BlcnR5TmFt
ZS5pc1N5bWJvbCgpKTsKKyAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogYXRvbWljUHJvcGVydHlO
YW1lID0gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHByb3BlcnR5TmFtZS5pbXBsKCkp
OwogICAgICAgICBpZiAoYXRvbWljUHJvcGVydHlOYW1lICYmIGRvd25jYXN0PEhUTUxEb2N1bWVu
dD4oKmRvY3VtZW50KS5oYXNXaW5kb3dOYW1lZEl0ZW0oKmF0b21pY1Byb3BlcnR5TmFtZSkpIHsK
ICAgICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXNPYmplY3QsIFJlYWRPbmx5IHwgRG9udERl
bGV0ZSB8IERvbnRFbnVtLCBuYW1lZEl0ZW1HZXR0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3Ry
ZWFtUmVhZGVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFi
bGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwCmluZGV4IDg5OWYwOGVhNjcxZjYyYjFlMWExY2Q0ZjM3
MmE4YWQxYmIzMzI0ZTAuLmZkYmIzMjk4Yzg0NGU4NWNhMmE1MDJkNWFhYWUyZTgzYjQ2NTJlZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1S
ZWFkZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFi
bGVTdHJlYW1SZWFkZXJDdXN0b20uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBKU1Byb21p
c2VEZWZlcnJlZCogZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KEV4ZWNTdGF0
ZSogZXhlYywKIAogc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUmIGNsb3NlZFByb21pc2VTbG90TmFt
ZSgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IGNsb3Nl
ZFByb21pc2VTbG90TmFtZSgiY2xvc2VkUHJvbWlzZSIpOworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxKU0M6OlByaXZhdGVOYW1lPiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoSlNDOjpQcml2YXRl
TmFtZTo6RGVzY3JpcHRpb24sICJjbG9zZWRQcm9taXNlIik7CiAgICAgcmV0dXJuIGNsb3NlZFBy
b21pc2VTbG90TmFtZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZWUxNWJkNTBjNTIzZjYxMTI1ODU0NjJm
MzY3OTUxZGEwM2Y3N2RjZC4uYWEwZGFkZjA5ZDU0MDMwNDg2ZjljNzcxNzczY2YyMjYwN2FiZTE4
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCkBAIC05ODMsNyArOTgzLDcgQEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDog
Q2xvbmVCYXNlIHsKICAgICB2b2lkIHdyaXRlKGNvbnN0IElkZW50aWZpZXImIGlkZW50KQogICAg
IHsKICAgICAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBpZGVudC5zdHJpbmcoKTsKLSAgICAgICAg
U3RyaW5nQ29uc3RhbnRQb29sOjpBZGRSZXN1bHQgYWRkUmVzdWx0ID0gbV9jb25zdGFudFBvb2wu
YWRkKHN0ci5pbXBsKCksIG1fY29uc3RhbnRQb29sLnNpemUoKSk7CisgICAgICAgIFN0cmluZ0Nv
bnN0YW50UG9vbDo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IG1fY29uc3RhbnRQb29sLmFkZChpZGVu
dC5pbXBsKCksIG1fY29uc3RhbnRQb29sLnNpemUoKSk7CiAgICAgICAgIGlmICghYWRkUmVzdWx0
LmlzTmV3RW50cnkpIHsKICAgICAgICAgICAgIHdyaXRlKFN0cmluZ1Bvb2xUYWcpOwogICAgICAg
ICAgICAgd3JpdGVTdHJpbmdJbmRleChhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKQEAgLTEy
MTEsNyArMTIxMSw3IEBAIGNsYXNzIENsb25lU2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAg
T2JqZWN0UG9vbCBtX29iamVjdFBvb2w7CiAgICAgT2JqZWN0UG9vbCBtX3RyYW5zZmVycmVkTWVz
c2FnZVBvcnRzOwogICAgIE9iamVjdFBvb2wgbV90cmFuc2ZlcnJlZEFycmF5QnVmZmVyczsKLSAg
ICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCB1aW50MzJfdCwgSWRlbnRpZmll
clJlcEhhc2g+IFN0cmluZ0NvbnN0YW50UG9vbDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPiwgdWludDMyX3QsIElkZW50aWZpZXJSZXBIYXNoPiBTdHJpbmdD
b25zdGFudFBvb2w7CiAgICAgU3RyaW5nQ29uc3RhbnRQb29sIG1fY29uc3RhbnRQb29sOwogICAg
IElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1RyZWVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNw
cAppbmRleCA0MmFkOTIxYTRhNDEwY2I4NTI0NDM2YzExODU0ZGNlOGQ1YWI2ZTFiLi4zNjYxNmY4
YThlMWQ5NWU2NjA0OTdlNWNiZDgxMTc3NGIxNzZjMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVHJlZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3Bl
LmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIEVsZW1lbnQqIFRyZWVTY29wZTo6Z2V0RWxlbWVudEJ5
SWQoY29uc3QgU3RyaW5nJiBlbGVtZW50SWQpIGNvbnN0CiAgICAgaWYgKCFtX2VsZW1lbnRzQnlJ
ZCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoQXRvbWljU3RyaW5nSW1wbCog
YXRvbWljRWxlbWVudElkID0gQXRvbWljU3RyaW5nOjpmaW5kKGVsZW1lbnRJZC5pbXBsKCkpKQor
ICAgIGlmIChBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNFbGVtZW50SWQgPSBBdG9taWNTdHJpbmdJ
bXBsOjpsb29rdXAoZWxlbWVudElkLmltcGwoKSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnRz
QnlJZC0+Z2V0RWxlbWVudEJ5SWQoKmF0b21pY0VsZW1lbnRJZCwgKnRoaXMpOwogCiAgICAgcmV0
dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggZGJiYWRhNmExMTdmMDY2MzAyZjFmMGI0OGI5ZmMyNjJkMWYxOWRhMy4uYjUzZDU5
Yzc5MzM4MmUwNDRmNDM1MjdjM2QxZTU5NjU4ZDRkMzA2MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTEy
ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIEludHJv
ZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBhcmF0ZSBzeW1ib2xp
YyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFVuaXF1ZWRTdHJpbmdJbXBsLCBTeW1ib2xJbXBs
IGFuZCBBdG9taWNTdHJpbmdJbXBsLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAx
NS0wNS0xMiAgUGVyIEFybmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAg
Rml4IHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBzdGVwIG9uIHRoZSBXaW5DYWlybyBib3QKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAKaW5kZXggMDkyY2M0
N2Y5MDE2YWZiZDJiNDY4MmIyNjBlYTU1ODMwOTM2NDQ4My4uMTAwZDBmNGZlZWVkNDRlMTJkNzAx
NzZlMjE4MTAxODA1MjJlYjMwNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvU3RyaW5nSW1wbC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
U3RyaW5nSW1wbC5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5
bWJvbEltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkgewpAQCAtNTA5LDcgKzUwOSw3IEBACiAgICAgQVNTRVJUX1RSVUUocmVm
ZXJlbmNlLT5pc1N5bWJvbCgpKTsKICAgICBBU1NFUlRfRkFMU0UocmVmZXJlbmNlLT5pc0F0b21p
YygpKTsKIAotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBhdG9taWMgPSBBdG9taWNTdHJpbmc6OmFk
ZChyZWZlcmVuY2UuZ2V0KCkpOworICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBhdG9taWMgPSBBdG9t
aWNTdHJpbmdJbXBsOjphZGQocmVmZXJlbmNlLmdldCgpKTsKICAgICBBU1NFUlRfVFJVRShhdG9t
aWMtPmlzQXRvbWljKCkpOwogICAgIEFTU0VSVF9GQUxTRShhdG9taWMtPmlzU3ltYm9sKCkpOwog
ICAgIEFTU0VSVF9UUlVFKHJlZmVyZW5jZS0+aXNTeW1ib2woKSk7CkBAIC01MjIsNyArNTIyLDcg
QEAKICAgICBBU1NFUlRfVFJVRShyZWZlcmVuY2UtPmlzU3ltYm9sKCkpOwogICAgIEFTU0VSVF9G
QUxTRShyZWZlcmVuY2UtPmlzQXRvbWljKCkpOwogCi0gICAgUmVmUHRyPFN0cmluZ0ltcGw+IGF0
b21pYyA9IEF0b21pY1N0cmluZzo6YWRkKHJlZmVyZW5jZS5nZXQoKSk7CisgICAgUmVmUHRyPFN0
cmluZ0ltcGw+IGF0b21pYyA9IEF0b21pY1N0cmluZ0ltcGw6OmFkZChyZWZlcmVuY2UuZ2V0KCkp
OwogICAgIEFTU0VSVF9UUlVFKGF0b21pYy0+aXNBdG9taWMoKSk7CiAgICAgQVNTRVJUX0ZBTFNF
KGF0b21pYy0+aXNTeW1ib2woKSk7CiAgICAgQVNTRVJUX1RSVUUocmVmZXJlbmNlLT5pc1N5bWJv
bCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253445</attachid>
            <date>2015-05-20 10:24:26 -0700</date>
            <delta_ts>2015-05-20 11:03:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150521022422.patch</filename>
            <type>text/plain</type>
            <size>162385</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDgzMzAyNmRmZjcwYTBlN2EyYmY5MWZiMmFmYmZkZTJiZGFlNDhmLi43N2I3OGM2NDYyN2NmZDVj
ZThiZjE4NzhiNGM3ZjI0MjMwNjkwNDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjIgQEAKKzIwMTUtMDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6
OkNvbXBsZXhHZXRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvbXBs
ZXhHZXRTdGF0dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcDoKKyAg
ICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAgICAgIChK
U0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3Rh
dHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9JbnN0cnVjdGlvbi5oOgorICAgICAgICAoSlNDOjpJ
bnN0cnVjdGlvbjo6SW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToK
KyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6
OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUv
UHV0QnlJZFN0YXR1cy5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRv
cik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFtZUZvclBhcmFt
ZXRlcik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpoYXNDb25zdGFudCk6Cisg
ICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjphZGRDb25zdGFudCk6CisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OlByb3BlcnR5TGlzdE5vZGU6OmVtaXRC
eXRlY29kZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6OkRG
Rzo6Qnl0ZUNvZGVQYXJzZXI6OklubGluZVN0YWNrRW50cnk6OklubGluZVN0YWNrRW50cnkpOgor
ICAgICAgICAqIGRmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OkRlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5KToKKyAgICAgICAgKEpTQzo6REZHOjpE
ZXNpcmVkSWRlbnRpZmllcnM6OmF0KToKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkSWRlbnRp
ZmllcnM6OnJlYWxseUFkZCk6CisgICAgICAgICogZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5o
OgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6b3BlcmF0b3JbXSk6Cisg
ICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVw
UGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6aXNTdHJp
bmdQcm90b3R5cGVNZXRob2RTYW5lKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlSW4pOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1
bGF0aXZlSklUOjppZGVudGlmaWVyVUlEKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTENvbXBpbGUuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6Om1tQWxsb2NhdGVEYXRhU2VjdGlvbik6CisgICAgICAgICogZnRsL0ZU
TElubGluZUNhY2hlRGVzY3JpcHRvci5oOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hl
RGVzY3JpcHRvcjo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3I6OnVpZCk6CisgICAgICAgIChKU0M6OkZUTDo6R2V0QnlJZERl
c2NyaXB0b3I6OkdldEJ5SWREZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpQdXRCeUlk
RGVzY3JpcHRvcjo6UHV0QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OkNoZWNr
SW5EZXNjcmlwdG9yOjpDaGVja0luRGVzY3JpcHRvcik6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlUHV0QnlJZCk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVJbik6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmdldEJ5SWQpOgorICAgICAgICAqIGZ0bC9GVExTbG93UGF0
aENhbGwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGZ0bC9GVExTbG93UGF0aENhbGwuaDoKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgICog
aml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKToKKyAg
ICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuaDoKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuY3BwOgorICAgICAgICAoSlNDOjpQcm9ncmFt
Tm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGVOb2RlOjpjYXB0dXJlcyk6CisgICAgICAgIChKU0M6OlNjb3BlTm9k
ZTo6c2V0Q2xvc2VkVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6UHJvZ3JhbU5vZGU6OmNsb3Nl
ZFZhcmlhYmxlcyk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoK
KyAgICAgICAgKEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAg
KEpTQzo6U2NvcGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFy
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAg
ICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6
U2NvcGU6OnVzZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZh
cmlhYmxlc1RvVmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChK
U0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAg
KEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJz
Ojppc1ByaXZhdGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6
CisgICAgICAgICogcnVudGltZS9JZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXI6OmltcGwpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZpZXJSZXBIYXNoOjpo
YXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OklkZW50aWZpZXI6OmZyb21VaWQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRTdHJ1
Y3R1cmVDaGFpbi5jcHA6CisgICAgICAgIChKU0M6OkludGVuZGVkU3RydWN0dXJlQ2hhaW46Om1h
eUludGVyY2VwdFN0b3JlVG8pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVD
aGFpbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoK
KyAgICAgICAgKEpTQzo6SGFzaFRhYmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBE
YXRhLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChKU0M6Om9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAg
KiBydW50aW1lL1ByaXZhdGVOYW1lLmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2
YXRlTmFtZSk6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1
bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5
TmFtZS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAg
ICAgIChKU0M6OlByb3BlcnR5TmFtZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1l
OjpwdWJsaWNOYW1lKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVu
dGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJh
eTo6YWRkS25vd25VbmlxdWUpOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRk
KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVj
dHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFpbnMpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGU6OmdldCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwpOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50
bHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseSk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6YWRkKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpyZW1vdmUp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChKU0M6OlByb3BlcnR5
TWFwRW50cnk6OlByb3BlcnR5TWFwRW50cnkpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJl
SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseSk6Cisg
ICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaDoKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50
aW1lL1N5bWJvbC5jcHA6CisgICAgICAgIChKU0M6OlN5bWJvbDo6U3ltYm9sKToKKyAgICAgICAg
KiBydW50aW1lL1N5bWJvbC5oOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpzeW1ib2xDb25zdHJ1Y3RvckZvcik6CisgICAgICAgIChKU0M6
OnN5bWJvbENvbnN0cnVjdG9yS2V5Rm9yKToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxl
LmNwcDoKKyAgICAgICAgKEpTQzo6U3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUpOgor
ICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZTo6Z2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKToKKyAg
ICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlLmg6CisgICAgICAgICogcnVudGltZS9UeXBlU2V0
LmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5KToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCk6CisgICAgICAgICogcnVudGlt
ZS9UeXBlU2V0Lmg6CisKIDIwMTUtMDUtMTkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODQ2MTMgYW5k
IHIxODQ2MTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCmluZGV4IDU4YWQxODhhMjg5MWRhN2RhM2ZmMmZlMjgwZmMyM2VhMWEzZjI2YmEu
LmY5MzAwNDczZjY3MjJjMTcwM2Y1MGYzODc3MTk3M2EzNWVlNmQwOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NTQgQEAKKzIwMTUtMDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRv
IHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBoZSBjdXJyZW50IEF0b21p
Y1N0cmluZ0ltcGwgYWNjaWRlbnRhbGx5IG1lYW5zIHRoZSBzeW1ib2wgT1IgYXRvbWljIFN0cmlu
Z0ltcGwuCisgICAgICAgIHQncyBub3QgY29ycmVjdCB0byBpdHMgbmFtZSBhbmQgaXQncyBlcnJv
ciBwcm9uZS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSdsbCBpbnRyb2R1Y2UvY2hhbmdl
cyBjbGFzc2VzIGludG8gV1RGLgorCisgICAgICAgIDEuIFVuaXF1ZWRTdHJpbmdJbXBsCisgICAg
ICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFN0cmluZ0ltcGwuIEFuZCBpdCByZXByZXNlbnRz
IHN5bWJvbCB8fCBhdG9taWMgU3RyaW5nSW1wbC4KKworICAgICAgICAyLiBTeW1ib2xJbXBsCisg
ICAgICAgIEl0J3MgZGVyaXZlZCBjbGFzcyBmcm9tIFVuaXF1ZWRTdHJpbmdJbXBsLiBPbmx5IHN5
bWJvbCBzdHJpbmdzIGNhbiBiZWNvbWUgdGhpcy4KKyAgICAgICAgSXQgZW5zdXJlcyB0aGUgZ2l2
ZW4gU3RyaW5nSW1wbCBpcyBzeW1ib2wgaW4gY29tcGlsZSB0aW1lLgorCisgICAgICAgIDMuIEF0
b21pY1N0cmluZ0ltcGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZyb20gVW5pcXVlZFN0
cmluZ0ltcGwuIE9ubHkgYXRvbWljIChub24tbm9ybWFsICYmIG5vbi1zeW1ib2wpIHN0cmluZ3Mg
Y2FuIGJlY29tZSB0aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJpbmdJbXBs
IGlzIGF0b21pYyBpbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAgQW5kLCBpbiB0aGlzIHRpbWUs
IEkganVzdCBhY2NlcHQgVW5pcXVlU3RyaW5nSW1wbCBpbiBBdG9taWNTdHJpbmcuIEFzIHRoZSBy
ZXN1bHQsCisgICAgICAgIDEuIE5vdyBBdG9taWNTdHJpbmdJbXBsIGlzc3VlIGlzIGZpeGVkLiBJ
dHMgU3ltYm9sSW1wbCBpcyBzZXBhcmF0ZWQgYW5kIFVuaXF1ZWRTdHJpbmdJbXBsIGlzIGludHJv
ZHVjZWQuCisgICAgICAgIDIuIEJ1dCBBdG9taWNTdHJpbmcgc3RpbGwgaGF2ZSBib3RoIHN5bWJv
bCBhbmQgYXRvbWljIHN0cmluZ3MuCisgICAgICAgIFRoaXMgc2hvdWxkIGJlIHNvbHZlZCBpbiB0
aGUgc2VwYXJhdGVkIHBhdGNoLgorCisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2o6
CisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBX
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogd3RmL1ByaW50U3RyZWFtLmNwcDoKKyAgICAgICAgKiB3dGYvUHJpbnRT
dHJlYW0uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6QXRvbWljU3Ry
aW5nKToKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg6CisgICAgICAgICog
d3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6On5TdHJp
bmdJbXBsKToKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKToKKyAgICAg
ICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkpOgorICAgICAgICAqIHd0Zi90
ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TeW1ib2xJbXBsLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmguCisgICAg
ICAgICogd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwOgorICAgICAgICAoV1RGOjpTeW1ib2xS
ZWdpc3RyeTo6c3ltYm9sRm9yS2V5KToKKyAgICAgICAgKFdURjo6U3ltYm9sUmVnaXN0cnk6Omtl
eUZvclN5bWJvbCk6CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUpOgorICAg
ICAgICAqIHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg6CisgICAgICAgICogd3RmL3RleHQvVW5p
cXVlZFN0cmluZ0ltcGwuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJpdmF0ZU5hbWUuaC4KKwogMjAxNS0wNS0xOSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgR2l2ZSBTdHJpbmdWaWV3IGEgdXRmOCgpIEFQSS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA5MzQxNmQ4MTRkOTEwNTdmMmI0ZDZiMmVkMDgyMDM5NWMxMzY0NzM5Li5mN2EwNGJi
YjI0NmMwNjE1NTE3ODI3YjJkYTQ4ODU2ZmUwNzAwYTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTUtMDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRv
IHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVlZFN0cmlu
Z0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvdzo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbG9z
ZWRQcm9taXNlU2xvdE5hbWUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OndyaXRlKToK
KwogMjAxNS0wNS0yMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTg0NDIwKTogW0dUS10gd2Via2l0X2RvbV9odG1sX2Vs
ZW1lbnRfZ2V0X2NoaWxkcmVuIGhhcyBiZWVuIHJlbW92ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggZWE0Y2ZhZmQ3YzNlYjhlYTZjZTczZjIz
MTZkNDdkOGVjNGNlNWU3MS4uMzNiNDI2MmU2MjAxNzRjZDdiY2Q0NzFjNTBhNjkzYTlmNDBiNGEw
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAg
LTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgSlNDYWxsYmFja09iamVjdERhdGEgewogICAgICAgICB9
CiAKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0lt
cGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJv
cGVydHlNYXA7CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0lt
cGw+LCBXcml0ZUJhcnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJv
cGVydHlNYXA7CiAgICAgICAgIFByaXZhdGVQcm9wZXJ0eU1hcCBtX3Byb3BlcnR5TWFwOwogICAg
IH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTUHJpdmF0ZVByb3BlcnR5TWFwPiBtX3ByaXZhdGVQ
cm9wZXJ0aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oCmluZGV4IDc5YWNjMTRkYjE0ODNhMmZmYWIyMThiNGYzYzMyMDg2NjYzYzM0ODMuLmUyM2Y4
MGE3NTlkOTk3ZWM2ZmJkOGY4NjQ0NzZkODdmY2IwZWYzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTM3LDcgKzM3LDcgQEAKICAgICBj
b25zdCBJZGVudGlmaWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25h
bWU7IH0gXAogICAgIGNvbnN0IElkZW50aWZpZXImIG5hbWUjI1ByaXZhdGVOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV8jI25hbWUjI1ByaXZhdGVOYW1lOyB9CiAKLSNkZWZpbmUgSU5JVElBTElTRV9C
VUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMj
bmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoQVNDSUlMaXRlcmFs
KCJTeW1ib2wuIiAjbmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMo
bmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElk
ZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoUHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBB
U0NJSUxpdGVyYWwoIlN5bWJvbC4iICNuYW1lKSkpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5f
U1lNQk9MUyhuYW1lKSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkgY29uc3QgSWRlbnRpZmll
ciBtXyMjbmFtZSMjU3ltYm9sOwogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VT
U09SKG5hbWUpIFwKICAgICBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUihuYW1l
KSBcCkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAgICAgICAgIEpTQ19D
T01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJ
U0VfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgfQogCi0gICAgYm9vbCBpc1ByaXZhdGVO
YW1lKFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN5bWJv
bEltcGwmIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJ
bXBsJiB1aWQpIGNvbnN0OwogICAgIGJvb2wgaXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVy
JikgY29uc3Q7CiAgICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRl
bnRpZmllciYpIGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGdldFB1YmxpY05hbWUoY29u
c3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtNzgsNyArNzksNyBAQCBjbGFzcyBCdWlsdGluTmFt
ZXMgewogICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxU
SU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVS
VFlfTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMp
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmll
ciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CisgICAgdHlwZWRlZiBIYXNo
TWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlm
aWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1Ymxp
Y1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7
CiB9OwpAQCAtOTAsMTYgKzkxLDIxIEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAjdW5kZWYgSU5J
VElBTElTRV9CVUlMVElOX1NZTUJPTFMKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FD
Q0VTU09SCiAKLWlubGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTdHJpbmdJ
bXBsKiB1aWQpIGNvbnN0CitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUo
U3ltYm9sSW1wbCYgdWlkKSBjb25zdAogewotICAgIGlmICghdWlkLT5pc1N5bWJvbCgpKQorICAg
IHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsKK30KKworaW5saW5l
IGJvb2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQp
IGNvbnN0Cit7CisgICAgaWYgKCF1aWQuaXNTeW1ib2woKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIHJldHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucyh1aWQpOworICAgIHJl
dHVybiBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsKIH0KIAogaW5saW5lIGJv
b2wgQnVpbHRpbk5hbWVzOjppc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBj
b25zdAogewotICAgIHJldHVybiBpc1ByaXZhdGVOYW1lKGlkZW50LmltcGwoKSk7CisgICAgcmV0
dXJuIGlzUHJpdmF0ZU5hbWUoKmlkZW50LmltcGwoKSk7CiB9CiAKIGlubGluZSBjb25zdCBJZGVu
dGlmaWVyKiBCdWlsdGluTmFtZXM6OmdldFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlk
ZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKaW5kZXggODMxYmM2NjhkYjk0Mzc1NjYzOWJi
NGNmZjFiMzQ3MzdjOGJlMmI0Yi4uODdhNTc4YzE2YzMwYTMzNDcwMTQ1MTU2ZTVkMWM3YjdiYTEz
MmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
SW50cmluc2ljUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIEJ5dGVj
b2RlSW50cmluc2ljUmVnaXN0cnkgewogCiBwcml2YXRlOgogICAgIGNvbnN0IENvbW1vbklkZW50
aWZpZXJzJiBtX3Byb3BlcnR5TmFtZXM7Ci0gICAgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4s
IEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsK
KyAgICBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVu
dGlmaWVyUmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApp
bmRleCA4ZmZkZWMyMmM1YWEyNDQ2ZWFjNWI0NTExYmUxNGE2NjUzYzY1OTFkLi5mZmQ5YjliNWE4
NzE0NWVmNzk0YTc0NjNjZDM0Y2U1YjgxN2ExYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgPHd0
Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0
cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJMRShERkdfSklUKQogI2luY2x1ZGUgIkRGR09wZXJhdGlv
bnMuaCIKQEAgLTIwMjIsNyArMjAyMyw3IEBAIGNsYXNzIFB1dFRvU2NvcGVGaXJlRGV0YWlsIDog
cHVibGljIEZpcmVEZXRhaWwgewogICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocGNbMl0udS5vcGVyYW5kKSAhPSBVSU5UX01BWCkgewogICAgICAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChkaWRDbG9uZVN5bWJvbFRhYmxlKTsKICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKHBjWzJdLnUub3BlcmFuZCk7
Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsKKyAg
ICAgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsK
ICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9zeW1ib2xU
YWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGU6Ok1hcDo6aXRl
cmF0b3IgaXRlciA9IG1fc3ltYm9sVGFibGUtPmZpbmQobG9ja2VyLCB1aWQpOwogICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoaXRlciAhPSBtX3N5bWJvbFRhYmxlLT5lbmQobG9ja2VyKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5j
cHAKaW5kZXggMDQyZGNlYzc3ZWZkYzIwYzEzMjVlZDI3YzhkNzk5ZTczNzdmNjQ5Ny4uZDgxM2Ez
ZDY1N2VjYWNkOTdkOGYxMGUwODYwNjQzNjc2MWJjZTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVzLmNwcApAQCAtMzIsNyArMzIs
NyBAQAogCiBDb21wbGV4R2V0U3RhdHVzIENvbXBsZXhHZXRTdGF0dXM6OmNvbXB1dGVGb3IoCiAg
ICAgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIFN0
cnVjdHVyZUNoYWluKiBjaGFpbiwKLSAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQpCisgICAgdW5zaWduZWQgY2hhaW5Db3VudCwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0IHdlIG5ldmVyIHNl
ZSBhIHN0cnVjdHVyZSB0aGF0CiAgICAgLy8gaGFzSW1wdXJlR2V0T3duUHJvcGVydHlTbG90KCkg
YnV0IGZvciB3aGljaCB3ZSBkb24ndApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db21wbGV4R2V0U3RhdHVzLmgKaW5kZXggMTE1YmYzY2U0MWY1MDhjMTY3ZDgwZDE0YWQx
ZTg0YThlZjkwMGMzMy4uMjYyMDQwNWE5NmY5Nzk4NTAxMzQxMzgwNmM2YzQyNTFlZTRkM2QyOCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0
dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1
cy5oCkBAIC05OCw3ICs5OCw3IEBAIGNsYXNzIENvbXBsZXhHZXRTdGF0dXMgewogICAgIAogICAg
IHN0YXRpYyBDb21wbGV4R2V0U3RhdHVzIGNvbXB1dGVGb3IoCiAgICAgICAgIENvZGVCbG9jayog
cHJvZmlsZWRCbG9jaywgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiog
Y2hhaW4sCi0gICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCk7CisgICAgICAgIHVuc2lnbmVkIGNoYWluQ291bnQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OwogICAgIAogICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIHVu
c2lnbmVkIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAppbmRleCBi
ZjI4YzU1OWE2YjA5NjZlZWFlY2VkZGUyMTQ1NDVkZDc4NWU4YzFjLi4zMGMyMjA0N2UyNWM0MTVm
MjY4NmY1NTk4NDM5MDA3ZGIxNjc5MzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCkBAIC02Niw3ICs2Niw3IEBAIGJvb2wgR2V0QnlJ
ZFN0YXR1czo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBD
b2RlQmxvY2sqIHByCiB9CiAjZW5kaWYKIAotR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpj
b21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNv
ZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3Rh
dHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURfUEFS
QU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwpAQCAt
OTEsNyArOTEsNyBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJ
bnQoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25lZAogICAgIHJldHVybiBHZXRCeUlk
U3RhdHVzKFNpbXBsZSwgZmFsc2UsIEdldEJ5SWRWYXJpYW50KFN0cnVjdHVyZVNldChzdHJ1Y3R1
cmUpLCBvZmZzZXQpKTsKIH0KIAotR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBHZXRC
eUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9N
YXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
IHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihwcm9maWxlZEJsb2NrLT5tX2xvY2sp
OwogCkBAIC0xMTgsNyArMTE4LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KIAogI2lmIEVO
QUJMRShKSVQpCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5m
bygKLSAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBBdG9taWNTdHJpbmdJbXBs
KiB1aWQsCisgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sq
IHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCwKICAgICBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0
ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4pCkBAIC0yMjQs
NyArMjI0LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1Yklu
Zm8oCiAKIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICBDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBi
YXNlbGluZU1hcCwKLSAgICBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmln
aW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKKyAgICBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAjaWYgRU5BQkxF
KERGR19KSVQpCiAgICAgaWYgKGRmZ0Jsb2NrKSB7CkBAIC0yNjIsNyArMjYyLDcgQEAgR2V0QnlJ
ZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAogICAgIHJldHVybiBjb21wdXRlRm9y
KHByb2ZpbGVkQmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVp
ZCk7CiB9CiAKLUdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihjb25zdCBT
dHJ1Y3R1cmVTZXQmIHNldCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0LCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIC8vIEZvciBub3cgd2Ugb25seSBoYW5kbGUgdGhlIHN1
cGVyIHNpbXBsZSBzZWxmIGFjY2VzcyBjYXNlLiBXZSBjb3VsZCBoYW5kbGUgdGhlCiAgICAgLy8g
cHJvdG90eXBlIGNhc2UgaW4gdGhlIGZ1dHVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCmluZGV4IDI3YmZiODhmNGMxMmQ3NmI2MjkyODVmMWNh
ZDIzZjI2Y2FiZDVlYzguLjdkNGViYjIyY2ZkNWE4YWM4ZWJhYjBjYmU1YjUyZjU0NjMxNjgyZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuaApA
QCAtNjcsMTAgKzY3LDEwIEBAIGNsYXNzIEdldEJ5SWRTdGF0dXMgewogICAgICAgICBtX3Zhcmlh
bnRzLmFwcGVuZCh2YXJpYW50KTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIEdldEJ5SWRTdGF0
dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMg
Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOwor
ICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9N
YXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKKyAg
ICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yKGNvbnN0IFN0cnVjdHVyZVNldCYsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNv
bXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBT
dHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4s
IEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0
ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJ
bmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05Nyw5ICs5Nyw5IEBAIGNsYXNzIEdldEJ5SWRTdGF0
dXMgewogI2lmIEVOQUJMRShKSVQpCiAgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZv
clN0dWJJbmZvKAogICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2Nr
KiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyosCi0gICAgICAgIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCwgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSk7CisgICAgICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOwogI2VuZGlm
Ci0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1
bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRp
YyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0
ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgYm9vbCBhcHBl
bmRWYXJpYW50KGNvbnN0IEdldEJ5SWRWYXJpYW50Jik7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4IGI0MmU0MjkxOGFhZjc0NmM5Mzk2
MDliOWJkMWUyZjk5ZDA2YjRmOTcuLmMyMGE0ZjcyODRlYzFjNTgxODg0ODYwMjJiMDliZDY0MGMy
MzExNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVj
dGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5o
CkBAIC0xMDAsNyArMTAwLDcgQEAgc3RydWN0IEluc3RydWN0aW9uIHsKICAgICBJbnN0cnVjdGlv
bihPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSogcHJvZmlsZSkgeyB1Lm9iamVjdEFsbG9jYXRpb25Q
cm9maWxlID0gcHJvZmlsZTsgfQogICAgIEluc3RydWN0aW9uKFdyaXRlQmFycmllcjxVbmtub3du
PiogdmFyaWFibGVQb2ludGVyKSB7IHUudmFyaWFibGVQb2ludGVyID0gdmFyaWFibGVQb2ludGVy
OyB9CiAgICAgSW5zdHJ1Y3Rpb24oU3BlY2lhbDo6UG9pbnRlciBwb2ludGVyKSB7IHUuc3BlY2lh
bFBvaW50ZXIgPSBwb2ludGVyOyB9Ci0gICAgSW5zdHJ1Y3Rpb24oU3RyaW5nSW1wbCogdWlkKSB7
IHUudWlkID0gdWlkOyB9CisgICAgSW5zdHJ1Y3Rpb24oVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkg
eyB1LnVpZCA9IHVpZDsgfQogICAgIEluc3RydWN0aW9uKGJvb2wqIHByZWRpY2F0ZVBvaW50ZXIp
IHsgdS5wcmVkaWNhdGVQb2ludGVyID0gcHJlZGljYXRlUG9pbnRlcjsgfQogCiAgICAgdW5pb24g
ewpAQCAtMTE0LDcgKzExNCw3IEBAIHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAgICAgICAgIFNwZWNp
YWw6OlBvaW50ZXIgc3BlY2lhbFBvaW50ZXI7CiAgICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGdldHRlckZ1bmM7CiAgICAgICAgIExMSW50Q2FsbExpbmtJbmZvKiBjYWxsTGlua0lu
Zm87Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZDsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZDsKICAgICAgICAgVmFsdWVQcm9maWxlKiBwcm9maWxlOwogICAgICAgICBBcnJheVByb2Zp
bGUqIGFycmF5UHJvZmlsZTsKICAgICAgICAgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSogYXJyYXlB
bGxvY2F0aW9uUHJvZmlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9QdXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
dXRCeUlkU3RhdHVzLmNwcAppbmRleCA3ZWMwYmE0MzBlNjZmNzQxODMzOWQ5ODM0ZjVmNjJhYjFj
NmU5ZjkwLi4yNGQ3YjQ0ZTQ1N2JhNmE2MDVhM2MxYzJjNWY5N2U3ODE0ZWI2NzkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkBAIC02
Miw3ICs2Miw3IEBAIGJvb2wgUHV0QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByCiB9CiAjZW5kaWYKIAotUHV0QnlJ
ZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQor
UHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayog
cHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BB
UkFNKGJ5dGVjb2RlSW5kZXgpOwpAQCAtMTA1LDcgKzEwNSw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0
QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVu
c2lnbmVkCiAgICAgcmV0dXJuIFB1dEJ5SWRWYXJpYW50Ojp0cmFuc2l0aW9uKHN0cnVjdHVyZSwg
bmV3U3RydWN0dXJlLCBpbnRlbmRlZENoYWluLmdldCgpLCBvZmZzZXQpOwogfQogCi1QdXRCeUlk
U3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2Nr
LCBTdHViSW5mb01hcCYgbWFwLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJ
bXBsKiB1aWQpCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJs
b2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFwLCB1bnNpZ25lZCBieXRlY29kZUlu
ZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIENvbmN1cnJlbnRKSVRMb2NrZXIg
bG9ja2VyKHByb2ZpbGVkQmxvY2stPm1fbG9jayk7CiAgICAgCkBAIC0xMzQsNyArMTM0LDcgQEAg
UHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICNpZiBFTkFCTEUoSklUKQogUHV0QnlJZFN0YXR1cyBQ
dXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiAgICAgY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVz
OjpFeGl0U2l0ZURhdGEgY2FsbEV4aXRTaXRlRGF0YSkKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkLCBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCiB7CiAg
ICAgaWYgKCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJldHVybiBQdXRC
eUlkU3RhdHVzKCk7CkBAIC0yNzQsNyArMjc0LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3Rh
dHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiB9CiAjZW5kaWYKIAotUHV0QnlJZFN0YXR1cyBQdXRC
eUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2Nr
KiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFw
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1B1dEJ5SWRT
dGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ss
IENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9N
YXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
KQogewogI2lmIEVOQUJMRShERkdfSklUKQogICAgIGlmIChkZmdCbG9jaykgewpAQCAtMzA4LDcg
KzMwOCw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxv
Y2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnCiAgICAgcmV0dXJuIGNvbXB1dGVGb3Io
YmFzZWxpbmVCbG9jaywgYmFzZWxpbmVNYXAsIGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwgdWlk
KTsKIH0KIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0LCBBdG9taWNTdHJp
bmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6
OmNvbXB1dGVGb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJl
U2V0JiBzZXQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpCiB7CiAgICAg
aWYgKHBhcnNlSW5kZXgoKnVpZCkpCiAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2Vz
U2xvd1BhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1
dEJ5SWRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmgKaW5kZXggZjU1MzYyZTEzZDkzYjc3YThiY2RmM2VmYmQ5ZjFmZTE1YzZlN2E0YS4uMDQ2
MWRjNGQ2ZmQyZjM1Yzg2NzQxYjA3NDJmNWM2OTJmMmNiMTNmMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCkBAIC03MCwxMCArNzAsMTAgQEAg
Y2xhc3MgUHV0QnlJZFN0YXR1cyB7CiAgICAgICAgIG1fdmFyaWFudHMuYXBwZW5kKHZhcmlhbnQp
OwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVC
bG9jayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5n
SW1wbCogdWlkKTsKLSAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RydWN0dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCBib29s
IGlzRGlyZWN0KTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9j
ayosIFN0dWJJbmZvTWFwJiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihKU0dsb2JhbE9i
amVjdCosIGNvbnN0IFN0cnVjdHVyZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIGJvb2wg
aXNEaXJlY3QpOwogICAgIAotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29k
ZUJsb2NrKiBiYXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYg
YmFzZWxpbmVNYXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxv
Y2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNl
bGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCk7CiAgICAgCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRl
OyB9CiAgICAgCkBAIC05NiwxMCArOTYsMTAgQEAgY2xhc3MgUHV0QnlJZFN0YXR1cyB7CiAjZW5k
aWYKICNpZiBFTkFCTEUoSklUKQogICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JT
dHViSW5mbygKLSAgICAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLAorICAgICAgICBjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1YkluZm8qLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkLAogICAgICAgICBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVE
YXRhKTsKICNlbmRpZgotICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQo
Q29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlk
KTsKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayos
IHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAog
ICAgIGJvb2wgYXBwZW5kVmFyaWFudChjb25zdCBQdXRCeUlkVmFyaWFudCYpOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcAppbmRleCAxNGExZTk3NDQ1ZGNlNGRjNDllZTA2ZWFmM2IxZGRkZWMxZWQzY2Uz
Li4yZDY4YmU5OTZkOTBlZjc5NTgxMDM2NDkyZDllODM3NzViOGEwZDcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpn
ZW5lcmF0ZSgpCiAgICAgYm9vbCBzaG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MgPSBtX3Nob3Vs
ZEVtaXREZWJ1Z0hvb2tzIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwoKTsKICAgICBib29sIG5lZWRz
QXJndW1lbnRzID0gZnVuY3Rpb25Ob2RlLT51c2VzQXJndW1lbnRzKCkgfHwgY29kZUJsb2NrLT51
c2VzRXZhbCgpOwogICAgIAotICAgIGF1dG8gY2FwdHVyZXMgPSBbJl0gKFN0cmluZ0ltcGwqIHVp
ZCkgLT4gYm9vbCB7CisgICAgYXV0byBjYXB0dXJlcyA9IFsmXSAoVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCkgLT4gYm9vbCB7CiAgICAgICAgIGlmIChzaG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3Mp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKCFzaG91bGRDYXB0dXJlU29t
ZU9mVGhlVGhpbmdzKQpAQCAtMjI1LDcgKzIyNSw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTm9k
ZS0+Y2FwdHVyZXModWlkKTsKICAgICB9OwotICAgIGF1dG8gdmFyS2luZCA9IFsmXSAoU3RyaW5n
SW1wbCogdWlkKSAtPiBWYXJLaW5kIHsKKyAgICBhdXRvIHZhcktpbmQgPSBbJl0gKFVuaXF1ZWRT
dHJpbmdJbXBsKiB1aWQpIC0+IFZhcktpbmQgewogICAgICAgICByZXR1cm4gY2FwdHVyZXModWlk
KSA/IFZhcktpbmQ6OlNjb3BlIDogVmFyS2luZDo6U3RhY2s7CiAgICAgfTsKIApAQCAtMzE1LDcg
KzMxNSw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5zaXplKCk7ICsraSkg
ewogICAgICAgICAgICAgICAgIFNjb3BlT2Zmc2V0IG9mZnNldCA9IG1fc3ltYm9sVGFibGUtPnRh
a2VOZXh0U2NvcGVPZmZzZXQoKTsKICAgICAgICAgICAgICAgICBtX3N5bWJvbFRhYmxlLT5zZXRB
cmd1bWVudE9mZnNldCh2bSwgaSwgb2Zmc2V0KTsKLSAgICAgICAgICAgICAgICBpZiAoU3RyaW5n
SW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKSB7
CisgICAgICAgICAgICAgICAgaWYgKFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5h
bWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSkpIHsKICAgICAgICAgICAgICAgICAgICAg
VmFyT2Zmc2V0IHZhck9mZnNldChvZmZzZXQpOwogICAgICAgICAgICAgICAgICAgICBTeW1ib2xU
YWJsZUVudHJ5IGVudHJ5KHZhck9mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0b3Jl
cyB0byB0aGVzZSB2YXJpYWJsZXMgdmlhIHRoZSBTY29wZWRBcmd1bWVudHMgb2JqZWN0IHdpbGwg
bm90IGRvCkBAIC0zNDMsNyArMzQzLDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6
OmdlbmVyYXRlKCkKICAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHB1dCBhbGwgcGFyYW1l
dGVycyBpbnRvIHRoZSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0LiBGaXJzdCBlbnN1cmUKICAgICAg
ICAgICAgIC8vIHRoYXQgdGhlIHN5bWJvbCB0YWJsZSBrbm93cyB0aGF0IHRoaXMgaXMgaGFwcGVu
aW5nLgogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBpZiAoU3RyaW5nSW1wbCogbmFtZSA9IHZpc2li
bGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKQorICAgICAgICAgICAgICAgIGlm
IChVbmlxdWVkU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFt
ZXRlcnMuYXQoaSkpKQogICAgICAgICAgICAgICAgICAgICBtX3N5bWJvbFRhYmxlLT5zZXQobmFt
ZSwgU3ltYm9sVGFibGVFbnRyeShWYXJPZmZzZXQoRGlyZWN0QXJndW1lbnRzT2Zmc2V0KGkpKSkp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0zNTQsNyArMzU0LDcgQEAgUGFyc2Vy
RXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAgLy8gQ3JlYXRlIHRo
ZSBmb3JtYWwgcGFyYW1ldGVycyB0aGUgbm9ybWFsIHdheS4gQW55IG9mIHRoZW0gY291bGQgYmUg
Y2FwdHVyZWQsIG9yIG5vdC4gSWYKICAgICAgICAgLy8gY2FwdHVyZWQsIGxpZnQgdGhlbSBpbnRv
IHRoZSBzY29wZS4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFt
ZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7
CiAgICAgICAgICAgICBpZiAoIW5hbWUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgICAgICAKQEAgLTQ2Niw3ICs0NjYsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRv
cjo6Z2VuZXJhdGUoKQogICAgICAgICAKICAgICAgICAgYm9vbCBoYXZlUGFyYW1ldGVyTmFtZWRB
cmd1bWVudHMgPSBmYWxzZTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFt
ZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNp
YmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0ZXJzLmF0KGkpKTsKKyAgICAgICAgICAgIFVuaXF1
ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5h
dChpKSk7CiAgICAgICAgICAgICBpZiAobmFtZSA9PSBwcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRz
LmltcGwoKSkgewogICAgICAgICAgICAgICAgIGhhdmVQYXJhbWV0ZXJOYW1lZEFyZ3VtZW50cyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC01NDYsNyArNTQ2LDcgQEAgUmVnaXN0
ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCkKICAgICBy
ZXR1cm4gJnBhcmFtZXRlcjsKIH0KIAotU3RyaW5nSW1wbCogQnl0ZWNvZGVHZW5lcmF0b3I6OnZp
c2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqIHBhdHRlcm4p
CitVbmlxdWVkU3RyaW5nSW1wbCogQnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFy
YW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqIHBhdHRlcm4pCiB7CiAgICAgaWYgKHBh
dHRlcm4tPmlzQmluZGluZ05vZGUoKSkgewogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCA9IHN0YXRpY19jYXN0PGNvbnN0IEJpbmRpbmdOb2RlKj4ocGF0dGVybiktPmJvdW5kUHJvcGVy
dHkoKTsKQEAgLTk1NSwxMyArOTU1LDEzIEBAIHZvaWQgQUxXQVlTX0lOTElORSBCeXRlY29kZUdl
bmVyYXRvcjo6cmV3aW5kVW5hcnlPcCgpCiAKIGJvb2wgQnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0Nv
bnN0YW50KGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAogewotICAgIFN0cmluZ0ltcGwq
IHJlcCA9IGlkZW50LmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gaWRlbnQu
aW1wbCgpOwogICAgIHJldHVybiBtX2lkZW50aWZpZXJNYXAuY29udGFpbnMocmVwKTsKIH0KIAog
dW5zaWduZWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KGNvbnN0IElkZW50aWZpZXIm
IGlkZW50KQogewotICAgIFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKKyAgICBVbmlx
dWVkU3RyaW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOwogICAgIElkZW50aWZpZXJNYXA6OkFk
ZFJlc3VsdCByZXN1bHQgPSBtX2lkZW50aWZpZXJNYXAuYWRkKHJlcCwgbV9jb2RlQmxvY2stPm51
bWJlck9mSWRlbnRpZmllcnMoKSk7CiAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAg
ICBtX2NvZGVCbG9jay0+YWRkSWRlbnRpZmllcihpZGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggNDZm
OGUyNThhOWI0ZDMxZmMxZWI1ZDE1NzQzOTM0MzdiZjk2ZDJmZC4uNWYxMjY2MGU2NWM3Mzg2MDMx
NTI0MzEyY2UxMTYzZWQ5M2VkNTQyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNjI0LDcgKzYyNCw3IEBA
CiAgICAgICAgIHZvaWQgZW1pdENvbXBsZXhQb3BTY29wZXMoUmVnaXN0ZXJJRCosIENvbnRyb2xG
bG93Q29udGV4dCogdG9wU2NvcGUsIENvbnRyb2xGbG93Q29udGV4dCogYm90dG9tU2NvcGUpOwog
CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxkb3VibGUsIEpTVmFsdWU+IE51bWJlck1hcDsKLSAg
ICAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJS
ZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VW5p
cXVlZFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVy
U3RyaW5nTWFwOwogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VGVtcGxhdGVSZWdpc3RyeUtleSwg
SlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5Kj4gVGVtcGxhdGVSZWdpc3RyeUtleU1hcDsKICAgICAgICAg
CiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1pdENhbGwoKSBhbmQgZW1pdENvbnN0cnVjdCgpLiBU
aGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBvZgpAQCAtNjQ4LDcgKzY0OCw3IEBACiAKICAgICAg
ICAgLy8gSW5pdGlhbGl6ZXMgdGhlIHN0YWNrIGZvcm0gdGhlIHBhcmFtZXRlcjsgZG9lcyBub3Ro
aW5nIGZvciB0aGUgc3ltYm9sIHRhYmxlLgogICAgICAgICBSZWdpc3RlcklEKiBpbml0aWFsaXpl
TmV4dFBhcmFtZXRlcigpOwotICAgICAgICBTdHJpbmdJbXBsKiB2aXNpYmxlTmFtZUZvclBhcmFt
ZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKik7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKik7
CiAgICAgICAgIAogICAgICAgICBSZWdpc3RlcklEJiByZWdpc3RlckZvcihWaXJ0dWFsUmVnaXN0
ZXIgcmVnKQogICAgICAgICB7CkBAIC03MjYsNyArNzI2LDcgQEAKIAogICAgICAgICAvLyBTb21l
IG9mIHRoZXNlIG9iamVjdHMga2VlcCBwb2ludGVycyB0byBvbmUgYW5vdGhlci4gVGhleSBhcmUg
YXJyYW5nZWQKICAgICAgICAgLy8gdG8gZW5zdXJlIGEgc2FuZSBkZXN0cnVjdGlvbiBvcmRlciB0
aGF0IGF2b2lkcyByZWZlcmVuY2VzIHRvIGZyZWVkIG1lbW9yeS4KLSAgICAgICAgSGFzaFNldDxS
ZWZQdHI8U3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2Z1bmN0aW9uczsKKyAgICAg
ICAgSGFzaFNldDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4g
bV9mdW5jdGlvbnM7CiAgICAgICAgIFJlZ2lzdGVySUQgbV9pZ25vcmVkUmVzdWx0UmVnaXN0ZXI7
CiAgICAgICAgIFJlZ2lzdGVySUQgbV90aGlzUmVnaXN0ZXI7CiAgICAgICAgIFJlZ2lzdGVySUQg
bV9jYWxsZWVSZWdpc3RlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCA2NDMwMjM3ZGZmNGI1OWMyODRjNzQ4NjZmYzEx
YWQ5MGE2YzQ3MzA4Li42MTU5MTM4ZDZhNmYxZDMwOWVkZjNhNmFkN2M1MzYzYjdmNGMxZjkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwCkBAIC00NTAsNyArNDUwLDcgQEAgUmVnaXN0ZXJJRCogUHJvcGVydHlMaXN0Tm9kZTo6
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGUKICAgICAg
ICAgYm9vbCBoYXNDb21wdXRlZFByb3BlcnR5ID0gZmFsc2U7CiAKICAgICAgICAgdHlwZWRlZiBz
dGQ6OnBhaXI8UHJvcGVydHlOb2RlKiwgUHJvcGVydHlOb2RlKj4gR2V0dGVyU2V0dGVyUGFpcjsK
LSAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBHZXR0ZXJTZXR0ZXJQYWlyPiBH
ZXR0ZXJTZXR0ZXJNYXA7CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxVbmlxdWVkU3RyaW5nSW1w
bCosIEdldHRlclNldHRlclBhaXIsIElkZW50aWZpZXJSZXBIYXNoPiBHZXR0ZXJTZXR0ZXJNYXA7
CiAgICAgICAgIEdldHRlclNldHRlck1hcCBtYXA7CiAKICAgICAgICAgLy8gQnVpbGQgYSBtYXAs
IHBhaXJpbmcgZ2V0L3NldCB2YWx1ZXMgdG9nZXRoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDBhMmJlZGJiNzEwNjI3ZDYzOWFh
YTIyNzljZDJkN2Q0MmU3NmM3OGQuLjE1NzI3Nzk4YjIwMDkwNzc4MDg0ZWJiZGM0NzFjZGY5MDNl
NTQyMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCkBAIC0zMTI3LDcgKzMxMjcsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTm9kZSogYmFzZSA9IGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciA9IG1faW5saW5lU3RhY2tUb3AtPm1faWRlbnRpZmll
clJlbWFwW2N1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmRdOwogICAgICAgICAgICAgCi0g
ICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClb
aWRlbnRpZmllck51bWJlcl07CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0g
bV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgR2V0
QnlJZFN0YXR1cyBnZXRCeUlkU3RhdHVzID0gR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAg
ICAgICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1fZGZnQ29k
ZUJsb2NrLAogICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fc3R1YkluZm9zLCBt
X2RmZ1N0dWJJbmZvcywKQEAgLTM0ODksNyArMzQ4OSw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6
OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBpbnQgZHN0ID0gY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCBzY29wZSA9IGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlm
aWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBbY3VycmVudElu
c3RydWN0aW9uWzNdLnUub3BlcmFuZF07Ci0gICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1
aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CisgICAgICAgICAg
ICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZp
ZXJOdW1iZXJdOwogICAgICAgICAgICAgUmVzb2x2ZVR5cGUgcmVzb2x2ZVR5cGUgPSBSZXNvbHZl
TW9kZUFuZFR5cGUoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCkudHlwZSgpOwogCiAg
ICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IDA7CkBAIC0zNjMxLDExICszNjMxLDkg
QEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAg
ICAgICAgICAgICBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9pZGVudGlm
aWVyUmVtYXBbaWRlbnRpZmllck51bWJlcl07CiAgICAgICAgICAgICB1bnNpZ25lZCB2YWx1ZSA9
IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBSZXNvbHZlVHlw
ZSByZXNvbHZlVHlwZSA9IFJlc29sdmVNb2RlQW5kVHlwZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0u
dS5vcGVyYW5kKS50eXBlKCk7Ci0gICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQ7Cisg
ICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbnVsbHB0cjsKICAgICAgICAgICAg
IGlmIChpZGVudGlmaWVyTnVtYmVyICE9IFVJTlRfTUFYKQogICAgICAgICAgICAgICAgIHVpZCA9
IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtpZGVudGlmaWVyTnVtYmVyXTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICB1aWQgPSBudWxscHRyOwogICAgICAgICAgICAgCiAgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBXYXRjaHBv
aW50U2V0KiB3YXRjaHBvaW50cyA9IG51bGxwdHI7CkBAIC00MDQ4LDcgKzQwNDYsNyBAQCB2b2lk
IEJ5dGVDb2RlUGFyc2VyOjpidWlsZE9wZXJhbmRNYXBzSWZOZWNlc3NhcnkoKQogICAgICAgICBt
X3N3aXRjaFJlbWFwLnJlc2l6ZShjb2RlQmxvY2stPm51bWJlck9mU3dpdGNoSnVtcFRhYmxlcygp
KTsKIAogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvZGVCbG9jay0+bnVtYmVyT2ZJ
ZGVudGlmaWVycygpOyArK2kpIHsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlcCA9
IGNvZGVCbG9jay0+aWRlbnRpZmllcihpKS5pbXBsKCk7CisgICAgICAgICAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogcmVwID0gY29kZUJsb2NrLT5pZGVudGlmaWVyKGkpLmltcGwoKTsKICAgICAgICAg
ICAgIEJvcnJvd2VkSWRlbnRpZmllck1hcDo6QWRkUmVzdWx0IHJlc3VsdCA9IGJ5dGVDb2RlUGFy
c2VyLT5tX2lkZW50aWZpZXJNYXAuYWRkKHJlcCwgYnl0ZUNvZGVQYXJzZXItPm1fZ3JhcGguaWRl
bnRpZmllcnMoKS5udW1iZXJPZklkZW50aWZpZXJzKCkpOwogICAgICAgICAgICAgaWYgKHJlc3Vs
dC5pc05ld0VudHJ5KQogICAgICAgICAgICAgICAgIGJ5dGVDb2RlUGFyc2VyLT5tX2dyYXBoLmlk
ZW50aWZpZXJzKCkuYWRkTGF6aWx5KHJlcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKaW5kZXggNjVjMzAxZGJlZTE2ZDNmNzRi
NTQyN2I3YTBmNjkyNDg4NDFjNGUzMi4uNTUxNDVlMGUzZmE2ZWM2MmFhMmUzOWU2MmEyNmE2N2Nl
OGE1MjQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVk
SWRlbnRpZmllcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJl
ZElkZW50aWZpZXJzLmNwcApAQCAtNTIsMTQgKzUyLDE0IEBAIHVuc2lnbmVkIERlc2lyZWRJZGVu
dGlmaWVyczo6bnVtYmVyT2ZJZGVudGlmaWVycygpCiAgICAgcmV0dXJuIG1fY29kZUJsb2NrLT5u
dW1iZXJPZklkZW50aWZpZXJzKCkgKyBtX2FkZGVkSWRlbnRpZmllcnMuc2l6ZSgpOwogfQogCi12
b2lkIERlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5KEF0b21pY1N0cmluZ0ltcGwqIHJlcCkK
K3ZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjphZGRMYXppbHkoVW5pcXVlZFN0cmluZ0ltcGwqIHJl
cCkKIHsKICAgICBtX2FkZGVkSWRlbnRpZmllcnMuYXBwZW5kKHJlcCk7CiB9CiAKLUF0b21pY1N0
cmluZ0ltcGwqIERlc2lyZWRJZGVudGlmaWVyczo6YXQodW5zaWduZWQgaW5kZXgpIGNvbnN0CitV
bmlxdWVkU3RyaW5nSW1wbCogRGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRleCkg
Y29uc3QKIHsKLSAgICBBdG9taWNTdHJpbmdJbXBsKiByZXN1bHQ7CisgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIHJlc3VsdDsKICAgICBpZiAoaW5kZXggPCBtX2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVu
dGlmaWVycygpKQogICAgICAgICByZXN1bHQgPSBtX2NvZGVCbG9jay0+aWRlbnRpZmllcihpbmRl
eCkuaW1wbCgpOwogICAgIGVsc2UKQEAgLTcxLDcgKzcxLDcgQEAgQXRvbWljU3RyaW5nSW1wbCog
RGVzaXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKIHZvaWQgRGVzaXJl
ZElkZW50aWZpZXJzOjpyZWFsbHlBZGQoVk0mIHZtLCBDb21tb25EYXRhKiBjb21tb25EYXRhKQog
ewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2FkZGVkSWRlbnRpZmllcnMuc2l6ZSgp
OyArK2kpIHsKLSAgICAgICAgU3RyaW5nSW1wbCogcmVwID0gbV9hZGRlZElkZW50aWZpZXJzW2ld
OworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gbV9hZGRlZElkZW50aWZpZXJzW2ld
OwogICAgICAgICBBU1NFUlQocmVwLT5oYXNBdExlYXN0T25lUmVmKCkpOwogICAgICAgICBjb21t
b25EYXRhLT5kZmdJZGVudGlmaWVycy5hcHBlbmQoSWRlbnRpZmllcjo6ZnJvbVVpZCgmdm0sIHJl
cCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVz
aXJlZElkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJ
ZGVudGlmaWVycy5oCmluZGV4IGY5Y2UzODFmY2UwZjIxNWY1ODczNTU0YmUyNTQ4ZWRjNmUxNzdi
MjcuLjNhMmEzNDg1N2YzYjBmNzJlZTFjOWFmMzE2NGYyZTQ5NDQzY2E2MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaApAQCAtNDUs
MTcgKzQ1LDE3IEBAIGNsYXNzIERlc2lyZWRJZGVudGlmaWVycyB7CiAgICAgfkRlc2lyZWRJZGVu
dGlmaWVycygpOwogICAgIAogICAgIHVuc2lnbmVkIG51bWJlck9mSWRlbnRpZmllcnMoKTsKLSAg
ICB2b2lkIGFkZExhemlseShBdG9taWNTdHJpbmdJbXBsKik7CisgICAgdm9pZCBhZGRMYXppbHko
VW5pcXVlZFN0cmluZ0ltcGwqKTsKICAgICAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBhdCh1bnNp
Z25lZCBpbmRleCkgY29uc3Q7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIGF0KHVuc2lnbmVkIGlu
ZGV4KSBjb25zdDsKICAgICAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBvcGVyYXRvcltdKHVuc2ln
bmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBhdChpbmRleCk7IH0KKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogb3BlcmF0b3JbXSh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gYXQoaW5kZXgp
OyB9CiAgICAgCiAgICAgdm9pZCByZWFsbHlBZGQoVk0mLCBDb21tb25EYXRhKik7CiAgICAgCiBw
cml2YXRlOgogICAgIENvZGVCbG9jayogbV9jb2RlQmxvY2s7Ci0gICAgVmVjdG9yPEF0b21pY1N0
cmluZ0ltcGwqPiBtX2FkZGVkSWRlbnRpZmllcnM7CisgICAgVmVjdG9yPFVuaXF1ZWRTdHJpbmdJ
bXBsKj4gbV9hZGRlZElkZW50aWZpZXJzOwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRG
RwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggMDIx
ZjE0NmYwNmM2YzNmZWJlNGY5MjkwZDhjZTQ4NDUzMjMxMWE2ZC4uYjE1N2UxNjg5NTJlZGYxOTE5
OGZlMDJlYmIxYTJiZjcxODcwZDhmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCkBAIC05NTksMTYgKzk1OSwxNiBAQCBjbGFzcyBGaXh1cFBoYXNlIDog
cHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIGlmICghbV9ncmFwaC5oYXNFeGl0U2l0ZShub2Rl
LT5vcmlnaW4uc2VtYW50aWMsIEJhZENhY2hlKQogICAgICAgICAgICAgICAgICYmICFtX2dyYXBo
Lmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgQmFkSW5kZXhpbmdUeXBlKQogICAg
ICAgICAgICAgICAgICYmICFtX2dyYXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YywgRXhvdGljT2JqZWN0TW9kZSkpIHsKLSAgICAgICAgICAgICAgICBTdHJpbmdJbXBsKiBpbXBs
ID0gbV9ncmFwaC5pZGVudGlmaWVycygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07Ci0gICAg
ICAgICAgICAgICAgaWYgKGltcGwgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGguaW1wbCgp
KSB7CisgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRl
bnRpZmllcnMoKVtub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOworICAgICAgICAgICAgICAgIGlm
ICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGguaW1wbCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGF0dGVtcHRUb01ha2VHZXRBcnJheUxlbmd0aChub2RlKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChp
bXBsID09IHZtKCkucHJvcGVydHlOYW1lcy0+Ynl0ZUxlbmd0aC5pbXBsKCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAodWlkID09IHZtKCkucHJvcGVydHlOYW1lcy0+Ynl0ZUxlbmd0aC5pbXBsKCkp
IHsKICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdFRvTWFrZUdldFR5cGVkQXJyYXlCeXRlTGVu
Z3RoKG5vZGUpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgaWYgKGltcGwgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlT2Zm
c2V0LmltcGwoKSkgeworICAgICAgICAgICAgICAgIGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5h
bWVzLT5ieXRlT2Zmc2V0LmltcGwoKSkgewogICAgICAgICAgICAgICAgICAgICBhdHRlbXB0VG9N
YWtlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgIH0KQEAgLTE0ODgsNyArMTQ4OCw3IEBAIGNsYXNzIEZpeHVw
UGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgIH0KICAgICAKICAgICBib29sIGlzU3RyaW5nUHJv
dG90eXBlTWV0aG9kU2FuZSgKLSAgICAgICAgSlNPYmplY3QqIHN0cmluZ1Byb3RvdHlwZSwgU3Ry
dWN0dXJlKiBzdHJpbmdQcm90b3R5cGVTdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkK
KyAgICAgICAgSlNPYmplY3QqIHN0cmluZ1Byb3RvdHlwZSwgU3RydWN0dXJlKiBzdHJpbmdQcm90
b3R5cGVTdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICB1
bnNpZ25lZCBhdHRyaWJ1dGVzVW51c2VkOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApp
bmRleCA0NmZjOTBiYjlmNWE0ZDg1NGRhMTg2NGUzZDc4OTI0NWVkMjU4NGU1Li5kMzNkNTc1NmFl
MDVjZTdlNGZhODI4OGU1ZjliMDVmNWVjOTc2MGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtOTA2LDcgKzkwNiw3IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbihOb2RlKiBub2RlKQogICAgICAgICAgICAgYXV0byBz
bG93UGF0aCA9IHNsb3dQYXRoQ2FsbCgKICAgICAgICAgICAgICAgICBqdW1wLm1fanVtcCwgdGhp
cywgb3BlcmF0aW9uSW5PcHRpbWl6ZSwKICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVnczo6cGF5
bG9hZE9ubHkocmVzdWx0R1BSKSwgc3R1YkluZm8sIGJhc2VHUFIsCi0gICAgICAgICAgICAgICAg
c3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSk7CisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkpKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgc3R1YkluZm8tPmNvZGVPcmlnaW4gPSBub2RlLT5vcmln
aW4uc2VtYW50aWM7CiAgICAgICAgICAgICBzdHViSW5mby0+cGF0Y2guYmFzZUdQUiA9IHN0YXRp
Y19jYXN0PGludDhfdD4oYmFzZUdQUik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgKaW5kZXggN2NhNjIwY2ZhYWUyNTczZTJlYmJkOTgyNmJmMTVkMzJj
YTBjYjk2Yi4uNWNlYWYyMzY3M2NlY2U1NzE2MzYzM2Q1YTNlYmM3ZGMyNDNiMmM3NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtNTUzLDcg
KzU1Myw3IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICBib29sIGlzS25vd25Ob3ROdW1i
ZXIoTm9kZSogbm9kZSkgeyByZXR1cm4gIShtX3N0YXRlLmZvck5vZGUobm9kZSkubV90eXBlICYg
U3BlY0Z1bGxOdW1iZXIpOyB9CiAgICAgYm9vbCBpc0tub3duTm90Q2VsbChOb2RlKiBub2RlKSB7
IHJldHVybiAhKG1fc3RhdGUuZm9yTm9kZShub2RlKS5tX3R5cGUgJiBTcGVjQ2VsbCk7IH0KICAg
ICAKLSAgICBTdHJpbmdJbXBsKiBpZGVudGlmaWVyVUlEKHVuc2lnbmVkIGluZGV4KQorICAgIFVu
aXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlmaWVyVUlEKHVuc2lnbmVkIGluZGV4KQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1faml0LmdyYXBoKCkuaWRlbnRpZmllcnMoKVtpbmRleF07CiAgICAgfQpA
QCAtMTE3Niw3ICsxMTc2LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50cyhhcmcxLCBhcmcyKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKElfSklUT3BlcmF0aW9uX0VKc3Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0LCBHUFJSZWcgYXJnMSkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFRf
SklUT3BlcmF0aW9uX0VKc3Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkK
ICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOwpAQCAtMTIzNyw3ICsxMjM3LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVK
SVQgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50cyh2YWx1ZSk7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHQsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1l
bnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CkBA
IC0xMjgyLDEyICsxMjgyLDEyIEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9q
aXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1
cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3Vs
dCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJn
MSwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwg
VHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEs
IFN0cmluZ0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpf
SklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAg
ICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZElt
bVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0
KTsKQEAgLTE0NDIsNyArMTQ0Miw3IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAg
bV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIFRydXN0ZWRJbW1Q
dHIocG9pbnRlcikpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
ayhvcGVyYXRpb24pOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJ
VENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVy
YXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIEdQUlJlZyBh
cmcyLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBhcmcy
LCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVjayhvcGVyYXRpb24pOwpAQCAtMTU0Miw3ICsxNTQyLDcgQEAgY2xhc3MgU3BlY3Vs
YXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJpbmdJbXBsKiB1aWQpCisg
ICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0
VGFnKTsKQEAgLTE2MDgsMTcgKzE2MDgsMTcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0
cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAg
SklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3Bl
cmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJ
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBTdHJpbmdJbXBsKiB1
aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
U3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQ
YXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5
bG9hZCwgYXJnMVRhZywgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2Fk
LCByZXN1bHRUYWcpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJl
ZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIGludDMyX3QgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBpbnQzMl90IGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMVBheWxvYWQsIFRydXN0ZWRJbW0z
MihhcmcxVGFnKSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCBy
ZXN1bHRUYWcpOwpAQCAtMTc1MSw3ICsxNzUxLDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewog
ICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1N
WV9BUkcgYXJnMVBheWxvYWQsIGFyZzFUYWcsIGFyZzIsIFRydXN0ZWRJbW1QdHIocG9pbnRlcikp
OwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24p
OwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJl
ZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJlZyBhcmcyUGF5bG9hZCwgU3RyaW5n
SW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVy
YXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BS
UmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJQYXlsb2FkLCBVbmlx
dWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgYXJnMVRh
ZywgYXJnMlBheWxvYWQsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgVHJ1c3RlZElt
bVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2so
b3BlcmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4
IDNjZTgxMTg4YmYxOGZiZmY0ZWQzN2EyNjM0Nzg3MjZlMGJiMjQ0MDMuLmNiNWU3NTQ0NjI0OTNj
ZmE5YTc2ZWIzZmNkYmZjYjk2YjNiZWY5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDb21waWxlLmNwcApAQCAtNTE1LDcgKzUxNSw3IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9u
QmFzZWRPblN0YWNrTWFwcygKIAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IHNsb3dDYWxsID0gY2FsbE9wZXJhdGlvbigKICAgICAgICAgICAgICAgICAgICAgc3RhdGUsIHVz
ZWRSZWdpc3RlcnMsIHNsb3dQYXRoSklULCBjaGVja0luLmNvZGVPcmlnaW4oKSwgJmV4Y2VwdGlv
blRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uSW5PcHRpbWl6ZSwgcmVzdWx0
LCBzdHViSW5mbywgb2JqLCBjaGVja0luLm1faWQpOworICAgICAgICAgICAgICAgICAgICBvcGVy
YXRpb25Jbk9wdGltaXplLCByZXN1bHQsIHN0dWJJbmZvLCBvYmosIGNoZWNrSW4ubV91aWQpOwog
CiAgICAgICAgICAgICAgICAgY2hlY2tJbi5tX3Nsb3dQYXRoRG9uZS5hcHBlbmQoc2xvd1BhdGhK
SVQuanVtcCgpKTsKICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oCmluZGV4IDgyYjYyMzhjYzM0ZGUz
YjI0NDg5NDg1OTMzNTM0M2E4YTU5NWY0NTUuLjhjMTQzZDFmYjdkZTBhMzlmYTRiYjI5OGUzMmMw
N2U0OTJlM2UwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJ
bmxpbmVDYWNoZURlc2NyaXB0b3IuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkpJVElu
bGluZUNhY2hlR2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0
cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCkBAIC0zOSw3
ICs0MCw3IEBAIGNsYXNzIElubGluZUNhY2hlRGVzY3JpcHRvciB7CiBwdWJsaWM6CiAgICAgSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yKCkgeyB9CiAgICAgCi0gICAgSW5saW5lQ2FjaGVEZXNjcmlwdG9y
KHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5nSW1wbCog
dWlkKQorICAgIElubGluZUNhY2hlRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgICAgIDogbV9z
dGFja21hcElEKHN0YWNrbWFwSUQpCiAgICAgICAgICwgbV9jb2RlT3JpZ2luKGNvZGVPcmlnaW4p
CiAgICAgICAgICwgbV91aWQodWlkKQpAQCAtNDgsMTIgKzQ5LDEyIEBAIGNsYXNzIElubGluZUNh
Y2hlRGVzY3JpcHRvciB7CiAgICAgCiAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhY2ttYXBJRDsgfQogICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbigpIGNvbnN0
IHsgcmV0dXJuIG1fY29kZU9yaWdpbjsgfQotICAgIFN0cmluZ0ltcGwqIHVpZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdWlkOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCgpIGNvbnN0IHsgcmV0
dXJuIG1fdWlkOyB9CiAgICAgCiBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fc3RhY2ttYXBJRDsK
ICAgICBDb2RlT3JpZ2luIG1fY29kZU9yaWdpbjsKLSAgICBTdHJpbmdJbXBsKiBtX3VpZDsKKyAg
ICBVbmlxdWVkU3RyaW5nSW1wbCogbV91aWQ7CiAgICAgCiBwdWJsaWM6CiAgICAgVmVjdG9yPE1h
Y3JvQXNzZW1ibGVyOjpKdW1wPiBtX3Nsb3dQYXRoRG9uZTsKQEAgLTYzLDcgKzY0LDcgQEAgY2xh
c3MgR2V0QnlJZERlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKIHB1
YmxpYzoKICAgICBHZXRCeUlkRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAgIEdldEJ5SWREZXNj
cmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5n
SW1wbCogdWlkKQorICAgIEdldEJ5SWREZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICAgICAgOiBJ
bmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgdWlkKQogICAgIHsK
ICAgICB9CkBAIC03Niw3ICs3Nyw3IEBAIGNsYXNzIFB1dEJ5SWREZXNjcmlwdG9yIDogcHVibGlj
IElubGluZUNhY2hlRGVzY3JpcHRvciB7CiAgICAgUHV0QnlJZERlc2NyaXB0b3IoKSB7IH0KICAg
ICAKICAgICBQdXRCeUlkRGVzY3JpcHRvcigKLSAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCwg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1aWQsCisgICAgICAgIHVuc2lnbmVk
IHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCwKICAgICAgICAgRUNNQU1vZGUgZWNtYU1vZGUsIFB1dEtpbmQgcHV0S2luZCkKICAgICAgICAg
OiBJbmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgdWlkKQogICAg
ICAgICAsIG1fZWNtYU1vZGUoZWNtYU1vZGUpCkBAIC0xMTEsMTQgKzExMiwxNCBAQCBjbGFzcyBD
aGVja0luRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogcHVibGlj
OgogICAgIENoZWNrSW5EZXNjcmlwdG9yKCkgeyB9CiAgICAgCi0gICAgQ2hlY2tJbkRlc2NyaXB0
b3IodW5zaWduZWQgc3RhY2ttYXBJRCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBTdHJp
bmdJbXBsKiBpZCkKKyAgICBDaGVja0luRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBD
b2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAg
ICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmlnaW4sIG51bGxw
dHIpCi0gICAgICAgICwgbV9pZChpZCkKKyAgICAgICAgLCBtX3VpZCh1aWQpCiAgICAgewogICAg
IH0KIAogICAgIAotICAgIGNvbnN0IFN0cmluZ0ltcGwqIG1faWQ7CisgICAgY29uc3QgVW5pcXVl
ZFN0cmluZ0ltcGwqIG1fdWlkOwogICAgIFZlY3RvcjxDaGVja0luR2VuZXJhdG9yPiBtX2dlbmVy
YXRvcnM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmlu
c2ljUmVwb3NpdG9yeS5oCmluZGV4IDRiMjhkMzU2MjVhNzMyN2MxMjljNjFhMGI3ODU3MzBiODI5
NTI2M2QuLmE1YjhmNzMxY2UyYzIxMWQ5ZmE0NGEzYTczNDIwM2EyM2QzYWVhMTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCkBA
IC03Myw3ICs3Myw3IEBACiAgICAgbWFjcm8oQ19KSVRPcGVyYXRpb25fRVN0WlosIGZ1bmN0aW9u
VHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnQzMiwgaW50MzIpKSBcCiAgICAgbWFjcm8o
Q19KSVRPcGVyYXRpb25fRVosIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50MzIpKSBc
CiAgICAgbWFjcm8oRF9KSVRPcGVyYXRpb25fRCwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRv
dWJsZVR5cGUpKSBcCi0gICAgbWFjcm8oSV9KSVRPcGVyYXRpb25fRUpzcywgZnVuY3Rpb25UeXBl
KGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCisgICAgbWFjcm8oVF9KSVRPcGVyYXRpb25fRUpz
cywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9K
SVRPcGVyYXRpb25fRSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8o
Sl9KSVRPcGVyYXRpb25fRUEsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIpKSBc
CiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUFaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0
ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAKaW5kZXggZGE1ODIzNzBhZDA4NTMwMWRlOGY5ZjJkNDEyMWY4NmRi
MWYzZThiNC4uYWY4ODJjYjA2Yjc0NGUyZmY3MjMxNTRlYTYxMDBiZjIwNTc1ZDY0OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTIw
ODksNyArMjA4OSw3IEBAIGNsYXNzIExvd2VyREZHVG9MTFZNIHsKICAgICAgICAgCiAgICAgICAg
IExWYWx1ZSBiYXNlID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgTFZhbHVl
IHZhbHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgU3RyaW5nSW1w
bCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW21fbm9kZS0+aWRlbnRpZmllck51bWJlcigp
XTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMo
KVttX25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CiAKICAgICAgICAgLy8gQXJndW1lbnRzOiBp
ZCwgYnl0ZXMsIHRhcmdldCwgbnVtQXJncywgYXJncy4uLgogICAgICAgICB1bnNpZ25lZCBzdGFj
a21hcElEID0gbV9zdGFja21hcElEcysrOwpAQCAtNDgxMyw3ICs0ODEzLDcgQEAgY2xhc3MgTG93
ZXJERkdUb0xMVk0gewogICAgICAgICBpZiAoSlNTdHJpbmcqIHN0cmluZyA9IG1fbm9kZS0+Y2hp
bGQxKCktPmR5bmFtaWNDYXN0Q29uc3RhbnQ8SlNTdHJpbmcqPigpKSB7CiAgICAgICAgICAgICBp
ZiAoc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSAmJiBzdHJpbmctPnRyeUdldFZhbHVlSW1wbCgp
LT5pc0F0b21pYygpKSB7CiAKLSAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBzdHIg
PSBzdHJpbmctPnRyeUdldFZhbHVlSW1wbCgpOworICAgICAgICAgICAgICAgIGNvbnN0IEF0b21p
Y1N0cmluZ0ltcGwqIHN0ciA9IHN0YXRpY19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPihz
dHJpbmctPnRyeUdldFZhbHVlSW1wbCgpKTsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzdGFj
a21hcElEID0gbV9zdGFja21hcElEcysrOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
TFZhbHVlIGNhbGwgPSBtX291dC5jYWxsKApAQCAtNTczNiw3ICs1NzM2LDcgQEAgY2xhc3MgTG93
ZXJERkdUb0xMVk0gewogICAgIAogICAgIExWYWx1ZSBnZXRCeUlkKExWYWx1ZSBiYXNlKQogICAg
IHsKLSAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW21fbm9k
ZS0+aWRlbnRpZmllck51bWJlcigpXTsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IG1fZ3JhcGguaWRlbnRpZmllcnMoKVttX25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CiAKICAg
ICAgICAgLy8gQXJndW1lbnRzOiBpZCwgYnl0ZXMsIHRhcmdldCwgbnVtQXJncywgYXJncy4uLgog
ICAgICAgICB1bnNpZ25lZCBzdGFja21hcElEID0gbV9zdGFja21hcElEcysrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuY3BwCmluZGV4IDFmZDhjODNmNGU1
NmM5MmE0YTE5NTZhOTg3YjVkMzZmNGFkMDc0NmEuLmZmYmQ0NzRiNjIyYWE3ZTc5MGMyNmViMWI4
MTM0YTczZDE3NmFmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
U2xvd1BhdGhDYWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5jcHAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIHN0b3JlQ29kZU9yaWdpbihTdGF0
ZSYgc3RhdGUsIENDYWxsSGVscGVycyYgaml0LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCiAgICAg
U3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywgQ0NhbGxIZWxw
ZXJzJiBqaXQsCiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBNYWNyb0Fzc2VtYmxlcjo6SnVt
cExpc3QqIGV4Y2VwdGlvblRhcmdldCwKICAgICBKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sCi0gICAgR1BS
UmVnIG9iamVjdCwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQorICAgIEdQUlJlZyBvYmplY3QsIGNv
bnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc3RvcmVDb2RlT3JpZ2luKHN0YXRl
LCBqaXQsIGNvZGVPcmlnaW4pOwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVzZWRS
ZWdpc3RlcnMsIGppdCwgNCwgcmVzdWx0KTsKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIHN0b3Jl
Q29kZU9yaWdpbihTdGF0ZSYgc3RhdGUsIENDYWxsSGVscGVycyYgaml0LCBDb2RlT3JpZ2luIGNv
ZGVPcmlnaW4pCiAgICAgU3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lz
dGVycywgQ0NhbGxIZWxwZXJzJiBqaXQsCiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBNYWNy
b0Fzc2VtYmxlcjo6SnVtcExpc3QqIGV4Y2VwdGlvblRhcmdldCwKICAgICBKX0pJVE9wZXJhdGlv
bl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sCi0gICAgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEdQUlJlZyBv
YmplY3QsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc3RvcmVDb2RlT3JpZ2luKHN0
YXRlLCBqaXQsIGNvZGVPcmlnaW4pOwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVz
ZWRSZWdpc3RlcnMsIGppdCwgNCwgcmVzdWx0KTsKQEAgLTIwNCw3ICsyMDQsNyBAQCB2b2lkIHN0
b3JlQ29kZU9yaWdpbihTdGF0ZSYgc3RhdGUsIENDYWxsSGVscGVycyYgaml0LCBDb2RlT3JpZ2lu
IGNvZGVPcmlnaW4pCiAgICAgU3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJl
Z2lzdGVycywgQ0NhbGxIZWxwZXJzJiBqaXQsIAogICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
TWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAgVl9KSVRPcGVy
YXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BS
UmVnIHZhbHVlLAotICAgIEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHUFJS
ZWcgb2JqZWN0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHN0b3JlQ29kZU9yaWdp
bihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4dCBjb250ZXh0KHN0YXRl
LCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDUsIEludmFsaWRHUFJSZWcpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgKaW5kZXggNmU0ZDVmNmUxNTlhNWZhMzIwNTZm
NzFhNzg0NzQ4OWVjMTE4ZTNmNi4uODE4ZWY2NDY0YzdiMWNmYWY2ZjVmOTJiMGQwMWMwYmQwZTEx
YjUwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENh
bGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCkBA
IC02MCwxNSArNjAsMTUgQEAgY2xhc3MgU2xvd1BhdGhDYWxsIHsKIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxs
SGVscGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3QqLAogICAgIEpfSklU
T3BlcmF0aW9uX0VTc2lDSSwgR1BSUmVnLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywKLSAg
ICBjb25zdCBTdHJpbmdJbXBsKik7CisgICAgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7
CiBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAogICAgIFN0YXRlJiwgY29uc3Qg
UmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6Okp1
bXBMaXN0KiwKICAgICBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIEdQUlJlZyByZXN1bHQsIFN0cnVj
dHVyZVN0dWJJbmZvKiwgR1BSUmVnIG9iamVjdCwKLSAgICBTdHJpbmdJbXBsKiB1aWQpOworICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbigKICAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29k
ZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCiAgICAgVl9KSVRPcGVyYXRpb25fRVNz
aUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcgdmFsdWUsIEdQUlJlZyBvYmplY3QsCi0g
ICAgU3RyaW5nSW1wbCogdWlkKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIAogfSB9
IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCA5N2M4
MDdlZTNiZmUzMTQ5NDNjZGRhYWY4ODBmOThkNjkyMzM5ZDg0Li5mZWY1YTIxZjdjY2Q5N2UxYjYx
NGYyZjBiYjQyZDRlMmZhYjk1NzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTY5Niw5
ICs2OTYsOSBAQAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZf
SklUT3BlcmF0aW9uX0VDLCBKU0NlbGwqKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSiwgaW50LCBHUFJSZWcpOwogI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0
aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5m
byosIEdQUlJlZywgU3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFdpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGludCwg
U3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAjZWxzZQot
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFdpdGhQcm9maWxlVGFn
LCBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGludCwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcs
IEdQUlJlZywgU3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFdpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGludCwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBHUFJSZWcsIEdQUlJlZywgVW5pcXVlZFN0cmluZ0ltcGwqKTsKICNl
bmRpZgogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKSWRjLCBpbnQsIEdQUlJlZywgY29uc3QgSWRlbnRpZmllciopOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50
LCBHUFJSZWcsIEdQUlJlZyk7CkBAIC03MzgsOSArNzM4LDkgQEAKICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSklkSkosIFJlZ2lzdGVy
SUQsIGNvbnN0IElkZW50aWZpZXIqLCBSZWdpc3RlcklELCBSZWdpc3RlcklEKTsKICNpZiBVU0Uo
SlNWQUxVRTY0KQogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEZf
SklUT3BlcmF0aW9uX0VGSlpaLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBpbnQzMl90LCBSZWdp
c3RlcklEKTsKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJ
VE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJlZ2lz
dGVySUQsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lz
dGVySUQsIFJlZ2lzdGVySUQsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAjZWxzZQotICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkks
IFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwg
UmVnaXN0ZXJJRCwgU3RyaW5nSW1wbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwg
UmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgVW5pcXVlZFN0
cmluZ0ltcGwqKTsKICNlbmRpZgogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKSkosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lz
dGVySUQpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklU
T3BlcmF0aW9uX0VKWkosIFJlZ2lzdGVySUQsIGludDMyX3QsIFJlZ2lzdGVySUQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA1NDYwM2I2NDc2Y2UzNDk1ZTRjZDMw
MGY0NWE4N2VkNWIzZjA1OGM0Li4wZmU3MjkwZGQ1NzRjYjk0ODc0NWRiYWQxMThkNjU4ODJhZTYw
ZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMzg3LDcgKzM4
Nyw3IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEZfSklUT3BlcmF0aW9uX0VGSlpaIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVy
YXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDEsIFJl
Z2lzdGVySUQgcmVnT3AyLCBTdHJpbmdJbXBsKiB1aWQpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9w
ZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklEIHJlZ09wMSwg
UmVnaXN0ZXJJRCByZWdPcDIsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCByZWdPcDEsIHJl
Z09wMiwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVjayhvcGVyYXRpb24pOwpAQCAtNDA1LDcgKzQwNSw3IEBAIEFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0Va
SiBvcGVyYXRpCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0
aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJh
dGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwg
U3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJ
IG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcg
YXJnMSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlk
KSk7CiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVz
dWx0V2l0aFByb2ZpbGUob3BlcmF0aW9uLCBkc3QpOwpAQCAtNTUyLDcgKzU1Miw3IEBAIEFMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKIG9wZXJhdGlvCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAotQUxXQVlTX0lOTElORSBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRh
ZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBTdHJp
bmdJbXBsKiB1aWQpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2Fs
bE9wZXJhdGlvbihKSVQ6OldpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3Bl
cmF0aW9uLCBpbnQgZHN0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcx
VGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcx
UGF5bG9hZCwgYXJnMVRhZywgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHRXaXRoUHJvZmlsZShvcGVyYXRp
b24sIGRzdCk7CkBAIC02MTgsNyArNjE4LDcgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVpTeW10YWJKIG8KICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogfQogCi1B
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJ
VE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZv
LCBSZWdpc3RlcklEIHJlZ09wMVRhZywgUmVnaXN0ZXJJRCByZWdPcDFQYXlsb2FkLCBSZWdpc3Rl
cklEIHJlZ09wMlRhZywgUmVnaXN0ZXJJRCByZWdPcDJQYXlsb2FkLCBTdHJpbmdJbXBsKiB1aWQp
CitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihW
X0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBSZWdpc3RlcklEIHJlZ09wMVRhZywgUmVnaXN0ZXJJRCByZWdPcDFQYXlsb2FkLCBSZWdp
c3RlcklEIHJlZ09wMlRhZywgUmVnaXN0ZXJJRCByZWdPcDJQYXlsb2FkLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1t
UHRyKHN0dWJJbmZvKSwgcmVnT3AxUGF5bG9hZCwgcmVnT3AxVGFnLCByZWdPcDJQYXlsb2FkLCBy
ZWdPcDJUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCmluZGV4IGUwYWEzMGMwODBjYWFkZjk4MWYwZTgyMWVkMTg3MmZhNWM3
NDFmYWYuLmU1NDQwOTI4MDJmYWQyODczM2QzODQ4MDEwM2VmODRlZDVkYjViMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTQ3LDcgKzE0Nyw3
IEBAIGludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNoZWNrKEV4
ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gbWlzc2luZ0FyZ0NvdW50OwogfQogCi1FbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE1OCw3ICsxNTgsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZVZhbHVl
LmdldChleGVjLCBpZGVudCwgc2xvdCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFs
dWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTE3
Niw3ICsxNzYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cgogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoaGFzUmVzdWx0PyBzbG90LmdldFZhbHVlKGV4ZWMsIGlkZW50KSA6IGpzVW5kZWZp
bmVkKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
RW5jb2RlZEpTVmFsdWUgYmFzZSwgU3RyaW5nSW1wbCogdWlkKQorRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0xOTUsNyArMTk1LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUKIAogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEpTQ2VsbCogYmFzZSwgU3RyaW5nSW1wbCoga2V5KQorRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBKU0NlbGwqIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkp
CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yMjEsNyArMjIxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkkKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0K
IAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiBiYXNlLCBTdHJpbmdJbXBsKiBrZXkpCitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkp
CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNDMsNyArMjQzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25HZW5lcmljSW4oRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGJh
c2UsIEUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihDb21tb25TbG93UGF0
aHM6Om9wSW4oZXhlYywgSlNWYWx1ZTo6ZGVjb2RlKGtleSksIGJhc2UpKSk7CiB9CiAKLXZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI1Myw3ICsyNTMs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRQogICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xv
dCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKgogICAgIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbgogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFN0
cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRC
YXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMzA3LDcg
KzMwNyw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1p
emUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViCiAgICAgICAgIHN0dWJJbmZvLT5zZWVu
ID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
U3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25T
dHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTMzMSw3ICsz
MzEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlUwogICAgICAgICBzdHViSW5mby0+c2VlbiA9
IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0zNTUs
NyArMzU1LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHUKICAgICAgICAgc3R1YkluZm8tPnNl
ZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMp
OwpAQCAtMzc5LDcgKzM3OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1CiAgICAgICAgIHN0
dWJJbmZvLT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAt
NDAwLDcgKzQwMCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiAgICAgYnVpbGRQdXRCeUlk
TGlzdChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywg
Tm90RGlyZWN0KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25T
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtNDIx
LDcgKzQyMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0
QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAgICAgYnVpbGRQdXRCeUlkTGlz
dChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90
RGlyZWN0KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAt
NDQyLDcgKzQ0Miw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0CiAgICAgYnVpbGRQdXRCeUlk
TGlzdChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8s
IERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggMTYxZThk
ZmFiYWQzZTAxMmE5ZWFjZTY5OGM3ZWM3NDJhOTY2ZjQ4YS4uZDZjOTM1MzFiMWQwN2ZjOWY5N2Jk
Nzc2NjNmMjE4NmE3Y2ViZjZkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmgKQEAgLTY0LDcgKzY0LDcgQEAKICAgICBFOiBFeGVjU3RhdGUqCiAgICAgRjogQ2Fs
bEZyYW1lKgogICAgIEc6IEpTR2xvYmFsT2JqZWN0KgotICAgIEk6IFN0cmluZ0ltcGwqCisgICAg
STogVW5pcXVlZFN0cmluZ0ltcGwqCiAgICAgSWNmOiBJbmxpbmVDYWxsRnJhbWUqCiAgICAgSWRj
OiBjb25zdCBJZGVudGlmaWVyKgogICAgIEo6IEVuY29kZWRKU1ZhbHVlCkBAIC04Myw2ICs4Myw3
IEBACiAgICAgU3NpOiBTdHJ1Y3R1cmVTdHViSW5mbyoKICAgICBTdDogU3RydWN0dXJlKgogICAg
IFN5bXRhYjogU3ltYm9sVGFibGUqCisgICAgVDogU3RyaW5nSW1wbCoKICAgICBWOiB2b2lkCiAg
ICAgVm06IFZNKgogICAgIFdzOiBXYXRjaHBvaW50U2V0KgpAQCAtOTcsMTIgKzk4LDEyIEBACiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQWFw
SmNwWikoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUq
LCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklU
T3BlcmF0aW9uX0VDKShFeGVjU3RhdGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDQykoRXhlY1N0YXRlKiwgSlNDZWxs
KiwgSlNDZWxsKik7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FQ0kpKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSSkoRXhl
Y1N0YXRlKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlND
ZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRUNaKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBpbnQzMl90KTsK
IHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VE
QSkoRXhlY1N0YXRlKiwgZG91YmxlLCBKU0FycmF5Kik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FRSkoRXhlY1N0YXRlKiwgRXhlY1N0YXRl
Kik7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FSSkoRXhlY1N0YXRlKiwgU3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUkpKEV4ZWNTdGF0ZSosIFVuaXF1ZWRTdHJp
bmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FSikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpaKShFeGVjU3RhdGUqLCBF
bmNvZGVkSlNWYWx1ZSwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSkMpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBK
U0NlbGwqKTsKQEAgLTExNyw4ICsxMTgsOCBAQAogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiop
OwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25f
RUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6
ZV90LCBzaXplX3QpOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2Vs
bCosIFN0cmluZ0ltcGwqKTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKik7Cit0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKik7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
WikoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FWkljZlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIElubGlu
ZUNhbGxGcmFtZSosIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVpaKShFeGVjU3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsK
QEAgLTE4NSw3ICsxODYsNyBAQAogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9w
ZXJhdGlvbl9FQ0MpKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEpTQ2VsbCopOwogdHlwZWRlZiB2b2lk
IEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FWlN5bXRhYkopKEV4ZWNTdGF0ZSosIGlu
dDMyX3QsIFN5bWJvbFRhYmxlKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9P
UEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUp
OwotdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSkNJKShFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwordHlwZWRlZiB2
b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSkNJKShFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpJZEopKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBJZGVudGlmaWVyKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIEpJVF9P
UEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FSklkSkopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBJZGVudGlmaWVyKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVk
ZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpKSikoRXhlY1N0YXRlKiwg
RW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CkBAIC0xOTYs
NyArMTk3LDcgQEAKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25f
RU9aSikoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiB0
eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRl
KiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVy
YXRpb25fRVBaSikoRXhlY1N0YXRlKiwgdm9pZCosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsK
LXR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVNzaUpKSSkoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUsIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVy
YXRpb25fRVNzaUpKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIHZvaWQg
SklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VXcykoRXhlY1N0YXRlKiwgV2F0Y2hwb2lu
dFNldCopOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FWiko
RXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklU
T3BlcmF0aW9uX0VaSikoRXhlY1N0YXRlKiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUpOwpAQCAt
MjIwLDcgKzIyMSw3IEBACiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJh
dGlvbl9FU3RTUykoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlw
ZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25fRVN0WikoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKiwgaW50MzJfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQ
X0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwotdHlwZWRl
ZiBTdHJpbmdJbXBsKiBKSVRfT1BFUkFUSU9OICgqSV9KSVRPcGVyYXRpb25fRUpzcykoRXhlY1N0
YXRlKiwgSlNTdHJpbmcqKTsKK3R5cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJBVElPTiAoKlRf
SklUT3BlcmF0aW9uX0VKc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKik7CiB0eXBlZGVmIEpTU3Ry
aW5nKiBKSVRfT1BFUkFUSU9OICgqSnNzX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50
MzJfdCk7CiAKIC8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbG9va3VwIGFuIGV4Y2VwdGlvbiBo
YW5kZXIsIGtleWVkIGJ5IGZhdWx0TG9jYXRpb24sIHdoaWNoIGlzCkBAIC0yMzMsMjQgKzIzNCwy
NCBAQAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93U3RhY2tPdmVyZmxvd0Vycm9y
KEV4ZWNTdGF0ZSosIENvZGVCbG9jayopIFdURl9JTlRFUk5BTDsKIGludDMyX3QgSklUX09QRVJB
VElPTiBvcGVyYXRpb25DYWxsQXJpdHlDaGVjayhFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CiBp
bnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVjayhFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwg
U3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5B
TDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1w
bCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lO
VEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXpl
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmluZ0lt
cGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkluKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgVW5pcXVlZFN0cmlu
Z0ltcGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdlbmVyaWNJbihFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lO
VEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVT
dHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
Owordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikg
V1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RC
dWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2Us
IFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25SZWFsbG9jYXRlU3RvcmFnZUFuZEZpbmlzaFB1dChFeGVjU3Rh
dGUqLCBKU09iamVjdCosIFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LCBFbmNvZGVkSlNWYWx1
ZSkgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsKEV4
ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUp
IFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZh
bChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwCmlu
ZGV4IDcyMDk2OWU1ZjhlMjdjYmUzZGZhYTkwNTZjNTE0Mzc4MWQ3ODhkYzMuLmZmOWFhNDRhZDE0
NzhhYjcwOTFkYWI0ODE2NTQwMjRkMTFmYTA1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZXMuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgU3RhdGVtZW50Tm9kZSogU2NvcGVOb2Rl
OjpzaW5nbGVTdGF0ZW1lbnQoKSBjb25zdAogewogfQogCi12b2lkIFByb2dyYW1Ob2RlOjpzZXRD
bG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJs
ZXMpCit2b2lkIFByb2dyYW1Ob2RlOjpzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fY2xvc2VkVmFy
aWFibGVzID0gV1RGOjptb3ZlKGNsb3NlZFZhcmlhYmxlcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKaW5kZXggZjk4ZmM0YzBlYjRiMGQ5MjllYzI3MTg2MGYwNjNhMTZiOTli
OWVhNi4uNzVhY2Y4MDg2YzFjN2Y2NjAwNDUwNDNkNjA3OTQzMTJlYWRhODg0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtNzYsNyArNzYsNyBAQAogICAgIH07CiAgICAg
aW5saW5lIEZhbGxUaHJvdWdoTW9kZSBpbnZlcnQoRmFsbFRocm91Z2hNb2RlIGZhbGxUaHJvdWdo
TW9kZSkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RmFsbFRocm91Z2hNb2RlPighZmFsbFRocm91Z2hN
b2RlKTsgfQogCi0gICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPiwgSWRlbnRp
ZmllclJlcEhhc2g+IElkZW50aWZpZXJTZXQ7CisgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU2V0OwogCiAg
ICAgbmFtZXNwYWNlIERlY2xhcmF0aW9uU3RhY2tzIHsKICAgICAgICAgZW51bSBWYXJBdHRycyB7
IElzQ29uc3RhbnQgPSAxLCBIYXNJbml0aWFsaXplciA9IDIgfTsKQEAgLTE1NjIsNyArMTU2Miw3
IEBACiAgICAgICAgIGJvb2wgaGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiAh
IW1fY2FwdHVyZWRWYXJpYWJsZXMuc2l6ZSgpOyB9CiAgICAgICAgIHNpemVfdCBjYXB0dXJlZFZh
cmlhYmxlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLnNpemUoKTsg
fQogICAgICAgICBjb25zdCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcygpIGNvbnN0
IHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXM7IH0KLSAgICAgICAgYm9vbCBjYXB0dXJlcyhT
dHJpbmdJbXBsKiB1aWQpIHsgcmV0dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFpbnModWlk
KTsgfQorICAgICAgICBib29sIGNhcHR1cmVzKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIHsgcmV0
dXJuIG1fY2FwdHVyZWRWYXJpYWJsZXMuY29udGFpbnModWlkKTsgfQogICAgICAgICBib29sIGNh
cHR1cmVzKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSB7IHJldHVybiBjYXB0dXJlcyhpZGVudC5p
bXBsKCkpOyB9CiAKICAgICAgICAgVmFyU3RhY2smIHZhclN0YWNrKCkgeyByZXR1cm4gbV92YXJT
dGFjazsgfQpAQCAtMTU3OSw3ICsxNTc5LDcgQEAKIAogICAgICAgICB2b2lkIGVtaXRTdGF0ZW1l
bnRzQnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiBkZXN0aW5hdGlvbik7
CiAgICAgICAgIAotICAgICAgICB2b2lkIHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRy
PFN0cmluZ0ltcGw+PiYmKSB7IH0KKyAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVj
dG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBpbnQgbV9zdGFydExpbmVOdW1iZXI7CkBAIC0xNjA1LDEyICsxNjA1LDEyIEBACiAK
ICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2NvcGVJc0Z1bmN0aW9uID0gZmFsc2U7CiAKLSAg
ICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4m
Jik7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiBjbG9zZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBtX2Nsb3NlZFZhcmlhYmxlczsgfQorICAgICAgICB2b2lk
IHNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJik7
CisgICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYgY2xvc2Vk
VmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwotICAgICAgICBWZWN0b3I8UmVmUHRyPFN0
cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOwogICAgICAgICB1bnNpZ25lZCBtX3N0
YXJ0Q29sdW1uOwogICAgICAgICB1bnNpZ25lZCBtX2VuZENvbHVtbjsKICAgICB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGU4MmY4YzE4YTc1ZmVkMDNlNjY2
NjYxYTRiYTg5ZDUyZTE5ODE4ZmMuLmM1ZWZiYmMzOTAxMmQ3YzZiYTJmYzllNzg4NTU3NmUzZGQ4
N2QyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI4Niw3
ICsyODYsNyBAQAogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmllZFBhcmFtZXRlckZlYXR1cmU7
CiAgICAgaWYgKG1vZGlmaWVkQXJndW1lbnRzKQogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmll
ZEFyZ3VtZW50c0ZlYXR1cmU7Ci0gICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gY2xvc2Vk
VmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBjbG9zZWRW
YXJpYWJsZXM7CiAgICAgaWYgKG1fcGFyc2luZ0J1aWx0aW4pIHsKICAgICAgICAgSWRlbnRpZmll
clNldCB1c2VkVmFyaWFibGVzOwogICAgICAgICBzY29wZS0+Z2V0VXNlZFZhcmlhYmxlcyh1c2Vk
VmFyaWFibGVzKTsKQEAgLTMyNSw3ICszMjUsNyBAQAogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VF
bGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFy
U3RhY2ssIAotICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiBmdW5jU3RhY2ss
IENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cywgSWRlbnRpZmllclNldCYg
Y2FwdHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZh
cmlhYmxlcykKKyAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNr
LCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQm
IGNhcHR1cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+JiYg
Y2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fc291cmNlRWxlbWVudHMgPSBzb3VyY2VFbGVtZW50
czsKICAgICBtX3ZhckRlY2xhcmF0aW9ucy5zd2FwKHZhclN0YWNrKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDQyYTMxZjQ2YjVjMDJkZDJjMGVkZmU0ZGUxNTQwNjc3
MDhhYzZiNGQuLjRmZTI0ZWRmN2NmODU2NzhhYmEyYjI0ZGM5Y2ZjYThmMzJmN2UzYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtOTcsMTMgKzk3LDEzIEBAIGVudW0g
RGVjb25zdHJ1Y3Rpb25LaW5kIHsKIHRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRXZhbE5vZGU8
RXZhbE5vZGU+KCkgeyByZXR1cm4gdHJ1ZTsgfQogCiBzdHJ1Y3QgU2NvcGVMYWJlbEluZm8gewot
ICAgIFNjb3BlTGFiZWxJbmZvKFN0cmluZ0ltcGwqIGlkZW50LCBib29sIGlzTG9vcCkKKyAgICBT
Y29wZUxhYmVsSW5mbyhVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnQsIGJvb2wgaXNMb29wKQogICAg
ICAgICA6IG1faWRlbnQoaWRlbnQpCiAgICAgICAgICwgbV9pc0xvb3AoaXNMb29wKQogICAgIHsK
ICAgICB9CiAKLSAgICBTdHJpbmdJbXBsKiBtX2lkZW50OworICAgIFVuaXF1ZWRTdHJpbmdJbXBs
KiBtX2lkZW50OwogICAgIGJvb2wgbV9pc0xvb3A7CiB9OwogCkBAIC0xOTMsMTQgKzE5MywxNCBA
QCBzdHJ1Y3QgU2NvcGUgewogCiAgICAgdm9pZCBkZWNsYXJlQ2FsbGVlKGNvbnN0IElkZW50aWZp
ZXIqIGlkZW50KQogICAgIHsKLSAgICAgICAgbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQt
PnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50
LT5pbXBsKCkpOwogICAgIH0KIAogICAgIGJvb2wgZGVjbGFyZVZhcmlhYmxlKGNvbnN0IElkZW50
aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlkZW50ICYmIG1fdm0tPnByb3BlcnR5TmFtZXMt
PmFyZ3VtZW50cyAhPSAqaWRlbnQ7CiAgICAgICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lz
VmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwotICAgICAgICBtX2RlY2xhcmVk
VmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKTsKKyAgICAgICAgbV9kZWNsYXJl
ZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7CiAgICAgICAgIHJldHVybiBpc1ZhbGlkU3Ry
aWN0TW9kZTsKICAgICB9CiAKQEAgLTIyNiw5ICsyMjYsOSBAQCBzdHJ1Y3QgU2NvcGUgewogICAg
IGJvb2wgZGVjbGFyZVBhcmFtZXRlcihjb25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAg
ICAgICAgIGJvb2wgaXNBcmd1bWVudHMgPSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMg
PT0gKmlkZW50OwotICAgICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZh
cmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiAhaXNBcmd1bWVudHM7CisgICAgICAgIGJv
b2wgaXNWYWxpZFN0cmljdE1vZGUgPSBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChpZGVudC0+aW1w
bCgpKS5pc05ld0VudHJ5ICYmIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlkZW50ICYm
ICFpc0FyZ3VtZW50czsKICAgICAgICAgbV9pc1ZhbGlkU3RyaWN0TW9kZSA9IG1faXNWYWxpZFN0
cmljdE1vZGUgJiYgaXNWYWxpZFN0cmljdE1vZGU7Ci0gICAgICAgIG1fZGVjbGFyZWRQYXJhbWV0
ZXJzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKTsKKyAgICAgICAgbV9kZWNsYXJlZFBhcmFt
ZXRlcnMuYWRkKGlkZW50LT5pbXBsKCkpOwogCiAgICAgICAgIGlmIChpc0FyZ3VtZW50cykKICAg
ICAgICAgICAgIG1fc2hhZG93c0FyZ3VtZW50cyA9IHRydWU7CkBAIC0yNDMsNyArMjQzLDcgQEAg
c3RydWN0IFNjb3BlIHsKICAgICBCaW5kaW5nUmVzdWx0IGRlY2xhcmVCb3VuZFBhcmFtZXRlcihj
b25zdCBJZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNBcmd1bWVudHMg
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmlkZW50OwotICAgICAgICBib29s
IG5ld0VudHJ5ID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwo
KSkuaXNOZXdFbnRyeTsKKyAgICAgICAgYm9vbCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJs
ZXMuYWRkKGlkZW50LT5pbXBsKCkpLmlzTmV3RW50cnk7CiAgICAgICAgIGJvb2wgaXNWYWxpZFN0
cmljdE1vZGUgPSBuZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVu
dCAmJiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFs
aWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwogICAgIApAQCAtMjYyLDcgKzI2Miw3
IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgdm9pZCB1c2VWYXJpYWJsZShjb25zdCBJZGVudGlmaWVy
KiBpZGVudCwgYm9vbCBpc0V2YWwpCiAgICAgewogICAgICAgICBtX3VzZXNFdmFsIHw9IGlzRXZh
bDsKLSAgICAgICAgbV91c2VkVmFyaWFibGVzLmFkZChpZGVudC0+c3RyaW5nKCkuaW1wbCgpKTsK
KyAgICAgICAgbV91c2VkVmFyaWFibGVzLmFkZChpZGVudC0+aW1wbCgpKTsKICAgICB9CiAKICAg
ICB2b2lkIHNldE5lZWRzRnVsbEFjdGl2YXRpb24oKSB7IG1fbmVlZHNGdWxsQWN0aXZhdGlvbiA9
IHRydWU7IH0KQEAgLTMzNyw3ICszMzcsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIGJvb2wgaXNW
YWxpZFN0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWRTdHJpY3RNb2RlOyB9CiAg
ICAgYm9vbCBzaGFkb3dzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dzQXJndW1l
bnRzOyB9CiAKLSAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlhYmxlc1RvVmVjdG9yKGNvbnN0IElk
ZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+
PiYgdmVjdG9yKQorICAgIHZvaWQgY29weUNhcHR1cmVkVmFyaWFibGVzVG9WZWN0b3IoY29uc3Qg
SWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMsIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0
cmluZ0ltcGw+PiYgdmVjdG9yKQogICAgIHsKICAgICAgICAgSWRlbnRpZmllclNldDo6aXRlcmF0
b3IgZW5kID0gY2FwdHVyZWRWYXJpYWJsZXMuZW5kKCk7CiAgICAgICAgIGZvciAoSWRlbnRpZmll
clNldDo6aXRlcmF0b3IgaXQgPSBjYXB0dXJlZFZhcmlhYmxlcy5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpIHsKQEAgLTQzNiw3ICs0MzYsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIHN0ZDo6dW5p
cXVlX3B0cjxQYXJzZWROb2RlPiBwYXJzZShQYXJzZXJFcnJvciYpOwogCiAgICAgSlNUZXh0UG9z
aXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGV4ZXIt
PnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKTsgfQotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5n
SW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKCkgeyByZXR1cm4gV1RGOjptb3ZlKG1fY2xvc2VkVmFy
aWFibGVzKTsgfQorICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3Nl
ZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6bW92ZShtX2Nsb3NlZFZhcmlhYmxlcyk7IH0KIAog
cHJpdmF0ZToKICAgICBzdHJ1Y3QgQWxsb3dJbk92ZXJyaWRlIHsKQEAgLTU2Myw3ICs1NjMsNyBA
QCBjbGFzcyBQYXJzZXIgewogICAgIFN0cmluZyBwYXJzZUlubmVyKCk7CiAKICAgICB2b2lkIGRp
ZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3Rh
Y2smLCAKLSAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smLCBDb2RlRmVh
dHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+JiYpOworICAgICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYsIENvZGVG
ZWF0dXJlcywgaW50LCBJZGVudGlmaWVyU2V0JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8gVXNlZCB0byBkZXRlcm1pbmUgdHlwZSBvZiBlcnJv
ciB0byByZXBvcnQuCiAgICAgYm9vbCBpc0Z1bmN0aW9uQm9keU5vZGUoU2NvcGVOb2RlKikgeyBy
ZXR1cm4gZmFsc2U7IH0KQEAgLTg4Nyw3ICs4ODcsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBtX3ZhckRlY2xhcmF0aW9uczsKICAgICBEZWNsYXJh
dGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBtX2Z1bmNEZWNsYXJhdGlvbnM7CiAgICAgSWRlbnRp
ZmllclNldCBtX2NhcHR1cmVkVmFyaWFibGVzOwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+IG1fY2xvc2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0lt
cGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKICAgICBDb2RlRmVhdHVyZXMgbV9mZWF0dXJlczsKICAg
ICBpbnQgbV9udW1Db25zdGFudHM7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1
NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uNWUzZmRmZmRkYTJhNmM3ZDIxY2E0M2M2ZDU1
MmQ5OTYyOGQ3NDE4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVk
ZSAiUGFyc2VyVG9rZW5zLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDAsOCArNDEsOCBAQCBzdHJ1Y3QgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0
aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKLSAgICBW
ZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwotICAgIFZlY3RvcjxSZWZQ
dHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwogCiAjaWYgQ09NUElMRVIoTVNWQykK
QEAgLTgyLDEzICs4MywxMyBAQCBjbGFzcyBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSB7CiAgICAg
dW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJs
ZXNDb3VudDsKIAotICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1
cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQotICAgIFN0cmluZ0lt
cGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJ
bXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQorICAgIFVuaXF1ZWRT
dHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8VW5p
cXVlZFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CisgICAgVW5pcXVlZFN0cmluZ0ltcGwq
KiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxVbmlxdWVkU3Ry
aW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIAogcHJpdmF0
ZToKICAgICBTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCi0gICAgU3RyaW5nSW1wbCogbV92YXJpYWJsZXNb
MF07CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdmFyaWFibGVzWzBdOwogfTsKIAogaW5saW5l
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKQpAQCAt
MTAwLDcgKzEwMSw3IEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtKCkKIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0+IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUoY29uc3QgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAgICAgc2l6
ZV90IHZhcmlhYmxlQ291bnQgPSBwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpICsg
cGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKTsKLSAgICBzaXplX3Qgb2JqZWN0U2l6ZSA9
IHNpemVvZihTb3VyY2VQcm92aWRlckNhY2hlSXRlbSkgKyBzaXplb2YoU3RyaW5nSW1wbCopICog
dmFyaWFibGVDb3VudDsKKyAgICBzaXplX3Qgb2JqZWN0U2l6ZSA9IHNpemVvZihTb3VyY2VQcm92
aWRlckNhY2hlSXRlbSkgKyBzaXplb2YoVW5pcXVlZFN0cmluZ0ltcGwqKSAqIHZhcmlhYmxlQ291
bnQ7CiAgICAgdm9pZCogc2xvdCA9IGZhc3RNYWxsb2Mob2JqZWN0U2l6ZSk7CiAgICAgcmV0dXJu
IHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4obmV3IChzbG90KSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbShwYXJhbWV0ZXJzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKaW5kZXggY2VhYmQyNTJk
MGQ4Y2MyYTM4YTc2ODkwYzY4ZDI4Mzk0YTY2N2RmYi4uMjFiYzRjN2NlZmRlODY3ZDhhYjUxYzU3
MmJlMTU5NzliZTgxMjBmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcApAQCAtNTIsNyArNTIsMTIgQEAKIHsKIH0KIAotYm9v
bCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0
Citib29sIENvbW1vbklkZW50aWZpZXJzOjppc1ByaXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9idWlsdGluTmFtZXMtPmlzUHJpdmF0ZU5hbWUodWlkKTsK
K30KKworYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShVbmlxdWVkU3RyaW5n
SW1wbCYgdWlkKSBjb25zdAogewogICAgIHJldHVybiBtX2J1aWx0aW5OYW1lcy0+aXNQcml2YXRl
TmFtZSh1aWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKaW5kZXggZjc1NzRjNmExN2ZmMDZlZGY3ZWM3Y2JhZTA4OGNlZTkzZjI3
YmQ2Ny4uNGQ2YzVkYTYyMTg2MDVhY2UxZDUyMDIyZDJkZWIyYTBiMzI1MWYyNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0z
MjQsNyArMzI0LDggQEAKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VB
Q0hfV0VMTF9LTk9XTl9TWU1CT0woSlNDX0lERU5USUZJRVJfREVDTEFSRV9QUklWQVRFX1dFTExf
S05PV05fU1lNQk9MX0dMT0JBTCkKICN1bmRlZiBKU0NfSURFTlRJRklFUl9ERUNMQVJFX1BSSVZB
VEVfV0VMTF9LTk9XTl9TWU1CT0xfR0xPQkFMCiAKLSAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1l
KFN0cmluZ0ltcGwqIHVpZCkgY29uc3Q7CisgICAgICAgIGJvb2wgaXNQcml2YXRlTmFtZShTeW1i
b2xJbXBsJiB1aWQpIGNvbnN0OworICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0
cmluZ0ltcGwmIHVpZCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaXNQcml2YXRlTmFtZShjb25zdCBJ
ZGVudGlmaWVyJikgY29uc3Q7CiAKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0
ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSWRlbnRpZmllci5oCmluZGV4IDI5MWNkYmUxOTA3NjczOWQ3YmVmMTk4ZTliNjc4Mjg1
ZDEwMWRjNzcuLmExOWNlNzhmYjcyMjRjMWM0MzVmZjA1YmQ5ZjY2M2Y1ZTNmZDdkOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvV1RGVGhy
ZWFkRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTkyLDcgKzkzLDcgQEAgY2xhc3MgSWRlbnRpZmllciB7
CiAgICAgSWRlbnRpZmllcihFbXB0eUlkZW50aWZpZXJGbGFnKSA6IG1fc3RyaW5nKFN0cmluZ0lt
cGw6OmVtcHR5KCkpIHsgQVNTRVJUKG1fc3RyaW5nLmltcGwoKS0+aXNBdG9taWMoKSk7IH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KLSAg
ICBBdG9taWNTdHJpbmdJbXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QXRv
bWljU3RyaW5nSW1wbCo+KG1fc3RyaW5nLmltcGwoKSk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1w
bCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXF1ZWRTdHJpbmdJbXBsKj4o
bV9zdHJpbmcuaW1wbCgpKTsgfQogCiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyaW5nLmxlbmd0aCgpOyB9CiAKQEAgLTEyMyw4ICsxMjQsOCBAQCBjbGFzcyBJZGVudGlmaWVy
IHsKICAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tU3RyaW5nKEV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21TdHJpbmcoRXhlY1N0YXRlKiwgY29u
c3QgY2hhciopOwogCi0gICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChWTSosIFN0cmluZ0lt
cGwqIHVpZCk7Ci0gICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChFeGVjU3RhdGUqLCBTdHJp
bmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoVk0qLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKEV4ZWNTdGF0
ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21V
aWQoY29uc3QgUHJpdmF0ZU5hbWUmKTsKIAogICAgIHN0YXRpYyBJZGVudGlmaWVyIGNyZWF0ZUxD
aGFyRnJvbVVDaGFyKFZNKiB2bSwgY29uc3QgVUNoYXIqIHMsIGludCBsZW5ndGgpIHsgcmV0dXJu
IElkZW50aWZpZXIodm0sIGFkZDgodm0sIHMsIGxlbmd0aCkpOyB9CkBAIC0xNzQsOCArMTc1LDEw
IEBAIGNsYXNzIElkZW50aWZpZXIgewogICAgIElkZW50aWZpZXIoVk0qIHZtLCBjb25zdCBTdHJp
bmcmIHN0cmluZykgOiBtX3N0cmluZyhhZGQodm0sIHN0cmluZy5pbXBsKCkpKSB7IEFTU0VSVCht
X3N0cmluZy5pbXBsKCktPmlzQXRvbWljKCkpOyB9CiAgICAgSWRlbnRpZmllcihWTSogdm0sIFN0
cmluZ0ltcGwqIHJlcCkgOiBtX3N0cmluZyhhZGQodm0sIHJlcCkpIHsgQVNTRVJUKG1fc3RyaW5n
LmltcGwoKS0+aXNBdG9taWMoKSk7IH0KIAotICAgIGVudW0gVW5pcXVlSWRlbnRpZmllckZsYWcg
eyBVbmlxdWVJZGVudGlmaWVyIH07Ci0gICAgSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyRmxh
ZywgU3RyaW5nSW1wbCogdWlkKSA6IG1fc3RyaW5nKHVpZCkgeyBBU1NFUlQobV9zdHJpbmcuaW1w
bCgpLT5pc1N5bWJvbCgpKTsgfQorICAgIGV4cGxpY2l0IElkZW50aWZpZXIoU3ltYm9sSW1wbCog
dWlkKQorICAgICAgICA6IG1fc3RyaW5nKHVpZCkKKyAgICB7CisgICAgfQogCiAgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIENoYXJUeXBlPgogICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVpbnQzMl90
IHRvVUludDMyRnJvbUNoYXJhY3RlcnMoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVuc2ln
bmVkIGxlbmd0aCwgYm9vbCYgb2spOwpAQCAtMjcxLDcgKzI3NCw3IEBAIGlubGluZSBib29sIElk
ZW50aWZpZXI6OmVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIHIsIGNvbnN0IFVDaGFyKiBzLCB1bnNp
Z25lZCBsZW5nCiAKIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8dWludDMyX3Q+IHBhcnNlSW5kZXgo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1
aWQgPSBpZGVudGlmaWVyLmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gaWRl
bnRpZmllci5pbXBsKCk7CiAgICAgaWYgKCF1aWQpCiAgICAgICAgIHJldHVybiBOdWxsb3B0Owog
ICAgIGlmICh1aWQtPmlzU3ltYm9sKCkpCkBAIC0yNzksOSArMjgyLDkgQEAgaW5saW5lIGJvb2wg
SWRlbnRpZmllcjo6ZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogciwgY29uc3QgVUNoYXIqIHMsIHVu
c2lnbmVkIGxlbmcKICAgICByZXR1cm4gcGFyc2VJbmRleCgqdWlkKTsKIH0KIAotc3RydWN0IElk
ZW50aWZpZXJSZXBIYXNoIDogUHRySGFzaDxSZWZQdHI8U3RyaW5nSW1wbD4+IHsKLSAgICBzdGF0
aWMgdW5zaWduZWQgaGFzaChjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4g
a2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhh
c2goU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNo
KCk7IH0KK3N0cnVjdCBJZGVudGlmaWVyUmVwSGFzaCA6IFB0ckhhc2g8UmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPj4geworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFz
aCgpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkg
eyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOyB9CiB9OwogCiBzdHJ1Y3Qg
SWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8aW50PiB7CkBAIC0yODks
OCArMjkyLDggQEAgc3RydWN0IElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHMgOiBIYXNoVHJh
aXRzPGludD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxz
ZTsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIGludCwgSWRlbnRp
ZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+PiwgSWRlbnRpZmllck1h
cEluZGV4SGFzaFRyYWl0cz4gSWRlbnRpZmllck1hcDsKLXR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJ
bXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIElk
ZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHM+IEJvcnJvd2VkSWRlbnRpZmllck1hcDsKK3R5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBpbnQsIElkZW50aWZpZXJSZXBI
YXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+LCBJZGVudGlmaWVyTWFw
SW5kZXhIYXNoVHJhaXRzPiBJZGVudGlmaWVyTWFwOwordHlwZWRlZiBIYXNoTWFwPFVuaXF1ZWRT
dHJpbmdJbXBsKiwgaW50LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxVbmlxdWVkU3Ry
aW5nSW1wbCo+LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBCb3Jyb3dlZElkZW50aWZp
ZXJNYXA7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaAppbmRleCA1MDZmYTdhMjE2YWU5YTk5ODEz
M2MyOTZhNDE0NmZjYTdlNzZkZGEwLi43MTQ4YjIxMjgzYTVkMjdlYmZlODJkNjUxNzRhZDZkOWVh
YTk3ZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlm
aWVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZp
ZXJJbmxpbmVzLmgKQEAgLTcwLDIxICs3MCwyMSBAQCBpbmxpbmUgSWRlbnRpZmllcjo6SWRlbnRp
ZmllcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEF0b21pY1N0cmluZyYgc3RyaW5nKQogICAgIHJl
dHVybiAqQXRvbWljU3RyaW5nSW1wbDo6YWRkV2l0aFN0cmluZ1RhYmxlUHJvdmlkZXIoKnZtLCBy
KTsKIH0KIAotaW5saW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChWTSogdm0sIFN0
cmluZ0ltcGwqIHVpZCkKK2lubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0q
IHZtLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIGlmICghdWlkIHx8ICF1aWQtPmlz
U3ltYm9sKCkpCiAgICAgICAgIHJldHVybiBJZGVudGlmaWVyKHZtLCB1aWQpOwotICAgIHJldHVy
biBJZGVudGlmaWVyKFVuaXF1ZUlkZW50aWZpZXIsIHVpZCk7CisgICAgcmV0dXJuIElkZW50aWZp
ZXIoc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHVpZCkpOwogfQogCi1pbmxpbmUgSWRlbnRpZmll
ciBJZGVudGlmaWVyOjpmcm9tVWlkKEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nSW1wbCogdWlkKQor
aW5saW5lIElkZW50aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgcmV0dXJuIGZyb21VaWQoJmV4ZWMtPnZtKCks
IHVpZCk7CiB9CiAKIGlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoY29uc3Qg
UHJpdmF0ZU5hbWUmIG5hbWUpCiB7Ci0gICAgcmV0dXJuIElkZW50aWZpZXIoVW5pcXVlSWRlbnRp
ZmllciwgbmFtZS51aWQoKSk7CisgICAgcmV0dXJuIElkZW50aWZpZXIobmFtZS51aWQoKSk7CiB9
CiAKIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKaW5k
ZXggYzI0MzIwNmUzNGNiMGViOTA2MWRlYTY3ZTU3YzQ3NjRjMTg3MmI2ZC4uZDczZjc0OGUzYWY1
NzRlMTJiZmZhMTNkMjdhM2EwNjZhOTc2OWZhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAKQEAgLTEwMyw3
ICsxMDMsNyBAQCBib29sIEludGVuZGVkU3RydWN0dXJlQ2hhaW46Om1hdGNoZXMoU3RydWN0dXJl
Q2hhaW4qIGNoYWluKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEludGVuZGVk
U3RydWN0dXJlQ2hhaW46Om1heUludGVyY2VwdFN0b3JlVG8oQXRvbWljU3RyaW5nSW1wbCogdWlk
KQorYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fdmVj
dG9yLnNpemUoKTsgKytpKSB7CiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWlu
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWlu
LmgKaW5kZXggM2MwMTkxNzdkYTY1M2U5ZTc1ZjYzZTgwMWM1MTY0NDRkNDYxZDRlYi4uYTBmNTU2
NWJkMTFmZWU4YzgzNzExZjBmNTYwNTJmMjE0MzIyOWU1MyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaApAQCAtNDks
NyArNDksNyBAQCBjbGFzcyBJbnRlbmRlZFN0cnVjdHVyZUNoYWluIDogcHVibGljIFJlZkNvdW50
ZWQ8SW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbj4gewogICAgIAogICAgIGJvb2wgaXNTdGlsbFZhbGlk
KCkgY29uc3Q7CiAgICAgYm9vbCBtYXRjaGVzKFN0cnVjdHVyZUNoYWluKikgY29uc3Q7Ci0gICAg
Ym9vbCBtYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgYm9v
bCBtYXlJbnRlcmNlcHRTdG9yZVRvKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIGJvb2wg
aXNOb3JtYWxpemVkKCk7CiAgICAgCiAgICAgYm9vbCB0YWtlc1Nsb3dQYXRoSW5ERkdGb3JJbXB1
cmVQcm9wZXJ0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCmluZGV4IDNhZTYyYzVmNGZkNTJhMjQ4NmMyNGJmNDE3NmUyOTJhNGJiZjZm
NmUuLjNkM2IyMDQ5ODk4MmNkM2VjMjE3NTUxNjY1MjFkYWMxY2FlNWZiZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTQ3MCw3
ICs0NzAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVBy
aXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERvbnREZWxl
dGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5h
bWVzLT5hcnJheUl0ZXJhdGlvbktpbmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0
ZXJhdGVWYWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtl
eVZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+c3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSwgU3ltYm9sOjpjcmVh
dGUodm0sIHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUsIFN5bWJvbDo6Y3JlYXRl
KHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4odm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JT
eW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLlRv
TGVuZ3RoUHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZUZ1bmNUb0xlbmd0aCwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuVG9JbnRlZ2VyUHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZUZ1
bmNUb0ludGVnZXIsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA4NGFhZjhlYWVlZjkyNmI4
OGFmYWJlMmEwOGMxZTBiNDEyZDhhMmM4Li4zNWE1YzYxZGI3OTRiNTE3MGI3NTRiNmQ3MDA4ZTM4
ZWRjZjEwZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29r
dXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtMTAw
LDcgKzEwMCw3IEBAIHN0cnVjdCBIYXNoVGFibGUgewogICAgICAgICBpZiAocHJvcGVydHlOYW1l
LmlzU3ltYm9sKCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICBTdHJp
bmdJbXBsKiB1aWQgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAgICAgICAgIGlmICghdWlkKQogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcERh
dGEuaAppbmRleCAzOTM0YTViNWM0NTVhNTk3ODE3NWU3MzllMGExYmEyZDMwMGY1MjljLi4zYjU4
NjNlZmNkZjI3NzZlYjFiODQ1OTAyYjM4NzA4OTQzNjY4YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFwRGF0YS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgY2xhc3MgTWFwRGF0YUlt
cGwgewogICAgIHR5cGVkZWYgSGFzaE1hcDxKU0NlbGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6
OkRlZmF1bHRIYXNoPEpTQ2VsbCo+OjpIYXNoLCBXVEY6Okhhc2hUcmFpdHM8SlNDZWxsKj4sIElu
ZGV4VHJhaXRzPiBDZWxsS2V5ZWRNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPEVuY29kZWRKU1Zh
bHVlLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZUhhc2gsIEVuY29kZWRKU1ZhbHVlSGFzaFRyYWl0
cywgSW5kZXhUcmFpdHM+IFZhbHVlS2V5ZWRNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmlu
Z0ltcGwqLCBpbnQzMl90LCB0eXBlbmFtZSBXVEY6OkRlZmF1bHRIYXNoPFN0cmluZ0ltcGwqPjo6
SGFzaCwgV1RGOjpIYXNoVHJhaXRzPFN0cmluZ0ltcGwqPiwgSW5kZXhUcmFpdHM+IFN0cmluZ0tl
eWVkTWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgaW50MzJfdCwg
dHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxBdG9taWNTdHJpbmdJbXBsKj46Okhhc2gsIFdURjo6
SGFzaFRyYWl0czxBdG9taWNTdHJpbmdJbXBsKj4sIEluZGV4VHJhaXRzPiBTeW1ib2xLZXllZE1h
cDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8U3ltYm9sSW1wbCosIGludDMyX3QsIHR5cGVuYW1lIFdU
Rjo6UHRySGFzaDxTeW1ib2xJbXBsKj4sIFdURjo6SGFzaFRyYWl0czxTeW1ib2xJbXBsKj4sIElu
ZGV4VHJhaXRzPiBTeW1ib2xLZXllZE1hcDsKIAogICAgIHNpemVfdCBjYXBhY2l0eUluQnl0ZXMo
KSB7IHJldHVybiBtX2NhcGFjaXR5ICogc2l6ZW9mKEVudHJ5KTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzUw
OTM2MmI0YmEwZDNhZWE4NGNiYzAwYThhNzJiMWQ3MGFhZGRmMS4uMTkwYTA1NThkZGY3ZDYwNzc1
ZjU5YjM1YmNmODUxZjgzYTYxNzQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtMjQyLDkgKzI0Miw5IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eVN5
bWJvbHMoRXhlY1N0YXRlKiBlCiAgICAgSlNBcnJheSogbmFtZXMgPSBjb25zdHJ1Y3RFbXB0eUFy
cmF5KGV4ZWMsIDApOwogICAgIHNpemVfdCBudW1Qcm9wZXJ0aWVzID0gcHJvcGVydGllcy5zaXpl
KCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1Qcm9wZXJ0aWVzOyBpKyspIHsKLSAg
ICAgICAgQXRvbWljU3RyaW5nSW1wbCogaW1wbCA9IHByb3BlcnRpZXNbaV0uaW1wbCgpOwotICAg
ICAgICBpZiAoaW1wbC0+aXNTeW1ib2woKSAmJiAhZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJp
dmF0ZU5hbWUoaW1wbCkpCi0gICAgICAgICAgICBuYW1lcy0+cHVzaChleGVjLCBTeW1ib2w6OmNy
ZWF0ZShleGVjLT52bSgpLCBpbXBsKSk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBpbXBs
ID0gcHJvcGVydGllc1tpXS5pbXBsKCk7CisgICAgICAgIGlmIChpbXBsLT5pc1N5bWJvbCgpICYm
ICFleGVjLT5wcm9wZXJ0eU5hbWVzKCkuaXNQcml2YXRlTmFtZSgqaW1wbCkpCisgICAgICAgICAg
ICBuYW1lcy0+cHVzaChleGVjLCBTeW1ib2w6OmNyZWF0ZShleGVjLT52bSgpLCBzdGF0aWNfY2Fz
dDxTeW1ib2xJbXBsKj4oaW1wbCkpKTsKICAgICB9CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShuYW1lcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cml2YXRlTmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUu
aAppbmRleCBjY2NjYzM5ZmE5MzkxM2IzZmE2MWM3NTBlNjhkYzcyOTE2ZTViNzE0Li41MTdjNzk4
NDdmNDBjMTQ2ZWQyMjkxODIyZjM0NTNmNWQxZDMxZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUHJp
dmF0ZU5hbWVfaAogI2RlZmluZSBQcml2YXRlTmFtZV9oCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtMzcsMjQgKzM3LDI0IEBAIGNsYXNzIFByaXZhdGVOYW1lIHsKICAgICB7
CiAgICAgfQogCi0gICAgZXhwbGljaXQgUHJpdmF0ZU5hbWUoU3RyaW5nSW1wbCogdWlkKQorICAg
IGV4cGxpY2l0IFByaXZhdGVOYW1lKFN5bWJvbEltcGwqIHVpZCkKICAgICAgICAgOiBtX2ltcGwo
dWlkKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1faW1wbC0+aXNTeW1ib2woKSk7CiAgICAgfQog
Ci0gICAgZXhwbGljaXQgUHJpdmF0ZU5hbWUoY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKKyAg
ICBlbnVtIERlc2NyaXB0aW9uVGFnIHsgRGVzY3JpcHRpb24gfTsKKyAgICBleHBsaWNpdCBQcml2
YXRlTmFtZShEZXNjcmlwdGlvblRhZywgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKICAgICAg
ICAgOiBtX2ltcGwoU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKGRlc2NyaXB0aW9uLmltcGwoKSkp
CiAgICAgewogICAgIH0KIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihtX2ltcGwuZ2V0KCkpOyB9CisgICAg
U3ltYm9sSW1wbCogdWlkKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmdldCgpOyB9CiAKICAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgUHJpdmF0ZU5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1
aWQoKSA9PSBvdGhlci51aWQoKTsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQcml2YXRl
TmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIHVpZCgpICE9IG90aGVyLnVpZCgpOyB9CiAKIHBy
aXZhdGU6Ci0gICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1faW1wbDsKKyAgICBSZWZQdHI8U3ltYm9s
SW1wbD4gbV9pbXBsOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmgKaW5kZXggYWM5NWNhMTc1NjBlZTE3N2ZhM2M2
YThmYjg5ODA1ZDVjNjllZjViOC4uYjA2OGI5OTFkZWFkNTU4MTRjNDlkMjA3NDI4YmNiNmQxNjM3
ZWRjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlN
YXBIYXNoVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0
eU1hcEhhc2hUYWJsZS5oCkBAIC0zNSw3ICszNSw3IEBACiAjZGVmaW5lIERVTVBfUFJPUEVSVFlN
QVBfU1RBVFMgMAogI2RlZmluZSBEVU1QX1BST1BFUlRZTUFQX0NPTExJU0lPTlMgMAogCi0jZGVm
aW5lIFBST1BFUlRZX01BUF9ERUxFVEVEX0VOVFJZX0tFWSAoKEF0b21pY1N0cmluZ0ltcGwqKTEp
CisjZGVmaW5lIFBST1BFUlRZX01BUF9ERUxFVEVEX0VOVFJZX0tFWSAoKFVuaXF1ZWRTdHJpbmdJ
bXBsKikxKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMTMzLDcgKzEzMyw3IEBAIGNsYXNzIFBy
b3BlcnR5VGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oQ2VsbFR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLSAgICB0eXBlZGVmIEF0b21p
Y1N0cmluZ0ltcGwqIEtleVR5cGU7CisgICAgdHlwZWRlZiBVbmlxdWVkU3RyaW5nSW1wbCogS2V5
VHlwZTsKICAgICB0eXBlZGVmIFByb3BlcnR5TWFwRW50cnkgVmFsdWVUeXBlOwogCiAgICAgLy8g
VGhlIGluIG9yZGVyIGl0ZXJhdG9yIHByb3ZpZGVzIG92ZXJsb2FkZWQgKiBhbmQgLT4gdG8gYWNj
ZXNzIHRoZSBWYWx1ZSBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgKaW5kZXggNGYyY2E4NzJiZTM3MjNmY2I3MDlh
MjM1OGE2NThkOTgyNTk2ZDc1MC4uMjZkMGJmMDM4NWViZmFjMWE0YTAyYzNiMDAxM2Q0ZmRmYmJh
YjI2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlO
YW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgK
QEAgLTM0LDE5ICszNCwxOCBAQAogCiBjbGFzcyBQcm9wZXJ0eU5hbWUgewogcHVibGljOgotICAg
IFByb3BlcnR5TmFtZShBdG9taWNTdHJpbmdJbXBsKiBwcm9wZXJ0eU5hbWUpCisgICAgUHJvcGVy
dHlOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsKiBwcm9wZXJ0eU5hbWUpCiAgICAgICAgIDogbV9pbXBs
KHByb3BlcnR5TmFtZSkKICAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9pbXBsIHx8IG1faW1wbC0+
aXNBdG9taWMoKSB8fCBtX2ltcGwtPmlzU3ltYm9sKCkpOwogICAgIH0KIAogICAgIFByb3BlcnR5
TmFtZShjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCi0gICAgICAgIDogUHJvcGVydHlO
YW1lKHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUuaW1wbCgpKSkK
KyAgICAgICAgOiBQcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lLmltcGwoKSkKICAgICB7CiAgICAg
fQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IFByaXZhdGVOYW1lJiBwcm9wZXJ0eU5hbWUpCi0g
ICAgICAgIDogbV9pbXBsKHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5h
bWUudWlkKCkpKQorICAgICAgICA6IG1faW1wbChwcm9wZXJ0eU5hbWUudWlkKCkpCiAgICAgewog
ICAgICAgICBBU1NFUlQobV9pbXBsKTsKICAgICAgICAgQVNTRVJUKG1faW1wbC0+aXNTeW1ib2wo
KSk7CkBAIC01NywxNCArNTYsMTQgQEAgY2xhc3MgUHJvcGVydHlOYW1lIHsKICAgICAgICAgcmV0
dXJuIG1faW1wbCAmJiBtX2ltcGwtPmlzU3ltYm9sKCk7CiAgICAgfQogCi0gICAgQXRvbWljU3Ry
aW5nSW1wbCogdWlkKCkgY29uc3QKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKCkgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX2ltcGw7CiAgICAgfQogCiAgICAgQXRvbWljU3RyaW5n
SW1wbCogcHVibGljTmFtZSgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gKCFtX2ltcGwg
fHwgbV9pbXBsLT5pc1N5bWJvbCgpKSA/IG51bGxwdHIgOiBtX2ltcGw7CisgICAgICAgIHJldHVy
biAoIW1faW1wbCB8fCBtX2ltcGwtPmlzU3ltYm9sKCkpID8gbnVsbHB0ciA6IHN0YXRpY19jYXN0
PEF0b21pY1N0cmluZ0ltcGwqPihtX2ltcGwpOwogICAgIH0KIAogICAgIHZvaWQgZHVtcChQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdApAQCAtNzYsNyArNzUsNyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWUg
ewogICAgIH0KIAogcHJpdmF0ZToKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBtX2ltcGw7CisgICAg
VW5pcXVlZFN0cmluZ0ltcGwqIG1faW1wbDsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0o
UHJvcGVydHlOYW1lIGEsIGNvbnN0IElkZW50aWZpZXImIGIpCkBAIC0xMTYsNyArMTE1LDcgQEAg
Y2xhc3MgUHJvcGVydHlOYW1lIHsKIAogQUxXQVlTX0lOTElORSBPcHRpb25hbDx1aW50MzJfdD4g
cGFyc2VJbmRleChQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAgIEF0b21pY1N0cmlu
Z0ltcGwqIHVpZCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgIGlmICghdWlkKQogICAgICAgICByZXR1cm4g
TnVsbG9wdDsKICAgICBpZiAodWlkLT5pc1N5bWJvbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmgKaW5kZXggMzI3OWY4MzdmOGY5ZDZk
ZjYwZmE4ZmJlNzVlZDVhMmQ1MzNkMGIzZC4uOTFhZjNhMjc4ZTY1OWMwYzhhZWJmOGZlNmVjOTFm
ZTBkOTJhZWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
cGVydHlOYW1lQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9w
ZXJ0eU5hbWVBcnJheS5oCkBAIC02OCw4ICs2OCw4IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5
IHsKICAgICB9CiAKICAgICB2b2lkIGFkZChjb25zdCBJZGVudGlmaWVyJik7Ci0gICAgdm9pZCBh
ZGQoQXRvbWljU3RyaW5nSW1wbCopOwotICAgIHZvaWQgYWRkS25vd25VbmlxdWUoQXRvbWljU3Ry
aW5nSW1wbCopOworICAgIHZvaWQgYWRkKFVuaXF1ZWRTdHJpbmdJbXBsKik7CisgICAgdm9pZCBh
ZGRLbm93blVuaXF1ZShVbmlxdWVkU3RyaW5nSW1wbCopOwogCiAgICAgSWRlbnRpZmllciYgb3Bl
cmF0b3JbXSh1bnNpZ25lZCBpKSB7IHJldHVybiBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3Rvcigp
W2ldOyB9CiAgICAgY29uc3QgSWRlbnRpZmllciYgb3BlcmF0b3JbXSh1bnNpZ25lZCBpKSBjb25z
dCB7IHJldHVybiBtX2RhdGEtPnByb3BlcnR5TmFtZVZlY3RvcigpW2ldOyB9CkBAIC04Nyw3ICs4
Nyw3IEBAIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5IHsKIAogcHJpdmF0ZToKICAgICBSZWZQdHI8
UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBtX2RhdGE7Ci0gICAgSGFzaFNldDxBdG9taWNTdHJpbmdJ
bXBsKj4gbV9zZXQ7CisgICAgSGFzaFNldDxVbmlxdWVkU3RyaW5nSW1wbCo+IG1fc2V0OwogICAg
IFZNKiBtX3ZtOwogfTsKIApAQCAtOTYsMTIgKzk2LDEyIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBQ
cm9wZXJ0eU5hbWVBcnJheTo6YWRkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAgICAg
YWRkKGlkZW50aWZpZXIuaW1wbCgpKTsKIH0KIAotQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5
TmFtZUFycmF5OjphZGRLbm93blVuaXF1ZShBdG9taWNTdHJpbmdJbXBsKiBpZGVudGlmaWVyKQor
QUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGRLbm93blVuaXF1ZShVbmlx
dWVkU3RyaW5nSW1wbCogaWRlbnRpZmllcikKIHsKICAgICBtX2RhdGEtPnByb3BlcnR5TmFtZVZl
Y3RvcigpLmFwcGVuZChJZGVudGlmaWVyOjpmcm9tVWlkKG1fdm0sIGlkZW50aWZpZXIpKTsKIH0K
IAotQUxXQVlTX0lOTElORSB2b2lkIFByb3BlcnR5TmFtZUFycmF5OjphZGQoQXRvbWljU3RyaW5n
SW1wbCogaWRlbnRpZmllcikKK0FMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6
YWRkKFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVudGlmaWVyKQogewogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBzZXRUaHJlc2hvbGQgPSAyMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggYzFmNzE0ZGU2ODlmNGE0OWNiNTgwNjQyMDY5Zjk5MzNl
OTVlN2Q0Yy4uODhkMWY4MzU5N2I0M2JkMzEyYjdmZmE3NzhlOTI4ODI2ZDc3MDY5MCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC02MCw3ICs2MCw3
IEBACiBzdGF0aWMgSGFzaFNldDxTdHJ1Y3R1cmUqPiYgbGl2ZVN0cnVjdHVyZVNldCA9ICoobmV3
IEhhc2hTZXQ8U3RydWN0dXJlKj4pOwogI2VuZGlmCiAKLWJvb2wgU3RydWN0dXJlVHJhbnNpdGlv
blRhYmxlOjpjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpIGNvbnN0Citib29sIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFpbnMoVW5pcXVl
ZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKIHsKICAgICBpZiAo
aXNVc2luZ1NpbmdsZVNsb3QoKSkgewogICAgICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBz
aW5nbGVUcmFuc2l0aW9uKCk7CkBAIC02OSw3ICs2OSw3IEBAIGJvb2wgU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlOjpjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJp
YnV0CiAgICAgcmV0dXJuIG1hcCgpLT5nZXQoc3RkOjptYWtlX3BhaXIocmVwLCBhdHRyaWJ1dGVz
KSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0
KEF0b21pY1N0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQgYXR0cmlidXRlcykgY29uc3QKK2lubGlu
ZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6Z2V0KFVuaXF1ZWRTdHJpbmdJ
bXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0CiB7CiAgICAgaWYgKGlzVXNpbmdT
aW5nbGVTbG90KCkpIHsKICAgICAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gc2luZ2xlVHJh
bnNpdGlvbigpOwpAQCAtMzE2LDcgKzMxNiw3IEBAIHZvaWQgU3RydWN0dXJlOjptYXRlcmlhbGl6
ZVByb3BlcnR5TWFwKFZNJiB2bSkKICAgICBjaGVja09mZnNldENvbnNpc3RlbmN5KCk7CiB9CiAK
LVN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3Ry
dWN0dXJlSW1wbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQorU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIEFTU0VSVCghc3RydWN0dXJl
LT5pc0RpY3Rpb25hcnkoKSk7CiAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CkBA
IC0zMzYsNyArMzM2LDcgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiBzdHJ1Y3QKICAgICByZXR1cm4gYWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCBwcm9w
ZXJ0eU5hbWUudWlkKCksIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLVN0cnVjdHVyZSogU3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVu
dGx5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCitTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0
cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBDb25jdXJyZW50SklUTG9j
a2VyIGxvY2tlcihzdHJ1Y3R1cmUtPm1fbG9jayk7CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVz
LCBvZmZzZXQpOwpAQCAtODQyLDcgKzg0Miw3IEBAIFByb3BlcnR5VGFibGUqIFN0cnVjdHVyZTo6
Y29weVByb3BlcnR5VGFibGVGb3JQaW5uaW5nKFZNJiB2bSkKICAgICByZXR1cm4gUHJvcGVydHlU
YWJsZTo6Y3JlYXRlKHZtLCBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9p
bmxpbmVDYXBhY2l0eSkpOwogfQogCi1Qcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1
cnJlbnRseShBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKQorUHJv
cGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25jdXJyZW50bHkoVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCwgdW5zaWduZWQmIGF0dHJpYnV0ZXMpCiB7CiAgICAgUHJvcGVydHlPZmZzZXQgcmVzdWx0
ID0gaW52YWxpZE9mZnNldDsKICAgICAKQEAgLTg4Miw3ICs4ODIsNyBAQCBQcm9wZXJ0eU9mZnNl
dCBTdHJ1Y3R1cmU6OmFkZChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2ln
bmVkIGF0dHJpYgogICAgIGlmIChhdHRyaWJ1dGVzICYgRG9udEVudW0pCiAgICAgICAgIHNldEhh
c05vbkVudW1lcmFibGVQcm9wZXJ0aWVzKHRydWUpOwogCi0gICAgQXRvbWljU3RyaW5nSW1wbCog
cmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBw
cm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBpZiAoIXByb3BlcnR5VGFibGUoKSkKICAgICAgICAg
Y3JlYXRlUHJvcGVydHlNYXAobG9ja2VyLCB2bSk7CkBAIC05MDEsNyArOTAxLDcgQEAgUHJvcGVy
dHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmUoUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKICAg
ICAKICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiByZXAg
PSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCA9IHByb3Bl
cnR5TmFtZS51aWQoKTsKIAogICAgIGlmICghcHJvcGVydHlUYWJsZSgpKQogICAgICAgICByZXR1
cm4gaW52YWxpZE9mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmgKaW5kZXggMTY1ZjZiYTEzZTJiOTBkOWVjYmRiZjk2NGI5ZjVmYTUwZTcwOTk2MS4uYzBlNjU2
Mjk4NWEzN2ViY2E3YjIzMWMxM2QxZDRjN2VhNzk1MzM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAgLTQ4LDcgKzQ4LDcgQEAKICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogCkBAIC03Myw3ICs3Myw3IEBACiBzdGF0aWMgY29uc3QgdW5zaWduZWQgb3V0T2ZMaW5lR3Jv
d3RoRmFjdG9yID0gMjsKIAogc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewotICAgIEF0b21pY1N0
cmluZ0ltcGwqIGtleTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCoga2V5OwogICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldDsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwogCkBAIC04NCw3ICs4NCw3
IEBAIHN0cnVjdCBQcm9wZXJ0eU1hcEVudHJ5IHsKICAgICB7CiAgICAgfQogICAgIAotICAgIFBy
b3BlcnR5TWFwRW50cnkoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCisgICAgUHJvcGVydHlNYXBFbnRyeShVbmlxdWVkU3Ry
aW5nSW1wbCoga2V5LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
CiAgICAgICAgIDoga2V5KGtleSkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQogICAgICAgICAs
IGF0dHJpYnV0ZXMoYXR0cmlidXRlcykKQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFzcyBTdHJ1Y3R1
cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBzdGF0aWMgdm9pZCBkdW1wU3RhdGlzdGlj
cygpOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVy
dHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYsIFB1dFByb3BlcnR5U2xvdDo6Q29udGV4dCA9IFB1dFBy
b3BlcnR5U2xvdDo6VW5rbm93bkNvbnRleHQpOwotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJl
KiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9m
ZnNldCYpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhp
c3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwgVW5pcXVlZFN0cmluZ0ltcGwq
IHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRl
cywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiByZW1vdmVQcm9wZXJ0
eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5T2Zmc2V0
Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKQEAgLTI4
OCw4ICsyODgsOCBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgogICAgIHZvaWQgZm9yRWFjaFByb3BlcnR5Q29u
Y3VycmVudGx5KGNvbnN0IEZ1bmN0b3ImKTsKICAgICAKLSAgICBQcm9wZXJ0eU9mZnNldCBnZXRD
b25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKLSAgICBQcm9wZXJ0eU9mZnNldCBn
ZXRDb25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRl
cyk7CisgICAgUHJvcGVydHlPZmZzZXQgZ2V0Q29uY3VycmVudGx5KFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpOworICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShVbmlxdWVkU3RyaW5n
SW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcyk7CiAgICAgCiAgICAgVmVjdG9yPFByb3Bl
cnR5TWFwRW50cnk+IGdldFByb3BlcnRpZXNDb25jdXJyZW50bHkoKTsKICAgICAKQEAgLTQ4Miw3
ICs0ODIsNyBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIAogICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogICAgIAotICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJ
bXBsKFN0cnVjdHVyZSosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRl
cywgUHJvcGVydHlPZmZzZXQmKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogCiAgICAg
Ly8gVGhpcyB3aWxsIHJldHVybiB0aGUgc3RydWN0dXJlIHRoYXQgaGFzIGEgdXNhYmxlIHByb3Bl
cnR5IHRhYmxlLCB0aGF0IHByb3BlcnR5IHRhYmxlLAogICAgIC8vIGFuZCB0aGUgbGlzdCBvZiBz
dHJ1Y3R1cmVzIHRoYXQgd2UgdmlzaXRlZCBiZWZvcmUgd2UgZ290IHRvIGl0LiBJZiBpdCByZXR1
cm5zIGEKQEAgLTU5MCw3ICs1OTAsNyBAQCBjbGFzcyBTdHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMg
SlNDZWxsIHsKIAogICAgIFdyaXRlQmFycmllcjxKU0NlbGw+IG1fcHJldmlvdXNPclJhcmVEYXRh
OwogCi0gICAgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IG1fbmFtZUluUHJldmlvdXM7CisgICAg
UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiBtX25hbWVJblByZXZpb3VzOwogCiAgICAgY29uc3Qg
Q2xhc3NJbmZvKiBtX2NsYXNzSW5mbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCmluZGV4IGYxN2JjMWIxN2E0MDFjMGRjODkxOGM2ZGI4
MzM5YzUzMzEwODUyMzAuLjVjM2FlZDc3MTUxYTliMjM3YjY3NmFhYWRlYzViYzAxMTYyY2Y3NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
LmgKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFN0cnVjdHVyZTo6Zm9yRWFjaFByb3BlcnR5Q29u
Y3VycmVudGx5KGNvbnN0IEZ1bmN0b3ImIGZ1bmN0b3IpCiAgICAgfQogfQogCi1pbmxpbmUgUHJv
cGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRDb25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCog
dWlkKQoraW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlc0lnbm9yZWQ7
CiAgICAgcmV0dXJuIGdldENvbmN1cnJlbnRseSh1aWQsIGF0dHJpYnV0ZXNJZ25vcmVkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRp
b25UYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmgKaW5kZXggMjNjNmNhMzBkZmEzOGU0MDJiOTk1NjhhNjMwMWY1MzdlODIwNThm
ZS4uMzJjOTkyZGFmNzE0NDM1Y2I5YjIxOTc3Y2I1NzhlMjM1NGE2NDIyZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmRleGluZ1R5cGUuaCIKICNpbmNs
dWRlICJXZWFrR0NNYXAuaCIKICNpbmNsdWRlIDx3dGYvSGFzaEZ1bmN0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9Vbmlx
dWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtOTMsMTEgKzkzLDExIEBA
IGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZSB7CiAKICAgICAKICAgICBzdHJ1Y3QgSGFz
aCB7Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEF0b21pY1N0cmluZ0ltcGwqLCB1bnNpZ25l
ZD4gS2V5OworICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxVbmlxdWVkU3RyaW5nSW1wbCosIHVu
c2lnbmVkPiBLZXk7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25z
dCBLZXkmIHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBQdHJIYXNoPEF0b21pY1N0
cmluZ0ltcGwqPjo6aGFzaChwLmZpcnN0KSArIHAuc2Vjb25kOworICAgICAgICAgICAgcmV0dXJu
IFB0ckhhc2g8VW5pcXVlZFN0cmluZ0ltcGwqPjo6aGFzaChwLmZpcnN0KSArIHAuc2Vjb25kOwog
ICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgS2V5JiBhLCBjb25z
dCBLZXkmIGIpCkBAIC0xMzAsOCArMTMwLDggQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlIHsKICAgICB9CiAKICAgICBpbmxpbmUgdm9pZCBhZGQoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAg
ICBpbmxpbmUgYm9vbCBjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpIGNvbnN0OwotICAgIGlubGluZSBTdHJ1Y3R1cmUqIGdldChBdG9taWNTdHJpbmdJ
bXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0OworICAgIGlubGluZSBib29sIGNv
bnRhaW5zKFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0
OworICAgIGlubGluZSBTdHJ1Y3R1cmUqIGdldChVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBib29sIGlzVXNpbmdTaW5n
bGVTbG90KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCmlu
ZGV4IDZkNzlkMWM0NjE2ZDdjOTYwMzgzNmEyMzVlNTc3MTEyYWNmMGUzNGQuLjI1YjNjYTdjNjFi
MmRlMWQ2ZDA0MTUyOTdhY2MyODcxOWQyMDdkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N5bWJvbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sLmNwcApAQCAtNDMsMTEgKzQzLDExIEBACiAKIFN5bWJvbDo6U3ltYm9sKFZN
JiB2bSwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgOiBCYXNlKHZtLCB2bS5zeW1ib2xTdHJ1
Y3R1cmUuZ2V0KCkpCi0gICAgLCBtX3ByaXZhdGVOYW1lKHN0cmluZykKKyAgICAsIG1fcHJpdmF0
ZU5hbWUoUHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBzdHJpbmcpCiB7CiB9CiAKLVN5bWJvbDo6
U3ltYm9sKFZNJiB2bSwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorU3ltYm9sOjpTeW1ib2woVk0m
IHZtLCBTeW1ib2xJbXBsKiB1aWQpCiAgICAgOiBCYXNlKHZtLCB2bS5zeW1ib2xTdHJ1Y3R1cmUu
Z2V0KCkpCiAgICAgLCBtX3ByaXZhdGVOYW1lKHVpZCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sLmgKaW5kZXggMTliNmY0ZjJmY2FiZjA2YzE5MjhmOTBiYzg4NmFmYzA0YWMz
ZDEyNC4uN2Q1MmNhOWJjMGRkMjBhOTZjMWU1ODc3OTc0ZWIxNWUwMTg4ZTU1MiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmgKQEAgLTY0LDcgKzY0LDcgQEAgY2xhc3MgU3lt
Ym9sIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIHJldHVybiBzeW1ib2w7CiAgICAg
fQogCi0gICAgc3RhdGljIFN5bWJvbCogY3JlYXRlKFZNJiB2bSwgQXRvbWljU3RyaW5nSW1wbCog
dWlkKQorICAgIHN0YXRpYyBTeW1ib2wqIGNyZWF0ZShWTSYgdm0sIFN5bWJvbEltcGwqIHVpZCkK
ICAgICB7CiAgICAgICAgIFN5bWJvbCogc3ltYm9sID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8U3ltYm9sPih2bS5oZWFwKSkgU3ltYm9sKHZtLCB1aWQpOwogICAgICAgICBzeW1ib2wtPmZp
bmlzaENyZWF0aW9uKHZtKTsKQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3MgU3ltYm9sIGZpbmFsIDog
cHVibGljIEpTQ2VsbCB7CiAKICAgICBTeW1ib2woVk0mKTsKICAgICBTeW1ib2woVk0mLCBjb25z
dCBTdHJpbmcmKTsKLSAgICBTeW1ib2woVk0mLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAg
IFN5bWJvbChWTSYsIFN5bWJvbEltcGwqIHVpZCk7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
eW1ib2xDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNTM2M2I5YjY5NTViMjQxNTExOWE0MDI3NjYzYzBi
NTg3MzRmZDcxMi4uOTdjMWQ1OGVmZDU1NmFmNzk2MGFkMjYzYTM3MjVhN2RhYmRjOTQyOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9y
LmNwcApAQCAtNjIsNyArNjIsNyBAQAogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfV0VMTF9LTk9X
Tl9TWU1CT0xTKG5hbWUpIFwKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICNuYW1lKSwgU3ltYm9sOjpjcmVhdGUodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUjI1N5bWJvbC5pbXBsKCkpLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAjbmFtZSksIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2Fz
dDxTeW1ib2xJbXBsKj4odm0ucHJvcGVydHlOYW1lcy0+bmFtZSMjU3ltYm9sLmltcGwoKSkpLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAKIHZvaWQgU3ltYm9sQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7
CkBAIC0xMDgsOCArMTA4LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xD
b25zdHJ1Y3RvckZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCi0g
ICAgUmVmPFN0cmluZ0ltcGw+IHVpZCA9IGV4ZWMtPnZtKCkuc3ltYm9sUmVnaXN0cnkoKS5zeW1i
b2xGb3JLZXkoc3RyaW5nKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKFN5bWJvbDo6Y3Jl
YXRlKGV4ZWMtPnZtKCksIHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigmdWlkLmdldCgp
KSkpOworICAgIFJlZjxTeW1ib2xJbXBsPiB1aWQgPSBleGVjLT52bSgpLnN5bWJvbFJlZ2lzdHJ5
KCkuc3ltYm9sRm9yS2V5KHN0cmluZyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShTeW1i
b2w6OmNyZWF0ZShleGVjLT52bSgpLCAmdWlkLmdldCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgc3ltYm9sQ29uc3RydWN0b3JLZXlGb3IoRXhlY1N0YXRlKiBleGVjKQpA
QCAtMTE4LDEzICsxMTgsMTIgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzeW1ib2xD
b25zdHJ1Y3RvcktleUZvcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKCFzeW1ib2xWYWx1ZS5p
c1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9y
KGV4ZWMpKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCA9IGFzU3ltYm9sKHN5bWJvbFZh
bHVlKS0+cHJpdmF0ZU5hbWUoKS51aWQoKTsKLSAgICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsK
KyAgICBTeW1ib2xJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1ib2xWYWx1ZSktPnByaXZhdGVOYW1l
KCkudWlkKCk7CiAgICAgaWYgKCF1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkpCiAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICBBU1NFUlQodWlkLT5zeW1i
b2xSZWdpc3RyeSgpID09ICZleGVjLT52bSgpLnN5bWJvbFJlZ2lzdHJ5KCkpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhlYywgZXhlYy0+dm0oKS5zeW1ib2xSZWdpc3Ry
eSgpLmtleUZvclN5bWJvbCh1aWQpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0
cmluZyhleGVjLCBleGVjLT52bSgpLnN5bWJvbFJlZ2lzdHJ5KCkua2V5Rm9yU3ltYm9sKCp1aWQp
KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sVGFibGUuY3BwCmluZGV4IDU5MzJlNjE0NjExYTAzM2IxMTZkYmY5ZTVlYTNk
MjMyMjZjMzNmMTQuLjk3NmMxNjdiYWY3YTA3OTE1YzRmNjQ4Y2NlMzdmODhjYWFmYTIxNTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5jcHAKQEAgLTE5
Myw3ICsxOTMsNyBAQCB2b2lkIFN5bWJvbFRhYmxlOjpwcmVwYXJlRm9yVHlwZVByb2ZpbGluZyhj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJikKICAgICB9CiB9CiAKLUdsb2JhbFZhcmlhYmxlSUQg
U3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tl
ciYsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorR2xvYmFsVmFyaWFibGVJRCBTeW1ib2xUYWJs
ZTo6dW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVl
ZFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG1fdHlwZVBy
b2ZpbGluZ1JhcmVEYXRhKTsKIApAQCAtMjM4LDcgKzIzOCw3IEBAIEdsb2JhbFZhcmlhYmxlSUQg
U3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yT2Zmc2V0KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
IGxvY2tlCiAgICAgcmV0dXJuIGdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShsb2NrZXIsIGl0ZXIt
PnZhbHVlLmdldCgpLCB2bSk7CiB9CiAKLVJlZlB0cjxUeXBlU2V0PiBTeW1ib2xUYWJsZTo6Z2xv
YmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwg
U3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCitSZWZQdHI8VHlwZVNldD4gU3ltYm9sVGFibGU6Omds
b2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIs
IFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVCht
X3R5cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oCmluZGV4IDg5Y2FjNjA0NDQwNDBkYWNiM2ZmNmVmZmRjNmZkZmQzNThm
MGNkNWYuLjlmMGJjNGU0M2ViOWQ3ZDY0YTI3ZDkxZDg5YjgwYTk5NmU4MDQxNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMzksNyArMzksNyBA
QAogI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8
d3RmL0hhc2hUcmFpdHMuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAK
QEAgLTQyNCwxMCArNDI0LDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpT
Q2VsbCB7CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1t
b3J0YWw7CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xU
YWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1w
bD4+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFwOwotICAgIHR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8U3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlhYmxlSUQsIElkZW50aWZpZXJSZXBIYXNo
PiBVbmlxdWVJRE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBS
ZWZQdHI8VHlwZVNldD4sIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVUeXBlU2V0TWFwOwotICAg
IHR5cGVkZWYgSGFzaE1hcDxWYXJPZmZzZXQsIFJlZlB0cjxTdHJpbmdJbXBsPj4gT2Zmc2V0VG9W
YXJpYWJsZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBs
PiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRy
PFVuaXF1ZWRTdHJpbmdJbXBsPj4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBNYXA7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIEdsb2JhbFZhcmlh
YmxlSUQsIElkZW50aWZpZXJSZXBIYXNoPiBVbmlxdWVJRE1hcDsKKyAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVy
UmVwSGFzaD4gVW5pcXVlVHlwZVNldE1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0
LCBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiBPZmZzZXRUb1ZhcmlhYmxlTWFwOwogICAgIHR5
cGVkZWYgVmVjdG9yPFN5bWJvbFRhYmxlRW50cnkqPiBMb2NhbFRvRW50cnlWZWM7CiAKICAgICBz
dGF0aWMgU3ltYm9sVGFibGUqIGNyZWF0ZShWTSYgdm0pCkBAIC00NTMsMzMgKzQ1MywzMyBAQCBj
bGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIH0KIAogICAgIC8v
IFlvdSBtdXN0IGhvbGQgdGhlIGxvY2sgdW50aWwgYWZ0ZXIgeW91J3JlIGRvbmUgd2l0aCB0aGUg
aXRlcmF0b3IuCi0gICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1cnJlbnRKSVRMb2Nr
ZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IENvbmN1
cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fbWFwLmZpbmQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgTWFwOjppdGVyYXRvciBm
aW5kKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisg
ICAgTWFwOjppdGVyYXRvciBmaW5kKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKSVRMb2NrZXImLCBV
bmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmZpbmQo
a2V5KTsKICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGdl
dChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBtX21hcC5nZXQoa2V5KTsKICAgICB9CiAgICAgCi0gICAgU3lt
Ym9sVGFibGVFbnRyeSBnZXQoU3RyaW5nSW1wbCoga2V5KQorICAgIFN5bWJvbFRhYmxlRW50cnkg
Z2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklU
TG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1cm4gZ2V0KGxvY2tlciwga2V5KTsK
ICAgICB9CiAgICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVudHJ5IGlu
bGluZUdldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtl
eSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5pbmxpbmVHZXQoa2V5KTsKICAgICB9CiAg
ICAgCi0gICAgU3ltYm9sVGFibGVFbnRyeSBpbmxpbmVHZXQoU3RyaW5nSW1wbCoga2V5KQorICAg
IFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAgICAg
ewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICBy
ZXR1cm4gaW5saW5lR2V0KGxvY2tlciwga2V5KTsKQEAgLTU1OSw3ICs1NTksNyBAQCBjbGFzcyBT
eW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gdGFrZU5l
eHRTY29wZU9mZnNldChsb2NrZXIpOwogICAgIH0KICAgICAKLSAgICB2b2lkIGFkZChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVu
dHJ5JiBlbnRyeSkKKyAgICB2b2lkIGFkZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5p
cXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAg
ewogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwogICAgICAgICBkaWRV
c2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwpAQCAtNTY3LDMxICs1NjcsMzEgQEAgY2xh
c3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgQVNTRVJUX1VO
VVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBh
ZGQoU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2
b2lkIGFkZChVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBjb25zdCBTeW1ib2xUYWJsZUVudHJ5JiBl
bnRyeSkKICAgICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7
CiAgICAgICAgIGFkZChsb2NrZXIsIGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lk
IHNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5LCBjb25zdCBT
eW1ib2xUYWJsZUVudHJ5JiBlbnRyeSkKKyAgICB2b2lkIHNldChjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYg
ZW50cnkpCiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9sb2NhbFRvRW50cnkpOwog
ICAgICAgICBkaWRVc2VWYXJPZmZzZXQoZW50cnkudmFyT2Zmc2V0KCkpOwogICAgICAgICBtX21h
cC5zZXQoa2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0KFN0cmluZ0ltcGwq
IGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoVW5pcXVl
ZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCiAgICAgewog
ICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICBzZXQo
bG9ja2VyLCBrZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBjb250YWlucyhjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIGJvb2wgY29udGFp
bnMoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkpCiAg
ICAgewogICAgICAgICByZXR1cm4gbV9tYXAuY29udGFpbnMoa2V5KTsKICAgICB9CiAgICAgCi0g
ICAgYm9vbCBjb250YWlucyhTdHJpbmdJbXBsKiBrZXkpCisgICAgYm9vbCBjb250YWlucyhVbmlx
dWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBs
b2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGxvY2tlciwga2V5KTsKQEAg
LTY0MSwxMCArNjQxLDEwIEBAIGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2Vs
bCB7CiAgICAgY29uc3QgTG9jYWxUb0VudHJ5VmVjJiBsb2NhbFRvRW50cnkoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYpOwogICAgIFN5bWJvbFRhYmxlRW50cnkqIGVudHJ5Rm9yKGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTY29wZU9mZnNldCk7CiAgICAgCi0gICAgR2xvYmFsVmFyaWFi
bGVJRCB1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJp
bmdJbXBsKiBrZXksIFZNJik7CisgICAgR2xvYmFsVmFyaWFibGVJRCB1bmlxdWVJREZvclZhcmlh
YmxlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBW
TSYpOwogICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JPZmZzZXQoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIFZhck9mZnNldCwgVk0mKTsKICAgICBSZWZQdHI8VHlwZVNldD4gZ2xv
YmFsVHlwZVNldEZvck9mZnNldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVmFyT2Zmc2V0
LCBWTSYpOwotICAgIFJlZlB0cjxUeXBlU2V0PiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKKyAgICBSZWZQ
dHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYpOwogCiAgICAgYm9vbCB1c2VzTm9u
U3RyaWN0RXZhbCgpIHsgcmV0dXJuIG1fdXNlc05vblN0cmljdEV2YWw7IH0KICAgICB2b2lkIHNl
dFVzZXNOb25TdHJpY3RFdmFsKGJvb2wgdXNlc05vblN0cmljdEV2YWwpIHsgbV91c2VzTm9uU3Ry
aWN0RXZhbCA9IHVzZXNOb25TdHJpY3RFdmFsOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuY3BwCmluZGV4IDQ5OTdiZjU4YjQzYmYwZWYxNzJhODZjODRlM2Q5OGFkM2E4
ZTczMTAuLjk5NGM4M2JiYmMxYzAxOGM4YzU0MWE2NWFjZTk2NWUwZDAxNjBlYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCkBAIC0zMzQsMTMgKzMzNCwxMyBA
QCB2b2lkIFN0cnVjdHVyZVNoYXBlOjptYXJrQXNGaW5hbCgpCiAgICAgbV9maW5hbCA9IHRydWU7
CiB9CiAKLXZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5KFJlZlB0cjxTdHJpbmdJbXBs
PiBpbXBsKQordm9pZCBTdHJ1Y3R1cmVTaGFwZTo6YWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPiB1aWQpCiB7CiAgICAgQVNTRVJUKCFtX2ZpbmFsKTsKLSAgICBtX2ZpZWxkcy5h
ZGQoaW1wbCk7CisgICAgbV9maWVsZHMuYWRkKHVpZCk7CiB9CiAKLVN0cmluZyBTdHJ1Y3R1cmVT
aGFwZTo6cHJvcGVydHlIYXNoKCkgCitTdHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFz
aCgpCiB7CiAgICAgQVNTRVJUKG1fZmluYWwpOwogICAgIGlmIChtX3Byb3BlcnR5SGFzaCkKQEAg
LTM1MCw5ICszNTAsOCBAQCBTdHJpbmcgU3RydWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpCiAg
ICAgYnVpbGRlci5hcHBlbmQoJzonKTsKICAgICBidWlsZGVyLmFwcGVuZChtX2NvbnN0cnVjdG9y
TmFtZSk7CiAgICAgYnVpbGRlci5hcHBlbmQoJzonKTsKLSAgICAKLSAgICBmb3IgKGF1dG8gaXRl
ciA9IG1fZmllbGRzLmJlZ2luKCksIGVuZCA9IG1fZmllbGRzLmVuZCgpOyBpdGVyICE9IGVuZDsg
KytpdGVyKSB7Ci0gICAgICAgIFN0cmluZyBwcm9wZXJ0eSA9IGl0ZXItPmdldCgpOworICAgIGZv
ciAoYXV0byBrZXkgOiBtX2ZpZWxkcykgeworICAgICAgICBTdHJpbmcgcHJvcGVydHkgPSBrZXku
Z2V0KCk7CiAgICAgICAgIHByb3BlcnR5LnJlcGxhY2UoIjoiLCAiXFw6Iik7IC8vIEVuc3VyZSB0
aGF0IGhhc2goeyJmb286IiwgImJhciJ9KSAhPSBoYXNoKHsiZm9vIiwgIjpiYXIifSkgYmVjYXVz
ZSB3ZSdyZSB1c2luZyBjb2xvbnMgYXMgYSBzZXBhcmF0b3IgYW5kIGNvbG9ucyBhcmUgbGVnYWwg
Y2hhcmFjdGVycyBpbiBmaWVsZCBuYW1lcyBpbiBKUy4KICAgICAgICAgYnVpbGRlci5hcHBlbmQo
cHJvcGVydHkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaApp
bmRleCAyMjk3ZjFkYjI0ODU5MDVhNjRjYTkzMTk0NjVkZGFmZTgzMWRkYjBhLi4xZDFmYjJhOWQx
MjA0ZTA0OTkyMTk0N2NlZmJiNjJlMmQwODUyNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oCkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFN0cnVjdHVyZVNoYXBlIDog
cHVibGljIFJlZkNvdW50ZWQ8U3RydWN0dXJlU2hhcGU+IHsKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0cnVjdHVy
ZVNoYXBlKTsgfQogICAgIFN0cmluZyBwcm9wZXJ0eUhhc2goKTsKICAgICB2b2lkIG1hcmtBc0Zp
bmFsKCk7Ci0gICAgdm9pZCBhZGRQcm9wZXJ0eShSZWZQdHI8U3RyaW5nSW1wbD4pOworICAgIHZv
aWQgYWRkUHJvcGVydHkoUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPik7CiAgICAgU3RyaW5nIHN0
cmluZ1JlcHJlc2VudGF0aW9uKCk7CiAgICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owog
ICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpTdHJ1Y3R1cmVEZXNjcmlwdGlv
bj4gaW5zcGVjdG9yUmVwcmVzZW50YXRpb24oKTsKQEAgLTcwLDggKzcwLDggQEAgY2xhc3MgU3Ry
dWN0dXJlU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJ1Y3R1cmVTaGFwZT4gewogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBtZXJnZShjb25zdCBQYXNzUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiwgY29uc3QgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4pOwogICAgIGJv
b2wgaGFzU2FtZVByb3RvdHlwZUNoYWluKFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+KTsKIAot
ICAgIEhhc2hTZXQ8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2ZpZWxkczsKLSAgICBIYXNoU2V0PFJl
ZlB0cjxTdHJpbmdJbXBsPj4gbV9vcHRpb25hbEZpZWxkczsKKyAgICBIYXNoU2V0PFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX2ZpZWxkczsKKyAgICBIYXNo
U2V0PFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIElkZW50aWZpZXJSZXBIYXNoPiBtX29wdGlv
bmFsRmllbGRzOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gbV9wcm90bzsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8U3RyaW5nPiBtX3Byb3BlcnR5SGFzaDsKICAgICBTdHJpbmcgbV9jb25zdHJ1
Y3Rvck5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9q
IGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagppbmRleCA2YzAyNmRkYzJmOGM2
ZmQxNDI0NWMzNzdmZWNmNjNlMDNjNTM5NTZiLi45ODk3MTNlYTA2MzU5MTJhNDFkMmFiMjc3OWNj
MDNlZTY4MTExMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hw
cm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKQEAgLTI5MSw3ICsy
OTEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nSW1wbC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nT3BlcmF0b3Jz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTdHJpbmdWaWV3Lmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xJbXBsLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xSZWdpc3RyeS5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcVW5pcXVlZFN0cmluZ0ltcGwu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFdURlN0cmluZy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZy5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFRocmVhZGluZ1ByaW1pdGl2ZXMuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycyBiL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCA2NDhhNmEwOTEwY2Q2
NzUyZTcwZDJjZDgwMWUxOTE3YjM5NmZmYjdhLi42OGEyZGIxOWU2ZmY4NWU0Y2FhZGMxZWNiYTFm
YTIxMGZiZDhjODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hw
cm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0
ZXJzCkBAIC0zNDgsOSArMzQ4LDE1IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZc
dGV4dFxTdHJpbmdWaWV3LmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN5bWJvbEltcGwu
aCI+CisgICAgICA8RmlsdGVyPnRleHQ8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN5bWJvbFJlZ2lzdHJ5LmgiPgogICAgICAg
PEZpbHRlcj50ZXh0PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlx3dGZcdGV4dFxVbmlxdWVkU3RyaW5nSW1wbC5oIj4KKyAgICAgIDxGaWx0ZXI+
dGV4dDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cd3RmXHRleHRcV1RGU3RyaW5nLmgiPgogICAgICAgPEZpbHRlcj50ZXh0PC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBkNWQ0Njg0NzI2MTQyOWU3NmQxNWMzODM5MGMxYTk4MDdhZTFiM2JiLi5iZjRjZTk4MDFl
MGE5Zjc1Njc5OGM1MDdkMGRmMGFmMDUzYmE3NDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTc3LDYgKzc3LDggQEAKIAkJNzBBOTkzRkUxQUQ3MTUxMzAw
RkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcwQTk5M0ZDMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdp
c3RyeS5jcHAgKi87IH07CiAJCTcwQTk5M0ZGMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdp
c3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBB
OTkzRkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi87IH07CiAJCTcwRUNB
NjBEMUIwMjQyNjgwMDQ0OTczOSAvKiBBdG9taWNTdHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjBBMUIwMjQyNjgwMDQ0OTcz
OSAvKiBBdG9taWNTdHJpbmdJbXBsLmNwcCAqLzsgfTsKKwkJNzBFQ0E2MEUxQjAyNDI2ODAwNDQ5
NzM5IC8qIFN5bWJvbEltcGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcwRUNBNjBCMUIwMjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggKi87IH07
CisJCTcwRUNBNjBGMUIwMjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQ0E2MEMxQjAyNDI2
ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggKi87IH07CiAJCTdDQkJBMDc0MTlCQjdG
REMwMEJCRjAyNSAvKiBPU09iamVjdFB0ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NCQkEwNzMxOUJCN0ZEQzAwQkJGMDI1IC8qIE9TT2JqZWN0UHRy
LmggKi87IH07CiAJCTdDREQ3RkY4MTg2RDI5MUUwMDc0MzNDRCAvKiBJdGVyYXRvckFkYXB0b3Jz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0REN0ZG
NzE4NkQyOTFFMDA3NDMzQ0QgLyogSXRlcmF0b3JBZGFwdG9ycy5oICovOyB9OwogCQk3Q0REN0ZG
QTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NERDdGRjkxODZEMkE1NDAwNzQzM0NEIC8qIEl0
ZXJhdG9yUmFuZ2UuaCAqLzsgfTsKQEAgLTM2Miw2ICszNjQsOCBAQAogCQk3MEE5OTNGQzFBRDcx
NTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MEE5OTNGRDFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3ltYm9sUmVnaXN0cnkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBFQ0E2MEExQjAyNDI2ODAwNDQ5NzM5IC8qIEF0b21pY1N0
cmluZ0ltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXRvbWlj
U3RyaW5nSW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcwRUNBNjBCMUIw
MjQyNjgwMDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN5bWJvbEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBFQ0E2
MEMxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJpbmdJbXBsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVuaXF1ZWRTdHJpbmdJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDQkJBMDczMTlCQjdGREMwMEJCRjAyNSAvKiBPU09iamVjdFB0ci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPU09iamVjdFB0ci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZGNzE4NkQyOTFFMDA3NDMzQ0QgLyogSXRlcmF0b3JB
ZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVyYXRvckFkYXB0
b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDREQ3RkY5MTg2RDJBNTQwMDc0
MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEl0ZXJhdG9yUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0Myw5ICs5
NDcsMTEgQEAKIAkJCQk5M0YxOTkzRDE5RDc5NThEMDBDMjM5MEIgLyogU3RyaW5nVmlldy5jcHAg
Ki8sCiAJCQkJQThBNDczMkExNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ09wZXJhdG9ycy5oICov
LAogCQkJCUE4QTQ3MzJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdTdGF0aWNzLmNwcCAqLywK
KwkJCQk3MEVDQTYwQjFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5oICovLAogCQkJCTcw
QTk5M0ZDMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5jcHAgKi8sCiAJCQkJNzBB
OTkzRkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi8sCiAJCQkJQThBNDcz
MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFRleHRQb3NpdGlvbi5oICovLAorCQkJCTcwRUNBNjBDMUIw
MjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovLAogCQkJCUE4QTQ3MzJEMTUx
QTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuY3BwICovLAogCQkJCUE4QTQ3MzJFMTUxQTgyNUIw
MDQxMjNGRiAvKiBXVEZTdHJpbmcuaCAqLywKIAkJCSk7CkBAIC0xMDM5LDYgKzEwNDUsNyBAQAog
CQkJCUE4QTQ3NDM4MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJbXBsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5QkQ4RjQwQjE3NkMyQjQ3MDAwMkQ4NjUgLyogQXRvbWljU3RyaW5nVGFi
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0Njk0MTlDMTZFQUIxMEEwMDI0RTE0NiAvKiBBdXRv
ZHJhaW5lZFBvb2wuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBGMUIwMjQyNjgwMDQ0OTcz
OSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODEzNDAxMzkxNUIw
OTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQTkxNTFB
ODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNB
QjE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmggaW4gSGVhZGVycyAqLywKQEAgLTExNjMsNiAr
MTE3MCw3IEBACiAJCQkJMUE2QkI3NjkxNjJGMzAwNTAwREQxNkRCIC8qIFN0cmVhbUJ1ZmZlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0IxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0J1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0QxNTFBODI1QjAwNDEyM0ZGIC8qIFN0
cmluZ0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTcwRUNBNjBFMUIwMjQyNjgwMDQ0OTcz
OSAvKiBTeW1ib2xJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQzRTE1MUE4MjVCMDA0
MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFOTFFODgx
MUFCMkEwMjAwMDk5ODk1RiAvKiBTcGluTG9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0CmluZGV4IGU4NTVmNzNhZDQ5NTcxZWI2YjgwMjNkNWQ1MDBmMDc0NDE2MDhm
NjkuLmU1ZmM3ZTMwN2RlOWE4ZGY2NzkwMDljMzEwOWMzMWY0YzJlMjZjMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtl
TGlzdHMudHh0CkBAIC0xMjYsNyArMTI2LDkgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgdGV4dC9T
dHJpbmdIYXNoLmgKICAgICB0ZXh0L1N0cmluZ0ltcGwuaAogICAgIHRleHQvU3RyaW5nVmlldy5o
CisgICAgdGV4dC9TeW1ib2xJbXBsLmgKICAgICB0ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKyAgICB0
ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgKICAgICB0ZXh0L1dURlN0cmluZy5oCiAKICAgICB0aHJl
YWRzL0JpbmFyeVNlbWFwaG9yZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0
cmVhbS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKaW5kZXggYmI3ZDM5ZGI5
MTVkNjQ3OTZmZjQyZDU5NDRhYWMxNzc1NzRkNjY0ZS4uMDY4OTMxZTNmMGE3MjdkZDQ1NDg3YTc4
NGI1NzMxNTI1ODhmMjkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0u
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QcmludFN0cmVhbS5oIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAppbmRleCBl
ODE1MzQ5NGY4YmZiMjY4ZjgwYTVmZGYwYTA3M2M1OGFjYzc4MTYwLi5lOGJiYTYzNGIxNjRjZDNj
MmU1ZWU4OGE0OGFkNGI3MGQ2ZTE4MWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Qcmlu
dFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKQEAgLTM4LDYgKzM4
LDcgQEAKIGNsYXNzIENTdHJpbmc7CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBTdHJpbmdJbXBsOwor
Y2xhc3MgVW5pcXVlZFN0cmluZ0ltcGw7CiAKIGNsYXNzIFByaW50U3RyZWFtIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJpbnRTdHJlYW0pOwpA
QCAtNzEsMTEgKzcyLDEzIEBAIGNsYXNzIFByaW50U3RyZWFtIHsKIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJpbmcmKTsKIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBjb25zdCBTdHJp
bmdJbXBsKik7CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNv
bnN0IEF0b21pY1N0cmluZ0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBiaXR3aXNl
X2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KK2lubGluZSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgVW5pcXVlZFN0cmluZ0ltcGwqIHZhbHVlKSB7
IHByaW50SW50ZXJuYWwob3V0LCBiaXR3aXNlX2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVl
KSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgY2hhciog
dmFsdWUpIHsgcHJpbnRJbnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPih2YWx1
ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIENTdHJp
bmcmIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBDU3RyaW5n
Jj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBTdHJpbmcmIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBT
dHJpbmcmPih2YWx1ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiBvdXQsIFN0cmluZ0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2Fz
dDxjb25zdCBTdHJpbmdJbXBsKj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5h
bChQcmludFN0cmVhbSYgb3V0LCBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVy
bmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0K
K2lubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgVW5pcXVlZFN0cmlu
Z0ltcGwqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBVbmlx
dWVkU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50
SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBib29sKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBzaWduZWQgY2hhcik7IC8vIE5PVEU6IHRoaXMgcHJp
bnRzIGFzIGEgbnVtYmVyLCBub3QgYXMgYSBjaGFyYWN0ZXI7IHVzZSBDaGFyYWN0ZXJEdW1wIGlm
IHlvdSB3YW50IHRoZSBjaGFyYWN0ZXIKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mLCB1bnNpZ25lZCBjaGFyKTsgLy8gTk9URTogc2VlIGFib3ZlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaCBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKaW5kZXggOTY1NjNjM2MyZWRmZDQ5MjgyYmE3MWIw
Y2EwYTE0MzI0ZDAyZjE4Ni4uZjJlYzZkODMyZjc0OWUwMTQzYjgyMGNjNGU3MzVlMmUxNzEzNjNh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCkBAIC02MCw2ICs2MCw5IEBAIGNsYXNz
IEF0b21pY1N0cmluZyB7CiAgICAgQVRPTUlDU1RSSU5HX0NPTlZFUlNJT04gQXRvbWljU3RyaW5n
KGNvbnN0IFN0cmluZyYpOwogICAgIEF0b21pY1N0cmluZyhTdHJpbmdJbXBsKiBiYXNlU3RyaW5n
LCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoKTsKIAorICAgIC8vIEZJWE1FOiBBdG9t
aWNTdHJpbmcgbWF5IGhhdmUgZWl0aGVyIFN5bWJvbEltcGwgb3IgQXRvbWljU3RyaW5nSW1wbC4K
KyAgICBBdG9taWNTdHJpbmcoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisKICAgICBlbnVtIENv
bnN0cnVjdEZyb21MaXRlcmFsVGFnIHsgQ29uc3RydWN0RnJvbUxpdGVyYWwgfTsKICAgICBBdG9t
aWNTdHJpbmcoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBDb25zdHJ1
Y3RGcm9tTGl0ZXJhbFRhZykKICAgICAgICAgOiBtX3N0cmluZyhBdG9taWNTdHJpbmdJbXBsOjph
ZGRMaXRlcmFsKGNoYXJhY3RlcnMsIGxlbmd0aCkpCkBAIC0yNzUsNiArMjc4LDExIEBAIGlubGlu
ZSBBdG9taWNTdHJpbmc6OkF0b21pY1N0cmluZyhTdHJpbmdJbXBsKiBiYXNlU3RyaW5nLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduCiB7CiB9CiAKK2lubGluZSBBdG9taWNTdHJpbmc6OkF0b21pY1N0
cmluZyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQorICAgIDogbV9zdHJpbmcodWlkKQoreworfQor
CiAjaWYgVVNFKENGKQogaW5saW5lIEF0b21pY1N0cmluZzo6QXRvbWljU3RyaW5nKENGU3RyaW5n
UmVmIHMpCiAgICAgOiAgbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1wbDo6YWRkKHMpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAppbmRleCA3ZTNjYjQyOTQ0ZjEwZmQ5ZGRkMjJj
YjMxMzc5MDAxZGU4ZTY2ZWY0Li43NzM0NDkwZTViOGYyMDVjOTUyOWQxMDZjZjJhMDkyMjllYjM4
ZDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaApAQCAtMjEsMTMgKzIx
LDEzIEBACiAjaWZuZGVmIEF0b21pY1N0cmluZ0ltcGxfaAogI2RlZmluZSBBdG9taWNTdHJpbmdJ
bXBsX2gKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAogY2xhc3MgQXRv
bWljU3RyaW5nVGFibGU7CiAKLWNsYXNzIEF0b21pY1N0cmluZ0ltcGwgOiBwdWJsaWMgU3RyaW5n
SW1wbCB7CitjbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJbXBs
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgQXRvbWljU3RyaW5nSW1wbCogbG9va1VwKExDaGFyKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1w
bC5jcHAKaW5kZXggM2ZiOTQ3MTQ3NzlmNzJlZWE2OWVmMjU4YzZlNDM1ZjRiMzU0MzMwZS4uYjE2
ZWEwMzQ5NTQxNmVhNjI2NGYzZWM4M2Y2M2U2YWRkMTMzYzM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ0ltcGwuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8d3RmL1dURlRocmVhZERh
dGEuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nVmlldy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJh
Y3Rlck5hbWVzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVVRGOC5oPgpAQCAtMTE0LDcgKzEx
NSw3IEBAIHZvaWQgU3RyaW5nU3RhdHM6OnByaW50U3RhdHMoKQogICAgICAgICBBdG9taWNTdHJp
bmdJbXBsOjpyZW1vdmUoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+KHRoaXMpKTsKIAog
ICAgIGlmIChpc1N5bWJvbCgpICYmIHN5bWJvbFJlZ2lzdHJ5KCkpCi0gICAgICAgIHN5bWJvbFJl
Z2lzdHJ5KCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgc3ltYm9sUmVnaXN0cnkoKS0+cmVtb3Zl
KCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4odGhpcykpOwogCiAgICAgQnVmZmVyT3duZXJzaGlw
IG93bmVyc2hpcCA9IGJ1ZmZlck93bmVyc2hpcCgpOwogCkBAIC0yOTAsNyArMjkxLDcgQEAgdm9p
ZCBTdHJpbmdJbXBsOjpkZXN0cm95KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCiAgICAgcmV0dXJu
IGNyZWF0ZShzdHJpbmcsIGxlbmd0aCk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBs
OjpjcmVhdGVTeW1ib2woUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiByZXApCitSZWY8U3ltYm9sSW1w
bD4gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQog
ewogICAgIFN0cmluZ0ltcGwqIG93bmVyUmVwID0gKHJlcC0+YnVmZmVyT3duZXJzaGlwKCkgPT0g
QnVmZmVyU3Vic3RyaW5nKSA/IHJlcC0+c3Vic3RyaW5nQnVmZmVyKCkgOiByZXAuZ2V0KCk7CiAK
QEAgLTMwMSwxMSArMzAyLDExIEBAIHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJveShTdHJpbmdJbXBs
KiBzdHJpbmdJbXBsKQogICAgIC8vIDQuIHRoZSBwbGFjZWhvbGRlciBmb3Igc3ltYm9sIGF3YXJl
IGhhc2ggdmFsdWUgKGFsbG9jYXRlZCBzaXplIGlzIHBvaW50ZXIgc2l6ZSwgYnV0IG9ubHkgNCBi
eXRlcyBhcmUgdXNlZCkKICAgICBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gc3RhdGljX2Nhc3Q8
U3RyaW5nSW1wbCo+KGZhc3RNYWxsb2MoYWxsb2NhdGlvblNpemU8U3RyaW5nSW1wbCo+KDMpKSk7
CiAgICAgaWYgKHJlcC0+aXM4Qml0KCkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IChO
b3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGE4
LCByZXAtPmxlbmd0aCgpLCBvd25lclJlcCkpOwotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IChO
b3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGEx
NiwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpz
dGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4obmV3IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJ
bXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2RhdGE4LCByZXAtPmxlbmd0aCgpLCBvd25lclJlcCkp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKnN0YXRpY19jYXN0PFN5bWJvbEltcGwqPihuZXcgKE5v
dE51bGwsIHN0cmluZ0ltcGwpIFN0cmluZ0ltcGwoQ3JlYXRlU3ltYm9sLCByZXAtPm1fZGF0YTE2
LCByZXAtPmxlbmd0aCgpLCBvd25lclJlcCkpKTsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN0cmlu
Z0ltcGw6OmNyZWF0ZVN5bWJvbEVtcHR5KCkKK1JlZjxTeW1ib2xJbXBsPiBTdHJpbmdJbXBsOjpj
cmVhdGVTeW1ib2xFbXB0eSgpCiB7CiAgICAgcmV0dXJuIGNyZWF0ZVN5bWJvbChlbXB0eSgpKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggZjFhNjY3YjFkYWRjMTk1N2NjMTJjMzgy
ZmZmZWU4NmUwNDdiMDU3YS4uZTZkMjZjNDliM2MzZDYwMjg1NjY0OGUyNWY1M2NkMGJmNDk1MDIx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291
cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTU3LDYgKzU3LDcgQEAKIHN0cnVjdCBT
dWJzdHJpbmdUcmFuc2xhdG9yOwogc3RydWN0IFVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBjbGFzcyBSZXRhaW5QdHI7CitjbGFzcyBTeW1ib2xJbXBsOwogY2xhc3Mg
U3ltYm9sUmVnaXN0cnk7CiAKIGVudW0gVGV4dENhc2VTZW5zaXRpdml0eSB7CkBAIC00MTgsOCAr
NDE5LDggQEAgY2xhc3MgU3RyaW5nSW1wbCB7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RJbnRl
cm5hbDxUPihyZXN1bHRJbXBsLCBsZW5ndGgpOwogICAgIH0KIAotICAgIFdURl9FWFBPUlRfU1RS
SU5HX0FQSSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGNyZWF0ZVN5bWJvbEVtcHR5KCk7Ci0gICAg
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlU3ltYm9s
KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkg
c3RhdGljIFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVTeW1ib2xFbXB0eSgpOworICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN5bWJvbEltcGw+IGNyZWF0ZVN5bWJvbChQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+IHJlcCk7CiAKICAgICAvLyBSZWFsbG9jYXRlIHRoZSBTdHJpbmdJbXBs
LiBUaGUgb3JpZ2luYWxTdHJpbmcgbXVzdCBiZSBvbmx5IG93bmVkIGJ5IHRoZSBQYXNzUmVmUHRy
LAogICAgIC8vIGFuZCB0aGUgYnVmZmVyIG93bmVyc2hpcCBtdXN0IGJlIEJ1ZmZlckludGVybmFs
LiBKdXN0IGxpa2UgdGhlIGlucHV0IHBvaW50ZXIgb2YgcmVhbGxvYygpLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5
bWJvbEltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjcwNTMxYzg5ZWQ1MjY4ZWIxNmRiNTEyZDIwYTE2YmEw
ZWJhYTljCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xJbXBs
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6
dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN5bWJvbElt
cGxfaAorI2RlZmluZSBTeW1ib2xJbXBsX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgorCituYW1lc3Bh
Y2UgV1RGIHsKKworY2xhc3MgU3ltYm9sSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbCB7
CisgICAgU3ltYm9sSW1wbCgpID0gZGVsZXRlOworfTsKKworI2lmICFBU1NFUlRfRElTQUJMRUQK
Ky8vIFN5bWJvbEltcGxzIGNyZWF0ZWQgZnJvbSBTdGF0aWNBU0NJSUxpdGVyYWwgd2lsbCBBU1NF
UlQKKy8vIGluIHRoZSBnZW5lcmljIFZhbHVlQ2hlY2s8VD46OmNoZWNrQ29uc2lzdGVuY3kKKy8v
IGFzIHRoZXkgYXJlIG5vdCBhbGxvY2F0ZWQgYnkgZmFzdE1hbGxvYy4KKy8vIFdlIGRvbid0IGN1
cnJlbnRseSBoYXZlIGFueSB3YXkgdG8gZGV0ZWN0IHRoYXQgY2FzZQorLy8gc28gd2UgaWdub3Jl
IHRoZSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgYWxsIFN5bWJvbEltcGxzKi4KK3RlbXBsYXRlPD4g
c3RydWN0CitWYWx1ZUNoZWNrPFN5bWJvbEltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tD
b25zaXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVj
dAorVmFsdWVDaGVjazxjb25zdCBTeW1ib2xJbXBsKj4geworICAgIHN0YXRpYyB2b2lkIGNoZWNr
Q29uc2lzdGVuY3koY29uc3QgU3ltYm9sSW1wbCopIHsgfQorfTsKKyNlbmRpZgorCit9IC8vIG5h
bWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpTeW1ib2xJbXBsOworCisjZW5kaWYgLy8gU3ltYm9s
SW1wbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3BwCmluZGV4IDE1NmJhM2U0
YzI3NGIxZjAwY2JjZWU3ZWJmZmVlYjI2Y2YyM2QzOTAuLmFhZDEzNWYzZjY5YmFjNjYzZDg2N2M3
NjQ4NGNhZGUzZDFlYzQxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9s
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuY3Bw
CkBAIC0zNCwzMCArMzQsMjggQEAKICAgICAgICAga2V5LmltcGwoKS0+c3ltYm9sUmVnaXN0cnko
KSA9IG51bGxwdHI7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBTeW1ib2xSZWdpc3RyeTo6c3ltYm9s
Rm9yS2V5KGNvbnN0IFN0cmluZyYgcmVwKQorUmVmPFN5bWJvbEltcGw+IFN5bWJvbFJlZ2lzdHJ5
OjpzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJiByZXApCiB7CiAgICAgYXV0byBhZGRSZXN1bHQg
PSBtX3RhYmxlLmFkZChTeW1ib2xSZWdpc3RyeUtleShyZXAuaW1wbCgpKSk7CiAgICAgaWYgKCFh
ZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuICphZGRSZXN1bHQuaXRlcmF0b3It
PmltcGwoKTsKKyAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4oYWRkUmVz
dWx0Lml0ZXJhdG9yLT5pbXBsKCkpOwogCi0gICAgUmVmPFN0cmluZ0ltcGw+IHN5bWJvbCA9IFN0
cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChyZXAuaW1wbCgpKTsKKyAgICBSZWY8U3ltYm9sSW1wbD4g
c3ltYm9sID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOwogICAgIHN5bWJv
bC0+c3ltYm9sUmVnaXN0cnkoKSA9IHRoaXM7CiAgICAgKmFkZFJlc3VsdC5pdGVyYXRvciA9IFN5
bWJvbFJlZ2lzdHJ5S2V5KCZzeW1ib2wuZ2V0KCkpOwogICAgIHJldHVybiBzeW1ib2w7CiB9CiAK
LVN0cmluZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwqIHVpZCkKK1N0
cmluZyBTeW1ib2xSZWdpc3RyeTo6a2V5Rm9yU3ltYm9sKFN5bWJvbEltcGwmIHVpZCkKIHsKLSAg
ICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKLSAgICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3Ry
eSgpID09IHRoaXMpOwotICAgIHJldHVybiB1aWQtPmV4dHJhY3RGb2xkZWRTdHJpbmdJblN5bWJv
bCgpOworICAgIEFTU0VSVCh1aWQuc3ltYm9sUmVnaXN0cnkoKSA9PSB0aGlzKTsKKyAgICByZXR1
cm4gdWlkLmV4dHJhY3RGb2xkZWRTdHJpbmdJblN5bWJvbCgpOwogfQogCi12b2lkIFN5bWJvbFJl
Z2lzdHJ5OjpyZW1vdmUoU3RyaW5nSW1wbCogdWlkKQordm9pZCBTeW1ib2xSZWdpc3RyeTo6cmVt
b3ZlKFN5bWJvbEltcGwmIHVpZCkKIHsKLSAgICBBU1NFUlQodWlkLT5pc1N5bWJvbCgpKTsKLSAg
ICBBU1NFUlQodWlkLT5zeW1ib2xSZWdpc3RyeSgpID09IHRoaXMpOwotICAgIGF1dG8gaXRlcmF0
b3IgPSBtX3RhYmxlLmZpbmQoU3ltYm9sUmVnaXN0cnlLZXkodWlkKSk7CisgICAgQVNTRVJUKHVp
ZC5zeW1ib2xSZWdpc3RyeSgpID09IHRoaXMpOworICAgIGF1dG8gaXRlcmF0b3IgPSBtX3RhYmxl
LmZpbmQoU3ltYm9sUmVnaXN0cnlLZXkoJnVpZCkpOwogICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uo
aXRlcmF0b3IgIT0gbV90YWJsZS5lbmQoKSwgIlRoZSBzdHJpbmcgYmVpbmcgcmVtb3ZlZCBpcyBy
ZWdpc3RlcmVkIGluIHRoZSBzdHJpbmcgdGFibGUgb2YgYW4gb3RoZXIgdGhyZWFkISIpOwogICAg
IG1fdGFibGUucmVtb3ZlKGl0ZXJhdG9yKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvU3ltYm9sUmVnaXN0cnkuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0
cnkuaAppbmRleCAxMzZjMzY4YzkwYmJiY2VhMTg4NmI4ZGY3ODcyYTdmZmRmYmE5OGE2Li5hMDA1
Y2Q5OWI4ZjcwNTRiNGYyNDdkNzRlZGY4Yjc1Y2E5NDljMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9T
eW1ib2xSZWdpc3RyeS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9TeW1ib2xJbXBsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXVEYgewpAQCAtODEsMTAgKzgyLDEwIEBAIGNsYXNzIFN5bWJvbFJlZ2lzdHJ5IHsKICAg
ICBTeW1ib2xSZWdpc3RyeSgpID0gZGVmYXVsdDsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgflN5
bWJvbFJlZ2lzdHJ5KCk7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgUmVmPFN0cmluZ0ltcGw+
IHN5bWJvbEZvcktleShjb25zdCBTdHJpbmcmKTsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3Ry
aW5nIGtleUZvclN5bWJvbChTdHJpbmdJbXBsKiB1aWQpOworICAgIFdURl9FWFBPUlRfUFJJVkFU
RSBSZWY8U3ltYm9sSW1wbD4gc3ltYm9sRm9yS2V5KGNvbnN0IFN0cmluZyYpOworICAgIFdURl9F
WFBPUlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3ltYm9sKFN5bWJvbEltcGwmIHVpZCk7CiAKLSAg
ICB2b2lkIHJlbW92ZShTdHJpbmdJbXBsKiB1aWQpOworICAgIHZvaWQgcmVtb3ZlKFN5bWJvbElt
cGwmIHVpZCk7CiAKIHByaXZhdGU6CiAgICAgSGFzaFNldDxTeW1ib2xSZWdpc3RyeUtleT4gbV90
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwu
aCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZjY5N2NmNzBmMDc3NzVmYzE3OTM4NWE4MWJiZTRjY2Q0Y2E0NzRjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oCkBAIC0wLDAgKzEsNTgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBVbmlxdWVkU3RyaW5nSW1wbF9oCisjZGVm
aW5lIFVuaXF1ZWRTdHJpbmdJbXBsX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwu
aD4KKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIFVuaXF1ZWRTdHJpbmdJbXBsIDogcHVibGlj
IFN0cmluZ0ltcGwgeworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKCkgPSBkZWxldGU7Cit9OworCisj
aWYgIUFTU0VSVF9ESVNBQkxFRAorLy8gVW5pcXVlZFN0cmluZ0ltcGxzIGNyZWF0ZWQgZnJvbSBT
dGF0aWNBU0NJSUxpdGVyYWwgd2lsbCBBU1NFUlQKKy8vIGluIHRoZSBnZW5lcmljIFZhbHVlQ2hl
Y2s8VD46OmNoZWNrQ29uc2lzdGVuY3kKKy8vIGFzIHRoZXkgYXJlIG5vdCBhbGxvY2F0ZWQgYnkg
ZmFzdE1hbGxvYy4KKy8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGFueSB3YXkgdG8gZGV0ZWN0
IHRoYXQgY2FzZQorLy8gc28gd2UgaWdub3JlIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgYWxs
IFVuaXF1ZWRTdHJpbmdJbXBscyouCit0ZW1wbGF0ZTw+IHN0cnVjdAorVmFsdWVDaGVjazxVbmlx
dWVkU3RyaW5nSW1wbCo+IHsKKyAgICBzdGF0aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0
IFVuaXF1ZWRTdHJpbmdJbXBsKikgeyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdAorVmFsdWVD
aGVjazxjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCo+IHsKKyAgICBzdGF0aWMgdm9pZCBjaGVja0Nv
bnNpc3RlbmN5KGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKikgeyB9Cit9OworI2VuZGlmCisKK30g
Ly8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OlVuaXF1ZWRTdHJpbmdJbXBsOworCisjZW5k
aWYgLy8gVW5pcXVlZFN0cmluZ0ltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDY5MjQ2NzgzMDg2ZjY5OTQzYTlkMjM3OWM3
Yzc5YWQ2NDg0NGJmNjIuLjBkNTczZmNjZjU0MTQxODVmYzExMzdkNWI0MzY3OWM4MzdiNzczNGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHAKQEAgLTMwNiw3ICszMDYsOCBAQCBib29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNs
b3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgdQogICAgIC8vIEFs
bG93IHNob3J0Y3V0cyBsaWtlICdJbWFnZTEnIGluc3RlYWQgb2YgZG9jdW1lbnQuaW1hZ2VzLklt
YWdlMQogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5mcmFtZSgp
LT5kb2N1bWVudCgpOwogICAgIGlmIChpczxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkpIHsKLSAg
ICAgICAgQXRvbWljU3RyaW5nSW1wbCogYXRvbWljUHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1l
LmltcGwoKTsKKyAgICAgICAgQVNTRVJUKCFwcm9wZXJ0eU5hbWUuaXNTeW1ib2woKSk7CisgICAg
ICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IHN0YXRpY19jYXN0PEF0
b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKICAgICAgICAgaWYgKGF0b21p
Y1Byb3BlcnR5TmFtZSAmJiBkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkuaGFzV2lu
ZG93TmFtZWRJdGVtKCphdG9taWNQcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgICAgICBzbG90LnNl
dEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSwgbmFt
ZWRJdGVtR2V0dGVyKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9t
LmNwcAppbmRleCBkNmVjYWMyNDEyMDZlMTIyYzhjZGJkMjljOGM0OWRhYTU3MWRhNmQ3Li43MTZh
Y2I3NDg2ZTQzMGJmNDVmZmRmOTc4MWM2OWEzMTJmYjgyNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9t
LmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgSlNQcm9taXNlRGVmZXJyZWQqIGdldE9yQ3Jl
YXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsCiAKIHN0YXRpYyBK
U0M6OlByaXZhdGVOYW1lJiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoKQogewotICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxKU0M6OlByaXZhdGVOYW1lPiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoImNs
b3NlZFByb21pc2UiKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFt
ZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKEpTQzo6UHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCAi
Y2xvc2VkUHJvbWlzZSIpOwogICAgIHJldHVybiBjbG9zZWRQcm9taXNlU2xvdE5hbWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwCmluZGV4IDY5OTQ4ODA2NDM0OTVkYTU0YzkyOGZlMzBmODcxNWJhYTkyMzY1ZDcuLmJj
OWViZTllZDM0YmY3MDMyMmIxY2QzZDc1ZDFmMDZlNGQ4MDViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtOTgz
LDcgKzk4Myw3IEBAIGNsYXNzIENsb25lU2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgdm9p
ZCB3cml0ZShjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKICAgICB7CiAgICAgICAgIGNvbnN0IFN0
cmluZyYgc3RyID0gaWRlbnQuc3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZ0NvbnN0YW50UG9vbDo6
QWRkUmVzdWx0IGFkZFJlc3VsdCA9IG1fY29uc3RhbnRQb29sLmFkZChzdHIuaW1wbCgpLCBtX2Nv
bnN0YW50UG9vbC5zaXplKCkpOworICAgICAgICBTdHJpbmdDb25zdGFudFBvb2w6OkFkZFJlc3Vs
dCBhZGRSZXN1bHQgPSBtX2NvbnN0YW50UG9vbC5hZGQoaWRlbnQuaW1wbCgpLCBtX2NvbnN0YW50
UG9vbC5zaXplKCkpOwogICAgICAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KSB7CiAgICAg
ICAgICAgICB3cml0ZShTdHJpbmdQb29sVGFnKTsKICAgICAgICAgICAgIHdyaXRlU3RyaW5nSW5k
ZXgoYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CkBAIC0xMjExLDcgKzEyMTEsNyBAQCBjbGFz
cyBDbG9uZVNlcmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgIE9iamVjdFBvb2wgbV9vYmplY3RQ
b29sOwogICAgIE9iamVjdFBvb2wgbV90cmFuc2ZlcnJlZE1lc3NhZ2VQb3J0czsKICAgICBPYmpl
Y3RQb29sIG1fdHJhbnNmZXJyZWRBcnJheUJ1ZmZlcnM7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxTdHJpbmdJbXBsPiwgdWludDMyX3QsIElkZW50aWZpZXJSZXBIYXNoPiBTdHJpbmdDb25z
dGFudFBvb2w7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4s
IHVpbnQzMl90LCBJZGVudGlmaWVyUmVwSGFzaD4gU3RyaW5nQ29uc3RhbnRQb29sOwogICAgIFN0
cmluZ0NvbnN0YW50UG9vbCBtX2NvbnN0YW50UG9vbDsKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJ
ZGVudGlmaWVyOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBkZjQ5MDY0ZjgyMjA3MzA1YTk3Y2Q3YjgyYThkYTliNjVmMzYwMzJmLi42ZmE3
NzA4NjJhNmMxYTk1M2JiZDJkYTNmNjNhMzcwMTFmZGYyYWY3IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDUt
MjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgSW50
cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5bWJv
bGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVlZFN0cmluZ0ltcGwsIFN5bWJvbElt
cGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9TdHJpbmdJbXBsLmNwcDoKKwogMjAxNS0wNS0yMCAgUm9oaXQgS3VtYXIgIDxrdW1hci5y
b2hpdEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtNaW5pYnJvd3Nlcl0gSGlkZSBVUkwg
YmFyIG9uIGZ1bGxzY3JlZW4gbW9kZSBmb3IgSFRNTCBlbGVtZW50cyBhbmQgYnJvd3NlciB3aW5k
b3cgaW4gV2ViS2l0IEVGTCBNaW5pYnJvd3NlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9TdHJpbmdJbXBsLmNwcAppbmRleCA2ZGM5OTM0MDk4YmQ3ZDE1NTA3YzEyYWVhNzlkZDRm
YTg1YjAxOTcxLi43NWZhZGY4YzQzN2E3ZGRjYjY4M2Q0NzRmZjY1YmYyMDE1NGU0OTAzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApAQCAtMjUsNyAr
MjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3ltYm9sSW1wbC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253448</attachid>
            <date>2015-05-20 11:03:11 -0700</date>
            <delta_ts>2015-05-21 09:39:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144848-20150521030306.patch</filename>
            <type>text/plain</type>
            <size>163321</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDgzMzAyNmRmZjcwYTBlN2EyYmY5MWZiMmFmYmZkZTJiZGFlNDhmLi44OGNhZDljOGVjOWJmYTNl
NzE4NDM1MjM1MGYzODI2Y2NiMDkzYWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjMgQEAKKzIwMTUtMDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJ
bXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVl
ZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6
CisgICAgICAgICogYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6
OkNvbXBsZXhHZXRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvbXBs
ZXhHZXRTdGF0dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcDoKKyAg
ICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAgICAgIChK
U0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3Rh
dHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9JbnN0cnVjdGlvbi5oOgorICAgICAgICAoSlNDOjpJ
bnN0cnVjdGlvbjo6SW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToK
KyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6
OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUv
UHV0QnlJZFN0YXR1cy5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRv
cik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjp2aXNpYmxlTmFtZUZvclBhcmFt
ZXRlcik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpoYXNDb25zdGFudCk6Cisg
ICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjphZGRDb25zdGFudCk6CisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OlByb3BlcnR5TGlzdE5vZGU6OmVtaXRC
eXRlY29kZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6OkRG
Rzo6Qnl0ZUNvZGVQYXJzZXI6OklubGluZVN0YWNrRW50cnk6OklubGluZVN0YWNrRW50cnkpOgor
ICAgICAgICAqIGRmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OkRlc2lyZWRJZGVudGlmaWVyczo6YWRkTGF6aWx5KToKKyAgICAgICAgKEpTQzo6REZHOjpE
ZXNpcmVkSWRlbnRpZmllcnM6OmF0KToKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkSWRlbnRp
ZmllcnM6OnJlYWxseUFkZCk6CisgICAgICAgICogZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5o
OgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6b3BlcmF0b3JbXSk6Cisg
ICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVw
UGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6aXNTdHJp
bmdQcm90b3R5cGVNZXRob2RTYW5lKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlSW4pOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1
bGF0aXZlSklUOjppZGVudGlmaWVyVUlEKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTENvbXBpbGUuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6Om1tQWxsb2NhdGVEYXRhU2VjdGlvbik6CisgICAgICAgICogZnRsL0ZU
TElubGluZUNhY2hlRGVzY3JpcHRvci5oOgorICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hl
RGVzY3JpcHRvcjo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpJ
bmxpbmVDYWNoZURlc2NyaXB0b3I6OnVpZCk6CisgICAgICAgIChKU0M6OkZUTDo6R2V0QnlJZERl
c2NyaXB0b3I6OkdldEJ5SWREZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpQdXRCeUlk
RGVzY3JpcHRvcjo6UHV0QnlJZERlc2NyaXB0b3IpOgorICAgICAgICAoSlNDOjpGVEw6OkNoZWNr
SW5EZXNjcmlwdG9yOjpDaGVja0luRGVzY3JpcHRvcik6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlUHV0QnlJZCk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVJbik6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmdldEJ5SWQpOgorICAgICAgICAqIGZ0bC9GVExTbG93UGF0
aENhbGwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGZ0bC9GVExTbG93UGF0aENhbGwuaDoKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgICog
aml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKToKKyAg
ICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuaDoKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuY3BwOgorICAgICAgICAoSlNDOjpQcm9ncmFt
Tm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGVOb2RlOjpjYXB0dXJlcyk6CisgICAgICAgIChKU0M6OlNjb3BlTm9k
ZTo6c2V0Q2xvc2VkVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6UHJvZ3JhbU5vZGU6OmNsb3Nl
ZFZhcmlhYmxlcyk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoK
KyAgICAgICAgKEpTQzo6U2NvcGVMYWJlbEluZm86OlNjb3BlTGFiZWxJbmZvKToKKyAgICAgICAg
KEpTQzo6U2NvcGU6OmRlY2xhcmVDYWxsZWUpOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVjbGFy
ZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmRlY2xhcmVQYXJhbWV0ZXIpOgorICAg
ICAgICAoSlNDOjpTY29wZTo6ZGVjbGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6
U2NvcGU6OnVzZVZhcmlhYmxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmNvcHlDYXB0dXJlZFZh
cmlhYmxlc1RvVmVjdG9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjbG9zZWRWYXJpYWJsZXMp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6dXNlZFZhcmlhYmxlcyk6CisgICAgICAgIChK
U0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjp3cml0dGVuVmFyaWFibGVzKToKKyAgICAgICAg
KEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZSk6CisgICAgICAgICogcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJz
Ojppc1ByaXZhdGVOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6
CisgICAgICAgICogcnVudGltZS9JZGVudGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZp
ZXI6OmltcGwpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyOjpJZGVudGlmaWVyKToKKyAgICAg
ICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgIChKU0M6OklkZW50aWZpZXJSZXBIYXNoOjpo
YXNoKToKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OklkZW50aWZpZXI6OmZyb21VaWQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRTdHJ1
Y3R1cmVDaGFpbi5jcHA6CisgICAgICAgIChKU0M6OkludGVuZGVkU3RydWN0dXJlQ2hhaW46Om1h
eUludGVyY2VwdFN0b3JlVG8pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVD
aGFpbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoK
KyAgICAgICAgKEpTQzo6SGFzaFRhYmxlOjplbnRyeSk6CisgICAgICAgICogcnVudGltZS9NYXBE
YXRhLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChKU0M6Om9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVydHlTeW1ib2xzKToKKyAgICAgICAg
KiBydW50aW1lL1ByaXZhdGVOYW1lLmg6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjpQcml2
YXRlTmFtZSk6CisgICAgICAgIChKU0M6OlByaXZhdGVOYW1lOjp1aWQpOgorICAgICAgICAqIHJ1
bnRpbWUvUHJvcGVydHlNYXBIYXNoVGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5
TmFtZS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAg
ICAgIChKU0M6OlByb3BlcnR5TmFtZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1l
OjpwdWJsaWNOYW1lKToKKyAgICAgICAgKEpTQzo6cGFyc2VJbmRleCk6CisgICAgICAgICogcnVu
dGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJh
eTo6YWRkS25vd25VbmlxdWUpOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheTo6YWRk
KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVj
dHVyZVRyYW5zaXRpb25UYWJsZTo6Y29udGFpbnMpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGU6OmdldCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwpOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50
bHkpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseSk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6YWRkKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpyZW1vdmUp
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUpOgorICAgICAgICAq
IHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChKU0M6OlByb3BlcnR5TWFwRW50cnk6OlBy
b3BlcnR5TWFwRW50cnkpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRseSk6CisgICAgICAgICogcnVu
dGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
VHJhbnNpdGlvblRhYmxlOjpIYXNoOjpoYXNoKToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbC5j
cHA6CisgICAgICAgIChKU0M6OlN5bWJvbDo6U3ltYm9sKToKKyAgICAgICAgKiBydW50aW1lL1N5
bWJvbC5oOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoSlNDOjpzeW1ib2xDb25zdHJ1Y3RvckZvcik6CisgICAgICAgIChKU0M6OnN5bWJvbENvbnN0
cnVjdG9yS2V5Rm9yKToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlLmNwcDoKKyAgICAg
ICAgKEpTQzo6U3ltYm9sVGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUpOgorICAgICAgICAoSlND
OjpTeW1ib2xUYWJsZTo6Z2xvYmFsVHlwZVNldEZvclZhcmlhYmxlKToKKyAgICAgICAgKiBydW50
aW1lL1N5bWJvbFRhYmxlLmg6CisgICAgICAgICogcnVudGltZS9UeXBlU2V0LmNwcDoKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCk6CisgICAgICAgICogcnVudGltZS9UeXBlU2V0Lmg6
CisKIDIwMTUtMDUtMTkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODQ2MTMgYW5kIHIxODQ2MTQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDU4YWQxODhhMjg5MWRhN2RhM2ZmMmZlMjgwZmMyM2VhMWEzZjI2YmEuLmY5MzAwNDczZjY3
MjJjMTcwM2Y1MGYzODc3MTk3M2EzNWVlNmQwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMTUt
MDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAg
SW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5
bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBoZSBjdXJyZW50IEF0b21pY1N0cmluZ0ltcGwg
YWNjaWRlbnRhbGx5IG1lYW5zIHRoZSBzeW1ib2wgT1IgYXRvbWljIFN0cmluZ0ltcGwuCisgICAg
ICAgIHQncyBub3QgY29ycmVjdCB0byBpdHMgbmFtZSBhbmQgaXQncyBlcnJvciBwcm9uZS4KKwor
ICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSdsbCBpbnRyb2R1Y2UvY2hhbmdlcyBjbGFzc2VzIGlu
dG8gV1RGLgorCisgICAgICAgIDEuIFVuaXF1ZWRTdHJpbmdJbXBsCisgICAgICAgIEl0J3MgZGVy
aXZlZCBjbGFzcyBmcm9tIFN0cmluZ0ltcGwuIEFuZCBpdCByZXByZXNlbnRzIHN5bWJvbCB8fCBh
dG9taWMgU3RyaW5nSW1wbC4KKworICAgICAgICAyLiBTeW1ib2xJbXBsCisgICAgICAgIEl0J3Mg
ZGVyaXZlZCBjbGFzcyBmcm9tIFVuaXF1ZWRTdHJpbmdJbXBsLiBPbmx5IHN5bWJvbCBzdHJpbmdz
IGNhbiBiZWNvbWUgdGhpcy4KKyAgICAgICAgSXQgZW5zdXJlcyB0aGUgZ2l2ZW4gU3RyaW5nSW1w
bCBpcyBzeW1ib2wgaW4gY29tcGlsZSB0aW1lLgorCisgICAgICAgIDMuIEF0b21pY1N0cmluZ0lt
cGwKKyAgICAgICAgSXQncyBkZXJpdmVkIGNsYXNzIGZyb20gVW5pcXVlZFN0cmluZ0ltcGwuIE9u
bHkgYXRvbWljIChub24tbm9ybWFsICYmIG5vbi1zeW1ib2wpIHN0cmluZ3MgY2FuIGJlY29tZSB0
aGlzLgorICAgICAgICBJdCBlbnN1cmVzIHRoZSBnaXZlbiBTdHJpbmdJbXBsIGlzIGF0b21pYyBp
biBjb21waWxlIHRpbWUuCisKKyAgICAgICAgQW5kLCBpbiB0aGlzIHRpbWUsIEkganVzdCBhY2Nl
cHQgVW5pcXVlU3RyaW5nSW1wbCBpbiBBdG9taWNTdHJpbmcuIEFzIHRoZSByZXN1bHQsCisgICAg
ICAgIDEuIE5vdyBBdG9taWNTdHJpbmdJbXBsIGlzc3VlIGlzIGZpeGVkLiBJdHMgU3ltYm9sSW1w
bCBpcyBzZXBhcmF0ZWQgYW5kIFVuaXF1ZWRTdHJpbmdJbXBsIGlzIGludHJvZHVjZWQuCisgICAg
ICAgIDIuIEJ1dCBBdG9taWNTdHJpbmcgc3RpbGwgaGF2ZSBib3RoIHN5bWJvbCBhbmQgYXRvbWlj
IHN0cmluZ3MuCisgICAgICAgIFRoaXMgc2hvdWxkIGJlIHNvbHZlZCBpbiB0aGUgc2VwYXJhdGVk
IHBhdGNoLgorCisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2o6CisgICAgICAgICog
V1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogd3RmL1ByaW50U3RyZWFtLmNwcDoKKyAgICAgICAgKiB3dGYvUHJpbnRTdHJlYW0uaDoKKyAg
ICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQvQXRvbWljU3Ry
aW5nLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6QXRvbWljU3RyaW5nKToKKyAgICAg
ICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3Ry
aW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6On5TdHJpbmdJbXBsKToKKyAg
ICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKToKKyAgICAgICAgKFdURjo6U3Ry
aW5nSW1wbDo6Y3JlYXRlU3ltYm9sRW1wdHkpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TeW1ib2xJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVOYW1lLmguCisgICAgICAgICogd3RmL3Rl
eHQvU3ltYm9sUmVnaXN0cnkuY3BwOgorICAgICAgICAoV1RGOjpTeW1ib2xSZWdpc3RyeTo6c3lt
Ym9sRm9yS2V5KToKKyAgICAgICAgKFdURjo6U3ltYm9sUmVnaXN0cnk6OmtleUZvclN5bWJvbCk6
CisgICAgICAgIChXVEY6OlN5bWJvbFJlZ2lzdHJ5OjpyZW1vdmUpOgorICAgICAgICAqIHd0Zi90
ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg6CisgICAgICAgICogd3RmL3RleHQvVW5pcXVlZFN0cmluZ0lt
cGwuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5h
bWUuaC4KKwogMjAxNS0wNS0xOSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgR2l2ZSBTdHJpbmdWaWV3IGEgdXRmOCgpIEFQSS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MzQx
NmQ4MTRkOTEwNTdmMmI0ZDZiMmVkMDgyMDM5NWMxMzY0NzM5Li5mN2EwNGJiYjI0NmMwNjE1NTE3
ODI3YjJkYTQ4ODU2ZmUwNzAwYTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUt
MDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAg
SW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5
bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5pcXVlZFN0cmluZ0ltcGwsIFN5bWJv
bEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3du
UHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0
cmVhbVJlYWRlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbG9zZWRQcm9taXNlU2xv
dE5hbWUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OndyaXRlKToKKwogMjAxNS0wNS0y
MCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMTg0NDIwKTogW0dUS10gd2Via2l0X2RvbV9odG1sX2VsZW1lbnRfZ2V0X2No
aWxkcmVuIGhhcyBiZWVuIHJlbW92ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0LmgKaW5kZXggZWE0Y2ZhZmQ3YzNlYjhlYTZjZTczZjIzMTZkNDdkOGVjNGNl
NWU3MS4uMzNiNDI2MmU2MjAxNzRjZDdiY2Q0NzFjNTBhNjkzYTlmNDBiNGEwNSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTEwNyw3ICsxMDcs
NyBAQCBzdHJ1Y3QgSlNDYWxsYmFja09iamVjdERhdGEgewogICAgICAgICB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBXcml0ZUJh
cnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7Cisg
ICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBXcml0ZUJh
cnJpZXI8VW5rbm93bj4sIElkZW50aWZpZXJSZXBIYXNoPiBQcml2YXRlUHJvcGVydHlNYXA7CiAg
ICAgICAgIFByaXZhdGVQcm9wZXJ0eU1hcCBtX3Byb3BlcnR5TWFwOwogICAgIH07CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEpTUHJpdmF0ZVByb3BlcnR5TWFwPiBtX3ByaXZhdGVQcm9wZXJ0aWVzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDc5
YWNjMTRkYjE0ODNhMmZmYWIyMThiNGYzYzMyMDg2NjYzYzM0ODMuLjVkYzcxNmNmY2JhYjFmNGQ4
NTEyMzYzZDExY2Y1ZDBkZmYyNzZkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTM3LDcgKzM3LDcgQEAKICAgICBjb25zdCBJZGVudGlm
aWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWU7IH0gXAogICAg
IGNvbnN0IElkZW50aWZpZXImIG5hbWUjI1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8j
I25hbWUjI1ByaXZhdGVOYW1lOyB9CiAKLSNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJP
TFMobmFtZSkgSU5JVElBTElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9s
KElkZW50aWZpZXI6OmZyb21VaWQoUHJpdmF0ZU5hbWUoQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAj
bmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElTRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgSU5JVElB
TElTRV9CVUlMVElOX05BTUVTKG5hbWUpLCBtXyMjbmFtZSMjU3ltYm9sKElkZW50aWZpZXI6OmZy
b21VaWQoUHJpdmF0ZU5hbWUoUHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwo
IlN5bWJvbC4iICNuYW1lKSkpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1l
KSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkgY29uc3QgSWRlbnRpZmllciBtXyMjbmFtZSMj
U3ltYm9sOwogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKG5hbWUpIFwK
ICAgICBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUihuYW1lKSBcCkBAIC02NCw3
ICs2NCw4IEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJU0VfUFVCTElDX1RP
X1BSSVZBVEVfRU5UUlkpCiAgICAgfQogCi0gICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN0cmluZ0lt
cGwqIHVpZCkgY29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFN5bWJvbEltcGwmIHVpZCkg
Y29uc3Q7CisgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNv
bnN0OwogICAgIGJvb2wgaXNQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAg
ICAgY29uc3QgSWRlbnRpZmllciogZ2V0UHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNv
bnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGdldFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmll
ciYpIGNvbnN0OwpAQCAtNzgsNyArNzksNyBAQCBjbGFzcyBCdWlsdGluTmFtZXMgewogICAgIEpT
Q19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fTkFNRVMpCiAg
ICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShERUNM
QVJFX0JVSUxUSU5fTkFNRVMpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VB
Q0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCi0gICAgdHlwZWRl
ZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4g
QnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1h
cDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CiB9OwpAQCAtOTAs
MTYgKzkxLDIzIEBAIGNsYXNzIEJ1aWx0aW5OYW1lcyB7CiAjdW5kZWYgSU5JVElBTElTRV9CVUlM
VElOX1NZTUJPTFMKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SCiAKLWlu
bGluZSBib29sIEJ1aWx0aW5OYW1lczo6aXNQcml2YXRlTmFtZShTdHJpbmdJbXBsKiB1aWQpIGNv
bnN0CitpbmxpbmUgYm9vbCBCdWlsdGluTmFtZXM6OmlzUHJpdmF0ZU5hbWUoU3ltYm9sSW1wbCYg
dWlkKSBjb25zdAogewotICAgIGlmICghdWlkLT5pc1N5bWJvbCgpKQorICAgIHJldHVybiBtX3By
aXZhdGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsKK30KKworaW5saW5lIGJvb2wgQnVpbHRp
bk5hbWVzOjppc1ByaXZhdGVOYW1lKFVuaXF1ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0Cit7Cisg
ICAgaWYgKCF1aWQuaXNTeW1ib2woKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVy
biBtX3ByaXZhdGVUb1B1YmxpY01hcC5jb250YWlucyh1aWQpOworICAgIHJldHVybiBtX3ByaXZh
dGVUb1B1YmxpY01hcC5jb250YWlucygmdWlkKTsKIH0KIAogaW5saW5lIGJvb2wgQnVpbHRpbk5h
bWVzOjppc1ByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAogewotICAg
IHJldHVybiBpc1ByaXZhdGVOYW1lKGlkZW50LmltcGwoKSk7CisgICAgaWYgKGlkZW50LmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGlzUHJpdmF0ZU5hbWUoKmlk
ZW50LmltcGwoKSk7CiB9CiAKIGlubGluZSBjb25zdCBJZGVudGlmaWVyKiBCdWlsdGluTmFtZXM6
OmdldFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1Jl
Z2lzdHJ5LmgKaW5kZXggODMxYmM2NjhkYjk0Mzc1NjYzOWJiNGNmZjFiMzQ3MzdjOGJlMmI0Yi4u
ODdhNTc4YzE2YzMwYTMzNDcwMTQ1MTU2ZTVkMWM3YjdiYTEzMmUyNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdp
c3RyeS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkg
ewogCiBwcml2YXRlOgogICAgIGNvbnN0IENvbW1vbklkZW50aWZpZXJzJiBtX3Byb3BlcnR5TmFt
ZXM7Ci0gICAgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlm
aWVyUmVwSGFzaD4gbV9ieXRlY29kZUludHJpbnNpY01hcDsKKyAgICBIYXNoTWFwPFJlZlB0cjxV
bmlxdWVkU3RyaW5nSW1wbD4sIEVtaXR0ZXJUeXBlLCBJZGVudGlmaWVyUmVwSGFzaD4gbV9ieXRl
Y29kZUludHJpbnNpY01hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA4ZmZkZWMyMmM1YWEyNDQ2
ZWFjNWI0NTExYmUxNGE2NjUzYzY1OTFkLi5mZmQ5YjliNWE4NzE0NWVmNzk0YTc0NjNjZDM0Y2U1
YjgxN2ExYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcApAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNp
bmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3Ry
ZWFtLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogI2lmIEVO
QUJMRShERkdfSklUKQogI2luY2x1ZGUgIkRGR09wZXJhdGlvbnMuaCIKQEAgLTIwMjIsNyArMjAy
Myw3IEBAIGNsYXNzIFB1dFRvU2NvcGVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgewog
ICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocGNbMl0udS5vcGVyYW5k
KSAhPSBVSU5UX01BWCkgewogICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChkaWRD
bG9uZVN5bWJvbFRhYmxlKTsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQgPSBpZGVudGlmaWVyKHBjWzJdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICAgICAgICAg
IFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsKKyAgICAgICAgICAgICAgICAgICAgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50LmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAg
Q29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9zeW1ib2xUYWJsZS0+bV9sb2NrKTsKICAgICAg
ICAgICAgICAgICAgICAgU3ltYm9sVGFibGU6Ok1hcDo6aXRlcmF0b3IgaXRlciA9IG1fc3ltYm9s
VGFibGUtPmZpbmQobG9ja2VyLCB1aWQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXRl
ciAhPSBtX3N5bWJvbFRhYmxlLT5lbmQobG9ja2VyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5jcHAKaW5kZXggMDQyZGNlYzc3ZWZk
YzIwYzEzMjVlZDI3YzhkNzk5ZTczNzdmNjQ5Ny4uZDgxM2EzZDY1N2VjYWNkOTdkOGYxMGUwODYw
NjQzNjc2MWJjZTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvbXBsZXhHZXRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db21wbGV4R2V0U3RhdHVzLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBDb21wbGV4R2V0U3Rh
dHVzIENvbXBsZXhHZXRTdGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwK
LSAgICB1bnNpZ25lZCBjaGFpbkNvdW50LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCisgICAgdW5z
aWduZWQgY2hhaW5Db3VudCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0IHdlIG5ldmVyIHNlZSBhIHN0cnVjdHVyZSB0aGF0CiAg
ICAgLy8gaGFzSW1wdXJlR2V0T3duUHJvcGVydHlTbG90KCkgYnV0IGZvciB3aGljaCB3ZSBkb24n
dApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRT
dGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db21wbGV4R2V0U3RhdHVz
LmgKaW5kZXggMTE1YmYzY2U0MWY1MDhjMTY3ZDgwZDE0YWQxZTg0YThlZjkwMGMzMy4uMjYyMDQw
NWE5NmY5Nzk4NTAxMzQxMzgwNmM2YzQyNTFlZTRkM2QyOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvbXBsZXhHZXRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29tcGxleEdldFN0YXR1cy5oCkBAIC05OCw3ICs5OCw3IEBA
IGNsYXNzIENvbXBsZXhHZXRTdGF0dXMgewogICAgIAogICAgIHN0YXRpYyBDb21wbGV4R2V0U3Rh
dHVzIGNvbXB1dGVGb3IoCiAgICAgICAgIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0
dXJlKiBoZWFkU3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sCi0gICAgICAgIHVuc2ln
bmVkIGNoYWluQ291bnQsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgICAgIHVuc2lnbmVk
IGNoYWluQ291bnQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIEtpbmQga2lu
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXMoKSBj
b25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAppbmRleCBiZjI4YzU1OWE2YjA5NjZlZWFlY2Vk
ZGUyMTQ1NDVkZDc4NWU4YzFjLi4zMGMyMjA0N2UyNWM0MTVmMjY4NmY1NTk4NDM5MDA3ZGIxNjc5
MzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCkBAIC02Niw3ICs2Niw3IEBAIGJvb2wgR2V0QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUo
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByCiB9CiAjZW5k
aWYKIAotR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5n
SW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50
KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAg
ICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwpAQCAtOTEsNyArOTEsNyBAQCBHZXRCeUlk
U3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCB1bnNpZ25lZAogICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKFNpbXBsZSwgZmFsc2Us
IEdldEJ5SWRWYXJpYW50KFN0cnVjdHVyZVNldChzdHJ1Y3R1cmUpLCBvZmZzZXQpKTsKIH0KIAot
R2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWlj
U3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9y
KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG1hcCwgdW5zaWduZWQgYnl0
ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBDb25jdXJyZW50SklU
TG9ja2VyIGxvY2tlcihwcm9maWxlZEJsb2NrLT5tX2xvY2spOwogCkBAIC0xMTgsNyArMTE4LDcg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJv
ZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KIAogI2lmIEVOQUJMRShKSVQpCiBHZXRCeUlkU3Rh
dHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbygKLSAgICBjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsCisgICAgY29uc3QgQ29u
Y3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwKICAgICBDYWxs
TGlua1N0YXR1czo6RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCiB7CiAgICAgaWYgKCFz
dHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4pCkBAIC0yMjQsNyArMjI0LDcgQEAgR2V0QnlJZFN0
YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oCiAKIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwKLSAgICBTdHVi
SW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwq
IHVpZCkKKyAgICBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgaWYgKGRm
Z0Jsb2NrKSB7CkBAIC0yNjIsNyArMjYyLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVz
Ojpjb21wdXRlRm9yKAogICAgIHJldHVybiBjb21wdXRlRm9yKHByb2ZpbGVkQmxvY2ssIGJhc2Vs
aW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7CiB9CiAKLUdldEJ5SWRTdGF0
dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihjb25zdCBTdHJ1Y3R1cmVTZXQmIHNldCwgQXRv
bWljU3RyaW5nSW1wbCogdWlkKQorR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yKGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIC8vIEZvciBub3cgd2Ugb25seSBoYW5kbGUgdGhlIHN1cGVyIHNpbXBsZSBzZWxmIGFjY2Vz
cyBjYXNlLiBXZSBjb3VsZCBoYW5kbGUgdGhlCiAgICAgLy8gcHJvdG90eXBlIGNhc2UgaW4gdGhl
IGZ1dHVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1
cy5oCmluZGV4IDI3YmZiODhmNGMxMmQ3NmI2MjkyODVmMWNhZDIzZjI2Y2FiZDVlYzguLjdkNGVi
YjIyY2ZkNWE4YWM4ZWJhYjBjYmU1YjUyZjU0NjMxNjgyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuaApAQCAtNjcsMTAgKzY3LDEwIEBAIGNs
YXNzIEdldEJ5SWRTdGF0dXMgewogICAgICAgICBtX3ZhcmlhbnRzLmFwcGVuZCh2YXJpYW50KTsK
ICAgICB9CiAgICAgCi0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxv
Y2sqLCBTdHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCk7Ci0gICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBTdHJ1
Y3R1cmVTZXQmLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3Rh
dHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29k
ZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1
cyBjb21wdXRlRm9yKGNvbnN0IFN0cnVjdHVyZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQp
OwogICAgIAotICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBi
YXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVN
YXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCk7CisgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2Vs
aW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwg
U3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7
CiAgICAgCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAg
CkBAIC05Nyw5ICs5Nyw5IEBAIGNsYXNzIEdldEJ5SWRTdGF0dXMgewogI2lmIEVOQUJMRShKSVQp
CiAgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvclN0dWJJbmZvKAogICAgICAgICBj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHJ1
Y3R1cmVTdHViSW5mbyosCi0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgQ2FsbExpbmtT
dGF0dXM6OkV4aXRTaXRlRGF0YSk7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIENh
bGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEpOwogI2VuZGlmCi0gICAgc3RhdGljIEdldEJ5SWRT
dGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4
LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1
dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAgYm9vbCBhcHBlbmRWYXJpYW50KGNvbnN0IEdldEJ5
SWRWYXJpYW50Jik7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0
cnVjdGlvbi5oCmluZGV4IGI0MmU0MjkxOGFhZjc0NmM5Mzk2MDliOWJkMWUyZjk5ZDA2YjRmOTcu
LmMyMGE0ZjcyODRlYzFjNTgxODg0ODYwMjJiMDliZDY0MGMyMzExNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCkBAIC0xMDAsNyArMTAwLDcgQEAg
c3RydWN0IEluc3RydWN0aW9uIHsKICAgICBJbnN0cnVjdGlvbihPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSogcHJvZmlsZSkgeyB1Lm9iamVjdEFsbG9jYXRpb25Qcm9maWxlID0gcHJvZmlsZTsgfQog
ICAgIEluc3RydWN0aW9uKFdyaXRlQmFycmllcjxVbmtub3duPiogdmFyaWFibGVQb2ludGVyKSB7
IHUudmFyaWFibGVQb2ludGVyID0gdmFyaWFibGVQb2ludGVyOyB9CiAgICAgSW5zdHJ1Y3Rpb24o
U3BlY2lhbDo6UG9pbnRlciBwb2ludGVyKSB7IHUuc3BlY2lhbFBvaW50ZXIgPSBwb2ludGVyOyB9
Ci0gICAgSW5zdHJ1Y3Rpb24oU3RyaW5nSW1wbCogdWlkKSB7IHUudWlkID0gdWlkOyB9CisgICAg
SW5zdHJ1Y3Rpb24oVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkgeyB1LnVpZCA9IHVpZDsgfQogICAg
IEluc3RydWN0aW9uKGJvb2wqIHByZWRpY2F0ZVBvaW50ZXIpIHsgdS5wcmVkaWNhdGVQb2ludGVy
ID0gcHJlZGljYXRlUG9pbnRlcjsgfQogCiAgICAgdW5pb24gewpAQCAtMTE0LDcgKzExNCw3IEBA
IHN0cnVjdCBJbnN0cnVjdGlvbiB7CiAgICAgICAgIFNwZWNpYWw6OlBvaW50ZXIgc3BlY2lhbFBv
aW50ZXI7CiAgICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGdldHRlckZ1bmM7CiAg
ICAgICAgIExMSW50Q2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm87Ci0gICAgICAgIFN0cmluZ0lt
cGwqIHVpZDsKKyAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZDsKICAgICAgICAgVmFsdWVQ
cm9maWxlKiBwcm9maWxlOwogICAgICAgICBBcnJheVByb2ZpbGUqIGFycmF5UHJvZmlsZTsKICAg
ICAgICAgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSogYXJyYXlBbGxvY2F0aW9uUHJvZmlsZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAppbmRl
eCA3ZWMwYmE0MzBlNjZmNzQxODMzOWQ5ODM0ZjVmNjJhYjFjNmU5ZjkwLi4yNGQ3YjQ0ZTQ1N2Jh
NmE2MDVhM2MxYzJjNWY5N2U3ODE0ZWI2NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkBAIC02Miw3ICs2Miw3IEBAIGJvb2wgUHV0
QnlJZFN0YXR1czo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2Vy
LCBDb2RlQmxvY2sqIHByCiB9CiAjZW5kaWYKIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0
ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKQorUHV0QnlJZFN0YXR1cyBQdXRCeUlk
U3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWdu
ZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURf
UEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwpA
QCAtMTA1LDcgKzEwNSw3IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZy
b21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkCiAgICAgcmV0dXJuIFB1
dEJ5SWRWYXJpYW50Ojp0cmFuc2l0aW9uKHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBpbnRlbmRl
ZENoYWluLmdldCgpLCBvZmZzZXQpOwogfQogCi1QdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6
OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbWFwLCB1
bnNpZ25lZCBieXRlY29kZUluZGV4LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQpCitQdXRCeUlkU3Rh
dHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBT
dHViSW5mb01hcCYgbWFwLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogewogICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKHByb2ZpbGVkQmxvY2st
Pm1fbG9jayk7CiAgICAgCkBAIC0xMzQsNyArMTM0LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlk
U3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAm
IG0KICNpZiBFTkFCTEUoSklUKQogUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yU3R1YkluZm8oCiAgICAgY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKLSAgICBB
dG9taWNTdHJpbmdJbXBsKiB1aWQsIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEgY2FsbEV4
aXRTaXRlRGF0YSkKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCBDYWxsTGlua1N0YXR1czo6
RXhpdFNpdGVEYXRhIGNhbGxFeGl0U2l0ZURhdGEpCiB7CiAgICAgaWYgKCFzdHViSW5mbyB8fCAh
c3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKCk7CkBAIC0yNzQs
NyArMjc0LDcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1Yklu
Zm8oCiB9CiAjZW5kaWYKIAotUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9y
KENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9N
YXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmln
aW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6
Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ss
IFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogI2lmIEVOQUJMRShERkdf
SklUKQogICAgIGlmIChkZmdCbG9jaykgewpAQCAtMzA4LDcgKzMwOCw3IEBAIFB1dEJ5SWRTdGF0
dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENv
ZGVCbG9jayogZGZnCiAgICAgcmV0dXJuIGNvbXB1dGVGb3IoYmFzZWxpbmVCbG9jaywgYmFzZWxp
bmVNYXAsIGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwgdWlkKTsKIH0KIAotUHV0QnlJZFN0YXR1
cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IFN0cnVjdHVyZVNldCYgc2V0LCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNE
aXJlY3QpCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlU2V0JiBzZXQsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpCiB7CiAgICAgaWYgKHBhcnNlSW5kZXgoKnVpZCkp
CiAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2VzU2xvd1BhdGgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKaW5kZXggZjU1MzYyZTEz
ZDkzYjc3YThiY2RmM2VmYmQ5ZjFmZTE1YzZlN2E0YS4uMDQ2MWRjNGQ2ZmQyZjM1Yzg2NzQxYjA3
NDJmNWM2OTJmMmNiMTNmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHV0QnlJZFN0YXR1cy5oCkBAIC03MCwxMCArNzAsMTAgQEAgY2xhc3MgUHV0QnlJZFN0YXR1cyB7
CiAgICAgICAgIG1fdmFyaWFudHMuYXBwZW5kKHZhcmlhbnQpOwogICAgIH0KICAgICAKLSAgICBz
dGF0aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwg
dW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKLSAgICBzdGF0
aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RydWN0
dXJlU2V0JiwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCBib29sIGlzRGlyZWN0KTsKKyAgICBzdGF0
aWMgUHV0QnlJZFN0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIFN0dWJJbmZvTWFwJiwgdW5z
aWduZWQgYnl0ZWNvZGVJbmRleCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGlj
IFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cnVjdHVy
ZVNldCYsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIGJvb2wgaXNEaXJlY3QpOwogICAgIAotICAg
IHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBiYXNlbGluZUJsb2Nr
LCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVNYXAsIFN0dWJJbmZv
TWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7CisgICAgc3Rh
dGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENv
ZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAm
IGRmZ01hcCwgQ29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgCiAgICAg
U3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgCkBAIC05NiwxMCAr
OTYsMTAgQEAgY2xhc3MgUHV0QnlJZFN0YXR1cyB7CiAjZW5kaWYKICNpZiBFTkFCTEUoSklUKQog
ICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5mbygKLSAgICAgICAgY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwg
QXRvbWljU3RyaW5nSW1wbCogdWlkLAorICAgICAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2Vy
JiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1YkluZm8qLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
LAogICAgICAgICBDYWxsTGlua1N0YXR1czo6RXhpdFNpdGVEYXRhKTsKICNlbmRpZgotICAgIHN0
YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgUHV0QnlJ
ZFN0YXR1cyBjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5k
ZXgsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIGJvb2wgYXBwZW5kVmFyaWFu
dChjb25zdCBQdXRCeUlkVmFyaWFudCYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCAxNGEx
ZTk3NDQ1ZGNlNGRjNDllZTA2ZWFmM2IxZGRkZWMxZWQzY2UzLi4yZDY4YmU5OTZkOTBlZjc5NTgx
MDM2NDkyZDllODM3NzViOGEwZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjExLDcgKzIxMSw3
IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgYm9vbCBz
aG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MgPSBtX3Nob3VsZEVtaXREZWJ1Z0hvb2tzIHx8IGNv
ZGVCbG9jay0+dXNlc0V2YWwoKTsKICAgICBib29sIG5lZWRzQXJndW1lbnRzID0gZnVuY3Rpb25O
b2RlLT51c2VzQXJndW1lbnRzKCkgfHwgY29kZUJsb2NrLT51c2VzRXZhbCgpOwogICAgIAotICAg
IGF1dG8gY2FwdHVyZXMgPSBbJl0gKFN0cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CisgICAgYXV0
byBjYXB0dXJlcyA9IFsmXSAoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkgLT4gYm9vbCB7CiAgICAg
ICAgIGlmIChzaG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgaWYgKCFzaG91bGRDYXB0dXJlU29tZU9mVGhlVGhpbmdzKQpAQCAtMjI1
LDcgKzIyNSw3IEBAIFBhcnNlckVycm9yIEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAg
ICAgICAgIH0KICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTm9kZS0+Y2FwdHVyZXModWlkKTsKICAg
ICB9OwotICAgIGF1dG8gdmFyS2luZCA9IFsmXSAoU3RyaW5nSW1wbCogdWlkKSAtPiBWYXJLaW5k
IHsKKyAgICBhdXRvIHZhcktpbmQgPSBbJl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpIC0+IFZh
cktpbmQgewogICAgICAgICByZXR1cm4gY2FwdHVyZXModWlkKSA/IFZhcktpbmQ6OlNjb3BlIDog
VmFyS2luZDo6U3RhY2s7CiAgICAgfTsKIApAQCAtMzE1LDcgKzMxNSw3IEBAIFBhcnNlckVycm9y
IEJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgcGFyYW1ldGVycy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgICAgIFNj
b3BlT2Zmc2V0IG9mZnNldCA9IG1fc3ltYm9sVGFibGUtPnRha2VOZXh0U2NvcGVPZmZzZXQoKTsK
ICAgICAgICAgICAgICAgICBtX3N5bWJvbFRhYmxlLT5zZXRBcmd1bWVudE9mZnNldCh2bSwgaSwg
b2Zmc2V0KTsKLSAgICAgICAgICAgICAgICBpZiAoU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVO
YW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKSB7CisgICAgICAgICAgICAgICAgaWYg
KFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1l
dGVycy5hdChpKSkpIHsKICAgICAgICAgICAgICAgICAgICAgVmFyT2Zmc2V0IHZhck9mZnNldChv
ZmZzZXQpOwogICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZUVudHJ5IGVudHJ5KHZhck9m
ZnNldCk7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0byB0aGVzZSB2YXJpYWJsZXMg
dmlhIHRoZSBTY29wZWRBcmd1bWVudHMgb2JqZWN0IHdpbGwgbm90IGRvCkBAIC0zNDMsNyArMzQz
LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICAgICAg
ICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHB1dCBhbGwgcGFyYW1ldGVycyBpbnRvIHRoZSBEaXJlY3RB
cmd1bWVudHMgb2JqZWN0LiBGaXJzdCBlbnN1cmUKICAgICAgICAgICAgIC8vIHRoYXQgdGhlIHN5
bWJvbCB0YWJsZSBrbm93cyB0aGF0IHRoaXMgaXMgaGFwcGVuaW5nLgogICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoU3RyaW5nSW1wbCogbmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBh
cmFtZXRlcnMuYXQoaSkpKQorICAgICAgICAgICAgICAgIGlmIChVbmlxdWVkU3RyaW5nSW1wbCog
bmFtZSA9IHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKHBhcmFtZXRlcnMuYXQoaSkpKQogICAgICAg
ICAgICAgICAgICAgICBtX3N5bWJvbFRhYmxlLT5zZXQobmFtZSwgU3ltYm9sVGFibGVFbnRyeShW
YXJPZmZzZXQoRGlyZWN0QXJndW1lbnRzT2Zmc2V0KGkpKSkpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCkBAIC0zNTQsNyArMzU0LDcgQEAgUGFyc2VyRXJyb3IgQnl0ZWNvZGVHZW5lcmF0
b3I6OmdlbmVyYXRlKCkKICAgICAgICAgLy8gQ3JlYXRlIHRoZSBmb3JtYWwgcGFyYW1ldGVycyB0
aGUgbm9ybWFsIHdheS4gQW55IG9mIHRoZW0gY291bGQgYmUgY2FwdHVyZWQsIG9yIG5vdC4gSWYK
ICAgICAgICAgLy8gY2FwdHVyZWQsIGxpZnQgdGhlbSBpbnRvIHRoZSBzY29wZS4KICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgICAgIFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihwYXJhbWV0
ZXJzLmF0KGkpKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0gdmlzaWJs
ZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CiAgICAgICAgICAgICBpZiAoIW5h
bWUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAKQEAgLTQ2Niw3ICs0
NjYsNyBAQCBQYXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAgICAg
ICAKICAgICAgICAgYm9vbCBoYXZlUGFyYW1ldGVyTmFtZWRBcmd1bWVudHMgPSBmYWxzZTsKICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2kpIHsK
LSAgICAgICAgICAgIFN0cmluZ0ltcGwqIG5hbWUgPSB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihw
YXJhbWV0ZXJzLmF0KGkpKTsKKyAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBuYW1lID0g
dmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIocGFyYW1ldGVycy5hdChpKSk7CiAgICAgICAgICAgICBp
ZiAobmFtZSA9PSBwcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRzLmltcGwoKSkgewogICAgICAgICAg
ICAgICAgIGhhdmVQYXJhbWV0ZXJOYW1lZEFyZ3VtZW50cyA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CkBAIC01NDYsNyArNTQ2LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCkKICAgICByZXR1cm4gJnBhcmFtZXRlcjsKIH0K
IAotU3RyaW5nSW1wbCogQnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVy
KERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqIHBhdHRlcm4pCitVbmlxdWVkU3RyaW5nSW1wbCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OnZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9u
UGF0dGVybk5vZGUqIHBhdHRlcm4pCiB7CiAgICAgaWYgKHBhdHRlcm4tPmlzQmluZGluZ05vZGUo
KSkgewogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IHN0YXRpY19jYXN0PGNvbnN0
IEJpbmRpbmdOb2RlKj4ocGF0dGVybiktPmJvdW5kUHJvcGVydHkoKTsKQEAgLTk1NSwxMyArOTU1
LDEzIEBAIHZvaWQgQUxXQVlTX0lOTElORSBCeXRlY29kZUdlbmVyYXRvcjo6cmV3aW5kVW5hcnlP
cCgpCiAKIGJvb2wgQnl0ZWNvZGVHZW5lcmF0b3I6Omhhc0NvbnN0YW50KGNvbnN0IElkZW50aWZp
ZXImIGlkZW50KSBjb25zdAogewotICAgIFN0cmluZ0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsK
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gaWRlbnQuaW1wbCgpOwogICAgIHJldHVybiBt
X2lkZW50aWZpZXJNYXAuY29udGFpbnMocmVwKTsKIH0KIAogdW5zaWduZWQgQnl0ZWNvZGVHZW5l
cmF0b3I6OmFkZENvbnN0YW50KGNvbnN0IElkZW50aWZpZXImIGlkZW50KQogewotICAgIFN0cmlu
Z0ltcGwqIHJlcCA9IGlkZW50LmltcGwoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0g
aWRlbnQuaW1wbCgpOwogICAgIElkZW50aWZpZXJNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBtX2lk
ZW50aWZpZXJNYXAuYWRkKHJlcCwgbV9jb2RlQmxvY2stPm51bWJlck9mSWRlbnRpZmllcnMoKSk7
CiAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAgICBtX2NvZGVCbG9jay0+YWRkSWRl
bnRpZmllcihpZGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggNDZmOGUyNThhOWI0ZDMxZmMxZWI1ZDE1
NzQzOTM0MzdiZjk2ZDJmZC4uNWYxMjY2MGU2NWM3Mzg2MDMxNTI0MzEyY2UxMTYzZWQ5M2VkNTQy
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaApAQCAtNjI0LDcgKzYyNCw3IEBACiAgICAgICAgIHZvaWQgZW1pdENv
bXBsZXhQb3BTY29wZXMoUmVnaXN0ZXJJRCosIENvbnRyb2xGbG93Q29udGV4dCogdG9wU2NvcGUs
IENvbnRyb2xGbG93Q29udGV4dCogYm90dG9tU2NvcGUpOwogCiAgICAgICAgIHR5cGVkZWYgSGFz
aE1hcDxkb3VibGUsIEpTVmFsdWU+IE51bWJlck1hcDsKLSAgICAgICAgdHlwZWRlZiBIYXNoTWFw
PFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU3Ry
aW5nTWFwOworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VW5pcXVlZFN0cmluZ0ltcGwqLCBKU1N0
cmluZyosIElkZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOwogICAgICAgICB0
eXBlZGVmIEhhc2hNYXA8VGVtcGxhdGVSZWdpc3RyeUtleSwgSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5
Kj4gVGVtcGxhdGVSZWdpc3RyeUtleU1hcDsKICAgICAgICAgCiAgICAgICAgIC8vIEhlbHBlciBm
b3IgZW1pdENhbGwoKSBhbmQgZW1pdENvbnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhl
IHNldCBvZgpAQCAtNjQ4LDcgKzY0OCw3IEBACiAKICAgICAgICAgLy8gSW5pdGlhbGl6ZXMgdGhl
IHN0YWNrIGZvcm0gdGhlIHBhcmFtZXRlcjsgZG9lcyBub3RoaW5nIGZvciB0aGUgc3ltYm9sIHRh
YmxlLgogICAgICAgICBSZWdpc3RlcklEKiBpbml0aWFsaXplTmV4dFBhcmFtZXRlcigpOwotICAg
ICAgICBTdHJpbmdJbXBsKiB2aXNpYmxlTmFtZUZvclBhcmFtZXRlcihEZWNvbnN0cnVjdGlvblBh
dHRlcm5Ob2RlKik7CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB2aXNpYmxlTmFtZUZvclBh
cmFtZXRlcihEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKik7CiAgICAgICAgIAogICAgICAgICBS
ZWdpc3RlcklEJiByZWdpc3RlckZvcihWaXJ0dWFsUmVnaXN0ZXIgcmVnKQogICAgICAgICB7CkBA
IC03MjYsNyArNzI2LDcgQEAKIAogICAgICAgICAvLyBTb21lIG9mIHRoZXNlIG9iamVjdHMga2Vl
cCBwb2ludGVycyB0byBvbmUgYW5vdGhlci4gVGhleSBhcmUgYXJyYW5nZWQKICAgICAgICAgLy8g
dG8gZW5zdXJlIGEgc2FuZSBkZXN0cnVjdGlvbiBvcmRlciB0aGF0IGF2b2lkcyByZWZlcmVuY2Vz
IHRvIGZyZWVkIG1lbW9yeS4KLSAgICAgICAgSGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4sIElk
ZW50aWZpZXJSZXBIYXNoPiBtX2Z1bmN0aW9uczsKKyAgICAgICAgSGFzaFNldDxSZWZQdHI8VW5p
cXVlZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9mdW5jdGlvbnM7CiAgICAgICAg
IFJlZ2lzdGVySUQgbV9pZ25vcmVkUmVzdWx0UmVnaXN0ZXI7CiAgICAgICAgIFJlZ2lzdGVySUQg
bV90aGlzUmVnaXN0ZXI7CiAgICAgICAgIFJlZ2lzdGVySUQgbV9jYWxsZWVSZWdpc3RlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAppbmRleCA2NDMwMjM3ZGZmNGI1OWMyODRjNzQ4NjZmYzExYWQ5MGE2YzQ3MzA4Li42MTU5MTM4
ZDZhNmYxZDMwOWVkZjNhNmFkN2M1MzYzYjdmNGMxZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC00NTAsNyArNDUw
LDcgQEAgUmVnaXN0ZXJJRCogUHJvcGVydHlMaXN0Tm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2Rl
R2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGUKICAgICAgICAgYm9vbCBoYXNDb21wdXRlZFBy
b3BlcnR5ID0gZmFsc2U7CiAKICAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8UHJvcGVydHlOb2Rl
KiwgUHJvcGVydHlOb2RlKj4gR2V0dGVyU2V0dGVyUGFpcjsKLSAgICAgICAgdHlwZWRlZiBIYXNo
TWFwPFN0cmluZ0ltcGwqLCBHZXR0ZXJTZXR0ZXJQYWlyPiBHZXR0ZXJTZXR0ZXJNYXA7CisgICAg
ICAgIHR5cGVkZWYgSGFzaE1hcDxVbmlxdWVkU3RyaW5nSW1wbCosIEdldHRlclNldHRlclBhaXIs
IElkZW50aWZpZXJSZXBIYXNoPiBHZXR0ZXJTZXR0ZXJNYXA7CiAgICAgICAgIEdldHRlclNldHRl
ck1hcCBtYXA7CiAKICAgICAgICAgLy8gQnVpbGQgYSBtYXAsIHBhaXJpbmcgZ2V0L3NldCB2YWx1
ZXMgdG9nZXRoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCmluZGV4IDBhMmJlZGJiNzEwNjI3ZDYzOWFhYTIyNzljZDJkN2Q0MmU3NmM3OGQu
LjE1NzI3Nzk4YjIwMDkwNzc4MDg0ZWJiZGM0NzFjZGY5MDNlNTQyMDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zMTI3LDcgKzMx
MjcsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQog
ICAgICAgICAgICAgTm9kZSogYmFzZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllck51
bWJlciA9IG1faW5saW5lU3RhY2tUb3AtPm1faWRlbnRpZmllclJlbWFwW2N1cnJlbnRJbnN0cnVj
dGlvblszXS51Lm9wZXJhbmRdOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBBdG9taWNTdHJp
bmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07Cisg
ICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygp
W2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgR2V0QnlJZFN0YXR1cyBnZXRCeUlkU3Rh
dHVzID0gR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKICAgICAgICAgICAgICAgICBtX2lubGlu
ZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1fZGZnQ29kZUJsb2NrLAogICAgICAgICAgICAg
ICAgIG1faW5saW5lU3RhY2tUb3AtPm1fc3R1YkluZm9zLCBtX2RmZ1N0dWJJbmZvcywKQEAgLTM0
ODksNyArMzQ4OSw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQg
bGltaXQpCiAgICAgICAgICAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZDsKICAgICAgICAgICAgIGludCBzY29wZSA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQ7CiAgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyID0gbV9pbmxpbmVT
dGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBbY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZF07Ci0gICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZp
ZXJzKClbaWRlbnRpZmllck51bWJlcl07CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkID0gbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAg
ICAgUmVzb2x2ZVR5cGUgcmVzb2x2ZVR5cGUgPSBSZXNvbHZlTW9kZUFuZFR5cGUoY3VycmVudElu
c3RydWN0aW9uWzRdLnUub3BlcmFuZCkudHlwZSgpOwogCiAgICAgICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IDA7CkBAIC0zNjMxLDExICszNjMxLDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgICAgICBpZGVudGlmaWVy
TnVtYmVyID0gbV9pbmxpbmVTdGFja1RvcC0+bV9pZGVudGlmaWVyUmVtYXBbaWRlbnRpZmllck51
bWJlcl07CiAgICAgICAgICAgICB1bnNpZ25lZCB2YWx1ZSA9IGN1cnJlbnRJbnN0cnVjdGlvblsz
XS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBSZXNvbHZlVHlwZSByZXNvbHZlVHlwZSA9IFJlc29s
dmVNb2RlQW5kVHlwZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kKS50eXBlKCk7Ci0g
ICAgICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQ7CisgICAgICAgICAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkID0gbnVsbHB0cjsKICAgICAgICAgICAgIGlmIChpZGVudGlmaWVyTnVtYmVy
ICE9IFVJTlRfTUFYKQogICAgICAgICAgICAgICAgIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMo
KVtpZGVudGlmaWVyTnVtYmVyXTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB1
aWQgPSBudWxscHRyOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBXYXRjaHBvaW50U2V0KiB3YXRjaHBvaW50cyA9
IG51bGxwdHI7CkBAIC00MDQ4LDcgKzQwNDYsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpidWls
ZE9wZXJhbmRNYXBzSWZOZWNlc3NhcnkoKQogICAgICAgICBtX3N3aXRjaFJlbWFwLnJlc2l6ZShj
b2RlQmxvY2stPm51bWJlck9mU3dpdGNoSnVtcFRhYmxlcygpKTsKIAogICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGNvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpOyArK2kpIHsK
LSAgICAgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIHJlcCA9IGNvZGVCbG9jay0+aWRlbnRpZmll
cihpKS5pbXBsKCk7CisgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVwID0gY29kZUJs
b2NrLT5pZGVudGlmaWVyKGkpLmltcGwoKTsKICAgICAgICAgICAgIEJvcnJvd2VkSWRlbnRpZmll
ck1hcDo6QWRkUmVzdWx0IHJlc3VsdCA9IGJ5dGVDb2RlUGFyc2VyLT5tX2lkZW50aWZpZXJNYXAu
YWRkKHJlcCwgYnl0ZUNvZGVQYXJzZXItPm1fZ3JhcGguaWRlbnRpZmllcnMoKS5udW1iZXJPZklk
ZW50aWZpZXJzKCkpOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAg
ICAgICAgICAgIGJ5dGVDb2RlUGFyc2VyLT5tX2dyYXBoLmlkZW50aWZpZXJzKCkuYWRkTGF6aWx5
KHJlcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJ
ZGVudGlmaWVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVu
dGlmaWVycy5jcHAKaW5kZXggNjVjMzAxZGJlZTE2ZDNmNzRiNTQyN2I3YTBmNjkyNDg4NDFjNGUz
Mi4uNTUxNDVlMGUzZmE2ZWM2MmFhMmUzOWU2MmEyNmE2N2NlOGE1MjQxNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcApAQCAt
NTIsMTQgKzUyLDE0IEBAIHVuc2lnbmVkIERlc2lyZWRJZGVudGlmaWVyczo6bnVtYmVyT2ZJZGVu
dGlmaWVycygpCiAgICAgcmV0dXJuIG1fY29kZUJsb2NrLT5udW1iZXJPZklkZW50aWZpZXJzKCkg
KyBtX2FkZGVkSWRlbnRpZmllcnMuc2l6ZSgpOwogfQogCi12b2lkIERlc2lyZWRJZGVudGlmaWVy
czo6YWRkTGF6aWx5KEF0b21pY1N0cmluZ0ltcGwqIHJlcCkKK3ZvaWQgRGVzaXJlZElkZW50aWZp
ZXJzOjphZGRMYXppbHkoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCkKIHsKICAgICBtX2FkZGVkSWRl
bnRpZmllcnMuYXBwZW5kKHJlcCk7CiB9CiAKLUF0b21pY1N0cmluZ0ltcGwqIERlc2lyZWRJZGVu
dGlmaWVyczo6YXQodW5zaWduZWQgaW5kZXgpIGNvbnN0CitVbmlxdWVkU3RyaW5nSW1wbCogRGVz
aXJlZElkZW50aWZpZXJzOjphdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKIHsKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiByZXN1bHQ7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHJlc3VsdDsKICAgICBp
ZiAoaW5kZXggPCBtX2NvZGVCbG9jay0+bnVtYmVyT2ZJZGVudGlmaWVycygpKQogICAgICAgICBy
ZXN1bHQgPSBtX2NvZGVCbG9jay0+aWRlbnRpZmllcihpbmRleCkuaW1wbCgpOwogICAgIGVsc2UK
QEAgLTcxLDcgKzcxLDcgQEAgQXRvbWljU3RyaW5nSW1wbCogRGVzaXJlZElkZW50aWZpZXJzOjph
dCh1bnNpZ25lZCBpbmRleCkgY29uc3QKIHZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjpyZWFsbHlB
ZGQoVk0mIHZtLCBDb21tb25EYXRhKiBjb21tb25EYXRhKQogewogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX2FkZGVkSWRlbnRpZmllcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgU3Ry
aW5nSW1wbCogcmVwID0gbV9hZGRlZElkZW50aWZpZXJzW2ldOworICAgICAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogcmVwID0gbV9hZGRlZElkZW50aWZpZXJzW2ldOwogICAgICAgICBBU1NFUlQocmVw
LT5oYXNBdExlYXN0T25lUmVmKCkpOwogICAgICAgICBjb21tb25EYXRhLT5kZmdJZGVudGlmaWVy
cy5hcHBlbmQoSWRlbnRpZmllcjo6ZnJvbVVpZCgmdm0sIHJlcCkpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5oCmluZGV4IGY5
Y2UzODFmY2UwZjIxNWY1ODczNTU0YmUyNTQ4ZWRjNmUxNzdiMjcuLjNhMmEzNDg1N2YzYjBmNzJl
ZTFjOWFmMzE2NGYyZTQ5NDQzY2E2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuaApAQCAtNDUsMTcgKzQ1LDE3IEBAIGNsYXNzIERl
c2lyZWRJZGVudGlmaWVycyB7CiAgICAgfkRlc2lyZWRJZGVudGlmaWVycygpOwogICAgIAogICAg
IHVuc2lnbmVkIG51bWJlck9mSWRlbnRpZmllcnMoKTsKLSAgICB2b2lkIGFkZExhemlseShBdG9t
aWNTdHJpbmdJbXBsKik7CisgICAgdm9pZCBhZGRMYXppbHkoVW5pcXVlZFN0cmluZ0ltcGwqKTsK
ICAgICAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBhdCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7Cisg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIGF0KHVuc2lnbmVkIGluZGV4KSBjb25zdDsKICAgICAKLSAg
ICBBdG9taWNTdHJpbmdJbXBsKiBvcGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJl
dHVybiBhdChpbmRleCk7IH0KKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogb3BlcmF0b3JbXSh1bnNp
Z25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gYXQoaW5kZXgpOyB9CiAgICAgCiAgICAgdm9pZCBy
ZWFsbHlBZGQoVk0mLCBDb21tb25EYXRhKik7CiAgICAgCiBwcml2YXRlOgogICAgIENvZGVCbG9j
ayogbV9jb2RlQmxvY2s7Ci0gICAgVmVjdG9yPEF0b21pY1N0cmluZ0ltcGwqPiBtX2FkZGVkSWRl
bnRpZmllcnM7CisgICAgVmVjdG9yPFVuaXF1ZWRTdHJpbmdJbXBsKj4gbV9hZGRlZElkZW50aWZp
ZXJzOwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggMDIxZjE0NmYwNmM2YzNmZWJlNGY5Mjkw
ZDhjZTQ4NDUzMjMxMWE2ZC4uYjE1N2UxNjg5NTJlZGYxOTE5OGZlMDJlYmIxYTJiZjcxODcwZDhm
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC05
NTksMTYgKzk1OSwxNiBAQCBjbGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAg
ICAgICAgIGlmICghbV9ncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIEJh
ZENhY2hlKQogICAgICAgICAgICAgICAgICYmICFtX2dyYXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYywgQmFkSW5kZXhpbmdUeXBlKQogICAgICAgICAgICAgICAgICYmICFtX2dy
YXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgRXhvdGljT2JqZWN0TW9kZSkp
IHsKLSAgICAgICAgICAgICAgICBTdHJpbmdJbXBsKiBpbXBsID0gbV9ncmFwaC5pZGVudGlmaWVy
cygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07Ci0gICAgICAgICAgICAgICAgaWYgKGltcGwg
PT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGguaW1wbCgpKSB7CisgICAgICAgICAgICAgICAg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCldOworICAgICAgICAgICAgICAgIGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGguaW1wbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHRUb01h
a2VHZXRBcnJheUxlbmd0aChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChpbXBsID09IHZtKCkucHJvcGVydHlO
YW1lcy0+Ynl0ZUxlbmd0aC5pbXBsKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAodWlkID09IHZt
KCkucHJvcGVydHlOYW1lcy0+Ynl0ZUxlbmd0aC5pbXBsKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgYXR0ZW1wdFRvTWFrZUdldFR5cGVkQXJyYXlCeXRlTGVuZ3RoKG5vZGUpOwogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYg
KGltcGwgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlT2Zmc2V0LmltcGwoKSkgeworICAgICAg
ICAgICAgICAgIGlmICh1aWQgPT0gdm0oKS5wcm9wZXJ0eU5hbWVzLT5ieXRlT2Zmc2V0LmltcGwo
KSkgewogICAgICAgICAgICAgICAgICAgICBhdHRlbXB0VG9NYWtlR2V0VHlwZWRBcnJheUJ5dGVP
ZmZzZXQobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
IH0KQEAgLTE0ODgsNyArMTQ4OCw3IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMgUGhhc2Ug
ewogICAgIH0KICAgICAKICAgICBib29sIGlzU3RyaW5nUHJvdG90eXBlTWV0aG9kU2FuZSgKLSAg
ICAgICAgSlNPYmplY3QqIHN0cmluZ1Byb3RvdHlwZSwgU3RydWN0dXJlKiBzdHJpbmdQcm90b3R5
cGVTdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKKyAgICAgICAgSlNPYmplY3QqIHN0
cmluZ1Byb3RvdHlwZSwgU3RydWN0dXJlKiBzdHJpbmdQcm90b3R5cGVTdHJ1Y3R1cmUsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzVW51
c2VkOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA0NmZjOTBiYjlmNWE0ZDg1
NGRhMTg2NGUzZDc4OTI0NWVkMjU4NGU1Li5kMzNkNTc1NmFlMDVjZTdlNGZhODI4OGU1ZjliMDVm
NWVjOTc2MGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtOTA2LDcgKzkwNiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVJbihOb2RlKiBub2RlKQogICAgICAgICAgICAgYXV0byBzbG93UGF0aCA9IHNsb3dQYXRoQ2Fs
bCgKICAgICAgICAgICAgICAgICBqdW1wLm1fanVtcCwgdGhpcywgb3BlcmF0aW9uSW5PcHRpbWl6
ZSwKICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVzdWx0R1BSKSwg
c3R1YkluZm8sIGJhc2VHUFIsCi0gICAgICAgICAgICAgICAgc3RyaW5nLT50cnlHZXRWYWx1ZUlt
cGwoKSk7CisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQXRvbWljU3RyaW5nSW1w
bCo+KHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkpKTsKICAgICAgICAgICAgIAogICAgICAgICAg
ICAgc3R1YkluZm8tPmNvZGVPcmlnaW4gPSBub2RlLT5vcmlnaW4uc2VtYW50aWM7CiAgICAgICAg
ICAgICBzdHViSW5mby0+cGF0Y2guYmFzZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4oYmFzZUdQ
Uik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5k
ZXggN2NhNjIwY2ZhYWUyNTczZTJlYmJkOTgyNmJmMTVkMzJjYTBjYjk2Yi4uNWNlYWYyMzY3M2Nl
Y2U1NzE2MzYzM2Q1YTNlYmM3ZGMyNDNiMmM3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtNTUzLDcgKzU1Myw3IEBAIGNsYXNzIFNwZWN1
bGF0aXZlSklUIHsKICAgICBib29sIGlzS25vd25Ob3ROdW1iZXIoTm9kZSogbm9kZSkgeyByZXR1
cm4gIShtX3N0YXRlLmZvck5vZGUobm9kZSkubV90eXBlICYgU3BlY0Z1bGxOdW1iZXIpOyB9CiAg
ICAgYm9vbCBpc0tub3duTm90Q2VsbChOb2RlKiBub2RlKSB7IHJldHVybiAhKG1fc3RhdGUuZm9y
Tm9kZShub2RlKS5tX3R5cGUgJiBTcGVjQ2VsbCk7IH0KICAgICAKLSAgICBTdHJpbmdJbXBsKiBp
ZGVudGlmaWVyVUlEKHVuc2lnbmVkIGluZGV4KQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBpZGVu
dGlmaWVyVUlEKHVuc2lnbmVkIGluZGV4KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1faml0Lmdy
YXBoKCkuaWRlbnRpZmllcnMoKVtpbmRleF07CiAgICAgfQpAQCAtMTE3Niw3ICsxMTc2LDcgQEAg
Y2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50cyhhcmcx
LCBhcmcyKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKElfSklU
T3BlcmF0aW9uX0VKc3Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFRfSklUT3BlcmF0aW9uX0VKc3Mgb3Bl
cmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwpAQCAt
MTIzNyw3ICsxMjM3LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50cyh2YWx1ZSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cmlu
Z0ltcGwqIHVpZCkKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVz
dGVkSW1tUHRyKHVpZCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25D
aGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CkBAIC0xMjgyLDEyICsxMjgyLDEyIEBA
IGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJn
MSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgVW5pcXVlZFN0cmlu
Z0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIFN0cmluZ0ltcGwqIHVpZCkKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lKSSBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BS
UmVnIGFyZzEsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEs
IFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTE0NDIsNyArMTQ0Miw3
IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogICAgIH0K
LSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lK
Skkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBH
UFJSZWcgYXJnMiwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBhcmcyLCBUcnVzdGVkSW1tUHRyKHVpZCkp
OwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24p
OwpAQCAtMTU0Miw3ICsxNTQyLDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSk7CiAgICAgICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5
bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJl
ZyByZXN1bHRQYXlsb2FkLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRU
YWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIo
dWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKQEAgLTE2MDgsMTcgKzE2
MDgsMTcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBH
UFJSZWcgYXJnMSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENvbXBpbGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgR1BSUmVnIGFyZzEsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHVi
SW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMVRh
ZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgYXJnMVRhZywgVHJ1c3Rl
ZEltbVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0K
LSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lK
SSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIGludDMyX3QgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXls
b2FkLCBTdHJpbmdJbXBsKiB1aWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJS
ZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBpbnQzMl90IGFy
ZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRy
KHN0dWJJbmZvKSwgYXJnMVBheWxvYWQsIFRydXN0ZWRJbW0zMihhcmcxVGFnKSwgVHJ1c3RlZElt
bVB0cih1aWQpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwpAQCAtMTc1MSw3
ICsxNzUxLDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBheWxvYWQsIGFy
ZzFUYWcsIGFyZzIsIFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwogICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogICAgIH0KLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9u
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJn
MVBheWxvYWQsIEdQUlJlZyBhcmcyUGF5bG9hZCwgU3RyaW5nSW1wbCogdWlkKQorICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRp
b24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBh
cmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJ
bW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgYXJnMVRhZywgYXJnMlBheWxvYWQsIFRydXN0
ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKICAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4IDNjZTgxMTg4YmYxOGZiZmY0ZWQz
N2EyNjM0Nzg3MjZlMGJiMjQ0MDMuLmNiNWU3NTQ0NjI0OTNjZmE5YTc2ZWIzZmNkYmZjYjk2YjNi
ZWY5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcApAQCAtNTE1
LDcgKzUxNSw3IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKIAog
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIHNsb3dDYWxsID0gY2FsbE9wZXJh
dGlvbigKICAgICAgICAgICAgICAgICAgICAgc3RhdGUsIHVzZWRSZWdpc3RlcnMsIHNsb3dQYXRo
SklULCBjaGVja0luLmNvZGVPcmlnaW4oKSwgJmV4Y2VwdGlvblRhcmdldCwKLSAgICAgICAgICAg
ICAgICAgICAgb3BlcmF0aW9uSW5PcHRpbWl6ZSwgcmVzdWx0LCBzdHViSW5mbywgb2JqLCBjaGVj
a0luLm1faWQpOworICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25Jbk9wdGltaXplLCByZXN1
bHQsIHN0dWJJbmZvLCBvYmosIGNoZWNrSW4ubV91aWQpOwogCiAgICAgICAgICAgICAgICAgY2hl
Y2tJbi5tX3Nsb3dQYXRoRG9uZS5hcHBlbmQoc2xvd1BhdGhKSVQuanVtcCgpKTsKICAgICAgICAg
ICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5l
Q2FjaGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNh
Y2hlRGVzY3JpcHRvci5oCmluZGV4IDgyYjYyMzhjYzM0ZGUzYjI0NDg5NDg1OTMzNTM0M2E4YTU5
NWY0NTUuLjY3OTNlNzRiMDM2ZTRmNzcxYzM5MmUxNDlhNjJmM2I5ZmRlMGUyZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVEZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZURlc2NyaXB0b3Iu
aApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNvZGVPcmlnaW4uaCIKICNpbmNsdWRlICJK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCi0j
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1
ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogcHVibGljOgogICAg
IElubGluZUNhY2hlRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAgIElubGluZUNhY2hlRGVzY3Jp
cHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFN0cmluZ0lt
cGwqIHVpZCkKKyAgICBJbmxpbmVDYWNoZURlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJRCwg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgICAgICA6
IG1fc3RhY2ttYXBJRChzdGFja21hcElEKQogICAgICAgICAsIG1fY29kZU9yaWdpbihjb2RlT3Jp
Z2luKQogICAgICAgICAsIG1fdWlkKHVpZCkKQEAgLTQ4LDEyICs0OCwxMiBAQCBjbGFzcyBJbmxp
bmVDYWNoZURlc2NyaXB0b3IgewogICAgIAogICAgIHVuc2lnbmVkIHN0YWNrbWFwSUQoKSBjb25z
dCB7IHJldHVybiBtX3N0YWNrbWFwSUQ7IH0KICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4oKSBj
b25zdCB7IHJldHVybiBtX2NvZGVPcmlnaW47IH0KLSAgICBTdHJpbmdJbXBsKiB1aWQoKSBjb25z
dCB7IHJldHVybiBtX3VpZDsgfQorICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQoKSBjb25zdCB7
IHJldHVybiBtX3VpZDsgfQogICAgIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3N0YWNrbWFw
SUQ7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47Ci0gICAgU3RyaW5nSW1wbCogbV91aWQ7
CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdWlkOwogICAgIAogcHVibGljOgogICAgIFZlY3Rv
cjxNYWNyb0Fzc2VtYmxlcjo6SnVtcD4gbV9zbG93UGF0aERvbmU7CkBAIC02Myw3ICs2Myw3IEBA
IGNsYXNzIEdldEJ5SWREZXNjcmlwdG9yIDogcHVibGljIElubGluZUNhY2hlRGVzY3JpcHRvciB7
CiBwdWJsaWM6CiAgICAgR2V0QnlJZERlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBHZXRCeUlk
RGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFN0
cmluZ0ltcGwqIHVpZCkKKyAgICBHZXRCeUlkRGVzY3JpcHRvcih1bnNpZ25lZCBzdGFja21hcElE
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgICAg
IDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmlnaW4sIHVpZCkKICAg
ICB7CiAgICAgfQpAQCAtNzYsNyArNzYsNyBAQCBjbGFzcyBQdXRCeUlkRGVzY3JpcHRvciA6IHB1
YmxpYyBJbmxpbmVDYWNoZURlc2NyaXB0b3IgewogICAgIFB1dEJ5SWREZXNjcmlwdG9yKCkgeyB9
CiAgICAgCiAgICAgUHV0QnlJZERlc2NyaXB0b3IoCi0gICAgICAgIHVuc2lnbmVkIHN0YWNrbWFw
SUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5nSW1wbCogdWlkLAorICAgICAgICB1bnNp
Z25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQsCiAgICAgICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQdXRLaW5kIHB1dEtpbmQpCiAgICAg
ICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmlnaW4sIHVpZCkK
ICAgICAgICAgLCBtX2VjbWFNb2RlKGVjbWFNb2RlKQpAQCAtMTExLDE0ICsxMTEsMTQgQEAgY2xh
c3MgQ2hlY2tJbkRlc2NyaXB0b3IgOiBwdWJsaWMgSW5saW5lQ2FjaGVEZXNjcmlwdG9yIHsKIHB1
YmxpYzoKICAgICBDaGVja0luRGVzY3JpcHRvcigpIHsgfQogICAgIAotICAgIENoZWNrSW5EZXNj
cmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3Qg
U3RyaW5nSW1wbCogaWQpCisgICAgQ2hlY2tJbkRlc2NyaXB0b3IodW5zaWduZWQgc3RhY2ttYXBJ
RCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjb2RlT3JpZ2luLCBu
dWxscHRyKQotICAgICAgICAsIG1faWQoaWQpCisgICAgICAgICwgbV91aWQodWlkKQogICAgIHsK
ICAgICB9CiAKICAgICAKLSAgICBjb25zdCBTdHJpbmdJbXBsKiBtX2lkOworICAgIGNvbnN0IFVu
aXF1ZWRTdHJpbmdJbXBsKiBtX3VpZDsKICAgICBWZWN0b3I8Q2hlY2tJbkdlbmVyYXRvcj4gbV9n
ZW5lcmF0b3JzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCA0YjI4ZDM1NjI1YTczMjdjMTI5YzYxYTBiNzg1NzMw
YjgyOTUyNjNkLi5hNWI4ZjczMWNlMmMyMTFkOWZhNDRhM2E3MzQyMDNhMjNkM2FlYTE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnku
aApAQCAtNzMsNyArNzMsNyBAQAogICAgIG1hY3JvKENfSklUT3BlcmF0aW9uX0VTdFpaLCBmdW5j
dGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50MzIsIGludDMyKSkgXAogICAgIG1h
Y3JvKENfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludDMy
KSkgXAogICAgIG1hY3JvKERfSklUT3BlcmF0aW9uX0QsIGZ1bmN0aW9uVHlwZShkb3VibGVUeXBl
LCBkb3VibGVUeXBlKSkgXAotICAgIG1hY3JvKElfSklUT3BlcmF0aW9uX0VKc3MsIGZ1bmN0aW9u
VHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKFRfSklUT3BlcmF0aW9u
X0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3Jv
KEpfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyKSkgXAogICAgIG1h
Y3JvKEpfSklUT3BlcmF0aW9uX0VBLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRy
KSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VBWiwgZnVuY3Rpb25UeXBlKGludDY0LCBp
bnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IGRhNTgyMzcwYWQwODUzMDFkZThmOWYyZDQxMjFm
ODZkYjFmM2U4YjQuLmFmODgyY2IwNmI3NDRlMmZmNzIzMTU0ZWE2MTAwYmYyMDU3NWQ2NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBA
IC0yMDg5LDcgKzIwODksNyBAQCBjbGFzcyBMb3dlckRGR1RvTExWTSB7CiAgICAgICAgIAogICAg
ICAgICBMVmFsdWUgYmFzZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIExW
YWx1ZSB2YWx1ZSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIFN0cmlu
Z0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVttX25vZGUtPmlkZW50aWZpZXJOdW1i
ZXIoKV07CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dyYXBoLmlkZW50aWZp
ZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOwogCiAgICAgICAgIC8vIEFyZ3VtZW50
czogaWQsIGJ5dGVzLCB0YXJnZXQsIG51bUFyZ3MsIGFyZ3MuLi4KICAgICAgICAgdW5zaWduZWQg
c3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKQEAgLTQ4MTMsNyArNDgxMyw3IEBAIGNsYXNz
IExvd2VyREZHVG9MTFZNIHsKICAgICAgICAgaWYgKEpTU3RyaW5nKiBzdHJpbmcgPSBtX25vZGUt
PmNoaWxkMSgpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5nKj4oKSkgewogICAgICAgICAg
ICAgaWYgKHN0cmluZy0+dHJ5R2V0VmFsdWVJbXBsKCkgJiYgc3RyaW5nLT50cnlHZXRWYWx1ZUlt
cGwoKS0+aXNBdG9taWMoKSkgewogCi0gICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nSW1wbCog
c3RyID0gc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmdJbXBsKiBzdHIgPSBzdGF0aWNfY2FzdDxjb25zdCBBdG9taWNTdHJpbmdJbXBs
Kj4oc3RyaW5nLT50cnlHZXRWYWx1ZUltcGwoKSk7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQg
c3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIExWYWx1ZSBjYWxsID0gbV9vdXQuY2FsbCgKQEAgLTU3MzYsNyArNTczNiw3IEBAIGNsYXNz
IExvd2VyREZHVG9MTFZNIHsKICAgICAKICAgICBMVmFsdWUgZ2V0QnlJZChMVmFsdWUgYmFzZSkK
ICAgICB7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVpZCA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKVtt
X25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07CisgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQgPSBtX2dyYXBoLmlkZW50aWZpZXJzKClbbV9ub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldOwog
CiAgICAgICAgIC8vIEFyZ3VtZW50czogaWQsIGJ5dGVzLCB0YXJnZXQsIG51bUFyZ3MsIGFyZ3Mu
Li4KICAgICAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmNwcAppbmRleCAxZmQ4Yzgz
ZjRlNTZjOTJhNGExOTU2YTk4N2I1ZDM2ZjRhZDA3NDZhLi5mZmJkNDc0YjYyMmFhN2U3OTBjMjZl
YjFiODEzNGE3M2QxNzZhZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTFNsb3dQYXRoQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExT
bG93UGF0aENhbGwuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgdm9pZCBzdG9yZUNvZGVPcmlnaW4o
U3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQog
ICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIENDYWxs
SGVscGVycyYgaml0LAogICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6
Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLAotICAg
IEdQUlJlZyBvYmplY3QsIGNvbnN0IFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHUFJSZWcgb2JqZWN0
LCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHN0b3JlQ29kZU9yaWdpbihz
dGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4dCBjb250ZXh0KHN0YXRlLCB1
c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0xOTAsNyArMTkwLDcgQEAgdm9pZCBz
dG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRS
ZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LAogICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
TWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCiAgICAgSl9KSVRPcGVy
YXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLAotICAgIEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBHUFJS
ZWcgb2JqZWN0LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHN0b3JlQ29kZU9yaWdp
bihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsKICAgICBDYWxsQ29udGV4dCBjb250ZXh0KHN0YXRl
LCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDQsIHJlc3VsdCk7CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9p
ZCBzdG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luKQogICAgIFN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVz
ZWRSZWdpc3RlcnMsIENDYWxsSGVscGVycyYgaml0LCAKICAgICBDb2RlT3JpZ2luIGNvZGVPcmln
aW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0LAogICAgIFZfSklU
T3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyB2YWx1ZSwKLSAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1aWQpCisgICAg
R1BSUmVnIG9iamVjdCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzdG9yZUNvZGVP
cmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChz
dGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA1LCBJbnZhbGlkR1BSUmVnKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCmluZGV4IDZlNGQ1ZjZlMTU5YTVmYTMy
MDU2ZjcxYTc4NDc0ODllYzExOGUzZjYuLjgxOGVmNjQ2NGM3YjFjZmFmNmY1ZjkyYjBkMDFjMGJk
MGUxMWI1MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1Bh
dGhDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwu
aApAQCAtNjAsMTUgKzYwLDE1IEBAIGNsYXNzIFNsb3dQYXRoQ2FsbCB7CiBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKAogICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBD
Q2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KiwKICAgICBK
X0pJVE9wZXJhdGlvbl9FU3NpQ0ksIEdQUlJlZywgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcs
Ci0gICAgY29uc3QgU3RyaW5nSW1wbCopOworICAgIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB1
aWQpOwogTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbigKICAgICBTdGF0ZSYsIGNv
bnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJz
OjpKdW1wTGlzdCosCiAgICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBHUFJSZWcgcmVzdWx0LCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyBvYmplY3QsCi0gICAgU3RyaW5nSW1wbCogdWlkKTsK
KyAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oCiAgICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVscGVycyYs
IENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3QqLAogICAgIFZfSklUT3BlcmF0aW9u
X0VTc2lKSkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnIHZhbHVlLCBHUFJSZWcgb2JqZWN0
LAotICAgIFN0cmluZ0ltcGwqIHVpZCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCk7CiAK
IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXgg
OTdjODA3ZWUzYmZlMzE0OTQzY2RkYWFmODgwZjk4ZDY5MjMzOWQ4NC4uZmVmNWEyMWY3Y2NkOTdl
MWI2MTRmMmYwYmI0MmQ0ZTJmYWI5NTcxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC02
OTYsOSArNjk2LDkgQEAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihWX0pJVE9wZXJhdGlvbl9FQywgSlNDZWxsKik7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUosIGludCwgR1BSUmVnKTsKICNpZiBV
U0UoSlNWQUxVRTY0KQotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFdpdGhQcm9maWxlVGFnLCBKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGludCwgU3RydWN0dXJlU3R1
YkluZm8qLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBp
bnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2Vs
c2UKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihXaXRoUHJvZmls
ZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BS
UmVnLCBHUFJSZWcsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQs
IFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVnLCBHUFJSZWcsIFVuaXF1ZWRTdHJpbmdJbXBsKik7
CiAjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSklkYywgaW50LCBHUFJSZWcsIGNvbnN0IElkZW50aWZpZXIqKTsKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkos
IGludCwgR1BSUmVnLCBHUFJSZWcpOwpAQCAtNzM4LDkgKzczOCw5IEBACiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUpJZEpKLCBSZWdp
c3RlcklELCBjb25zdCBJZGVudGlmaWVyKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCk7CiAjaWYg
VVNFKEpTVkFMVUU2NCkKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihGX0pJVE9wZXJhdGlvbl9FRkpaWiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgaW50MzJfdCwg
UmVnaXN0ZXJJRCk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBSZWdpc3RlcklELCBS
ZWdpc3RlcklELCBTdHJpbmdJbXBsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSwgU3RydWN0dXJlU3R1YkluZm8qLCBS
ZWdpc3RlcklELCBSZWdpc3RlcklELCBVbmlxdWVkU3RyaW5nSW1wbCopOwogI2Vsc2UKLSAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3Np
SkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVy
SUQsIFJlZ2lzdGVySUQsIFN0cmluZ0ltcGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5m
byosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFVuaXF1
ZWRTdHJpbmdJbXBsKik7CiAjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FSkpKLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBS
ZWdpc3RlcklEKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihW
X0pJVE9wZXJhdGlvbl9FSlpKLCBSZWdpc3RlcklELCBpbnQzMl90LCBSZWdpc3RlcklEKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggNTQ2MDNiNjQ3NmNlMzQ5NWU0
Y2QzMDBmNDVhODdlZDViM2YwNThjNC4uMGZlNzI5MGRkNTc0Y2I5NDg3NDVkYmFkMTE4ZDY1ODgy
YWU2MGRlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTM4Nyw3
ICszODcsNyBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FRkpaWiBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkg
b3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFJlZ2lzdGVySUQgcmVnT3Ax
LCBSZWdpc3RlcklEIHJlZ09wMiwgU3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVNzaUpK
SSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUmVnaXN0ZXJJRCByZWdP
cDEsIFJlZ2lzdGVySUQgcmVnT3AyLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgcmVnT3Ax
LCByZWdPcDIsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKQEAgLTQwNSw3ICs0MDUsNyBAQCBBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlv
bl9FWkogb3BlcmF0aQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9w
ZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpj
YWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBv
cGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFy
ZzEsIFN0cmluZ0ltcGwqIHVpZCkKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
SklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VT
c2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BS
UmVnIGFyZzEsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRy
KHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1
ZVJlc3VsdFdpdGhQcm9maWxlKG9wZXJhdGlvbiwgZHN0KTsKQEAgLTU1Miw3ICs1NTIsNyBAQCBB
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSiBvcGVyYXRpbwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKLUFMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpJVDo6V2l0aFByb2Zp
bGVUYWcsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIGludCBkc3QsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwg
U3RyaW5nSW1wbCogdWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJ
IG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcg
YXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwg
YXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7CiAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0V2l0aFByb2ZpbGUob3Bl
cmF0aW9uLCBkc3QpOwpAQCAtNjE4LDcgKzYxOCw3IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VaU3ltdGFiSiBv
CiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKIH0K
IAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVySUQgcmVnT3AxUGF5bG9hZCwgUmVn
aXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3AyUGF5bG9hZCwgU3RyaW5nSW1wbCog
dWlkKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRp
b24oVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRpb24sIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUmVnaXN0ZXJJRCByZWdPcDFUYWcsIFJlZ2lzdGVySUQgcmVnT3AxUGF5bG9hZCwg
UmVnaXN0ZXJJRCByZWdPcDJUYWcsIFJlZ2lzdGVySUQgcmVnT3AyUGF5bG9hZCwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihzdHViSW5mbyksIHJlZ09wMVBheWxvYWQsIHJlZ09wMVRhZywgcmVnT3AyUGF5bG9h
ZCwgcmVnT3AyVGFnLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBlMGFhMzBjMDgwY2FhZGY5ODFmMGU4MjFlZDE4NzJm
YTVjNzQxZmFmLi5lNTQ0MDkyODAyZmFkMjg3MzNkMzg0ODAxMDNlZjg0ZWQ1ZGI1YjJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTE0Nyw3ICsx
NDcsNyBAQCBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVj
ayhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIG1pc3NpbmdBcmdDb3VudDsKIH0KIAotRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBTdHJpbmdJbXBsKiB1
aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0xNTgsNyArMTU4LDcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1YkluZm8KICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGJhc2VW
YWx1ZS5nZXQoZXhlYywgaWRlbnQsIHNsb3QpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBTdHJpbmdJbXBsKiB1
aWQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRK
U1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBA
IC0xNzYsNyArMTc2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXIKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgOiBqc1Vu
ZGVmaW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFN0cmluZ0ltcGwqIHVpZCkKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMTk1LDcgKzE5NSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlCiAKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBKU0NlbGwqIGJhc2UsIFN0cmluZ0ltcGwqIGtleSkKK0VuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgSlNDZWxsKiBiYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCog
a2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjIxLDcgKzIyMSw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dWJJCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ocmVzdWx0KSk7
CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW4oRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCogYmFzZSwgU3RyaW5nSW1wbCoga2V5
KQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiBiYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCog
a2V5KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAtMjQzLDcgKzI0Myw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2VuZXJpY0luKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxs
KiBiYXNlLCBFCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oQ29tbW9uU2xv
d1BhdGhzOjpvcEluKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShrZXkpLCBiYXNlKSkpOwogfQogCi12
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNTMsNyAr
MjUzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEUKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSks
IHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmlj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQor
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2
bSwgZXhlYyk7CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyoKICAg
ICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0yNzMsNyArMjczLDcgQEAg
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHViSW4KICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTI4Myw3ICsyODMsNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkVmFsdWUpLCBzbG90KTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAgLTMw
Nyw3ICszMDcsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9w
dGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogICAgICAgICBzdHViSW5mby0+
c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2UsIFN0cmluZ0ltcGwqIHVpZCkKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CkBAIC0zMzEs
NyArMzMxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RP
cHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAgICAgICAgc3R1YkluZm8tPnNl
ZW4gPSB0cnVlOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwpAQCAt
MzU1LDcgKzM1NSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1CiAgICAgICAgIHN0dWJJbmZv
LT5zZWVuID0gdHJ1ZTsKIH0KIAotdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRE
aXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKQEAgLTM3OSw3ICszNzksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydQogICAgICAg
ICBzdHViSW5mby0+c2VlbiA9IHRydWU7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
QEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0
cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogICAgIGJ1aWxkUHV0
QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1Yklu
Zm8sIE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKQEAg
LTQyMSw3ICs0MjEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0
cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogICAgIGJ1aWxkUHV0QnlJ
ZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8s
IE5vdERpcmVjdCk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKiB1aWQpCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
QEAgLTQ0Miw3ICs0NDIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdAogICAgIGJ1aWxkUHV0
QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJ
bmZvLCBEaXJlY3QpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgU3RyaW5nSW1wbCogdWlkKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDE2
MWU4ZGZhYmFkM2UwMTJhOWVhY2U2OThjN2VjNzQyYTk2NmY0OGEuLmQ2YzkzNTMxYjFkMDdmYzlm
OTdiZDc3NjYzZjIxODZhN2NlYmY2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBACiAgICAgRTogRXhlY1N0YXRlKgogICAgIEY6
IENhbGxGcmFtZSoKICAgICBHOiBKU0dsb2JhbE9iamVjdCoKLSAgICBJOiBTdHJpbmdJbXBsKgor
ICAgIEk6IFVuaXF1ZWRTdHJpbmdJbXBsKgogICAgIEljZjogSW5saW5lQ2FsbEZyYW1lKgogICAg
IElkYzogY29uc3QgSWRlbnRpZmllcioKICAgICBKOiBFbmNvZGVkSlNWYWx1ZQpAQCAtODMsNiAr
ODMsNyBAQAogICAgIFNzaTogU3RydWN0dXJlU3R1YkluZm8qCiAgICAgU3Q6IFN0cnVjdHVyZSoK
ICAgICBTeW10YWI6IFN5bWJvbFRhYmxlKgorICAgIFQ6IFN0cmluZ0ltcGwqCiAgICAgVjogdm9p
ZAogICAgIFZtOiBWTSoKICAgICBXczogV2F0Y2hwb2ludFNldCoKQEAgLTk3LDEyICs5OCwxMiBA
QAogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25f
RUFhcEpjcFopKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBjb25zdCBKU1Zh
bHVlKiwgaW50MzJfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FQykoRXhlY1N0YXRlKiwgSlNDZWxsKik7CiB0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0MpKEV4ZWNTdGF0ZSosIEpT
Q2VsbCosIEpTQ2VsbCopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUNJKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7Cit0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0kp
KEV4ZWNTdGF0ZSosIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQ0opKEV4ZWNTdGF0ZSos
IEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDWikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgaW50MzJf
dCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FREEpKEV4ZWNTdGF0ZSosIGRvdWJsZSwgSlNBcnJheSopOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUUpKEV4ZWNTdGF0ZSosIEV4ZWNT
dGF0ZSopOwotdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRUkpKEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VJKShFeGVjU3RhdGUqLCBVbmlxdWVk
U3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKWikoRXhlY1N0YXRl
KiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpDKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSwgSlNDZWxsKik7CkBAIC0xMTcsOCArMTE4LDggQEAKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rp
b24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSos
IHNpemVfdCwgc2l6ZV90KTsKLXR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBK
U0NlbGwqLCBTdHJpbmdJbXBsKik7Ci10eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwordHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1w
bCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVpJY2ZaKShFeGVjU3RhdGUqLCBpbnQzMl90LCBJ
bmxpbmVDYWxsRnJhbWUqLCBpbnQzMl90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VaWikoRXhlY1N0YXRlKiwgaW50MzJfdCwgaW50MzJf
dCk7CkBAIC0xODUsNyArMTg2LDcgQEAKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9K
SVRPcGVyYXRpb25fRUNDKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0NlbGwqKTsKIHR5cGVkZWYg
dm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRVpTeW10YWJKKShFeGVjU3RhdGUq
LCBpbnQzMl90LCBTeW1ib2xUYWJsZSosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlKTsKLXR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpDSSko
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKK3R5cGVk
ZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpDSSkoRXhlY1N0YXRlKiwg
RW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIHZv
aWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKSWRKKShFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSwgSWRlbnRpZmllciosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCBK
SVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUpJZEpKKShFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSwgSWRlbnRpZmllciosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0
eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VKSkopKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpOwpAQCAt
MTk2LDcgKzE5Nyw3IEBACiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0
aW9uX0VPWkopKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWUp
OwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNT
dGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklU
T3BlcmF0aW9uX0VQWkopKEV4ZWNTdGF0ZSosIHZvaWQqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1
ZSk7Ci10eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklUT3BlcmF0aW9uX0VTc2lKSkkp
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlLCBTdHJpbmdJbXBsKik7Cit0eXBlZGVmIHZvaWQgSklUX09QRVJBVElPTiAoKlZfSklU
T3BlcmF0aW9uX0VTc2lKSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiB2
b2lkIEpJVF9PUEVSQVRJT04gKCpWX0pJVE9wZXJhdGlvbl9FV3MpKEV4ZWNTdGF0ZSosIFdhdGNo
cG9pbnRTZXQqKTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25f
RVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiB2b2lkIEpJVF9PUEVSQVRJT04gKCpW
X0pJVE9wZXJhdGlvbl9FWkopKEV4ZWNTdGF0ZSosIGludDMyX3QsIEVuY29kZWRKU1ZhbHVlKTsK
QEAgLTIyMCw3ICsyMjEsNyBAQAogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRP
cGVyYXRpb25fRVN0U1MpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIHNpemVfdCwgc2l6ZV90KTsK
IHR5cGVkZWYgY2hhciogSklUX09QRVJBVElPTiAoKlBfSklUT3BlcmF0aW9uX0VTdFopKEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3QpOwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9O
ICgqUF9KSVRPcGVyYXRpb25fRVpaKShFeGVjU3RhdGUqLCBpbnQzMl90LCBpbnQzMl90KTsKLXR5
cGVkZWYgU3RyaW5nSW1wbCogSklUX09QRVJBVElPTiAoKklfSklUT3BlcmF0aW9uX0VKc3MpKEV4
ZWNTdGF0ZSosIEpTU3RyaW5nKik7Cit0eXBlZGVmIFN0cmluZ0ltcGwqIEpJVF9PUEVSQVRJT04g
KCpUX0pJVE9wZXJhdGlvbl9FSnNzKShFeGVjU3RhdGUqLCBKU1N0cmluZyopOwogdHlwZWRlZiBK
U1N0cmluZyogSklUX09QRVJBVElPTiAoKkpzc19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSos
IGludDMyX3QpOwogCiAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRp
b24gaGFuZGVyLCBrZXllZCBieSBmYXVsdExvY2F0aW9uLCB3aGljaCBpcwpAQCAtMjMzLDI0ICsy
MzQsMjQgQEAKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dF
cnJvcihFeGVjU3RhdGUqLCBDb2RlQmxvY2sqKSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhl
Y1N0YXRlKikgV1RGX0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFs
dWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUo
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbihFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKSBXVEZfSU5U
RVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNv
ZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdU
Rl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRp
bWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRTdHJp
bmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFVuaXF1ZWRT
dHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25HZW5lcmljSW4oRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdU
Rl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsK
LXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0
dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3Zv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRF
Uk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBVbmlxdWVkU3RyaW5nSW1w
bCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3Ry
aWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmlu
Z0ltcGwqKSBXVEZfSU5URVJOQUw7Cit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1
ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUmVhbGxvY2F0ZVN0b3JhZ2VBbmRGaW5pc2hQdXQoRXhl
Y1N0YXRlKiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZh
bChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0
QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNw
cAppbmRleCA3MjA5NjllNWY4ZTI3Y2JlM2RmYWE5MDU2YzUxNDM3ODFkNzg4ZGMzLi5mZjlhYTQ0
YWQxNDc4YWI3MDkxZGFiNDgxNjU0MDI0ZDExZmEwNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBAIFN0YXRlbWVudE5vZGUqIFNjb3Bl
Tm9kZTo6c2luZ2xlU3RhdGVtZW50KCkgY29uc3QKIHsKIH0KIAotdm9pZCBQcm9ncmFtTm9kZTo6
c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFy
aWFibGVzKQordm9pZCBQcm9ncmFtTm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAgICBtX2Nsb3Nl
ZFZhcmlhYmxlcyA9IFdURjo6bW92ZShjbG9zZWRWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGY5OGZjNGMwZWI0YjBkOTI5ZWMyNzE4NjBmMDYzYTE2
Yjk5YjllYTYuLjc1YWNmODA4NmMxYzdmNjYwMDQ1MDQzZDYwNzk0MzEyZWFkYTg4NGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB9Owog
ICAgIGlubGluZSBGYWxsVGhyb3VnaE1vZGUgaW52ZXJ0KEZhbGxUaHJvdWdoTW9kZSBmYWxsVGhy
b3VnaE1vZGUpIHsgcmV0dXJuIHN0YXRpY19jYXN0PEZhbGxUaHJvdWdoTW9kZT4oIWZhbGxUaHJv
dWdoTW9kZSk7IH0KIAotICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U3RyaW5nSW1wbD4sIElk
ZW50aWZpZXJSZXBIYXNoPiBJZGVudGlmaWVyU2V0OworICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gSWRlbnRpZmllclNldDsK
IAogICAgIG5hbWVzcGFjZSBEZWNsYXJhdGlvblN0YWNrcyB7CiAgICAgICAgIGVudW0gVmFyQXR0
cnMgeyBJc0NvbnN0YW50ID0gMSwgSGFzSW5pdGlhbGl6ZXIgPSAyIH07CkBAIC0xNTYyLDcgKzE1
NjIsNyBAQAogICAgICAgICBib29sIGhhc0NhcHR1cmVkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1
cm4gISFtX2NhcHR1cmVkVmFyaWFibGVzLnNpemUoKTsgfQogICAgICAgICBzaXplX3QgY2FwdHVy
ZWRWYXJpYWJsZUNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jYXB0dXJlZFZhcmlhYmxlcy5zaXpl
KCk7IH0KICAgICAgICAgY29uc3QgSWRlbnRpZmllclNldCYgY2FwdHVyZWRWYXJpYWJsZXMoKSBj
b25zdCB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzOyB9Ci0gICAgICAgIGJvb2wgY2FwdHVy
ZXMoU3RyaW5nSW1wbCogdWlkKSB7IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5z
KHVpZCk7IH0KKyAgICAgICAgYm9vbCBjYXB0dXJlcyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKSB7
IHJldHVybiBtX2NhcHR1cmVkVmFyaWFibGVzLmNvbnRhaW5zKHVpZCk7IH0KICAgICAgICAgYm9v
bCBjYXB0dXJlcyhjb25zdCBJZGVudGlmaWVyJiBpZGVudCkgeyByZXR1cm4gY2FwdHVyZXMoaWRl
bnQuaW1wbCgpKTsgfQogCiAgICAgICAgIFZhclN0YWNrJiB2YXJTdGFjaygpIHsgcmV0dXJuIG1f
dmFyU3RhY2s7IH0KQEAgLTE1NzksNyArMTU3OSw3IEBACiAKICAgICAgICAgdm9pZCBlbWl0U3Rh
dGVtZW50c0J5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogZGVzdGluYXRp
b24pOwogICAgICAgICAKLSAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJl
ZlB0cjxTdHJpbmdJbXBsPj4mJikgeyB9CisgICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVz
KFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiYmKSB7IH0KIAogICAgIHByb3RlY3Rl
ZDoKICAgICAgICAgaW50IG1fc3RhcnRMaW5lTnVtYmVyOwpAQCAtMTYwNSwxMiArMTYwNSwxMiBA
QAogCiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNjb3BlSXNGdW5jdGlvbiA9IGZhbHNlOwog
Ci0gICAgICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+JiYpOwotICAgICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgY2xvc2Vk
VmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KKyAgICAgICAg
dm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+
JiYpOworICAgICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mIGNs
b3NlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2xvc2VkVmFyaWFibGVzOyB9CiAKICAg
ICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKLSAgICAgICAgVmVjdG9yPFJlZlB0
cjxTdHJpbmdJbXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKICAgICAgICAgdW5zaWduZWQg
bV9zdGFydENvbHVtbjsKICAgICAgICAgdW5zaWduZWQgbV9lbmRDb2x1bW47CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBlODJmOGMxOGE3NWZlZDAz
ZTY2NjY2MWE0YmE4OWQ1MmUxOTgxOGZjLi5jNWVmYmJjMzkwMTJkN2M2YmEyZmM5ZTc4ODU1NzZl
M2RkODdkMjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0y
ODYsNyArMjg2LDcgQEAKICAgICAgICAgZmVhdHVyZXMgfD0gTW9kaWZpZWRQYXJhbWV0ZXJGZWF0
dXJlOwogICAgIGlmIChtb2RpZmllZEFyZ3VtZW50cykKICAgICAgICAgZmVhdHVyZXMgfD0gTW9k
aWZpZWRBcmd1bWVudHNGZWF0dXJlOwotICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IGNs
b3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gY2xv
c2VkVmFyaWFibGVzOwogICAgIGlmIChtX3BhcnNpbmdCdWlsdGluKSB7CiAgICAgICAgIElkZW50
aWZpZXJTZXQgdXNlZFZhcmlhYmxlczsKICAgICAgICAgc2NvcGUtPmdldFVzZWRWYXJpYWJsZXMo
dXNlZFZhcmlhYmxlcyk7CkBAIC0zMjUsNyArMzI1LDcgQEAKIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KIHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291
cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sm
IHZhclN0YWNrLCAKLSAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0
YWNrLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJT
ZXQmIGNhcHR1cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9z
ZWRWYXJpYWJsZXMpCisgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smIGZ1bmNT
dGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzLCBJZGVudGlmaWVy
U2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+
PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAgICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxl
bWVudHM7CiAgICAgbV92YXJEZWNsYXJhdGlvbnMuc3dhcCh2YXJTdGFjayk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA0MmEzMWY0NmI1YzAyZGQyYzBlZGZlNGRlMTU0
MDY3NzA4YWM2YjRkLi40ZmUyNGVkZjdjZjg1Njc4YWJhMmIyNGRjOWNmY2E4ZjMyZjdlM2E3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTk3LDEzICs5NywxMyBAQCBl
bnVtIERlY29uc3RydWN0aW9uS2luZCB7CiB0ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0V2YWxO
b2RlPEV2YWxOb2RlPigpIHsgcmV0dXJuIHRydWU7IH0KIAogc3RydWN0IFNjb3BlTGFiZWxJbmZv
IHsKLSAgICBTY29wZUxhYmVsSW5mbyhTdHJpbmdJbXBsKiBpZGVudCwgYm9vbCBpc0xvb3ApCisg
ICAgU2NvcGVMYWJlbEluZm8oVW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50LCBib29sIGlzTG9vcCkK
ICAgICAgICAgOiBtX2lkZW50KGlkZW50KQogICAgICAgICAsIG1faXNMb29wKGlzTG9vcCkKICAg
ICB7CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbCogbV9pZGVudDsKKyAgICBVbmlxdWVkU3RyaW5n
SW1wbCogbV9pZGVudDsKICAgICBib29sIG1faXNMb29wOwogfTsKIApAQCAtMTkzLDE0ICsxOTMs
MTQgQEAgc3RydWN0IFNjb3BlIHsKIAogICAgIHZvaWQgZGVjbGFyZUNhbGxlZShjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCkKICAgICB7Ci0gICAgICAgIG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlk
ZW50LT5zdHJpbmcoKS5pbXBsKCkpOworICAgICAgICBtX2RlY2xhcmVkVmFyaWFibGVzLmFkZChp
ZGVudC0+aW1wbCgpKTsKICAgICB9CiAKICAgICBib29sIGRlY2xhcmVWYXJpYWJsZShjb25zdCBJ
ZGVudGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIGJvb2wgaXNWYWxpZFN0cmljdE1vZGUg
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVudCAmJiBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hcmd1bWVudHMgIT0gKmlkZW50OwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0g
bV9pc1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKLSAgICAgICAgbV9kZWNs
YXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVj
bGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5pbXBsKCkpOwogICAgICAgICByZXR1cm4gaXNWYWxp
ZFN0cmljdE1vZGU7CiAgICAgfQogCkBAIC0yMjYsOSArMjI2LDkgQEAgc3RydWN0IFNjb3BlIHsK
ICAgICBib29sIGRlY2xhcmVQYXJhbWV0ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAg
ewogICAgICAgICBib29sIGlzQXJndW1lbnRzID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1l
bnRzID09ICppZGVudDsKLSAgICAgICAgYm9vbCBpc1ZhbGlkU3RyaWN0TW9kZSA9IG1fZGVjbGFy
ZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5pbXBsKCkpLmlzTmV3RW50cnkgJiYgbV92
bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAqaWRlbnQgJiYgIWlzQXJndW1lbnRzOworICAgICAg
ICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQoaWRlbnQt
PmltcGwoKSkuaXNOZXdFbnRyeSAmJiBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsICE9ICppZGVu
dCAmJiAhaXNBcmd1bWVudHM7CiAgICAgICAgIG1faXNWYWxpZFN0cmljdE1vZGUgPSBtX2lzVmFs
aWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2RlOwotICAgICAgICBtX2RlY2xhcmVkUGFy
YW1ldGVycy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwoKSk7CisgICAgICAgIG1fZGVjbGFyZWRQ
YXJhbWV0ZXJzLmFkZChpZGVudC0+aW1wbCgpKTsKIAogICAgICAgICBpZiAoaXNBcmd1bWVudHMp
CiAgICAgICAgICAgICBtX3NoYWRvd3NBcmd1bWVudHMgPSB0cnVlOwpAQCAtMjQzLDcgKzI0Myw3
IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgQmluZGluZ1Jlc3VsdCBkZWNsYXJlQm91bmRQYXJhbWV0
ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpCiAgICAgewogICAgICAgICBib29sIGlzQXJndW1l
bnRzID0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppZGVudDsKLSAgICAgICAg
Ym9vbCBuZXdFbnRyeSA9IG1fZGVjbGFyZWRWYXJpYWJsZXMuYWRkKGlkZW50LT5zdHJpbmcoKS5p
bXBsKCkpLmlzTmV3RW50cnk7CisgICAgICAgIGJvb2wgbmV3RW50cnkgPSBtX2RlY2xhcmVkVmFy
aWFibGVzLmFkZChpZGVudC0+aW1wbCgpKS5pc05ld0VudHJ5OwogICAgICAgICBib29sIGlzVmFs
aWRTdHJpY3RNb2RlID0gbmV3RW50cnkgJiYgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCAhPSAq
aWRlbnQgJiYgIWlzQXJndW1lbnRzOwogICAgICAgICBtX2lzVmFsaWRTdHJpY3RNb2RlID0gbV9p
c1ZhbGlkU3RyaWN0TW9kZSAmJiBpc1ZhbGlkU3RyaWN0TW9kZTsKICAgICAKQEAgLTI2Miw3ICsy
NjIsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIHZvaWQgdXNlVmFyaWFibGUoY29uc3QgSWRlbnRp
ZmllciogaWRlbnQsIGJvb2wgaXNFdmFsKQogICAgIHsKICAgICAgICAgbV91c2VzRXZhbCB8PSBp
c0V2YWw7Ci0gICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPnN0cmluZygpLmltcGwo
KSk7CisgICAgICAgIG1fdXNlZFZhcmlhYmxlcy5hZGQoaWRlbnQtPmltcGwoKSk7CiAgICAgfQog
CiAgICAgdm9pZCBzZXROZWVkc0Z1bGxBY3RpdmF0aW9uKCkgeyBtX25lZWRzRnVsbEFjdGl2YXRp
b24gPSB0cnVlOyB9CkBAIC0zMzcsNyArMzM3LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBib29s
IGlzVmFsaWRTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkU3RyaWN0TW9kZTsg
fQogICAgIGJvb2wgc2hhZG93c0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hhZG93c0Fy
Z3VtZW50czsgfQogCi0gICAgdm9pZCBjb3B5Q2FwdHVyZWRWYXJpYWJsZXNUb1ZlY3Rvcihjb25z
dCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgVmVjdG9yPFJlZlB0cjxTdHJpbmdJ
bXBsPj4mIHZlY3RvcikKKyAgICB2b2lkIGNvcHlDYXB0dXJlZFZhcmlhYmxlc1RvVmVjdG9yKGNv
bnN0IElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBWZWN0b3I8UmVmUHRyPFVuaXF1
ZWRTdHJpbmdJbXBsPj4mIHZlY3RvcikKICAgICB7CiAgICAgICAgIElkZW50aWZpZXJTZXQ6Oml0
ZXJhdG9yIGVuZCA9IGNhcHR1cmVkVmFyaWFibGVzLmVuZCgpOwogICAgICAgICBmb3IgKElkZW50
aWZpZXJTZXQ6Oml0ZXJhdG9yIGl0ID0gY2FwdHVyZWRWYXJpYWJsZXMuYmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CkBAIC00MzYsNyArNDM2LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGFyc2VkTm9kZT4gcGFyc2UoUGFyc2VyRXJyb3ImKTsKIAogICAgIEpTVGV4
dFBvc2l0aW9uIHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKSBjb25zdCB7IHJldHVybiBtX2xl
eGVyLT5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7IH0KLSAgICBWZWN0b3I8UmVmUHRyPFN0
cmluZ0ltcGw+PiYmIGNsb3NlZFZhcmlhYmxlcygpIHsgcmV0dXJuIFdURjo6bW92ZShtX2Nsb3Nl
ZFZhcmlhYmxlcyk7IH0KKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4mJiBj
bG9zZWRWYXJpYWJsZXMoKSB7IHJldHVybiBXVEY6Om1vdmUobV9jbG9zZWRWYXJpYWJsZXMpOyB9
CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEFsbG93SW5PdmVycmlkZSB7CkBAIC01NjMsNyArNTYz
LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAgICBTdHJpbmcgcGFyc2VJbm5lcigpOwogCiAgICAgdm9p
ZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFja3M6OlZh
clN0YWNrJiwgCi0gICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29k
ZUZlYXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiYmKTsKKyAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smLCBD
b2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8VW5p
cXVlZFN0cmluZ0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2Yg
ZXJyb3IgdG8gcmVwb3J0LgogICAgIGJvb2wgaXNGdW5jdGlvbkJvZHlOb2RlKFNjb3BlTm9kZSop
IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC04ODcsNyArODg3LDcgQEAgY2xhc3MgUGFyc2VyIHsKICAg
ICBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgbV92YXJEZWNsYXJhdGlvbnM7CiAgICAgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgbV9mdW5jRGVjbGFyYXRpb25zOwogICAgIElk
ZW50aWZpZXJTZXQgbV9jYXB0dXJlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsKKyAgICBWZWN0b3I8UmVmUHRyPFVuaXF1ZWRTdHJp
bmdJbXBsPj4gbV9jbG9zZWRWYXJpYWJsZXM7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7
CiAgICAgaW50IG1fbnVtQ29uc3RhbnRzOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUz
ZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjVlM2ZkZmZkZGEyYTZjN2QyMWNhNDNj
NmQ1NTJkOTk2MjhkNzQxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgIlBhcnNlclRva2Vucy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDggKzQxLDggQEAgc3RydWN0IFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVs
bEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7Ci0g
ICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKLSAgICBWZWN0b3I8
UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOworICAgIFZlY3RvcjxSZWZQdHI8VW5p
cXVlZFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKIAogI2lmIENPTVBJTEVSKE1T
VkMpCkBAIC04MiwxMyArODMsMTMgQEAgY2xhc3MgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0gewog
ICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFy
aWFibGVzQ291bnQ7CiAKLSAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KLSAgICBTdHJp
bmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3Ry
aW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KKyAgICBVbmlx
dWVkU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0
PFVuaXF1ZWRTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQorICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8VW5pcXVl
ZFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKIHBy
aXZhdGU6CiAgICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKIAotICAgIFN0cmluZ0ltcGwqIG1fdmFyaWFi
bGVzWzBdOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX3ZhcmlhYmxlc1swXTsKIH07CiAKIGlu
bGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6flNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCkK
QEAgLTEwMCw3ICsxMDEsNyBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06On5Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbSgpCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtPiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKGNvbnN0IFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAg
IHNpemVfdCB2YXJpYWJsZUNvdW50ID0gcGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUo
KSArIHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCk7Ci0gICAgc2l6ZV90IG9iamVjdFNp
emUgPSBzaXplb2YoU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFN0cmluZ0ltcGwq
KSAqIHZhcmlhYmxlQ291bnQ7CisgICAgc2l6ZV90IG9iamVjdFNpemUgPSBzaXplb2YoU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0pICsgc2l6ZW9mKFVuaXF1ZWRTdHJpbmdJbXBsKikgKiB2YXJpYWJs
ZUNvdW50OwogICAgIHZvaWQqIHNsb3QgPSBmYXN0TWFsbG9jKG9iamVjdFNpemUpOwogICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+KG5ldyAoc2xvdCkg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0ocGFyYW1ldGVycykpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCmluZGV4IGNlYWJk
MjUyZDBkOGNjMmEzOGE3Njg5MGM2OGQyODM5NGE2NjdkZmIuLjIxYmM0YzdjZWZkZTg2N2Q4YWI1
MWM1NzJiZTE1OTc5YmU4MTIwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKQEAgLTUyLDcgKzUyLDEyIEBACiB7CiB9CiAK
LWJvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoU3RyaW5nSW1wbCogdWlkKSBj
b25zdAorYm9vbCBDb21tb25JZGVudGlmaWVyczo6aXNQcml2YXRlTmFtZShTeW1ib2xJbXBsJiB1
aWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5pc1ByaXZhdGVOYW1lKHVp
ZCk7Cit9CisKK2Jvb2wgQ29tbW9uSWRlbnRpZmllcnM6OmlzUHJpdmF0ZU5hbWUoVW5pcXVlZFN0
cmluZ0ltcGwmIHVpZCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9idWlsdGluTmFtZXMtPmlzUHJp
dmF0ZU5hbWUodWlkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25JZGVudGlmaWVycy5oCmluZGV4IGY3NTc0YzZhMTdmZjA2ZWRmN2VjN2NiYWUwODhjZWU5
M2YyN2JkNjcuLjRkNmM1ZGE2MjE4NjA1YWNlMWQ1MjAyMmQyZGViMmEwYjMyNTFmMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApA
QCAtMzI0LDcgKzMyNCw4IEBACiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKEpTQ19JREVOVElGSUVSX0RFQ0xBUkVfUFJJVkFURV9X
RUxMX0tOT1dOX1NZTUJPTF9HTE9CQUwpCiAjdW5kZWYgSlNDX0lERU5USUZJRVJfREVDTEFSRV9Q
UklWQVRFX1dFTExfS05PV05fU1lNQk9MX0dMT0JBTAogCi0gICAgICAgIGJvb2wgaXNQcml2YXRl
TmFtZShTdHJpbmdJbXBsKiB1aWQpIGNvbnN0OworICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUo
U3ltYm9sSW1wbCYgdWlkKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ByaXZhdGVOYW1lKFVuaXF1
ZWRTdHJpbmdJbXBsJiB1aWQpIGNvbnN0OwogICAgICAgICBib29sIGlzUHJpdmF0ZU5hbWUoY29u
c3QgSWRlbnRpZmllciYpIGNvbnN0OwogCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGdldFBy
aXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0lkZW50aWZpZXIuaAppbmRleCAyOTFjZGJlMTkwNzY3MzlkN2JlZjE5OGU5YjY3
ODI4NWQxMDFkYzc3Li5hMTljZTc4ZmI3MjI0YzFjNDM1ZmYwNWJkOWY2NjNmNWUzZmQ3ZDliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjaW5jbHVkZSA8d3RmL1dU
RlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC05Miw3ICs5Myw3IEBAIGNsYXNzIElkZW50aWZp
ZXIgewogICAgIElkZW50aWZpZXIoRW1wdHlJZGVudGlmaWVyRmxhZykgOiBtX3N0cmluZyhTdHJp
bmdJbXBsOjplbXB0eSgpKSB7IEFTU0VSVChtX3N0cmluZy5pbXBsKCktPmlzQXRvbWljKCkpOyB9
CiAKICAgICBjb25zdCBTdHJpbmcmIHN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nOyB9
Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEF0b21pY1N0cmluZ0ltcGwqPihtX3N0cmluZy5pbXBsKCkpOyB9CisgICAgVW5pcXVlZFN0cmlu
Z0ltcGwqIGltcGwoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxVbmlxdWVkU3RyaW5nSW1w
bCo+KG1fc3RyaW5nLmltcGwoKSk7IH0KIAogICAgIGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVy
biBtX3N0cmluZy5sZW5ndGgoKTsgfQogCkBAIC0xMjMsOCArMTI0LDggQEAgY2xhc3MgSWRlbnRp
ZmllciB7CiAgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVN0cmluZyhFeGVjU3RhdGUqLCBjb25z
dCBTdHJpbmcmKTsKICAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tU3RyaW5nKEV4ZWNTdGF0ZSos
IGNvbnN0IGNoYXIqKTsKIAotICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoVk0qLCBTdHJp
bmdJbXBsKiB1aWQpOwotICAgIHN0YXRpYyBJZGVudGlmaWVyIGZyb21VaWQoRXhlY1N0YXRlKiwg
U3RyaW5nSW1wbCogdWlkKTsKKyAgICBzdGF0aWMgSWRlbnRpZmllciBmcm9tVWlkKFZNKiwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCk7CisgICAgc3RhdGljIElkZW50aWZpZXIgZnJvbVVpZChFeGVj
U3RhdGUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICBzdGF0aWMgSWRlbnRpZmllciBm
cm9tVWlkKGNvbnN0IFByaXZhdGVOYW1lJik7CiAKICAgICBzdGF0aWMgSWRlbnRpZmllciBjcmVh
dGVMQ2hhckZyb21VQ2hhcihWTSogdm0sIGNvbnN0IFVDaGFyKiBzLCBpbnQgbGVuZ3RoKSB7IHJl
dHVybiBJZGVudGlmaWVyKHZtLCBhZGQ4KHZtLCBzLCBsZW5ndGgpKTsgfQpAQCAtMTc0LDggKzE3
NSwxMCBAQCBjbGFzcyBJZGVudGlmaWVyIHsKICAgICBJZGVudGlmaWVyKFZNKiB2bSwgY29uc3Qg
U3RyaW5nJiBzdHJpbmcpIDogbV9zdHJpbmcoYWRkKHZtLCBzdHJpbmcuaW1wbCgpKSkgeyBBU1NF
UlQobV9zdHJpbmcuaW1wbCgpLT5pc0F0b21pYygpKTsgfQogICAgIElkZW50aWZpZXIoVk0qIHZt
LCBTdHJpbmdJbXBsKiByZXApIDogbV9zdHJpbmcoYWRkKHZtLCByZXApKSB7IEFTU0VSVChtX3N0
cmluZy5pbXBsKCktPmlzQXRvbWljKCkpOyB9CiAKLSAgICBlbnVtIFVuaXF1ZUlkZW50aWZpZXJG
bGFnIHsgVW5pcXVlSWRlbnRpZmllciB9OwotICAgIElkZW50aWZpZXIoVW5pcXVlSWRlbnRpZmll
ckZsYWcsIFN0cmluZ0ltcGwqIHVpZCkgOiBtX3N0cmluZyh1aWQpIHsgQVNTRVJUKG1fc3RyaW5n
LmltcGwoKS0+aXNTeW1ib2woKSk7IH0KKyAgICBleHBsaWNpdCBJZGVudGlmaWVyKFN5bWJvbElt
cGwqIHVpZCkKKyAgICAgICAgOiBtX3N0cmluZyh1aWQpCisgICAgeworICAgIH0KIAogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KICAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyB1aW50
MzJfdCB0b1VJbnQzMkZyb21DaGFyYWN0ZXJzKGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJzLCB1
bnNpZ25lZCBsZW5ndGgsIGJvb2wmIG9rKTsKQEAgLTI3MSw3ICsyNzQsNyBAQCBpbmxpbmUgYm9v
bCBJZGVudGlmaWVyOjplcXVhbChjb25zdCBTdHJpbmdJbXBsKiByLCBjb25zdCBVQ2hhciogcywg
dW5zaWduZWQgbGVuZwogCiBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPHVpbnQzMl90PiBwYXJzZUlu
ZGV4KGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiB7Ci0gICAgQXRvbWljU3RyaW5nSW1w
bCogdWlkID0gaWRlbnRpZmllci5pbXBsKCk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IGlkZW50aWZpZXIuaW1wbCgpOwogICAgIGlmICghdWlkKQogICAgICAgICByZXR1cm4gTnVsbG9w
dDsKICAgICBpZiAodWlkLT5pc1N5bWJvbCgpKQpAQCAtMjc5LDkgKzI4Miw5IEBAIGlubGluZSBi
b29sIElkZW50aWZpZXI6OmVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIHIsIGNvbnN0IFVDaGFyKiBz
LCB1bnNpZ25lZCBsZW5nCiAgICAgcmV0dXJuIHBhcnNlSW5kZXgoKnVpZCk7CiB9CiAKLXN0cnVj
dCBJZGVudGlmaWVyUmVwSGFzaCA6IFB0ckhhc2g8UmVmUHRyPFN0cmluZ0ltcGw+PiB7Ci0gICAg
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUmVmUHRyPFN0cmluZ0ltcGw+JiBrZXkpIHsgcmV0
dXJuIGtleS0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsgfQotICAgIHN0YXRpYyB1bnNpZ25l
ZCBoYXNoKFN0cmluZ0ltcGwqIGtleSkgeyByZXR1cm4ga2V5LT5leGlzdGluZ1N5bWJvbEF3YXJl
SGFzaCgpOyB9CitzdHJ1Y3QgSWRlbnRpZmllclJlcEhhc2ggOiBQdHJIYXNoPFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4+IHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+JiBrZXkpIHsgcmV0dXJuIGtleS0+ZXhpc3RpbmdTeW1ib2xBd2Fy
ZUhhc2goKTsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKFVuaXF1ZWRTdHJpbmdJbXBsKiBr
ZXkpIHsgcmV0dXJuIGtleS0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsgfQogfTsKIAogc3Ry
dWN0IElkZW50aWZpZXJNYXBJbmRleEhhc2hUcmFpdHMgOiBIYXNoVHJhaXRzPGludD4gewpAQCAt
Mjg5LDggKzI5Miw4IEBAIHN0cnVjdCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzIDogSGFz
aFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0g
ZmFsc2U7CiB9OwogCi10eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBpbnQsIElk
ZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBsPj4sIElkZW50aWZp
ZXJNYXBJbmRleEhhc2hUcmFpdHM+IElkZW50aWZpZXJNYXA7Ci10eXBlZGVmIEhhc2hNYXA8U3Ry
aW5nSW1wbCosIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8U3RyaW5nSW1wbCo+
LCBJZGVudGlmaWVyTWFwSW5kZXhIYXNoVHJhaXRzPiBCb3Jyb3dlZElkZW50aWZpZXJNYXA7Cit0
eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgaW50LCBJZGVudGlmaWVy
UmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+PiwgSWRlbnRpZmll
ck1hcEluZGV4SGFzaFRyYWl0cz4gSWRlbnRpZmllck1hcDsKK3R5cGVkZWYgSGFzaE1hcDxVbmlx
dWVkU3RyaW5nSW1wbCosIGludCwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8VW5pcXVl
ZFN0cmluZ0ltcGwqPiwgSWRlbnRpZmllck1hcEluZGV4SGFzaFRyYWl0cz4gQm9ycm93ZWRJZGVu
dGlmaWVyTWFwOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXJJbmxpbmVzLmgKaW5kZXggNTA2ZmE3YTIxNmFlOWE5
OTgxMzNjMjk2YTQxNDZmY2E3ZTc2ZGRhMC4uNzE0OGIyMTI4M2E1ZDI3ZWJmZTgyZDY1MTc0YWQ2
ZDllYWE5N2ZhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRl
bnRpZmllcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVu
dGlmaWVySW5saW5lcy5oCkBAIC03MCwyMSArNzAsMjEgQEAgaW5saW5lIElkZW50aWZpZXI6Oklk
ZW50aWZpZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykKICAg
ICByZXR1cm4gKkF0b21pY1N0cmluZ0ltcGw6OmFkZFdpdGhTdHJpbmdUYWJsZVByb3ZpZGVyKCp2
bSwgcik7CiB9CiAKLWlubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoVk0qIHZt
LCBTdHJpbmdJbXBsKiB1aWQpCitpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlk
KFZNKiB2bSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBpZiAoIXVpZCB8fCAhdWlk
LT5pc1N5bWJvbCgpKQogICAgICAgICByZXR1cm4gSWRlbnRpZmllcih2bSwgdWlkKTsKLSAgICBy
ZXR1cm4gSWRlbnRpZmllcihVbmlxdWVJZGVudGlmaWVyLCB1aWQpOworICAgIHJldHVybiBJZGVu
dGlmaWVyKHN0YXRpY19jYXN0PFN5bWJvbEltcGwqPih1aWQpKTsKIH0KIAotaW5saW5lIElkZW50
aWZpZXIgSWRlbnRpZmllcjo6ZnJvbVVpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cmluZ0ltcGwqIHVp
ZCkKK2lubGluZSBJZGVudGlmaWVyIElkZW50aWZpZXI6OmZyb21VaWQoRXhlY1N0YXRlKiBleGVj
LCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHJldHVybiBmcm9tVWlkKCZleGVjLT52
bSgpLCB1aWQpOwogfQogCiBpbmxpbmUgSWRlbnRpZmllciBJZGVudGlmaWVyOjpmcm9tVWlkKGNv
bnN0IFByaXZhdGVOYW1lJiBuYW1lKQogewotICAgIHJldHVybiBJZGVudGlmaWVyKFVuaXF1ZUlk
ZW50aWZpZXIsIG5hbWUudWlkKCkpOworICAgIHJldHVybiBJZGVudGlmaWVyKG5hbWUudWlkKCkp
OwogfQogCiB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3Bw
CmluZGV4IGMyNDMyMDZlMzRjYjBlYjkwNjFkZWE2N2U1N2M0NzY0YzE4NzJiNmQuLmQ3M2Y3NDhl
M2FmNTc0ZTEyYmZmYTEzZDI3YTNhMDY2YTk3NjlmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwCkBAIC0x
MDMsNyArMTAzLDcgQEAgYm9vbCBJbnRlbmRlZFN0cnVjdHVyZUNoYWluOjptYXRjaGVzKFN0cnVj
dHVyZUNoYWluKiBjaGFpbikgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJbnRl
bmRlZFN0cnVjdHVyZUNoYWluOjptYXlJbnRlcmNlcHRTdG9yZVRvKEF0b21pY1N0cmluZ0ltcGwq
IHVpZCkKK2Jvb2wgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbjo6bWF5SW50ZXJjZXB0U3RvcmVUbyhV
bmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X3ZlY3Rvci5zaXplKCk7ICsraSkgewogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVD
aGFpbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZW5kZWRTdHJ1Y3R1cmVD
aGFpbi5oCmluZGV4IDNjMDE5MTc3ZGE2NTNlOWU3NWY2M2U4MDFjNTE2NDQ0ZDQ2MWQ0ZWIuLmEw
ZjU1NjViZDExZmVlOGM4MzcxMWYwZjU2MDUyZjIxNDMyMjllNTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVuZGVkU3RydWN0dXJlQ2hhaW4uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgKQEAg
LTQ5LDcgKzQ5LDcgQEAgY2xhc3MgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbiA6IHB1YmxpYyBSZWZD
b3VudGVkPEludGVuZGVkU3RydWN0dXJlQ2hhaW4+IHsKICAgICAKICAgICBib29sIGlzU3RpbGxW
YWxpZCgpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhTdHJ1Y3R1cmVDaGFpbiopIGNvbnN0Owot
ICAgIGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhBdG9taWNTdHJpbmdJbXBsKiB1aWQpOworICAg
IGJvb2wgbWF5SW50ZXJjZXB0U3RvcmVUbyhVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKICAgICBi
b29sIGlzTm9ybWFsaXplZCgpOwogICAgIAogICAgIGJvb2wgdGFrZXNTbG93UGF0aEluREZHRm9y
SW1wdXJlUHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcAppbmRleCAzYWU2MmM1ZjRmZDUyYTI0ODZjMjRiZjQxNzZlMjkyYTRi
YmY2ZjZlLi4zZDNiMjA0OTg5ODJjZDNlYzIxNzU1MTY2NTIxZGFjMWNhZTVmYmQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC00
NzAsNyArNDcwLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRL
ZXlQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJy
YXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktp
bmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlWYWx1ZSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUsIFN5bWJvbDo6
Y3JlYXRlKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1ib2w6OmNy
ZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5TmFtZXMtPml0ZXJh
dG9yU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMo
KS5Ub0xlbmd0aFByaXZhdGVOYW1lKCksIHByaXZhdGVGdW5jVG9MZW5ndGgsIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLlRvSW50ZWdlclByaXZhdGVOYW1lKCksIHByaXZh
dGVGdW5jVG9JbnRlZ2VyLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggODRhYWY4ZWFlZWY5
MjZiODhhZmFiZTJhMDhjMWUwYjQxMmQ4YTJjOC4uMzVhNWM2MWRiNzk0YjUxNzBiNzU0YjZkNzAw
OGUzOGVkY2YxMGQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAg
LTEwMCw3ICsxMDAsNyBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgaWYgKHByb3BlcnR5
TmFtZS5pc1N5bWJvbCgpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAg
U3RyaW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgICAgICBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkID0gcHJvcGVydHlOYW1lLnVpZCgpOwogICAgICAgICBpZiAoIXVpZCkKICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXBEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXBEYXRhLmgKaW5kZXggMzkzNGE1YjVjNDU1YTU5NzgxNzVlNzM5ZTBhMWJhMmQzMDBmNTI5Yy4u
M2I1ODYzZWZjZGYyNzc2ZWIxYjg0NTkwMmIzODcwODk0MzY2OGI3YyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hcERhdGEuaApAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIE1hcERh
dGFJbXBsIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8SlNDZWxsKiwgaW50MzJfdCwgdHlwZW5hbWUg
V1RGOjpEZWZhdWx0SGFzaDxKU0NlbGwqPjo6SGFzaCwgV1RGOjpIYXNoVHJhaXRzPEpTQ2VsbCo+
LCBJbmRleFRyYWl0cz4gQ2VsbEtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxFbmNvZGVk
SlNWYWx1ZSwgaW50MzJfdCwgRW5jb2RlZEpTVmFsdWVIYXNoLCBFbmNvZGVkSlNWYWx1ZUhhc2hU
cmFpdHMsIEluZGV4VHJhaXRzPiBWYWx1ZUtleWVkTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxT
dHJpbmdJbXBsKiwgaW50MzJfdCwgdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxTdHJpbmdJbXBs
Kj46Okhhc2gsIFdURjo6SGFzaFRyYWl0czxTdHJpbmdJbXBsKj4sIEluZGV4VHJhaXRzPiBTdHJp
bmdLZXllZE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludDMy
X3QsIHR5cGVuYW1lIFdURjo6RGVmYXVsdEhhc2g8QXRvbWljU3RyaW5nSW1wbCo+OjpIYXNoLCBX
VEY6Okhhc2hUcmFpdHM8QXRvbWljU3RyaW5nSW1wbCo+LCBJbmRleFRyYWl0cz4gU3ltYm9sS2V5
ZWRNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFN5bWJvbEltcGwqLCBpbnQzMl90LCB0eXBlbmFt
ZSBXVEY6OlB0ckhhc2g8U3ltYm9sSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8U3ltYm9sSW1wbCo+
LCBJbmRleFRyYWl0cz4gU3ltYm9sS2V5ZWRNYXA7CiAKICAgICBzaXplX3QgY2FwYWNpdHlJbkJ5
dGVzKCkgeyByZXR1cm4gbV9jYXBhY2l0eSAqIHNpemVvZihFbnRyeSk7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4
IDM1MDkzNjJiNGJhMGQzYWVhODRjYmMwMGE4YTcyYjFkNzBhYWRkZjEuLjE5MGEwNTU4ZGRmN2Q2
MDc3NWY1OWIzNWJjZjg1MWY4M2E2MTc0NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTI0Miw5ICsyNDIsOSBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVy
dHlTeW1ib2xzKEV4ZWNTdGF0ZSogZQogICAgIEpTQXJyYXkqIG5hbWVzID0gY29uc3RydWN0RW1w
dHlBcnJheShleGVjLCAwKTsKICAgICBzaXplX3QgbnVtUHJvcGVydGllcyA9IHByb3BlcnRpZXMu
c2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVydGllczsgaSsrKSB7
Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGltcGwgPSBwcm9wZXJ0aWVzW2ldLmltcGwoKTsK
LSAgICAgICAgaWYgKGltcGwtPmlzU3ltYm9sKCkgJiYgIWV4ZWMtPnByb3BlcnR5TmFtZXMoKS5p
c1ByaXZhdGVOYW1lKGltcGwpKQotICAgICAgICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9s
OjpjcmVhdGUoZXhlYy0+dm0oKSwgaW1wbCkpOworICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCog
aW1wbCA9IHByb3BlcnRpZXNbaV0uaW1wbCgpOworICAgICAgICBpZiAoaW1wbC0+aXNTeW1ib2wo
KSAmJiAhZXhlYy0+cHJvcGVydHlOYW1lcygpLmlzUHJpdmF0ZU5hbWUoKmltcGwpKQorICAgICAg
ICAgICAgbmFtZXMtPnB1c2goZXhlYywgU3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RhdGlj
X2Nhc3Q8U3ltYm9sSW1wbCo+KGltcGwpKSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUobmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJpdmF0ZU5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByaXZhdGVO
YW1lLmgKaW5kZXggY2NjY2MzOWZhOTM5MTNiM2ZhNjFjNzUwZTY4ZGM3MjkxNmU1YjcxNC4uNTE3
Yzc5ODQ3ZjQwYzE0NmVkMjI5MTgyMmYzNDUzZjVkMWQzMWQ3YiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJpdmF0ZU5hbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcml2YXRlTmFtZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVm
IFByaXZhdGVOYW1lX2gKICNkZWZpbmUgUHJpdmF0ZU5hbWVfaAogCi0jaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM3LDI0ICszNywyNCBAQCBjbGFzcyBQcml2YXRlTmFtZSB7CiAg
ICAgewogICAgIH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKFN0cmluZ0ltcGwqIHVpZCkK
KyAgICBleHBsaWNpdCBQcml2YXRlTmFtZShTeW1ib2xJbXBsKiB1aWQpCiAgICAgICAgIDogbV9p
bXBsKHVpZCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtX2ltcGwtPmlzU3ltYm9sKCkpOwogICAg
IH0KIAotICAgIGV4cGxpY2l0IFByaXZhdGVOYW1lKGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24p
CisgICAgZW51bSBEZXNjcmlwdGlvblRhZyB7IERlc2NyaXB0aW9uIH07CisgICAgZXhwbGljaXQg
UHJpdmF0ZU5hbWUoRGVzY3JpcHRpb25UYWcsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCiAg
ICAgICAgIDogbV9pbXBsKFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChkZXNjcmlwdGlvbi5pbXBs
KCkpKQogICAgIHsKICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBsLmdldCgpKTsgfQor
ICAgIFN5bWJvbEltcGwqIHVpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfQogCiAg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByaXZhdGVOYW1lJiBvdGhlcikgY29uc3QgeyByZXR1
cm4gdWlkKCkgPT0gb3RoZXIudWlkKCk7IH0KICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJp
dmF0ZU5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiB1aWQoKSAhPSBvdGhlci51aWQoKTsgfQog
CiBwcml2YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7CisgICAgUmVmUHRyPFN5
bWJvbEltcGw+IG1faW1wbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3BlcnR5TWFwSGFzaFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm9wZXJ0eU1hcEhhc2hUYWJsZS5oCmluZGV4IGFjOTVjYTE3NTYwZWUxNzdm
YTNjNmE4ZmI4OTgwNWQ1YzY5ZWY1YjguLmIwNjhiOTkxZGVhZDU1ODE0YzQ5ZDIwNzQyOGJjYjZk
MTYzN2VkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Bl
cnR5TWFwSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
cGVydHlNYXBIYXNoVGFibGUuaApAQCAtMzUsNyArMzUsNyBAQAogI2RlZmluZSBEVU1QX1BST1BF
UlRZTUFQX1NUQVRTIDAKICNkZWZpbmUgRFVNUF9QUk9QRVJUWU1BUF9DT0xMSVNJT05TIDAKIAot
I2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChBdG9taWNTdHJpbmdJbXBs
KikxKQorI2RlZmluZSBQUk9QRVJUWV9NQVBfREVMRVRFRF9FTlRSWV9LRVkgKChVbmlxdWVkU3Ry
aW5nSW1wbCopMSkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFz
cyBQcm9wZXJ0eVRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKENl
bGxUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgdHlwZWRlZiBB
dG9taWNTdHJpbmdJbXBsKiBLZXlUeXBlOworICAgIHR5cGVkZWYgVW5pcXVlZFN0cmluZ0ltcGwq
IEtleVR5cGU7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eU1hcEVudHJ5IFZhbHVlVHlwZTsKIAogICAg
IC8vIFRoZSBpbiBvcmRlciBpdGVyYXRvciBwcm92aWRlcyBvdmVybG9hZGVkICogYW5kIC0+IHRv
IGFjY2VzcyB0aGUgVmFsdWUgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oCmluZGV4IDRmMmNhODcyYmUzNzIzZmNi
NzA5YTIzNThhNjU4ZDk4MjU5NmQ3NTAuLjI2ZDBiZjAzODVlYmZhYzFhNGEwMmMzYjAwMTNkNGZk
ZmJiYWIyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Bl
cnR5TmFtZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFt
ZS5oCkBAIC0zNCwxOSArMzQsMTggQEAKIAogY2xhc3MgUHJvcGVydHlOYW1lIHsKIHB1YmxpYzoK
LSAgICBQcm9wZXJ0eU5hbWUoQXRvbWljU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQorICAgIFBy
b3BlcnR5TmFtZShVbmlxdWVkU3RyaW5nSW1wbCogcHJvcGVydHlOYW1lKQogICAgICAgICA6IG1f
aW1wbChwcm9wZXJ0eU5hbWUpCiAgICAgewotICAgICAgICBBU1NFUlQoIW1faW1wbCB8fCBtX2lt
cGwtPmlzQXRvbWljKCkgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKTsKICAgICB9CiAKICAgICBQcm9w
ZXJ0eU5hbWUoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQotICAgICAgICA6IFByb3Bl
cnR5TmFtZShzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4ocHJvcGVydHlOYW1lLmltcGwo
KSkpCisgICAgICAgIDogUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZS5pbXBsKCkpCiAgICAgewog
ICAgIH0KIAogICAgIFByb3BlcnR5TmFtZShjb25zdCBQcml2YXRlTmFtZSYgcHJvcGVydHlOYW1l
KQotICAgICAgICA6IG1faW1wbChzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4ocHJvcGVy
dHlOYW1lLnVpZCgpKSkKKyAgICAgICAgOiBtX2ltcGwocHJvcGVydHlOYW1lLnVpZCgpKQogICAg
IHsKICAgICAgICAgQVNTRVJUKG1faW1wbCk7CiAgICAgICAgIEFTU0VSVChtX2ltcGwtPmlzU3lt
Ym9sKCkpOwpAQCAtNTcsMTQgKzU2LDE0IEBAIGNsYXNzIFByb3BlcnR5TmFtZSB7CiAgICAgICAg
IHJldHVybiBtX2ltcGwgJiYgbV9pbXBsLT5pc1N5bWJvbCgpOwogICAgIH0KIAotICAgIEF0b21p
Y1N0cmluZ0ltcGwqIHVpZCgpIGNvbnN0CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCgpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9pbXBsOwogICAgIH0KIAogICAgIEF0b21pY1N0
cmluZ0ltcGwqIHB1YmxpY05hbWUoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuICghbV9p
bXBsIHx8IG1faW1wbC0+aXNTeW1ib2woKSkgPyBudWxscHRyIDogbV9pbXBsOworICAgICAgICBy
ZXR1cm4gKCFtX2ltcGwgfHwgbV9pbXBsLT5pc1N5bWJvbCgpKSA/IG51bGxwdHIgOiBzdGF0aWNf
Y2FzdDxBdG9taWNTdHJpbmdJbXBsKj4obV9pbXBsKTsKICAgICB9CiAKICAgICB2b2lkIGR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKQEAgLTc2LDcgKzc1LDcgQEAgY2xhc3MgUHJvcGVydHlO
YW1lIHsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogbV9pbXBsOwor
ICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBtX2ltcGw7CiB9OwogCiBpbmxpbmUgYm9vbCBvcGVyYXRv
cj09KFByb3BlcnR5TmFtZSBhLCBjb25zdCBJZGVudGlmaWVyJiBiKQpAQCAtMTE2LDcgKzExNSw3
IEBAIGNsYXNzIFByb3BlcnR5TmFtZSB7CiAKIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8dWludDMy
X3Q+IHBhcnNlSW5kZXgoUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBBdG9taWNT
dHJpbmdJbXBsKiB1aWQgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CisgICAgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCA9IHByb3BlcnR5TmFtZS51aWQoKTsKICAgICBpZiAoIXVpZCkKICAgICAgICAgcmV0
dXJuIE51bGxvcHQ7CiAgICAgaWYgKHVpZC0+aXNTeW1ib2woKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oCmluZGV4IDMyNzlmODM3Zjhm
OWQ2ZGY2MGZhOGZiZTc1ZWQ1YTJkNTMzZDBiM2QuLjkxYWYzYTI3OGU2NTljMGM4YWViZjhmZTZl
YzkxZmUwZDkyYWVjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Byb3BlcnR5TmFtZUFycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvcGVydHlOYW1lQXJyYXkuaApAQCAtNjgsOCArNjgsOCBAQCBjbGFzcyBQcm9wZXJ0eU5hbWVB
cnJheSB7CiAgICAgfQogCiAgICAgdm9pZCBhZGQoY29uc3QgSWRlbnRpZmllciYpOwotICAgIHZv
aWQgYWRkKEF0b21pY1N0cmluZ0ltcGwqKTsKLSAgICB2b2lkIGFkZEtub3duVW5pcXVlKEF0b21p
Y1N0cmluZ0ltcGwqKTsKKyAgICB2b2lkIGFkZChVbmlxdWVkU3RyaW5nSW1wbCopOworICAgIHZv
aWQgYWRkS25vd25VbmlxdWUoVW5pcXVlZFN0cmluZ0ltcGwqKTsKIAogICAgIElkZW50aWZpZXIm
IG9wZXJhdG9yW10odW5zaWduZWQgaSkgeyByZXR1cm4gbV9kYXRhLT5wcm9wZXJ0eU5hbWVWZWN0
b3IoKVtpXTsgfQogICAgIGNvbnN0IElkZW50aWZpZXImIG9wZXJhdG9yW10odW5zaWduZWQgaSkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKVtpXTsgfQpAQCAtODcs
NyArODcsNyBAQCBjbGFzcyBQcm9wZXJ0eU5hbWVBcnJheSB7CiAKIHByaXZhdGU6CiAgICAgUmVm
UHRyPFByb3BlcnR5TmFtZUFycmF5RGF0YT4gbV9kYXRhOwotICAgIEhhc2hTZXQ8QXRvbWljU3Ry
aW5nSW1wbCo+IG1fc2V0OworICAgIEhhc2hTZXQ8VW5pcXVlZFN0cmluZ0ltcGwqPiBtX3NldDsK
ICAgICBWTSogbV92bTsKIH07CiAKQEAgLTk2LDEyICs5NiwxMiBAQCBBTFdBWVNfSU5MSU5FIHZv
aWQgUHJvcGVydHlOYW1lQXJyYXk6OmFkZChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQog
ICAgIGFkZChpZGVudGlmaWVyLmltcGwoKSk7CiB9CiAKLUFMV0FZU19JTkxJTkUgdm9pZCBQcm9w
ZXJ0eU5hbWVBcnJheTo6YWRkS25vd25VbmlxdWUoQXRvbWljU3RyaW5nSW1wbCogaWRlbnRpZmll
cikKK0FMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkS25vd25VbmlxdWUo
VW5pcXVlZFN0cmluZ0ltcGwqIGlkZW50aWZpZXIpCiB7CiAgICAgbV9kYXRhLT5wcm9wZXJ0eU5h
bWVWZWN0b3IoKS5hcHBlbmQoSWRlbnRpZmllcjo6ZnJvbVVpZChtX3ZtLCBpZGVudGlmaWVyKSk7
CiB9CiAKLUFMV0FZU19JTkxJTkUgdm9pZCBQcm9wZXJ0eU5hbWVBcnJheTo6YWRkKEF0b21pY1N0
cmluZ0ltcGwqIGlkZW50aWZpZXIpCitBTFdBWVNfSU5MSU5FIHZvaWQgUHJvcGVydHlOYW1lQXJy
YXk6OmFkZChVbmlxdWVkU3RyaW5nSW1wbCogaWRlbnRpZmllcikKIHsKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgc2V0VGhyZXNob2xkID0gMjA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCmluZGV4IGMxZjcxNGRlNjg5ZjRhNDljYjU4MDY0MjA2OWY5
OTMzZTk1ZTdkNGMuLmNlMTk3MTdhMzBlN2MwODVlNzZjZGFhY2U0NjdiZDgyODdjYWJiZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcApAQCAtNjAsNyAr
NjAsNyBAQAogc3RhdGljIEhhc2hTZXQ8U3RydWN0dXJlKj4mIGxpdmVTdHJ1Y3R1cmVTZXQgPSAq
KG5ldyBIYXNoU2V0PFN0cnVjdHVyZSo+KTsKICNlbmRpZgogCi1ib29sIFN0cnVjdHVyZVRyYW5z
aXRpb25UYWJsZTo6Y29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmNvbnRhaW5zKFVu
aXF1ZWRTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0CiB7CiAgICAg
aWYgKGlzVXNpbmdTaW5nbGVTbG90KCkpIHsKICAgICAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9u
ID0gc2luZ2xlVHJhbnNpdGlvbigpOwpAQCAtNjksNyArNjksNyBAQCBib29sIFN0cnVjdHVyZVRy
YW5zaXRpb25UYWJsZTo6Y29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBh
dHRyaWJ1dAogICAgIHJldHVybiBtYXAoKS0+Z2V0KHN0ZDo6bWFrZV9wYWlyKHJlcCwgYXR0cmli
dXRlcykpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6
OmdldChBdG9taWNTdHJpbmdJbXBsKiByZXAsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0Citp
bmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmdldChVbmlxdWVkU3Ry
aW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdAogewogICAgIGlmIChpc1Vz
aW5nU2luZ2xlU2xvdCgpKSB7CiAgICAgICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IHNpbmds
ZVRyYW5zaXRpb24oKTsKQEAgLTMxNiw3ICszMTYsNyBAQCB2b2lkIFN0cnVjdHVyZTo6bWF0ZXJp
YWxpemVQcm9wZXJ0eU1hcChWTSYgdm0pCiAgICAgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpOwog
fQogCi1TdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGlu
Z1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEF0b21pY1N0cmluZ0ltcGwqIHVp
ZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKK1N0cnVjdHVy
ZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1w
bChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBBU1NFUlQoIXN0cnVj
dHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwogICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkp
OwpAQCAtMzM2LDcgKzMzNiw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSogc3RydWN0CiAgICAgcmV0dXJu
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwg
cHJvcGVydHlOYW1lLnVpZCgpLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1TdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1
cnJlbnRseShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQorU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50
bHkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgQ29uY3VycmVudEpJ
VExvY2tlciBsb2NrZXIoc3RydWN0dXJlLT5tX2xvY2spOwogICAgIHJldHVybiBhZGRQcm9wZXJ0
eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmli
dXRlcywgb2Zmc2V0KTsKQEAgLTg0Miw3ICs4NDIsNyBAQCBQcm9wZXJ0eVRhYmxlKiBTdHJ1Y3R1
cmU6OmNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlubmluZyhWTSYgdm0pCiAgICAgcmV0dXJuIFByb3Bl
cnR5VGFibGU6OmNyZWF0ZSh2bSwgbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQs
IG1faW5saW5lQ2FwYWNpdHkpKTsKIH0KIAotUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXRD
b25jdXJyZW50bHkoQXRvbWljU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCYgYXR0cmlidXRlcykK
K1Byb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkJiBhdHRyaWJ1dGVzKQogewogICAgIFByb3BlcnR5T2Zmc2V0IHJl
c3VsdCA9IGludmFsaWRPZmZzZXQ7CiAgICAgCkBAIC04ODIsNyArODgyLDcgQEAgUHJvcGVydHlP
ZmZzZXQgU3RydWN0dXJlOjphZGQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1
bnNpZ25lZCBhdHRyaWIKICAgICBpZiAoYXR0cmlidXRlcyAmIERvbnRFbnVtKQogICAgICAgICBz
ZXRIYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyh0cnVlKTsKIAotICAgIEF0b21pY1N0cmluZ0lt
cGwqIHJlcCA9IHByb3BlcnR5TmFtZS51aWQoKTsKKyAgICBVbmlxdWVkU3RyaW5nSW1wbCogcmVw
ID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgaWYgKCFwcm9wZXJ0eVRhYmxlKCkpCiAgICAg
ICAgIGNyZWF0ZVByb3BlcnR5TWFwKGxvY2tlciwgdm0pOwpAQCAtOTAxLDcgKzkwMSw3IEBAIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlKFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
CiAgICAgCiAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogCi0gICAgQXRvbWljU3RyaW5nSW1wbCog
cmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOworICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiByZXAgPSBw
cm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBpZiAoIXByb3BlcnR5VGFibGUoKSkKICAgICAgICAg
cmV0dXJuIGludmFsaWRPZmZzZXQ7CkBAIC0xMDQyLDE0ICsxMDQyLDE0IEBAIGJvb2wgU3RydWN0
dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOCiAgICAgICAgICAgICBQcm9wZXJ0eVRhYmxlOjppdGVyYXRvciBpdGVyID0g
dGFibGUtPmJlZ2luKCk7CiAgICAgICAgICAgICBQcm9wZXJ0eVRhYmxlOjppdGVyYXRvciBlbmQg
PSB0YWJsZS0+ZW5kKCk7CiAgICAgICAgICAgICBmb3IgKDsgaXRlciAhPSBlbmQ7ICsraXRlcikK
LSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoaXRlci0+a2V5KTsKKyAgICAg
ICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKml0ZXItPmtleSk7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIHN0cnVjdHVyZS0+bV9sb2NrLnVubG9jaygpOwogICAgICAgICB9CiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0cnVjdHVyZXMuc2l6ZSgpOyBpLS07KSB7CiAgICAg
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZXNbaV07CiAgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlLT5tX25hbWVJblByZXZpb3VzKQotICAgICAgICAgICAgICAgIGN1clNo
YXBlLT5hZGRQcm9wZXJ0eShzdHJ1Y3R1cmUtPm1fbmFtZUluUHJldmlvdXMuZ2V0KCkpOworICAg
ICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqc3RydWN0dXJlLT5tX25hbWVJblBy
ZXZpb3VzKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChKU09iamVjdCogY3VyT2JqZWN0ID0g
Y3VyVmFsdWUuZ2V0T2JqZWN0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCmluZGV4IDE2NWY2YmExM2UyYjkwZDllY2JkYmY5NjRiOWY1ZmE1MGU3MDk5NjEuLmMw
ZTY1NjI5ODVhMzdlYmNhN2IyMzFjMTNkMWQ0YzdlYTc5NTMzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBAIC00OCw3ICs0OCw3IEBACiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtNzMsNyArNzMsNyBAQAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG91dE9mTGlu
ZUdyb3d0aEZhY3RvciA9IDI7CiAKIHN0cnVjdCBQcm9wZXJ0eU1hcEVudHJ5IHsKLSAgICBBdG9t
aWNTdHJpbmdJbXBsKiBrZXk7CisgICAgVW5pcXVlZFN0cmluZ0ltcGwqIGtleTsKICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQ7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKIApAQCAtODQsNyAr
ODQsNyBAQCBzdHJ1Y3QgUHJvcGVydHlNYXBFbnRyeSB7CiAgICAgewogICAgIH0KICAgICAKLSAg
ICBQcm9wZXJ0eU1hcEVudHJ5KEF0b21pY1N0cmluZ0ltcGwqIGtleSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQorICAgIFByb3BlcnR5TWFwRW50cnkoVW5pcXVl
ZFN0cmluZ0ltcGwqIGtleSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCB1bnNpZ25lZCBhdHRyaWJ1
dGVzKQogICAgICAgICA6IGtleShrZXkpCiAgICAgICAgICwgb2Zmc2V0KG9mZnNldCkKICAgICAg
ICAgLCBhdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCkBAIC0xMzMsNyArMTMzLDcgQEAgY2xhc3MgU3Ry
dWN0dXJlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIHZvaWQgZHVtcFN0YXRp
c3RpY3MoKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFBy
b3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OkNvbnRleHQgPSBQ
dXRQcm9wZXJ0eVNsb3Q6OlVua25vd25Db250ZXh0KTsKLSAgICBzdGF0aWMgU3RydWN0dXJlKiBh
ZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVj
dHVyZSosIEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVy
dHlPZmZzZXQmKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25U
b0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9F
eGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJv
cGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9m
ZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVBy
b3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CkBA
IC0yODgsOCArMjg4LDggQEAgY2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KICAgICB2b2lkIGZvckVhY2hQcm9wZXJ0
eUNvbmN1cnJlbnRseShjb25zdCBGdW5jdG9yJik7CiAgICAgCi0gICAgUHJvcGVydHlPZmZzZXQg
Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCk7Ci0gICAgUHJvcGVydHlPZmZz
ZXQgZ2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJp
YnV0ZXMpOworICAgIFByb3BlcnR5T2Zmc2V0IGdldENvbmN1cnJlbnRseShVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBnZXRDb25jdXJyZW50bHkoVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQmIGF0dHJpYnV0ZXMpOwogICAgIAogICAgIFZlY3RvcjxQ
cm9wZXJ0eU1hcEVudHJ5PiBnZXRQcm9wZXJ0aWVzQ29uY3VycmVudGx5KCk7CiAgICAgCkBAIC00
ODIsNyArNDgyLDcgQEAgY2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAK
ICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICAKLSAg
ICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0
dXJlSW1wbChTdHJ1Y3R1cmUqLCBBdG9taWNTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CisgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKIAog
ICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIHN0cnVjdHVyZSB0aGF0IGhhcyBhIHVzYWJsZSBw
cm9wZXJ0eSB0YWJsZSwgdGhhdCBwcm9wZXJ0eSB0YWJsZSwKICAgICAvLyBhbmQgdGhlIGxpc3Qg
b2Ygc3RydWN0dXJlcyB0aGF0IHdlIHZpc2l0ZWQgYmVmb3JlIHdlIGdvdCB0byBpdC4gSWYgaXQg
cmV0dXJucyBhCkBAIC01OTAsNyArNTkwLDcgQEAgY2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVi
bGljIEpTQ2VsbCB7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNDZWxsPiBtX3ByZXZpb3VzT3JSYXJl
RGF0YTsKIAotICAgIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBtX25hbWVJblByZXZpb3VzOwor
ICAgIFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4gbV9uYW1lSW5QcmV2aW91czsKIAogICAgIGNv
bnN0IENsYXNzSW5mbyogbV9jbGFzc0luZm87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAppbmRleCBmMTdiYzFiMTdhNDAxYzBkYzg5MThj
NmRiODMzOWM1MzMxMDg1MjMwLi41YzNhZWQ3NzE1MWE5YjIzN2I2NzZhYWFkZWM1YmMwMTE2MmNm
NzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdHJ1Y3R1cmU6OmZvckVhY2hQcm9wZXJ0
eUNvbmN1cnJlbnRseShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQogICAgIH0KIH0KIAotaW5saW5l
IFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0Q29uY3VycmVudGx5KEF0b21pY1N0cmluZ0lt
cGwqIHVpZCkKK2lubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldENvbmN1cnJlbnRs
eShVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXNJZ25v
cmVkOwogICAgIHJldHVybiBnZXRDb25jdXJyZW50bHkodWlkLCBhdHRyaWJ1dGVzSWdub3JlZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRy
YW5zaXRpb25UYWJsZS5oCmluZGV4IDIzYzZjYTMwZGZhMzhlNDAyYjk5NTY4YTYzMDFmNTM3ZTgy
MDU4ZmUuLjMyYzk5MmRhZjcxNDQzNWNiOWIyMTk3N2NiNTc4ZTIzNTRhNjQyMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRp
b25UYWJsZS5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5kZXhpbmdUeXBlLmgiCiAj
aW5jbHVkZSAiV2Vha0dDTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
VW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTkzLDExICs5Mywx
MSBAQCBjbGFzcyBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUgewogCiAgICAgCiAgICAgc3RydWN0
IEhhc2ggewotICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxBdG9taWNTdHJpbmdJbXBsKiwgdW5z
aWduZWQ+IEtleTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8VW5pcXVlZFN0cmluZ0ltcGwq
LCB1bnNpZ25lZD4gS2V5OwogICAgICAgICAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2go
Y29uc3QgS2V5JiBwKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gUHRySGFzaDxBdG9t
aWNTdHJpbmdJbXBsKj46Omhhc2gocC5maXJzdCkgKyBwLnNlY29uZDsKKyAgICAgICAgICAgIHJl
dHVybiBQdHJIYXNoPFVuaXF1ZWRTdHJpbmdJbXBsKj46Omhhc2gocC5maXJzdCkgKyBwLnNlY29u
ZDsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IEtleSYgYSwg
Y29uc3QgS2V5JiBiKQpAQCAtMTMwLDggKzEzMCw4IEBAIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRp
b25UYWJsZSB7CiAgICAgfQogCiAgICAgaW5saW5lIHZvaWQgYWRkKFZNJiwgU3RydWN0dXJlKik7
Ci0gICAgaW5saW5lIGJvb2wgY29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKSBjb25zdDsKLSAgICBpbmxpbmUgU3RydWN0dXJlKiBnZXQoQXRvbWljU3Ry
aW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBjb25zdDsKKyAgICBpbmxpbmUgYm9v
bCBjb250YWlucyhVbmlxdWVkU3RyaW5nSW1wbCogcmVwLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSBj
b25zdDsKKyAgICBpbmxpbmUgU3RydWN0dXJlKiBnZXQoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwg
dW5zaWduZWQgYXR0cmlidXRlcykgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1VzaW5n
U2luZ2xlU2xvdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2wuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmNw
cAppbmRleCA2ZDc5ZDFjNDYxNmQ3Yzk2MDM4MzZhMjM1ZTU3NzExMmFjZjBlMzRkLi4yNWIzY2E3
YzYxYjJkZTFkNmQwNDE1Mjk3YWNjMjg3MTlkMjA3ZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbC5jcHAKQEAgLTQzLDExICs0MywxMSBAQAogCiBTeW1ib2w6OlN5bWJv
bChWTSYgdm0sIGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIDogQmFzZSh2bSwgdm0uc3ltYm9s
U3RydWN0dXJlLmdldCgpKQotICAgICwgbV9wcml2YXRlTmFtZShzdHJpbmcpCisgICAgLCBtX3By
aXZhdGVOYW1lKFByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgc3RyaW5nKQogewogfQogCi1TeW1i
b2w6OlN5bWJvbChWTSYgdm0sIEF0b21pY1N0cmluZ0ltcGwqIHVpZCkKK1N5bWJvbDo6U3ltYm9s
KFZNJiB2bSwgU3ltYm9sSW1wbCogdWlkKQogICAgIDogQmFzZSh2bSwgdm0uc3ltYm9sU3RydWN0
dXJlLmdldCgpKQogICAgICwgbV9wcml2YXRlTmFtZSh1aWQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbC5oCmluZGV4IDE5YjZmNGYyZmNhYmYwNmMxOTI4ZjkwYmM4ODZhZmMw
NGFjM2QxMjQuLjdkNTJjYTliYzBkZDIwYTk2YzFlNTg3Nzk3NGViMTVlMDE4OGU1NTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCkBAIC02NCw3ICs2NCw3IEBAIGNsYXNz
IFN5bWJvbCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gc3ltYm9sOwog
ICAgIH0KIAotICAgIHN0YXRpYyBTeW1ib2wqIGNyZWF0ZShWTSYgdm0sIEF0b21pY1N0cmluZ0lt
cGwqIHVpZCkKKyAgICBzdGF0aWMgU3ltYm9sKiBjcmVhdGUoVk0mIHZtLCBTeW1ib2xJbXBsKiB1
aWQpCiAgICAgewogICAgICAgICBTeW1ib2wqIHN5bWJvbCA9IG5ldyAoTm90TnVsbCwgYWxsb2Nh
dGVDZWxsPFN5bWJvbD4odm0uaGVhcCkpIFN5bWJvbCh2bSwgdWlkKTsKICAgICAgICAgc3ltYm9s
LT5maW5pc2hDcmVhdGlvbih2bSk7CkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFN5bWJvbCBmaW5h
bCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgU3ltYm9sKFZNJik7CiAgICAgU3ltYm9sKFZNJiwg
Y29uc3QgU3RyaW5nJik7Ci0gICAgU3ltYm9sKFZNJiwgQXRvbWljU3RyaW5nSW1wbCogdWlkKTsK
KyAgICBTeW1ib2woVk0mLCBTeW1ib2xJbXBsKiB1aWQpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYgdm0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCmluZGV4IDUzNjNiOWI2OTU1YjI0MTUxMTlhNDAyNzY2
M2MwYjU4NzM0ZmQ3MTIuLjk3YzFkNThlZmQ1NTZhZjc5NjBhZDI2M2EzNzI1YTdkYWJkYzk0Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1
Y3Rvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1dFTExf
S05PV05fU1lNQk9MUyhuYW1lKSBcCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAjbmFtZSksIFN5bWJvbDo6Y3JlYXRlKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lIyNTeW1ib2wuaW1wbCgpKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGlj
X2Nhc3Q8U3ltYm9sSW1wbCo+KHZtLnByb3BlcnR5TmFtZXMtPm5hbWUjI1N5bWJvbC5pbXBsKCkp
KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogCiB2b2lkIFN5bWJvbENvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN5bWJvbFByb3RvdHlwZSogcHJvdG90eXBl
KQogewpAQCAtMTA4LDggKzEwOCw4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3lt
Ym9sQ29uc3RydWN0b3JGb3IoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
IAotICAgIFJlZjxTdHJpbmdJbXBsPiB1aWQgPSBleGVjLT52bSgpLnN5bWJvbFJlZ2lzdHJ5KCku
c3ltYm9sRm9yS2V5KHN0cmluZyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShTeW1ib2w6
OmNyZWF0ZShleGVjLT52bSgpLCBzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4oJnVpZC5n
ZXQoKSkpKTsKKyAgICBSZWY8U3ltYm9sSW1wbD4gdWlkID0gZXhlYy0+dm0oKS5zeW1ib2xSZWdp
c3RyeSgpLnN5bWJvbEZvcktleShzdHJpbmcpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
U3ltYm9sOjpjcmVhdGUoZXhlYy0+dm0oKSwgJnVpZC5nZXQoKSkpOwogfQogCiBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIHN5bWJvbENvbnN0cnVjdG9yS2V5Rm9yKEV4ZWNTdGF0ZSogZXhl
YykKQEAgLTExOCwxMyArMTE4LDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3lt
Ym9sQ29uc3RydWN0b3JLZXlGb3IoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmICghc3ltYm9sVmFs
dWUuaXNTeW1ib2woKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVF
cnJvcihleGVjKSk7CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB1aWQgPSBhc1N5bWJvbChzeW1i
b2xWYWx1ZSktPnByaXZhdGVOYW1lKCkudWlkKCk7Ci0gICAgQVNTRVJUKHVpZC0+aXNTeW1ib2wo
KSk7CisgICAgU3ltYm9sSW1wbCogdWlkID0gYXNTeW1ib2woc3ltYm9sVmFsdWUpLT5wcml2YXRl
TmFtZSgpLnVpZCgpOwogICAgIGlmICghdWlkLT5zeW1ib2xSZWdpc3RyeSgpKQogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgQVNTRVJUKHVpZC0+
c3ltYm9sUmVnaXN0cnkoKSA9PSAmZXhlYy0+dm0oKS5zeW1ib2xSZWdpc3RyeSgpKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzU3RyaW5nKGV4ZWMsIGV4ZWMtPnZtKCkuc3ltYm9sUmVn
aXN0cnkoKS5rZXlGb3JTeW1ib2wodWlkKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNTdHJpbmcoZXhlYywgZXhlYy0+dm0oKS5zeW1ib2xSZWdpc3RyeSgpLmtleUZvclN5bWJvbCgq
dWlkKSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcAppbmRleCA1OTMyZTYxNDYxMWEwMzNiMTE2ZGJmOWU1
ZWEzZDIzMjI2YzMzZjE0Li45NzZjMTY3YmFmN2EwNzkxNWM0ZjY0OGNjZTM3Zjg4Y2FhZmEyMTUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwCkBA
IC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTeW1ib2xUYWJsZTo6cHJlcGFyZUZvclR5cGVQcm9maWxp
bmcoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgfQogfQogCi1HbG9iYWxWYXJpYWJs
ZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvclZhcmlhYmxlKGNvbnN0IENvbmN1cnJlbnRKSVRM
b2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKK0dsb2JhbFZhcmlhYmxlSUQgU3ltYm9s
VGFibGU6OnVuaXF1ZUlERm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVu
aXF1ZWRTdHJpbmdJbXBsKiBrZXksIFZNJiB2bSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChtX3R5
cGVQcm9maWxpbmdSYXJlRGF0YSk7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBHbG9iYWxWYXJpYWJs
ZUlEIFN5bWJvbFRhYmxlOjp1bmlxdWVJREZvck9mZnNldChjb25zdCBDb25jdXJyZW50SklUTG9j
a2VyJiBsb2NrZQogICAgIHJldHVybiBnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUobG9ja2VyLCBp
dGVyLT52YWx1ZS5nZXQoKSwgdm0pOwogfQogCi1SZWZQdHI8VHlwZVNldD4gU3ltYm9sVGFibGU6
Omdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2Nr
ZXIsIFN0cmluZ0ltcGwqIGtleSwgVk0mIHZtKQorUmVmUHRyPFR5cGVTZXQ+IFN5bWJvbFRhYmxl
OjpnbG9iYWxUeXBlU2V0Rm9yVmFyaWFibGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9j
a2VyLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5LCBWTSYgdm0pCiB7CiAgICAgUkVMRUFTRV9BU1NF
UlQobV90eXBlUHJvZmlsaW5nUmFyZURhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA4OWNhYzYwNDQ0MDQwZGFjYjNmZjZlZmZkYzZmZGZk
MzU4ZjBjZDVmLi45ZjBiYzRlNDNlYjlkN2Q2NGEyN2Q5MWQ4OWI4MGE5OTZlODA0MTY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTM5LDcgKzM5
LDcgQEAKICNpbmNsdWRlICJXYXRjaHBvaW50LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1
ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogCkBAIC00MjQsMTAgKzQyNCwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJ
c0ltbW9ydGFsOwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgU3lt
Ym9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmlu
Z0ltcGw+PiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFpdHM+IE1hcDsKLSAgICB0eXBlZGVmIEhh
c2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBHbG9iYWxWYXJpYWJsZUlELCBJZGVudGlmaWVyUmVw
SGFzaD4gVW5pcXVlSURNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBs
PiwgUmVmUHRyPFR5cGVTZXQ+LCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlVHlwZVNldE1hcDsK
LSAgICB0eXBlZGVmIEhhc2hNYXA8VmFyT2Zmc2V0LCBSZWZQdHI8U3RyaW5nSW1wbD4+IE9mZnNl
dFRvVmFyaWFibGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5n
SW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gTWFw
OworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBHbG9iYWxW
YXJpYWJsZUlELCBJZGVudGlmaWVyUmVwSGFzaD4gVW5pcXVlSURNYXA7CisgICAgdHlwZWRlZiBI
YXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFJlZlB0cjxUeXBlU2V0PiwgSWRlbnRp
ZmllclJlcEhhc2g+IFVuaXF1ZVR5cGVTZXRNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFZhck9m
ZnNldCwgUmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPj4gT2Zmc2V0VG9WYXJpYWJsZU1hcDsKICAg
ICB0eXBlZGVmIFZlY3RvcjxTeW1ib2xUYWJsZUVudHJ5Kj4gTG9jYWxUb0VudHJ5VmVjOwogCiAg
ICAgc3RhdGljIFN5bWJvbFRhYmxlKiBjcmVhdGUoVk0mIHZtKQpAQCAtNDUzLDMzICs0NTMsMzMg
QEAgY2xhc3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICB9CiAKICAg
ICAvLyBZb3UgbXVzdCBob2xkIHRoZSBsb2NrIHVudGlsIGFmdGVyIHlvdSdyZSBkb25lIHdpdGgg
dGhlIGl0ZXJhdG9yLgotICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5KQorICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX21hcC5maW5kKGtleSk7CiAgICAgfQogICAgIAotICAgIE1hcDo6aXRlcmF0
b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1wbCoga2V5
KQorICAgIE1hcDo6aXRlcmF0b3IgZmluZChjb25zdCBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2Vy
JiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5m
aW5kKGtleSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgZ2V0KGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3ltYm9sVGFibGVFbnRy
eSBnZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuZ2V0KGtleSk7CiAgICAgfQogICAgIAotICAg
IFN5bWJvbFRhYmxlRW50cnkgZ2V0KFN0cmluZ0ltcGwqIGtleSkKKyAgICBTeW1ib2xUYWJsZUVu
dHJ5IGdldChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQogICAgIHsKICAgICAgICAgQ29uY3VycmVu
dEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgcmV0dXJuIGdldChsb2NrZXIsIGtl
eSk7CiAgICAgfQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXkpCisgICAgU3ltYm9sVGFibGVFbnRy
eSBpbmxpbmVHZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBs
KiBrZXkpCiAgICAgewogICAgICAgICByZXR1cm4gbV9tYXAuaW5saW5lR2V0KGtleSk7CiAgICAg
fQogICAgIAotICAgIFN5bWJvbFRhYmxlRW50cnkgaW5saW5lR2V0KFN0cmluZ0ltcGwqIGtleSkK
KyAgICBTeW1ib2xUYWJsZUVudHJ5IGlubGluZUdldChVbmlxdWVkU3RyaW5nSW1wbCoga2V5KQog
ICAgIHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAg
ICAgcmV0dXJuIGlubGluZUdldChsb2NrZXIsIGtleSk7CkBAIC01NTksNyArNTU5LDcgQEAgY2xh
c3MgU3ltYm9sVGFibGUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHRh
a2VOZXh0U2NvcGVPZmZzZXQobG9ja2VyKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBhZGQoY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFi
bGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBhZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYs
IFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQog
ICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fbG9jYWxUb0VudHJ5KTsKICAgICAgICAg
ZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgpKTsKQEAgLTU2NywzMSArNTY3LDMxIEBA
IGNsYXNzIFN5bWJvbFRhYmxlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIEFTU0VS
VF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgYWRkKFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisg
ICAgdm9pZCBhZGQoVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgY29uc3QgU3ltYm9sVGFibGVFbnRy
eSYgZW50cnkpCiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xv
Y2spOwogICAgICAgICBhZGQobG9ja2VyLCBrZXksIGVudHJ5KTsKICAgICB9CiAgICAgCi0gICAg
dm9pZCBzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSwgY29u
c3QgU3ltYm9sVGFibGVFbnRyeSYgZW50cnkpCisgICAgdm9pZCBzZXQoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFVuaXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50
cnkmIGVudHJ5KQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fbG9jYWxUb0VudHJ5
KTsKICAgICAgICAgZGlkVXNlVmFyT2Zmc2V0KGVudHJ5LnZhck9mZnNldCgpKTsKICAgICAgICAg
bV9tYXAuc2V0KGtleSwgZW50cnkpOwogICAgIH0KICAgICAKLSAgICB2b2lkIHNldChTdHJpbmdJ
bXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQorICAgIHZvaWQgc2V0KFVu
aXF1ZWRTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFN5bWJvbFRhYmxlRW50cnkmIGVudHJ5KQogICAg
IHsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAg
c2V0KGxvY2tlciwga2V5LCBlbnRyeSk7CiAgICAgfQogICAgIAotICAgIGJvb2wgY29udGFpbnMo
Y29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0cmluZ0ltcGwqIGtleSkKKyAgICBib29sIGNv
bnRhaW5zKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBVbmlxdWVkU3RyaW5nSW1wbCoga2V5
KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbWFwLmNvbnRhaW5zKGtleSk7CiAgICAgfQogICAg
IAotICAgIGJvb2wgY29udGFpbnMoU3RyaW5nSW1wbCoga2V5KQorICAgIGJvb2wgY29udGFpbnMo
VW5pcXVlZFN0cmluZ0ltcGwqIGtleSkKICAgICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2Nr
ZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIHJldHVybiBjb250YWlucyhsb2NrZXIsIGtleSk7
CkBAIC02NDEsMTAgKzY0MSwxMCBAQCBjbGFzcyBTeW1ib2xUYWJsZSBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogICAgIGNvbnN0IExvY2FsVG9FbnRyeVZlYyYgbG9jYWxUb0VudHJ5KGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImKTsKICAgICBTeW1ib2xUYWJsZUVudHJ5KiBlbnRyeUZvcihjb25z
dCBDb25jdXJyZW50SklUTG9ja2VyJiwgU2NvcGVPZmZzZXQpOwogICAgIAotICAgIEdsb2JhbFZh
cmlhYmxlSUQgdW5pcXVlSURGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwg
U3RyaW5nSW1wbCoga2V5LCBWTSYpOworICAgIEdsb2JhbFZhcmlhYmxlSUQgdW5pcXVlSURGb3JW
YXJpYWJsZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtl
eSwgVk0mKTsKICAgICBHbG9iYWxWYXJpYWJsZUlEIHVuaXF1ZUlERm9yT2Zmc2V0KGNvbnN0IENv
bmN1cnJlbnRKSVRMb2NrZXImLCBWYXJPZmZzZXQsIFZNJik7CiAgICAgUmVmUHRyPFR5cGVTZXQ+
IGdsb2JhbFR5cGVTZXRGb3JPZmZzZXQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFZhck9m
ZnNldCwgVk0mKTsKLSAgICBSZWZQdHI8VHlwZVNldD4gZ2xvYmFsVHlwZVNldEZvclZhcmlhYmxl
KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHJpbmdJbXBsKiBrZXksIFZNJik7CisgICAg
UmVmUHRyPFR5cGVTZXQ+IGdsb2JhbFR5cGVTZXRGb3JWYXJpYWJsZShjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgVW5pcXVlZFN0cmluZ0ltcGwqIGtleSwgVk0mKTsKIAogICAgIGJvb2wgdXNl
c05vblN0cmljdEV2YWwoKSB7IHJldHVybiBtX3VzZXNOb25TdHJpY3RFdmFsOyB9CiAgICAgdm9p
ZCBzZXRVc2VzTm9uU3RyaWN0RXZhbChib29sIHVzZXNOb25TdHJpY3RFdmFsKSB7IG1fdXNlc05v
blN0cmljdEV2YWwgPSB1c2VzTm9uU3RyaWN0RXZhbDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlU2V0LmNwcAppbmRleCA0OTk3YmY1OGI0M2JmMGVmMTcyYTg2Yzg0ZTNkOThh
ZDNhOGU3MzEwLi5lZjlmN2NiOTU2YTIyNGJmMDdkYTM4NWIyNmZlM2Y3NWViZjI1OWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcApAQCAtMzM0LDEzICszMzQs
MTMgQEAgdm9pZCBTdHJ1Y3R1cmVTaGFwZTo6bWFya0FzRmluYWwoKQogICAgIG1fZmluYWwgPSB0
cnVlOwogfQogCi12b2lkIFN0cnVjdHVyZVNoYXBlOjphZGRQcm9wZXJ0eShSZWZQdHI8U3RyaW5n
SW1wbD4gaW1wbCkKK3ZvaWQgU3RydWN0dXJlU2hhcGU6OmFkZFByb3BlcnR5KFJlZjxVbmlxdWVk
U3RyaW5nSW1wbD4gdWlkKQogewogICAgIEFTU0VSVCghbV9maW5hbCk7Ci0gICAgbV9maWVsZHMu
YWRkKGltcGwpOworICAgIG1fZmllbGRzLmFkZCh1aWQucHRyKCkpOwogfQogCi1TdHJpbmcgU3Ry
dWN0dXJlU2hhcGU6OnByb3BlcnR5SGFzaCgpIAorU3RyaW5nIFN0cnVjdHVyZVNoYXBlOjpwcm9w
ZXJ0eUhhc2goKQogewogICAgIEFTU0VSVChtX2ZpbmFsKTsKICAgICBpZiAobV9wcm9wZXJ0eUhh
c2gpCkBAIC0zNTAsOSArMzUwLDggQEAgU3RyaW5nIFN0cnVjdHVyZVNoYXBlOjpwcm9wZXJ0eUhh
c2goKQogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7CiAgICAgYnVpbGRlci5hcHBlbmQobV9jb25z
dHJ1Y3Rvck5hbWUpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCc6Jyk7Ci0gICAgCi0gICAgZm9yIChh
dXRvIGl0ZXIgPSBtX2ZpZWxkcy5iZWdpbigpLCBlbmQgPSBtX2ZpZWxkcy5lbmQoKTsgaXRlciAh
PSBlbmQ7ICsraXRlcikgewotICAgICAgICBTdHJpbmcgcHJvcGVydHkgPSBpdGVyLT5nZXQoKTsK
KyAgICBmb3IgKGF1dG8ga2V5IDogbV9maWVsZHMpIHsKKyAgICAgICAgU3RyaW5nIHByb3BlcnR5
ID0ga2V5LmdldCgpOwogICAgICAgICBwcm9wZXJ0eS5yZXBsYWNlKCI6IiwgIlxcOiIpOyAvLyBF
bnN1cmUgdGhhdCBoYXNoKHsiZm9vOiIsICJiYXIifSkgIT0gaGFzaCh7ImZvbyIsICI6YmFyIn0p
IGJlY2F1c2Ugd2UncmUgdXNpbmcgY29sb25zIGFzIGEgc2VwYXJhdG9yIGFuZCBjb2xvbnMgYXJl
IGxlZ2FsIGNoYXJhY3RlcnMgaW4gZmllbGQgbmFtZXMgaW4gSlMuCiAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKHByb3BlcnR5KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBl
U2V0LmgKaW5kZXggMjI5N2YxZGIyNDg1OTA1YTY0Y2E5MzE5NDY1ZGRhZmU4MzFkZGIwYS4uOGUz
NWM1YzJhZmM0OWE4MWFjNTgzZjRhODA5YzA0OTA2ZDIyMDlkYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVTZXQuaApAQCAtNTYsNyArNTYsNyBAQCBjbGFzcyBTdHJ1Y3R1cmVT
aGFwZSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cnVjdHVyZVNoYXBlPiB7CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
dHJ1Y3R1cmVTaGFwZSk7IH0KICAgICBTdHJpbmcgcHJvcGVydHlIYXNoKCk7CiAgICAgdm9pZCBt
YXJrQXNGaW5hbCgpOwotICAgIHZvaWQgYWRkUHJvcGVydHkoUmVmUHRyPFN0cmluZ0ltcGw+KTsK
KyAgICB2b2lkIGFkZFByb3BlcnR5KFJlZjxVbmlxdWVkU3RyaW5nSW1wbD4pOwogICAgIFN0cmlu
ZyBzdHJpbmdSZXByZXNlbnRhdGlvbigpOwogICAgIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25z
dDsKICAgICBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3RydWN0dXJlRGVzY3Jp
cHRpb24+IGluc3BlY3RvclJlcHJlc2VudGF0aW9uKCk7CkBAIC03MCw4ICs3MCw4IEBAIGNsYXNz
IFN0cnVjdHVyZVNoYXBlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RydWN0dXJlU2hhcGU+IHsKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gbWVyZ2UoY29uc3QgUGFzc1JlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4sIGNvbnN0IFBhc3NSZWZQdHI8U3RydWN0dXJlU2hhcGU+KTsKICAg
ICBib29sIGhhc1NhbWVQcm90b3R5cGVDaGFpbihQYXNzUmVmUHRyPFN0cnVjdHVyZVNoYXBlPik7
CiAKLSAgICBIYXNoU2V0PFJlZlB0cjxTdHJpbmdJbXBsPj4gbV9maWVsZHM7Ci0gICAgSGFzaFNl
dDxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fb3B0aW9uYWxGaWVsZHM7CisgICAgSGFzaFNldDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9maWVsZHM7CisgICAg
SGFzaFNldDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBJZGVudGlmaWVyUmVwSGFzaD4gbV9v
cHRpb25hbEZpZWxkczsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IG1fcHJvdG87CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFN0cmluZz4gbV9wcm9wZXJ0eUhhc2g7CiAgICAgU3RyaW5nIG1fY29u
c3RydWN0b3JOYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4
cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKaW5kZXggNmMwMjZkZGMy
ZjhjNmZkMTQyNDVjMzc3ZmVjZjYzZTAzYzUzOTU2Yi4uOTg5NzEzZWEwNjM1OTEyYTQxZDJhYjI3
NzljYzAzZWU2ODExMTEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYu
dmN4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCkBAIC0yOTEs
NyArMjkxLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0cmluZ0lt
cGwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFN0cmluZ09wZXJh
dG9ycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3RyaW5nVmll
dy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sSW1wbC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcU3ltYm9sUmVnaXN0cnku
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XFVuaXF1ZWRTdHJpbmdJ
bXBsLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxXVEZTdHJpbmcu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxUaHJlYWRpbmcuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxUaHJlYWRpbmdQcmltaXRpdmVzLmgiIC8+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMgYi9T
b3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNjQ4YTZhMDkx
MGNkNjc1MmU3MGQyY2Q4MDFlMTkxN2IzOTZmZmI3YS4uNjhhMmRiMTllNmZmODVlNGNhYWRjMWVj
YmExZmEyMTBmYmQ4Yzg3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYu
dmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ou
ZmlsdGVycwpAQCAtMzQ4LDkgKzM0OCwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
d3RmXHRleHRcU3RyaW5nVmlldy5oIj4KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xJ
bXBsLmgiPgorICAgICAgPEZpbHRlcj50ZXh0PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdGV4dFxTeW1ib2xSZWdpc3RyeS5oIj4KICAg
ICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cd3RmXHRleHRcVW5pcXVlZFN0cmluZ0ltcGwuaCI+CisgICAgICA8Rmls
dGVyPnRleHQ8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHd0Zlx0ZXh0XFdURlN0cmluZy5oIj4KICAgICAgIDxGaWx0ZXI+dGV4dDwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZDVkNDY4NDcyNjE0MjllNzZkMTVjMzgzOTBjMWE5ODA3YWUxYjNiYi4uYmY0Y2U5
ODAxZTBhOWY3NTY3OThjNTA3ZDBkZjBhZjA1M2JhNzQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Nyw2ICs3Nyw4IEBACiAJCTcwQTk5M0ZFMUFENzE1
MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEE5OTNGQzFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9s
UmVnaXN0cnkuY3BwICovOyB9OwogCQk3MEE5OTNGRjFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9s
UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcwQTk5M0ZEMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5oICovOyB9OwogCQk3
MEVDQTYwRDFCMDI0MjY4MDA0NDk3MzkgLyogQXRvbWljU3RyaW5nSW1wbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEVDQTYwQTFCMDI0MjY4MDA0
NDk3MzkgLyogQXRvbWljU3RyaW5nSW1wbC5jcHAgKi87IH07CisJCTcwRUNBNjBFMUIwMjQyNjgw
MDQ0OTczOSAvKiBTeW1ib2xJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MEVDQTYwQjFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5oICov
OyB9OworCQk3MEVDQTYwRjFCMDI0MjY4MDA0NDk3MzkgLyogVW5pcXVlZFN0cmluZ0ltcGwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUNBNjBDMUIw
MjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovOyB9OwogCQk3Q0JCQTA3NDE5
QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQkJBMDczMTlCQjdGREMwMEJCRjAyNSAvKiBPU09iamVj
dFB0ci5oICovOyB9OwogCQk3Q0REN0ZGODE4NkQyOTFFMDA3NDMzQ0QgLyogSXRlcmF0b3JBZGFw
dG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NE
RDdGRjcxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJhdG9yQWRhcHRvcnMuaCAqLzsgfTsKIAkJN0NE
RDdGRkExODZEMkE1NDAwNzQzM0NEIC8qIEl0ZXJhdG9yUmFuZ2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDREQ3RkY5MTg2RDJBNTQwMDc0MzNDRCAv
KiBJdGVyYXRvclJhbmdlLmggKi87IH07CkBAIC0zNjIsNiArMzY0LDggQEAKIAkJNzBBOTkzRkMx
QUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN5bWJvbFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzBBOTkzRkQxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbFJlZ2lzdHJ5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcwRUNBNjBBMUIwMjQyNjgwMDQ0OTczOSAvKiBBdG9t
aWNTdHJpbmdJbXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF0
b21pY1N0cmluZ0ltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MEVDQTYw
QjFCMDI0MjY4MDA0NDk3MzkgLyogU3ltYm9sSW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTeW1ib2xJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcw
RUNBNjBDMUIwMjQyNjgwMDQ0OTczOSAvKiBVbmlxdWVkU3RyaW5nSW1wbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVbmlxdWVkU3RyaW5nSW1wbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0JCQTA3MzE5QkI3RkRDMDBCQkYwMjUgLyogT1NPYmplY3RQdHIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT1NPYmplY3RQdHIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NERDdGRjcxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJh
dG9yQWRhcHRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSXRlcmF0b3JB
ZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZGOTE4NkQyQTU0
MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJdGVyYXRvclJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NDMs
OSArOTQ3LDExIEBACiAJCQkJOTNGMTk5M0QxOUQ3OTU4RDAwQzIzOTBCIC8qIFN0cmluZ1ZpZXcu
Y3BwICovLAogCQkJCUE4QTQ3MzJBMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdPcGVyYXRvcnMu
aCAqLywKIAkJCQlBOEE0NzMyQjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nU3RhdGljcy5jcHAg
Ki8sCisJCQkJNzBFQ0E2MEIxQjAyNDI2ODAwNDQ5NzM5IC8qIFN5bWJvbEltcGwuaCAqLywKIAkJ
CQk3MEE5OTNGQzFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwICovLAogCQkJ
CTcwQTk5M0ZEMUFENzE1MTMwMEZBNjE1QiAvKiBTeW1ib2xSZWdpc3RyeS5oICovLAogCQkJCUE4
QTQ3MzJDMTUxQTgyNUIwMDQxMjNGRiAvKiBUZXh0UG9zaXRpb24uaCAqLywKKwkJCQk3MEVDQTYw
QzFCMDI0MjY4MDA0NDk3MzkgLyogVW5pcXVlZFN0cmluZ0ltcGwuaCAqLywKIAkJCQlBOEE0NzMy
RDE1MUE4MjVCMDA0MTIzRkYgLyogV1RGU3RyaW5nLmNwcCAqLywKIAkJCQlBOEE0NzMyRTE1MUE4
MjVCMDA0MTIzRkYgLyogV1RGU3RyaW5nLmggKi8sCiAJCQkpOwpAQCAtMTAzOSw2ICsxMDQ1LDcg
QEAKIAkJCQlBOEE0NzQzODE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nSW1wbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOUJEOEY0MEIxNzZDMkI0NzAwMDJEODY1IC8qIEF0b21pY1N0cmlu
Z1RhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDY5NDE5QzE2RUFCMTBBMDAyNEUxNDYgLyog
QXV0b2RyYWluZWRQb29sLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MEVDQTYwRjFCMDI0MjY4MDA0
NDk3MzkgLyogVW5pcXVlZFN0cmluZ0ltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTgxMzQwMTM5
MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0E5
MTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0tZHRvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDczQUIxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTYz
LDYgKzExNzAsNyBAQAogCQkJCTFBNkJCNzY5MTYyRjMwMDUwMEREMTZEQiAvKiBTdHJlYW1CdWZm
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDNCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJp
bmdCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDNEMTUxQTgyNUIwMDQxMjNGRiAv
KiBTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MEVDQTYwRTFCMDI0MjY4MDA0
NDk3MzkgLyogU3ltYm9sSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0M0UxNTFBODI1
QjAwNDEyM0ZGIC8qIFN0cmluZ0NvbmNhdGVuYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTkx
RTg4MTFBQjJBMDIwMDA5OTg5NUYgLyogU3BpbkxvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3NDJDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0
Zi9DTWFrZUxpc3RzLnR4dAppbmRleCBlODU1ZjczYWQ0OTU3MWViNmI4MDIzZDVkNTAwZjA3NDQx
NjA4ZjY5Li5lNWZjN2UzMDdkZTlhOGRmNjc5MDA5YzMxMDljMzFmNGMyZTI2YzA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9D
TWFrZUxpc3RzLnR4dApAQCAtMTI2LDcgKzEyNiw5IEBAIHNldChXVEZfSEVBREVSUwogICAgIHRl
eHQvU3RyaW5nSGFzaC5oCiAgICAgdGV4dC9TdHJpbmdJbXBsLmgKICAgICB0ZXh0L1N0cmluZ1Zp
ZXcuaAorICAgIHRleHQvU3ltYm9sSW1wbC5oCiAgICAgdGV4dC9TeW1ib2xSZWdpc3RyeS5oCisg
ICAgdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oCiAgICAgdGV4dC9XVEZTdHJpbmcuaAogCiAgICAg
dGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJp
bnRTdHJlYW0uY3BwIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCmluZGV4IGJiN2Qz
OWRiOTE1ZDY0Nzk2ZmY0MmQ1OTQ0YWFjMTc3NTc0ZDY2NGUuLjA2ODkzMWUzZjBhNzI3ZGQ0NTQ4
N2E3ODRiNTczMTUyNTg4ZjI5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3Ry
ZWFtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUHJpbnRTdHJlYW0uaCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKaW5k
ZXggZTgxNTM0OTRmOGJmYjI2OGY4MGE1ZmRmMGEwNzNjNThhY2M3ODE2MC4uZThiYmE2MzRiMTY0
Y2QzYzJlNWVlODhhNDhhZDRiNzBkNmUxODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UHJpbnRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oCkBAIC0zOCw2
ICszOCw3IEBACiBjbGFzcyBDU3RyaW5nOwogY2xhc3MgU3RyaW5nOwogY2xhc3MgU3RyaW5nSW1w
bDsKK2NsYXNzIFVuaXF1ZWRTdHJpbmdJbXBsOwogCiBjbGFzcyBQcmludFN0cmVhbSB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7IFdURl9NQUtFX05PTkNPUFlBQkxFKFByaW50U3RyZWFt
KTsKQEAgLTcxLDExICs3MiwxMyBAQCBjbGFzcyBQcmludFN0cmVhbSB7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgY29uc3QgU3RyaW5nJik7CiBX
VEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgY29uc3Qg
U3RyaW5nSW1wbCopOwogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgYml0
d2lzZV9jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CitpbmxpbmUgdm9pZCBwcmlu
dEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKiB2YWx1
ZSkgeyBwcmludEludGVybmFsKG91dCwgYml0d2lzZV9jYXN0PGNvbnN0IFN0cmluZ0ltcGwqPih2
YWx1ZSkpOyB9CiBpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNo
YXIqIHZhbHVlKSB7IHByaW50SW50ZXJuYWwob3V0LCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4o
dmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBD
U3RyaW5nJiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3QgQ1N0
cmluZyY+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0m
IG91dCwgU3RyaW5nJiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29u
c3QgU3RyaW5nJj4odmFsdWUpKTsgfQogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0
cmVhbSYgb3V0LCBTdHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGlj
X2Nhc3Q8Y29uc3QgU3RyaW5nSW1wbCo+KHZhbHVlKSk7IH0KIGlubGluZSB2b2lkIHByaW50SW50
ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgQXRvbWljU3RyaW5nSW1wbCogdmFsdWUpIHsgcHJpbnRJ
bnRlcm5hbChvdXQsIHN0YXRpY19jYXN0PGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPih2YWx1ZSkp
OyB9CitpbmxpbmUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFVuaXF1ZWRT
dHJpbmdJbXBsKiB2YWx1ZSkgeyBwcmludEludGVybmFsKG91dCwgc3RhdGljX2Nhc3Q8Y29uc3Qg
VW5pcXVlZFN0cmluZ0ltcGwqPih2YWx1ZSkpOyB9CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBw
cmludEludGVybmFsKFByaW50U3RyZWFtJiwgYm9vbCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgc2lnbmVkIGNoYXIpOyAvLyBOT1RFOiB0aGlz
IHByaW50cyBhcyBhIG51bWJlciwgbm90IGFzIGEgY2hhcmFjdGVyOyB1c2UgQ2hhcmFjdGVyRHVt
cCBpZiB5b3Ugd2FudCB0aGUgY2hhcmFjdGVyCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmlu
dEludGVybmFsKFByaW50U3RyZWFtJiwgdW5zaWduZWQgY2hhcik7IC8vIE5PVEU6IHNlZSBhYm92
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IDk2NTYzYzNjMmVkZmQ0OTI4MmJh
NzFiMGNhMGExNDMyNGQwMmYxODYuLmYyZWM2ZDgzMmY3NDllMDE0M2I4MjBjYzRlNzM1ZTJlMTcx
MzYzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaApAQCAtNjAsNiArNjAsOSBAQCBj
bGFzcyBBdG9taWNTdHJpbmcgewogICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0
cmluZyhjb25zdCBTdHJpbmcmKTsKICAgICBBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0
cmluZywgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKKyAgICAvLyBGSVhNRTog
QXRvbWljU3RyaW5nIG1heSBoYXZlIGVpdGhlciBTeW1ib2xJbXBsIG9yIEF0b21pY1N0cmluZ0lt
cGwuCisgICAgQXRvbWljU3RyaW5nKFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOworCiAgICAgZW51
bSBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVjdEZyb21MaXRlcmFsIH07CiAgICAg
QXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgQ29u
c3RydWN0RnJvbUxpdGVyYWxUYWcpCiAgICAgICAgIDogbV9zdHJpbmcoQXRvbWljU3RyaW5nSW1w
bDo6YWRkTGl0ZXJhbChjaGFyYWN0ZXJzLCBsZW5ndGgpKQpAQCAtMjc1LDYgKzI3OCwxMSBAQCBp
bmxpbmUgQXRvbWljU3RyaW5nOjpBdG9taWNTdHJpbmcoU3RyaW5nSW1wbCogYmFzZVN0cmluZywg
dW5zaWduZWQgc3RhcnQsIHVuc2lnbgogewogfQogCitpbmxpbmUgQXRvbWljU3RyaW5nOjpBdG9t
aWNTdHJpbmcoVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKKyAgICA6IG1fc3RyaW5nKHVpZCkKK3sK
K30KKwogI2lmIFVTRShDRikKIGlubGluZSBBdG9taWNTdHJpbmc6OkF0b21pY1N0cmluZyhDRlN0
cmluZ1JlZiBzKQogICAgIDogIG1fc3RyaW5nKEF0b21pY1N0cmluZ0ltcGw6OmFkZChzKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oIGIvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKaW5kZXggN2UzY2I0Mjk0NGYxMGZkOWRk
ZDIyY2IzMTM3OTAwMWRlOGU2NmVmNC4uNzczNDQ5MGU1YjhmMjA1Yzk1MjlkMTA2Y2YyYTA5MjI5
ZWIzOGQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBs
LmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKQEAgLTIxLDEz
ICsyMSwxMyBAQAogI2lmbmRlZiBBdG9taWNTdHJpbmdJbXBsX2gKICNkZWZpbmUgQXRvbWljU3Ry
aW5nSW1wbF9oCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKIGNsYXNz
IEF0b21pY1N0cmluZ1RhYmxlOwogCi1jbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVibGljIFN0
cmluZ0ltcGwgeworY2xhc3MgQXRvbWljU3RyaW5nSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5n
SW1wbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGxvb2tVcChMQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmlu
Z0ltcGwuY3BwCmluZGV4IDNmYjk0NzE0Nzc5ZjcyZWVhNjllZjI1OGM2ZTQzNWY0YjM1NDMzMGUu
LmIxNmVhMDM0OTU0MTZlYTYyNjRmM2VjODNmNjNlNmFkZDEzM2MzOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdJbXBsLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9XVEZUaHJl
YWREYXRhLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ1ZpZXcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TeW1ib2xJbXBsLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9D
aGFyYWN0ZXJOYW1lcy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VURjguaD4KQEAgLTExNCw3
ICsxMTUsNyBAQCB2b2lkIFN0cmluZ1N0YXRzOjpwcmludFN0YXRzKCkKICAgICAgICAgQXRvbWlj
U3RyaW5nSW1wbDo6cmVtb3ZlKHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPih0aGlzKSk7
CiAKICAgICBpZiAoaXNTeW1ib2woKSAmJiBzeW1ib2xSZWdpc3RyeSgpKQotICAgICAgICBzeW1i
b2xSZWdpc3RyeSgpLT5yZW1vdmUodGhpcyk7CisgICAgICAgIHN5bWJvbFJlZ2lzdHJ5KCktPnJl
bW92ZSgqc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KHRoaXMpKTsKIAogICAgIEJ1ZmZlck93bmVy
c2hpcCBvd25lcnNoaXAgPSBidWZmZXJPd25lcnNoaXAoKTsKIApAQCAtMjkwLDcgKzI5MSw3IEBA
IHZvaWQgU3RyaW5nSW1wbDo6ZGVzdHJveShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIHJl
dHVybiBjcmVhdGUoc3RyaW5nLCBsZW5ndGgpOwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5n
SW1wbDo6Y3JlYXRlU3ltYm9sKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gcmVwKQorUmVmPFN5bWJv
bEltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN5bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJl
cCkKIHsKICAgICBTdHJpbmdJbXBsKiBvd25lclJlcCA9IChyZXAtPmJ1ZmZlck93bmVyc2hpcCgp
ID09IEJ1ZmZlclN1YnN0cmluZykgPyByZXAtPnN1YnN0cmluZ0J1ZmZlcigpIDogcmVwLmdldCgp
OwogCkBAIC0zMDEsMTEgKzMwMiwxMSBAQCB2b2lkIFN0cmluZ0ltcGw6OmRlc3Ryb3koU3RyaW5n
SW1wbCogc3RyaW5nSW1wbCkKICAgICAvLyA0LiB0aGUgcGxhY2Vob2xkZXIgZm9yIHN5bWJvbCBh
d2FyZSBoYXNoIHZhbHVlIChhbGxvY2F0ZWQgc2l6ZSBpcyBwb2ludGVyIHNpemUsIGJ1dCBvbmx5
IDQgYnl0ZXMgYXJlIHVzZWQpCiAgICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0YXRpY19j
YXN0PFN0cmluZ0ltcGwqPihmYXN0TWFsbG9jKGFsbG9jYXRpb25TaXplPFN0cmluZ0ltcGwqPigz
KSkpOwogICAgIGlmIChyZXAtPmlzOEJpdCgpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9k
YXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKTsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3RyaW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9k
YXRhMTYsIHJlcC0+bGVuZ3RoKCksIG93bmVyUmVwKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
Zigqc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCo+KG5ldyAoTm90TnVsbCwgc3RyaW5nSW1wbCkgU3Ry
aW5nSW1wbChDcmVhdGVTeW1ib2wsIHJlcC0+bV9kYXRhOCwgcmVwLT5sZW5ndGgoKSwgb3duZXJS
ZXApKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpzdGF0aWNfY2FzdDxTeW1ib2xJbXBsKj4obmV3
IChOb3ROdWxsLCBzdHJpbmdJbXBsKSBTdHJpbmdJbXBsKENyZWF0ZVN5bWJvbCwgcmVwLT5tX2Rh
dGExNiwgcmVwLT5sZW5ndGgoKSwgb3duZXJSZXApKSk7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBT
dHJpbmdJbXBsOjpjcmVhdGVTeW1ib2xFbXB0eSgpCitSZWY8U3ltYm9sSW1wbD4gU3RyaW5nSW1w
bDo6Y3JlYXRlU3ltYm9sRW1wdHkoKQogewogICAgIHJldHVybiBjcmVhdGVTeW1ib2woZW1wdHko
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IGYxYTY2N2IxZGFkYzE5NTdjYzEy
YzM4MmZmZmVlODZlMDQ3YjA1N2EuLmU2ZDI2YzQ5YjNjM2Q2MDI4NTY2NDhlMjVmNTNjZDBiZjQ5
NTAyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC01Nyw2ICs1Nyw3IEBACiBzdHJ1
Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsKIHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiB0
ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgUmV0YWluUHRyOworY2xhc3MgU3ltYm9sSW1wbDsKIGNs
YXNzIFN5bWJvbFJlZ2lzdHJ5OwogCiBlbnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkgewpAQCAtNDE4
LDggKzQxOSw4IEBAIGNsYXNzIFN0cmluZ0ltcGwgewogICAgICAgICByZXR1cm4gY29uc3RydWN0
SW50ZXJuYWw8VD4ocmVzdWx0SW1wbCwgbGVuZ3RoKTsKICAgICB9CiAKLSAgICBXVEZfRVhQT1JU
X1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBjcmVhdGVTeW1ib2xFbXB0eSgpOwot
ICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGNyZWF0ZVN5
bWJvbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHJlcCk7CisgICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlU3ltYm9sRW1wdHkoKTsKKyAgICBXVEZf
RVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVTeW1ib2woUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPiByZXApOwogCiAgICAgLy8gUmVhbGxvY2F0ZSB0aGUgU3RyaW5n
SW1wbC4gVGhlIG9yaWdpbmFsU3RyaW5nIG11c3QgYmUgb25seSBvd25lZCBieSB0aGUgUGFzc1Jl
ZlB0ciwKICAgICAvLyBhbmQgdGhlIGJ1ZmZlciBvd25lcnNoaXAgbXVzdCBiZSBCdWZmZXJJbnRl
cm5hbC4gSnVzdCBsaWtlIHRoZSBpbnB1dCBwb2ludGVyIG9mIHJlYWxsb2MoKSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4
dC9TeW1ib2xJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJjNTE5YzA2NzBhZDBlZGUwY2U1MmZhNDhjOGFk
NTgzYjA0YzNjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9s
SW1wbC5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtl
IFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTeW1i
b2xJbXBsX2gKKyNkZWZpbmUgU3ltYm9sSW1wbF9oCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KKworbmFt
ZXNwYWNlIFdURiB7CisKK2NsYXNzIFN5bWJvbEltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmluZ0lt
cGwgeworcHJpdmF0ZToKKyAgICBTeW1ib2xJbXBsKCkgPSBkZWxldGU7Cit9OworCisjaWYgIUFT
U0VSVF9ESVNBQkxFRAorLy8gU3ltYm9sSW1wbHMgY3JlYXRlZCBmcm9tIFN0YXRpY0FTQ0lJTGl0
ZXJhbCB3aWxsIEFTU0VSVAorLy8gaW4gdGhlIGdlbmVyaWMgVmFsdWVDaGVjazxUPjo6Y2hlY2tD
b25zaXN0ZW5jeQorLy8gYXMgdGhleSBhcmUgbm90IGFsbG9jYXRlZCBieSBmYXN0TWFsbG9jLgor
Ly8gV2UgZG9uJ3QgY3VycmVudGx5IGhhdmUgYW55IHdheSB0byBkZXRlY3QgdGhhdCBjYXNlCisv
LyBzbyB3ZSBpZ25vcmUgdGhlIGNvbnNpc3RlbmN5IGNoZWNrIGZvciBhbGwgU3ltYm9sSW1wbHMq
LgordGVtcGxhdGU8PiBzdHJ1Y3QKK1ZhbHVlQ2hlY2s8U3ltYm9sSW1wbCo+IHsKKyAgICBzdGF0
aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0IFN5bWJvbEltcGwqKSB7IH0KK307CisKK3Rl
bXBsYXRlPD4gc3RydWN0CitWYWx1ZUNoZWNrPGNvbnN0IFN5bWJvbEltcGwqPiB7CisgICAgc3Rh
dGljIHZvaWQgY2hlY2tDb25zaXN0ZW5jeShjb25zdCBTeW1ib2xJbXBsKikgeyB9Cit9OworI2Vu
ZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OlN5bWJvbEltcGw7CisKKyNl
bmRpZiAvLyBTeW1ib2xJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sUmVnaXN0cnkuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAK
aW5kZXggMTU2YmEzZTRjMjc0YjFmMDBjYmNlZTdlYmZmZWViMjZjZjIzZDM5MC4uYWFkMTM1ZjNm
NjliYWM2NjNkODY3Yzc2NDg0Y2FkZTNkMWVjNDE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1i
b2xSZWdpc3RyeS5jcHAKQEAgLTM0LDMwICszNCwyOCBAQAogICAgICAgICBrZXkuaW1wbCgpLT5z
eW1ib2xSZWdpc3RyeSgpID0gbnVsbHB0cjsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN5bWJvbFJl
Z2lzdHJ5OjpzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5nJiByZXApCitSZWY8U3ltYm9sSW1wbD4g
U3ltYm9sUmVnaXN0cnk6OnN5bWJvbEZvcktleShjb25zdCBTdHJpbmcmIHJlcCkKIHsKICAgICBh
dXRvIGFkZFJlc3VsdCA9IG1fdGFibGUuYWRkKFN5bWJvbFJlZ2lzdHJ5S2V5KHJlcC5pbXBsKCkp
KTsKICAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXR1cm4gKmFkZFJl
c3VsdC5pdGVyYXRvci0+aW1wbCgpOworICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PFN5bWJv
bEltcGwqPihhZGRSZXN1bHQuaXRlcmF0b3ItPmltcGwoKSk7CiAKLSAgICBSZWY8U3RyaW5nSW1w
bD4gc3ltYm9sID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3ltYm9sKHJlcC5pbXBsKCkpOworICAgIFJl
ZjxTeW1ib2xJbXBsPiBzeW1ib2wgPSBTdHJpbmdJbXBsOjpjcmVhdGVTeW1ib2wocmVwLmltcGwo
KSk7CiAgICAgc3ltYm9sLT5zeW1ib2xSZWdpc3RyeSgpID0gdGhpczsKICAgICAqYWRkUmVzdWx0
Lml0ZXJhdG9yID0gU3ltYm9sUmVnaXN0cnlLZXkoJnN5bWJvbC5nZXQoKSk7CiAgICAgcmV0dXJu
IHN5bWJvbDsKIH0KIAotU3RyaW5nIFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2woU3RyaW5n
SW1wbCogdWlkKQorU3RyaW5nIFN5bWJvbFJlZ2lzdHJ5OjprZXlGb3JTeW1ib2woU3ltYm9sSW1w
bCYgdWlkKQogewotICAgIEFTU0VSVCh1aWQtPmlzU3ltYm9sKCkpOwotICAgIEFTU0VSVCh1aWQt
PnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhpcyk7Ci0gICAgcmV0dXJuIHVpZC0+ZXh0cmFjdEZvbGRl
ZFN0cmluZ0luU3ltYm9sKCk7CisgICAgQVNTRVJUKHVpZC5zeW1ib2xSZWdpc3RyeSgpID09IHRo
aXMpOworICAgIHJldHVybiB1aWQuZXh0cmFjdEZvbGRlZFN0cmluZ0luU3ltYm9sKCk7CiB9CiAK
LXZvaWQgU3ltYm9sUmVnaXN0cnk6OnJlbW92ZShTdHJpbmdJbXBsKiB1aWQpCit2b2lkIFN5bWJv
bFJlZ2lzdHJ5OjpyZW1vdmUoU3ltYm9sSW1wbCYgdWlkKQogewotICAgIEFTU0VSVCh1aWQtPmlz
U3ltYm9sKCkpOwotICAgIEFTU0VSVCh1aWQtPnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhpcyk7Ci0g
ICAgYXV0byBpdGVyYXRvciA9IG1fdGFibGUuZmluZChTeW1ib2xSZWdpc3RyeUtleSh1aWQpKTsK
KyAgICBBU1NFUlQodWlkLnN5bWJvbFJlZ2lzdHJ5KCkgPT0gdGhpcyk7CisgICAgYXV0byBpdGVy
YXRvciA9IG1fdGFibGUuZmluZChTeW1ib2xSZWdpc3RyeUtleSgmdWlkKSk7CiAgICAgQVNTRVJU
X1dJVEhfTUVTU0FHRShpdGVyYXRvciAhPSBtX3RhYmxlLmVuZCgpLCAiVGhlIHN0cmluZyBiZWlu
ZyByZW1vdmVkIGlzIHJlZ2lzdGVyZWQgaW4gdGhlIHN0cmluZyB0YWJsZSBvZiBhbiBvdGhlciB0
aHJlYWQhIik7CiAgICAgbV90YWJsZS5yZW1vdmUoaXRlcmF0b3IpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oIGIvU291cmNlL1dURi93dGYvdGV4
dC9TeW1ib2xSZWdpc3RyeS5oCmluZGV4IDEzNmMzNjhjOTBiYmJjZWExODg2YjhkZjc4NzJhN2Zm
ZGZiYTk4YTYuLmEwMDVjZDk5YjhmNzA1NGI0ZjI0N2Q3NGVkZjhiNzVjYTk0OWMwMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbEltcGwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC04MSwxMCArODIsMTAgQEAgY2xhc3MgU3ltYm9s
UmVnaXN0cnkgewogICAgIFN5bWJvbFJlZ2lzdHJ5KCkgPSBkZWZhdWx0OwogICAgIFdURl9FWFBP
UlRfUFJJVkFURSB+U3ltYm9sUmVnaXN0cnkoKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSBS
ZWY8U3RyaW5nSW1wbD4gc3ltYm9sRm9yS2V5KGNvbnN0IFN0cmluZyYpOwotICAgIFdURl9FWFBP
UlRfUFJJVkFURSBTdHJpbmcga2V5Rm9yU3ltYm9sKFN0cmluZ0ltcGwqIHVpZCk7CisgICAgV1RG
X0VYUE9SVF9QUklWQVRFIFJlZjxTeW1ib2xJbXBsPiBzeW1ib2xGb3JLZXkoY29uc3QgU3RyaW5n
Jik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBrZXlGb3JTeW1ib2woU3ltYm9sSW1w
bCYgdWlkKTsKIAotICAgIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqIHVpZCk7CisgICAgdm9pZCBy
ZW1vdmUoU3ltYm9sSW1wbCYgdWlkKTsKIAogcHJpdmF0ZToKICAgICBIYXNoU2V0PFN5bWJvbFJl
Z2lzdHJ5S2V5PiBtX3RhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9Vbmlx
dWVkU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYyMGZjY2E0NmZkYmVhZjI4MDU4ZDhjOGUyMTMxNDAyMjljOGZhYjMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmgK
QEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtp
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFVuaXF1ZWRTdHJp
bmdJbXBsX2gKKyNkZWZpbmUgVW5pcXVlZFN0cmluZ0ltcGxfaAorCisjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgVW5pcXVlZFN0cmlu
Z0ltcGwgOiBwdWJsaWMgU3RyaW5nSW1wbCB7Citwcml2YXRlOgorICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKCkgPSBkZWxldGU7Cit9OworCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorLy8gVW5pcXVlZFN0
cmluZ0ltcGxzIGNyZWF0ZWQgZnJvbSBTdGF0aWNBU0NJSUxpdGVyYWwgd2lsbCBBU1NFUlQKKy8v
IGluIHRoZSBnZW5lcmljIFZhbHVlQ2hlY2s8VD46OmNoZWNrQ29uc2lzdGVuY3kKKy8vIGFzIHRo
ZXkgYXJlIG5vdCBhbGxvY2F0ZWQgYnkgZmFzdE1hbGxvYy4KKy8vIFdlIGRvbid0IGN1cnJlbnRs
eSBoYXZlIGFueSB3YXkgdG8gZGV0ZWN0IHRoYXQgY2FzZQorLy8gc28gd2UgaWdub3JlIHRoZSBj
b25zaXN0ZW5jeSBjaGVjayBmb3IgYWxsIFVuaXF1ZWRTdHJpbmdJbXBscyouCit0ZW1wbGF0ZTw+
IHN0cnVjdAorVmFsdWVDaGVjazxVbmlxdWVkU3RyaW5nSW1wbCo+IHsKKyAgICBzdGF0aWMgdm9p
ZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBsKikgeyB9Cit9OworCit0
ZW1wbGF0ZTw+IHN0cnVjdAorVmFsdWVDaGVjazxjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCo+IHsK
KyAgICBzdGF0aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0IFVuaXF1ZWRTdHJpbmdJbXBs
KikgeyB9Cit9OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OlVu
aXF1ZWRTdHJpbmdJbXBsOworCisjZW5kaWYgLy8gVW5pcXVlZFN0cmluZ0ltcGxfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDY5
MjQ2NzgzMDg2ZjY5OTQzYTlkMjM3OWM3Yzc5YWQ2NDg0NGJmNjIuLjBkNTczZmNjZjU0MTQxODVm
YzExMzdkNWI0MzY3OWM4MzdiNzczNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTMwNiw3ICszMDYsOCBAQCBib29sIEpTRE9N
V2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNT
dGF0ZSogZXhlYywgdQogICAgIC8vIEFsbG93IHNob3J0Y3V0cyBsaWtlICdJbWFnZTEnIGluc3Rl
YWQgb2YgZG9jdW1lbnQuaW1hZ2VzLkltYWdlMQogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRo
aXNPYmplY3QtPmltcGwoKS5mcmFtZSgpLT5kb2N1bWVudCgpOwogICAgIGlmIChpczxIVE1MRG9j
dW1lbnQ+KCpkb2N1bWVudCkpIHsKLSAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogYXRvbWljUHJv
cGVydHlOYW1lID0gcHJvcGVydHlOYW1lLmltcGwoKTsKKyAgICAgICAgQVNTRVJUKCFwcm9wZXJ0
eU5hbWUuaXNTeW1ib2woKSk7CisgICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3Bl
cnR5TmFtZSA9IHN0YXRpY19jYXN0PEF0b21pY1N0cmluZ0ltcGwqPihwcm9wZXJ0eU5hbWUuaW1w
bCgpKTsKICAgICAgICAgaWYgKGF0b21pY1Byb3BlcnR5TmFtZSAmJiBkb3duY2FzdDxIVE1MRG9j
dW1lbnQ+KCpkb2N1bWVudCkuaGFzV2luZG93TmFtZWRJdGVtKCphdG9taWNQcm9wZXJ0eU5hbWUp
KSB7CiAgICAgICAgICAgICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERv
bnREZWxldGUgfCBEb250RW51bSwgbmFtZWRJdGVtR2V0dGVyKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJs
ZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Jl
YWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcAppbmRleCBkNmVjYWMyNDEyMDZlMTIyYzhjZGJk
MjljOGM0OWRhYTU3MWRhNmQ3Li43MTZhY2I3NDg2ZTQzMGJmNDVmZmRmOTc4MWM2OWEzMTJmYjgy
NTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3Ry
ZWFtUmVhZGVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Jl
YWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgSlNQ
cm9taXNlRGVmZXJyZWQqIGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChFeGVj
U3RhdGUqIGV4ZWMsCiAKIHN0YXRpYyBKU0M6OlByaXZhdGVOYW1lJiBjbG9zZWRQcm9taXNlU2xv
dE5hbWUoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU0M6OlByaXZhdGVOYW1lPiBj
bG9zZWRQcm9taXNlU2xvdE5hbWUoImNsb3NlZFByb21pc2UiKTsKKyAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKEpTQzo6UHJp
dmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCAiY2xvc2VkUHJvbWlzZSIpOwogICAgIHJldHVybiBjbG9z
ZWRQcm9taXNlU2xvdE5hbWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDY5OTQ4ODA2NDM0OTVkYTU0Yzky
OGZlMzBmODcxNWJhYTkyMzY1ZDcuLmJjOWViZTllZDM0YmY3MDMyMmIxY2QzZDc1ZDFmMDZlNGQ4
MDViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcApAQCAtOTgzLDcgKzk4Myw3IEBAIGNsYXNzIENsb25lU2VyaWFsaXpl
ciA6IENsb25lQmFzZSB7CiAgICAgdm9pZCB3cml0ZShjb25zdCBJZGVudGlmaWVyJiBpZGVudCkK
ICAgICB7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgc3RyID0gaWRlbnQuc3RyaW5nKCk7Ci0gICAg
ICAgIFN0cmluZ0NvbnN0YW50UG9vbDo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IG1fY29uc3RhbnRQ
b29sLmFkZChzdHIuaW1wbCgpLCBtX2NvbnN0YW50UG9vbC5zaXplKCkpOworICAgICAgICBTdHJp
bmdDb25zdGFudFBvb2w6OkFkZFJlc3VsdCBhZGRSZXN1bHQgPSBtX2NvbnN0YW50UG9vbC5hZGQo
aWRlbnQuaW1wbCgpLCBtX2NvbnN0YW50UG9vbC5zaXplKCkpOwogICAgICAgICBpZiAoIWFkZFJl
c3VsdC5pc05ld0VudHJ5KSB7CiAgICAgICAgICAgICB3cml0ZShTdHJpbmdQb29sVGFnKTsKICAg
ICAgICAgICAgIHdyaXRlU3RyaW5nSW5kZXgoYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CkBA
IC0xMjExLDcgKzEyMTEsNyBAQCBjbGFzcyBDbG9uZVNlcmlhbGl6ZXIgOiBDbG9uZUJhc2Ugewog
ICAgIE9iamVjdFBvb2wgbV9vYmplY3RQb29sOwogICAgIE9iamVjdFBvb2wgbV90cmFuc2ZlcnJl
ZE1lc3NhZ2VQb3J0czsKICAgICBPYmplY3RQb29sIG1fdHJhbnNmZXJyZWRBcnJheUJ1ZmZlcnM7
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgdWludDMyX3QsIElkZW50
aWZpZXJSZXBIYXNoPiBTdHJpbmdDb25zdGFudFBvb2w7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIHVpbnQzMl90LCBJZGVudGlmaWVyUmVwSGFzaD4gU3Ry
aW5nQ29uc3RhbnRQb29sOwogICAgIFN0cmluZ0NvbnN0YW50UG9vbCBtX2NvbnN0YW50UG9vbDsK
ICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZjQ5MDY0ZjgyMjA3MzA1YTk3Y2Q3
YjgyYThkYTliNjVmMzYwMzJmLi42ZmE3NzA4NjJhNmMxYTk1M2JiZDJkYTNmNjNhMzcwMTFmZGYy
YWY3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTUtMDUtMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBn
bWFpbC5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1i
b2xJbXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVW5p
cXVlZFN0cmluZ0ltcGwsIFN5bWJvbEltcGwgYW5kIEF0b21pY1N0cmluZ0ltcGwuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcDoKKwogMjAxNS0wNS0y
MCAgUm9oaXQgS3VtYXIgIDxrdW1hci5yb2hpdEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZM
XVtNaW5pYnJvd3Nlcl0gSGlkZSBVUkwgYmFyIG9uIGZ1bGxzY3JlZW4gbW9kZSBmb3IgSFRNTCBl
bGVtZW50cyBhbmQgYnJvd3NlciB3aW5kb3cgaW4gV2ViS2l0IEVGTCBNaW5pYnJvd3NlcgpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAppbmRleCA2ZGM5OTM0
MDk4YmQ3ZDE1NTA3YzEyYWVhNzlkZDRmYTg1YjAxOTcxLi43NWZhZGY4YzQzN2E3ZGRjYjY4M2Q0
NzRmZjY1YmYyMDE1NGU0OTAzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9TdHJpbmdJbXBsLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9T
dHJpbmdJbXBsLmNwcApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3lt
Ym9sSW1wbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSSB7Cg==
</data>
<flag name="review"
          id="278368"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>