<?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>22384</bug_id>
          
          <creation_ts>2008-11-20 08:54:23 -0800</creation_ts>
          <short_desc>svg &lt;text&gt; fails to update when setting x/y</short_desc>
          <delta_ts>2010-01-11 11:24:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Stadnik">dimzzy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99483</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Stadnik">dimzzy</who>
    <bug_when>2008-11-20 08:54:23 -0800</bug_when>
    <thetext>- Add SVG text element
- Define js function that changes x and y properties of the text
- Call it from setTimeout(f, 0)
=&gt; Text remains in old position</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99484</commentid>
    <comment_count>1</comment_count>
      <attachid>25315</attachid>
    <who name="Dmitry Stadnik">dimzzy</who>
    <bug_when>2008-11-20 08:55:10 -0800</bug_when>
    <thetext>Created attachment 25315
Sample</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119227</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-04-28 17:26:47 -0700</bug_when>
    <thetext>I think that we might not be correctly updating from setting an SVGLengthList.  The list code is kinda scary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119228</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-04-28 17:27:17 -0700</bug_when>
    <thetext>I suspect this has nothing to do with the timeout.  I bet if you set the x/y (via the list apis) from JS we&apos;ll fail to update in all cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124644</commentid>
    <comment_count>4</comment_count>
      <attachid>31027</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2009-06-06 09:37:46 -0700</bug_when>
    <thetext>Created attachment 31027
First attempt

There was no code signalling the element that the text position list was changed, all that seems
to have failed is some glue code from the js side. A test is also included.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124791</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-08 13:04:30 -0700</bug_when>
    <thetext>Hum... Sad that we have to have custom bindings for every SVGList type.  Maybe we should be wrapping lists when we return them.  SVGList is just one big disaster anyway.  It&apos;s not clear to me if the SVGList implementation or the JS wrapper should be handling these notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126701</commentid>
    <comment_count>6</comment_count>
      <attachid>31027</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-06-18 08:49:12 -0700</bug_when>
    <thetext>Comment on attachment 31027
First attempt

I&apos;m pretty sure that handling this in the JS bindings is the wrong layer. Won&apos;t that mean other language bindings, or mutation via the core C++ interfaces, have the same bug? I think the notification should be at the core object level, or else we need to provide a generic way to do it for all language bindings and apply it to, for instance, the ObjC bindings.

The code itself looks fine, but r- to consider this change of approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126702</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2009-06-18 09:01:27 -0700</bug_when>
    <thetext>Hi Maciej,

(In reply to comment #6)
&gt; (From update of attachment 31027 [review])
&gt; I&apos;m pretty sure that handling this in the JS bindings is the wrong layer. Won&apos;t
&gt; that mean other language bindings, or mutation via the core C++ interfaces,
&gt; have the same bug? I think the notification should be at the core object level,
&gt; or else we need to provide a generic way to do it for all language bindings and
&gt; apply it to, for instance, the ObjC bindings.
&gt; The code itself looks fine, but r- to consider this change of approach.

Thanks for the review!

I do agree that that would be the better design. However I think that right now only the (js) bindings have enough context to know what node to notify, ie. SVGList.cpp and for example SVGPointList.cpp do not know that. I did not follow the POD work too closely so I do not know if that is the only way for it to work, WildFox or eseidel should know more about that. I&apos;ll try to contact one of them to find out what is best to do in this case.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179356</commentid>
    <comment_count>8</comment_count>
      <attachid>46273</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-11 07:33:50 -0800</bug_when>
    <thetext>Created attachment 46273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179365</commentid>
    <comment_count>9</comment_count>
      <attachid>46273</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-11 08:01:39 -0800</bug_when>
    <thetext>Comment on attachment 46273
Patch

Aren&apos;t the pixel test results incorrect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179371</commentid>
    <comment_count>10</comment_count>
      <attachid>46273</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-01-11 08:24:12 -0800</bug_when>
    <thetext>Comment on attachment 46273
Patch

LGTM r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179372</commentid>
    <comment_count>11</comment_count>
      <attachid>46273</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-11 08:27:36 -0800</bug_when>
    <thetext>Comment on attachment 46273
Patch

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; --- WebCore/ChangeLog	(revision 53075)
&gt; +++ WebCore/ChangeLog	(working copy)
&gt; @@ -1,3 +1,46 @@
&gt; +2010-01-11  Nikolas Zimmermann  &lt;nzimmermann@rim.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        svg &lt;text&gt; fails to update when setting x/y
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=22384
&gt; +
&gt; +        Introduce JSSVGCusotmListTemplate, refactoring the existing custom code for SVG POD type lists.

Typo: JSSVGCusotmListTemplate

&gt; +        * Android.jscbindings.mk:
&gt; +        * GNUmakefile.am:
&gt; +        * WebCore.gypi:
&gt; +        * WebCore.pro:
&gt; +        * WebCore.vcproj/WebCore.vcproj:
&gt; +        * WebCore.xcodeproj/project.pbxproj:
&gt; +        * bindings/js/JSSVGCustomListTemplate.h: Added.
&gt; +        (WebCore::JSSVGCustomListTemplate::clear):
&gt; +        (WebCore::JSSVGCustomListTemplate::initialize):
&gt; +        (WebCore::JSSVGCustomListTemplate::getItem):
&gt; +        (WebCore::JSSVGCustomListTemplate::insertItemBefore):
&gt; +        (WebCore::JSSVGCustomListTemplate::replaceItem):
&gt; +        (WebCore::JSSVGCustomListTemplate::removeItem):
&gt; +        (WebCore::JSSVGCustomListTemplate::appendItem):
&gt; +        (WebCore::JSSVGCustomListTemplate::finishGetter):
&gt; +        (WebCore::JSSVGCustomListTemplate::finishSetter):
&gt; +        (WebCore::JSSVGCustomListTemplate::finishSetterReadOnlyResult):
&gt; +        * bindings/js/JSSVGPointListCustom.cpp: Removed.
&gt; +        * bindings/js/JSSVGTransformListCustom.cpp: Removed.
&gt; +        * bindings/scripts/CodeGeneratorJS.pm:
&gt; +        * svg/SVGNumberList.cpp:
&gt; +        (WebCore::SVGNumberList::SVGNumberList):
&gt; +        * svg/SVGNumberList.h:
&gt; +        * svg/SVGPointList.idl:
&gt; +        * svg/SVGTransformList.idl:

It would be great to have some function- and file-level comments about the
changes you made.

&gt; --- WebCore/bindings/js/JSSVGCustomListTemplate.h	(revision 0)
&gt; +++ WebCore/bindings/js/JSSVGCustomListTemplate.h	(revision 0)

Using svn cp to create this file by copying JSSVGTransformListCustom.cpp or
JSSVGPointListCustom.cpp would make it clearer where this code came from
(especially since your ChangeLog doesn&apos;t explicitly say).

&gt; +template&lt;typename JSWrapperType, typename PODType, typename PODTypeList&gt;
&gt; +class JSSVGCustomListTemplate {

I worry that adding even more templates to SVG code will increase the code size
of WebCore again. Is there any way we can use type erasure to reduce the number
of template parameters, at least? (E.g., is there some base class that all
JSWrapperTypes share that we could use instead?)

I don&apos;t think the name of this class is great. Certainly I don&apos;t think
&quot;Template&quot; makes its purpose any clearer.

Since this class is never instantiated and only has static member functions, I
think it might make more sense to move the functions out of the class entirely
and get rid of the class.

&gt; +    static JSC::JSValue clear(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp;, ConversionCallback)
&gt; +    {
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        listImp-&gt;clear(ec);
&gt; +        setDOMException(exec, ec);
&gt; +        wrapper-&gt;context()-&gt;svgAttributeChanged(listImp-&gt;associatedAttributeName());
&gt; +        return JSC::jsUndefined();
&gt; +    }

Is it bad to call svgAttributeChanged if the list was already cleared before
this function was called? (E.g., if you called clear twice in a row.) The same
question applies to all the other setters.

&gt; +    static JSC::JSValue initialize(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback conversion)
&gt; +    {
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishSetter(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                            listImp-&gt;initialize(PODListItem::copy((*conversion)(args.at(0))), ec));
&gt; +    }

The listImp local variable doesn&apos;t seem very helpful here.

You can use function pointers without the (*) syntax. Just treat it as a normal
function call.

&gt; +    static JSC::JSValue getItem(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback)
&gt; +    {
&gt; +        bool indexOk = false;
&gt; +        unsigned index = args.at(0).toUInt32(exec, indexOk);
&gt; +        if (!indexOk) {
&gt; +            setDOMException(exec, TYPE_MISMATCH_ERR);
&gt; +            return JSC::jsUndefined();
&gt; +        }
&gt; +
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishGetter(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                            listImp-&gt;getItem(index, ec));
&gt; +    }
&gt; +
&gt; +    static JSC::JSValue insertItemBefore(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback conversion)
&gt; +    {
&gt; +        bool indexOk = false;
&gt; +        unsigned index = args.at(1).toUInt32(exec, indexOk);
&gt; +        if (!indexOk) {
&gt; +            setDOMException(exec, TYPE_MISMATCH_ERR);
&gt; +            return JSC::jsUndefined();
&gt; +        }
&gt; +
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishSetter(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                            listImp-&gt;insertItemBefore(PODListItem::copy((*conversion)(args.at(0))), index, ec));
&gt; +    }
&gt; +
&gt; +    static JSC::JSValue replaceItem(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback conversion)
&gt; +    {
&gt; +        bool indexOk = false;
&gt; +        unsigned index = args.at(1).toUInt32(exec, indexOk);
&gt; +        if (!indexOk) {
&gt; +            setDOMException(exec, TYPE_MISMATCH_ERR);
&gt; +            return JSC::jsUndefined();
&gt; +        }
&gt; +
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishSetter(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                            listImp-&gt;replaceItem(PODListItem::copy((*conversion)(args.at(0))), index, ec));
&gt; +    }
&gt; +
&gt; +    static JSC::JSValue removeItem(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback)
&gt; +    {
&gt; +        bool indexOk = false;
&gt; +        unsigned index = args.at(0).toUInt32(exec, indexOk);
&gt; +        if (!indexOk) {
&gt; +            setDOMException(exec, TYPE_MISMATCH_ERR);
&gt; +            return JSC::jsUndefined();
&gt; +        }
&gt; +
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishSetterReadOnlyResult(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                                          listImp-&gt;removeItem(index, ec));
&gt; +    }
&gt; +
&gt; +    static JSC::JSValue appendItem(JSWrapperType* wrapper, JSC::ExecState* exec, const JSC::ArgList&amp; args, ConversionCallback conversion)
&gt; +    {
&gt; +        ExceptionCode ec = 0;
&gt; +        SVGListBase* listImp = wrapper-&gt;impl();
&gt; +        return finishSetter(exec, ec, wrapper-&gt;context(), wrapper-&gt;impl(),
&gt; +                            listImp-&gt;appendItem(PODListItem::copy((*conversion)(args.at(0))), ec));
&gt; +    }

Same comments in these functions re: listImp and function pointers.

&gt; +++ WebCore/bindings/scripts/CodeGeneratorJS.pm	(working copy)
&gt; @@ -1588,8 +1588,28 @@ sub GenerateImplementation
&gt;                  push(@implContent, &quot;        return jsUndefined();\n&quot;);
&gt;              }
&gt;  
&gt; +            # Special case for JSSVGLengthList / JSSVGTransformList / JSSVGPointList / JSSVGNumberList
&gt; +            # Instead of having JSSVG*Custom.cpp implementations for the SVGList interface for all of these
&gt; +            # classes, we directly forward the calls to JSSVGCustomListTemplate, which centralizes the otherwhise

Typo: otherwhise

&gt; +    &lt;text id=&quot;ttt&quot; x=&quot;10&quot; y=&quot;200&quot;&gt;Passes, if text is at 200x20&lt;/text&gt;

I initially misread this as &quot;200x200&quot; and thought the pixel results were wrong.
Maybe choose some numbers that don&apos;t look so similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179425</commentid>
    <comment_count>12</comment_count>
      <attachid>46289</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-11 10:41:57 -0800</bug_when>
    <thetext>Created attachment 46289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179427</commentid>
    <comment_count>13</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-11 10:42:53 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; 
&gt; Typo: JSSVGCusotmListTemplate
Fixed.

&gt; It would be great to have some function- and file-level comments about the
&gt; changes you made.
Fixed.

&gt; Using svn cp to create this file by copying JSSVGTransformListCustom.cpp or
&gt; JSSVGPointListCustom.cpp would make it clearer where this code came from
&gt; (especially since your ChangeLog doesn&apos;t explicitly say).
Fixed.

&gt; 
&gt; &gt; +template&lt;typename JSWrapperType, typename PODType, typename PODTypeList&gt;
&gt; &gt; +class JSSVGCustomListTemplate {
&gt; 
&gt; I worry that adding even more templates to SVG code will increase the code size
&gt; of WebCore again. Is there any way we can use type erasure to reduce the number
&gt; of template parameters, at least? (E.g., is there some base class that all
&gt; JSWrapperTypes share that we could use instead?)
&gt; 
&gt; I don&apos;t think the name of this class is great. Certainly I don&apos;t think
&gt; &quot;Template&quot; makes its purpose any clearer.

As disucssed on IRC, it&apos;s now named: JSSVGPODListCustom, to show the analogy between the old-solution and the new one. Furhtermore it doesn&apos;t contain a class anymore, but JSSVGPODListCustom is a namespace now, containing public static templatified helper functions. Could reduce the whole thing two two template arguments instead of three.

&gt; 
&gt; Since this class is never instantiated and only has static member functions, I
&gt; think it might make more sense to move the functions out of the class entirely
&gt; and get rid of the class.
Fixed.
 
&gt; Is it bad to call svgAttributeChanged if the list was already cleared before
&gt; this function was called? (E.g., if you called clear twice in a row.) The same
&gt; question applies to all the other setters.
Hm, that&apos;s for sure a possible further optimization, but it out-of-scope for this patch.
 
&gt; The listImp local variable doesn&apos;t seem very helpful here.
It&apos;s useful again now, as the duplicated wrapper-&gt;impl() call is gone.
 
&gt; You can use function pointers without the (*) syntax. Just treat it as a normal
&gt; function call.
Hot, I did not even know that :-)

&gt; Same comments in these functions re: listImp and function pointers.
All fixed.

&gt; Typo: otherwhise
Fixed.

&gt; 
&gt; &gt; +    &lt;text id=&quot;ttt&quot; x=&quot;10&quot; y=&quot;200&quot;&gt;Passes, if text is at 200x20&lt;/text&gt;
&gt; 
&gt; I initially misread this as &quot;200x200&quot; and thought the pixel results were wrong.
&gt; Maybe choose some numbers that don&apos;t look so similar?

Well I don&apos;t think this matters, as you&apos;d notice a &quot;FAIL:&quot; if we ever break this test again, as I said before, the png really doesn&apos;t matter here. And I already started webkit-patch to upload the patch, so I&apos;m leaving this at 200x20 now :-)

Thanks for the good review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179432</commentid>
    <comment_count>14</comment_count>
      <attachid>46289</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-11 10:56:15 -0800</bug_when>
    <thetext>Comment on attachment 46289
Patch

&gt; +        Introduce JSSVGCustomListTemplate, refactoring the existing custom code for SVG POD type lists.

This is now spelled correctly, but doesn&apos;t reflect your patch :-)

&gt; +        Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
&gt; +        to call into the new JSSVGCustomListTemplate methods. Fixes dynamic updates of the SVGTextElement

Ditto.

&gt; +// Helper structure only containing public typedefs, as C++ does not allow templatified typedefs

I think the common term is &quot;templatized&quot;.

&gt; +template&lt;typename JSPODListType, typename PODType&gt;
&gt; +static JSC::JSValue finishGetter(JSC::ExecState* exec, ExceptionCode&amp; ec, SVGElement* context,
&gt; +                                 typename JSSVGPODListTraits&lt;PODType&gt;::PODList* list,
&gt; +                                 PassRefPtr&lt;typename JSSVGPODListTraits&lt;PODType&gt;::PODListItem&gt; item)
&gt;  {
&gt;      if (ec) {
&gt;          setDOMException(exec, ec);
&gt; -        return jsUndefined();
&gt; +        return JSC::jsUndefined();
&gt;      }
&gt; -    return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList&lt;SVGTransform&gt;::create(item.get(), list-&gt;associatedAttributeName()).get(), context);
&gt; +
&gt; +    return toJS(exec, deprecatedGlobalObjectForPrototype(exec),
&gt; +                JSSVGPODTypeWrapperCreatorForList&lt;PODType&gt;::create(item.get(), list-&gt;associatedAttributeName()).get(), context);
&gt;  }
&gt;  
&gt; -static JSValue finishSetter(ExecState* exec, ExceptionCode&amp; ec, SVGElement* context, SVGTransformList* list, PassRefPtr&lt;PODListItem&gt; item)
&gt; +template&lt;typename JSPODListType, typename PODType&gt;
&gt; +static JSC::JSValue finishSetter(JSC::ExecState* exec, ExceptionCode&amp; ec, SVGElement* context,
&gt; +                                 typename JSSVGPODListTraits&lt;PODType&gt;::PODList* list,
&gt; +                                 PassRefPtr&lt;typename JSSVGPODListTraits&lt;PODType&gt;::PODListItem&gt; item)
&gt;  {
&gt;      if (ec) {
&gt;          setDOMException(exec, ec);
&gt; -        return jsUndefined();
&gt; +        return JSC::jsUndefined();
&gt;      }
&gt; +
&gt;      const QualifiedName&amp; attributeName = list-&gt;associatedAttributeName();
&gt;      context-&gt;svgAttributeChanged(attributeName);
&gt; -    return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList&lt;SVGTransform&gt;::create(item.get(), attributeName).get(), context);
&gt; +
&gt; +    return toJS(exec, deprecatedGlobalObjectForPrototype(exec),
&gt; +                JSSVGPODTypeWrapperCreatorForList&lt;PODType&gt;::create(item.get(), attributeName).get(), context);
&gt;  }
&gt;  
&gt; -static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode&amp; ec, SVGElement* context, SVGTransformList* list, PassRefPtr&lt;PODListItem&gt; item)
&gt; +template&lt;typename JSPODListType, typename PODType&gt;
&gt; +static JSC::JSValue finishSetterReadOnlyResult(JSC::ExecState* exec, ExceptionCode&amp; ec, SVGElement* context,
&gt; +                                               typename JSSVGPODListTraits&lt;PODType&gt;::PODList* list,
&gt; +                                               PassRefPtr&lt;typename JSSVGPODListTraits&lt;PODType&gt;::PODListItem&gt; item)
&gt;  {
&gt;      if (ec) {
&gt;          setDOMException(exec, ec);
&gt; -        return jsUndefined();
&gt; +        return JSC::jsUndefined();
&gt;      }
&gt;      context-&gt;svgAttributeChanged(list-&gt;associatedAttributeName());
&gt; -    return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper&lt;SVGTransform&gt;::create(*item).get(), context);
&gt; +    return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper&lt;PODType&gt;::create(*item).get(), context);
&gt;  }

Seems like these functions don&apos;t need the JSPODListType template parameter.

&gt; +    return finishSetter&lt;JSPODListType, PODType&gt;(exec, ec, wrapper-&gt;context(), listImp,
&gt; +                                                listImp-&gt;initialize(JSSVGPODListTraits&lt;PODType&gt;::PODListItem::copy(conversion(args.at(0))), ec));
&gt; +
&gt;  }

If you remove the JSPODListType template parameter from finishSetter, I think the compiler will be able to deduce the other template parameter. (Ditto for finishSetterReadOnlyResult and finishGetter.)

&gt; +                push(@implContent, &quot;    return JSSVGPODListCustom::$functionImplementationName&lt;$className, &quot; . GetNativeType($svgPODListType)
&gt; +                                 . &quot;&gt;(castedThisObj, exec, args, &amp;to&quot; . $svgPODListType . &quot;);\n&quot;);

You also don&apos;t need the &quot;&amp;&quot; here to create the function pointer. (C++ allows omitting it.)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179435</commentid>
    <comment_count>15</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-11 11:07:09 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 46289 [details])
&gt; &gt; +        Introduce JSSVGCustomListTemplate, refactoring the existing custom code for SVG POD type lists.
&gt; 
&gt; This is now spelled correctly, but doesn&apos;t reflect your patch :-)
Awww, fixed ;-)

&gt; Ditto.
Ditto :-)

&gt; I think the common term is &quot;templatized&quot;.
Fixed,
 
&gt; Seems like these functions don&apos;t need the JSPODListType template parameter.
True.

&gt; If you remove the JSPODListType template parameter from finishSetter, I think
&gt; the compiler will be able to deduce the other template parameter. (Ditto for
&gt; finishSetterReadOnlyResult and finishGetter.)
Unfortunately that won&apos;t help still need to pass &lt;PODType&gt;. But it&apos;s better than passing two arguments.

&gt; You also don&apos;t need the &quot;&amp;&quot; here to create the function pointer. (C++ allows
&gt; omitting it.)
Again news to me :-)

Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179442</commentid>
    <comment_count>16</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-11 11:24:24 -0800</bug_when>
    <thetext>Committed r53086: &lt;http://trac.webkit.org/changeset/53086&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>25315</attachid>
            <date>2008-11-20 08:55:10 -0800</date>
            <delta_ts>2008-11-20 08:55:10 -0800</delta_ts>
            <desc>Sample</desc>
            <filename>txt.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>821</size>
            <attacher name="Dmitry Stadnik">dimzzy</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRt
bAoJeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCgl4bWxuczpzdmc9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGhlYWQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CgkKCQlmdW5jdGlvbiBjcmVhdGVTVkdMZW5ndGgoZSwgdmFsdWUpIHsKCQkJdmFyIHJl
c3VsdCA9IGUub3duZXJTVkdFbGVtZW50LmNyZWF0ZVNWR0xlbmd0aCgpOwoJCQlyZXN1bHQudmFs
dWUgPSB2YWx1ZTsKCQkJcmV0dXJuIHJlc3VsdDsKCQl9OwoKCQlmdW5jdGlvbiBzaGlmdGVyKCkg
ewoJCQl2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0dHQiKTsKCQkJZS54LmJhc2VW
YWwuaW5pdGlhbGl6ZShjcmVhdGVTVkdMZW5ndGgoZSwgMjAwKSk7CgkJCWUueS5iYXNlVmFsLmlu
aXRpYWxpemUoY3JlYXRlU1ZHTGVuZ3RoKGUsIDEwKSk7CgkJfTsKCQkKCQl3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7CgkJCXNldFRpbWVvdXQoc2hpZnRlciwgMCk7CgkJfTsKCTwvc2NyaXB0
Pgo8L2hlYWQ+Cjxib2R5Pgo8c3ZnOnN2ZwoJeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIgoJdmVyc2lvbj0iMS4xIiBiYXNlUHJvZmlsZT0iZnVsbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPgoJPHRleHQgaWQ9InR0dCIgeD0iMTAiIHk9IjIwMCI+a2Fib29tPC90ZXh0Pgo8L3N2
Zzpzdmc+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31027</attachid>
            <date>2009-06-06 09:37:46 -0700</date>
            <delta_ts>2010-01-11 07:33:36 -0800</delta_ts>
            <desc>First attempt</desc>
            <filename>22384.diff</filename>
            <type>text/plain</type>
            <size>16060</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMWI0MzJjLi5iMGNiMjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDYt
MDYgIFJvYiBCdWlzICA8cndsYnVpc0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBmb3I6CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM4NAorICAgICAgICBCdWcgMjIzODQ6IHN2
ZyA8dGV4dD4gZmFpbHMgdG8gdXBkYXRlIHdoZW4gc2V0dGluZyB4L3kKKworICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS10ZXh0LXh5LWNoYW5nZXMtZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVw
ZGF0ZS10ZXh0LXh5LWNoYW5nZXMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtdGV4dC14eS1jaGFuZ2VzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9qcy11cGRhdGUtdGV4dC14eS1jaGFuZ2Vz
LnN2ZzogQWRkZWQuCisKIDIwMDktMDYtMDEgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgogCiAgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3
MTA+IEhUTUw1IERhdGFiYXNlIHN0b3BzIGV4ZWN1dGluZyB0cmFuc2FjdGlvbnMgaWYgdGhlIFVS
TCBoYXNoIGNoYW5nZXMgd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBvcGVuIGFuZCBhbiBYSFIgaXMg
aW4gcHJvZ3Jlc3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9qcy11cGRhdGUtdGV4dC14eS1jaGFuZ2VzLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy1l
eHBlY3RlZC5jaGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjk1
MzlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy1leHBlY3RlZC5jaGVja3N1bQpAQCAtMCwwICsx
IEBACitlMjc1MzJjNTlhNjgyMzcwZjBiYzIxNWE3ODA2NzU2OQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9t
L2pzLXVwZGF0ZS10ZXh0LXh5LWNoYW5nZXMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhkOGE5NgpCaW5hcnkgZmls
ZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pz
LXVwZGF0ZS10ZXh0LXh5LWNoYW5nZXMtZXhwZWN0ZWQucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hh
bmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9q
cy11cGRhdGUtdGV4dC14eS1jaGFuZ2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi45OGNmOGYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNDUweDQ1
MAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgyMCw2KSBzaXplIDYxeDE4CisgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDIwKSBzaXplIDYxeDE4IGNvbnRhaW5zIDEgY2h1bmsocykK
KyAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNjF4MTgK
KyAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwyMC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgNiB3aWR0aCA2MS4wMDogIlBBU1NFRCIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy5zdmcgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS10ZXh0LXh5LWNoYW5nZXMuc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyOGUzOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS10ZXh0LXh5LWNoYW5nZXMuc3ZnCkBAIC0wLDAgKzEs
MzEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiIHN0YW5kYWxv
bmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3Zn
MTAuZHRkIj4KKzxzdmcgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI0NTAiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyI+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKword2lu
ZG93LnNldFRpbWVvdXQoIm1vdmUoKSIsIDApOworCitmdW5jdGlvbiBjcmVhdGVTVkdMZW5ndGgo
ZSwgdmFsdWUpIHsKKyAgICB2YXIgcmVzdWx0ID0gZS5vd25lclNWR0VsZW1lbnQuY3JlYXRlU1ZH
TGVuZ3RoKCk7CisgICAgcmVzdWx0LnZhbHVlID0gdmFsdWU7CisgICAgcmV0dXJuIHJlc3VsdDsK
K307CisKK2Z1bmN0aW9uIG1vdmUoKQoreworICAgIHZhciB0eHQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidHh0Iik7CisgICAgdHh0LnguYmFzZVZhbC5pbml0aWFsaXplKGNyZWF0ZVNWR0xl
bmd0aCh0eHQsIDIwKSk7CisgICAgdHh0LnkuYmFzZVZhbC5pbml0aWFsaXplKGNyZWF0ZVNWR0xl
bmd0aCh0eHQsIDIwKSk7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKworPHRleHQgaWQ9InR4dCIgeD0iLTEwMCIgeT0iLTEwMCI+UEFTU0VEPC90ZXh0
PgorCis8L3N2Zz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNzBkODUzZS4uZDJlMDI2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAwOS0wNi0wNiAg
Um9iIEJ1aXMgIDxyd2xidWlzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzODQKKyAgICAgICAgQnVnIDIyMzg0OiBzdmcgPHRleHQ+IGZhaWxzIHRvIHVwZGF0
ZSB3aGVuIHNldHRpbmcgeC95CisgICAgICAgIAorICAgICAgICBGaXggYnVnIGJ5IGltcGxlbWVu
dGluZyBhIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBmb3IgSlNTVkdMZW5ndGhMaXN0CisgICAgICAg
IHRoYXQgc2lnbmFscyB0aGUgZWxlbWVudCB3aGVuIHRoZSBsaXN0IGhhcyBjaGFuZ2VkIChsaWtl
IHdoYXQKKyAgICAgICAgSlNTVkdUcmFuc2Zvcm1MaXN0IGRvZXMpLgorCisgICAgICAgIFRlc3Q6
IHN2Zy9jdXN0b20vanMtdXBkYXRlLXRleHQteHktY2hhbmdlcy5zdmcKKworICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR0xl
bmd0aExpc3RDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmZpbmlzaEdldHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpmaW5pc2hTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
ZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdMZW5n
dGhMaXN0OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0xlbmd0aExpc3Q6OmluaXRp
YWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdMZW5ndGhMaXN0OjpnZXRJdGVtKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTU1ZHTGVuZ3RoTGlzdDo6aW5zZXJ0SXRlbUJlZm9yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU1NWR0xlbmd0aExpc3Q6OnJlcGxhY2VJdGVtKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTU1ZHTGVuZ3RoTGlzdDo6cmVtb3ZlSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpK
U1NWR0xlbmd0aExpc3Q6OmFwcGVuZEl0ZW0pOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0
LmlkbDoKKwogMjAwOS0wNi0wNSAgV0FORyBMdSAgPGNvb2x3YW5nbHVAZ21haWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbiBBbG9uem8uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA4YmE4ZTczLi5hZGU1ZmY1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTI1NzYsNiArMjU3Niw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1NWR0xlbmd0aExpc3RDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIFwKIAlX
ZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA3ODFjNGQ2Li5hMWE4ODgy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KQEAgLTE3MjIsNiArMTcyMiw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkg
ewogICAgICAgICBiaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTU1ZHVHJhbnNmb3JtTGlzdEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9q
cy9KU1NWR0xlbmd0aExpc3RDdXN0b20uY3BwIFwKICAgICAgICAgY3NzL1NWR0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAgXAogICAgICAgICBjc3MvU1ZHQ1NTUGFyc2VyLmNwcCBcCiAg
ICAgICAgIGNzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIxNGIwNTEuLjE2YWQzNWEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMDE5LDYgKzMwMTksNyBAQAog
CQlBQTMxQjVCNTBDMURGRDEwMDBBRTcwODMgLyogUmVuZGVyU1ZHUm9vdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEzMUI1QjMwQzFERkQxMDAwQUU3
MDgzIC8qIFJlbmRlclNWR1Jvb3QuaCAqLzsgfTsKIAkJQUE0QzNBNzYwQjJCMTY3OTAwMjMzNEEy
IC8qIFN0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmNwcCAq
LzsgfTsKIAkJQUE0QzNBNzcwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE0QzNBNzUwQjJCMTY3
OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oICovOyB9OworCQlBQUIyMERDOTBGREFDNEMwMDAw
RTZCNUMgLyogSlNTVkdMZW5ndGhMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQjIwREM4MEZEQUM0QzAwMDBFNkI1QyAvKiBKU1NW
R0xlbmd0aExpc3RDdXN0b20uY3BwICovOyB9OwogCQlBQjAxNERFMzBFNjg5QTQzMDBFMTA0NDUg
LyogVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMDE0REUxMEU2ODlBNDMwMEUxMDQ0NSAvKiBUZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwICovOyB9OwogCQlBQjAxNERFNDBFNjg5QTQzMDBFMTA0NDUg
LyogVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBQjAxNERFMjBFNjg5QTQzMDBFMTA0NDUgLyogVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmggKi87IH07CiAJCUFCMjNBMzI3MDlCQkE3RDAwMDY3Q0M1MyAvKiBC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQuY3BwICovOyB9OwpAQCAtNzYzNyw2ICs3NjM4LDcgQEAKIAkJQUEzMUI1QjMw
QzFERkQxMDAwQUU3MDgzIC8qIFJlbmRlclNWR1Jvb3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jvb3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE0QzNBNzQwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVFbGVtZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE0QzNBNzUwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBQjIwREM4MEZEQUM0QzAwMDBFNkI1QyAv
KiBKU1NWR0xlbmd0aExpc3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTVkdMZW5ndGhMaXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUIwMTRERTEwRTY4OUE0MzAwRTEwNDQ1IC8qIFRleHRDb250cm9sSW5uZXJFbGVt
ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0Q29udHJv
bElubmVyRWxlbWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjAxNERF
MjBFNjg5QTQzMDBFMTA0NDUgLyogVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVm
b3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEzMjY0LDYgKzEzMjY2LDcgQEAKIAkJQkMxQTM3OTMwOTdDNkZCMTAwMTlGM0Q4
IC8qIGpzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlB
QUIyMERDODBGREFDNEMwMDAwRTZCNUMgLyogSlNTVkdMZW5ndGhMaXN0Q3VzdG9tLmNwcCAqLywK
IAkJCQlCQzRFREVGNzBDMDhGNDE0MDA3RURENDkgLyogQ3VzdG9tICovLAogCQkJCTE0REZCMzNG
MEE3REY3NjMwMDE4Rjc2OSAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkJQkNENTMzNjMwRUQ2
ODQ4OTAwODg3NDY4IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggKi8sCkBAIC0xODc4
MSw2ICsxODc4NCw3IEBACiAJCQkJODQ1RTcyRkIwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwODFFQkYzQTBGRDM0RjQxMDBEQTc1NTkgLyogU1ZH
RmlsdGVyQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODlDQ0M1MjBGNDRFOTgxMDBC
NURBMTAgLyogUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQUFCMjBEQzkwRkRBQzRDMDAwMEU2QjVDIC8qIEpTU1ZHTGVuZ3RoTGlzdEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdMZW5n
dGhMaXN0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdMZW5ndGhMaXN0Q3Vz
dG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDMwNTcyCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aExpc3RDdXN0b20u
Y3BwCkBAIC0wLDAgKzEsMTUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJvYiBCdWlz
IDxyd2xidWlzQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNW
RykKKyNpbmNsdWRlICJKU1NWR0xlbmd0aExpc3QuaCIKKworI2luY2x1ZGUgIkpTU1ZHTGVuZ3Ro
LmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgU1ZHUE9ETGlzdEl0ZW08U1ZHTGVuZ3Ro
PiBQT0RMaXN0SXRlbTsKK3R5cGVkZWYgU1ZHTGlzdDxSZWZQdHI8UE9ETGlzdEl0ZW0+ID4gU1ZH
TGVuZ3RoTGlzdEJhc2U7CisKK3N0YXRpYyBKU1ZhbHVlIGZpbmlzaEdldHRlcihFeGVjU3RhdGUq
IGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250ZXh0LCBTVkdMZW5ndGhM
aXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExpc3RJdGVtPiBpdGVtKQoreworICAgIGlmIChlYykg
eworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICB9CisgICAgcmV0dXJuIHRvSlMoZXhlYywgSlNTVkdQT0RUeXBlV3Jh
cHBlckNyZWF0b3JGb3JMaXN0PFNWR0xlbmd0aD46OmNyZWF0ZShpdGVtLmdldCgpLCBsaXN0LT5h
c3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKS5nZXQoKSwgY29udGV4dCk7Cit9CisKK3N0YXRpYyBK
U1ZhbHVlIGZpbmlzaFNldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBT
VkdFbGVtZW50KiBjb250ZXh0LCBTVkdMZW5ndGhMaXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExp
c3RJdGVtPiBpdGVtKQoreworICAgIGlmIChlYykgeworICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgZWMpOworICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB9CisgICAgY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSA9IGxpc3QtPmFzc29jaWF0ZWRBdHRyaWJ1
dGVOYW1lKCk7CisgICAgY29udGV4dC0+c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGVOYW1l
KTsKKyAgICByZXR1cm4gdG9KUyhleGVjLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRvckZvckxp
c3Q8U1ZHTGVuZ3RoPjo6Y3JlYXRlKGl0ZW0uZ2V0KCksIGF0dHJpYnV0ZU5hbWUpLmdldCgpLCBj
b250ZXh0KTsKK30KKworc3RhdGljIEpTVmFsdWUgZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQo
RXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlJiBlYywgU1ZHRWxlbWVudCogY29udGV4dCwg
U1ZHTGVuZ3RoTGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRlbSkKK3sKKyAg
ICBpZiAoZWMpIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgfQorICAgIGNvbnRleHQtPnN2Z0F0dHJpYnV0ZUNo
YW5nZWQobGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7CisgICAgcmV0dXJuIHRvSlMo
ZXhlYywgSlNTVkdTdGF0aWNQT0RUeXBlV3JhcHBlcjxTVkdMZW5ndGg+OjpjcmVhdGUoKml0ZW0p
LmdldCgpLCBjb250ZXh0KTsKK30KKworSlNWYWx1ZSBKU1NWR0xlbmd0aExpc3Q6OmNsZWFyKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYpCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CisgICAgaW1wbCgpLT5jbGVhcihlYyk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKKyAgICBtX2NvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQoaW1wbCgpLT5hc3NvY2lhdGVk
QXR0cmlidXRlTmFtZSgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworSlNWYWx1
ZSBKU1NWR0xlbmd0aExpc3Q6OmluaXRpYWxpemUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdM
aXN0JiBhcmdzKQoreworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFNWR0xlbmd0aExp
c3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOworICAgIHJldHVybiBmaW5pc2hTZXR0ZXIoZXhlYywg
ZWMsIGNvbnRleHQoKSwgaW1wbCgpLAorICAgICAgICBsaXN0SW1wLT5pbml0aWFsaXplKFBPRExp
c3RJdGVtOjpjb3B5KHRvU1ZHTGVuZ3RoKGFyZ3MuYXQoMCkpKSwgZWMpKTsKK30KKworSlNWYWx1
ZSBKU1NWR0xlbmd0aExpc3Q6OmdldEl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0
JiBhcmdzKQoreworICAgIGJvb2wgaW5kZXhPazsKKyAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3Mu
YXQoMCkudG9VSW50MzIoZXhlYywgaW5kZXhPayk7CisgICAgaWYgKCFpbmRleE9rKSB7CisgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworICAgIH0KKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwor
ICAgIFNWR0xlbmd0aExpc3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOworICAgIHJldHVybiBmaW5p
c2hHZXR0ZXIoZXhlYywgZWMsIGNvbnRleHQoKSwgaW1wbCgpLAorICAgICAgICBsaXN0SW1wLT5n
ZXRJdGVtKGluZGV4LCBlYykpOworfQorCitKU1ZhbHVlIEpTU1ZHTGVuZ3RoTGlzdDo6aW5zZXJ0
SXRlbUJlZm9yZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCit7CisgICAg
Ym9vbCBpbmRleE9rOworICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgxKS50b1VJbnQzMihl
eGVjLCBpbmRleE9rKTsKKyAgICBpZiAoIWluZGV4T2spIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0
aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CisgICAgfQorCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgU1ZHTGVuZ3RoTGlz
dEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7CisgICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBl
YywgY29udGV4dCgpLCBpbXBsKCksCisgICAgICAgIGxpc3RJbXAtPmluc2VydEl0ZW1CZWZvcmUo
UE9ETGlzdEl0ZW06OmNvcHkodG9TVkdMZW5ndGgoYXJncy5hdCgwKSkpLCBpbmRleCwgZWMpKTsK
K30KKworSlNWYWx1ZSBKU1NWR0xlbmd0aExpc3Q6OnJlcGxhY2VJdGVtKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgQXJnTGlzdCYgYXJncykKK3sKKyAgICBib29sIGluZGV4T2s7CisgICAgdW5zaWdu
ZWQgaW5kZXggPSBhcmdzLmF0KDEpLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOworICAgIGlmICgh
aW5kZXhPaykgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9F
UlIpOworICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB9CisKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBTVkdMZW5ndGhMaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsK
KyAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKKyAg
ICAgICAgbGlzdEltcC0+cmVwbGFjZUl0ZW0oUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdMZW5ndGgo
YXJncy5hdCgwKSkpLCBpbmRleCwgZWMpKTsKK30KKworSlNWYWx1ZSBKU1NWR0xlbmd0aExpc3Q6
OnJlbW92ZUl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQoreworICAg
IGJvb2wgaW5kZXhPazsKKyAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3MuYXQoMCkudG9VSW50MzIo
ZXhlYywgaW5kZXhPayk7CisgICAgaWYgKCFpbmRleE9rKSB7CisgICAgICAgIHNldERPTUV4Y2Vw
dGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOworICAgIH0KKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFNWR0xlbmd0aExp
c3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOworICAgIHJldHVybiBmaW5pc2hTZXR0ZXJSZWFkT25s
eVJlc3VsdChleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCisgICAgICAgIGxpc3RJbXAtPnJl
bW92ZUl0ZW0oaW5kZXgsIGVjKSk7Cit9CisKK0pTVmFsdWUgSlNTVkdMZW5ndGhMaXN0OjphcHBl
bmRJdGVtKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKK3sKKyAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKKyAgICBTVkdMZW5ndGhMaXN0QmFzZSogbGlzdEltcCA9IGltcGwo
KTsKKyAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwK
KyAgICAgICAgbGlzdEltcC0+YXBwZW5kSXRlbShQT0RMaXN0SXRlbTo6Y29weSh0b1NWR0xlbmd0
aChhcmdzLmF0KDApKSksIGVjKSk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmlkbCBiL1dlYkNvcmUvc3ZnL1NW
R0xlbmd0aExpc3QuaWRsCmluZGV4IGIxMTgxMWIuLmM5MzAwMWMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3Qu
aWRsCkBAIC0yOSwxOSArMjksMTkgQEAgbW9kdWxlIHN2ZyB7CiAgICAgaW50ZXJmYWNlIFtDb25k
aXRpb25hbD1TVkddIFNWR0xlbmd0aExpc3QgeyAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJdGVtczsKIAotICAgICAgICB2b2lkIGNsZWFyKCkKKyAg
ICAgICAgW0pTQ0N1c3RvbV0gdm9pZCBjbGVhcigpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKLSAgICAgICAgU1ZHTGVuZ3RoIGluaXRpYWxpemUoaW4gU1ZHTGVuZ3RoIGl0ZW0p
CisgICAgICAgIFtKU0NDdXN0b21dIFNWR0xlbmd0aCBpbml0aWFsaXplKGluIFNWR0xlbmd0aCBp
dGVtKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhjZXB0aW9uKTsKLSAg
ICAgICAgU1ZHTGVuZ3RoIGdldEl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAg
W0pTQ0N1c3RvbV0gU1ZHTGVuZ3RoIGdldEl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKICAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBTVkdMZW5ndGggaW5zZXJ0
SXRlbUJlZm9yZShpbiBTVkdMZW5ndGggaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAg
ICAgICAgW0pTQ0N1c3RvbV0gU1ZHTGVuZ3RoIGluc2VydEl0ZW1CZWZvcmUoaW4gU1ZHTGVuZ3Ro
IGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uLCBTVkdFeGNlcHRpb24pOwotICAgICAgICBTVkdMZW5ndGggcmVwbGFjZUl0ZW0oaW4g
U1ZHTGVuZ3RoIGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFtKU0NDdXN0
b21dIFNWR0xlbmd0aCByZXBsYWNlSXRlbShpbiBTVkdMZW5ndGggaXRlbSwgaW4gdW5zaWduZWQg
bG9uZyBpbmRleCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlv
bik7Ci0gICAgICAgIFNWR0xlbmd0aCByZW1vdmVJdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgp
CisgICAgICAgIFtKU0NDdXN0b21dIFNWR0xlbmd0aCByZW1vdmVJdGVtKGluIHVuc2lnbmVkIGxv
bmcgaW5kZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgU1ZH
TGVuZ3RoIGFwcGVuZEl0ZW0oaW4gU1ZHTGVuZ3RoIGl0ZW0pCisgICAgICAgIFtKU0NDdXN0b21d
IFNWR0xlbmd0aCBhcHBlbmRJdGVtKGluIFNWR0xlbmd0aCBpdGVtKQogICAgICAgICAgICAgcmFp
c2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhjZXB0aW9uKTsKICAgICB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46273</attachid>
            <date>2010-01-11 07:33:50 -0800</date>
            <delta_ts>2010-01-11 10:41:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22384-20100111163342.patch</filename>
            <type>text/plain</type>
            <size>92808</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzA3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDYgQEAKKzIwMTAtMDEtMTEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgc3ZnIDx0ZXh0PiBmYWlscyB0byB1cGRhdGUgd2hlbiBzZXR0aW5nIHgveQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzODQKKworICAgICAg
ICBJbnRyb2R1Y2UgSlNTVkdDdXNvdG1MaXN0VGVtcGxhdGUsIHJlZmFjdG9yaW5nIHRoZSBleGlz
dGluZyBjdXN0b20gY29kZSBmb3IgU1ZHIFBPRCB0eXBlIGxpc3RzLgorICAgICAgICAoQ3VycmVu
dGx5IFNWR1RyYW5zZm9ybUxpc3QvU1ZHUG9pbnRMaXN0IHdhcyBoYW5kbGVkIGNvcnJlY3RseSwg
YW5kIFNWR0xlbmd0aExpc3QvU1ZHTnVtYmVyTGlzdCBub3QpCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBuZWVkIGZvciBjdXN0b20gSlNTVkcqTGlzdC5jcHAgaW1wbGVtZW50YXRpb25zLCBidXQgaW5z
dGVhZCB0d2VhayBDb2RlR2VuZXJhdG9ySlMucG0sCisgICAgICAgIHRvIGNhbGwgaW50byB0aGUg
bmV3IEpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlIG1ldGhvZHMuIEZpeGVzIGR5bmFtaWMgdXBkYXRl
cyBvZiB0aGUgU1ZHVGV4dEVsZW1lbnQKKyAgICAgICAgJ3JvdGF0ZScgJiAneCcvJ3knIFNWRyBE
T00gcHJvcGVydGllcy4KKworICAgICAgICBUZXN0czogc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0
ZXMtU1ZHTGlzdC54aHRtbAorICAgICAgICAgICAgICAgc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdU
ZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5q
c2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdDdXN0b21MaXN0VGVtcGxhdGU6OmNsZWFy
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlOjppbml0aWFsaXpl
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlOjpnZXRJdGVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlOjppbnNlcnRJdGVtQmVm
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlOjpyZXBsYWNl
SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0N1c3RvbUxpc3RUZW1wbGF0ZTo6cmVtb3Zl
SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0N1c3RvbUxpc3RUZW1wbGF0ZTo6YXBwZW5k
SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0N1c3RvbUxpc3RUZW1wbGF0ZTo6ZmluaXNo
R2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlOjpmaW5p
c2hTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdDdXN0b21MaXN0VGVtcGxhdGU6OmZp
bmlzaFNldHRlclJlYWRPbmx5UmVzdWx0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR1Bv
aW50TGlzdEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNTVkdU
cmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0OjpTVkdOdW1iZXJMaXN0KToKKyAgICAg
ICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2ludExpc3QuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zvcm1MaXN0LmlkbDoKKwogMjAxMC0wMS0xMSAgSm9h
bm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCShyZXZpc2lvbiA1
MzA3NCkKKysrIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkod29ya2luZyBjb3B5KQpA
QCAtMTQzLDggKzE0Myw2IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNT
VkdNYXRyaXhDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdDdXN0b20uY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCBcCi0JYmluZGluZ3Mv
anMvSlNTVkdQb2ludExpc3RDdXN0b20uY3BwIFwKLQliaW5kaW5ncy9qcy9KU1NWR1RyYW5zZm9y
bUxpc3RDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU1NoYXJlZFdvcmtlckNvbnN0cnVjdG9y
LmNwcCBcCiAJYmluZGluZ3MvanMvSlNTaGFyZWRXb3JrZXJDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNTMwNzQpCisr
KyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yOTEyLDE0ICsyOTEy
LDEzIEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1ERU5BQkxFX1NWRz0xCiAKIHdlYmNvcmVf
c291cmNlcyArPSBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0N1c3RvbUxpc3RUZW1wbGF0
ZS5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNw
cCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNTVkdNYXRyaXhDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTU1ZHUE9EVHlwZVdyYXBwZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1Bh
dGhTZWdDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0xpc3RD
dXN0b20uY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNw
cCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwIFwK
IAlXZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIFwKIAlXZWJD
b3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVj
dG9yLmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNTMwNzQpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lw
aQkod29ya2luZyBjb3B5KQpAQCAtNTc1LDE0ICs1NzUsMTMgQEAKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNT
dHlsZVNoZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNTdHlsZVNo
ZWV0TGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTU1ZHQ3VzdG9t
TGlzdFRlbXBsYXRlLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudElu
c3RhbmNlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNTVkdMZW5ndGhD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1NWR01hdHJpeEN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0xpc3RDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1NWR1BPRFR5cGVXcmFwcGVyLmgnLAotICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJL
aXRDU1NNYXRyaXhDb25zdHJ1Y3Rvci5jcHAnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1MzA3NCkKKysrIFdl
YkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTI5MzgsOCArMjkzOCw2IEBAIGNv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICAgICBiaW5kaW5ncy9qcy9KU1NW
R01hdHJpeEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdDdXN0
b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNTVkdQYXRoU2VnTGlzdEN1c3RvbS5jcHAg
XAotICAgICAgICBiaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAgXAotICAgICAg
ICBiaW5kaW5ncy9qcy9KU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgY3Nz
L1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAogICAgICAgICBjc3MvU1ZHQ1NT
UGFyc2VyLmNwcCBcCiAgICAgICAgIGNzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDUzMDc0KQorKysg
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAt
Mzg4NjQsNiArMzg4NjQsMTAgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1NW
R0N1c3RvbUxpc3RUZW1wbGF0ZS5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxl
DQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHRWxlbWVudEluc3RhbmNl
Q3VzdG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTM5MTI4
LDYyICszOTEzMiw2IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAiDQot
CQkJCQk+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCQk+DQotCQkJCQkJPFRv
b2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkvPg0KLQkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQkJ
Pg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJ
Lz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
Ci0JCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCi0JCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KLQkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0JCQkJCQk8VG9vbA0KLQkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCS8+DQotCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb3xXaW4zMiINCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCQk+
DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkv
Pg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
LQkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPC9GaWxl
Pg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1Ry
YW5zZm9ybUxpc3RDdXN0b20uY3BwIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxl
DQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5jcHAiDQog
CQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTMwNzQpCisrKyBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTAzMyw3
ICsxMDMzLDYgQEAKIAkJNTE2MDMwMEIwQ0M0MjUxMjAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1QT1NJ
WC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYw
MzAwQTBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCAqLzsgfTsKIAkJNTE2
MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1DRi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwMzA2QjBDQzQzNjIzMDBDOEFDMjUg
LyogRmlsZVN5c3RlbUNGLmNwcCAqLzsgfTsKIAkJNTE2MEY0OTgwQjBBQTc1RjAwQzFEMkFGIC8q
IEhpc3RvcnlJdGVtTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE2MEY0OTcwQjBBQTc1RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tICov
OyB9OwotCQk1MTZCQjc5MzBDRTkxRTY4MDA1MTJGNzkgLyogSlNTVkdQb2ludExpc3RDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2QkI3
OTEwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
NTE2QkI3OTQwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZCQjc5MjBDRTkxRTY4
MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCAqLzsgfTsKIAkJNTE3NDFEMEYwQjA3
MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3NDFEMEIwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tG
b3J3YXJkTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxNzQxRDEwMEIwNzI1OUEwMEVENDQyQyAvKiBCYWNrRm9yd2FyZExpc3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3NDFEMEMwQjA3
MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5jcHAgKi87IH07CkBAIC0zODI1LDcgKzM4
MjQsNiBAQAogCQlCMkNCOTI2NDBCNUJEQTAyMDA5QkFBNzggLyogRE9NU1ZHRWxlbWVudEluc3Rh
bmNlTGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIyQ0I5MjYwMEI1QkRBMDIwMDlCQUE3OCAvKiBET01TVkdFbGVtZW50SW5zdGFuY2VMaXN0Lm1t
ICovOyB9OwogCQlCMkNDRUM0NzBDNkNBOUYxMDA2QTU0MjQgLyogUmVuZGVyU1ZHVmlld3BvcnRD
b250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjJDQ0VDNDUwQzZDQTlGMTAwNkE1NDI0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LmNwcCAqLzsgfTsKIAkJQjJDQ0VDNDgwQzZDQTlGMTAwNkE1NDI0IC8qIFJlbmRlclNWR1ZpZXdw
b3J0Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMkNDRUM0NjBDNkNBOUYxMDA2QTU0MjQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWlu
ZXIuaCAqLzsgfTsKLQkJQjJEM0ZDOEEwQzIyMTJDQjAwQ0YzNjE4IC8qIEpTU1ZHVHJhbnNmb3Jt
TGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMkQzRkM4OTBDMjIxMkNCMDBDRjM2MTggLyogSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9t
LmNwcCAqLzsgfTsKIAkJQjJFMjdDOUYwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkUyN0M5
RDBCMEYyQjA5MDBGMTdDN0IgLyogRmxvYXRQb2ludDNELmNwcCAqLzsgfTsKIAkJQjJFMjdDQTAw
QjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJFMjdDOUUwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0
UG9pbnQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUIyRTRFQzk3MEQwMEMyMkIwMDQzMjY0MyAvKiBTVkdab29tRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJFNEVDOTQwRDAwQzIyQjAw
NDMyNjQzIC8qIFNWR1pvb21FdmVudC5jcHAgKi87IH07CkBAIC02MzY0LDcgKzYzNjIsNiBAQAog
CQk1MTYwMzAwQTBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVTeXN0ZW1QT1NJWC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxl
U3lzdGVtQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVN5
c3RlbUNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2MEY0OTcwQjBBQTc1
RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gSGlzdG9yeUl0ZW1NYWMubW07IHBhdGggPSBtYWMvSGlzdG9yeUl0ZW1N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxNkJCNzkxMENFOTFFNjgwMDUx
MkY3OSAvKiBKU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1NWR1BvaW50TGlzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxNkJCNzkyMENFOTFFNjgwMDUxMkY3OSAvKiBKU1RyZWVXYWxrZXJDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmVlV2Fsa2Vy
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3NDFEMEIwQjA3MjU5
QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBCYWNrRm9yd2FyZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTE3NDFEMEMwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYWNrRm9yd2FyZExpc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwNiw3ICs5MDAzLDYgQEAKIAkJQjJDQjkyNjAwQjVC
REEwMjAwOUJBQTc4IC8qIERPTVNWR0VsZW1lbnRJbnN0YW5jZUxpc3QubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDQ0VDNDUwQzZDQTlGMTAwNkE1NDI0
IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQ0NFQzQ2MEM2Q0E5RjEwMDZBNTQyNCAvKiBSZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQjJEM0ZDODkwQzIyMTJDQjAwQ0YzNjE4IC8qIEpTU1ZHVHJhbnNmb3JtTGlzdEN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdUcmFuc2Zvcm1M
aXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJFMjdDOUQwQjBG
MkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmxvYXRQb2ludDNELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjJFMjdDOUUwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmxvYXRQb2ludDNELmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyRTRFQzk0MEQwMEMyMkIwMDQzMjY0MyAvKiBTVkdab29tRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1pvb21FdmVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDY2OCw4ICsxNDY2NCw2IEBACiAJ
CQkJQjI1REZBQUUwQjJFMjkyOTAwMEU2NTEwIC8qIEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCAqLywK
IAkJCQlCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMgLyogSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCAq
LywKIAkJCQlCMjk3QkM2RjBCM0MxNENGMDA0NUE1OTAgLyogSlNTVkdQYXRoU2VnTGlzdEN1c3Rv
bS5jcHAgKi8sCi0JCQkJNTE2QkI3OTEwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTU1ZHUG9pbnRMaXN0
Q3VzdG9tLmNwcCAqLywKLQkJCQlCMkQzRkM4OTBDMjIxMkNCMDBDRjM2MTggLyogSlNTVkdUcmFu
c2Zvcm1MaXN0Q3VzdG9tLmNwcCAqLywKIAkJCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyog
SlNUZXh0Q3VzdG9tLmNwcCAqLywKIAkJCQk1MTZCQjc5MjBDRTkxRTY4MDA1MTJGNzkgLyogSlNU
cmVlV2Fsa2VyQ3VzdG9tLmNwcCAqLywKIAkJCQk1MThBMzRDNjEwMjZDOEM5MDAxQjY4OTYgLyog
SlNXZWJTb2NrZXRDdXN0b20uY3BwICovLApAQCAtMTk3MDYsNyArMTk3MDAsNiBAQAogCQkJCUIy
RkEzREUwMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdHRlcm5FbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg1NDJBNzk2MEFFNUM5NDIwMERGNThERiAvKiBKU1NWR1BvaW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyRkEzREUyMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BvaW50
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTZCQjc5MzBDRTkxRTY4MDA1MTJGNzkgLyog
SlNTVkdQb2ludExpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNERTUwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9seWdvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQjJGQTNERTcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9seWxpbmVFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyRkEzREU5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xOTcyOSw3ICsxOTcyMiw2IEBA
CiAJCQkJQjJGQTNFMDgwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGl0bGVFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyRkEzRTBBMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1RyYW5z
Zm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0UwQzBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdUcmFuc2Zvcm1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIyRDNGQzhBMEMyMjEy
Q0IwMENGMzYxOCAvKiBKU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjJGQTNFMEUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVFJlZkVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNFMTAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVFNwYW5F
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTEyMEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1VuaXRUeXBlcy5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNTVkdDdXN0b21MaXN0VGVtcGxhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlLmgJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJp
Z2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBKU1NW
R0N1c3RvbUxpc3RUZW1wbGF0ZV9oCisjZGVmaW5lIEpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlX2gK
KworI2luY2x1ZGUgIkpTU1ZHUE9EVHlwZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJTVkdMaXN0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgSlNXcmFwcGVyVHlw
ZSwgdHlwZW5hbWUgUE9EVHlwZSwgdHlwZW5hbWUgUE9EVHlwZUxpc3Q+CitjbGFzcyBKU1NWR0N1
c3RvbUxpc3RUZW1wbGF0ZSB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBTVkdQT0RMaXN0SXRlbTxQ
T0RUeXBlPiBQT0RMaXN0SXRlbTsKKyAgICB0eXBlZGVmIFNWR0xpc3Q8UmVmUHRyPFBPRExpc3RJ
dGVtPiA+IFNWR0xpc3RCYXNlOworICAgIHR5cGVkZWYgUE9EVHlwZSAoKkNvbnZlcnNpb25DYWxs
YmFjaykoSlNDOjpKU1ZhbHVlKTsKKworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgY2xlYXIoSlNX
cmFwcGVyVHlwZSogd3JhcHBlciwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6QXJn
TGlzdCYsIENvbnZlcnNpb25DYWxsYmFjaykKKyAgICB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOworICAgICAgICBTVkdMaXN0QmFzZSogbGlzdEltcCA9IHdyYXBwZXItPmltcGwoKTsK
KyAgICAgICAgbGlzdEltcC0+Y2xlYXIoZWMpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhl
YywgZWMpOworICAgICAgICB3cmFwcGVyLT5jb250ZXh0KCktPnN2Z0F0dHJpYnV0ZUNoYW5nZWQo
bGlzdEltcC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7CisgICAgICAgIHJldHVybiBKU0M6
OmpzVW5kZWZpbmVkKCk7CisgICAgfQorCisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBpbml0aWFs
aXplKEpTV3JhcHBlclR5cGUqIHdyYXBwZXIsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBK
U0M6OkFyZ0xpc3QmIGFyZ3MsIENvbnZlcnNpb25DYWxsYmFjayBjb252ZXJzaW9uKQorICAgIHsK
KyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIFNWR0xpc3RCYXNlKiBsaXN0
SW1wID0gd3JhcHBlci0+aW1wbCgpOworICAgICAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMs
IGVjLCB3cmFwcGVyLT5jb250ZXh0KCksIHdyYXBwZXItPmltcGwoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaXN0SW1wLT5pbml0aWFsaXplKFBPRExpc3RJdGVtOjpjb3B5KCgqY29u
dmVyc2lvbikoYXJncy5hdCgwKSkpLCBlYykpOworICAgIH0KKworICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgZ2V0SXRlbShKU1dyYXBwZXJUeXBlKiB3cmFwcGVyLCBKU0M6OkV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLCBDb252ZXJzaW9uQ2FsbGJhY2spCisgICAgewor
ICAgICAgICBib29sIGluZGV4T2sgPSBmYWxzZTsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSBh
cmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOworICAgICAgICBpZiAoIWluZGV4T2sp
IHsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7
CisgICAgICAgICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworICAgICAgICB9CisKKyAg
ICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIFNWR0xpc3RCYXNlKiBsaXN0SW1w
ID0gd3JhcHBlci0+aW1wbCgpOworICAgICAgICByZXR1cm4gZmluaXNoR2V0dGVyKGV4ZWMsIGVj
LCB3cmFwcGVyLT5jb250ZXh0KCksIHdyYXBwZXItPmltcGwoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaXN0SW1wLT5nZXRJdGVtKGluZGV4LCBlYykpOworICAgIH0KKworICAgIHN0
YXRpYyBKU0M6OkpTVmFsdWUgaW5zZXJ0SXRlbUJlZm9yZShKU1dyYXBwZXJUeXBlKiB3cmFwcGVy
LCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLCBDb252ZXJz
aW9uQ2FsbGJhY2sgY29udmVyc2lvbikKKyAgICB7CisgICAgICAgIGJvb2wgaW5kZXhPayA9IGZh
bHNlOworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3MuYXQoMSkudG9VSW50MzIoZXhlYywg
aW5kZXhPayk7CisgICAgICAgIGlmICghaW5kZXhPaykgeworICAgICAgICAgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgICAgIHJldHVybiBKU0M6
OmpzVW5kZWZpbmVkKCk7CisgICAgICAgIH0KKworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKKyAgICAgICAgU1ZHTGlzdEJhc2UqIGxpc3RJbXAgPSB3cmFwcGVyLT5pbXBsKCk7CisgICAg
ICAgIHJldHVybiBmaW5pc2hTZXR0ZXIoZXhlYywgZWMsIHdyYXBwZXItPmNvbnRleHQoKSwgd3Jh
cHBlci0+aW1wbCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJbXAtPmluc2Vy
dEl0ZW1CZWZvcmUoUE9ETGlzdEl0ZW06OmNvcHkoKCpjb252ZXJzaW9uKShhcmdzLmF0KDApKSks
IGluZGV4LCBlYykpOworICAgIH0KKworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgcmVwbGFjZUl0
ZW0oSlNXcmFwcGVyVHlwZSogd3JhcHBlciwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpT
Qzo6QXJnTGlzdCYgYXJncywgQ29udmVyc2lvbkNhbGxiYWNrIGNvbnZlcnNpb24pCisgICAgewor
ICAgICAgICBib29sIGluZGV4T2sgPSBmYWxzZTsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSBh
cmdzLmF0KDEpLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOworICAgICAgICBpZiAoIWluZGV4T2sp
IHsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7
CisgICAgICAgICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworICAgICAgICB9CisKKyAg
ICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIFNWR0xpc3RCYXNlKiBsaXN0SW1w
ID0gd3JhcHBlci0+aW1wbCgpOworICAgICAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVj
LCB3cmFwcGVyLT5jb250ZXh0KCksIHdyYXBwZXItPmltcGwoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaXN0SW1wLT5yZXBsYWNlSXRlbShQT0RMaXN0SXRlbTo6Y29weSgoKmNvbnZl
cnNpb24pKGFyZ3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7CisgICAgfQorCisgICAgc3RhdGljIEpT
Qzo6SlNWYWx1ZSByZW1vdmVJdGVtKEpTV3JhcHBlclR5cGUqIHdyYXBwZXIsIEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBjb25zdCBKU0M6OkFyZ0xpc3QmIGFyZ3MsIENvbnZlcnNpb25DYWxsYmFjaykK
KyAgICB7CisgICAgICAgIGJvb2wgaW5kZXhPayA9IGZhbHNlOworICAgICAgICB1bnNpZ25lZCBp
bmRleCA9IGFyZ3MuYXQoMCkudG9VSW50MzIoZXhlYywgaW5kZXhPayk7CisgICAgICAgIGlmICgh
aW5kZXhPaykgeworICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CisgICAgICAg
IH0KKworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgU1ZHTGlzdEJhc2Uq
IGxpc3RJbXAgPSB3cmFwcGVyLT5pbXBsKCk7CisgICAgICAgIHJldHVybiBmaW5pc2hTZXR0ZXJS
ZWFkT25seVJlc3VsdChleGVjLCBlYywgd3JhcHBlci0+Y29udGV4dCgpLCB3cmFwcGVyLT5pbXBs
KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SW1wLT5y
ZW1vdmVJdGVtKGluZGV4LCBlYykpOworICAgIH0KKworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
YXBwZW5kSXRlbShKU1dyYXBwZXJUeXBlKiB3cmFwcGVyLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLCBDb252ZXJzaW9uQ2FsbGJhY2sgY29udmVyc2lvbikK
KyAgICB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBTVkdMaXN0QmFz
ZSogbGlzdEltcCA9IHdyYXBwZXItPmltcGwoKTsKKyAgICAgICAgcmV0dXJuIGZpbmlzaFNldHRl
cihleGVjLCBlYywgd3JhcHBlci0+Y29udGV4dCgpLCB3cmFwcGVyLT5pbXBsKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlzdEltcC0+YXBwZW5kSXRlbShQT0RMaXN0SXRlbTo6Y29w
eSgoKmNvbnZlcnNpb24pKGFyZ3MuYXQoMCkpKSwgZWMpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBmaW5pc2hHZXR0ZXIoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250ZXh0LCBQT0RUeXBlTGlzdCogbGlz
dCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRlbSkKKyAgICB7CisgICAgICAgIGlmIChlYykg
eworICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICAgICAgICAgIHJl
dHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgSlNTVkdQT0RU
eXBlV3JhcHBlckNyZWF0b3JGb3JMaXN0PFBPRFR5cGU+OjpjcmVhdGUoaXRlbS5nZXQoKSwgbGlz
dC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSkuZ2V0KCksIGNvbnRleHQpOworICAgIH0KKwor
ICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZmluaXNoU2V0dGVyKEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBFeGNlcHRpb25Db2RlJiBlYywgU1ZHRWxlbWVudCogY29udGV4dCwgUE9EVHlwZUxpc3QqIGxp
c3QsIFBhc3NSZWZQdHI8UE9ETGlzdEl0ZW0+IGl0ZW0pCisgICAgeworICAgICAgICBpZiAoZWMp
IHsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgICAgICBy
ZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworICAgICAgICB9CisgICAgICAgIGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUgPSBsaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgp
OworICAgICAgICBjb250ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJpYnV0ZU5hbWUpOwor
ICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90
eXBlKGV4ZWMpLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRvckZvckxpc3Q8UE9EVHlwZT46OmNy
ZWF0ZShpdGVtLmdldCgpLCBhdHRyaWJ1dGVOYW1lKS5nZXQoKSwgY29udGV4dCk7CisgICAgfQor
CisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBmaW5pc2hTZXR0ZXJSZWFkT25seVJlc3VsdChKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRleHQs
IFBPRFR5cGVMaXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExpc3RJdGVtPiBpdGVtKQorICAgIHsK
KyAgICAgICAgaWYgKGVjKSB7CisgICAgICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMp
OworICAgICAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKKyAgICAgICAgfQorICAg
ICAgICBjb250ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGxpc3QtPmFzc29jaWF0ZWRBdHRyaWJ1
dGVOYW1lKCkpOworICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2Jq
ZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1N0YXRpY1BPRFR5cGVXcmFwcGVyPFBPRFR5cGU+
OjpjcmVhdGUoKml0ZW0pLmdldCgpLCBjb250ZXh0KTsKKyAgICB9Cit9OworCit9CisKKyNlbmRp
ZgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAJ
KHJldmlzaW9uIDUzMDc0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1
c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkpT
U1ZHUG9pbnRMaXN0LmgiCi0KLSNpbmNsdWRlICJKU1NWR1BvaW50LmgiCi0jaW5jbHVkZSAiU1ZH
UG9pbnRMaXN0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotdHlwZWRlZiBTVkdQT0RMaXN0SXRlbTxGbG9hdFBvaW50PiBQT0RMaXN0SXRlbTsKLXR5
cGVkZWYgU1ZHTGlzdDxSZWZQdHI8UE9ETGlzdEl0ZW0+ID4gU1ZHUG9pbnRMaXN0QmFzZTsKLQot
c3RhdGljIEpTVmFsdWUgZmluaXNoR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29k
ZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRleHQsIFNWR1BvaW50TGlzdCogbGlzdCwgUGFzc1JlZlB0
cjxQT0RMaXN0SXRlbSA+IGl0ZW0pCi17Ci0gICAgaWYgKGVjKSB7Ci0gICAgICAgIHNldERPTUV4
Y2VwdGlvbihleGVjLCBlYyk7Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0K
LSAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBl
KGV4ZWMpLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRvckZvckxpc3Q8RmxvYXRQb2ludD46OmNy
ZWF0ZShpdGVtLmdldCgpLCBsaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKS5nZXQoKSwg
Y29udGV4dCk7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250ZXh0LCBTVkdQb2ludExpc3Qq
IGxpc3QsIFBhc3NSZWZQdHI8UE9ETGlzdEl0ZW0gPiBpdGVtKQotewotICAgIGlmIChlYykgewot
ICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwotICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKLSAgICB9Ci0gICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSA9
IGxpc3QtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCk7Ci0gICAgY29udGV4dC0+c3ZnQXR0cmli
dXRlQ2hhbmdlZChhdHRyaWJ1dGVOYW1lKTsKLSAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNh
dGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3Jl
YXRvckZvckxpc3Q8RmxvYXRQb2ludD46OmNyZWF0ZShpdGVtLmdldCgpLCBhdHRyaWJ1dGVOYW1l
KS5nZXQoKSwgY29udGV4dCk7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRlclJlYWRP
bmx5UmVzdWx0KEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQq
IGNvbnRleHQsIFNWR1BvaW50TGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRl
bSkKLXsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsK
LSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQotICAgIGNvbnRleHQtPnN2Z0F0
dHJpYnV0ZUNoYW5nZWQobGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7Ci0gICAgcmV0
dXJuIHRvSlMoZXhlYywgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwg
SlNTVkdTdGF0aWNQT0RUeXBlV3JhcHBlcjxGbG9hdFBvaW50Pjo6Y3JlYXRlKCppdGVtKS5nZXQo
KSwgY29udGV4dCk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdQb2ludExpc3Q6OmNsZWFyKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgQXJnTGlzdCYpCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0g
ICAgaW1wbCgpLT5jbGVhcihlYyk7Ci0gICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAg
ICBtX2NvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQoaW1wbCgpLT5hc3NvY2lhdGVkQXR0cmli
dXRlTmFtZSgpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSBKU1NW
R1BvaW50TGlzdDo6aW5pdGlhbGl6ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFy
Z3MpCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHUG9pbnRMaXN0QmFzZSog
bGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250
ZXh0KCksIGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+aW5pdGlhbGl6ZShQT0RMaXN0SXRlbTo6
Y29weSh0b1NWR1BvaW50KGFyZ3MuYXQoMCkpKSwgZWMpKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1Bv
aW50TGlzdDo6Z2V0SXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17
Ci0gICAgYm9vbCBpbmRleE9rOwotICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgwKS50b1VJ
bnQzMihleGVjLCBpbmRleE9rKTsKLSAgICBpZiAoIWluZGV4T2spIHsKLSAgICAgICAgc2V0RE9N
RXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKLSAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7Ci0gICAgfQotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHUG9p
bnRMaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoR2V0dGVyKGV4
ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+Z2V0SXRlbShpbmRl
eCwgZWMpKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1BvaW50TGlzdDo6aW5zZXJ0SXRlbUJlZm9yZShF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBpbmRleE9r
OwotICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgxKS50b1VJbnQzMihleGVjLCBpbmRleE9r
KTsKLSAgICBpZiAoIWluZGV4T2spIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZ
UEVfTUlTTUFUQ0hfRVJSKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQot
Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHUG9pbnRMaXN0QmFzZSogbGlzdElt
cCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCks
IGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+aW5zZXJ0SXRlbUJlZm9yZShQT0RMaXN0SXRlbTo6
Y29weSh0b1NWR1BvaW50KGFyZ3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUg
SlNTVkdQb2ludExpc3Q6OnJlcGxhY2VJdGVtKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlz
dCYgYXJncykKLXsKLSAgICBib29sIGluZGV4T2s7Ci0gICAgdW5zaWduZWQgaW5kZXggPSBhcmdz
LmF0KDEpLnRvSW50MzIoZXhlYywgaW5kZXhPayk7Ci0gICAgaWYgKCFpbmRleE9rKSB7Ci0gICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7Ci0gICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0KLQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwot
ICAgIFNWR1BvaW50TGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlz
aFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPnJl
cGxhY2VJdGVtKFBPRExpc3RJdGVtOjpjb3B5KHRvU1ZHUG9pbnQoYXJncy5hdCgwKSkpLCBpbmRl
eCwgZWMpKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1BvaW50TGlzdDo6cmVtb3ZlSXRlbShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBpbmRleE9rOwotICAg
IHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgwKS50b0ludDMyKGV4ZWMsIGluZGV4T2spOwotICAg
IGlmICghaW5kZXhPaykgewotICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNN
QVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0KLSAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdQb2ludExpc3RCYXNlKiBsaXN0SW1wID0gaW1w
bCgpOwotICAgIHJldHVybiBmaW5pc2hTZXR0ZXJSZWFkT25seVJlc3VsdChleGVjLCBlYywgY29u
dGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPnJlbW92ZUl0ZW0oaW5kZXgsIGVjKSk7
Ci19Ci0KLUpTVmFsdWUgSlNTVkdQb2ludExpc3Q6OmFwcGVuZEl0ZW0oRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBBcmdMaXN0JiBhcmdzKQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAg
IFNWR1BvaW50TGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlzaFNl
dHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPmFwcGVu
ZEl0ZW0oUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdQb2ludChhcmdzLmF0KDApKSksIGVjKSk7Ci19
Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU1ZHVHJhbnNmb3JtTGlzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwCShyZXZpc2lvbiA1MzA3NCkKKysr
IFdlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAw
OCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAo
QykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiSlNTVkdUcmFuc2Zvcm1MaXN0LmgiCi0K
LSNpbmNsdWRlICJKU1NWR1RyYW5zZm9ybS5oIgotI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3Qu
aCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi10eXBl
ZGVmIFNWR1BPRExpc3RJdGVtPFNWR1RyYW5zZm9ybT4gUE9ETGlzdEl0ZW07Ci10eXBlZGVmIFNW
R0xpc3Q8UmVmUHRyPFBPRExpc3RJdGVtPiA+IFNWR1RyYW5zZm9ybUxpc3RCYXNlOwotCi1zdGF0
aWMgSlNWYWx1ZSBmaW5pc2hHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlJiBl
YywgU1ZHRWxlbWVudCogY29udGV4dCwgU1ZHVHJhbnNmb3JtTGlzdCogbGlzdCwgUGFzc1JlZlB0
cjxQT0RMaXN0SXRlbT4gaXRlbSkKLXsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQot
ICAgIHJldHVybiB0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUo
ZXhlYyksIEpTU1ZHUE9EVHlwZVdyYXBwZXJDcmVhdG9yRm9yTGlzdDxTVkdUcmFuc2Zvcm0+Ojpj
cmVhdGUoaXRlbS5nZXQoKSwgbGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSkuZ2V0KCks
IGNvbnRleHQpOwotfQotCi1zdGF0aWMgSlNWYWx1ZSBmaW5pc2hTZXR0ZXIoRXhlY1N0YXRlKiBl
eGVjLCBFeGNlcHRpb25Db2RlJiBlYywgU1ZHRWxlbWVudCogY29udGV4dCwgU1ZHVHJhbnNmb3Jt
TGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRlbSkKLXsKLSAgICBpZiAoZWMp
IHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7Ci0gICAgfQotICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5h
bWUgPSBsaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpOwotICAgIGNvbnRleHQtPnN2Z0F0
dHJpYnV0ZUNoYW5nZWQoYXR0cmlidXRlTmFtZSk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZGVw
cmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgSlNTVkdQT0RUeXBlV3JhcHBl
ckNyZWF0b3JGb3JMaXN0PFNWR1RyYW5zZm9ybT46OmNyZWF0ZShpdGVtLmdldCgpLCBhdHRyaWJ1
dGVOYW1lKS5nZXQoKSwgY29udGV4dCk7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRl
clJlYWRPbmx5UmVzdWx0KEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0Vs
ZW1lbnQqIGNvbnRleHQsIFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIFBhc3NSZWZQdHI8UE9ETGlz
dEl0ZW0+IGl0ZW0pCi17Ci0gICAgaWYgKGVjKSB7Ci0gICAgICAgIHNldERPTUV4Y2VwdGlvbihl
eGVjLCBlYyk7Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0KLSAgICBjb250
ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGxpc3QtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkp
OwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5
cGUoZXhlYyksIEpTU1ZHU3RhdGljUE9EVHlwZVdyYXBwZXI8U1ZHVHJhbnNmb3JtPjo6Y3JlYXRl
KCppdGVtKS5nZXQoKSwgY29udGV4dCk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0
OjpjbGVhcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmKQotewotICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwotICAgIGltcGwoKS0+Y2xlYXIoZWMpOwotICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBlYyk7Ci0gICAgbV9jb250ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGltcGwoKS0+
YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19
Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0Ojppbml0aWFsaXplKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAg
ICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmlu
aXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+
aW5pdGlhbGl6ZShQT0RMaXN0SXRlbTo6Y29weSh0b1NWR1RyYW5zZm9ybShhcmdzLmF0KDApKSks
IGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpnZXRJdGVtKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBib29sIGluZGV4T2s7Ci0gICAg
dW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOwotICAg
IGlmICghaW5kZXhPaykgewotICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNN
QVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0KLSAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9
IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoR2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGlt
cGwoKSwKLSAgICAgICAgbGlzdEltcC0+Z2V0SXRlbShpbmRleCwgZWMpKTsKLX0KLQotSlNWYWx1
ZSBKU1NWR1RyYW5zZm9ybUxpc3Q6Omluc2VydEl0ZW1CZWZvcmUoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBBcmdMaXN0JiBhcmdzKQotewotICAgIGJvb2wgaW5kZXhPazsKLSAgICB1bnNpZ25lZCBp
bmRleCA9IGFyZ3MuYXQoMSkudG9VSW50MzIoZXhlYywgaW5kZXhPayk7Ci0gICAgaWYgKCFpbmRl
eE9rKSB7Ci0gICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7
Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0KLQotICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwotICAgIFNWR1RyYW5zZm9ybUxpc3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOwot
ICAgIHJldHVybiBmaW5pc2hTZXR0ZXIoZXhlYywgZWMsIGNvbnRleHQoKSwgaW1wbCgpLAotICAg
ICAgICBsaXN0SW1wLT5pbnNlcnRJdGVtQmVmb3JlKFBPRExpc3RJdGVtOjpjb3B5KHRvU1ZHVHJh
bnNmb3JtKGFyZ3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFu
c2Zvcm1MaXN0OjpyZXBsYWNlSXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFy
Z3MpCi17Ci0gICAgYm9vbCBpbmRleE9rOwotICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgx
KS50b1VJbnQzMihleGVjLCBpbmRleE9rKTsKLSAgICBpZiAoIWluZGV4T2spIHsKLSAgICAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKLSAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7Ci0gICAgfQotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAg
U1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlz
aFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPnJl
cGxhY2VJdGVtKFBPRExpc3RJdGVtOjpjb3B5KHRvU1ZHVHJhbnNmb3JtKGFyZ3MuYXQoMCkpKSwg
aW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpyZW1vdmVJdGVt
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBib29sIGluZGV4
T2s7Ci0gICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4
T2spOwotICAgIGlmICghaW5kZXhPaykgewotICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywg
VFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9
Ci0KLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSog
bGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQo
ZXhlYywgZWMsIGNvbnRleHQoKSwgaW1wbCgpLAotICAgICAgICBsaXN0SW1wLT5yZW1vdmVJdGVt
KGluZGV4LCBlYykpOwotfQotCi1KU1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6YXBwZW5kSXRl
bShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7Ci0gICAgU1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7
Ci0gICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0g
ICAgICAgIGxpc3RJbXAtPmFwcGVuZEl0ZW0oUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdUcmFuc2Zv
cm0oYXJncy5hdCgwKSkpLCBlYykpOwotfQotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZp
c2lvbiA1MzA3NCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0JKHdvcmtpbmcgY29weSkKQEAgLTE1ODgsOCArMTU4OCwyOCBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOwogICAgICAgICAgICAgfQogCisgICAgICAgICAgICAj
IFNwZWNpYWwgY2FzZSBmb3IgSlNTVkdMZW5ndGhMaXN0IC8gSlNTVkdUcmFuc2Zvcm1MaXN0IC8g
SlNTVkdQb2ludExpc3QgLyBKU1NWR051bWJlckxpc3QKKyAgICAgICAgICAgICMgSW5zdGVhZCBv
ZiBoYXZpbmcgSlNTVkcqQ3VzdG9tLmNwcCBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBTVkdMaXN0
IGludGVyZmFjZSBmb3IgYWxsIG9mIHRoZXNlCisgICAgICAgICAgICAjIGNsYXNzZXMsIHdlIGRp
cmVjdGx5IGZvcndhcmQgdGhlIGNhbGxzIHRvIEpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlLCB3aGlj
aCBjZW50cmFsaXplcyB0aGUgb3RoZXJ3aGlzZQorICAgICAgICAgICAgIyBkdXBsaWNhdGVkIGNv
ZGUgZm9yIHRoZSBKU1NWRypMaXN0IGNsYXNzZXMgbWVudGlvbmVkIGFib3ZlLgorICAgICAgICAg
ICAgbXkgJHN2Z1BPRExpc3RUeXBlOworICAgICAgICAgICAgaWYgKCRpbXBsQ2xhc3NOYW1lID1+
IC9TVkcuKkxpc3QvKSB7CisgICAgICAgICAgICAgICAgJHN2Z1BPRExpc3RUeXBlID0gJGltcGxD
bGFzc05hbWU7CisgICAgICAgICAgICAgICAgJHN2Z1BPRExpc3RUeXBlID1+IHMvTGlzdCQvLzsK
KyAgICAgICAgICAgICAgICAkc3ZnUE9ETGlzdFR5cGUgPSAiIiB1bmxlc3MgJGNvZGVHZW5lcmF0
b3ItPklzUG9kVHlwZSgkc3ZnUE9ETGlzdFR5cGUpOworICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgICMgSWdub3JlIGFkZGl0aW9uYWwgKG5vbi1TVkdMaXN0KSBTVkdUcmFuc2Zvcm1M
aXN0IG1ldGhvZHMsIHRoYXQgYXJlIG5vdCBoYW5kbGVkIHRocm91Z2ggSlNTVkdDdXN0b21MaXN0
VGVtcGxhdGUKKyAgICAgICAgICAgICAgICAkc3ZnUE9ETGlzdFR5cGUgPSAiIiBpZiAkZnVuY3Rp
b25JbXBsZW1lbnRhdGlvbk5hbWUgPX4gL2NyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgvOwor
ICAgICAgICAgICAgICAgICRzdmdQT0RMaXN0VHlwZSA9ICIiIGlmICRmdW5jdGlvbkltcGxlbWVu
dGF0aW9uTmFtZSA9fiAvY29uc29saWRhdGUvOworICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20i
fSB8fCAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ0N1c3Rv
bSJ9KSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGNh
c3RlZFRoaXNPYmotPiIgLiAkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUgLiAiKGV4ZWMsIGFy
Z3MpO1xuIik7CisgICAgICAgICAgICB9IGVsc2lmICgkc3ZnUE9ETGlzdFR5cGUpIHsKKyAgICAg
ICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyR7c3ZnUE9ETGlzdFR5cGV9LmgifSA9IDE7Cisg
ICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNTVkdDdXN0b21MaXN0VGVtcGxhdGUuaCJ9
ID0gMTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gSlNT
VkdDdXN0b21MaXN0VGVtcGxhdGU8JGNsYXNzTmFtZSwgIiAuIEdldE5hdGl2ZVR5cGUoJHN2Z1BP
RExpc3RUeXBlKSAuICIsICRpbXBsQ2xhc3NOYW1lPjo6Iik7CisgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUoY2FzdGVkVGhpc09i
aiwgZXhlYywgYXJncywgJnRvIiAuICRzdmdQT0RMaXN0VHlwZSAuICIpO1xuIik7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICgkcG9kVHlwZSkgewogICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1NWR1BPRFR5cGVXcmFwcGVyPCRw
b2RUeXBlPiogd3JhcHBlciA9IGNhc3RlZFRoaXNPYmotPmltcGwoKTtcbiIpOwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
TnVtYmVyTGlzdC5jcHAJKHJldmlzaW9uIDUzMDc0KQorKysgV2ViQ29yZS9zdmcvU1ZHTnVtYmVy
TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogU1ZHTnVtYmVyTGlzdDo6U1ZHTnVtYmVyTGlzdChjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGVOYW1lKQotICAgIDogU1ZHTGlzdDxmbG9hdD4oYXR0cmlidXRlTmFtZSkKKyAg
ICA6IFNWR1BPRExpc3Q8ZmxvYXQ+KGF0dHJpYnV0ZU5hbWUpCiB7CiB9CiAKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR051bWJlckxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdOdW1i
ZXJMaXN0LmgJKHJldmlzaW9uIDUzMDc0KQorKysgV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIFN0cmluZzsKIAotICAgIGNsYXNzIFNWR051bWJlckxpc3QgOiBwdWJsaWMgU1ZH
TGlzdDxmbG9hdD4geworICAgIGNsYXNzIFNWR051bWJlckxpc3QgOiBwdWJsaWMgU1ZHUE9ETGlz
dDxmbG9hdD4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHTnVt
YmVyTGlzdD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdOdW1iZXJMaXN0KGF0dHJpYnV0ZU5hbWUpKTsgfQogICAgICAg
ICB2aXJ0dWFsIH5TVkdOdW1iZXJMaXN0KCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2ludExp
c3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwJKHJldmlz
aW9uIDUzMDc0KQorKysgV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsMTkgKzI4LDE5IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBbQ29uZGl0
aW9uYWw9U1ZHXSBTVkdQb2ludExpc3QgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBudW1iZXJPZkl0ZW1zOwogCi0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgY2xl
YXIoKQorICAgICAgICB2b2lkIGNsZWFyKCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwotICAgICAgICBbSlNDQ3VzdG9tXSBTVkdQb2ludCBpbml0aWFsaXplKGluIFNWR1BvaW50
IGl0ZW0pCisgICAgICAgIFNWR1BvaW50IGluaXRpYWxpemUoaW4gU1ZHUG9pbnQgaXRlbSkKICAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlvbik7Ci0gICAgICAgIFtK
U0NDdXN0b21dIFNWR1BvaW50IGdldEl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAg
ICAgU1ZHUG9pbnQgZ2V0SXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQogICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNWR1BvaW50IGluc2Vy
dEl0ZW1CZWZvcmUoaW4gU1ZHUG9pbnQgaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAg
ICAgICAgU1ZHUG9pbnQgaW5zZXJ0SXRlbUJlZm9yZShpbiBTVkdQb2ludCBpdGVtLCBpbiB1bnNp
Z25lZCBsb25nIGluZGV4KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhj
ZXB0aW9uKTsKLSAgICAgICAgW0pTQ0N1c3RvbV0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oaW4gU1ZH
UG9pbnQgaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAgU1ZHUG9pbnQgcmVw
bGFjZUl0ZW0oaW4gU1ZHUG9pbnQgaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKICAgICAg
ICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlvbik7Ci0gICAgICAgIFtKU0ND
dXN0b21dIFNWR1BvaW50IHJlbW92ZUl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAg
ICAgU1ZHUG9pbnQgcmVtb3ZlSXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQogICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNWR1BvaW50IGFw
cGVuZEl0ZW0oaW4gU1ZHUG9pbnQgaXRlbSkKKyAgICAgICAgU1ZHUG9pbnQgYXBwZW5kSXRlbShp
biBTVkdQb2ludCBpdGVtKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhj
ZXB0aW9uKTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmlkbAkocmV2aXNp
b24gNTMwNzQpCisrKyBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjksMTkgKzI5LDE5IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHXSBTVkdUcmFuc2Zvcm1MaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJdGVtczsKIAotICAgICAgICBbSlNDQ3VzdG9tXSB2
b2lkIGNsZWFyKCkKKyAgICAgICAgdm9pZCBjbGVhcigpCiAgICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKLSAgICAgICAgW0pTQ0N1c3RvbV0gU1ZHVHJhbnNmb3JtIGluaXRpYWxpemUo
aW4gU1ZHVHJhbnNmb3JtIGl0ZW0pCisgICAgICAgIFNWR1RyYW5zZm9ybSBpbml0aWFsaXplKGlu
IFNWR1RyYW5zZm9ybSBpdGVtKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZH
RXhjZXB0aW9uKTsKLSAgICAgICAgW0pTQ0N1c3RvbV0gU1ZHVHJhbnNmb3JtIGdldEl0ZW0oaW4g
dW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAgU1ZHVHJhbnNmb3JtIGdldEl0ZW0oaW4gdW5z
aWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAg
ICAgICBbSlNDQ3VzdG9tXSBTVkdUcmFuc2Zvcm0gaW5zZXJ0SXRlbUJlZm9yZShpbiBTVkdUcmFu
c2Zvcm0gaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAgU1ZHVHJhbnNmb3Jt
IGluc2VydEl0ZW1CZWZvcmUoaW4gU1ZHVHJhbnNmb3JtIGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uLCBTVkdFeGNlcHRpb24pOwot
ICAgICAgICBbSlNDQ3VzdG9tXSBTVkdUcmFuc2Zvcm0gcmVwbGFjZUl0ZW0oaW4gU1ZHVHJhbnNm
b3JtIGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNWR1RyYW5zZm9ybSBy
ZXBsYWNlSXRlbShpbiBTVkdUcmFuc2Zvcm0gaXRlbSwgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkK
ICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlvbik7Ci0gICAgICAg
IFtKU0NDdXN0b21dIFNWR1RyYW5zZm9ybSByZW1vdmVJdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpCisgICAgICAgIFNWR1RyYW5zZm9ybSByZW1vdmVJdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW0pTQ0N1c3Rv
bV0gU1ZHVHJhbnNmb3JtIGFwcGVuZEl0ZW0oaW4gU1ZHVHJhbnNmb3JtIGl0ZW0pCisgICAgICAg
IFNWR1RyYW5zZm9ybSBhcHBlbmRJdGVtKGluIFNWR1RyYW5zZm9ybSBpdGVtKQogICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhjZXB0aW9uKTsKICAgICAgICAgU1ZHVHJhbnNm
b3JtIGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgoaW4gU1ZHTWF0cml4IG1hdHJpeCk7CiAg
ICAgICAgIFNWR1RyYW5zZm9ybSBjb25zb2xpZGF0ZSgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTMw
NzUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMC0wMS0xMSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzdmcg
PHRleHQ+IGZhaWxzIHRvIHVwZGF0ZSB3aGVuIHNldHRpbmcgeC95CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM4NAorCisgICAgICAgIEFkZCBzaW1w
bGUgdGVzdHMgY292ZXJpbmcgU1ZHTGVuZ3RoTGlzdCAmIFNWR051bWJlckxpc3QgdXBkYXRlcy4K
KworICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdM
aXN0LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMt
U1ZHTGlzdC54aHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdU
ZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR1RleHRFbGVtZW50LXN2Z2RvbS1yb3RhdGUtcHJv
cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdUZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuanM6IEFkZGVkLgorICAgICAgICAo
ZXhlY3V0ZVRlc3QpOgorCiAyMDEwLTAxLTExICBBbmRyYXMgQmVjc2kgIDxhYmVjc2lAaW5mLnUt
c3plZ2VkLmh1PgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEhvbGdlciBIYW5zIFBldGVy
IEZyZXl0aGVyLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4
dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3Qt
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorYjNhNDcwYjM3NzZjYjZiNmFjZDg3OWQ4ZDM3Mzg5
OTIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11
cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
OHg2MjAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKK2xheWVyIGF0ICgwLDAp
IHNpemUgODA4eDYyMAorICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjIw
CisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6ZSA3Njl4NjA0CisgICAgICBSZW5k
ZXJTVkdSb290IHtzdmc6c3ZnfSBhdCAoMjA4LDE0KSBzaXplIDE2NngxOAorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAwLDIwKSBzaXplIDE2NngxOCBjb250YWlucyAxIGNodW5r
KHMpCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6
ZSAxNjZ4MTgKKyAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAwLjAwLDIwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyOCB3aWR0aCAxNjYuMDA6ICJQYXNzZXMsIGlmIHRl
eHQgaXMgYXQgMjAweDIwIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0
LnhodG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC14eS11cGRh
dGVzLVNWR0xpc3QueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3RleHQteHktdXBkYXRlcy1TVkdMaXN0LnhodG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3Qv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+
Cis8aHRtbAorICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgorICAgIHht
bG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPGhlYWQ+CisgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworCisgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVNWR0xlbmd0aChlLCB2YWx1ZSkgeworICAg
ICAgICAgICAgdmFyIHJlc3VsdCA9IGUub3duZXJTVkdFbGVtZW50LmNyZWF0ZVNWR0xlbmd0aCgp
OworICAgICAgICAgICAgcmVzdWx0LnZhbHVlID0gdmFsdWU7CisgICAgICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgICAgICB9OworCisgICAgICAgIGZ1bmN0aW9uIHNoaWZ0ZXIoKSB7CisgICAg
ICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0dHQiKTsKKyAgICAgICAg
ICAgIGUueC5iYXNlVmFsLmluaXRpYWxpemUoY3JlYXRlU1ZHTGVuZ3RoKGUsIDIwMCkpOworICAg
ICAgICAgICAgZS55LmJhc2VWYWwuaW5pdGlhbGl6ZShjcmVhdGVTVkdMZW5ndGgoZSwgMjApKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9OworICAg
ICAgICAKKyAgICAgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
d2luZG93LnNldFRpbWVvdXQoc2hpZnRlciwgMCk7CisgICAgICAgIH07CisgICAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzdmc6c3ZnCisgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIgorICAgIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImZ1bGwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj4KKyAgICA8dGV4dCBpZD0idHR0IiB4PSIxMCIgeT0iMjAwIj5QYXNz
ZXMsIGlmIHRleHQgaXMgYXQgMjAweDIwPC90ZXh0PgorPC9zdmc6c3ZnPgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdUZXh0RWxlbWVu
dC1zdmdkb20tcm90YXRlLXByb3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9w
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorU1ZHIDEuMSBkeW5hbWljIHVwZGF0ZSB0ZXN0cwor
CitUZXh0IGNvbnRlbnQKK1Rlc3RzIGR5bmFtaWMgdXBkYXRlcyBvZiB0aGUgJ3JvdGF0ZScgcHJv
cGVydHkgb2YgdGhlIFNWR1RleHRFbGVtZW50IG9iamVjdAorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyB0ZXh0RWxlbWVudC5yb3RhdGUuYmFzZVZhbC5nZXRJdGVtKDApLnZh
bHVlIGlzIC05MAorUEFTUyB0ZXh0RWxlbWVudC5yb3RhdGUuYmFzZVZhbC5nZXRJdGVtKDApLnZh
bHVlIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR1RleHRFbGVtZW50
LXN2Z2RvbS1yb3RhdGUtcHJvcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR1RleHRFbGVt
ZW50LXN2Z2RvbS1yb3RhdGUtcHJvcC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR1Rlc3RD
YXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5TVkcgMS4xIGR5
bmFtaWMgdXBkYXRlIHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR1RleHRFbGVt
ZW50LXN2Z2RvbS1yb3RhdGUtcHJvcC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdUZXh0
RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJv
dGF0ZS1wcm9wLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBk
YXRlcy9zY3JpcHQtdGVzdHMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0IEBACisvLyBbTmFtZV0gU1ZHVGV4dEVsZW1lbnQtc3Zn
ZG9tLXJvdGF0ZS1wcm9wLmpzCisvLyBbRXhwZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gJ1Rlc3Qg
cGFzc2VkJyBtZXNzYWdlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzc2FnZXMKK2Rlc2NyaXB0
aW9uKCJUZXN0cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICdyb3RhdGUnIHByb3BlcnR5IG9mIHRo
ZSBTVkdUZXh0RWxlbWVudCBvYmplY3QiKQorY3JlYXRlU1ZHVGVzdENhc2UoKTsKKwordmFyIHRl
eHRFbGVtZW50ID0gY3JlYXRlU1ZHRWxlbWVudCgidGV4dCIpOwordGV4dEVsZW1lbnQuc2V0QXR0
cmlidXRlKCJ4IiwgIjAiKTsKK3RleHRFbGVtZW50LnNldEF0dHJpYnV0ZSgieSIsICIyMTUiKTsK
K3RleHRFbGVtZW50LnNldEF0dHJpYnV0ZSgicm90YXRlIiwgIi05MCIpOwordGV4dEVsZW1lbnQu
dGV4dENvbnRlbnQgPSAiVGV4dCBjb250ZW50IjsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxk
KHRleHRFbGVtZW50KTsKKworc2hvdWxkQmUoInRleHRFbGVtZW50LnJvdGF0ZS5iYXNlVmFsLmdl
dEl0ZW0oMCkudmFsdWUiLCAiLTkwIik7CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAg
IHRleHRFbGVtZW50LnJvdGF0ZS5iYXNlVmFsLmdldEl0ZW0oMCkudmFsdWUgPSAwOworICAgIHNo
b3VsZEJlKCJ0ZXh0RWxlbWVudC5yb3RhdGUuYmFzZVZhbC5nZXRJdGVtKDApLnZhbHVlIiwgIjAi
KTsKKworICAgIGNvbXBsZXRlVGVzdCgpOworfQorCitzdGFydFRlc3QodGV4dEVsZW1lbnQsIDEw
LCAyMTApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5
LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhF
VWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBRE8ybERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YK
bEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJYV2tYRVkrOUFpeURSelp4cE5N
ekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFFRWNhVWlpRUkzVXNiL0p1MU1L
bFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENBCnRuZ0NWYWhCTmJoU2h1ZTBK
eEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2NjU3MitwNzUrbmx2TlM0VEFv
cEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNuMlVHK1FWNmFEZkZnaU5QQ000
Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZcG9iOVJuN0lXZERHbFk4QnJX
dUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZwWGJjCnkyelo3SWRUcXFPczZV
T3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZY29ySUtnMzJNMzR5VGxhaUlP
ZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1OWx1Y09YRktjNEY2TWc1cDEw
ek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNva2czWTlncWNNNytXc1o3dGJC
N0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4bHpUemU1CmdkZFV4dDNURzdD
eTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJOTR4WU15cG04L2x0cVhJTmZU
bmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6cHE3amlXLzgyenRzaHpISVlG
QVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhiOHFMU1RLdXl3cXV2Q1plejc3
ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4MFZEd2o3bEhUCkdMLzhuWEZs
WmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0dVkxK3BMM3MwbVVOY2pFK0h1
aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2a2VxT09IWm1zZm5FMlhBMXIv
N09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZOYjFVNis3VlQzbDNmMGNsWW1U
ckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhKZjJqQ3pXVk1TL2lPCjRQWWZk
MGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdOMEpyQzFiWGUvN1VhT3E1bDV3RHVmZ0Fl
RUdMM0pVTkdydXZTbysKUmIyMjBhZ3hVV01iK3k0eFBrM3NvckhCQmlNeGFqQXY5aVJxak5IWVhU
c01LbDRSSk1hK0E3MmlBWVRRQkpWR3BNYzVSMVdOOS91Tgp1VWJOT251dnZmY2FIQTR2ei9XdDNG
cFZzMmJObW10L2psNzNiLy9IZjR3dWF3dHNDQ0NBQUFJSUlJQUFBZ2dnZ01BbEJaNzYxS2VHCmxG
SzQ1NTU3d2x2Zit0WnkzblZkT0RzN0M3dmRMb3pqV0k3MXZPLzdNTTl6dVhlNDVIZHdHd0lJSUlB
QUFnZ2dnQUFDQ0NCUUJJWmgKQ0k5NXpHUEN1NzNidTRVWVl6Z2NEdUZOYjNwVGVNdGIzbEplTzNo
Y3UzWnREU0UxZ0x6NXpXOE9CQkQraHdnQkJCQkFBQUVFRUVBQQpBUVNhQkJ3b0hEeTgxN0J4NTUx
M2h0ZS8vdlVsaUxnQzR2Y2NWTHo3ZmxkSWZDU0FORkZ6TXdJSUlJQUFBZ2dnZ0FBQ0NEaGcxRkRo
CllPSGRtNi9WNFZldWdIaXZZY1JEc1B5YUFNTC8vQ0NBQUFJSUlJQUFBZ2dnZ0VDelFHMGw5M0Za
bHZER043NHh2T0VOYnlnVkQ3K3UKdXg5Y0E0clBDU0JXWUVNQUFRUVFRQUFCQkJCQUFJRkxDemgw
MUFDeTMrL0RLMS81eWhKQUhEUmM1WENEdXZ0Q3ZIa29GZ0hrMHJUYwppQUFDQ0NDQUFBSUlJSUFB
QXRjTDFGRGg4UEhpRjc4NFBQZTV6dzJ2ZXRXcnd1dGU5N3JTQStMWnNCNzJzSWVGeHo3MnNlSHhq
Mzk4CmVPUWpIMW1HWnptMFVBRzVYcFBYQ0NDQUFBSUlJSUFBQWdnZ2NFc0JENithcGlrODV6blBD
Yi8vN09lRVAzMStEQzkreTM4TnJ4bi8KcjNEdFFTRThjbmgxZU9mWHZDdzg2Z1hQRHM5Ly92UER4
MzNjeDRYM2ZkLzNMVlVUQXNndGFYa1RBUVFRUUFBQkJCQkFBQUVFcmhkdwpKY1BEcm43ckdjOFB2
L3QvN2drdlNvOE84ZTR4UE9TdWErSHV1OFl3bmowaTdNLytlM2pGYS85UG1GN3luSkNlL3ZReUZP
dmVlKytsCkFuSTlKcThSUUFBQkJCQkFBQUVFRUVEZzlnTFArYnVYaFdmOC9WM2hSZnRIaGU1aFor
RWhkMThMNzNUM0x0eDk1eGp1ZXRBdVBQaGEKRE9QRFBpVDh4eXZHOE5KWC9sSDR5Ny84eTdKd0lS
V1EyOXR5QndJSUlJQUFBZ2dnZ0FBQ0NHd0UzR0QrMXk4Y3d3dmU4UERRUFh3SQpkOTExREI1MzM3
a0w5OXgxRnU2NjR5dzgrTUhYd3Rtb0tYcnYrYWp3MnI5OGFYakZLMTVSZGdMSUJwSlRCQkJBQUFF
RUVFQUFBUVFRCnVMM0FmL3pIZjRUbnZWU3JuZDl4TGZ6UEQva3Y0ZUVQSGNPcjN4VENtdzlkZU5D
REhoUWU5T0E3d2wwS0l3KzY0OEdoMStNT2ozNWMKZU12TGZ6Tzg5cld2RGZIMmorY09CQkJBQUFF
RUVFQUFBUVFRUU9BazRDYjBsNzlxQ0IveUFROFBILzNmN3c3LzR6RjNoc2ZkZTBmWQpEZXIvR1Bw
d2RrMURzQlErN3JnenFDOGtoSWUvK3dlR3Q3emxMV1Y2WGdMSXlaRXpCQkJBQUFFRUVFQUFBUVFR
dUlTQW05RGZmQmpECis5eDdwM285K2pERWJqME9EaUc3blJZa0RGb1RKSVN6TzBKNDZIKzU1N1F1
eUNXZXp5MElJSUFBQWdnZ2dBQUNDQ0NBd0NyUTl4NVkKdFlTSFBGamhvOU5LNTNyVkszREV2Z3V4
eTZGWG1VUHJEd2Jsa0RBb2hQUmpLRlB3ZXYwUUtpQXJJeWNJSUlBQUFnZ2dnQUFDQ0NCdwphWUY4
ZnFkV1AvZXBRNGhpUnVoaXI1WFBGVUMwKy9xbzhERW9pTlRWMEFrZ0JZb2ZDRnh0Z1gvN3QzOExM
M3poQzI5QStKZC8rWmZ3CnJHYzlxelNNM2ZEbU8vREN6WDYvZDhTdjhKclh2S1lzdEhTejczSXpY
VXJwWm04WHUxdTlmOU1QbnI5eGY3Ly9kcy9uZlFRUVFBQUIKQk41bWdYbDJXU1BNNmdjcDRXTXBM
MFBXYS8wLzFVZjBXai9tNmZnTkRpQlVRTjVtYlQ2SXdGSGd0My83dDhQN3YvLzdsMFQvQ1ovdwpD
ZUh6UC8venc4ZCs3TWVHVC83a1R3N1BmdmF6LzMvRDlNUW5QakY4K3FkLytuMSszeC82b1I4S3Yv
N3J2eDcrNUUvK3BLeGN1dC92CjcvUCtPL0xGUmIvZkEvMzlmLzduZjE3K1d6NzYwWThPNy9JdTd4
SysvdXUvdmpUUDFlOTkzdk9lVjh4czlCM2Y4UjNobTc3cG0rcGIKNVhpNzkrOXo4d1V2N3UvM1gv
QklMaUdBQUFJSUlQRDJGWGo0SFJwKzFTbUFIQ3NkYWM0bGRDd2FaRFdYUGVnZjhmU2VTaDdLS1dV
cgpWUkExa0xBaGdNRDlFUGlSSC9rUi82OVUvdE0vL2RQeUZNMEtrYi8yYTc4MmEyeGtmc1l6bm5F
L252eU8rK2liMy96bS9LLy8rcS9yCkY3N2hEVy9JWjJkbitnZU1wVng3L3ZPZnY3NVhUOTcwcGpm
bDMvcXQzNm92NzlmeGRzKzYvdmU3WDE5Mi91RmJmZWUvLy91LzU4LzYKck0vS2YvekhmNXpmK01Z
MzVoLzh3UjhzLzQyLzlWdS90WHhhVlltc1lIS2ZQLzlIZmRSSDVSLzRnUis0MVB1MysvM3Y3L2Zm
N3ZtOApqd0FDQ0NDQXdQMFYrSlZmK1pVY1B2UnArWnQvOGdYNUIzN25GZmxKVDN0Ri9yWmZlMFgr
bjkvN2t2d3BUM2wxL3BKZjJ1ZXYxMStECm52aG5PWC8vODNMK0xoMi80QXUrSVB0ekRNRjYrK1pB
bm5ZRkJSN3lrSWVVUDNVZDErampWMzdsVjRaWlpVbjlMOWw5Ukc0MUZFZi8KSDhGOTdxMHZibmE5
dm4vUnNmVXpEMzd3ZzhNakgvbkk5VkYvLy9kL1gzNy8rbWQ2ci9kNnIvVTluM2p4b2MvNW5NOEpm
LzNYZjMyZgo2Mi9MaThzODYvcmZyMzdQWmYrYzE3dmY3anYvNGkvK0l2ellqLzFZK0xBUCs3Qnc1
NTEzQmdYSzhON3YvZDdoci83cXI4cFgvL3pQCi8zencvT2VmOUVtZlZIK1Y4TVZmL01YaGwzN3Bs
eTcxL3ZxaG01emMzKysveVdPNWpBQUNDQ0NBd050ZElMdlRYTTBlT3pXZkQ0TlcKUGxkditxRHow
ZWNhbDZVSnNZSm01QTNYems1ZnpVS0VKd3ZPRUhpN0NhaWFVSjdsb1R2ZVZBa0pmL00zZjFQR1BU
NzFxVThOUC83agpQeDdlNy8zZXI3ejNpNy80aStIMXIzOTkwTCswaDkvNGpkOG9RNTc4eHMydXV5
OUQvOUllbnZPYzU0VFh2ZTUxNFVkLzlFZkxYNVJ2CjlabnlSVGY1NFZWSmYvWm5memI4NW0vK1p2
aXpQL3V6OE5NLy9kTWxPRTJxbVg3TjEzeE5XVXpvKzcvLysrL3phVlY5eXAvcG4vLzUKbjhOTFgv
clM4TU0vL01OQlZaTUxmeS8vdVZVNUNDOS8rY3ZEVTU3eWxPREE5cVZmK3FYaEc3L3hHOE1YZnVF
WGhvdWVkY2NkbXEvdgpmTHYrOS9QbG05blV6OVRqemR4djk1MGYvL0VmWHgreEhoM0M2bi9QMy8v
OTN3K1BmZXhqMTJZNjMvUWU3L0VlNFcvLzltL0RXOS82CjFuQzc5Ly94SC8veGxpYjM5L3U5QUJR
YkFnZ2dnQUFDN3hBQmh3enRpLzRkdGN4OHBSbXdkZ29obzRLSkE0anlSK2oxM201VDlpQ0EKdkVQ
K3kvQWxWMG5BaSt4ODEzZDlWM2pFSXg0UnZ1aUx2aWk0ZDhML092NEx2L0FMNGFNLytxUExYMUMv
Kzd1L08vemFyLzFhYVY1MgptS2lWaEZlOTZsVnEybHBLOWVHaTYzN3Z5NzdzeThLdi91cXZCbGNG
dnZxcnZ6cDh5cWQ4U25qQkMxNVEvbUovMFdmYzdIV3J6Yzl4CmtIalJpMTVVYnZQekhSSis3L2Qr
cndTTGl6NzdEZC93RFNYNGZPWm5mbWI1aTdURHlzMStyOGM5N25IaENVOTRRdm16TzJRNXFIejUK
bDM5NUNSOSs5dlhQdXY3N3J2LzlYTTI0ekovelZ1NjMrODdyZndlN1AvZTV6dzMrNytiTklmQmhE
M3ZZZlc2em1YODMvN2U4M2ZzZgovdUVmZmt1VCt6eFlMMXEvMzg5blF3QUJCQkJBNEIwaDBLblMw
YWtDRXAwcURnb2N1MUZUN3ZhYWt2ZDR6WDhOY1JWazFudDF1L1hmClRPcGRIQkZBNExZQzMvek4z
eHcrNW1NK0puem9oMzVvOEwrV3UzbjczbnZ2MWZ6WHUvSXYvaC93QVI5UW5uSDMzWGNIL3d1NE4v
K0YKL08vKzd1L1dvVnBmOFJWZlVlYkl2dGwxaHhqL1pmOXBUM3RhK09WZi91VXlQTWd6UlAzaEgv
N2hUWjlWdnVnV1A5N3BuZDRwdk0vNwp2RS81M2x2Y2R1RmJkWWpXclg0dmYxRDlFU1dNdVJMaTMv
dXJ2dXFyYm5oZWZkYjFiMXovKzkzTTV2clAzY3E5M251ejc2enYxNk1yCkxnNWJ0V3JsNFZlRFYx
ZmFiUFgxSzEvNXlqSThxNzZ1dDlUWGZ0L2JaVXpxWjF1L3YzNk9Jd0lJSUlBQUFnKzRnS29jbm9U
WFUrN0cKTG9aZTU5NmpkaTJJSHBSSGdrWmtsYjMrTHZmOXY2RDFLa2NFRUdnVzhEQ2x4ei8rOFRk
OHpuL0ovWjd2K1o3eUwraS8rN3UvV3dLSApHcURMZmZmY2MwK3BqbnoyWjM5MitOelAvZHd5Tk1z
TCs5enN1bWRHZXRkM2ZkZndudS81bnVYelBxcFp1bHk3MldkdStJVXV1T0RmCjhiSi9HZDkrdkg3
bVZyOVh2Zi9KVDM1eUNXWnFRQ3REMGVyMWVxelBxcSszeCszdmQ5ay9wejl6TS9mNjdGdDlaNzNu
MWE5K2RWQ3oKZmZpNW4vdTVlaWs4NmxHUENnNSsyODJWTDI4T243ZDd2Mzd1ZGlhKzcyMzUvdnA4
amdnZ2dBQUNDRHpnQXZxL3Q3MTJ4dzRWUTQ1aApRMk94QnBVK3ZGYWhza2NKSWtubmRhTUNVaVU0
SXZBQUN2Z3Z3ai94RXo4UlhDWDVpSS80aVB2OFpmK25mdXFud3ZkKzcvZVdJVmx1CmV2YTZEOTR1
dXU1ZUVmL3Ird2QrNEFmZVozL25kMzdubTM2bXZQRUEvYWgvZ2IvZDcrV3Y5Ky90WVduZjkzM2ZW
LzVTZmYydlZKOTEKL2ZXTFhsOWtjOUY5dDNMMy9iZjdUZzk5K3M3di9NNHlGSzFXTVB3NWgwQVBs
OXR1SGxybTU3azM1SGJ2MTgvZHp1UnQvZjc2Zkk0SQpJSUFBQWdnODBBSlpQUjlSZ2NNVkVQZUF1
TnJoNm9kWFEzZHZTRm1FME1kTjZ0aWNQdEMvSHM5SDREK253TzFtWW5JVDlyZC8rN2VICkp6M3BT
VGY4aGRlTjJTOTV5VXZDdDN6THQ1UUdjUCtsMXNPWmJuYmRmN2w5K3RPZlh2b29xcWFIWlAzTzcv
ek9UVDlUNzNzZ2p2WFAKZnF2ZnEzNnYveUwvQjMvd0I2VzY0eUIyL1ZhZmRmMzE2MS9mek9iNisy
N2xYdSs5M1hlNnF2VjFYL2Qxb1FZOGYrN0ZMMzV4R1k3bAppUWEyYTZQOHd6LzhRL2lnRC9xZzBy
VHY0VnEzZXI5Ky8rMU0zdGJ2cjgvbmlBQUNDQ0NBd0FNdW9FcUgvdjJ0VkR1aVVzaWdjVmVlCkJX
dFErdWcxL01waG8zTWxSUGZValFCU0pUZ2k4RFlLMURIOTEvK0xlSDNjeTE3MnNuTHFuaERQa09T
d29IVXRTc095WjdHcVU3ZTYKUitRVFAvRVRneGUrODcrbVgzVGRzMGE1MnVEaFdnNHViajUzUTdY
LzRudXp6L2pMdlZyM2wzekpsNVFBVUgrdjdkRjlGZjZkL0MvdQozclFPUlRuMzladHRIZ3IxVC8v
MFQ2VjN4SXN3M3V6Mzh1ZmRjUC9CSC96QlpSWXBEenY2bVovNW1mQkhmL1JINjZPM3ozSUQ5L1hi
Cjl2ZTcxWjl6KzdsYnVmdlBlYnZ2L01tZi9Na3l6TXJHN3JueDdHWGY5bTNmVmdLSVo2bnlyRmZ1
emFpYm0vYTFYa2g1ZWJ2M2ZkUHQKVE83UDk5ZmZpU01DQ0NDQUFBSVB0SUFYRWZBTVdGay9TaEJS
OEJnMTlxck1pT1dac1JRODNEYnBSdlIxMDc4QXNpR0F3TnNvb0wrVQpaalZ3KzMvMzhrZCs1RWRt
VlNkdWVKSjZBN0xDUlZuWTcvTSs3L095cG1qTm10bXBMSFNucVhUenZmZmVtelV0Yi9hejFKeWRW
ZEhJCldvZmp3dXQrdVA3eW5qWE5hdmxPL2N2OHVoamVyVDdqNzlGc1dGbER0Mjc0L1RUMWJsYnZT
bm1lWnBmS2FtalBHZ3BXWG12MTc2eloKc1c3NGpDOW85ZTl5ai85TTZvZTQ2ZS8xekdjK00vdjMx
QlMxNVRscXdNOGF6bFFXOHZOM1gvU3Njdkg4eC9XLzM4M010cC94K2EzYwp0UTdJRGIvLzl2UFBl
dGF6eXUvby82N2JYZFB3WnEzdlVtN1Y5TUJaTTVDVnhRYzFGWExXeXZIYlIrUmJ2WDg3azdmSDk5
L25sK0VGCkFnZ2dnQUFDYjJlQnVoRGhFLzdYUy9LUFBmT1YrVWVmK2FyODVQLzlxdndaVDNsRi9y
Ly8xeHZ6RTM0djV5Zi9WYzQvOFlLY2YrNWYKanNlNkVHSG4zMlZOSTV3Z2dNQURKdURxUjEyZndk
TzFqaG9VNlgrSjl6UzVyb1Q0ZFYzLzRtYlg2eS9uejNzbzBtTWU4eGlWUEk5ZApYYmY3akNzVS9o
ZjZKejd4aWZVeDkvdm9mcFdIUC96aDYzTXUrcjNXTjI5emN2MnpibmI3N2Y2YzEzL3VJdmQ2ejJX
L3M5NS8wZEhWCklzL1VkYlB0ZHUvZjdIT1h2ZjVBUC8reXZ3ZjNJWUFBQWdoY0xRRXZDZkJaLzg5
WmVNTFgvTGZ3WHg5eEZ0SWN3bjdwdzUrOGNCOGUKL3JDSGhIc2VlcmYrNzJNSUQ3azdoTHNlcWw1
UURhcjR3eWQ5WWZqVVQvM1V3Q3hZVit0L1Z2alQvbjhvVU1PSGZ3V0hEVzkxalk2SApQbFQvbTdu
WmJuYTkzdUxQdi91N3YzdDlXWTYzKzR5SC9IekdaM3pHZlQ1emYxOXN3NGVmZGRIdmRkbnZ1UDVa
Ti92YzdmNmMxMy91Ckl2ZDZ6Mlcvczk1LzBmRlc0Y1AzMys3OWk1N1pjdTJCZm43TDc4SzlDQ0NB
QUFKWFQwQ3RxTnJVMWFHaFZxNXFMSnFLZDlKd3JFbWoKdXBWSnlqWDl1Mm5ZbC90OHI0WmpIUS84
UkFDQi8rd0NuL1pwbi9hQS8yWDRQN3NoZno0RUVFQUFBUVFRdUs5QXpyTjZRTFNJc2dkVgpMVjFa
cjJ4UkFIRVltUlE4WEJsSmJqR2xDZjIrY0x4QzRDb0k4Qy9sVitHL01uOUdCQkJBQUFFRTNyRUNu
U3NkU2hzNWQyRS94ekQ3CnRmWkoxOHE1QW9qRHlPeHl5UG5HTEZoVmdpTUNDQ0NBQUFJSUlJQUFB
Z2kwQ1Noc2VBYXNsTEo2VytlUU5QYnFvTExIZEpoS01QRVEKTFZkQzlvZlRZd2tnSnd2T0VFQUFB
UVFRUUFBQkJCQkFvRUhBVStFY1hBTFJFS3RKVlk1Wko0dFdSVTg1NnJxR1h5bUFITTZySlBXeApC
SkFxd1JFQkJCQkFBQUVFRUVBQUFRU2FCQmFOczNLZ1NPNzdVQitJUTBqU0R5K1U3Rnppa1ZlK3Bv
TEl1dEdFdmxKd2dnQUNDQ0NBCkFBSUlJSUFBQWkwQ1dtaE1rMkIxWWFjUFRXVVJRczF5cGRVSHh5
R0cwWXNRYXVMUGEzcHpPVHM5bFFySXlZSXpCQkJBQUFFRUVFQUEKQVFRUWFCRnd5TkRlcWRwUlZq
L1h5VTdqc2tZRkV3Y1FMenpRNjczZEpuVnNUbHUraVhzUlFBQUJCQkJBQUFFRUVFRGdxZ3QwcW5S
MApxb0JFcHhCdDQyNE0vZGlIWHEranhscTVRT0lxaU1OSjNUYW45UkpIQkJCQUFBRUVFRUFBQVFR
UVFPQVNBcTUrYUtKZFpSRHRVZTNuCnVleFJ4MEdWRU9XUm9CRlpaYTlQb3dla1NuQkVBQUVFRUVB
QUFRUVFRQUNCTm9HdVU3aHdCT21EaWlISHNLRnl4NkRTUjY4QTRycUkKZzBqU1hqY3FJRldDSXdJ
SUlJQUFBZ2dnZ0FBQ0NEUUpaUFY4UkFVT1YwQTh6TXJWRGxjL29xNTdWTmFvQ2tnNWJsTEg1clRw
dTdnWgpBUVFRUUFBQkJCQkFBQUVFcnJxQUtoMHFnSlJxUjFRS0dWVHU4Q3hZZzFKSHIvRGhzTkc1
RXFKNzZrWUFxUkljRVVBQUFRUVFRQUFCCkJCQkFvRWxBRTF3RkxRRlNWa012UVVUQlk5VFlLMWRE
b21mR1V2QVkxUFRoUnZTNkVVQ3FCRWNFRUVBQUFRUVFRQUFCQkJCb0V0Q0UKVndvZjJ0WHRNU3VK
VE5NU0pnVVBoeEpkMW5XdEQ2SkZDTlBoOUZnQ3lNbUNNd1FRUUFBQkJCQkFBQUVFRUdnUjBITG5u
YUxHUE05YQpDVjBybnp1QWxKWFFGVHpTY1FWMFh5OUo1UHk1eklMVkFzeTlDQ0NBQUFJSUlJQUFB
Z2dnc0FxNHVsRTZQVFRVeWpsajBWUzhreXNoCktuL01ldTFyU1VGa1grN1RDMjBFa0tNRFB4RkFB
QUVFRUVBQUFRUVFRS0JSSU9kWnc2MVVBWEdaWStsVS9aakNvZ0RpNE9FS1NGSUsKU1I2TFJSTjZv
eXkzSTRBQUFnZ2dnQUFDQ0NDQXdBMENuU3NkU2hzNWQyRS9SL1dCNkxWMjk0R1Vjd1VRaHhHTjBG
bzNla0JXQ2s0UQpRQUFCQkJCQUFBRUVFRUNnU1VCaEk2dmlrVkpXNVdNT1NXT3ZEaXA3VEllcEJC
TVAwWElsWkU4VGVoTXJOeU9BQUFJSUlJQUFBZ2dnCmdNQUZBbDdnL09BU2lJWllxZmRjZlI5dVNl
OUR5bEhYTmZ4S0FlUndYaVdwSDZjQ1VpVTRJb0FBQWdnZ2dBQUNDQ0NBUUpQQW9uRlcKRGhUSmZS
L3FBM0VJU1dVV3JHTUZ4Q092ZkUwRmtYV2pDWDJsNEFRQkJCQkFBQUVFRUVBQUFRUmFCTEpXUWc5
YUFYMm5EMDFsRVVMTgpjcVhWQjhjaGh0R0xFR29Cd210NmN6azdQWlVLeU1tQ013UVFRQUFCQkJC
QUFBRUVFR2dSY01qUTNta1VWbG45WENjN2pjc2FGVXdjClFMd0FlcS8zZHB2VXNUbHQrU2J1UlFB
QkJCQkFBQUVFRUVBQWdhc3UwS25TMGFrQ0VwMUN0STI3TWZSYUhyM1g2Nml4Vmk2UXVBcmkKY0ZL
M3pXbTl4QkVCQkJCQUFBRUVFRUFBQVFRUXVJU0FxeCthYUZjWlJIdFUrM2t1ZTlSeFVDVkVlU1Jv
UkZiWjY5UG9BYWtTSEJGQQpBQUVFRUVBQUFRUVFRS0JOb09zVUxoeEIrcUJpeURGc3FOd3hxUFRS
SzRDNEx1SWdrclRYalFwSWxlQ0lBQUlJSUlBQUFnZ2dnQUFDClRRSlpQUjlSZ2NNVkVBK3pjclhE
MVkrbzZ4NlZOYW9DVW82YjFMRTViZm91YmtZQUFRUVFRQUFCQkJCQUFJR3JMcUJLaHdvZ3Bkb1IK
bFVJR2xUczhDOWFnMU5FcmZEaHNkSzZFNko2NkVVQ3FCRWNFRUVBQUFRUVFRQUFCQkJCb0V0QUVW
MEZMZ0pUVjBFc1FVZkFZTmZiSwoxWkRvbWJFVVBBWTFmYmdSdlc0RWtDckJFUUVFRUVBQUFRUVFR
QUFCQkpvRU5PR1Z3b2QyZFh2TVNpTFR0SVJKd2NPaFJKZDFYZXVECmFCSENkRGc5bGdCeXN1QU1B
UVFRUUFBQkJCQkFBQUVFV2dSbVI0OGx6UE9zbGRCRG1CMUF5a3JvQ2g3cHVBSzZyNWNrY3Y1Y1pz
RnEKQWVaZUJCQkFBQUVFRUVBQUFRUVFXQVZjM1NpZEhocHE1Wnl4YUNyZXlaVVFsVDltdmZhMXBD
Q3lML2ZwaFRZQ3lOR0Jud2dnZ0FBQwpDQ0NBQUFJSUlOQW9rUE9zNFZhcWdMak1zWFNxZmt4aFVR
Qng4SEFGSkNtRkpJL0ZvZ205VVpiYkVVQUFBUVFRUUFBQkJCQkE0QWFCCnpwVU9wWTJjdTdDZm8v
cEE5RnE3KzBES3VRS0l3NGhHYUswYlBTQXJCU2NJSUlBQUFnZ2dnQUFDQ0NEUUpLQ3drVlh4U0Nt
cjhqR0gKcExGWEI1VTlwc05VZ29tSGFMa1NzcWNKdlltVm14RkFBQUVFRUVBQUFRUVFRT0FDQVM5
d2ZuQUpSRU9zMUh1dXZnKzNwUGNoNWFqcgpHbjZsQUhJNHI1TFVqMU1CcVJJY0VVQUFBUVFRUUFB
QkJCQkFvRWxnMFRnckI0cmt2Zy8xZ1RpRXBESUwxckVDNHBGWHZxYUN5THJSCmhMNVNjSUlBQWdn
Z2dBQUNDQ0NBQUFJdEFsa3JvUWV0Z0w3VGg2YXlDS0ZtdWRMcWcrTVF3K2hGQ0xVQTRUVzl1Wnlk
bmtvRjVHVEIKR1FJSUlJQUFBZ2dnZ0FBQ0NMUUlPR1JvN3pRS3E2eCtycE9keG1XTkNpWU9JRjRB
dmRkN3UwM3EySnkyZkJQM0lvQUFBZ2dnZ0FBQwpDQ0NBd0ZVWDZGVHA2RlFCaVU0aDJzYmRHSG90
ajk3cmRkUllLeGRJWEFWeE9LbmI1clJlNG9nQUFnZ2dnQUFDQ0NDQUFBSUlYRUxBCjFROU50S3NN
b2oycS9UeVhQZW80cUJLaVBCSTBJcXZzOVduMGdGUUpqZ2dnZ0FBQ0NDQ0FBQUlJSU5BbTBIVUtG
NDRnZlZBeDVCZzIKVk80WVZQcm9GVUJjRjNFUVNkcnJSZ1drU25CRUFBRUVFRUFBQVFRUVFBQ0JK
b0dzbm8rb3dPRUtpSWRadWRyaDZrZlVkWS9LR2xVQgpLY2RONnRpY05uMFhOeU9BQUFJSUlJQUFB
Z2dnZ01CVkYxQ2xRd1dRVXUySVNpR0R5aDJlQld0UTZ1Z1ZQaHcyT2xkQ2RFL2RDQ0JWCmdpTUND
Q0NBQUFJSUlJQUFBZ2cwQ1dpQ3E2QWxRTXBxNkNXSUtIaU1HbnZsYWtqMHpGZ0tIb09hUHR5SVhq
Y0NTSlhnaUFBQ0NDQ0EKQUFJSUlJQUFBazBDbXZCSzRVTzd1ajFtSlpGcFdzS2s0T0ZRb3N1NnJ2
VkJ0QWhoT3B3ZVN3QTVXWENHQUFJSUlJQUFBZ2dnZ0FBQwpMUUt6bzhjUzVubldTdWdoekE0Z1pT
VjBCWTkwWEFIZDEwc1NPWDh1czJDMUFITXZBZ2dnZ0FBQ0NDQ0FBQUlJckFLdWJwUk9EdzIxCmNz
NVlOQlh2NUVxSXloK3pYdnRhVWhEWmwvdjBRaHNCNU9qQVR3UVFRQUFCQkJCQUFBRUVFR2dVeUhu
V2NDdFZRRnptV0RwVlA2YXcKS0lBNGVMZ0NrcFJDa3NkaTBZVGVLTXZ0Q0NDQUFBSUlJSUFBQWdn
Z2NJTkE1MHFIMGtiT1hkalBVWDBnZXEzZGZTRGxYQUhFWVVRagp0TmFOSHBDVmdoTUVFRUFBQVFR
UVFBQUJCQkJvRWxEWXlLcDRwSlJWK1poRDB0aXJnOG9lMDJFcXdjUkR0RndKMmRPRTNzVEt6UWdn
CmdBQUNDQ0NBQUFJSUlIQ0JnQmM0UDdnRW9pRlc2ajFYMzRkYjB2dVFjdFIxRGI5U0FEbWNWMG5x
eDZtQVZBbU9DQ0NBQUFJSUlJQUEKQWdnZzBDU3dhSnlWQTBWeTM0ZjZRQnhDVXBrRjYxZ0I4Y2dy
WDFOQlpOMW9RbDhwT0VFQUFRUVFRQUFCQkJCQUFJRVdnYXlWMElOVwpRTi9wUTFOWmhGQ3pYR24x
d1hHSVlmUWloRnFBOEpyZVhNNU9UNlVDY3JMZ0RBRUVFRUFBQVFRUVFBQUJCRm9FSERLMGR4cUZW
VlkvCjE4bE80N0pHQlJNSEVDK0EzdXU5M1NaMWJFNWJ2b2w3RVVBQUFRUVFRQUFCQkJCQTRLb0xk
S3AwZEtxQVJLY1FiZU51REwyV1IrLzEKT21xc2xRc2tyb0k0bk5SdGMxb3ZjVVFBQVFRUVFBQUJC
QkJBQUFFRUxpSGc2b2NtMmxVRzBSN1ZmcDdMSG5VY1ZBbFJIZ2tha1ZYMgoralI2UUtvRVJ3UVFR
QUFCQkJCQUFBRUVFR2dUNkRxRkMwZVFQcWdZY2d3YktuY01LbjMwQ2lDdWl6aUlKTzExb3dKU0pU
Z2lnQUFDCkNDQ0FBQUlJSUlCQWswQld6MGRVNEhBRnhNT3NYTzF3OVNQcXVrZGxqYXFBbE9NbWRX
eE9tNzZMbXhGQUFBRUVFRUFBQVFRUVFPQ3EKQzZqU29RSklxWFpFcFpCQjVRN1BnalVvZGZRS0h3
NGJuU3NodXFkdUJKQXF3UkVCQkJCQUFBRUVFRUFBQVFTYUJEVEJWZEFTSUdVMQo5QkpFRkR4R2pi
MXlOU1I2Wml3RmowRk5IMjVFcnhzQnBFcHdSQUFCQkJCQUFBRUVFRUFBZ1NZQlRYaWw4S0ZkM1I2
emtzZzBMV0ZTCjhIQW8wV1ZkMS9vZ1dvUXdIVTZQSllDY0xEaERBQUVFRUVBQUFRUVFRQUNCRm9I
WjBXTUo4enhySmZRUVpnZVFzaEs2Z2tjNnJvRHUKNnlXSm5EK1hXYkJhZ0xrWEFRUVFRQUFCQkJC
QUFBRUVWZ0ZYTjBxbmg0WmFPV2NzbW9wM2NpVkU1WTlacjMwdEtZanN5MzE2b1kwQQpjblRnSndJ
SUlJQUFBZ2dnZ0FBQ0NEUUs1RHhydUpVcUlDNXpMSjJxSDFOWUZFQWNQRndCU1VvaHlXT3hhRUp2
bE9WMkJCQkFBQUVFCkVFQUFBUVFRdUVHZ2M2VkRhU1BuTHV6bnFENFF2ZGJ1UHBCeXJnRGlNS0lS
V3V0R0Q4aEt3UWtDQ0NDQUFBSUlJSUFBQWdnMENTaHMKWkZVOFVzcXFmTXdoYWV6VlFXV1A2VENW
WU9JaFdxNkU3R2xDYjJMbFpnUVFRQUFCQkJCQUFBRUVFTGhBd0F1Y0gxd0MwUkFyOVo2cgo3OE10
NlgxSU9lcTZobDhwZ0J6T3F5VDE0MVJBcWdSSEJCQkFBQUVFRUVBQUFRUVFhQkpZTk03S2dTSzU3
ME45SUE0aHFjeUNkYXlBCmVPU1ZyNmtnc200MG9hOFVuQ0NBQUFJSUlJQUFBZ2dnZ0VDTFFOWks2
RUVyb08vMG9ha3NRcWhacnJUNjREakVNSG9SUWkxQWVFMXYKTG1lbnAxSUJPVmx3aGdBQ0NDQ0FB
QUlJSUlBQUFpMENEaG5hTzQzQ0txdWY2MlNuY1Ztamdva0RpQmRBNy9YZWJwTTZOcWN0MzhTOQpD
Q0NBQUFJSUlJQUFBZ2dnY05VRk9sVTZPbFZBb2xPSXRuRTNobDdMby9kNkhUWFd5Z1VTVjBFY1R1
cTJPYTJYT0NLQUFBSUlJSUFBCkFnZ2dnQUFDbHhCdzlVTVQ3U3FEYUk5cVA4OWxqem9PcW9Rb2p3
U055Q3A3ZlJvOUlGV0NJd0lJSUlBQUFnZ2dnQUFDQ0xRSmRKM0MKaFNOSUgxUU1PWVlObFRzR2xU
NTZCUkRYUlJ4RWt2YTZVUUdwRWh3UlFBQUJCQkJBQUFFRUVFQ2dTU0NyNXlNcWNMZ0M0bUZXcm5h
NAoraEYxM2FPeVJsVkF5bkdUT2phblRkL0Z6UWdnZ0FBQ0NDQ0FBQUlJSUhEVkJWVHBVQUdrVkR1
aVVzaWdjb2Rud1JxVU9ucUZENGVOCnpwVVEzVk0zQWtpVjRJZ0FBZ2dnZ0FBQ0NDQ0FBQUpOQXBy
Z0ttZ0prTElhZWdraUNoNmp4bDY1R2hJOU01YUN4NkNtRHplaTE0MEEKVWlVNElvQUFBZ2dnZ0FB
Q0NDQ0FRSk9BSnJ4UytOQ3VibzlaU1dTYWxqQXBlRGlVNkxLdWEzMFFMVUtZRHFmSEVrQk9GcHdo
Z0FBQwpDQ0NBQUFJSUlJQkFpOERzNkxHRWVaNjFFbm9Jc3dOSVdRbGR3U01kVjBEMzlaSkV6cC9M
TEZndHdOeUxBQUlJSUlBQUFnZ2dnQUFDCnE0Q3JHNlhUUTBPdDdBNTRYUUFBSUFCSlJFRlVuRE1X
VGNVN3VSS2k4c2VzMTc2V0ZFVDI1VDY5MEVZQU9UcndFd0VFRUVBQUFRUVEKUUFBQkJCb0ZjcDQx
M0VvVkVKYzVsazdWanlrc0NpQU9IcTZBSktXUTVMRllOS0UzeW5JN0FnZ2dnQUFDQ0NDQUFBSUkz
Q0RRdWRLaAp0SkZ6Ri9aelZCK0lYbXQzSDBnNVZ3QnhHTkVJclhXakIyU2w0QVFCQkJCQUFBRUVF
RUFBQVFTYUJCUTJzaW9lS1dWVlB1YVFOUGJxCm9MTEhkSmhLTVBFUUxWZEM5alNoTjdGeU13SUlJ
SUFBQWdnZ2dBQUNDRndnNEFYT0R5NkJhSWlWZXMvVjkrR1c5RDZrSEhWZHc2OFUKUUE3blZaTDZj
U29nVllJakFnZ2dnQUFDQ0NDQUFBSUlOQWtzR21mbFFKSGM5NkUrRUllUVZHYkJPbFpBUFBMSzEx
UVFXVGVhMEZjSwpUaEJBQUFFRUVFQUFBUVFRUUtCRklHc2w5S0FWMEhmNjBGUVdJZFFzVjFwOWNC
eGlHTDBJb1JZZ3ZLWTNsN1BUVTZtQW5DdzRRd0FCCkJCQkFBQUVFRUVBQWdSWUJod3p0blVaaGxk
WFBkYkxUdUt4UndjUUJ4QXVnOTNwdnQwa2RtOU9XYitKZUJCQkFBQUVFRUVBQUFRUVEKdU9vQ25T
b2RuU29nMFNsRTI3Z2JRNi9sMFh1OWpocHI1UUtKcXlBT0ozWGJuTlpMSEJGQUFBRUVFRUFBQVFR
UVFBQ0JTd2k0K3FHSgpkcFZCdEVlMW4rZXlSeDBIVlVLVVI0SkdaSlc5UG8wZWtDckJFUUVFRUVB
QUFRUVFRQUFCQk5vRXVrN2h3aEdrRHlxR0hNT0d5aDJEClNoKzlBb2pySWc0aVNYdmRxSUJVQ1k0
SUlJQUFBZ2dnZ0FBQ0NDRFFKSkRWOHhFVk9Gd0I4VEFyVnp0Yy9ZaTY3bEZab3lvZzViaEoKSFp2
VHB1L2laZ1FRUUFBQkJCQkFBQUVFRUxqcUFxcDBxQUJTcWgxUktXUlF1Y096WUExS0hiM0NoOE5H
NTBxSTdxa2JBYVJLY0VRQQpBUVFRUUFBQkJCQkFBSUVtQVUxd0ZiUUVTRmtOdlFRUkJZOVJZNjlj
RFltZUdVdkJZMURUaHh2UjYwWUFxUkljRVVBQUFRUVFRQUFCCkJCQkFvRWxBRTE0cGZHaFh0OGVz
SkRKTlM1Z1VQQnhLZEZuWHRUNklGaUZNaDlOakNTQW5DODRRUUFBQkJCQkFBQUVFRUVDZ1JXQjIK
OUZqQ1BNOWFDVDJFMlFHa3JJU3U0SkdPSzZEN2Vra2k1ODlsRnF3V1lPNUZBQUVFRUVBQUFRUVFR
QUNCVmNEVmpkTHBvYUZXemhtTApwdUtkWEFsUitXUFdhMTlMQ2lMN2NwOWVhQ09BSEIzNGlRQUND
Q0NBQUFJSUlJQUFBbzBDT2M4YWJxVUtpTXNjUzZmcXh4UVdCUkFICkQxZEFrbEpJOGxnc210QWJa
YmtkQVFRUVFBQUJCQkJBQUFFRWJoRG9YT2xRMnNpNUMvczVxZzlFcjdXN0Q2U2NLNEE0akdpRTFy
clIKQTdKU2NJSUFBZ2dnZ0FBQ0NDQ0FBQUpOQWdvYldSV1BsTElxSDNOSUdudDFVTmxqT2t3bG1I
aUlsaXNoZTVyUW0xaTVHUUVFRUVBQQpBUVFRUUFBQkJDNFE4QUxuQjVkQU5NUkt2ZWZxKzNCTGVo
OVNqcnF1NFZjS0lJZnpLa245T0JXUUtzRVJBUVFRUUFBQkJCQkFBQUVFCm1nUVdqYk55b0VqdSsx
QWZpRU5JS3JOZ0hTc2dIbm5sYXlxSXJCdE42Q3NGSndnZ2dBQUNDQ0NBQUFJSUlOQWlrTFVTZXRB
SzZEdDkKYUNxTEVHcVdLNjArT0E0eGpGNkVVQXNRWHRPYnk5bnBxVlJBVGhhY0lZQUFBZ2dnZ0FB
Q0NDQ0FRSXVBUTRiMlRxT3d5dXJuT3RscApYTmFvWU9JQTRnWFFlNzIzMjZTT3pXbkxOM0V2QWdn
Z2dBQUNDQ0NBQUFJSVhIV0JUcFdPVGhXUTZCU2liZHlOb2RmeTZMMWVSNDIxCmNvSEVWUkNIazdw
dFR1c2xqZ2dnZ0FBQ0NDQ0FBQUlJSUlEQUpRUmMvZEJFdThvZzJxUGF6M1BabzQ2REtpSEtJMEVq
c3NwZW4wWVAKU0pYZ2lBQUNDQ0NBQUFJSUlJQUFBbTBDWGFkdzRRalNCeFZEam1GRDVZNUJwWTll
QWNSMUVRZVJwTDF1VkVDcUJFY0VFRUFBQVFRUQpRQUFCQkJCb0VzanErWWdLSEs2QWVKaVZxeDJ1
ZmtSZDk2aXNVUldRY3R5a2pzMXAwM2R4TXdJSUlJQUFBZ2dnZ0FBQ0NGeDFBVlU2ClZBQXAxWTZv
RkRLbzNPRlpzQWFsamw3aHcyR2pjeVZFOTlTTkFGSWxPQ0tBQUFJSUlJQUFBZ2dnZ0VDVGdDYTRD
bG9DcEt5R1hvS0kKZ3Nlb3NWZXVoa1RQaktYZ01hanB3NDNvZFNPQVZBbU9DQ0NBQUFJSUlJQUFB
Z2dnMENTZ0NhOFVQclNyMjJOV0VwbW1KVXdLSGc0bAp1cXpyV2g5RWl4Q213K214QkpDVEJXY0lJ
SUFBQWdnZ2dBQUNDQ0RRSWpBN2VpeGhubWV0aEI3QzdBQlNWa0pYOEVqSEZkQjl2U1NSCjgrY3lD
MVlMTVBjaWdBQUNDQ0NBQUFJSUlJREFLdURxUnVuMDBGQXI1NHhGVS9GT3JvU28vREhydGE4bEJa
Rjl1VTh2dEJGQWpnNzgKUkFBQkJCQkFBQUVFRUVBQWdVYUJuR2NOdDFJRnhHV09wVlAxWXdxTEFv
aURoeXNnU1Nra2VTd1dUZWlOc3R5T0FBSUlJSUFBQWdnZwpnQUFDTndoMHJuUW9iZVRjaGYwYzFR
ZWkxOXJkQjFMT0ZVQWNSalJDYTkzb0FWa3BPRUVBQVFRUVFBQUJCQkJBQUlFbUFZV05ySXBIClNs
bVZqemtramIwNnFPd3hIYVlTVER4RXk1V1FQVTNvVGF6Y2pBQUNDQ0NBQUFJSUlJQUFBaGNJZUlI
emcwc2dHbUtsM25QMWZiZ2wKdlE4cFIxM1g4Q3NGa01ONWxhUituQXBJbGVDSUFBSUlJSUFBQWdn
Z2dBQUNUUUtMeGxrNVVDVDNmYWdQeENFa2xWbXdqaFVRajd6eQpOUlZFMW8wbTlKV0NFd1FRUUFB
QkJCQkFBQUVFRUdnUnlGb0pQV2dGOUowK05KVkZDRFhMbFZZZkhJY1lSaTlDcUFVSXIrbk41ZXow
ClZDb2dKd3ZPRUVBQUFRUVFRQUFCQkJCQW9FWEFJVU43cDFGWVpmVnpuZXcwTG10VU1IRUE4UUxv
dmQ3YmJWTEg1clRsbTdnWEFRUVEKUUFBQkJCQkFBQUVFcnJwQXAwcEhwd3BJZEFyUk51N0cwR3Q1
OUY2dm84WmF1VURpS29qRFNkMDJwL1VTUndRUVFBQUJCQkJBQUFFRQpFRURnRWdLdWZtaWlYV1VR
N1ZIdDU3bnNVY2RCbFJEbGthQVJXV1d2VDZNSHBFcHdSQUFCQkJCQUFBRUVFRUFBZ1RhQnJsTzRj
QVRwCmc0b2h4N0NoY3NlZzBrZXZBT0s2aUlOSTBsNDNLaUJWZ2lNQ0NDQ0FBQUlJSUlBQUFnZzBD
V1QxZkVRRkRsZEFQTXpLMVE1WFA2S3UKZTFUV3FBcElPVzVTeCthMDZidTRHUUVFRUVBQUFRUVFR
QUFCQks2NmdDb2RLb0NVYWtkVUNobFU3dkFzV0lOU1I2L3c0YkRSdVJLaQplK3BHQUtrU0hCRkFB
QUVFRUVBQUFRUVFRS0JKUUJOY0JTMEJVbFpETDBGRXdXUFUyQ3RYUTZKbnhsTHdHTlQwNFViMHVo
RkFxZ1JICkJCQkFBQUVFRUVBQUFRUVFhQkxRaEZjS0g5clY3VEVyaVV6VEVpWUZENGNTWGRaMXJR
K2lSUWpUNGZSWUFzakpnak1FRUVBQUFRUVEKUUFBQkJCQm9FWmdkUFpZd3o3TldRZzloZGdBcEs2
RXJlS1RqQ3VpK1hwTEkrWE9aQmFzRm1Ic1JRQUFCQkJCQUFBRUVFRUJnRlhCMQpvM1I2YUtpVmM4
YWlxWGduVjBKVS9wajEydGVTZ3NpKzNLY1gyZ2dnUndkK0lvQUFBZ2dnZ0FBQ0NDQ0FRS05BenJP
R1c2a0M0akxICjBxbjZNWVZGQWNUQnd4V1FwQlNTUEJhTEp2UkdXVzVIQUFFRUVFQUFBUVFRUUFD
Qkd3UTZWenFVTm5MdXduNk82Z1BSYSszdUF5bm4KQ2lBT0l4cWh0VzcwZ0t3VW5DQ0FBQUlJSUlB
QUFnZ2dnRUNUZ01KR1ZzVWpwYXpLeHh5U3hsNGRWUGFZRGxNSkpoNmk1VXJJbmliMApKbFp1UmdB
QkJCQkFBQUVFRUVBQWdRc0V2TUQ1d1NVUURiRlM3N242UHR5UzNvZVVvNjVyK0pVQ3lPRzhTbEkv
VGdXa1NuQkVBQUVFCkVFQUFBUVFRUUFDQkpvRkY0NndjS0pMN1B0UUg0aENTeWl4WXh3cUlSMTc1
bWdvaTYwWVQra3JCQ1FJSUlJQUFBZ2dnZ0FBQ0NMUUkKWksyRUhyUUMrazRmbXNvaWhKcmxTcXNQ
amtNTW94Y2gxQUtFMS9UbWNuWjZLaFdRa3dWbkNDQ0FBQUlJSUlBQUFnZ2cwQ0xna0tHOQoweWlz
c3ZxNVRuWWFselVxbURpQWVBSDBYdS90TnFsamM5cnlUZHlMQUFJSUlJQUFBZ2dnZ0FBQ1YxMmdV
NldqVXdVa09vVm9HM2RqCjZMVThlcS9YVVdPdFhDQnhGY1RocEc2YjAzcUpJd0lJSUlBQUFnZ2dn
QUFDQ0NCd0NRRlhQelRScmpLSTlxajI4MXoycU9PZ1NvankKU05DSXJMTFhwOUVEVWlVNElvQUFB
Z2dnZ0FBQ0NDQ0FRSnRBMXlsY09JTDBRY1dRWTloUXVXTlE2YU5YQUhGZHhFRWthYThiRlpBcQp3
UkVCQkJCQUFBRUVFRUFBQVFTYUJMSjZQcUlDaHlzZ0htYmxhb2VySDFIWFBTcHJWQVdrSERlcFkz
UGE5RjNjakFBQ0NDQ0FBQUlJCklJQUFBbGRkUUpVT0ZVQkt0U01xaFF3cWQzZ1dyRUdwbzFmNGNO
am9YQW5SUFhVamdGUUpqZ2dnZ0FBQ0NDQ0FBQUlJSU5Ba29BbXUKZ3BZQUthdWhseUNpNERGcTdK
V3JJZEV6WXlsNERHcjZjQ042M1FnZ1ZZSWpBZ2dnZ0FBQ0NDQ0FBQUlJTkFsb3dpdUZEKzNxOXBp
VgpSS1pwQ1pPQ2gwT0pMdXU2MWdmUklvVHBjSG9zQWVSa3dSa0NDQ0NBQUFJSUlJQUFBZ2kwQ015
T0hrdVk1MWtyb1ljd080Q1VsZEFWClBOSnhCWFJmTDBuay9Mbk1ndFVDekwwSUlJQUFBZ2dnZ0FB
Q0NDQ3dDcmk2VVRvOU5OVEtPV1BSVkx5VEt5RXFmOHg2N1d0SlFXUmYKN3RNTGJRU1Fvd00vRVVB
QUFRUVFRQUFCQkJCQW9GRWc1MW5EclZRQmNabGo2VlQ5bU1LaUFPTGc0UXBJVWdwSkhvdEZFM3Fq
TExjagpnQUFDQ0NDQUFBSUlJSURBRFFLZEt4MUtHemwzWVQ5SDlZSG90WGIzZ1pSekJSQ0hFWTNR
V2pkNlFGWUtUaEJBQUFFRUVFQUFBUVFRClFLQkpRR0VqcStLUlVsYmxZdzVKWTY4T0tudE1oNmtF
RXcvUmNpVmtUeE42RXlzM0k0QUFBZ2dnZ0FBQ0NDQ0F3QVVDWHVEODRCS0kKaGxpcDkxeDlIMjVK
NzBQS1VkYzEvRW9CNUhCZUpha2Zwd0pTSlRnaWdBQUNDQ0NBQUFJSUlJQkFrOENpY1ZZT0ZNbDlI
K29EY1FoSgpaUmFzWXdYRUk2OThUUVdSZGFNSmZhWGdCQUVFRUVBQUFRUVFRQUFCQkZvRXNsWkNE
MW9CZmFjUFRXVVJRczF5cGRVSHh5R0cwWXNRCmFnSENhM3B6T1RzOWxRckl5WUl6QkJCQUFBRUVF
RUFBQVFRUWFCRnd5TkRlYVJSV1dmMWNKenVOeXhvVlRCeEF2QUI2ci9kMm05U3gKT1czNUp1NUZB
QUVFRUVBQUFRUVFRQUNCcXk3UXFkTFJxUUlTblVLMGpic3g5Rm9ldmRmcnFMRldMcEM0Q3VKd1Vy
Zk5hYjNFRVFFRQpFRUFBQVFRUVFBQUJCQkM0aElDckg1cG9WeGxFZTFUN2VTNTcxSEZRSlVSNUpH
aEVWdG5yMCtnQnFSSWNFVUFBQVFRUVFBQUJCQkJBCm9FMmc2eFF1SEVINm9HTElNV3lvM0RHbzlO
RXJnTGd1NGlDU3ROZU5Da2lWNElnQUFnZ2dnQUFDQ0NDQUFBSk5BbGs5SDFHQnd4VVEKRDdOeXRj
UFZqNmpySHBVMXFnSlNqcHZVc1RsdCtpNXVSZ0FCQkJCQUFBRUVFRUFBZ2FzdW9FcUhDaUNsMmhH
VlFnYVZPendMMXFEVQowU3Q4T0d4MHJvVG9ucm9SUUtvRVJ3UVFRQUFCQkJCQUFBRUVFR2dTMEFS
WFFVdUFsTlhRU3hCUjhCZzE5c3JWa09pWnNSUThCalY5CnVCRzliZ1NRS3NFUkFRUVFRQUFCQkJC
QUFBRUVtZ1EwNFpYQ2gzWjFlOHhLSXRPMGhFbkJ3NkZFbDNWZDY0Tm9FY0owT0QyV0FIS3kKNEF3
QkJCQkFBQUVFRUVBQUFRUmFCR1pIanlYTTg2eVYwRU9ZSFVES1N1Z0tIdW00QXJxdmx5UnkvbHht
d1dvQjVsNEVFRUFBQVFRUQpRQUFCQkJCWUJWemRLSjBlR21ybG5MRm9LdDdKbFJDVlAyYTk5cldr
SUxJdjkrbUZOZ0xJMFlHZkNDQ0FBQUlJSUlBQUFnZ2cwQ2lRCjg2emhWcXFBdU15eGRLcCtUR0ZS
QUhId2NBVWtLWVVrajhXaUNiMVJsdHNSUUFBQkJCQkFBQUVFRUVEZ0JvSE9sUTZsalp5N3NKK2oK
K2tEMFdydjdRTXE1QW9qRGlFWm9yUnM5SUNzRkp3Z2dnQUFDQ0NDQUFBSUlJTkFrb0xDUlZmRklL
YXZ5TVlla3NWY0hsVDJtdzFTQwppWWRvdVJLeXB3bTlpWldiRVVBQUFRUVFRQUFCQkJCQTRBSUJM
M0IrY0FsRVE2elVlNjYrRDdlazl5SGxxT3NhZnFVQWNqaXZrdFNQClV3R3BFaHdSUUFBQkJCQkFB
QUVFRUVDZ1NXRFJPQ3NIaXVTK0QvV0JPSVNrTWd2V3NRTGlrVmUrcG9MSXV0R0V2bEp3Z2dBQ0ND
Q0EKQUFJSUlJQUFBaTBDV1N1aEI2MkF2dE9IcHJJSW9XYTUwdXFENHhERDZFVUl0UURoTmIyNW5K
MmVTZ1hrWk1FWkFnZ2dnQUFDQ0NDQQpBQUlJdEFnNFpHanZOQXFyckg2dWs1M0daWTBLSmc0Z1hn
QzkxM3U3VGVyWW5MWjhFL2NpZ0FBQ0NDQ0FBQUlJSUlEQVZSZm9WT25vClZBR0pUaUhheHQwWWVp
MlAzdXQxMUZnckYwaGNCWEU0cWR2bXRGN2lpQUFDQ0NDQUFBSUlJSUFBQWdoY1FzRFZEMDIwcXd5
aVBhcjkKUEpjOTZqaW9FcUk4RWpRaXErejFhZlNBVkFtT0NDQ0FBQUlJSUlBQUFnZ2cwQ2JRZFFv
WGppQjlVREhrR0RaVTdoaFUrdWdWUUZ3WApjUkJKMnV0R0JhUktjRVFBQVFRUVFBQUJCQkJBQUlF
bWdheWVqNmpBNFFxSWgxbTUydUhxUjlSMWo4b2FWUUVweDAzcTJKdzJmUmMzCkk0QUFBZ2dnZ0FB
Q0NDQ0F3RlVYVUtWREJaQlM3WWhLSVlQS0haNEZhMURxNkJVK0hEWTZWMEowVDkwSUlGV0NJd0lJ
SUlBQUFnZ2cKZ0FBQ0NEUUphSUtyb0NWQXltcm9KWWdvZUl3YWUrVnFTUFRNV0FvZWc1byszSWhl
TndKSWxlQ0lBQUlJSUlBQUFnZ2dnQUFDVFFLYQo4RXJoUTd1NlBXWWxrV2xhd3FUZzRWQ2l5N3F1
OVVHMENHRTZuQjVMQURsWmNJWUFBZ2dnZ0FBQ0NDQ0FBQUl0QXJPanh4TG1lZFpLCjZDSE1EaUJs
SlhRRmozUmNBZDNYU3hJNWZ5NnpZTFVBY3k4Q0NDQ0FBQUlJSUlBQUFnaXNBcTV1bEU0UERiVnl6
bGcwRmUva1NvaksKSDdOZSsxcFNFTm1YKy9SQ0d3SGs2TUJQQkJCQUFBRUVFRUFBQVFRUWFCVEll
ZFp3SzFWQVhPWllPbFUvcHJBb2dEaDR1QUtTbEVLUwp4MkxSaE40b3krMElJSUFBQWdnZ2dBQUND
Q0J3ZzBEblNvZlNSczVkMk05UmZTQjZyZDE5SU9WY0FjUmhSQ08wMW8wZWtKV0NFd1FRClFBQUJC
QkJBQUFFRUVHZ1NVTmpJcW5pa2xGWDVtRVBTMkt1RHloN1RZU3JCeEVPMFhBblowNFRleE1yTkND
Q0FBQUlJSUlBQUFnZ2cKY0lHQUZ6Zy91QVNpSVZicVBWZmZoMXZTKzVCeTFIVU52MUlBT1p4WFNl
ckhxWUJVQ1k0SUlJQUFBZ2dnZ0FBQ0NDRFFKTEJvbkpVRApSWExmaC9wQUhFSlNtUVhyV0FIeHlD
dGZVMEZrM1doQ1h5azRRUUFCQkJCQUFBRUVFRUFBZ1JhQnJKWFFnMVpBMytsRFUxbUVVTE5jCmFm
WEJjWWhoOUNLRVdvRHdtdDVjems1UHBRSnlzdUFNQVFRUVFBQUJCQkJBQUFFRVdnUWNNclIzR29W
VlZqL1h5VTdqc2tZRkV3Y1EKTDREZTY3M2RKblZzVGx1K2lYc1JRQUFCQkJCQUFBRUVFRURncWd0
MHFuUjBxb0JFcHhCdDQyNE12WlpINy9VNmFxeVZDeVN1Z2ppYwoxRzF6V2k5eFJBQUJCQkJBQUFF
RUVFQUFBUVF1SWVEcWh5YmFWUWJSSHRWK25zc2VkUnhVQ1ZFZUNScVJWZmI2TkhwQXFnUkhCQkJB
CkFBRUVFRUFBQVFRUWFCUG9Pb1VMUjVBK3FCaHlEQnNxZHd3cWZmUUtJSzZMT0lnazdYV2pBbEls
T0NLQUFBSUlJSUFBQWdnZ2dFQ1QKUUZiUFIxVGdjQVhFdzZ4YzdYRDFJK3E2UjJXTnFvQ1U0eVox
YkU2YnZvdWJFVUFBQVFRUVFBQUJCQkJBNEtvTHFOS2hBa2lwZGtTbAprRUhsRHMrQ05TaDE5QW9m
RGh1ZEt5RzZwMjRFa0NyQkVRRUVFRUFBQVFRUVFBQUJCSm9FTk1GVjBCSWdaVFgwRWtRVVBFYU52
WEkxCkpIcG1MQVdQUVUwZmJrU3ZHd0drU25CRUFBRUVFRUFBQVFRUVFBQ0JKZ0ZOZUtYd29WM2RI
ck9TeURRdFlWTHdjQ2pSWlYzWCtpQmEKaERBZFRvOGxnSndzT0VNQUFRUVFRQUFCQkJCQUFJRVdn
ZG5SWXduelBHc2w5QkJtQjVDeUVycUNSenF1Z083ckpZbWNQNWRac0ZxQQp1UmNCQkJCQUFBRUVF
RUFBQVFSV0FWYzNTcWVIaGxvNVp5eWFpbmR5SlVUbGoxbXZmUzBwaU96TGZYcWhqUUJ5ZE9BbkFn
Z2dnQUFDCkNDQ0FBQUlJTkFya1BHdTRsU29nTG5Nc25hb2ZVMWdVUUJ3OFhBRkpTaUhKWTdGb1Ft
K1U1WFlFRUVBQUFRUVFRQUFCQkJDNFFhQnoKcFVOcEkrY3U3T2VvUGhDOTF1NCtrSEt1QU9Jd29o
RmE2MFlQeUVyQkNRSUlJSUFBQWdnZ2dBQUNDRFFKS0d4a1ZUeFN5cXA4ekNGcAo3TlZCWlkvcE1K
Vmc0aUZhcm9Uc2FVSnZZdVZtQkJCQUFBRUVFRUFBQVFRUXVFREFDNXdmWEFMUkVDdjFucXZ2d3kz
cGZVZzU2cnFHClh5bUFITTZySlBYalZFQ3FCRWNFRUVBQUFRUVFRQUFCQkJCb0VsZzB6c3FCSXJu
dlEzMGdEaUdweklKMXJJQjQ1Sld2cVNDeWJqU2gKcnhTY0lJQUFBZ2dnZ0FBQ0NDQ0FRSXRBMWty
b1FTdWc3L1NocVN4Q3FGbXV0UHJnT01Rd2VoRkNMVUI0VFc4dVo2ZW5VZ0U1V1hDRwpBQUlJSUlB
QUFnZ2dnQUFDTFFJT0dkbzdqY0lxcTUvclpLZHhXYU9DaVFPSUYwRHY5ZDV1a3pvMnB5M2Z4TDBJ
SUlBQUFnZ2dnQUFDCkNDQncxUVU2VlRvNlZVQ2lVNGkyY1RlR1hzdWo5M29kTmRiS0JSSlhRUnhP
NnJZNXJaYzRJb0FBQWdnZ2dBQUNDQ0NBQUFLWEVIRDEKUXhQdEtvTm9qMm8vejJXUE9nNnFoQ2lQ
QkkzSUtudDlHajBnVllJakFnZ2dnQUFDQ0NDQUFBSUl0QWwwbmNLRkkwZ2ZWQXc1aGcyVgpPd2FW
UG5vRkVOZEZIRVNTOXJwUkFha1NIQkZBQUFFRUVFQUFBUVFRUUtCSklLdm5JeXB3dUFMaVlWYXVk
cmo2RVhYZG83SkdWVURLCmNaTTZOcWROMzhYTkNDQ0FBQUlJSUlBQUFnZ2djTlVGVk9sUUFhUlVP
NkpTeUtCeWgyZkJHcFE2ZW9VUGg0M09sUkRkVXpjQ1NKWGcKaUFBQ0NDQ0FBQUlJSUlBQUFrMENt
dUFxYUFtUXNocDZDU0lLSHFQR1hya2FFajB6bG9MSG9LWVBONkxYalFCU0pUZ2lnQUFDQ0NDQQpB
QUlJSUlCQWs0QW12Rkw0MEs1dWoxbEpaSnFXTUNsNE9KVG9zcTVyZlJBdFFwZ09wOGNTUUU0V25D
R0FBQUlJSUlBQUFnZ2dnRUNMCndPem9zWVI1bnJVU2VnaXpBMGhaQ1YzQkl4MVhRUGYxa2tUT244
c3NXQzNBM0lzQUFnZ2dnQUFDQ0NDQUFBS3JnS3NicGRORFE2MmMKTXhaTnhUdTVFcUx5eDZ6WHZw
WVVSUGJsUHIzUVJnQTVPdkFUQVFRUVFBQUJCQkJBQUFFRUdnVnlualhjU2hVUWx6bVdUdFdQS1N3
SwpJQTRlcm9Ba3BaRGtzVmcwb1RmS2Nqc0NDQ0NBQUFJSUlJQUFBZ2pjSU5DNTBxRzBrWE1YOW5O
VUg0aGVhM2NmU0RsWEFIRVkwUWl0CmRhTUhaS1hnQkFFRUVFQUFBUVFRUUFBQkJKb0VGRGF5S2g0
cFpWVSs1cEEwOXVxZ3NzZDBtRW93OFJBdFYwTDJOS0Uzc1hJekFnZ2cKZ0FBQ0NDQ0FBQUlJWENE
Z0JjNFBMb0ZvaUpWNno5WDM0WmIwUHFRY2RWM0RyeFJBRHVkVmt2cHhLaUJWZ2lNQ0NDQ0FBQUlJ
SUlBQQpBZ2cwQ1N3YVorVkFrZHozb1Q0UWg1QlVac0U2VmtBODhzclhWQkJaTjVyUVZ3cE9FRUFB
QVFRUVFBQUJCQkJBb0VVZ2F5WDBvQlhRCmQvclFWQlloMUN4WFduMXdIR0lZdlFpaEZpQzhwamVY
czlOVHFZQ2NMRGhEQUFFRUVFQUFBUVFRUUFDQkZnR0hETzJkUm1HVjFjOTEKc3RPNHJGSEJ4QUhF
QzZEM2VtKzNTUjJiMDVadjRsNEVFRUFBQVFRUVFBQUJCQkM0NmdLZEtoMmRLaURSS1VUYnVCdERy
K1hSZTcyTwpHbXZsQW9tcklBNG5kZHVjMWtzY0VVQUFBUVFRUUFBQkJCQkFBSUZMQ0xqNm9ZbDJs
VUcwUjdXZjU3SkhIUWRWUXBSSGdrWmtsYjArCmpSNlFLc0VSQVFRUVFBQUJCQkJBQUFFRTJnUzZU
dUhDRWFRUEtvWWN3NGJLSFlOS0g3MENpT3NpRGlKSmU5Mm9nRlFKamdnZ2dBQUMKQ0NDQUFBSUlJ
TkFra05YekVSVTRYQUh4TUN0WE8xejlpTHJ1VVZtaktpRGx1RWtkbTlPbTcrSm1CQkJBQUFFRUVF
QUFBUVFRdU9vQwpxblNvQUZLcUhWRXBaRkM1dzdOZ0RVb2R2Y0tIdzBiblNvanVxUnNCcEVwd1JB
QUJCQkJBQUFFRUVFQUFnU1lCVFhBVnRBUklXUTI5CkJCRUZqMUZqcjF3TmlaNFpTOEZqVU5PSEc5
SHJSZ0NwRWh3UlFBQUJCQkJBQUFFRUVFQ2dTVUFUWGlsOGFGZTN4NndrTWsxTG1CUTgKSEVwMFdk
ZTFQb2dXSVV5SDAyTUpJQ2NMemhCQUFBRUVFRUFBQVFRUVFLQkZZSGIwV01JOHoxb0pQWVRaQWFT
c2hLN2drWTRyb1B0NgpTU0xuejJVV3JCWmc3a1VBQVFRUVFBQUJCQkJBQUlGVndOV04wdW1ob1Zi
T0dZdW00cDFjQ1ZINVk5WnJYMHNLSXZ0eW4xNW9JNEFjCkhmaUpBQUlJSUlBQUFnZ2dnQUFDalFJ
NXp4cHVwUXFJeXh4THArckhGQllGRUFjUFYwQ1NVa2p5V0N5YTBCdGx1UjBCQkJCQUFBRUUKRUVB
QUFRUnVFT2hjNlZEYXlMa0wrem1xRDBTdnRic1BwSndyZ0RpTWFJVFd1dEVEc2xKd2dnQUNDQ0NB
QUFJSUlJQUFBazBDQ2h0WgpGWStVc2lvZmMwZ2FlM1ZRMldNNlRDV1llSWlXS3lGN210Q2JXTGta
QVFRUVFBQUJCQkJBQUFFRUxoRHdBdWNIbDBBMHhFcTk1K3I3CmNFdDZIMUtPdXE3aFZ3b2doL01x
U2YwNEZaQXF3UkVCQkJCQUFBRUVFRUFBQVFTYUJCYU5zM0tnU083N1VCK0lRMGdxczJBZEt5QWUK
ZWVWcktvaXNHMDNvS3dVbkNDQ0FBQUlJSUlBQUFnZ2cwQ0tRdFJKNjBBcm9PMzFvS29zUWFwWXJy
VDQ0RGpHTVhvUlFDeEJlMDV2TAoyZW1wVkVCT0Zwd2hnQUFDQ0NDQUFBSUlJSUJBaTRCRGh2Wk9v
N0RLNnVjNjJXbGMxcWhnNGdEaUJkQjd2YmZicEk3TmFjczNjUzhDCkNDQ0FBQUlJSUlBQUFnaGNk
WUZPbFk1T0ZaRG9GS0p0M0kyaDEvTG92VjVIamJWeWdjUlZFSWVUdW0xTzZ5V09DQ0NBQUFJSUlJ
QUEKQWdnZ2dNQWxCRno5MEVTN3lpRGFvOXJQYzltampvTXFJY29qUVNPeXlsNmZSZzlJbGVDSUFB
SUlJSUFBQWdnZ2dBQUNiUUpkcDNEaApDTklIRlVPT1lVUGxqa0dsajE0QnhIVVJCNUdrdlc1VVFL
b0VSd1FRUUFBQkJCQkFBQUVFRUdnU3lPcjVpQW9jcm9CNG1KV3JIYTUrClJGMzNxS3hSRlpCeTNL
U096V25UZDNFekFnZ2dnQUFDQ0NDQUFBSUlYSFVCVlRwVUFDblZqcWdVTXFqYzRWbXdCcVdPWHVI
RFlhTnoKSlVUMzFJMEFVaVU0SW9BQUFnZ2dnQUFDQ0NDQVFKT0FKcmdLV2dLa3JJWmVnb2lDeDZp
eFY2NkdSTStNcGVBeHFPbkRqZWgxSTRCVQpDWTRJSUlBQUFnZ2dnQUFDQ0NEUUpLQUpyeFErdEt2
YlkxWVNtYVlsVEFvZURpVzZyT3RhSDBTTEVLYkQ2YkVFa0pNRlp3Z2dnQUFDCkNDQ0FBQUlJSU5B
aU1EdDZMR0dlWjYyRUhzTHNBRkpXUWxmd1NNY1YwSDI5SkpIejV6SUxWZ3N3OXlLQUFBSUlJSUFB
QWdnZ2dNQXEKNE9wRzZmVFFVQ3ZuakVWVDhVNnVoS2o4TWV1MXJ5VUZrWDI1VHkrMEVVQ09EdnhF
QUFFRUVFQUFBUVFRUUFDQlJvR2NadzIzVWdYRQpaWTZsVS9WakNvc0NpSU9IS3lCSktTUjVMQlpO
NkkyeTNJNEFBZ2dnZ0FBQ0NDQ0FBQUkzQ0hTdWRDaHQ1TnlGL1J6VkI2TFgydDBIClVzNFZRQnhH
TkVKcjNlZ0JXU2s0UVFBQkJCQkFBQUVFRUVBQWdTWUJoWTJzaWtkS1daV1BPU1NOdlRxbzdERWRw
aEpNUEVUTGxaQTkKVGVoTnJOeU1BQUlJSUlBQUFnZ2dnQUFDRndoNGdmT0RTeUFhWXFYZWMvVjl1
Q1c5RHlsSFhkZndLd1dRdzNtVnBINmNDa2lWNElnQQpBZ2dnZ0FBQ0NDQ0FBQUpOQW92R1dUbFFK
UGQ5cUEvRUlTU1ZXYkNPRlJDUHZQSTFGVVRXalNiMGxZSVRCQkJBQUFFRUVFQUFBUVFRCmFCSElX
Z2s5YUFYMG5UNDBsVVVJTmN1VlZoOGNoeGhHTDBLb0JRaXY2YzNsN1BSVUtpQW5DODRRUUFBQkJC
QkFBQUVFRUVDZ1JjQWgKUTN1blVWaGw5WE9kN0RRdWExUXdjUUR4QXVpOTN0dHRVc2ZtdE9XYnVC
Y0JCQkJBQUFFRUVFQUFBUVN1dWtDblNrZW5Da2gwQ3RFMgo3c2JRYTNuMFhxK2p4bHE1UU9JcWlN
TkozVGFuOVJKSEJCQkFBQUVFRUVBQUFRUVFRT0FTQXE1K2FLSmRaUkR0VWUzbnVleFJ4MEdWCkVP
V1JvQkhwUUxVTEFBQWdBRWxFUVZSWlphOVBvd2VrU25CRUFBRUVFRUFBQVFRUVFBQ0JOb0d1VTdo
d0JPbURpaUhIc0tGeXg2RFMKUjY4QTRycUlnMGpTWGpjcUlGV0NJd0lJSUlBQUFnZ2dnQUFDQ0RR
SlpQVjhSQVVPVjBBOHpNclZEbGMvb3E1N1ZOYW9Da2c1YmxMSAo1clRwdTdnWkFRUVFRQUFCQkJC
QUFBRUVycnFBS2gwcWdKUnFSMVFLR1ZUdThDeFlnMUpIci9EaHNORzVFcUo3NmtZQXFSSWNFVUFB
CkFRUVFRQUFCQkJCQW9FbEFFMXdGTFFGU1ZrTXZRVVRCWTlUWUsxZERvbWZHVXZBWTFQVGhSdlM2
RVVDcUJFY0VFRUFBQVFRUVFBQUIKQkJCb0V0Q0VWd29mMnRYdE1TdUpUTk1TSmdVUGh4SmQxbld0
RDZKRkNOUGg5RmdDeU1tQ013UVFRQUFCQkJCQUFBRUVFR2dSbUIwOQpsakRQczFaQ0QyRjJBQ2ty
b1N0NHBPTUs2TDVla3NqNWM1a0Zxd1dZZXhGQUFBRUVFRUFBQVFRUVFHQVZjSFdqZEhwb3FKVnp4
cUtwCmVDZFhRbFQrbVBYYTE1S0N5TDdjcHhmYUNDQkhCMzRpZ0FBQ0NDQ0FBQUlJSUlCQW8wRE9z
NFpicVFMaU1zZlNxZm94aFVVQnhNSEQKRlpDa0ZKSThGb3NtOUVaWmJrY0FBUVFRUUFBQkJCQkFB
SUViQkRwWE9wUTJjdTdDZm83cUE5RnI3ZTRES2VjS0lBNGpHcUcxYnZTQQpyQlNjSUlBQUFnZ2dn
QUFDQ0NDQVFKT0F3a1pXeFNPbHJNckhISkxHWGgxVTlwZ09Vd2ttSHFMbFNzaWVKdlFtVm01R0FB
RUVFRUFBCkFRUVFRQUNCQ3dTOHdQbkJKUkFOc1ZMdnVmbyszSkxlaDVTanJtdjRsUUxJNGJ4S1Vq
OU9CYVJLY0VRQUFRUVFRQUFCQkJCQUFJRW0KZ1VYanJCd29rdnMrMUFmaUVKTEtMRmpIQ29oSFh2
bWFDaUxyUmhQNlNzRUpBZ2dnZ0FBQ0NDQ0FBQUlJdEFoa3JZUWV0QUw2VGgrYQp5aUtFbXVWS3F3
K09Rd3lqRnlIVUFvVFg5T1p5ZG5vcUZaQ1RCV2NJSUlBQUFnZ2dnQUFDQ0NEUUl1Q1FvYjNUS0t5
eStybE9kaHFYCk5TcVlPSUI0QWZSZTcrMDJxV056MnZKTjNJc0FBZ2dnZ0FBQ0NDQ0FBQUpYWGFC
VHBhTlRCU1E2aFdnYmQyUG90VHg2cjlkUlk2MWMKSUhFVnhPR2ticHZUZW9rakFnZ2dnQUFDQ0ND
QUFBSUlJSEFKQVZjL05OR3VNb2oycVBielhQYW80NkJLaVBKSTBJaXNzdGVuMFFOUwpKVGdpZ0FB
Q0NDQ0FBQUlJSUlCQW0wRFhLVnc0Z3ZSQnhaQmoyRkM1WTFEcG8xY0FjVjNFUVNScHJ4c1ZrQ3JC
RVFFRUVFQUFBUVFRClFBQUJCSm9Fc25vK29nS0hLeUFlWnVWcWg2c2ZVZGM5S210VUJhUWNONmxq
YzlyMFhkeU1BQUlJSUlBQUFnZ2dnQUFDVjExQWxRNFYKUUVxMUl5cUZEQ3AzZUJhc1FhbWpWL2h3
Mk9oY0NkRTlkU09BVkFtT0NDQ0FBQUlJSUlBQUFnZ2cwQ1NnQ2E2Q2xnQXBxNkdYSUtMZwpNV3Jz
bGFzaDBUTmpLWGdNYXZwd0kzcmRDQ0JWZ2lNQ0NDQ0FBQUlJSUlBQUFnZzBDV2pDSzRVUDdlcjJt
SlZFcG1rSms0S0hRNGt1CjY3cldCOUVpaE9sd2Vpd0I1R1RCR1FJSUlJQUFBZ2dnZ0FBQ0NMUUl6
STRlUzVqbldTdWhoekE3Z0pTVjBCVTgwbkVGZEY4dlNlVDgKdWN5QzFRTE12UWdnZ0FBQ0NDQ0FB
QUlJSUxBS3VMcFJPajAwMU1vNVk5RlV2Sk1ySVNwL3pIcnRhMGxCWkYvdTB3dHRCSkNqQXo4UgpR
QUFCQkJCQUFBRUVFRUNnVVNEbldjT3RWQUZ4bVdQcFZQMll3cUlBNHVEaENraFNDa2tlaTBVVGVx
TXN0eU9BQUFJSUlJQUFBZ2dnCmdNQU5BcDBySFVvYk9YZGhQMGYxZ2VpMWR2ZUJsSE1GRUljUmpk
QmFOM3BBVmdwT0VFQUFBUVFRUUFBQkJCQkFvRWxBWVNPcjRwRlMKVnVWakRrbGpydzRxZTB5SHFR
UVREOUZ5SldSUEUzb1RLemNqZ0FBQ0NDQ0FBQUlJSUlEQUJRSmU0UHpnRW9pR1dLbjNYSDBmYmtu
dgpROHBSMXpYOFNnSGtjRjRscVIrbkFsSWxPQ0tBQUFJSUlJQUFBZ2dnZ0VDVHdLSnhWZzRVeVgw
ZjZnTnhDRWxsRnF4akJjUWpyM3hOCkJaRjFvd2w5cGVBRUFRUVFRQUFCQkJCQUFBRUVXZ1N5VmtJ
UFdnRjlwdzlOWlJGQ3pYS2wxUWZISVliUml4QnFBY0pyZW5NNU96MlYKQ3NqSmdqTUVFRUFBQVFR
UVFBQUJCQkJvRVhESTBONXBGRlpaL1Z3bk80M0xHaFZNSEVDOEFIcXY5M2FiMUxFNWJma203a1VB
QVFRUQpRQUFCQkJCQUFJR3JMdENwMHRHcEFoS2RRclNOdXpIMFdoNjkxK3Vvc1ZZdWtMZ0s0bkJT
dDgxcHZjUVJBUVFRUUFBQkJCQkFBQUVFCkVMaUVnS3NmbW1oWEdVUjdWUHQ1TG52VWNWQWxSSGtr
YUVSVzJldlQ2QUdwRWh3UlFBQUJCQkJBQUFFRUVFQ2dUYURyRkM0Y1FmcWcKWXNneGJLamNNYWow
MFN1QXVDN2lJSkswMTQwS1NKWGdpQUFDQ0NDQUFBSUlJSUFBQWswQ1dUMGZVWUhERlJBUHMzSzF3
OVdQcU9zZQpsVFdxQWxLT205U3hPVzM2TG01R0FBRUVFRUFBQVFRUVFBQ0JxeTZnU29jS0lLWGFF
WlZDQnBVN1BBdldvTlRSSzN3NGJIU3VoT2llCnVoRkFxZ1JIQkJCQUFBRUVFRUFBQVFRUWFCTFFC
RmRCUzRDVTFkQkxFRkh3R0RYMnl0V1E2Sm14RkR3R05YMjRFYjF1QkpBcXdSRUIKQkJCQUFBRUVF
RUFBQVFTYUJEVGhsY0tIZG5WN3pFb2kwN1NFU2NIRG9VU1hkVjNyZzJnUnduUTRQWllBY3JMZ0RB
RUVFRUFBQVFRUQpRQUFCQkZvRVprZVBKY3p6ckpYUVE1Z2RRTXBLNkFvZTZiZ0N1cStYSkhMK1hH
YkJhZ0htWGdRUVFBQUJCQkJBQUFFRUVGZ0ZYTjBvCm5SNGFhdVdjc1dncTNzbVZFSlUvWnIzMnRh
UWdzaS8zNllVMkFzalJnWjhJSUlBQUFnZ2dnQUFDQ0NEUUtKRHpyT0ZXcW9DNHpMRjAKcW41TVlW
RUFjZkJ3QlNRcGhTU1B4YUlKdlZHVzJ4RkFBQUVFRUVBQUFRUVFRT0FHZ2M2VkRxV05uTHV3bjZQ
NlFQUmF1L3RBeXJrQwppTU9JUm1pdEd6MGdLd1VuQ0NDQUFBSUlJSUFBQWdnZzBDU2dzSkZWOFVn
cHEvSXhoNlN4VndlVlBhYkRWSUtKaDJpNUVyS25DYjJKCmxac1JRQUFCQkJCQUFBRUVFRURnQWdF
dmNINXdDVVJEck5SN3JyNFB0NlQzSWVXbzZ4cCtwUUJ5T0srUzFJOVRBYWtTSEJGQUFBRUUKRUVB
QUFRUVFRS0JKWU5FNEt3ZUs1TDRQOVlFNGhLUXlDOWF4QXVLUlY3Nm1nc2k2MFlTK1VuQ0NBQUlJ
SUlBQUFnZ2dnQUFDTFFKWgpLNkVIcllDKzA0ZW1zZ2loWnJuUzZvUGpFTVBvUlFpMUFPRTF2Ym1j
blo1S0JlUmt3UmtDQ0NDQUFBSUlJSUFBQWdpMENEaGthTzgwCkNxdXNmcTZUbmNabGpRb21EaUJl
QUwzWGU3dE42dGljdG53VDl5S0FBQUlJSUlBQUFnZ2dnTUJWRitoVTZlaFVBWWxPSWRyRzNSaDYK
TFkvZTYzWFVXQ3NYU0Z3RmNUaXAyK2EwWHVLSUFBSUlJSUFBQWdnZ2dBQUNDRnhDd05VUFRiU3JE
S0k5cXYwOGx6M3FPS2dTb2p3UwpOQ0tyN1BWcDlJQlVDWTRJSUlBQUFnZ2dnQUFDQ0NEUUp0QjFD
aGVPSUgxUU1lUVlObFR1R0ZUNjZCVkFYQmR4RUVuYTYwWUZwRXB3ClJBQUJCQkJBQUFFRUVFQUFn
U2FCcko2UHFNRGhDb2lIV2JuYTRlcEgxSFdQeWhwVkFTbkhUZXJZbkRaOUZ6Y2pnQUFDQ0NDQUFB
SUkKSUlEQVZSZFFwVU1Ga0ZMdGlFb2hnOG9kbmdWclVPcm9GVDRjTmpwWFFuUlAzUWdnVllJakFn
Z2dnQUFDQ0NDQUFBSUlOQWxvZ3F1ZwpKVURLYXVnbGlDaDRqQnA3NVdwSTlNeFlDaDZEbWo3Y2lG
NDNBa2lWNElnQUFnZ2dnQUFDQ0NDQUFBSk5BcHJ3U3VGRHU3bzlaaVdSCmFWckNwT0RoVUtMTHVx
NzFRYlFJWVRxY0hrc0FPVmx3aGdBQ0NDQ0FBQUlJSUlBQUFpMENzNlBIRXVaNTFrcm9JY3dPSUdV
bGRBV1AKZEZ3QjNkZExFamwvTHJOZ3RRQnpMd0lJSUlBQUFnZ2dnQUFDQ0t3Q3JtNlVUZzhOdFhM
T1dEUVY3K1JLaU1vZnMxNzdXbElRMlpmNwo5RUliQWVUb3dFOEVFRUFBQVFRUVFBQUJCQkJvRk1o
NTFuQXJWVUJjNWxnNlZUK21zQ2lBT0hpNEFwS1VRcExIWXRHRTNpakw3UWdnCmdBQUNDQ0NBQUFJ
SUlIQ0RRT2RLaDlKR3psM1l6MUY5SUhxdDNYMGc1VndCeEdGRUk3VFdqUjZRbFlJVEJCQkFBQUVF
RUVBQUFRUVEKYUJKUTJNaXFlS1NVVmZtWVE5TFlxNFBLSHROaEtzSEVRN1JjQ2RuVGhON0V5czBJ
SUlBQUFnZ2dnQUFDQ0NCd2dZQVhPRCs0QktJaApWdW85VjkrSFc5TDdrSExVZFEyL1VnQTVuRmRK
NnNlcGdGUUpqZ2dnZ0FBQ0NDQ0FBQUlJSU5Ba3NHaWNsUU5GY3QrSCtrQWNRbEtaCkJldFlBZkhJ
SzE5VFFXVGRhRUpmS1RoQkFBRUVFRUFBQVFRUVFBQ0JGb0dzbGRDRFZrRGY2VU5UV1lSUXMxeHA5
Y0Z4aUdIMElvUmEKZ1BDYTNsek9UaytsQW5LeTRBd0JCQkJBQUFFRUVFQUFBUVJhQkJ3eXRIY2Fo
VlZXUDlmSlR1T3lSZ1VUQnhBdmdON3J2ZDBtZFd4TwpXNzZKZXhGQUFBRUVFRUFBQVFRUVFPQ3FD
M1NxZEhTcWdFU25FRzNqYmd5OWxrZnY5VHBxckpVTEpLNkNPSnpVYlhOYUwzRkVBQUVFCkVFQUFB
UVFRUUFBQkJDNGg0T3FISnRwVkJ0RWUxWDZleXg1MUhGUUpVUjRKR3BGVjl2bzBla0NxQkVjRUVF
QUFBUVFRUUFBQkJCQm8KRStnNmhRdEhrRDZvR0hJTUd5cDNEQ3A5OUFvZ3JvczRpQ1R0ZGFNQ1Vp
VTRJb0FBQWdnZ2dBQUNDQ0NBUUpOQVZzOUhWT0J3QmNURApyRnp0Y1BVajZycEhaWTJxZ0pUakpu
VnNUcHUraTVzUlFBQUJCQkJBQUFFRUVFRGdxZ3VvMHFFQ1NLbDJSS1dRUWVVT3o0STFLSFgwCkNo
OE9HNTBySWJxbmJnU1FLc0VSQVFRUVFBQUJCQkJBQUFFRW1nUTB3VlhRRWlCbE5mUVNSQlE4Um8y
OWNqVWtlbVlzQlk5QlRSOXUKUks4YkFhUktjRVFBQVFRUVFBQUJCQkJBQUlFbUFVMTRwZkNoWGQw
ZXM1TElOQzFoVXZCd0tORmxYZGY2SUZxRU1CMU9qeVdBbkN3NApRd0FCQkJCQUFBRUVFRUFBZ1Jh
QjJkRmpDZk04YXlYMEVHWUhrTElTdW9KSE9xNkE3dXNsaVp3L2wxbXdXb0M1RndFRUVFQUFBUVFR
ClFBQUJCRllCVnpkS3A0ZUdXamxuTEpxS2QzSWxST1dQV2E5OUxTbUk3TXQ5ZXFHTkFISjA0Q2ND
Q0NDQUFBSUlJSUFBQWdnMEN1UTgKYTdpVktpQXVjeXlkcWg5VFdCUkFIRHhjQVVsS0ljbGpzV2hD
YjVUbGRnUVFRQUFCQkJCQUFBRUVFTGhCb0hPbFEya2o1eTdzNTZnKwpFTDNXN2o2UWNxNEE0akNp
RVZyclJnL0lTc0VKQWdnZ2dBQUNDQ0NBQUFJSU5Ba29iR1JWUEZMS3Fuek1JV25zMVVGbGora3ds
V0RpCklWcXVoT3hwUW05aTVXWUVFRUFBQVFRUVFBQUJCQkM0UU1BTG5COWNBdEVRSy9XZXErL0RM
ZWw5U0RucXVvWmZLWUFjenFzazllTlUKUUtvRVJ3UVFRQUFCQkJCQUFBRUVFR2dTV0RUT3lvRWl1
ZTlEZlNBT0lhbk1nbldzZ0hqa2xhK3BJTEp1TktHdkZKd2dnQUFDQ0NDQQpBQUlJSUlCQWkwRFdT
dWhCSzZEdjlLR3BMRUtvV2E2MCt1QTR4REI2RVVJdFFIaE5ieTVucDZkU0FUbFpjSVlBQWdnZ2dB
QUNDQ0NBCkFBSXRBZzRaMmp1TndpcXJuK3RrcDNGWm80S0pBNGdYUU8vMTNtNlRPamFuTGQvRXZR
Z2dnQUFDQ0NDQUFBSUlJSERWQlRwVk9qcFYKUUtKVGlMWnhONFpleTZQM2VoMDExc29GRWxkQkhF
N3F0am10bHpnaWdBQUNDQ0NBQUFJSUlJQUFBcGNRY1BWREUrMHFnMmlQYWovUApaWTg2RHFxRUtJ
OEVqY2dxZTMwYVBTQlZnaU1DQ0NDQUFBSUlJSUFBQWdpMENYU2R3b1VqU0I5VUREbUdEWlU3QnBV
K2VnVVExMFVjClJKTDJ1bEVCcVJJY0VVQUFBUVFRUUFBQkJCQkFvRWtncStjaktuQzRBdUpoVnE1
MnVQb1JkZDJqc2taVlFNcHhrem8ycDAzZnhjMEkKSUlBQUFnZ2dnQUFDQ0NCdzFRVlU2VkFCcEZR
N29sTElvSEtIWjhFYWxEcDZoUStIamM2VkVOMVROd0pJbGVDSUFBSUlJSUFBQWdnZwpnQUFDVFFL
YTRDcG9DWkN5R25vSklnb2VvOFpldVJvU1BUT1dnc2VncGc4M290ZU5BRklsT0NLQUFBSUlJSUFB
QWdnZ2dFQ1RnQ2E4ClV2alFybTZQV1Vsa21wWXdLWGc0bE9peXJtdDlFQzFDbUE2bnh4SkFUaGFj
SVlBQUFnZ2dnQUFDQ0NDQVFJdkE3T2l4aEhtZXRSSjYKQ0xNRFNGa0pYY0VqSFZkQTkvV1NSTTZm
eXl4WUxjRGNpd0FDQ0NDQUFBSUlJSUFBQXF1QXF4dWwwME5Eclp3ekZrM0ZPN2tTb3ZMSApyTmUr
bGhSRTl1VSt2ZEJHQURrNjhCTUJCQkJBQUFFRUVFQUFBUVFhQlhLZU5keEtGUkNYT1paTzFZOHBM
QW9nRGg2dWdDU2xrT1N4CldEU2hOOHB5T3dJSUlJQUFBZ2dnZ0FBQ0NOd2cwTG5Tb2JTUmN4ZjJj
MVFmaUY1cmR4OUlPVmNBY1JqUkNLMTFvd2RrcGVBRUFRUVEKUUFBQkJCQkFBQUVFbWdRVU5ySXFI
aWxsVlQ3bWtEVDI2cUN5eDNTWVNqRHhFQzFYUXZZMG9UZXhjak1DQ0NDQUFBSUlJSUFBQWdoYwpJ
T0FGemc4dWdXaUlsWHJQMWZmaGx2UStwQngxWGNPdkZFQU81MVdTK25FcUlGV0NJd0lJSUlBQUFn
Z2dnQUFDQ0RRSkxCcG41VUNSCjNQZWhQaENIa0ZSbXdUcFdRRHp5eXRkVUVGazNtdEJYQ2s0UVFB
QUJCQkJBQUFFRUVFQ2dSU0JySmZTZ0ZkQjMrdEJVRmlIVUxGZGEKZlhBY1loaTlDS0VXSUx5bU41
ZXowMU9wZ0p3c09FTUFBUVFRUUFBQkJCQkFBSUVXQVljTTdaMUdZWlhWejNXeTA3aXNVY0hFQWNR
TApvUGQ2YjdkSkhadlRsbS9pWGdRUVFBQUJCQkJBQUFFRUVManFBcDBxSFowcUlORXBSTnU0RzBP
djVkRjd2WTRhYStVQ2lhc2dEaWQxCjI1eldTeHdSUUFBQkJCQkFBQUVFRUVBQWdVc0l1UHFoaVhh
VlFiUkh0Wi9uc2tjZEIxVkNsRWVDUm1TVnZUNk5IcEFxd1JFQkJCQkEKQUFFRUVFQUFBUVRhQkxw
TzRjSVJwQThxaGh6RGhzb2RnMG9mdlFLSTZ5SU9Ja2w3M2FpQVZBbU9DQ0NBQUFJSUlJQUFBZ2dn
MENTUQoxZk1SRlRoY0FmRXdLMWM3WFAySXV1NVJXYU1xSU9XNFNSMmIwNmJ2NG1ZRUVFQUFBUVFR
UUFBQkJCQzQ2Z0txZEtnQVVxb2RVU2xrClVMbkRzMkFOU2gyOXdvZkRSdWRLaU82cEd3R2tTbkJF
QUFFRUVFQUFBUVFRUUFDQkpnRk5jQlcwQkVoWkRiMEVFUVdQVVdPdlhBMkoKbmhsTHdXTlEwNGNi
MGV0R0FLa1NIQkZBQUFFRUVFQUFBUVFRUUtCSlFCTmVLWHhvVjdmSHJDUXlUVXVZRkR3Y1NuUlox
N1UraUJZaApUSWZUWXdrZ0p3dk9FRUFBQVFRUVFBQUJCQkJBb0VWZ2R2Ull3anpQV2drOWhOa0Jw
S3lFcnVDUmppdWcrM3BKSXVmUFpSYXNGbUR1ClJRQUJCQkJBQUFFRUVFQUFnVlhBMVkzUzZhR2hW
czRaaTZiaW5Wd0pVZmxqMW10ZlN3b2krM0tmWG1namdCd2QrSWtBQWdnZ2dBQUMKQ0NDQUFBS05B
am5QR202bENvakxIRXVuNnNjVUZnVVFCdzlYUUpKU1NQSllMSnJRRzJXNUhRRUVFRUFBQVFRUVFB
QUJCRzRRNkZ6cApVTnJJdVF2N09hb1BSSysxdXcra25DdUFPSXhvaE5hNjBRT3lVbkNDQUFJSUlJ
QUFBZ2dnZ0FBQ1RRSUtHMWtWajVTeUtoOXpTQnA3CmRWRFpZenBNSlpoNGlKWXJJWHVhMEp0WXVS
a0JCQkJBQUFFRUVFQUFBUVF1RVBBQzV3ZVhRRFRFU3IzbjZ2dHdTM29mVW82NnJ1RlgKQ2lDSDh5
cEovVGdWa0NyQkVRRUVFRUFBQVFRUVFBQUJCSm9FRm8yemNxQkk3dnRRSDRoRFNDcXpZQjBySUI1
NTVXc3FpS3diVGVncgpCU2NJSUlBQUFnZ2dnQUFDQ0NEUUlwQzFFbnJRQ3VnN2ZXZ3FpeEJxbGl1
dFBqZ09NWXhlaEZBTEVGN1RtOHZaNmFsVVFFNFduQ0dBCkFBSUlJSUFBQWdnZ2dFQ0xnRU9HOWs2
anNNcnE1enJaYVZ6V3FHRGlBT0lGMEh1OXQ5dWtqczFweXpkeEx3SUlJSUFBQWdnZ2dBQUMKQ0Z4
MWdVNlZqazRWa09nVW9tM2NqYUhYOHVpOVhrZU50WEtCeEZVUWg1TzZiVTdySlk0SUlJQUFBZ2dn
Z0FBQ0NDQ0F3Q1VFWFAzUQpSTHZLSU5xajJzOXoyYU9PZ3lvaHlpTkJJN0xLWHA5R0QwaVY0SWdB
QWdnZ2dBQUNDQ0NBQUFKdEFsMm5jT0VJMGdjVlE0NWhRK1dPClFhV1BYZ0hFZFJFSGthUzlibFJB
cWdSSEJCQkFBQUVFRUVBQUFRUVFhQkxJNnZtSUNoeXVnSGlZbGFzZHJuNUVYZmVvckZFVmtITGMK
cEk3TmFkTjNjVE1DQ0NDQUFBSUlJSUFBQWdoY2RRRlZPbFFBS2RXT3FCUXlxTnpoV2JBR3BZNWU0
Y05obzNNbFJQZlVqUUJTSlRnaQpnQUFDQ0NDQUFBSUlJSUJBazRBbXVBcGFBcVNzaGw2Q2lJTEhx
TEZYcm9aRXo0eWw0REdvNmNPTjZIVWpnRlFKamdnZ2dBQUNDQ0NBCkFBSUlJTkFrb0FtdkZENjBx
OXRqVmhLWnBpVk1DaDRPSmJxczYxb2ZSSXNRcHNQcHNRU1Frd1ZuQ0NDQUFBSUlJSUFBQWdnZzBD
SXcKTzNvc1laNW5yWVFld3V3QVVsWkNWL0JJeHhYUWZiMGtrZlBuTWd0V0N6RDNJb0FBQWdnZ2dB
QUNDQ0NBd0NyZzZrYnA5TkJRSytlTQpSVlB4VHE2RXFQd3g2N1d2SlFXUmZibFBMN1FSUUk0Ty9F
UUFBUVFRUUFBQkJCQkFBSUZHZ1p4bkRiZFNCY1JsanFWVDlXTUtpd0tJCmc0Y3JJRWtwSkhrc0Zr
M29qYkxjamdBQ0NDQ0FBQUlJSUlBQUFqY0lkSzUwS0czazNJWDlITlVIb3RmYTNRZFN6aFZBSEVZ
MFFtdmQKNkFGWktUaEJBQUVFRUVBQUFRUVFRQUNCSmdHRmpheUtSMHBabFk4NUpJMjlPcWpzTVIy
bUVrdzhSTXVWa0QxTjZFMnMzSXdBQWdnZwpnQUFDQ0NDQUFBSVhDSGlCODROTElCcGlwZDV6OVgy
NEpiMFBLVWRkMS9BckJaRERlWldrZnB3S1NKWGdpQUFDQ0NDQUFBSUlJSUFBCkFrMENpOFpaT1ZB
azkzMm9EOFFoSkpWWnNJNFZFSSs4OGpVVlJOYU5KdlNWZ2hNRUVFQUFBUVFRUUFBQkJCQm9FY2hh
Q1Qxb0JmU2QKUGpTVlJRZzF5NVZXSHh5SEdFWXZRcWdGQ0svcHplWHM5RlFxSUNjTHpoQkFBQUVF
RUVBQUFRUVFRS0JGd0NGRGU2ZFJXR1gxYzUzcwpOQzVyVkRCeEFQRUM2TDNlMjIxU3grYTA1WnU0
RndFRUVFQUFBUVFRUUFBQkJLNjZRS2RLUjZjS1NIUUswVGJ1eHRCcmVmUmVyNlBHCldybEE0aXFJ
dzBuZE5xZjFFa2NFRUVBQUFRUVFRQUFCQkJCQTRCSUNybjVvb2wxbEVPMVI3ZWU1N0ZISFFaVVE1
WkdnRVZsbHIwK2oKQjZSS2NFUUFBUVFRUUFBQkJCQkFBSUUyZ2E1VHVIQUU2WU9LSWNld29YTEhv
TkpIcndEaXVvaURTTkplTnlvZ1ZZSWpBZ2dnZ0FBQwpDQ0NBQUFJSU5BbGs5WHhFQlE1WFFEek15
dFVPVnoraXJudFUxcWdLU0RsdVVzZm10T203dUJrQkJCQkFBQUVFRUVBQUFRU3V1b0FxCkhTcUFs
R3BIVkFvWlZPN3dMRmlEVWtldjhPR3cwYmtTb252cVJnQ3BFaHdSUUFBQkJCQkFBQUVFRUVDZ1NV
QVRYQVV0QVZKV1F5OUIKUk1GajFOZ3JWME9pWjhaUzhCalU5T0ZHOUxvUlFLb0VSd1FRUUFBQkJC
QkFBQUVFRUdnUzBJUlhDaC9hMWUweEs0bE0weEltQlErSApFbDNXZGEwUG9rVUkwK0gwV0FMSXlZ
SXpCQkJBQUFFRUVFQUFBUVFRYUJHWUhUMldNTSt6VmtJUFlYWUFLU3VoSzNpazR3cm92bDZTCnlQ
bHptUVdyQlpoN0VVQUFBUVFRUUFBQkJCQkFZQlZ3ZGFOMGVtaW9sWFBHb3FsNEoxZENWUDZZOWRy
WGtvTEl2dHluRjlvSUlFY0gKZmlLQUFBSUlJSUFBQWdnZ2dFQ2pRTTZ6aGx1cEF1SXl4OUtwK2pH
RlJRSEV3Y01Wa0tRVWtqd1dpeWIwUmxsdVJ3QUJCQkJBQUFFRQpFRUFBZ1JzRU9sYzZsRFp5N3NK
K2p1b0QwV3Z0N2dNcDV3b2dEaU1hb2JWdTlJQ3NGSndnZ0FBQ0NDQ0FBQUlJSUlCQWs0RENSbGJG
Ckk2V3N5c2Nja3NaZUhWVDJtQTVUQ1NZZW91Vkt5SjRtOUNaV2JrWUFBUVFRUUFBQkJCQkFBSUVM
Qkx6QStjRWxFQTJ4VXUrNStqN2MKa3Q2SGxLT3VhL2lWQXNqaHZFcFNQMDRGcEVwd1JBQUJCQkJB
QUFFRUVFQUFnU2FCUmVPc0hDaVMrejdVQitJUWtzb3NXTWNLaUVkZQorWm9LSXV0R0UvcEt3UWtD
Q0NDQUFBSUlJSUFBQWdpMENHU3RoQjYwQXZwT0g1cktJb1NhNVVxckQ0NURES01YSWRRQ2hOZjA1
bkoyCmVpb1ZrSk1GWndnZ2dBQUNDQ0NBQUFJSUlOQWk0SkNodmRNb3JMTDZ1VTUyR3BjMUtwZzRn
SGdCOUY3djdUYXBZM1BhOGszY2l3QUMKQ0NDQUFBSUlJSUFBQWxkZG9GT2xvMU1GSkRxRmFCdDNZ
K2kxUEhxdjExRmpyVndnY1JYRTRhUnVtOU42aVNNQ0NDQ0FBQUlJSUlBQQpBZ2dnY0FrQlZ6ODAw
YTR5aVBhbzl2TmM5cWpqb0VxSThralFpS3l5MTZmUkExSWxPQ0tBQUFJSUlJQUFBZ2dnZ0VDYlFO
Y3BYRGlDCjlFSEZrR1BZVUxsalVPbWpWd0J4WGNSQkpHbXZHeFdRS3NFUkFRUVFRQUFCQkJCQUFB
RUVtZ1N5ZWo2aUFvY3JJQjVtNVdxSHF4OVIKMXowcWExUUZwQnczcVdOejJ2UmQzSXdBQWdnZ2dB
QUNDQ0NBQUFKWFhVQ1ZEaFZBU3JVaktvVU1LbmQ0RnF4QnFhTlgrSERZNkZ3SgowVDExSTRCVUNZ
NElJSUFBQWdnZ2dBQUNDQ0RRSktBSnJvS1dBQ21yb1pjZ291QXhhdXlWcXlIUk0yTXBlQXhxK25B
amV0MElJRldDCkl3SUlJSUFBQWdnZ2dBQUNDRFFKYU1JcmhRL3Q2dmFZbFVTbWFRbVRnb2REaVM3
cnV0WUgwU0tFNlhCNkxBSGtaTUVaQWdnZ2dBQUMKQ0NDQUFBSUl0QWpNamg1TG1PZFpLNkdITUR1
QWxKWFFGVHpTY1FWMFh5OUo1UHk1eklMVkFzeTlDQ0NBQUFJSUlJQUFBZ2dnc0FxNAp1bEU2UFRU
VXlqbGowVlM4a3lzaEtuL01ldTFyU1VGa1grN1RDMjBFa0tNRFB4RkFBQUVFRUVBQUFRUVFRS0JS
SU9kWnc2MVVBWEdaClkrbFUvWmpDb2dEaTRPRUtTRklLU1I2TFJSTjZveXkzSTRBQUFnZ2dnQUFD
Q0NDQXdBMENuU3NkU2hzNWQyRS9SL1dCNkxWMjk0R1UKY3dVUWh4R04wRm8zZWtCV0NrNFFRQUFC
QkJCQUFBRUVFRUNnU1VCaEk2dmlrVkpXNVdNT1NXT3ZEaXA3VEllcEJCTVAwWElsWkU4VAplaE1y
TnlPQUFBSUlJSUFBQWdnZ2dNQUZBbDdnL09BU2lJWllxZmRjZlI5dVNlOUR5bEhYTmZ4S0FlUndY
aVdwSDZjQ1VpVTRJb0FBCkFnZ2dnQUFDQ0NDQVFKUEFvbkZXRGhUSmZSL3FBM0VJU1dVV3JHTUZ4
Q092ZkUwRmtYV2pDWDJsNEFRQkJCQkFBQUVFRUVBQUFRUmEKQkxKV1FnOWFBWDJuRDAxbEVVTE5j
cVhWQjhjaGh0R0xFR29Cd210NmN6azdQWlVLeU1tQ013UVFRQUFCQkJCQUFBRUVFR2dSY01qUQoz
bWtVVmxuOVhDYzdqY3NhRlV3Y1FMd0FlcS8zZHB2VXNUbHQrU2J1UlFBQkJCQkFBQUVFRUVBQWdh
c3UwS25TMGFrQ0VwMUN0STI3Ck1mUmFIcjNYNjZpeFZpNlF1QXJpY0ZLM3pXbTl4QkVCQkJCQUFB
RUVFRUFBQVFRUXVJU0FxeCthYUZjWlJIdFUrM2t1ZTlSeFVDVkUKZVNSb1JGYlo2OVBvQWFrU0hC
RkFBQUVFRUVBQUFRUVFRS0JOb09zVUxoeEIrcUJpeURGc3FOd3hxUFRSSzRDNEx1SWdrclRYalFw
SQpsZUNJQUFJSUlJQUFBZ2dnZ0FBQ1RRSlpQUjlSZ2NNVkVBK3pjclhEMVkrbzZ4NlZOYW9DVW82
YjFMRTViZm91YmtZQUFRUVFRQUFCCkJCQkFBSUdyTHFCS2h3b2dwZG9SbFVJR2xUczhDOWFnMU5F
cmZEaHNkSzZFNko2NkVVQ3FCRWNFRUVBQUFRUVFRQUFCQkJCb0V0QUUKVjBGTGdKVFYwRXNRVWZB
WU5mYksxWkRvbWJFVVBBWTFmYmdSdlc0RWtDckJFUUVFRUVBQUFRUVFRQUFCQkpvRU5PR1Z3b2Qy
ZFh2TQpTaUxUdElSSndjT2hSSmQxWGV1RGFCSENkRGc5bGdCeXN1QU1BUVFRUUFBQkJCQkFBQUVF
V2dSbVI0OGx6UE9zbGRCRG1CMUF5a3JvCkNoN3B1QUs2cjVja2N2NWNac0ZxQWVaZUJCQkFBQUVF
RUVBQUFRUVFXQVZjM1NpZEhocHE1Wnl4YUNyZXlaVVFsVDltdmZhMXBDQ3kKTC9mcGhUWUN5TkdC
bndnZ2dBQUNDQ0NBQUFJSUlOQW9rUE9zNFZhcWdMak1zWFNxZmt4aFVRQng4SEFGSkNtRkpJL0Zv
Z205VVpiYgpFVUFBQVFRUVFBQUJCQkJBNEFhQnpwVU9wWTJjdTdDZm8vcEE5RnE3KzBES3VRS0l3
NGhHYUswYlBTQXJCU2NJSUlBQUFnZ2dnQUFDCkNMV29naVFBQUNBQVNVUkJWQ0RRSktDd2tWWHhT
Q21yOGpHSHBMRlhCNVU5cHNOVWdvbUhhTGtTc3FjSnZZbVZteEZBQUFFRUVFQUEKQVFRUVFPQUNB
Uzl3Zm5BSlJFT3MxSHV1dmcrM3BQY2g1YWpyR242bEFISTRyNUxVajFNQnFSSWNFVUFBQVFRUVFB
QUJCQkJBb0VsZwowVGdyQjRya3ZnLzFnVGlFcERJTDFyRUM0cEZYdnFhQ3lMclJoTDVTY0lJQUFn
Z2dnQUFDQ0NDQUFBSXRBbGtyb1FldGdMN1RoNmF5CkNLRm11ZExxZytNUXcraEZDTFVBNFRXOXVa
eWRua29GNUdUQkdRSUlJSUFBQWdnZ2dBQUNDTFFJT0dSbzd6UUtxNngrcnBPZHhtV04KQ2lZT0lG
NEF2ZGQ3dTAzcTJKeTJmQlAzSW9BQUFnZ2dnQUFDQ0NDQXdGVVg2RlRwNkZRQmlVNGgyc2JkR0hv
dGo5N3JkZFJZS3hkSQpYQVZ4T0tuYjVyUmU0b2dBQWdnZ2dBQUNDQ0NBQUFJSVhFTEExUTlOdEtz
TW9qMnEvVHlYUGVvNHFCS2lQQkkwSXF2czlXbjBnRlFKCmpnZ2dnQUFDQ0NDQUFBSUlJTkFtMEhV
S0Y0NGdmVkF4NUJnMlZPNFlWUHJvRlVCY0YzRVFTZHJyUmdXa1NuQkVBQUVFRUVBQUFRUVEKUUFD
QkpvR3Nubytvd09FS2lJZFp1ZHJoNmtmVWRZL0tHbFVCS2NkTjZ0aWNObjBYTnlPQUFBSUlJSUFB
QWdnZ2dNQlZGMUNsUXdXUQpVdTJJU2lHRHloMmVCV3RRNnVnVlBodzJPbGRDZEUvZENDQlZnaU1D
Q0NDQUFBSUlJSUFBQWdnMENXaUNxNkFsUU1wcTZDV0lLSGlNCkdudmxha2owekZnS0hvT2FQdjdm
OXU3dVI0N3FUdVA0cjEvbnhmTmlqOEg0SlRqakRiRnNJZ01PSzRpRXdpS1J2UWczNUE0Y2Nja04K
WE9TdnlKOFFpUnN1a1F6aUpraXJKRW9nU3F5Vm9vMnpjbVF2SWJBSndXd0lpNDBOZnAzdXJxN3Vm
WjR6UHUxMmU4QlRlRWN5K0Z0Uwp1YXFycTJwNlBqUFRmUjcvenFueVFQUThFVUN5QkVzRUVFQUFB
UVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpKcE44ZlJGL0J3NkZFCm03VmQ5d2ZSVFFpTDN0WFRF
a0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJLUjQ5QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZU
MGwKa1N2bjVTcFlWWURaRndFRUVFQUFBUVFRUUFBQkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhL
ajhVZXF4dHhVS0l0MjBueDVvSW9DcwpPdkF2QWdnZ2dBQUNDQ0NBQUFJSVZCUVlEa3QxdDFJRnhH
V09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZZaEI2UlZsMlJ3QUJCQkJBCkFBRUVFRUFBZ2VzRWFx
NTBLRzBNaDdYb2xuV05BOUZqelI0SGt0WVZRQnhHMUVOck5ERUdaRVRCQ2dJSUlJQUFBZ2dnZ0FB
Q0NGUVMKVU5nWXF1SlJGRU5WUHNvbzFQZXFwN0pIdjlkUHdjUmR0RndKNlRJSXZSSXJPeU9BQUFJ
SUlJQUFBZ2dnZ01BYUFyN0JlYzhsRUhXeAowdGh6amZ2d2tQUkdGTU82dHF2N2xRSkk3MHFWSkI5
T0JTUkxzRVFBQVFRUVFBQUJCQkJBQUlGS0FnUDFzM0tnS0R6dVErTkFIRUtLCmRCV3MxUXFJZTE1
NW13b2lvNGxCNkNNS1ZoQkFBQUVFRUVBQUFRUVFRS0NLd0ZCM1FnL2RBYjJ0Zy9ycEpvUzZ5cFh1
UHRocTFxUGwKbXhEcUJvUlRlbkl3ZmZXc1ZFQ3VXckNHQUFJSUlJQUFBZ2dnZ0FBQ1ZRUWNNalRY
MUFzcjNmMWNLMjMxeTJvcG1EaUErQWJvRFQzWApIa3NkWTZ0VnZoTDdJb0FBQWdnZ2dBQUNDQ0NB
d08wdVVGT2xvNllLU04wcFJGT3IzWXFHYm8vZTBPTzYrbHE1UU9JcWlNTkpuc1pXCjh5YVdDQ0NB
QUFJSUlJQUFBZ2dnZ01BNkJGejkwSVYybFVFMDF6WDhmSmptdXBaTlZVS1VSMEk5c3RLY3o4WVlr
Q3pCRWdFRUVFQUEKQVFRUVFBQUJCS29KMUdvS0Y0NGdqVkF4WkRWc3FOelJWT21qb1FEaXVvaURT
S0U1VDFSQXNnUkxCQkJBQUFFRUVFQUFBUVFRcUNRdwoxSmlQdWdLSEt5RHVadVZxaDZzZmRXMTNy
NnlXS2lCcE9aWTZ4bFlyZlMxMlJnQUJCQkJBQUFFRUVFQUFnZHRkUUpVT0ZVQlN0YU91CkZOSlV1
Y05Yd1dvcWRUUVVQaHcyYXE2RWFKODhFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWElWdUFa
THVocDZDaUlKSFMzMnYKWEEycCs4cFlDaDVORGZyd1FQUThFVUN5QkVzRUVFQUFBUVFRUUFBQkJC
Q29KS0FMWGlsOGFOWm9qMUpKcE44ZlJGL0J3NkZFbTdWZAo5d2ZSVFFpTDN0WFRFa0N1V3JDR0FB
SUlJSUFBQWdnZ2dBQUNWUVJLUjQ5QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZUMGxrU3ZuCjVT
cFlWWURaRndFRUVFQUFBUVFRUUFBQkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhLajhVZXF4dHhV
S0l0MjBueDVvSW9Dc092QXYKQWdnZ2dBQUNDQ0NBQUFJSVZCUVlEa3QxdDFJRnhHV09RVTNWajM0
TUZFQWNQRndCS1pSQ0N2ZkZZaEI2UlZsMlJ3QUJCQkJBQUFFRQpFRUFBZ2VzRWFxNTBLRzBNaDdY
b2xuV05BOUZqelI0SGt0WVZRQnhHMUVOck5ERUdaRVRCQ2dJSUlJQUFBZ2dnZ0FBQ0NGUVNVTmdZ
CnF1SlJGRU5WUHNvbzFQZXFwN0pIdjlkUHdjUmR0RndKNlRJSXZSSXJPeU9BQUFJSUlJQUFBZ2dn
Z01BYUFyN0JlYzhsRUhXeDB0aHoKamZ2d2tQUkdGTU82dHF2N2xRSkk3MHFWSkI5T0JTUkxzRVFB
QVFRUVFBQUJCQkJBQUlGS0FnUDFzM0tnS0R6dVErTkFIRUtLZEJXcwoxUXFJZTE1NW13b2lvNGxC
NkNNS1ZoQkFBQUVFRUVBQUFRUVFRS0NLd0ZCM1FnL2RBYjJ0Zy9ycEpvUzZ5cFh1UHRocTFxUGxt
eERxCkJvUlRlbkl3ZmZXc1ZFQ3VXckNHQUFJSUlJQUFBZ2dnZ0FBQ1ZRUWNNalRYMUFzcjNmMWNL
MjMxeTJvcG1EaUErQWJvRFQzWEhrc2QKWTZ0VnZoTDdJb0FBQWdnZ2dBQUNDQ0NBd08wdVVGT2xv
NllLU04wcFJGT3IzWXFHYm8vZTBPTzYrbHE1UU9JcWlNTkpuc1pXOHlhVwpDQ0NBQUFJSUlJQUFB
Z2dnZ01BNkJGejkwSVYybFVFMDF6WDhmSmptdXBaTlZVS1VSMEk5c3RLY3o4WVlrQ3pCRWdFRUVF
QUFBUVFRClFBQUJCS29KMUdvS0Y0NGdqVkF4WkRWc3FOelJWT21qb1FEaXVvaURTS0U1VDFSQXNn
UkxCQkJBQUFFRUVFQUFBUVFRcUNRdzFKaVAKdWdLSEt5RHVadVZxaDZzZmRXMTNyNnlXS2lCcE9a
WTZ4bFlyZlMxMlJnQUJCQkJBQUFFRUVFQUFnZHRkUUpVT0ZVQlN0YU91Rk5KVQp1Y05Yd1dvcWRU
UVVQaHcyYXE2RWFKODhFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWElWdUFaTHVocDZDaUlK
SFMzMnZYQTJwCis4cFlDaDVORGZyd1FQUThFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWGls
OGFOWm9qMUpKcE44ZlJGL0J3NkZFbTdWZDl3ZlIKVFFpTDN0WFRFa0N1V3JDR0FBSUlJSUFBQWdn
Z2dBQUNWUVJLUjQ5QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZUMGxrU3ZuNVNwWQpWWURaRndF
RUVFQUFBUVFRUUFBQkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhLajhVZXF4dHhVS0l0MjBueDVv
SW9Dc092QXZBZ2dnCmdBQUNDQ0NBQUFJSVZCUVlEa3QxdDFJRnhHV09RVTNWajM0TUZFQWNQRndC
S1pSQ0N2ZkZZaEI2UlZsMlJ3QUJCQkJBQUFFRUVFQUEKZ2VzRWFxNTBLRzBNaDdYb2xuV05BOUZq
elI0SGt0WVZRQnhHMUVOck5ERUdaRVRCQ2dJSUlJQUFBZ2dnZ0FBQ0NGUVNVTmdZcXVKUgpGRU5W
UHNvbzFQZXFwN0pIdjlkUHdjUmR0RndKNlRJSXZSSXJPeU9BQUFJSUlJQUFBZ2dnZ01BYUFyN0Jl
YzhsRUhXeDB0aHpqZnZ3CmtQUkdGTU82dHF2N2xRSkk3MHFWSkI5T0JTUkxzRVFBQVFRUVFBQUJC
QkJBQUlGS0FnUDFzM0tnS0R6dVErTkFIRUtLZEJXczFRcUkKZTE1NW13b2lvNGxCNkNNS1ZoQkFB
QUVFRUVBQUFRUVFRS0NLd0ZCM1FnL2RBYjJ0Zy9ycEpvUzZ5cFh1UHRocTFxUGxteERxQm9SVApl
bkl3ZmZXc1ZFQ3VXckNHQUFJSUlJQUFBZ2dnZ0FBQ1ZRUWNNalRYMUFzcjNmMWNLMjMxeTJvcG1E
aUErQWJvRFQzWEhrc2RZNnRWCnZoTDdJb0FBQWdnZ2dBQUNDQ0NBd08wdVVGT2xvNllLU04wcFJG
T3IzWXFHYm8vZTBPTzYrbHE1UU9JcWlNTkpuc1pXOHlhV0NDQ0EKQUFJSUlJQUFBZ2dnZ01BNkJG
ejkwSVYybFVFMDF6WDhmSmptdXBaTlZVS1VSMEk5c3RLY3o4WVlrQ3pCRWdFRUVFQUFBUVFRUUFB
QgpCS29KMUdvS0Y0NGdqVkF4WkRWc3FOelJWT21qb1FEaXVvaURTS0U1VDFSQXNnUkxCQkJBQUFF
RUVFQUFBUVFRcUNRdzFKaVB1Z0tICkt5RHVadVZxaDZzZmRXMTNyNnlXS2lCcE9aWTZ4bFlyZlMx
MlJnQUJCQkJBQUFFRUVFQUFnZHRkUUpVT0ZVQlN0YU91Rk5KVXVjTlgKd1dvcWRUUVVQaHcyYXE2
RWFKODhFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWElWdUFaTHVocDZDaUlKSFMzMnZYQTJw
KzhwWQpDaDVORGZyd1FQUThFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpK
cE44ZlJGL0J3NkZFbTdWZDl3ZlJUUWlMCjN0WFRFa0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJL
UjQ5QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZUMGxrU3ZuNVNwWVZZRFoKRndFRUVFQUFBUVFR
UUFBQkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhLajhVZXF4dHhVS0l0MjBueDVvSW9Dc092QXZB
Z2dnZ0FBQwpDQ0NBQUFJSVZCUVlEa3QxdDFJRnhHV09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZH
aHVFVGdDcGlNenVDQ0NBQUFJSUlJQUFBZ2dnCnNDclFWTURvYXRCSG9RckhpZ0xIU2pHTXk1MHla
bnZEYVBkcU1hV3hIdzNOSGNhQThDdURBQUlJSUlBQUFnZ2dnQUFDTnlYZ3JsWXEKZGZqcVYyblda
YTljNktqcnNsY2FrcjU2STBLTk9GZXZyR3ZHZ0RBSS9hYlVPUmdCQkJCQUFBRUVFRUFBZ2R0VUlG
MzlhdlZlSDFsZwpxSzVZdzdKUU42eFNBOUpYdTJHNUsxWWFpSzZkYWtvcUJKQ3N4UklCQkJCQUFB
RUVFRUFBQVFUV0w2QlUwZWxxL0VjNlFzRkRGWkd5ClYraUtXTDdzcnBZS0huMTF2ZklsZUh0ZDN3
K2tHWFhkdUpBQXNuNWk5a1FBQVFRUVFBQUJCQkJBQUFFSk9Fak1OWXY0OC9zWE5mQjgKR0QxZGpy
ZXYyZmNDS1lxdUFrYzNPaXZkV0ZuUitJK0xFV2MvT0Jzek16UFJhclc0Q2hhL1FRZ2dnQUFDQ0ND
QUFBSUlJRkJOd0YycApkbS9weHUrT25ZbVpyZE94dE5DS014Y2RSUHJSNjZ4RXAxWFhZSFRWT21x
REtEcXQrT1J2eDJMbjVzMHBoSEFWckdyVzdJMEFBZ2dnCmdBQUNDQ0NBd0cwdjRPNVVCNzhSOGFl
aksvR3ozMzRZODBzenNUamYxTnlLcnJwZXRUdVhRN1VSZGNucVJFTWowenNmbm9pZGUzYkcKd3NJ
Q0ZaRGIvcmNIQUFRUVFBQUJCQkJBQUFFRUtncTRDOVpqMzU2TzR5Y3Z4SWx6N1RqWGJLUjdmOVFh
RFEwMEwxSzNySTZTeU9XVwpyb2gxNm5qc24xdUo1ZVVEc2JpNFNBQ3BhTTN1Q0NDQUFBSUlJSUFB
QWdqYzlnSU9JSGZ2bkkxRGoybkUrWkV6Y2VLVHJYRkJWNzd5CkNQUkIwWXBpcGhrejA0Mll2M1Fp
N3B2L1J6eDAzMTRGa09XWW01c2pnTnoydnowQUlJQUFBZ2dnZ0FBQ0NDQlFVY0FCeEFQS0gzNWcK
S2I2Mm94Ty8rUDJuOFllLzErUHZseFlVUkdxeHVYYytsbXZuNDZFOWczaGczNzJ4ZS9mdTJLd3hJ
QXhDcndqTjdnZ2dnQUFDQ0NDQQpBQUlJSUxBcTRCRFNicmRqM3ozejhjMDlTOUhyOWFLcnExLzEr
MzFkY25kUjFZNWRhY3pIbGkxYlluWjJObDA1cTFTRmhFSG8vQVloCmdBQUNDQ0NBQUFJSUlJQkFa
UUZmQ2F1aE1SOVRVMU9wc3VFdzRzY2VvTzVLaDJkdjgyTlBEaCtEd1lBQVVsbWFBeEJBQUFFRUVF
QUEKQVFRUVFHQWtrTHRqT1lqa01KSURTTHJ6dVNvbERoK2VQWEVqd2hFZEt3Z2dnQUFDQ0NDQUFB
SUlJUEJGQlJ3MmN1QndLTW1QSjg5SApBSmtVNFRFQ0NDQ0FBQUlJSUlBQUFnaHNtQUFCWk1Ob09U
RUNDQ0NBQUFJSUlJQUFBZ2hNQ2hCQUprVjRqQUFDQ0NDQUFBSUlJSUFBCkFoc21RQURaTUZwT2pB
QUNDQ0NBQUFJSUlJQUFBcE1DQkpCSkVSNGpnQUFDQ0NDQUFBSUlJSURBaGdrUVFEYU1saE1qZ0FB
Q0NDQ0EKQUFJSUlJREFwQUFCWkZLRXh3Z2dnQUFDQ0NDQUFBSUlJTEJoQWdTUURhUGx4QWdnZ0FB
Q0NDQ0FBQUlJSURBcFFBQ1pGT0V4QWdnZwpnQUFDQ0NDQUFBSUliSmdBQVdURGFEa3hBZ2dnZ0FB
Q0NDQ0FBQUlJVEFvUVFDWkZlSXdBQWdnZ2dBQUNDQ0NBQUFJYkprQUEyVEJhClRvd0FBZ2dnZ0FB
Q0NDQ0FBQUtUQWdTUVNSRWVJNEFBQWdnZ2dBQUNDQ0NBd0lZSkVFQTJqSllUSTRBQUFnZ2dnQUFD
Q0NDQXdLUUEKQVdSU2hNY0lJSUFBQWdnZ2dBQUNDQ0N3WVFJRWtBMmo1Y1FJSUlBQUFnZ2dnQUFD
Q0NBd0tkQ2MzTUJqQkJCQUFBRUVFRUFBQVFRUQpRT0JHQXNQaE1Ed1BCb1ByNXZ5Y3o1SFg4NzVV
UUc0a3kvTUlJSUFBQWdnZ2dBQUNDQ0N3cHNCNHVCaGZ6NkhFQjNuZHozbnlrZ3BJCm91QWZCQkJB
QUFFRUVFQUFBUVFRcUNJd0hpcHk0Q2pMOHBwcVNENmZuOC9QRVVDeUNrc0VFRUFBQVFRUVFBQUJC
QkJZdDBDdWJPUmcKNFdXZTYvVjYxR3ExVWVVajcrTmpDQ0RySm1aSEJCQkFBQUVFRUVBQUFRUVFz
SUFEUmFQUkdGVTcvTGpmNzZkdFJWR2s4T0g5Y2hEeApjOTd1bVFCaUdTWUVFRUFBQVFRUVFBQUJC
QkJZdDRDN1h6bFVqSGV0eWlIRWxZOWMvZkRTazU4amdLeWJseDBSUUFBQkJCQkFBQUVFCkVFQmdY
Q0FIREljUXIrZEtSOTd1Z0pLN2FIbWJ3MGV2MTB1bm9BSXlMc2s2QWdnZ2dBQUNDQ0NBQUFJSTNG
Q2cyV3pHNWN1WDAzNE8KR0sxV0sxVkV2TzdKNFNOWFNCeEdIRDdPblRzWHUzYnRvZ3RXRXVJZkJC
QkFBQUVFRUVBQUFRUVFXTGVBQThqS3lzb29kRXlPQi9GagpCdy9QM1c0M0xsNjhHTlBUMDdHNHVF
Z0FXYmN5T3lLQUFBSUlJSUFBQWdnZ2dFQVNjSVZqeDQ0ZGNmTGt5VlRkNkhRNnNXblRwbkF3CmNU
VWtWejFjK2ZCekRpVDc5dTFMWGJYb2dzVXZFUUlJSUlBQUFnZ2dnQUFDQ0ZRU2NNQllXbHFLZHJz
ZGI3NzVadXBlNVFBeU5UVTEKT284ckgrNm10VzNidGpoNDhHQmFYcnAwaVFySVNJZ1ZCQkJBQUFF
RUVFQUFBUVFRV0plQUI1MTczcjkvZjh6UHo4ZGJiNzBWNTgrZgpUMEhFWGJObVoyZFRRRGx3NEVE
Y2YvLzlxVHJpTVNHZXFJQ3NpNWlkRUVBQUFRUVFRQUFCQkJCQUlBdTRDNVpuZDdsYVhsNk91Ym01
CmNIWERGUkdQOWZCeWZEMGY1MlY5L0FIckNDQ0FBQUlJSUlBQUFnZ2dnTUNOQkh5MXEzekZLNC81
Mkw1OWU5eDExMTFwckllUEhYOSsKOGx4VVFDWkZlSXdBQWdnZ2dBQUNDQ0NBQUFJM0ZNZ0J4RXQz
eDFwWVdFakJZL3p5dkhrZmp4bkpFeFdRTE1FU0FRUVFRQUFCQkJCQQpBQUVFMWkwd1dlVndDSm1a
bVVuSE8zQzRpMVlPSGptSStFa0N5THFKMlJFQkJCQkFBQUVFRUVBQUFRUXM0R0JSbG1WYTVwRGg3
YjRLCjF0R2pSNzJhSmo4M1Buc2pBV1RWaG44UlFBQUJCQkJBQUFFRUVFRGdDd2lNVnpmZWVlZWRl
T0dGRjhKTEJ3OVhSWEtsSk85SEFQa0MKeUJ5Q0FBSUlJSUFBQWdnZ2dNRHRMakJlK2NnV0w3NzRZ
bHA5NmFXWFJoVVNieGpmbHdDU3RWZ2lnQUFDQ0NDQUFBSUlJSURBdWdSYwoyZkE4UHIzeHhodXA4
dUZ0NzczM1hodzVjbVFVUEhMMXc4OWRlNVMzTUNHQUFBSUlJSUFBQWdnZ2dBQUNueU9ReDNYa1hY
emxxOE9ICkQ0OENoN2UvL1BMTGNmSGl4ZEhsZXZPK0JKQXN3UklCQkJCQUFBRUVFRUFBQVFUV0xU
QmUxWGp0dGRmaXpKa3oxeHpyOFBIS0s2OWMKRTBxOFEwM3A1ZXBGZWE4NWhBY0lJSUFBQWdnZ2dB
QUNDQ0NBd1BVQ3I3LytlcnJ4NEo0OWU4STNJc3dEemZ2OWZwdytmVHBkRGN2YgpmVlVzM3huZDNi
WDhuTytXVGdYa2VrKzJJSUFBQWdnZ2dBQUNDQ0NBd0FZSkVFQTJDSmJUSW9BQUFnZ2dnQUFDQ0ND
QXdQVUNCSkRyClRkaUNBQUlJSUlBQUFnZ2dnQUFDR3lSQUFOa2dXRTZMQUFJSUlJQUFBZ2dnZ0FB
QzF3czByOS9FRmdRUVFBQUJCQkJBQUFFRUVFRGcKc3dWT25UcVZCcFQ3eWxlZFRpZUtva2czSGh3
TUJuSHUzTGxvdDl0cDNyUnBVeXd1TG9hWGMzTno2WVFFa005MjVSa0VFRUFBQVFRUQpRQUFCQkJC
WVEyRGJ0bTFjQldzTkZ6WWhnQUFDQ0NDQUFBSUlJSURBTFNiQUdKQmI3QWZDeTBFQUFRUVFRQUFC
QkJCQTRLc3NRQUQ1Ckt2OTArZDRRUUFBQkJCQkFBQUVFRUxqRkJBZ2d0OWdQaEplREFBSUlJSUFB
QWdnZ2dNQlhXWUJCNkYvbG55N2ZHd0lJSUlBQUFnZ2cKZ0FBQ0d5Z3dIQTdUMlE4ZlBoeXZ2dnBx
K0hHMzI0MTZ2WjdtSjU1NElwNS8vdmxyWGdFVmtHczRlSUFBQWdnZ2dBQUNDQ0NBQUFMcgpFY2po
dy9zKytlU1RzWFhyMW1zTzgyVjNuM3JxcWFqVmF0ZHNKNEJjdzhFREJCQkFBQUVFRUVBQUFRUVF1
SkdBUThWNHNKaWRuWTFECmh3NWRzKzNwcDU5TzkvNFlEeW8rTHdIa1Jybzhqd0FDQ0NDQUFBSUlJ
SUFBQXRjSStJYURuc2VueHg5L1BQYnUzWnMyTFM4dng2T1AKUGpvS0pPTWhoQUF5cnNZNkFnZ2dn
QUFDQ0NDQUFBSUlyRXRndkFLU0QzajIyV2ZUNmpQUFBCT05SbU1VUU1iM0pZQmtMWllJSUlBQQpB
Z2dnZ0FBQ0NDQlFXV0M4dXVFS3lIUFBQWmNxSVE0ZHJwTDQrVHo3NUFTUXlzUWNnQUFDQ0NDQUFB
SUlJSUFBQWxsZ3ZMcmhvUEhnCmd3K213Skc3YWVYdzRhVzNFVUN5SEVzRUVFQUFBUVFRUUFBQkJC
QllsMEJabHFPcWhvTkZub3FpU0NGanN2S1J3d2dCSkV1eFJBQUIKQkJCQUFBRUVFRUFBZ1hVTGpJ
Y09IK1RIRGlVWExsd1lWVC82L1g3YWxwY09IOTZIR3hHdW01a2RFVUFBQVFRUVFBQUJCQkJBd0FJ
TwpFcm1xMGV2MXd2UEZpeGZqOHVYTDZRYUU3cGJsbXhFNmZIaVpBd29CaE44ZkJCQkFBQUVFRUVB
QUFRUVFxQ3pnWVBHWHYvd2x6cDQ5Ckd5c3JLK0d1Vnc0ZDA5UFQwVzYzbzlWcXBXVmU5eFd4SEQ2
OGIvT25QLzFwTkp2TmRKa3M3K2pKQ2NWSnhha21sMWVjYWpxZHptaWIKVDhLRUFBSUlJSUFBQWdn
Z2dNRHRMdUIyc3h2ZmJsTjdQYzgzNCtMR3V0dmgrYncrZDI2YjUzYTZuOHRUYnJQN3NaOGZmNXoz
eWN0VApwMDdGdG0zYjhzUHJsajZ2djliNGxGK1BsdzRmUC9qQkQ4YWZyclRlZEZyNSt0ZS9ubDZv
UTRWZmJQNW1mZktQUHZvb2poMS9QLzd6CnYxdng1c2wyL00rcFpsenFPYWpvUlhtOGlWNUUzTEdw
MGhkbFp3UVFRQUFCQkJCQUFBRUV2dFFDQXpXRTNVWlgyM211V2NUdUxkMDQKK0kySXg3NDlIWGZ2
bkUwVkFBZUI4WkR3ZWQ5dkRneGV1dkh2ZHJuYjRuN3NiazJ1SE96WXNTT1dscFpTdTkzNytOeDVk
akR3NVAxegpBUG1zcjMzcDBxVzQ2NjY3MW53NVB0N0g1ZlBubmJ6ZGs3ZTc4bkV6VTlQZnhKNDll
OUlMSFgrUjNXNDNqaDA3RnYvMnE3ZmpWLysxCkVPK2N2eU9tTmszRmQvNzFqdGkvUEJmenMxY3FJ
SG94VGIvSVV0VVNJWWVDV0syNXV0U3JqMkZOTDlZcFRLK3k1VVBLb1RDTlUwYk4KUHpUTjNzengr
UEg3dzk4UDd4KzhmL0w1d2VlbjN3ZG9QOUIrdXRYYmp3MDFiUHVhM2I3dGRBZng1L2N2eHUrT25Z
ay9IVjJKNHljdgp4S0hIeW5qNGdhWFVCV205dlliY3dNK05mQy9kMFBmc0VPTEp5NU1uVDZaejd0
Ky9QMVZiMGhQNngyMzRmR3plbHBmajdmdTg3Y3laCk02bjlueC9uNVdlZHc4L241L3lhM08zcVpx
YW0wNVJUa3Z0bjVSZnY4UEh1dSsvRzY3ODVGcjg0c1JSLzdlNk0yaDNOZU9RNzIrT3gKQTRzeE85
VlE2TkNYMVRkYjZrVW9lNnhlejdldTBwTURpSlppaUlhZXJ6ZWMvQlF3L0VQU2Zvb3FPbERkdS9S
QVdVVGJodEhUaXQ1eQp0Wm5qOGVQM2g3OGYzajk0LytUemc4OVAyZyswbjI3dDltTmZiVmUzYjkx
K2RkM2g3dDJiWW1icmRQenN0eC9HaVhQdGlDTm40bXM3Ck9ySHZudm1ZbXBwS2JXMDNkVDl2Y3NQ
ZWpYelBybWI0c1pkdW4rZlpReUxlZlBQTm1KK2ZqK1hsNVZSbHlRSER4K1gxei9zNmZzN0QKS3ZM
UWl4dnRtOC9ycFNlL0J1ZUhtNWxTRnl5ZnlEaCswZjVtM2UzcWozLzhZL3p1N1hyOHRiZzdhZ0pk
V0dqSEhadGJDYkF2YVdPTApTSUhDSDVVUlhRVUpjYWVnVWRlMXRlbzZsejVDb3E0ZFBWekVRY043
KzFndEZENE1YTk9BRlQrdWNUeCsvUDd3OThQN2g5NU1lZi9rCjg0UFBUOW9QdEorK0JPMUhGU1hV
ZkwweXJmNW4rdEpDSythWFp1SmNzeEVuUHRrYXYvajlwL0hOUFV1cG9iK2V4bjRPSUY3bThPR2wK
Q3dVKzNwVVVCNGR6NTg3RlcyKzlGWE56YzdGOSsvWlJ1SmtNSCs2MjlkcHJyOFdoUTRmeUN4MHQ4
NER4MFlZcks0Y1BINDRubjN3eQpabWRuUjAvbDgzcnBFT0xjNE9OdlpsTHZxVnE2WkphL0NVKytk
cTluRDA1NTkvTFhvcjRvek1XcFdKeHJ4ZW1MRVo5Y0dxb0NVbytHClFrWnlWMEdqVUFwMEtPcnJ2
KzlWOEZBMDhnZElQZHdUeTQvcmc5WGtWanFFRERYT3hGOUkyN3FsQjdwcklJdENDY2ZqeCs4UGZ6
KzgKZi9EK3llY0huNSswSDJnL2ZSbmFqMlZmNHkvcXFVV2Jldmk0TFh2bTRqQVc1NXVwblh0Qjdk
cy8vTDJlR3V2dVpaVC9vOTlONE0rYQp4Z05JSHVpZEt5RHVmdVhuTjIzYWxPYno1OCtIeDNINHNy
Y0xDd3VqRUpMUC9jWWJiNFREaEx0YS9mQ0hQOHliUjh0ODN0R0dLeXV2CnZ2cHEvUHJYdjA2aDVm
SEhINTk4T3IwR2Y4MGNTcTdiWVowYm1yNVVsaE9TMDVTVGxiOGhuL1RUVHorTmoxdi9IUE1MVTdG
bHNhMEEKMHRiZzgxcjh4N3VGZ29XdTU5dHcvRmdOSHU1VVpYaVA4YWhyekVlcnJaUVdmWFhCVWdE
UjNGUVNiQ2ljOVBYRDhnOXNvSEJpU0hmZApLcnp0U21XRTQvSGo5NGUvSDk0L2VQL2s4NFBQVDlv
UHRKOXU5ZmFqaHcra2xyRCtCNzNzRldyVHVnclNWd0JwUmMxZGY5UjE2dStYCkZzTERHdHkrcmhK
QUhBNDgremkzbDkwdTkrd0E0aXRoK1Z4dXR6dlk1SGI3ek14TTJ2N09PKy9FaXkrK0dGN21MbE0r
eCtUa2M2MjEKM2NkOC9QSEg4Wk9mL0NSKytjdGZ4clBQUGh0NzkrNU41M0xWdzBVSzV3Ym5oNXVa
bW43eEx1MDR6Ymk4azc4eFA1NmFpVmhVT2NuVgpqNldGNmZBMzExS1lhRGJWRlV0Qm8xWlhOVVBm
Z0lwRENoSzZxNkYrVzlveWJ5aEp1TTdSMEg5bmV2aTV0N2VNNkNxSjl1dnJoelRRCjdBRFNLOVRI
VFh0elBINzgvdkQzdy9zSDc1OThmdkQ1U2Z1Qjl0T1hvZjNZN1pYcU1xdHFSNm53b2YrRUw0cHU5
RG9yMFZYUHBGcXQKaUVIUmlndnE3ZU5HdnR2V2JtTzd2ZjE1MDJRRkpIZVR5a0hDb1NSMzVmSVlq
QndDSEFnOEh6MTZORjU0NFlYcnZzVHAwNmV2MitZQQpzOVoyQjZZOEhUOStQSDcwb3gvRmM4ODlG
dzgrK0dBS1FINHRlZXg0M3UrTExKditSaHhDOHRMZnZMOWhmMU4zTlU5SGEzcGJMTXkwClkyR1RB
c2pzcHBpZTByN2EzMTBsRk1iMFlqd2VaTFdpMFZMTnJDVmNWenRTOE5DNmcwcnpTdGNzWlE3OUlE
VHJHQmV0VWlEcDlhTVkKY3J4L1FmSGo5NGUvSDk0L2VQL2s4NFBQVDdVYmFEL1FmcnJGMjQ5RjRR
cUlCNHFYVWFnQzB1dldvOVBTUlowNmw5WFdIVVl4MDR6Tgp2Zk5xQXkrbU52WjZBb2diOTI2SGUz
WWpQMWMrOG5aWFJISVk4UmdOdDkrOWp5ZHZmK1NSUitMT08rK01sMTU2S2Q1Nzc3MjAzZis0Cllq
STUrZGkxdG8rSHBPWGw1WGptbVdkR0ZaRDgydncxY3hDYVBPOTZINmNLaUYrQXY2Q1hQcmtIbDJ6
ZHVqWHUvUGo5NkU0ZlNHTSsKWm1lbllrSGRzR1kzelFwVFhZVTh0c01CUkY5SndVK0R5aFZNOU5p
ekIxSDZmN1BsbEM3UjI5QnRROXhOenZ2MmxReTlmMW82dkF5YgpLbGx4UEg3OC92RDN3L3NINzU5
OGZ2RDVTZnVCOXRPWG8vM1k2L3QxTmpXMFFITXhGWjJWVmx6dXFFZVJoaUIwVkFhWm1XN0Vqd09Q
Ck1BQUFBK0ZKUkVGVWN1MjhCb3J2R2dXUUhCYlVERjV6eWtIRGJmRzhiOTdtLzZqMnV0dm9ybEw0
TmhvNWdIaGZIK1BwVzkvNlZ2ejQKeHorT0kwZU94TXN2dnp6cTRUVDVCWFB4WVhLNzg0REhoVC85
OU5QeDZLT1BwbTVnK2Z6KytuNGQzc2ZIMzh5VUFvaFBrcnRlNVcvZwpubnZ1aVozdi9DWStPSHNp
V2x1L0U5UDZaSnhSK0pqVldIVUhLWDlkVnpGOGFWMVhOUndxMURNcmZJdENoeE1OQTBsOTQxUmdV
VFZrCnRTK2o5MWZCSXgybm5sZXBaT1ZqQzQ3SGo5OGYvbjU0LytEOWs4OFBQajlwUDlCKytySzBI
OVdPMVpEbTlCL3FmVjE4cWRGUzQxZzMKdUN0N25iamNhc2I4cFJQeDBKNUJHaUErSGhUME52ZTVr
NnNjbnR6WWQwUGZqZjhjUW5JQWNYZXJBd2NPakxwZzVYM3lNVjUrLy92ZgpqKzkrOTd2eHlpdXZy
Rm5wOEdEMnRTb2dUenp4UkR6MTFGTXBoUGk4T1h3NEgvaTh6Z3NPSVRjZFFITFhxOXcvemQrMHYr
R0hIMzQ0CjNuNzc3ZWkvZHl3NkgyaEF6ZEsvYUtTR0FvYmZIQlErbW5KMnVOQjRHOTJBVUQ4QS9T
RFVPeXQ4WXhZSEVSVkFWQVhSckdYTlMxVkYKSERhbTlieXYzRlVvdURpUXVCTFNjNGpoZVB6NC9l
SHZoL2NQM2ovNS9PRHprL1lEN2FjdlFmdFJoWWhSQUNtOHJqWnQwZEZGUk56dQpQWFU4N3B2L1J6
eXc3OTdZc21WTGFyUzdiWDJqeVEzOFhBand2bTc4NTZXZmMrWERsK0hkdG0xYjNILy8vZGVGQU8r
VGovRnhIazd4Ci9QUFBYN010blZEL0xDNHVqZ0pNM3VabDN0L255cFBYODV3cklEZmRCY3RKSzg4
NWFmbkYrL2JzMy92ZTk2TDQrYy9qNUVmL0htZVAKbm96ZTNkK084cDhlak0zYmw2S2hNU3FGR295
ZS9CcGQyUmhvUUh4YnZxV1RvTXdLL1FJNXNOalBvY1EvSUtlT3J2YjFUOHFEZHJyYQpwZ3NKY0R4
Ky9QN3c5OFA3QisrZmZIN3crVW43Z2ZiVGw2UDlxRGFzMjdTcERhdzI4U2YvZXpZKytadiswLzdE
RTdGL2JpVWV1bTl2CjdONjllM1EvRFE4Z3Y5R1VHL2tPSWQ3ZmpYMHZQVGJiWGE5OGdTaTMyUThl
UEpndXhadlA1K1BjZHA5YzV1ZlhXcm9DY3FOUU5INCsKci90MStldDczY3VibVpyK3hqejdoWHVa
SjUvNDNudnZUUy9PbytvLytPQ0R1UHcvcjhXNXR3L0hhU0hrRnpXZXRQS3hMQkZBQUFFRQpFRUFB
QVFRUXVCMEUzSXZJVjRyZHVYbHo3Tnl6TTVhWEQyaGVqczE2N0VaK2JtdmZ5TUp0YTAvZTM0MTlC
NDhjUG56VktsYzA5dTNiCmx5b2dEaWVUVTI2YlQyNWY2N0hIZWF4MWpyWDI5WGs5K3pYbGNEU2VH
ZFk2NWtiYm1yNk1sMjlrNHNBeDNoY3NmekVEZXFDTEE4aloKczJjVGhFK2FVOU40MWVSR1g0em5F
VUFBQVFRUVFBQUJCQkQ0cWdqNFArTGRGbmFYSkljUTN4VFEzWnZjd1BlMkhDYlc4LzI2Y1QvZQow
TThCeE1mdTJyVXJuZGRmeSszMi80K3B5bmttdzRmenc4MU0vd2NiWGxIdzRKUW9kZ0FBQUFCSlJV
NUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46289</attachid>
            <date>2010-01-11 10:41:57 -0800</date>
            <delta_ts>2010-01-11 10:56:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22384-20100111194148.patch</filename>
            <type>text/plain</type>
            <size>105888</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzA4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDYgQEAKKzIwMTAtMDEtMTEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgc3ZnIDx0ZXh0PiBmYWlscyB0byB1cGRhdGUgd2hlbiBzZXR0aW5nIHgveQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzODQKKworICAgICAg
ICBJbnRyb2R1Y2UgSlNTVkdDdXN0b21MaXN0VGVtcGxhdGUsIHJlZmFjdG9yaW5nIHRoZSBleGlz
dGluZyBjdXN0b20gY29kZSBmb3IgU1ZHIFBPRCB0eXBlIGxpc3RzLgorICAgICAgICAoQ3VycmVu
dGx5IFNWR1RyYW5zZm9ybUxpc3QvU1ZHUG9pbnRMaXN0IHdhcyBoYW5kbGVkIGNvcnJlY3RseSwg
YW5kIFNWR0xlbmd0aExpc3QvU1ZHTnVtYmVyTGlzdCBub3QpCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBuZWVkIGZvciBjdXN0b20gSlNTVkcqTGlzdC5jcHAgaW1wbGVtZW50YXRpb25zLCBidXQgaW5z
dGVhZCB0d2VhayBDb2RlR2VuZXJhdG9ySlMucG0sCisgICAgICAgIHRvIGNhbGwgaW50byB0aGUg
bmV3IEpTU1ZHQ3VzdG9tTGlzdFRlbXBsYXRlIG1ldGhvZHMuIEZpeGVzIGR5bmFtaWMgdXBkYXRl
cyBvZiB0aGUgU1ZHVGV4dEVsZW1lbnQKKyAgICAgICAgJ3JvdGF0ZScgJiAneCcvJ3knIFNWRyBE
T00gcHJvcGVydGllcy4KKworICAgICAgICBUZXN0czogc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0
ZXMtU1ZHTGlzdC54aHRtbAorICAgICAgICAgICAgICAgc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdU
ZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuaHRtbAorICAKKyAgICAgICAgKiBBbmRyb2lk
LmpzY2JpbmRpbmdzLm1rOiBSZW1vdmUgb2xkIGZpbGVzIGZyb20gYnVpbGQsIGFkZCB0aGUgbmV3
IGhlYWRlci4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogV2Vi
Q29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNTVkdQT0RMaXN0Q3VzdG9tLmg6IENvcGllZCBmcm9tIGJpbmRpbmdzL2pzL0pTU1ZHVHJh
bnNmb3JtTGlzdEN1c3RvbS5jcHAuIFJlZmFjdG9yZWQgY29kZSB0byBiZSBzaGFyYWJsZSBiZXR3
ZWVuIGFsbCBKU1NWRypMaXN0IGNsYXNzZXMuCisgICAgICAgIChXZWJDb3JlOjpKU1NWR1BPRExp
c3RDdXN0b206OmZpbmlzaEdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR1BPRExpc3RD
dXN0b206OmZpbmlzaFNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR1BPRExpc3RDdXN0
b206OmZpbmlzaFNldHRlclJlYWRPbmx5UmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZH
UE9ETGlzdEN1c3RvbTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdQT0RMaXN0Q3Vz
dG9tOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHUE9ETGlzdEN1c3RvbTo6
Z2V0SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR1BPRExpc3RDdXN0b206Omluc2VydEl0
ZW1CZWZvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdQT0RMaXN0Q3VzdG9tOjpyZXBsYWNl
SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR1BPRExpc3RDdXN0b206OnJlbW92ZUl0ZW0p
OgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdQT0RMaXN0Q3VzdG9tOjphcHBlbmRJdGVtKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogRm9yd2Fy
ZCBhbnkgU1ZHTGlzdCBjYWxsIG9uIFBPRCBsaXN0IHR5cGVzIHRvIHRoZSBuZXcgSlNTVkdDdXN0
b21MaXN0VGVtcGxhdGUuCisgICAgICAgICogc3ZnL1NWR051bWJlckxpc3QuY3BwOiBNYWtlIFNW
R051bWJlckxpc3QgYSBTVkdQT0RMaXN0LCBpbnN0ZWFkIG9mIGEgU1ZHTGlzdCwgdG8gbWFrZSBk
eW5hbWljIHVwZGF0ZXMgd29yay4KKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OlNW
R051bWJlckxpc3QpOgorICAgICAgICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6CisgICAgICAgICog
c3ZnL1NWR1BvaW50TGlzdC5pZGw6IFJlbW92ZSBKU0NDdXN0b20gbWFya2VycyBldmVyeXdoZXJl
LgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zvcm1MaXN0LmlkbDogRGl0dG8uCisKIDIwMTAtMDEt
MDggIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDUz
MDgzKQorKysgV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDMsOCArMTQzLDYgQEAgTE9DQUxfU1JDX0ZJTEVTICs9IFwKIAliaW5kaW5ncy9qcy9KU1NW
R01hdHJpeEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAg
XAogCWJpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0xpc3RDdXN0b20uY3BwIFwKLQliaW5kaW5ncy9q
cy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAgXAotCWJpbmRpbmdzL2pzL0pTU1ZHVHJhbnNmb3Jt
TGlzdEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTU2hhcmVkV29ya2VyQ29uc3RydWN0b3Iu
Y3BwIFwKIAliaW5kaW5ncy9qcy9KU1NoYXJlZFdvcmtlckN1c3RvbS5jcHAgXAogCWJpbmRpbmdz
L2pzL0pTU3RvcmFnZUN1c3RvbS5jcHAgXApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1MzA4MykKKysr
IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI5MTUsMTEgKzI5MTUs
MTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0
aEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdNYXRyaXhDdXN0b20uY3Bw
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUE9ETGlzdEN1c3RvbS5oIFwKIAlXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTU1ZHUE9EVHlwZVdyYXBwZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NWR1BhdGhTZWdDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUGF0
aFNlZ0xpc3RDdXN0b20uY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUG9pbnRMaXN0
Q3VzdG9tLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1RyYW5zZm9ybUxpc3RDdXN0
b20uY3BwIFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2Nzcy9TVkdDU1NT
dHlsZVNlbGVjdG9yLmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNTMwODMpCisrKyBXZWJDb3JlL1dl
YkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNTgwLDkgKzU4MCw4IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNTVkdNYXRyaXhDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1NWR1BhdGhTZWdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNTVkdQT0RMaXN0Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTU1ZHUE9E
VHlwZVdyYXBwZXIuaCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvanMvSlNTVkdQb2ludExpc3RD
dXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1NWR1RyYW5zZm9ybUxpc3RD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENTU01hdHJpeENvbnN0cnVjdG9yLmNwcCcsCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5w
cm8JKHJldmlzaW9uIDUzMDgzKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMjkzOCw4ICsyOTM4LDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7
CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTU1ZHTWF0cml4Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL2pzL0pTU1ZHUG9p
bnRMaXN0Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL2pzL0pTU1ZHVHJhbnNmb3JtTGlz
dEN1c3RvbS5jcHAgXAogICAgICAgICBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcCBcCiAgICAgICAgIGNzcy9TVkdDU1NQYXJzZXIuY3BwIFwKICAgICAgICAgY3NzL1NWR0NT
U1N0eWxlU2VsZWN0b3IuY3BwIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagkocmV2aXNpb24gNTMwODMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zOTEyNCw2MyArMzkxMjQsMTEgQEAKIAkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BPRFR5cGVXcmFwcGVyLmgiDQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHUE9ETGlzdEN1c3RvbS5oIg0KIAkJCQkJPg0K
IAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdz
XGpzXEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCINCi0JCQkJCT4NCi0JCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KLQkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0JCQkJCQk8VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KLQkJCQkJCS8+DQotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IkRlYnVnX0ludGVy
bmFsfFdpbjMyIg0KLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0J
CQkJCQk8VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCS8+DQot
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KLQkJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0JCQkJCQk8VG9vbA0KLQkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCS8+DQotCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIg0KLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0JCQkJCQk8
VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCS8+DQotCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHVHJhbnNmb3JtTGlzdEN1c3RvbS5jcHAiDQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHUE9EVHlwZVdyYXBwZXIuaCIN
CiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA1MzA4MykKKysrIFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2
ICs5Nyw3IEBACiAJCTA4NzhCMUZFMTA4NzRFM0YwMEE1NTA5NyAvKiBTeW5jaHJvbml6YWJsZVBy
b3BlcnR5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODc4QjFGQTEwODc0RTNGMDBBNTUwOTcgLyogU3luY2hyb25pemFibGVQcm9w
ZXJ0eUNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkwODc4QjFGRjEwODc0RTNGMDBBNTUwOTcgLyog
U3luY2hyb25pemFibGVQcm9wZXJ0eUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzhCMUZCMTA4NzRFM0YwMEE1NTA5NyAvKiBTeW5j
aHJvbml6YWJsZVByb3BlcnR5Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NzhCMjAwMTA4NzRFM0YwMEE1NTA5NyAvKiBTeW5j
aHJvbml6YWJsZVR5cGVXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODc4QjFGQzEwODc0RTNGMDBBNTUwOTcgLyogU3luY2hyb25pemFibGVU
eXBlV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTA4N0Q5N0JGMTBGQjhENzcwMEMwMDg3NCAvKiBKU1NWR1BPRExpc3RDdXN0b20uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4N0Q5N0JFMTBG
QjhENzcwMEMwMDg3NCAvKiBKU1NWR1BPRExpc3RDdXN0b20uaCAqLzsgfTsKIAkJMDg3RkZBMEYw
RUZGM0VEMzAwOURCRDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODdGRkEwRDBFRkYzRUQzMDA5
REJEODggLyogV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDg3RkZBMTAw
RUZGM0VEMzAwOURCRDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3RkZBMEUwRUZGM0VEMzAwOURC
RDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5oICovOyB9OwogCQkwODgwN0I3NjBFRDcw
OUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODA3QjZBMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxHb0Vs
ZW1lbnQuY3BwICovOyB9OwpAQCAtMTAzMyw3ICsxMDM0LDYgQEAKIAkJNTE2MDMwMEIwQ0M0MjUx
MjAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwMzAwQTBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5
c3RlbVBPU0lYLmNwcCAqLzsgfTsKIAkJNTE2MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVT
eXN0ZW1DRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTYwMzA2QjBDQzQzNjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCAqLzsgfTsKIAkJ
NTE2MEY0OTgwQjBBQTc1RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2MEY0OTcwQjBBQTc1RjAwQzFE
MkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tICovOyB9OwotCQk1MTZCQjc5MzBDRTkxRTY4MDA1MTJG
NzkgLyogSlNTVkdQb2ludExpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2QkI3OTEwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTU1ZHUG9p
bnRMaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNTE2QkI3OTQwQ0U5MUU2ODAwNTEyRjc5IC8qIEpT
VHJlZVdhbGtlckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTZCQjc5MjBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9t
LmNwcCAqLzsgfTsKIAkJNTE3NDFEMEYwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlz
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3NDFE
MEIwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNzQxRDEwMEIwNzI1OUEwMEVENDQy
QyAvKiBCYWNrRm9yd2FyZExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE3NDFEMEMwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlz
dC5jcHAgKi87IH07CkBAIC0zODI1LDcgKzM4MjUsNiBAQAogCQlCMkNCOTI2NDBCNUJEQTAyMDA5
QkFBNzggLyogRE9NU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQ0I5MjYwMEI1QkRBMDIwMDlCQUE3OCAvKiBE
T01TVkdFbGVtZW50SW5zdGFuY2VMaXN0Lm1tICovOyB9OwogCQlCMkNDRUM0NzBDNkNBOUYxMDA2
QTU0MjQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDQ0VDNDUwQzZDQTlGMTAwNkE1NDI0IC8q
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcCAqLzsgfTsKIAkJQjJDQ0VDNDgwQzZDQTlG
MTAwNkE1NDI0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkNDRUM0NjBDNkNBOUYxMDA2QTU0MjQg
LyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaCAqLzsgfTsKLQkJQjJEM0ZDOEEwQzIyMTJD
QjAwQ0YzNjE4IC8qIEpTU1ZHVHJhbnNmb3JtTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkQzRkM4OTBDMjIxMkNCMDBDRjM2MTgg
LyogSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJQjJFMjdDOUYwQjBGMkIw
OTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMkUyN0M5RDBCMEYyQjA5MDBGMTdDN0IgLyogRmxvYXRQb2lu
dDNELmNwcCAqLzsgfTsKIAkJQjJFMjdDQTAwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQz
RC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJFMjdD
OUUwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIyRTRFQzk3MEQwMEMyMkIwMDQzMjY0MyAv
KiBTVkdab29tRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjJFNEVDOTQwRDAwQzIyQjAwNDMyNjQzIC8qIFNWR1pvb21FdmVudC5jcHAgKi87
IH07CkBAIC01MzI2LDYgKzUzMjUsNyBAQAogCQkwODc4QjFGQTEwODc0RTNGMDBBNTUwOTcgLyog
U3luY2hyb25pemFibGVQcm9wZXJ0eUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU3luY2hyb25pemFibGVQcm9wZXJ0eUNvbnRyb2xsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODc4QjFGQjEwODc0RTNGMDBBNTUwOTcgLyog
U3luY2hyb25pemFibGVQcm9wZXJ0eUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3luY2hyb25pemFibGVQcm9wZXJ0eUNvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg3OEIxRkMxMDg3NEUzRjAwQTU1MDk3IC8qIFN5bmNocm9u
aXphYmxlVHlwZVdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lu
Y2hyb25pemFibGVUeXBlV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
ODdEOTdCRTEwRkI4RDc3MDBDMDA4NzQgLyogSlNTVkdQT0RMaXN0Q3VzdG9tLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHUE9ETGlzdEN1c3RvbS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODdGRkEwRDBFRkYzRUQzMDA5REJEODggLyogV01MSW5zZXJ0
ZWRMZWdlbmRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA4N0ZGQTBFMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MSW5zZXJ0ZWRMZWdlbmRFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4ODA3QjZBMEVENzA5QUIwMDNG
Njk3NSAvKiBXTUxHb0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV01MR29FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYz
NjQsNyArNjM2NCw2IEBACiAJCTUxNjAzMDBBMENDNDI1MTIwMEM4QUMyNSAvKiBGaWxlU3lzdGVt
UE9TSVguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVN5c3Rl
bVBPU0lYLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2MDMwNkIwQ0M0MzYy
MzAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBGaWxlU3lzdGVtQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MTYwRjQ5NzBCMEFBNzVGMDBDMUQyQUYgLyogSGlzdG9yeUl0ZW1NYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBIaXN0b3J5SXRlbU1hYy5tbTsgcGF0aCA9
IG1hYy9IaXN0b3J5SXRlbU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTE2
QkI3OTEwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2QkI3OTIwQ0U5MUU2ODAwNTEyRjc5IC8q
IEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1RyZWVXYWxrZXJDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MTc0MUQwQjBCMDcyNTlBMDBFRDQ0MkMgLyogQmFja0ZvcndhcmRMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tGb3J3YXJkTGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTc0MUQwQzBCMDcyNTlBMDBFRDQ0MkMgLyogQmFja0ZvcndhcmRM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhY2tGb3J3YXJk
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MDA2LDcgKzkwMDUsNiBA
QAogCQlCMkNCOTI2MDBCNUJEQTAyMDA5QkFBNzggLyogRE9NU1ZHRWxlbWVudEluc3RhbmNlTGlz
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdFbGVt
ZW50SW5zdGFuY2VMaXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkNDRUM0
NTBDNkNBOUYxMDA2QTU0MjQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDQ0VDNDYwQzZDQTlGMTAw
NkE1NDI0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCMkQzRkM4OTBDMjIxMkNCMDBDRjM2MTggLyogSlNTVkdUcmFu
c2Zvcm1MaXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMkUyN0M5RDBCMEYyQjA5MDBGMTdDN0IgLyogRmxvYXRQb2ludDNELmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG9hdFBvaW50M0QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCMkUyN0M5RTBCMEYyQjA5MDBGMTdDN0IgLyogRmxvYXRQ
b2ludDNELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbG9hdFBvaW50M0Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJFNEVDOTQwRDAwQzIyQjAwNDMyNjQz
IC8qIFNWR1pvb21FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU1ZHWm9vbUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NjY2
LDEwICsxNDY2NCw5IEBACiAJCQkJMDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAg
LyogSlNTVkdMZW5ndGhDdXN0b20uY3BwICovLAogCQkJCUIyNURGQUFFMEIyRTI5MjkwMDBFNjUx
MCAvKiBKU1NWR01hdHJpeEN1c3RvbS5jcHAgKi8sCisJCQkJMDg3RDk3QkUxMEZCOEQ3NzAwQzAw
ODc0IC8qIEpTU1ZHUE9ETGlzdEN1c3RvbS5oICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVF
ODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAogCQkJCUIyOTdCQzZGMEIzQzE0Q0Yw
MDQ1QTU5MCAvKiBKU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCAqLywKLQkJCQk1MTZCQjc5MTBD
RTkxRTY4MDA1MTJGNzkgLyogSlNTVkdQb2ludExpc3RDdXN0b20uY3BwICovLAotCQkJCUIyRDNG
Qzg5MEMyMjEyQ0IwMENGMzYxOCAvKiBKU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwICovLAog
CQkJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwICovLAogCQkJ
CTUxNkJCNzkyMENFOTFFNjgwMDUxMkY3OSAvKiBKU1RyZWVXYWxrZXJDdXN0b20uY3BwICovLAog
CQkJCTUxOEEzNEM2MTAyNkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3RvbS5jcHAgKi8s
CkBAIC0xODMyNyw2ICsxODMyNCw3IEBACiAJCQkJMzdDMjhBNjgxMEY2NTlDQzAwOEM3ODEzIC8q
IFR5cGVzZXR0aW5nRmVhdHVyZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUI3QTU1MTBGNjVE
N0EwMDM3NjMwMiAvKiBSZW5kZXJFbWJlZGRlZE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0U0QzAwRTYxMEY2RjdDMTAwQ0EzOEY1IC8qIEhUTUxOb1NjcmlwdEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTA4N0Q5N0JGMTBGQjhENzcwMEMwMDg3NCAvKiBKU1NWR1BPRExpc3RDdXN0
b20uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTk3MDYsNyArMTk3MDQsNiBAQAogCQkJCUIyRkEzREUw
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdHRlcm5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTg1NDJBNzk2MEFFNUM5NDIwMERGNThERiAvKiBKU1NWR1BvaW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyRkEzREUyMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BvaW50TGlzdC5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTZCQjc5MzBDRTkxRTY4MDA1MTJGNzkgLyogSlNTVkdQ
b2ludExpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNERTUwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHUG9seWdvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJG
QTNERTcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9seWxpbmVFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyRkEzREU5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xOTcyOSw3ICsxOTcyNiw2IEBACiAJCQkJ
QjJGQTNFMDgwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGl0bGVFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyRkEzRTBBMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1RyYW5zZm9ybS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0UwQzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdU
cmFuc2Zvcm1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIyRDNGQzhBMEMyMjEyQ0IwMENG
MzYxOCAvKiBKU1NWR1RyYW5zZm9ybUxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjJGQTNFMEUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVFJlZkVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjJGQTNFMTAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVFNwYW5FbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTEyMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1VuaXRUeXBlcy5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMv
SlNTVkdQT0RMaXN0Q3VzdG9tLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1NWR1BPRExpc3RDdXN0b20uaAkocmV2aXNpb24gNTMwNzQpCShmcm9tIFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcDo1MzA3NCkKKysrIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNTVkdQT0RMaXN0Q3VzdG9tLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
NTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZH
KQorI2luY2x1ZGUgIkpTU1ZHVHJhbnNmb3JtTGlzdC5oIgorCisjaW5jbHVkZSAiSlNTVkdUcmFu
c2Zvcm0uaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordHlwZWRlZiBTVkdQT0RMaXN0SXRlbTxT
VkdUcmFuc2Zvcm0+IFBPRExpc3RJdGVtOwordHlwZWRlZiBTVkdMaXN0PFJlZlB0cjxQT0RMaXN0
SXRlbT4gPiBTVkdUcmFuc2Zvcm1MaXN0QmFzZTsKKworc3RhdGljIEpTVmFsdWUgZmluaXNoR2V0
dGVyKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRl
eHQsIFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIFBhc3NSZWZQdHI8UE9ETGlzdEl0ZW0+IGl0ZW0p
Cit7CisgICAgaWYgKGVjKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7Cisg
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIH0KKyAgICByZXR1cm4gdG9KUyhleGVj
LCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1BPRFR5cGVX
cmFwcGVyQ3JlYXRvckZvckxpc3Q8U1ZHVHJhbnNmb3JtPjo6Y3JlYXRlKGl0ZW0uZ2V0KCksIGxp
c3QtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkpLmdldCgpLCBjb250ZXh0KTsKK30KKworc3Rh
dGljIEpTVmFsdWUgZmluaXNoU2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYg
ZWMsIFNWR0VsZW1lbnQqIGNvbnRleHQsIFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIFBhc3NSZWZQ
dHI8UE9ETGlzdEl0ZW0+IGl0ZW0pCit7CisgICAgaWYgKGVjKSB7CisgICAgICAgIHNldERPTUV4
Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIH0K
KyAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lID0gbGlzdC0+YXNzb2NpYXRl
ZEF0dHJpYnV0ZU5hbWUoKTsKKyAgICBjb250ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJp
YnV0ZU5hbWUpOworICAgIHJldHVybiB0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RG
b3JQcm90b3R5cGUoZXhlYyksIEpTU1ZHUE9EVHlwZVdyYXBwZXJDcmVhdG9yRm9yTGlzdDxTVkdU
cmFuc2Zvcm0+OjpjcmVhdGUoaXRlbS5nZXQoKSwgYXR0cmlidXRlTmFtZSkuZ2V0KCksIGNvbnRl
eHQpOworfQorCitzdGF0aWMgSlNWYWx1ZSBmaW5pc2hTZXR0ZXJSZWFkT25seVJlc3VsdChFeGVj
U3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250ZXh0LCBTVkdU
cmFuc2Zvcm1MaXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExpc3RJdGVtPiBpdGVtKQoreworICAg
IGlmIChlYykgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB9CisgICAgY29udGV4dC0+c3ZnQXR0cmlidXRlQ2hh
bmdlZChsaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKTsKKyAgICByZXR1cm4gdG9KUyhl
eGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1N0YXRp
Y1BPRFR5cGVXcmFwcGVyPFNWR1RyYW5zZm9ybT46OmNyZWF0ZSgqaXRlbSkuZ2V0KCksIGNvbnRl
eHQpOworfQorCitKU1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6Y2xlYXIoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBBcmdMaXN0JikKK3sKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBp
bXBsKCktPmNsZWFyKGVjKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIG1f
Y29udGV4dC0+c3ZnQXR0cmlidXRlQ2hhbmdlZChpbXBsKCktPmFzc29jaWF0ZWRBdHRyaWJ1dGVO
YW1lKCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCitKU1ZhbHVlIEpTU1ZHVHJh
bnNmb3JtTGlzdDo6aW5pdGlhbGl6ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFy
Z3MpCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgU1ZHVHJhbnNmb3JtTGlzdEJh
c2UqIGxpc3RJbXAgPSBpbXBsKCk7CisgICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywg
Y29udGV4dCgpLCBpbXBsKCksCisgICAgICAgIGxpc3RJbXAtPmluaXRpYWxpemUoUE9ETGlzdEl0
ZW06OmNvcHkodG9TVkdUcmFuc2Zvcm0oYXJncy5hdCgwKSkpLCBlYykpOworfQorCitKU1ZhbHVl
IEpTU1ZHVHJhbnNmb3JtTGlzdDo6Z2V0SXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xp
c3QmIGFyZ3MpCit7CisgICAgYm9vbCBpbmRleE9rOworICAgIHVuc2lnbmVkIGluZGV4ID0gYXJn
cy5hdCgwKS50b1VJbnQzMihleGVjLCBpbmRleE9rKTsKKyAgICBpZiAoIWluZGV4T2spIHsKKyAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgfQorCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CisgICAgU1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7CisgICAgcmV0dXJu
IGZpbmlzaEdldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCisgICAgICAgIGxpc3RJ
bXAtPmdldEl0ZW0oaW5kZXgsIGVjKSk7Cit9CisKK0pTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0
OjppbnNlcnRJdGVtQmVmb3JlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykK
K3sKKyAgICBib29sIGluZGV4T2s7CisgICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDEpLnRv
VUludDMyKGV4ZWMsIGluZGV4T2spOworICAgIGlmICghaW5kZXhPaykgeworICAgICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICB9CisKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBTVkdU
cmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKKyAgICByZXR1cm4gZmluaXNoU2V0
dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKKyAgICAgICAgbGlzdEltcC0+aW5zZXJ0
SXRlbUJlZm9yZShQT0RMaXN0SXRlbTo6Y29weSh0b1NWR1RyYW5zZm9ybShhcmdzLmF0KDApKSks
IGluZGV4LCBlYykpOworfQorCitKU1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6cmVwbGFjZUl0
ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQoreworICAgIGJvb2wgaW5k
ZXhPazsKKyAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3MuYXQoMSkudG9VSW50MzIoZXhlYywgaW5k
ZXhPayk7CisgICAgaWYgKCFpbmRleE9rKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVj
LCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAg
IH0KKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFNWR1RyYW5zZm9ybUxpc3RCYXNl
KiBsaXN0SW1wID0gaW1wbCgpOworICAgIHJldHVybiBmaW5pc2hTZXR0ZXIoZXhlYywgZWMsIGNv
bnRleHQoKSwgaW1wbCgpLAorICAgICAgICBsaXN0SW1wLT5yZXBsYWNlSXRlbShQT0RMaXN0SXRl
bTo6Y29weSh0b1NWR1RyYW5zZm9ybShhcmdzLmF0KDApKSksIGluZGV4LCBlYykpOworfQorCitK
U1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6cmVtb3ZlSXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IEFyZ0xpc3QmIGFyZ3MpCit7CisgICAgYm9vbCBpbmRleE9rOworICAgIHVuc2lnbmVkIGlu
ZGV4ID0gYXJncy5hdCgwKS50b1VJbnQzMihleGVjLCBpbmRleE9rKTsKKyAgICBpZiAoIWluZGV4
T2spIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsK
KyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgfQorCisgICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7CisgICAgU1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Cisg
ICAgcmV0dXJuIGZpbmlzaFNldHRlclJlYWRPbmx5UmVzdWx0KGV4ZWMsIGVjLCBjb250ZXh0KCks
IGltcGwoKSwKKyAgICAgICAgbGlzdEltcC0+cmVtb3ZlSXRlbShpbmRleCwgZWMpKTsKK30KKwor
SlNWYWx1ZSBKU1NWR1RyYW5zZm9ybUxpc3Q6OmFwcGVuZEl0ZW0oRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBBcmdMaXN0JiBhcmdzKQoreworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFNW
R1RyYW5zZm9ybUxpc3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOworICAgIHJldHVybiBmaW5pc2hT
ZXR0ZXIoZXhlYywgZWMsIGNvbnRleHQoKSwgaW1wbCgpLAorICAgICAgICBsaXN0SW1wLT5hcHBl
bmRJdGVtKFBPRExpc3RJdGVtOjpjb3B5KHRvU1ZHVHJhbnNmb3JtKGFyZ3MuYXQoMCkpKSwgZWMp
KTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNTVkdQT0RMaXN0Q3VzdG9tLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1NWR1BPRExpc3RDdXN0b20uaAkocmV2aXNpb24gNTMwNzQpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU1ZHUE9ETGlzdEN1c3RvbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEs
NSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAx
MC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMTgsMTM2ICsxOSwxNzUg
QEAKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLSNpbmNsdWRlICJjb25m
aWcuaCIKKyNpZm5kZWYgSlNTVkdQT0RMaXN0Q3VzdG9tX2gKKyNkZWZpbmUgSlNTVkdQT0RMaXN0
Q3VzdG9tX2gKIAotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiSlNTVkdUcmFuc2Zvcm1MaXN0
LmgiCi0KLSNpbmNsdWRlICJKU1NWR1RyYW5zZm9ybS5oIgotI2luY2x1ZGUgIlNWR1RyYW5zZm9y
bUxpc3QuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKKyNpbmNsdWRlICJKU1NWR1BPRFR5cGVX
cmFwcGVyLmgiCisjaW5jbHVkZSAiU1ZHTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXR5cGVkZWYgU1ZHUE9ETGlzdEl0ZW08U1ZHVHJhbnNmb3JtPiBQT0RMaXN0SXRlbTsKLXR5cGVk
ZWYgU1ZHTGlzdDxSZWZQdHI8UE9ETGlzdEl0ZW0+ID4gU1ZHVHJhbnNmb3JtTGlzdEJhc2U7Citu
YW1lc3BhY2UgSlNTVkdQT0RMaXN0Q3VzdG9tIHsKIAotc3RhdGljIEpTVmFsdWUgZmluaXNoR2V0
dGVyKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRl
eHQsIFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIFBhc3NSZWZQdHI8UE9ETGlzdEl0ZW0+IGl0ZW0p
CisvLyBIZWxwZXIgc3RydWN0dXJlIG9ubHkgY29udGFpbmluZyBwdWJsaWMgdHlwZWRlZnMsIGFz
IEMrKyBkb2VzIG5vdCBhbGxvdyB0ZW1wbGF0aWZpZWQgdHlwZWRlZnMKK3RlbXBsYXRlPHR5cGVu
YW1lIFBPRFR5cGU+CitzdHJ1Y3QgSlNTVkdQT0RMaXN0VHJhaXRzIHsgCisgICAgdHlwZWRlZiBT
VkdQT0RMaXN0SXRlbTxQT0RUeXBlPiBQT0RMaXN0SXRlbTsKKyAgICB0eXBlZGVmIFNWR0xpc3Q8
UmVmUHRyPFBPRExpc3RJdGVtPiA+IFBPRExpc3Q7CisgICAgdHlwZWRlZiBQT0RUeXBlICgqQ29u
dmVyc2lvbkNhbGxiYWNrKShKU0M6OkpTVmFsdWUpOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUg
SlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUgUE9EVHlwZT4KK3N0YXRpYyBKU0M6OkpTVmFsdWUgZmlu
aXNoR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlJiBlYywgU1ZHRWxl
bWVudCogY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1l
IEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlzdCogbGlzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8dHlwZW5hbWUgSlNTVkdQT0RMaXN0VHJh
aXRzPFBPRFR5cGU+OjpQT0RMaXN0SXRlbT4gaXRlbSkKIHsKICAgICBpZiAoZWMpIHsKICAgICAg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CisgICAgICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiAgICAgfQotICAgIHJldHVy
biB0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksIEpT
U1ZHUE9EVHlwZVdyYXBwZXJDcmVhdG9yRm9yTGlzdDxTVkdUcmFuc2Zvcm0+OjpjcmVhdGUoaXRl
bS5nZXQoKSwgbGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSkuZ2V0KCksIGNvbnRleHQp
OworCisgICAgcmV0dXJuIHRvSlMoZXhlYywgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3Rv
dHlwZShleGVjKSwKKyAgICAgICAgICAgICAgICBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRvckZv
ckxpc3Q8UE9EVHlwZT46OmNyZWF0ZShpdGVtLmdldCgpLCBsaXN0LT5hc3NvY2lhdGVkQXR0cmli
dXRlTmFtZSgpKS5nZXQoKSwgY29udGV4dCk7CiB9CiAKLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250
ZXh0LCBTVkdUcmFuc2Zvcm1MaXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExpc3RJdGVtPiBpdGVt
KQordGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUgUE9EVHlwZT4KK3N0
YXRpYyBKU0M6OkpTVmFsdWUgZmluaXNoU2V0dGVyKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBFeGNl
cHRpb25Db2RlJiBlYywgU1ZHRWxlbWVudCogY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlz
dCogbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8dHlw
ZW5hbWUgSlNTVkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+OjpQT0RMaXN0SXRlbT4gaXRlbSkKIHsK
ICAgICBpZiAoZWMpIHsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVk
KCk7CiAgICAgfQorCiAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSA9IGxp
c3QtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCk7CiAgICAgY29udGV4dC0+c3ZnQXR0cmlidXRl
Q2hhbmdlZChhdHRyaWJ1dGVOYW1lKTsKLSAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNhdGVk
R2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRv
ckZvckxpc3Q8U1ZHVHJhbnNmb3JtPjo6Y3JlYXRlKGl0ZW0uZ2V0KCksIGF0dHJpYnV0ZU5hbWUp
LmdldCgpLCBjb250ZXh0KTsKKworICAgIHJldHVybiB0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9i
YWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksCisgICAgICAgICAgICAgICAgSlNTVkdQT0RUeXBl
V3JhcHBlckNyZWF0b3JGb3JMaXN0PFBPRFR5cGU+OjpjcmVhdGUoaXRlbS5nZXQoKSwgYXR0cmli
dXRlTmFtZSkuZ2V0KCksIGNvbnRleHQpOwogfQogCi1zdGF0aWMgSlNWYWx1ZSBmaW5pc2hTZXR0
ZXJSZWFkT25seVJlc3VsdChFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdF
bGVtZW50KiBjb250ZXh0LCBTVkdUcmFuc2Zvcm1MaXN0KiBsaXN0LCBQYXNzUmVmUHRyPFBPRExp
c3RJdGVtPiBpdGVtKQordGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUg
UE9EVHlwZT4KK3N0YXRpYyBKU0M6OkpTVmFsdWUgZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTVkdFbGVtZW50KiBjb250
ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBl
bmFtZSBKU1NWR1BPRExpc3RUcmFpdHM8UE9EVHlwZT46OlBPRExpc3QqIGxpc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8dHlwZW5h
bWUgSlNTVkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+OjpQT0RMaXN0SXRlbT4gaXRlbSkKIHsKICAg
ICBpZiAoZWMpIHsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7
CiAgICAgfQogICAgIGNvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQobGlzdC0+YXNzb2NpYXRl
ZEF0dHJpYnV0ZU5hbWUoKSk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZGVwcmVjYXRlZEdsb2Jh
bE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgSlNTVkdTdGF0aWNQT0RUeXBlV3JhcHBlcjxTVkdU
cmFuc2Zvcm0+OjpjcmVhdGUoKml0ZW0pLmdldCgpLCBjb250ZXh0KTsKKyAgICByZXR1cm4gdG9K
UyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1N0
YXRpY1BPRFR5cGVXcmFwcGVyPFBPRFR5cGU+OjpjcmVhdGUoKml0ZW0pLmdldCgpLCBjb250ZXh0
KTsKIH0KIAotSlNWYWx1ZSBKU1NWR1RyYW5zZm9ybUxpc3Q6OmNsZWFyKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgQXJnTGlzdCYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBKU1BPRExpc3RUeXBlLCB0eXBl
bmFtZSBQT0RUeXBlPgorc3RhdGljIEpTQzo6SlNWYWx1ZSBjbGVhcihKU1BPRExpc3RUeXBlKiB3
cmFwcGVyLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpBcmdMaXN0JiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgSlNTVkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+
OjpDb252ZXJzaW9uQ2FsbGJhY2spCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAg
aW1wbCgpLT5jbGVhcihlYyk7Ci0gICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICBt
X2NvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQoaW1wbCgpLT5hc3NvY2lhdGVkQXR0cmlidXRl
TmFtZSgpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB0eXBlbmFtZSBKU1NWR1BP
RExpc3RUcmFpdHM8UE9EVHlwZT46OlBPRExpc3QqIGxpc3RJbXAgPSB3cmFwcGVyLT5pbXBsKCk7
CisgICAgbGlzdEltcC0+Y2xlYXIoZWMpOworCisgICAgaWYgKGVjKQorICAgICAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgZWMpOworICAgIGVsc2UKKyAgICAgICAgd3JhcHBlci0+Y29udGV4dCgp
LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGxpc3RJbXAtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkp
OworCisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKIH0KIAotSlNWYWx1ZSBKU1NWR1Ry
YW5zZm9ybUxpc3Q6OmluaXRpYWxpemUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBh
cmdzKQordGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUgUE9EVHlwZT4K
K3N0YXRpYyBKU0M6OkpTVmFsdWUgaW5pdGlhbGl6ZShKU1BPRExpc3RUeXBlKiB3cmFwcGVyLCBK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBl
Pjo6Q29udmVyc2lvbkNhbGxiYWNrIGNvbnZlcnNpb24pCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7Ci0gICAgU1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAg
cmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0gICAgICAg
IGxpc3RJbXAtPmluaXRpYWxpemUoUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdUcmFuc2Zvcm0oYXJn
cy5hdCgwKSkpLCBlYykpOworICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBl
Pjo6UE9ETGlzdCogbGlzdEltcCA9IHdyYXBwZXItPmltcGwoKTsKKyAgICByZXR1cm4gZmluaXNo
U2V0dGVyPEpTUE9ETGlzdFR5cGUsIFBPRFR5cGU+KGV4ZWMsIGVjLCB3cmFwcGVyLT5jb250ZXh0
KCksIGxpc3RJbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaXN0SW1wLT5pbml0aWFsaXplKEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9E
TGlzdEl0ZW06OmNvcHkoY29udmVyc2lvbihhcmdzLmF0KDApKSksIGVjKSk7CisKIH0KIAotSlNW
YWx1ZSBKU1NWR1RyYW5zZm9ybUxpc3Q6OmdldEl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBB
cmdMaXN0JiBhcmdzKQordGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUg
UE9EVHlwZT4KK3N0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0SXRlbShKU1BPRExpc3RUeXBlKiB3cmFw
cGVyLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RU
eXBlPjo6Q29udmVyc2lvbkNhbGxiYWNrKQogewotICAgIGJvb2wgaW5kZXhPazsKKyAgICBib29s
IGluZGV4T2sgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3MuYXQoMCkudG9VSW50
MzIoZXhlYywgaW5kZXhPayk7CiAgICAgaWYgKCFpbmRleE9rKSB7CiAgICAgICAgIHNldERPTUV4
Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7Ci0gICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOworICAgICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogICAgIH0KIAogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFNWR1RyYW5zZm9ybUxpc3RCYXNlKiBsaXN0SW1w
ID0gaW1wbCgpOwotICAgIHJldHVybiBmaW5pc2hHZXR0ZXIoZXhlYywgZWMsIGNvbnRleHQoKSwg
aW1wbCgpLAotICAgICAgICBsaXN0SW1wLT5nZXRJdGVtKGluZGV4LCBlYykpOworICAgIHR5cGVu
YW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlzdCogbGlzdEltcCA9IHdyYXBw
ZXItPmltcGwoKTsKKyAgICByZXR1cm4gZmluaXNoR2V0dGVyPEpTUE9ETGlzdFR5cGUsIFBPRFR5
cGU+KGV4ZWMsIGVjLCB3cmFwcGVyLT5jb250ZXh0KCksIGxpc3RJbXAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SW1wLT5nZXRJdGVtKGluZGV4
LCBlYykpOwogfQogCi1KU1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6aW5zZXJ0SXRlbUJlZm9y
ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBKU1BPRExpc3RUeXBlLCB0eXBlbmFtZSBQT0RUeXBlPgorc3RhdGljIEpTQzo6SlNWYWx1ZSBp
bnNlcnRJdGVtQmVmb3JlKEpTUE9ETGlzdFR5cGUqIHdyYXBwZXIsIEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBKU0M6OkFyZ0xpc3QmIGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZW5hbWUgSlNTVkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+OjpDb252ZXJz
aW9uQ2FsbGJhY2sgY29udmVyc2lvbikKIHsKLSAgICBib29sIGluZGV4T2s7CisgICAgYm9vbCBp
bmRleE9rID0gZmFsc2U7CiAgICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDEpLnRvVUludDMy
KGV4ZWMsIGluZGV4T2spOwogICAgIGlmICghaW5kZXhPaykgewogICAgICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKKyAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKICAgICB9CiAKICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9
IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGlt
cGwoKSwKLSAgICAgICAgbGlzdEltcC0+aW5zZXJ0SXRlbUJlZm9yZShQT0RMaXN0SXRlbTo6Y29w
eSh0b1NWR1RyYW5zZm9ybShhcmdzLmF0KDApKSksIGluZGV4LCBlYykpOworICAgIHR5cGVuYW1l
IEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlzdCogbGlzdEltcCA9IHdyYXBwZXIt
PmltcGwoKTsKKyAgICByZXR1cm4gZmluaXNoU2V0dGVyPEpTUE9ETGlzdFR5cGUsIFBPRFR5cGU+
KGV4ZWMsIGVjLCB3cmFwcGVyLT5jb250ZXh0KCksIGxpc3RJbXAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SW1wLT5pbnNlcnRJdGVtQmVmb3Jl
KEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlzdEl0ZW06OmNvcHkoY29udmVyc2lv
bihhcmdzLmF0KDApKSksIGluZGV4LCBlYykpOwogfQogCi1KU1ZhbHVlIEpTU1ZHVHJhbnNmb3Jt
TGlzdDo6cmVwbGFjZUl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQor
dGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUgUE9EVHlwZT4KK3N0YXRp
YyBKU0M6OkpTVmFsdWUgcmVwbGFjZUl0ZW0oSlNQT0RMaXN0VHlwZSogd3JhcHBlciwgSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6QXJnTGlzdCYgYXJncywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgSlNTVkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+OjpD
b252ZXJzaW9uQ2FsbGJhY2sgY29udmVyc2lvbikKIHsKLSAgICBib29sIGluZGV4T2s7CisgICAg
Ym9vbCBpbmRleE9rID0gZmFsc2U7CiAgICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDEpLnRv
VUludDMyKGV4ZWMsIGluZGV4T2spOwogICAgIGlmICghaW5kZXhPaykgewogICAgICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKICAgICB9CiAK
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlz
dEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0
KCksIGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+cmVwbGFjZUl0ZW0oUE9ETGlzdEl0ZW06OmNv
cHkodG9TVkdUcmFuc2Zvcm0oYXJncy5hdCgwKSkpLCBpbmRleCwgZWMpKTsKKyAgICB0eXBlbmFt
ZSBKU1NWR1BPRExpc3RUcmFpdHM8UE9EVHlwZT46OlBPRExpc3QqIGxpc3RJbXAgPSB3cmFwcGVy
LT5pbXBsKCk7CisgICAgcmV0dXJuIGZpbmlzaFNldHRlcjxKU1BPRExpc3RUeXBlLCBQT0RUeXBl
PihleGVjLCBlYywgd3JhcHBlci0+Y29udGV4dCgpLCBsaXN0SW1wLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEltcC0+cmVwbGFjZUl0ZW0oSlNT
VkdQT0RMaXN0VHJhaXRzPFBPRFR5cGU+OjpQT0RMaXN0SXRlbTo6Y29weShjb252ZXJzaW9uKGFy
Z3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7CiB9CiAKLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0
OjpyZW1vdmVJdGVtKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKK3RlbXBs
YXRlPHR5cGVuYW1lIEpTUE9ETGlzdFR5cGUsIHR5cGVuYW1lIFBPRFR5cGU+CitzdGF0aWMgSlND
OjpKU1ZhbHVlIHJlbW92ZUl0ZW0oSlNQT0RMaXN0VHlwZSogd3JhcHBlciwgSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEpTQzo6QXJnTGlzdCYgYXJncywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlbmFtZSBKU1NWR1BPRExpc3RUcmFpdHM8UE9EVHlwZT46OkNvbnZlcnNp
b25DYWxsYmFjaykKIHsKLSAgICBib29sIGluZGV4T2s7CisgICAgYm9vbCBpbmRleE9rID0gZmFs
c2U7CiAgICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4
T2spOwogICAgIGlmICghaW5kZXhPaykgewogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywg
VFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICAg
ICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKICAgICB9CiAKICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAg
ICByZXR1cm4gZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQoZXhlYywgZWMsIGNvbnRleHQoKSwg
aW1wbCgpLAotICAgICAgICBsaXN0SW1wLT5yZW1vdmVJdGVtKGluZGV4LCBlYykpOworICAgIHR5
cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBlPjo6UE9ETGlzdCogbGlzdEltcCA9IHdy
YXBwZXItPmltcGwoKTsKKyAgICByZXR1cm4gZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQ8SlNQ
T0RMaXN0VHlwZSwgUE9EVHlwZT4oZXhlYywgZWMsIHdyYXBwZXItPmNvbnRleHQoKSwgbGlzdElt
cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlzdEltcC0+cmVtb3ZlSXRlbShpbmRleCwgZWMpKTsKIH0KIAotSlNWYWx1ZSBK
U1NWR1RyYW5zZm9ybUxpc3Q6OmFwcGVuZEl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdM
aXN0JiBhcmdzKQordGVtcGxhdGU8dHlwZW5hbWUgSlNQT0RMaXN0VHlwZSwgdHlwZW5hbWUgUE9E
VHlwZT4KK3N0YXRpYyBKU0M6OkpTVmFsdWUgYXBwZW5kSXRlbShKU1BPRExpc3RUeXBlKiB3cmFw
cGVyLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpBcmdMaXN0JiBhcmdzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQ
T0RUeXBlPjo6Q29udmVyc2lvbkNhbGxiYWNrIGNvbnZlcnNpb24pCiB7CiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7Ci0gICAgU1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7
Ci0gICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0g
ICAgICAgIGxpc3RJbXAtPmFwcGVuZEl0ZW0oUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdUcmFuc2Zv
cm0oYXJncy5hdCgwKSkpLCBlYykpOworICAgIHR5cGVuYW1lIEpTU1ZHUE9ETGlzdFRyYWl0czxQ
T0RUeXBlPjo6UE9ETGlzdCogbGlzdEltcCA9IHdyYXBwZXItPmltcGwoKTsKKyAgICByZXR1cm4g
ZmluaXNoU2V0dGVyPEpTUE9ETGlzdFR5cGUsIFBPRFR5cGU+KGV4ZWMsIGVjLCB3cmFwcGVyLT5j
b250ZXh0KCksIGxpc3RJbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaXN0SW1wLT5hcHBlbmRJdGVtKEpTU1ZHUE9ETGlzdFRyYWl0czxQT0RUeXBl
Pjo6UE9ETGlzdEl0ZW06OmNvcHkoY29udmVyc2lvbihhcmdzLmF0KDApKSksIGVjKSk7Cit9CisK
IH0KIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAJKHJldmlzaW9uIDUzMDgzKQor
KysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BvaW50TGlzdEN1c3RvbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKiBDb3B5cmln
aHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkpTU1ZHUG9pbnRMaXN0LmgiCi0K
LSNpbmNsdWRlICJKU1NWR1BvaW50LmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnRMaXN0LmgiCi0KLXVz
aW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdHlwZWRlZiBTVkdQ
T0RMaXN0SXRlbTxGbG9hdFBvaW50PiBQT0RMaXN0SXRlbTsKLXR5cGVkZWYgU1ZHTGlzdDxSZWZQ
dHI8UE9ETGlzdEl0ZW0+ID4gU1ZHUG9pbnRMaXN0QmFzZTsKLQotc3RhdGljIEpTVmFsdWUgZmlu
aXNoR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQq
IGNvbnRleHQsIFNWR1BvaW50TGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbSA+IGl0
ZW0pCi17Ci0gICAgaWYgKGVjKSB7Ci0gICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7
Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0KLSAgICByZXR1cm4gdG9KUyhl
eGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBKU1NWR1BPRFR5
cGVXcmFwcGVyQ3JlYXRvckZvckxpc3Q8RmxvYXRQb2ludD46OmNyZWF0ZShpdGVtLmdldCgpLCBs
aXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKS5nZXQoKSwgY29udGV4dCk7Ci19Ci0KLXN0
YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBTVkdFbGVtZW50KiBjb250ZXh0LCBTVkdQb2ludExpc3QqIGxpc3QsIFBhc3NSZWZQdHI8
UE9ETGlzdEl0ZW0gPiBpdGVtKQotewotICAgIGlmIChlYykgewotICAgICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgZWMpOwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0g
ICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSA9IGxpc3QtPmFzc29jaWF0ZWRB
dHRyaWJ1dGVOYW1lKCk7Ci0gICAgY29udGV4dC0+c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1
dGVOYW1lKTsKLSAgICByZXR1cm4gdG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9y
UHJvdG90eXBlKGV4ZWMpLCBKU1NWR1BPRFR5cGVXcmFwcGVyQ3JlYXRvckZvckxpc3Q8RmxvYXRQ
b2ludD46OmNyZWF0ZShpdGVtLmdldCgpLCBhdHRyaWJ1dGVOYW1lKS5nZXQoKSwgY29udGV4dCk7
Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRlclJlYWRPbmx5UmVzdWx0KEV4ZWNTdGF0
ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRleHQsIFNWR1BvaW50
TGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRlbSkKLXsKLSAgICBpZiAoZWMp
IHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7Ci0gICAgfQotICAgIGNvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQobGlz
dC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZGVw
cmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgSlNTVkdTdGF0aWNQT0RUeXBl
V3JhcHBlcjxGbG9hdFBvaW50Pjo6Y3JlYXRlKCppdGVtKS5nZXQoKSwgY29udGV4dCk7Ci19Ci0K
LUpTVmFsdWUgSlNTVkdQb2ludExpc3Q6OmNsZWFyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJn
TGlzdCYpCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaW1wbCgpLT5jbGVhcihl
Yyk7Ci0gICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICBtX2NvbnRleHQtPnN2Z0F0
dHJpYnV0ZUNoYW5nZWQoaW1wbCgpLT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKTsKLSAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1BvaW50TGlzdDo6aW5pdGlh
bGl6ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHUG9pbnRMaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsK
LSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKLSAg
ICAgICAgbGlzdEltcC0+aW5pdGlhbGl6ZShQT0RMaXN0SXRlbTo6Y29weSh0b1NWR1BvaW50KGFy
Z3MuYXQoMCkpKSwgZWMpKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1BvaW50TGlzdDo6Z2V0SXRlbShF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBpbmRleE9r
OwotICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgwKS50b1VJbnQzMihleGVjLCBpbmRleE9r
KTsKLSAgICBpZiAoIWluZGV4T2spIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZ
UEVfTUlTTUFUQ0hfRVJSKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQot
Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHUG9pbnRMaXN0QmFzZSogbGlzdElt
cCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoR2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCks
IGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+Z2V0SXRlbShpbmRleCwgZWMpKTsKLX0KLQotSlNW
YWx1ZSBKU1NWR1BvaW50TGlzdDo6aW5zZXJ0SXRlbUJlZm9yZShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBpbmRleE9rOwotICAgIHVuc2lnbmVkIGlu
ZGV4ID0gYXJncy5hdCgxKS50b1VJbnQzMihleGVjLCBpbmRleE9rKTsKLSAgICBpZiAoIWluZGV4
T2spIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsK
LSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQotCi0gICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7Ci0gICAgU1ZHUG9pbnRMaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAgICBy
ZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKLSAgICAgICAg
bGlzdEltcC0+aW5zZXJ0SXRlbUJlZm9yZShQT0RMaXN0SXRlbTo6Y29weSh0b1NWR1BvaW50KGFy
Z3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdQb2ludExpc3Q6OnJl
cGxhY2VJdGVtKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBi
b29sIGluZGV4T2s7Ci0gICAgdW5zaWduZWQgaW5kZXggPSBhcmdzLmF0KDEpLnRvSW50MzIoZXhl
YywgaW5kZXhPayk7Ci0gICAgaWYgKCFpbmRleE9rKSB7Ci0gICAgICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBUWVBFX01JU01BVENIX0VSUik7Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwotICAgIH0KLQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFNWR1BvaW50TGlzdEJh
c2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywg
Y29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPnJlcGxhY2VJdGVtKFBPRExpc3RJ
dGVtOjpjb3B5KHRvU1ZHUG9pbnQoYXJncy5hdCgwKSkpLCBpbmRleCwgZWMpKTsKLX0KLQotSlNW
YWx1ZSBKU1NWR1BvaW50TGlzdDo6cmVtb3ZlSXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFy
Z0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBpbmRleE9rOwotICAgIHVuc2lnbmVkIGluZGV4ID0g
YXJncy5hdCgwKS50b0ludDMyKGV4ZWMsIGluZGV4T2spOwotICAgIGlmICghaW5kZXhPaykgewot
ICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0KLSAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKLSAgICBTVkdQb2ludExpc3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOwotICAgIHJldHVybiBm
aW5pc2hTZXR0ZXJSZWFkT25seVJlc3VsdChleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0g
ICAgICAgIGxpc3RJbXAtPnJlbW92ZUl0ZW0oaW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNT
VkdQb2ludExpc3Q6OmFwcGVuZEl0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBh
cmdzKQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFNWR1BvaW50TGlzdEJhc2Uq
IGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywgY29u
dGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPmFwcGVuZEl0ZW0oUE9ETGlzdEl0ZW06
OmNvcHkodG9TVkdQb2ludChhcmdzLmF0KDApKSksIGVjKSk7Ci19Ci0KLX0KLQotI2VuZGlmIC8v
IEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHVHJhbnNmb3JtTGlz
dEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1RyYW5z
Zm9ybUxpc3RDdXN0b20uY3BwCShyZXZpc2lvbiA1MzA4MykKKysrIFdlYkNvcmUvYmluZGluZ3Mv
anMvSlNTVkdUcmFuc2Zvcm1MaXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxNTMg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSAiSlNTVkdUcmFuc2Zvcm1MaXN0LmgiCi0KLSNpbmNsdWRlICJKU1NWR1Ry
YW5zZm9ybS5oIgotI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKLQotdXNpbmcgbmFtZXNw
YWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi10eXBlZGVmIFNWR1BPRExpc3RJdGVt
PFNWR1RyYW5zZm9ybT4gUE9ETGlzdEl0ZW07Ci10eXBlZGVmIFNWR0xpc3Q8UmVmUHRyPFBPRExp
c3RJdGVtPiA+IFNWR1RyYW5zZm9ybUxpc3RCYXNlOwotCi1zdGF0aWMgSlNWYWx1ZSBmaW5pc2hH
ZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlJiBlYywgU1ZHRWxlbWVudCogY29u
dGV4dCwgU1ZHVHJhbnNmb3JtTGlzdCogbGlzdCwgUGFzc1JlZlB0cjxQT0RMaXN0SXRlbT4gaXRl
bSkKLXsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsK
LSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQotICAgIHJldHVybiB0b0pTKGV4
ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksIEpTU1ZHUE9EVHlw
ZVdyYXBwZXJDcmVhdG9yRm9yTGlzdDxTVkdUcmFuc2Zvcm0+OjpjcmVhdGUoaXRlbS5nZXQoKSwg
bGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSkuZ2V0KCksIGNvbnRleHQpOwotfQotCi1z
dGF0aWMgSlNWYWx1ZSBmaW5pc2hTZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2Rl
JiBlYywgU1ZHRWxlbWVudCogY29udGV4dCwgU1ZHVHJhbnNmb3JtTGlzdCogbGlzdCwgUGFzc1Jl
ZlB0cjxQT0RMaXN0SXRlbT4gaXRlbSkKLXsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgc2V0RE9N
RXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAg
fQotICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUgPSBsaXN0LT5hc3NvY2lh
dGVkQXR0cmlidXRlTmFtZSgpOwotICAgIGNvbnRleHQtPnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0
cmlidXRlTmFtZSk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZGVwcmVjYXRlZEdsb2JhbE9iamVj
dEZvclByb3RvdHlwZShleGVjKSwgSlNTVkdQT0RUeXBlV3JhcHBlckNyZWF0b3JGb3JMaXN0PFNW
R1RyYW5zZm9ybT46OmNyZWF0ZShpdGVtLmdldCgpLCBhdHRyaWJ1dGVOYW1lKS5nZXQoKSwgY29u
dGV4dCk7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlIGZpbmlzaFNldHRlclJlYWRPbmx5UmVzdWx0KEV4
ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSYgZWMsIFNWR0VsZW1lbnQqIGNvbnRleHQsIFNW
R1RyYW5zZm9ybUxpc3QqIGxpc3QsIFBhc3NSZWZQdHI8UE9ETGlzdEl0ZW0+IGl0ZW0pCi17Ci0g
ICAgaWYgKGVjKSB7Ci0gICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7Ci0gICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIH0KLSAgICBjb250ZXh0LT5zdmdBdHRyaWJ1dGVD
aGFuZ2VkKGxpc3QtPmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkpOwotICAgIHJldHVybiB0b0pT
KGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksIEpTU1ZHU3Rh
dGljUE9EVHlwZVdyYXBwZXI8U1ZHVHJhbnNmb3JtPjo6Y3JlYXRlKCppdGVtKS5nZXQoKSwgY29u
dGV4dCk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpjbGVhcihFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IEFyZ0xpc3QmKQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAg
IGltcGwoKS0+Y2xlYXIoZWMpOwotICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7Ci0gICAg
bV9jb250ZXh0LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKGltcGwoKS0+YXNzb2NpYXRlZEF0dHJpYnV0
ZU5hbWUoKSk7Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdU
cmFuc2Zvcm1MaXN0Ojppbml0aWFsaXplKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYg
YXJncykKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0
QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1cm4gZmluaXNoU2V0dGVyKGV4ZWMsIGVj
LCBjb250ZXh0KCksIGltcGwoKSwKLSAgICAgICAgbGlzdEltcC0+aW5pdGlhbGl6ZShQT0RMaXN0
SXRlbTo6Y29weSh0b1NWR1RyYW5zZm9ybShhcmdzLmF0KDApKSksIGVjKSk7Ci19Ci0KLUpTVmFs
dWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpnZXRJdGVtKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJn
TGlzdCYgYXJncykKLXsKLSAgICBib29sIGluZGV4T2s7Ci0gICAgdW5zaWduZWQgaW5kZXggPSBh
cmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOwotICAgIGlmICghaW5kZXhPaykgewot
ICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOwotICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0KLSAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsKLSAgICByZXR1
cm4gZmluaXNoR2V0dGVyKGV4ZWMsIGVjLCBjb250ZXh0KCksIGltcGwoKSwKLSAgICAgICAgbGlz
dEltcC0+Z2V0SXRlbShpbmRleCwgZWMpKTsKLX0KLQotSlNWYWx1ZSBKU1NWR1RyYW5zZm9ybUxp
c3Q6Omluc2VydEl0ZW1CZWZvcmUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdz
KQotewotICAgIGJvb2wgaW5kZXhPazsKLSAgICB1bnNpZ25lZCBpbmRleCA9IGFyZ3MuYXQoMSku
dG9VSW50MzIoZXhlYywgaW5kZXhPayk7Ci0gICAgaWYgKCFpbmRleE9rKSB7Ci0gICAgICAgIHNl
dERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7Ci0gICAgICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOwotICAgIH0KLQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFNW
R1RyYW5zZm9ybUxpc3RCYXNlKiBsaXN0SW1wID0gaW1wbCgpOwotICAgIHJldHVybiBmaW5pc2hT
ZXR0ZXIoZXhlYywgZWMsIGNvbnRleHQoKSwgaW1wbCgpLAotICAgICAgICBsaXN0SW1wLT5pbnNl
cnRJdGVtQmVmb3JlKFBPRExpc3RJdGVtOjpjb3B5KHRvU1ZHVHJhbnNmb3JtKGFyZ3MuYXQoMCkp
KSwgaW5kZXgsIGVjKSk7Ci19Ci0KLUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpyZXBsYWNl
SXRlbShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgYm9vbCBp
bmRleE9rOwotICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgxKS50b1VJbnQzMihleGVjLCBp
bmRleE9rKTsKLSAgICBpZiAoIWluZGV4T2spIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4
ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0g
ICAgfQotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU1ZHVHJhbnNmb3JtTGlzdEJh
c2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlzaFNldHRlcihleGVjLCBlYywg
Y29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPnJlcGxhY2VJdGVtKFBPRExpc3RJ
dGVtOjpjb3B5KHRvU1ZHVHJhbnNmb3JtKGFyZ3MuYXQoMCkpKSwgaW5kZXgsIGVjKSk7Ci19Ci0K
LUpTVmFsdWUgSlNTVkdUcmFuc2Zvcm1MaXN0OjpyZW1vdmVJdGVtKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBib29sIGluZGV4T2s7Ci0gICAgdW5zaWduZWQg
aW5kZXggPSBhcmdzLmF0KDApLnRvVUludDMyKGV4ZWMsIGluZGV4T2spOwotICAgIGlmICghaW5k
ZXhPaykgewotICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIp
OwotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICB9Ci0KLSAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLSAgICBTVkdUcmFuc2Zvcm1MaXN0QmFzZSogbGlzdEltcCA9IGltcGwoKTsK
LSAgICByZXR1cm4gZmluaXNoU2V0dGVyUmVhZE9ubHlSZXN1bHQoZXhlYywgZWMsIGNvbnRleHQo
KSwgaW1wbCgpLAotICAgICAgICBsaXN0SW1wLT5yZW1vdmVJdGVtKGluZGV4LCBlYykpOwotfQot
Ci1KU1ZhbHVlIEpTU1ZHVHJhbnNmb3JtTGlzdDo6YXBwZW5kSXRlbShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAg
U1ZHVHJhbnNmb3JtTGlzdEJhc2UqIGxpc3RJbXAgPSBpbXBsKCk7Ci0gICAgcmV0dXJuIGZpbmlz
aFNldHRlcihleGVjLCBlYywgY29udGV4dCgpLCBpbXBsKCksCi0gICAgICAgIGxpc3RJbXAtPmFw
cGVuZEl0ZW0oUE9ETGlzdEl0ZW06OmNvcHkodG9TVkdUcmFuc2Zvcm0oYXJncy5hdCgwKSkpLCBl
YykpOwotfQotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiA1MzA4MykKKysrIFdl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkK
QEAgLTE1ODgsOCArMTU4OCwyOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4ganNVbmRlZmluZWQo
KTtcbiIpOwogICAgICAgICAgICAgfQogCisgICAgICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3Ig
SlNTVkdMZW5ndGhMaXN0IC8gSlNTVkdUcmFuc2Zvcm1MaXN0IC8gSlNTVkdQb2ludExpc3QgLyBK
U1NWR051bWJlckxpc3QKKyAgICAgICAgICAgICMgSW5zdGVhZCBvZiBoYXZpbmcgSlNTVkcqQ3Vz
dG9tLmNwcCBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBTVkdMaXN0IGludGVyZmFjZSBmb3IgYWxs
IG9mIHRoZXNlCisgICAgICAgICAgICAjIGNsYXNzZXMsIHdlIGRpcmVjdGx5IGZvcndhcmQgdGhl
IGNhbGxzIHRvIEpTU1ZHUE9ETGlzdEN1c3RvbSwgd2hpY2ggY2VudHJhbGl6ZXMgdGhlIG90aGVy
d2lzZQorICAgICAgICAgICAgIyBkdXBsaWNhdGVkIGNvZGUgZm9yIHRoZSBKU1NWRypMaXN0IGNs
YXNzZXMgbWVudGlvbmVkIGFib3ZlLgorICAgICAgICAgICAgbXkgJHN2Z1BPRExpc3RUeXBlOwor
ICAgICAgICAgICAgaWYgKCRpbXBsQ2xhc3NOYW1lID1+IC9TVkcuKkxpc3QvKSB7CisgICAgICAg
ICAgICAgICAgJHN2Z1BPRExpc3RUeXBlID0gJGltcGxDbGFzc05hbWU7CisgICAgICAgICAgICAg
ICAgJHN2Z1BPRExpc3RUeXBlID1+IHMvTGlzdCQvLzsKKyAgICAgICAgICAgICAgICAkc3ZnUE9E
TGlzdFR5cGUgPSAiIiB1bmxlc3MgJGNvZGVHZW5lcmF0b3ItPklzUG9kVHlwZSgkc3ZnUE9ETGlz
dFR5cGUpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICMgSWdub3JlIGFkZGl0
aW9uYWwgKG5vbi1TVkdMaXN0KSBTVkdUcmFuc2Zvcm1MaXN0IG1ldGhvZHMsIHRoYXQgYXJlIG5v
dCBoYW5kbGVkIHRocm91Z2ggSlNTVkdQT0RMaXN0Q3VzdG9tCisgICAgICAgICAgICAgICAgJHN2
Z1BPRExpc3RUeXBlID0gIiIgaWYgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lID1+IC9jcmVh
dGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4LzsKKyAgICAgICAgICAgICAgICAkc3ZnUE9ETGlzdFR5
cGUgPSAiIiBpZiAkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUgPX4gL2NvbnNvbGlkYXRlLzsK
KyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tIn0gfHwgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0NDdXN0b20ifSkgewogICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIHJldHVybiBjYXN0ZWRUaGlzT2JqLT4iIC4gJGZ1bmN0aW9uSW1w
bGVtZW50YXRpb25OYW1lIC4gIihleGVjLCBhcmdzKTtcbiIpOworICAgICAgICAgICAgfSBlbHNp
ZiAoJHN2Z1BPRExpc3RUeXBlKSB7CisgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMk
e3N2Z1BPRExpc3RUeXBlfS5oIn0gPSAxOworICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7
IkpTU1ZHUE9ETGlzdEN1c3RvbS5oIn0gPSAxOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBKU1NWR1BPRExpc3RDdXN0b206OiRmdW5jdGlvbkltcGxlbWVu
dGF0aW9uTmFtZTwkY2xhc3NOYW1lLCAiIC4gR2V0TmF0aXZlVHlwZSgkc3ZnUE9ETGlzdFR5cGUp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICI+KGNhc3RlZFRoaXNPYmosIGV4
ZWMsIGFyZ3MsICZ0byIgLiAkc3ZnUE9ETGlzdFR5cGUgLiAiKTtcbiIpOwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoJHBvZFR5cGUpIHsKICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlw
ZT4qIHdyYXBwZXIgPSBjYXN0ZWRUaGlzT2JqLT5pbXBsKCk7XG4iKTsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR051bWJlckxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR051bWJl
ckxpc3QuY3BwCShyZXZpc2lvbiA1MzA4MykKKysrIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFNWR051bWJlckxpc3Q6OlNWR051bWJlckxpc3QoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSkKLSAgICA6IFNWR0xpc3Q8ZmxvYXQ+KGF0dHJpYnV0ZU5hbWUpCisgICAgOiBT
VkdQT0RMaXN0PGZsb2F0PihhdHRyaWJ1dGVOYW1lKQogewogfQogCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdOdW1iZXJMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlz
dC5oCShyZXZpc2lvbiA1MzA4MykKKysrIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAkod29y
a2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBTdHJpbmc7CiAKLSAgICBjbGFzcyBTVkdOdW1iZXJMaXN0IDogcHVibGljIFNWR0xpc3Q8
ZmxvYXQ+IHsKKyAgICBjbGFzcyBTVkdOdW1iZXJMaXN0IDogcHVibGljIFNWR1BPRExpc3Q8Zmxv
YXQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR051bWJlckxp
c3Q+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgU1ZHTnVtYmVyTGlzdChhdHRyaWJ1dGVOYW1lKSk7IH0KICAgICAgICAgdmly
dHVhbCB+U1ZHTnVtYmVyTGlzdCgpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCShyZXZpc2lvbiA1
MzA4MykKKysrIFdlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDE5ICsyOCwxOSBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFs
PVNWR10gU1ZHUG9pbnRMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZJdGVtczsKIAotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIGNsZWFyKCkK
KyAgICAgICAgdm9pZCBjbGVhcigpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
LSAgICAgICAgW0pTQ0N1c3RvbV0gU1ZHUG9pbnQgaW5pdGlhbGl6ZShpbiBTVkdQb2ludCBpdGVt
KQorICAgICAgICBTVkdQb2ludCBpbml0aWFsaXplKGluIFNWR1BvaW50IGl0ZW0pCiAgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uLCBTVkdFeGNlcHRpb24pOwotICAgICAgICBbSlNDQ3Vz
dG9tXSBTVkdQb2ludCBnZXRJdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNW
R1BvaW50IGdldEl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwotICAgICAgICBbSlNDQ3VzdG9tXSBTVkdQb2ludCBpbnNlcnRJdGVt
QmVmb3JlKGluIFNWR1BvaW50IGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAg
IFNWR1BvaW50IGluc2VydEl0ZW1CZWZvcmUoaW4gU1ZHUG9pbnQgaXRlbSwgaW4gdW5zaWduZWQg
bG9uZyBpbmRleCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlv
bik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNWR1BvaW50IHJlcGxhY2VJdGVtKGluIFNWR1BvaW50
IGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNWR1BvaW50IHJlcGxhY2VJ
dGVtKGluIFNWR1BvaW50IGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCiAgICAgICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uLCBTVkdFeGNlcHRpb24pOwotICAgICAgICBbSlNDQ3VzdG9t
XSBTVkdQb2ludCByZW1vdmVJdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNW
R1BvaW50IHJlbW92ZUl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBbSlNDQ3VzdG9tXSBTVkdQb2ludCBhcHBlbmRJ
dGVtKGluIFNWR1BvaW50IGl0ZW0pCisgICAgICAgIFNWR1BvaW50IGFwcGVuZEl0ZW0oaW4gU1ZH
UG9pbnQgaXRlbSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlv
bik7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGwJKHJldmlzaW9uIDUz
MDgzKQorKysgV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDE5ICsyOSwxOSBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2UgW0NvbmRpdGlv
bmFsPVNWR10gU1ZHVHJhbnNmb3JtTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlck9mSXRlbXM7CiAKLSAgICAgICAgW0pTQ0N1c3RvbV0gdm9pZCBj
bGVhcigpCisgICAgICAgIHZvaWQgY2xlYXIoKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNWR1RyYW5zZm9ybSBpbml0aWFsaXplKGluIFNW
R1RyYW5zZm9ybSBpdGVtKQorICAgICAgICBTVkdUcmFuc2Zvcm0gaW5pdGlhbGl6ZShpbiBTVkdU
cmFuc2Zvcm0gaXRlbSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2Vw
dGlvbik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNWR1RyYW5zZm9ybSBnZXRJdGVtKGluIHVuc2ln
bmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNWR1RyYW5zZm9ybSBnZXRJdGVtKGluIHVuc2lnbmVk
IGxvbmcgaW5kZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAg
W0pTQ0N1c3RvbV0gU1ZHVHJhbnNmb3JtIGluc2VydEl0ZW1CZWZvcmUoaW4gU1ZHVHJhbnNmb3Jt
IGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIFNWR1RyYW5zZm9ybSBpbnNl
cnRJdGVtQmVmb3JlKGluIFNWR1RyYW5zZm9ybSBpdGVtLCBpbiB1bnNpZ25lZCBsb25nIGluZGV4
KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwgU1ZHRXhjZXB0aW9uKTsKLSAgICAg
ICAgW0pTQ0N1c3RvbV0gU1ZHVHJhbnNmb3JtIHJlcGxhY2VJdGVtKGluIFNWR1RyYW5zZm9ybSBp
dGVtLCBpbiB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICBTVkdUcmFuc2Zvcm0gcmVwbGFj
ZUl0ZW0oaW4gU1ZHVHJhbnNmb3JtIGl0ZW0sIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCiAgICAg
ICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uLCBTVkdFeGNlcHRpb24pOwotICAgICAgICBbSlND
Q3VzdG9tXSBTVkdUcmFuc2Zvcm0gcmVtb3ZlSXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQor
ICAgICAgICBTVkdUcmFuc2Zvcm0gcmVtb3ZlSXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQog
ICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtKU0NDdXN0b21dIFNW
R1RyYW5zZm9ybSBhcHBlbmRJdGVtKGluIFNWR1RyYW5zZm9ybSBpdGVtKQorICAgICAgICBTVkdU
cmFuc2Zvcm0gYXBwZW5kSXRlbShpbiBTVkdUcmFuc2Zvcm0gaXRlbSkKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24sIFNWR0V4Y2VwdGlvbik7CiAgICAgICAgIFNWR1RyYW5zZm9ybSBj
cmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4KGluIFNWR01hdHJpeCBtYXRyaXgpOwogICAgICAg
ICBTVkdUcmFuc2Zvcm0gY29uc29saWRhdGUoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzMDg1KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMDEtMTEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc3ZnIDx0ZXh0
PiBmYWlscyB0byB1cGRhdGUgd2hlbiBzZXR0aW5nIHgveQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzODQKKworICAgICAgICBBZGQgc2ltcGxlIHRl
c3RzIGNvdmVyaW5nIFNWR0xlbmd0aExpc3QgJiBTVkdOdW1iZXJMaXN0IHVwZGF0ZXMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1l
eHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xp
c3QueGh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHVGV4dEVs
ZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdUZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuaHRt
bDogQWRkZWQuCisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZH
VGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmpzOiBBZGRlZC4KKyAgICAgICAgKGV4ZWN1
dGVUZXN0KToKKwogMjAxMC0wMS0wOCAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQu
Y2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMt
U1ZHTGlzdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorYjNh
NDcwYjM3NzZjYjZiNmFjZDg3OWQ4ZDM3Mzg5OTIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0
ZXMtU1ZHTGlzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14
eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEw
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwOHg2MjAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODA4eDYyMAorICBSZW5kZXJCbG9jayB7
aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjIwCisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgs
OCkgc2l6ZSA3Njl4NjA0CisgICAgICBSZW5kZXJTVkdSb290IHtzdmc6c3ZnfSBhdCAoMjA4LDE0
KSBzaXplIDE2NngxOAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAwLDIwKSBz
aXplIDE2NngxOCBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxNjZ4MTgKKyAgICAgICAgICAgIGNodW5rIDEg
dGV4dCBydW4gMSBhdCAoMjAwLjAwLDIwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyOCB3
aWR0aCAxNjYuMDA6ICJQYXNzZXMsIGlmIHRleHQgaXMgYXQgMjAweDIwIgorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LnhodG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QueGh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LnhodG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0
bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbAorICAgIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIgorICAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciPgorPGhlYWQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIGZ1bmN0aW9uIGNyZWF0
ZVNWR0xlbmd0aChlLCB2YWx1ZSkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGUub3duZXJT
VkdFbGVtZW50LmNyZWF0ZVNWR0xlbmd0aCgpOworICAgICAgICAgICAgcmVzdWx0LnZhbHVlID0g
dmFsdWU7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9OworCisgICAgICAg
IGZ1bmN0aW9uIHNoaWZ0ZXIoKSB7CisgICAgICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0dHQiKTsKKyAgICAgICAgICAgIGUueC5iYXNlVmFsLmluaXRpYWxpemUoY3Jl
YXRlU1ZHTGVuZ3RoKGUsIDIwMCkpOworICAgICAgICAgICAgZS55LmJhc2VWYWwuaW5pdGlhbGl6
ZShjcmVhdGVTVkdMZW5ndGgoZSwgMjApKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoc2hpZnRlciwgMCk7
CisgICAgICAgIH07CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzdmc6c3ZnCisg
ICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgIHZlcnNpb249IjEuMSIg
YmFzZVByb2ZpbGU9ImZ1bGwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj4KKyAgICA8dGV4dCBp
ZD0idHR0IiB4PSIxMCIgeT0iMjAwIj5QYXNzZXMsIGlmIHRleHQgaXMgYXQgMjAweDIwPC90ZXh0
PgorPC9zdmc6c3ZnPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdUZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHVGV4
dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJv
dGF0ZS1wcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorU1ZH
IDEuMSBkeW5hbWljIHVwZGF0ZSB0ZXN0cworCitUZXh0IGNvbnRlbnQKK1Rlc3RzIGR5bmFtaWMg
dXBkYXRlcyBvZiB0aGUgJ3JvdGF0ZScgcHJvcGVydHkgb2YgdGhlIFNWR1RleHRFbGVtZW50IG9i
amVjdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXh0RWxlbWVudC5y
b3RhdGUuYmFzZVZhbC5nZXRJdGVtKDApLnZhbHVlIGlzIC05MAorUEFTUyB0ZXh0RWxlbWVudC5y
b3RhdGUuYmFzZVZhbC5nZXRJdGVtKDApLnZhbHVlIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR1RleHRFbGVtZW50LXN2Z2RvbS1yb3RhdGUtcHJvcC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHVGV4dEVsZW1lbnQt
c3ZnZG9tLXJvdGF0ZS1wcm9wLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR1RleHRFbGVtZW50LXN2Z2RvbS1yb3RhdGUtcHJvcC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxoMT5TVkcgMS4xIGR5bmFtaWMgdXBkYXRlIHRlc3RzPC9oMT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL1NWR1RleHRFbGVtZW50LXN2Z2RvbS1yb3RhdGUtcHJvcC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11
cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdUZXh0RWxlbWVudC1zdmdkb20tcm90YXRlLXByb3AuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVz
dHMvU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHVGV4dEVsZW1l
bnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0IEBACisv
LyBbTmFtZV0gU1ZHVGV4dEVsZW1lbnQtc3ZnZG9tLXJvdGF0ZS1wcm9wLmpzCisvLyBbRXhwZWN0
ZWQgcmVuZGVyaW5nIHJlc3VsdF0gJ1Rlc3QgcGFzc2VkJyBtZXNzYWdlIC0gYW5kIGEgc2VyaWVz
IG9mIFBBU1MgbWVzc2FnZXMKK2Rlc2NyaXB0aW9uKCJUZXN0cyBkeW5hbWljIHVwZGF0ZXMgb2Yg
dGhlICdyb3RhdGUnIHByb3BlcnR5IG9mIHRoZSBTVkdUZXh0RWxlbWVudCBvYmplY3QiKQorY3Jl
YXRlU1ZHVGVzdENhc2UoKTsKKwordmFyIHRleHRFbGVtZW50ID0gY3JlYXRlU1ZHRWxlbWVudCgi
dGV4dCIpOwordGV4dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ4IiwgIjAiKTsKK3RleHRFbGVtZW50
LnNldEF0dHJpYnV0ZSgieSIsICIyMTUiKTsKK3RleHRFbGVtZW50LnNldEF0dHJpYnV0ZSgicm90
YXRlIiwgIi05MCIpOwordGV4dEVsZW1lbnQudGV4dENvbnRlbnQgPSAiVGV4dCBjb250ZW50IjsK
K3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHRleHRFbGVtZW50KTsKKworc2hvdWxkQmUoInRl
eHRFbGVtZW50LnJvdGF0ZS5iYXNlVmFsLmdldEl0ZW0oMCkudmFsdWUiLCAiLTkwIik7CisKK2Z1
bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIHRleHRFbGVtZW50LnJvdGF0ZS5iYXNlVmFsLmdl
dEl0ZW0oMCkudmFsdWUgPSAwOworICAgIHNob3VsZEJlKCJ0ZXh0RWxlbWVudC5yb3RhdGUuYmFz
ZVZhbC5nZXRJdGVtKDApLnZhbHVlIiwgIjAiKTsKKworICAgIGNvbXBsZXRlVGVzdCgpOworfQor
CitzdGFydFRlc3QodGV4dEVsZW1lbnQsIDEwLCAyMTApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Rl
eHQteHktdXBkYXRlcy1TVkdMaXN0LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGlj
YXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC5wbmcK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBRE8y
bERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpU
N1FpbERiYWJYV2tYRVkrOUFpeURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNL
VUxrVUxyYTFFRWNhVWlpRUkzVXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2
SnJxaDI2UENBCnRuZ0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xS
dDlmMUxqMkx2NjU3MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlp
VkpqdmtScmNuMlVHK1FWNmFEZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAy
YlBDWHRhYzhZcG9iOVJuN0lXZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0
RmR2UHBEOGZwWGJjCnkyelo3SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09a
WlJUY29xOWxZY29ySUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhE
aVJxZ1p3Y2k1OWx1Y09YRktjNEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1
TGs5emhTZmNva2czWTlncWNNNytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNG
cDI3eVkza2V4bHpUemU1CmdkZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhG
ZFhKUitVOEpJOTR4WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hX
WDd0RnBJeTd6cHE3amlXLzgyenRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpw
Vi9RYXNMRDhiOHFMU1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2
bmYwYjllcVM4MFZEd2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhr
RlBYbG5mRks0dVkxK3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21o
NjFMODQrcWF2a2VxT09IWm1zZm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdv
RAptcnBMYlZOYjFVNis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5
MUNWdTRwcUhKZjJqQ3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhn
QjdOMEpyQzFiWGUvN1VhT3E1bDV3RHVmZ0FlRUdMM0pVTkdydXZTbysKUmIyMjBhZ3hVV01iK3k0
eFBrM3NvckhCQmlNeGFqQXY5aVJxak5IWVhUc01LbDRSSk1hK0E3MmlBWVRRQkpWR3BNYzVSMVdO
OS91Tgp1VWJOT251dnZmY2FIQTR2ei9XdDNGcFZzMmJObW10L2psNzNiLy9IZjR3dWF3dHNDQ0NB
QUFJSUlJQUFBZ2dnZ01BbEJaNzYxS2VHCmxGSzQ1NTU3d2x2Zit0WnkzblZkT0RzN0M3dmRMb3pq
V0k3MXZPLzdNTTl6dVhlNDVIZHdHd0lJSUlBQUFnZ2dnQUFDQ0NCUUJJWmgKQ0k5NXpHUEN1NzNi
dTRVWVl6Z2NEdUZOYjNwVGVNdGIzbEplTzNoY3UzWnREU0UxZ0x6NXpXOE9CQkQraHdnQkJCQkFB
QUVFRUVBQQpBUVNhQkJ3b0hEeTgxN0J4NTUxM2h0ZS8vdlVsaUxnQzR2Y2NWTHo3ZmxkSWZDU0FO
RkZ6TXdJSUlJQUFBZ2dnZ0FBQ0NEaGcxRkRoCllPSGRtNi9WNFZldWdIaXZZY1JEc1B5YUFNTC8v
Q0NBQUFJSUlJQUFBZ2dnZ0VDelFHMGw5M0ZabHZER043NHh2T0VOYnlnVkQ3K3UKdXg5Y0E0clBD
U0JXWUVNQUFRUVFRQUFCQkJCQUFJRkxDemgwMUFDeTMrL0RLMS81eWhKQUhEUmM1WENEdXZ0Q3ZI
a29GZ0hrMHJUYwppQUFDQ0NDQUFBSUlJSUFBQXRjTDFGRGg4UEhpRjc4NFBQZTV6dzJ2ZXRXcnd1
dGU5N3JTQStMWnNCNzJzSWVGeHo3MnNlSHhqMzk4CmVPUWpIMW1HWnptMFVBRzVYcFBYQ0NDQUFB
SUlJSUFBQWdnZ2NFc0JENithcGlrODV6blBDYi8vN09lRVAzMStEQzkreTM4TnJ4bi8KcjNEdFFT
RThjbmgxZU9mWHZDdzg2Z1hQRHM5Ly92UER4MzNjeDRYM2ZkLzNMVlVUQXNndGFYa1RBUVFRUUFB
QkJCQkFBQUVFcmhkdwpKY1BEcm43ckdjOFB2L3QvN2drdlNvOE84ZTR4UE9TdWErSHV1OFl3bmow
aTdNLytlM2pGYS85UG1GN3luSkNlL3ZReUZPdmVlKytsCkFuSTlKcThSUUFBQkJCQkFBQUVFRUVE
ZzlnTFArYnVYaFdmOC9WM2hSZnRIaGU1aForRWhkMThMNzNUM0x0eDk1eGp1ZXRBdVBQaGEKRE9Q
RFBpVDh4eXZHOE5KWC9sSDR5Ny84eTdKd0lSV1EyOXR5QndJSUlJQUFBZ2dnZ0FBQ0NHd0UzR0Qr
MXk4Y3d3dmU4UERRUFh3SQpkOTExREI1MzM3a0w5OXgxRnU2NjR5dzgrTUhYd3Rtb0tYcnYrYWp3
MnI5OGFYakZLMTVSZGdMSUJwSlRCQkJBQUFFRUVFQUFBUVFRCnVMM0FmL3pIZjRUbnZWU3JuZDl4
TGZ6UEQva3Y0ZUVQSGNPcjN4VENtdzlkZU5DREhoUWU5T0E3d2wwS0l3KzY0OEdoMStNT2ozNWMK
ZU12TGZ6Tzg5cld2RGZIMmorY09CQkJBQUFFRUVFQUFBUVFRUU9BazRDYjBsNzlxQ0IveUFROFBI
LzNmN3c3LzR6RjNoc2ZkZTBmWQpEZXIvR1Bwd2RrMURzQlErN3JnenFDOGtoSWUvK3dlR3Q3emxM
V1Y2WGdMSXlaRXpCQkJBQUFFRUVFQUFBUVFRdUlTQW05RGZmQmpECis5eDdwM285K2pERWJqME9E
aUc3blJZa0RGb1RKSVN6TzBKNDZIKzU1N1F1eUNXZXp5MElJSUFBQWdnZ2dBQUNDQ0NBd0NyUTl4
NVkKdFlTSFBGamhvOU5LNTNyVkszREV2Z3V4eTZGWG1VUHJEd2Jsa0RBb2hQUmpLRlB3ZXYwUUtp
QXJJeWNJSUlBQUFnZ2dnQUFDQ0NCdwphWUY4ZnFkV1AvZXBRNGhpUnVoaXI1WFBGVUMwKy9xbzhE
RW9pTlRWMEFrZ0JZb2ZDRnh0Z1gvN3QzOExMM3poQzI5QStKZC8rWmZ3CnJHYzlxelNNM2ZEbU8v
REN6WDYvZDhTdjhKclh2S1lzdEhTejczSXpYVXJwWm04WHUxdTlmOU1QbnI5eGY3Ly9kcy9uZlFR
UVFBQUIKQk41bWdYbDJXU1BNNmdjcDRXTXBMMFBXYS8wLzFVZjBXai9tNmZnTkRpQlVRTjVtYlQ2
SXdGSGd0My83dDhQN3YvLzdsMFQvQ1ovdwpDZUh6UC8venc4ZCs3TWVHVC83a1R3N1BmdmF6LzMv
RDlNUW5QakY4K3FkLytuMSszeC82b1I4S3YvN3J2eDcrNUUvK3BLeGN1dC92CjcvUCtPL0xGUmIv
ZkEvMzlmLzduZjE3K1d6NzYwWThPNy9JdTd4SysvdXUvdmpUUDFlOTkzdk9lVjh4czlCM2Y4UjNo
bTc3cG0rcGIKNVhpNzkrOXo4d1V2N3UvM1gvQklMaUdBQUFJSUlQRDJGWGo0SFJwKzFTbUFIQ3Nk
YWM0bGRDd2FaRFdYUGVnZjhmU2VTaDdLS1dVcgpWUkExa0xBaGdNRDlFUGlSSC9rUi82OVUvdE0v
L2RQeUZNMEtrYi8yYTc4MmEyeGtmc1l6bm5FL252eU8rK2liMy96bS9LLy8rcS9yCkY3N2hEVy9J
WjJkbitnZU1wVng3L3ZPZnY3NVhUOTcwcGpmbDMvcXQzNm92NzlmeGRzKzYvdmU3WDE5Mi91RmJm
ZWUvLy91LzU4LzYKck0vS2YvekhmNXpmK01ZMzVoLzh3UjhzLzQyLzlWdS90WHhhVlltc1lIS2ZQ
LzlIZmRSSDVSLzRnUis0MVB1MysvM3Y3L2ZmN3ZtOApqd0FDQ0NDQXdQMFYrSlZmK1pVY1B2UnAr
WnQvOGdYNUIzN25GZmxKVDN0Ri9yWmZlMFgrbjkvN2t2d3BUM2wxL3BKZjJ1ZXYxMStECm52aG5P
WC8vODNMK0xoMi80QXUrSVB0ekRNRjYrK1pBbm5ZRkJSN3lrSWVVUDNVZDErampWMzdsVjRaWlpV
bjlMOWw5Ukc0MUZFZi8KSDhGOTdxMHZibmE5dm4vUnNmVXpEMzd3ZzhNakgvbkk5VkYvLy9kL1gz
Ny8rbWQ2ci9kNnIvVTluM2p4b2MvNW5NOEpmLzNYZjMyZgo2Mi9MaThzODYvcmZyMzdQWmYrYzE3
dmY3anYvNGkvK0l2ellqLzFZK0xBUCs3Qnc1NTEzQmdYSzhON3YvZDdoci83cXI4cFgvL3pQCi8z
encvT2VmOUVtZlZIK1Y4TVZmL01YaGwzN3BseTcxL3ZxaG01emMzKysveVdPNWpBQUNDQ0NBd050
ZElMdlRYTTBlT3pXZkQ0TlcKUGxkditxRHowZWNhbDZVSnNZSm01QTNYems1ZnpVS0VKd3ZPRUhp
N0NhaWFVSjdsb1R2ZVZBa0pmL00zZjFQR1BUNzFxVThOUC83agpQeDdlNy8zZXI3ejNpNy80aStI
MXIzOTkwTCswaDkvNGpkOG9RNTc4eHMydXV5OUQvOUllbnZPYzU0VFh2ZTUxNFVkLzlFZkxYNVJ2
CjlabnlSVGY1NFZWSmYvWm5memI4NW0vK1p2aXpQL3V6OE5NLy9kTWxPRTJxbVg3TjEzeE5XVXpv
KzcvLysrL3phVlY5eXAvcG4vLzUKbjhOTFgvclM4TU0vL01OQlZaTUxmeS8vdVZVNUNDOS8rY3ZE
VTU3eWxPREE5cVZmK3FYaEc3L3hHOE1YZnVFWGhvdWVkY2NkbXEvdgpmTHYrOS9QbG05blV6OVRq
emR4djk1MGYvL0VmWHgreEhoM0M2bi9QMy8vOTN3K1BmZXhqMTJZNjMvUWU3L0VlNFcvLzltL0RX
OS82CjFuQzc5Ly94SC8veGxpYjM5L3U5QUJRYkFnZ2dnQUFDN3hBQmh3enRpLzRkdGN4OHBSbXdk
Z29obzRLSkE0anlSK2oxM201VDlpQ0EKdkVQK3kvQWxWMG5BaSt4ODEzZDlWM2pFSXg0UnZ1aUx2
aWk0ZDhML092NEx2L0FMNGFNLytxUExYMUMvKzd1L08vemFyLzFhYVY1MgptS2lWaEZlOTZsVnEy
bHBLOWVHaTYzN3Z5NzdzeThLdi91cXZCbGNGdnZxcnZ6cDh5cWQ4U25qQkMxNVEvbUovMFdmYzdI
V3J6Yzl4CmtIalJpMTVVYnZQekhSSis3L2QrcndTTGl6NzdEZC93RFNYNGZPWm5mbWI1aTdURHlz
MStyOGM5N25IaENVOTRRdm16TzJRNXFIejUKbDM5NUNSOSs5dlhQdXY3N3J2LzlYTTI0ekovelZ1
NjMrODdyZndlN1AvZTV6dzMrNytiTklmQmhEM3ZZZlc2em1YODMvN2U4M2ZzZgovdUVmZmt1VCt6
eFlMMXEvMzg5blF3QUJCQkJBNEIwaDBLblMwYWtDRXAwcURnb2N1MUZUN3ZhYWt2ZDR6WDhOY1JW
azFudDF1L1hmClRPcGRIQkZBNExZQzMvek4zeHcrNW1NK0puem9oMzVvOEwrV3UzbjczbnZ2MWZ6
WHUvSXYvaC93QVI5UW5uSDMzWGNIL3d1NE4vK0YKL08vKzd1L1dvVnBmOFJWZlVlYkl2dGwxaHhq
L1pmOXBUM3RhK09WZi91VXlQTWd6UlAzaEgvN2hUWjlWdnVnV1A5N3BuZDRwdk0vNwp2RS81M2x2
Y2R1RmJkWWpXclg0dmYxRDlFU1dNdVJMaTMvdXJ2dXFyYm5oZWZkYjFiMXovKzkzTTV2clAzY3E5
M251ejc2enYxNk1yCkxnNWJ0V3JsNFZlRFYxZmFiUFgxSzEvNXlqSThxNzZ1dDlUWGZ0L2JaVXpx
WjF1L3YzNk9Jd0lJSUlBQUFnKzRnS29jbm9UWFUrN0cKTG9aZTU5NmpkaTJJSHBSSGdrWmtsYjMr
THZmOXY2RDFLa2NFRUdnVzhEQ2x4ei8rOFRkOHpuL0ovWjd2K1o3eUwraS8rN3UvV3dLSApHcURM
ZmZmY2MwK3BqbnoyWjM5MitOelAvZHd5Tk1zTCs5enN1bWRHZXRkM2ZkZndudS81bnVYelBxcFp1
bHk3MldkdStJVXV1T0RmCjhiSi9HZDkrdkg3bVZyOVh2Zi9KVDM1eUNXWnFRQ3REMGVyMWVxelBx
cSszeCszdmQ5ay9wejl6TS9mNjdGdDlaNzNuMWE5K2RWQ3oKZmZpNW4vdTVlaWs4NmxHUENnNSsy
ODJWTDI4T243ZDd2Mzd1ZGlhKzcyMzUvdnA4amdnZ2dBQUNDRHpnQXZxL3Q3MTJ4dzRWUTQ1aApR
Mk94QnBVK3ZGYWhza2NKSWtubmRhTUNVaVU0SXZBQUN2Z3Z3ai94RXo4UlhDWDVpSS80aVB2OFpm
K25mdXFud3ZkKzcvZVdJVmx1CmV2YTZEOTR1dXU1ZUVmL3Ird2QrNEFmZVozL25kMzdubTM2bXZQ
RUEvYWgvZ2IvZDcrV3Y5Ky90WVduZjkzM2ZWLzVTZmYydlZKOTEKL2ZXTFhsOWtjOUY5dDNMMy9i
ZjdUZzk5K3M3di9NNHlGSzFXTVB3NWgwQVBsOXR1SGxybTU3azM1SGJ2MTgvZHp1UnQvZjc2Zkk0
SQpJSUFBQWdnODBBSlpQUjlSZ2NNVkVQZUF1TnJoNm9kWFEzZHZTRm1FME1kTjZ0aWNQdEMvSHM5
SDREK253TzFtWW5JVDlyZC8rN2VICkp6M3BTVGY4aGRlTjJTOTV5VXZDdDN6THQ1UUdjUCtsMXNP
WmJuYmRmN2w5K3RPZlh2b29xcWFIWlAzTzcvek9UVDlUNzNzZ2p2WFAKZnF2ZnEzNnYveUwvQjMv
d0I2VzY0eUIyL1ZhZmRmMzE2MS9mek9iNisyN2xYdSs5M1hlNnF2VjFYL2Qxb1FZOGYrN0ZMMzV4
R1k3bAppUWEyYTZQOHd6LzhRL2lnRC9xZzByVHY0VnEzZXI5Ky8rMU0zdGJ2cjgvbmlBQUNDQ0NB
d0FNdW9FcUgvdjJ0VkR1aVVzaWdjVmVlCkJXdFErdWcxL01waG8zTWxSUGZValFCU0pUZ2k4RFlL
MURIOTEvK0xlSDNjeTE3MnNuTHFuaERQa09Td29IVXRTc095WjdHcVU3ZTYKUitRVFAvRVRneGUr
ODcrbVgzVGRzMGE1MnVEaFdnNHViajUzUTdYLzRudXp6L2pMdlZyM2wzekpsNVFBVUgrdjdkRjlG
ZjZkL0MvdQozclFPUlRuMzladHRIZ3IxVC8vMFQ2VjN4SXN3M3V6Mzh1ZmRjUC9CSC96QlpSWXBE
enY2bVovNW1mQkhmL1JINjZPM3ozSUQ5L1hiCjl2ZTcxWjl6KzdsYnVmdlBlYnZ2L01tZi9Na3l6
TXJHN3JueDdHWGY5bTNmVmdLSVo2bnlyRmZ1emFpYm0vYTFYa2g1ZWJ2M2ZkUHQKVE83UDk5ZmZp
U01DQ0NDQUFBSVB0SUFYRWZBTVdGay9TaEJSOEJnMTlxck1pT1dac1JRODNEYnBSdlIxMDc4QXNp
R0F3TnNvb0wrVQpaalZ3KzMvMzhrZCs1RWRtVlNkdWVKSjZBN0xDUlZuWTcvTSs3L095cG1qTm10
bXBMSFNucVhUenZmZmVtelV0Yi9hejFKeWRWZEhJCldvZmp3dXQrdVA3eW5qWE5hdmxPL2N2OHVo
amVyVDdqNzlGc1dGbER0Mjc0L1RUMWJsYnZTbm1lWnBmS2FtalBHZ3BXWG12MTc2eloKc1c3NGpD
OW85ZTl5ai85TTZvZTQ2ZS8xekdjK00vdjMxQlMxNVRscXdNOGF6bFFXOHZOM1gvU3Njdkg4eC9X
LzM4M010cC94K2EzYwp0UTdJRGIvLzl2UFBldGF6eXUvby82N2JYZFB3WnEzdlVtN1Y5TUJaTTVD
VnhRYzFGWExXeXZIYlIrUmJ2WDg3azdmSDk5L25sK0VGCkFnZ2dnQUFDYjJlQnVoRGhFLzdYUy9L
UFBmT1YrVWVmK2FyODVQLzlxdndaVDNsRi9yLy8xeHZ6RTM0djV5Zi9WYzQvOFlLY2YrNWYKanNl
NkVHSG4zMlZOSTV3Z2dNQURKdURxUjEyZndkTzFqaG9VNlgrSjl6UzVyb1Q0ZFYzLzRtYlg2eS9u
ejNzbzBtTWU4eGlWUEk5ZApYYmY3akNzVS9oZjZKejd4aWZVeDkvdm9mcFdIUC96aDYzTXUrcjNX
TjI5emN2MnpibmI3N2Y2YzEzL3VJdmQ2ejJXL3M5NS8wZEhWCklzL1VkYlB0ZHUvZjdIT1h2ZjVB
UC8reXZ3ZjNJWUFBQWdoY0xRRXZDZkJaLzg5WmVNTFgvTGZ3WHg5eEZ0SWN3bjdwdzUrOGNCOGUK
L3JDSGhIc2VlcmYrNzJNSUQ3azdoTHNlcWw1UURhcjR3eWQ5WWZqVVQvM1V3Q3hZVit0L1Z2alQv
bjhvVU1PSGZ3V0hEVzkxalk2SApQbFQvbTduWmJuYTkzdUxQdi91N3YzdDlXWTYzKzR5SC9Iekda
M3pHZlQ1emYxOXN3NGVmZGRIdmRkbnZ1UDVaTi92YzdmNmMxMy91Ckl2ZDZ6Mlcvczk1LzBmRlc0
Y1AzMys3OWk1N1pjdTJCZm43TDc4SzlDQ0NBQUFKWFQwQ3RxTnJVMWFHaFZxNXFMSnFLZDlKd3JF
bWoKdXBWSnlqWDl1Mm5ZbC90OHI0WmpIUS84UkFDQi8rd0NuL1pwbi9hQS8yWDRQN3NoZno0RUVF
QUFBUVFRdUs5QXpyTjZRTFNJc2dkVgpMVjFacjJ4UkFIRVltUlE4WEJsSmJqR2xDZjIrY0x4QzRD
b0k4Qy9sVitHL01uOUdCQkJBQUFFRTNyRUNuU3NkU2hzNWQyRS94ekQ3CnRmWkoxOHE1QW9qRHlP
eHl5UG5HTEZoVmdpTUNDQ0NBQUFJSUlJQUFBZ2kwQ1Noc2VBYXNsTEo2VytlUU5QYnFvTExIZEpo
S01QRVEKTFZkQzlvZlRZd2tnSnd2T0VFQUFBUVFRUUFBQkJCQkFvRUhBVStFY1hBTFJFS3RKVlk1
Wko0dFdSVTg1NnJxR1h5bUFITTZySlBXeApCSkFxd1JFQkJCQkFBQUVFRUVBQUFRU2FCQmFOczNL
Z1NPNzdVQitJUTBqU0R5K1U3Rnppa1ZlK3BvTEl1dEdFdmxKd2dnQUNDQ0NBCkFBSUlJSUFBQWkw
Q1dtaE1rMkIxWWFjUFRXVVJRczF5cGRVSHh5R0cwWXNRYXVMUGEzcHpPVHM5bFFySXlZSXpCQkJB
QUFFRUVFQUEKQVFRUWFCRnd5TkRlcWRwUlZqL1h5VTdqc2tZRkV3Y1FMenpRNjczZEpuVnNUbHUr
aVhzUlFBQUJCQkJBQUFFRUVFRGdxZ3QwcW5SMApxb0JFcHhCdDQyNE0vZGlIWHEranhscTVRT0lx
aU1OSjNUYW45UkpIQkJCQUFBRUVFRUFBQVFRUVFPQVNBcTUrYUtKZFpSRHRVZTNuCnVleFJ4MEdW
RU9XUm9CRlpaYTlQb3dla1NuQkVBQUVFRUVBQUFRUVFRQUNCTm9HdVU3aHdCT21EaWlISHNLRnl4
NkRTUjY4QTRycUkKZzBqU1hqY3FJRldDSXdJSUlJQUFBZ2dnZ0FBQ0NEUUpaUFY4UkFVT1YwQTh6
TXJWRGxjL29xNTdWTmFvQ2tnNWJsTEg1clRwdTdnWgpBUVFRUUFBQkJCQkFBQUVFcnJxQUtoMHFn
SlJxUjFRS0dWVHU4Q3hZZzFKSHIvRGhzTkc1RXFKNzZrWUFxUkljRVVBQUFRUVFRQUFCCkJCQkFv
RWxBRTF3RkxRRlNWa012UVVUQlk5VFlLMWREb21mR1V2QVkxUFRoUnZTNkVVQ3FCRWNFRUVBQUFR
UVFRQUFCQkJCb0V0Q0UKVndvZjJ0WHRNU3VKVE5NU0pnVVBoeEpkMW5XdEQ2SkZDTlBoOUZnQ3lN
bUNNd1FRUUFBQkJCQkFBQUVFRUdnUjBITG5uYUxHUE05YQpDVjBybnp1QWxKWFFGVHpTY1FWMFh5
OUo1UHk1eklMVkFzeTlDQ0NBQUFJSUlJQUFBZ2dnc0FxNHVsRTZQVFRVeWpsajBWUzhreXNoCktu
L01ldTFyU1VGa1grN1RDMjBFa0tNRFB4RkFBQUVFRUVBQUFRUVFRS0JSSU9kWnc2MVVBWEdaWSts
VS9aakNvZ0RpNE9FS1NGSUsKU1I2TFJSTjZveXkzSTRBQUFnZ2dnQUFDQ0NDQXdBMENuU3NkU2hz
NWQyRS9SL1dCNkxWMjk0R1Vjd1VRaHhHTjBGbzNla0JXQ2s0UQpRQUFCQkJCQUFBRUVFRUNnU1VC
aEk2dmlrVkpXNVdNT1NXT3ZEaXA3VEllcEJCTVAwWElsWkU4VGVoTXJOeU9BQUFJSUlJQUFBZ2dn
CmdNQUZBbDdnL09BU2lJWllxZmRjZlI5dVNlOUR5bEhYTmZ4S0FlUndYaVdwSDZjQ1VpVTRJb0FB
QWdnZ2dBQUNDQ0NBUUpQQW9uRlcKRGhUSmZSL3FBM0VJU1dVV3JHTUZ4Q092ZkUwRmtYV2pDWDJs
NEFRQkJCQkFBQUVFRUVBQUFRUmFCTEpXUWc5YUFYMm5EMDFsRVVMTgpjcVhWQjhjaGh0R0xFR29C
d210NmN6azdQWlVLeU1tQ013UVFRQUFCQkJCQUFBRUVFR2dSY01qUTNta1VWbG45WENjN2pjc2FG
VXdjClFMd0FlcS8zZHB2VXNUbHQrU2J1UlFBQkJCQkFBQUVFRUVBQWdhc3UwS25TMGFrQ0VwMUN0
STI3TWZSYUhyM1g2Nml4Vmk2UXVBcmkKY0ZLM3pXbTl4QkVCQkJCQUFBRUVFRUFBQVFRUXVJU0Fx
eCthYUZjWlJIdFUrM2t1ZTlSeFVDVkVlU1JvUkZiWjY5UG9BYWtTSEJGQQpBQUVFRUVBQUFRUVFR
S0JOb09zVUxoeEIrcUJpeURGc3FOd3hxUFRSSzRDNEx1SWdrclRYalFwSWxlQ0lBQUlJSUlBQUFn
Z2dnQUFDClRRSlpQUjlSZ2NNVkVBK3pjclhEMVkrbzZ4NlZOYW9DVW82YjFMRTViZm91YmtZQUFR
UVFRQUFCQkJCQUFJR3JMcUJLaHdvZ3Bkb1IKbFVJR2xUczhDOWFnMU5FcmZEaHNkSzZFNko2NkVV
Q3FCRWNFRUVBQUFRUVFRQUFCQkJCb0V0QUVWMEZMZ0pUVjBFc1FVZkFZTmZiSwoxWkRvbWJFVVBB
WTFmYmdSdlc0RWtDckJFUUVFRUVBQUFRUVFRQUFCQkpvRU5PR1Z3b2QyZFh2TVNpTFR0SVJKd2NP
aFJKZDFYZXVECmFCSENkRGc5bGdCeXN1QU1BUVFRUUFBQkJCQkFBQUVFV2dSbVI0OGx6UE9zbGRC
RG1CMUF5a3JvQ2g3cHVBSzZyNWNrY3Y1Y1pzRnEKQWVaZUJCQkFBQUVFRUVBQUFRUVFXQVZjM1Np
ZEhocHE1Wnl4YUNyZXlaVVFsVDltdmZhMXBDQ3lML2ZwaFRZQ3lOR0Jud2dnZ0FBQwpDQ0NBQUFJ
SUlOQW9rUE9zNFZhcWdMak1zWFNxZmt4aFVRQng4SEFGSkNtRkpJL0ZvZ205VVpiYkVVQUFBUVFR
UUFBQkJCQkE0QWFCCnpwVU9wWTJjdTdDZm8vcEE5RnE3KzBES3VRS0l3NGhHYUswYlBTQXJCU2NJ
SUlBQUFnZ2dnQUFDQ0NEUUpLQ3drVlh4U0NtcjhqR0gKcExGWEI1VTlwc05VZ29tSGFMa1NzcWNK
dlltVm14RkFBQUVFRUVBQUFRUVFRT0FDQVM5d2ZuQUpSRU9zMUh1dXZnKzNwUGNoNWFqcgpHbjZs
QUhJNHI1TFVqMU1CcVJJY0VVQUFBUVFRUUFBQkJCQkFvRWxnMFRnckI0cmt2Zy8xZ1RpRXBESUwx
ckVDNHBGWHZxYUN5THJSCmhMNVNjSUlBQWdnZ2dBQUNDQ0NBQUFJdEFsa3JvUWV0Z0w3VGg2YXlD
S0ZtdWRMcWcrTVF3K2hGQ0xVQTRUVzl1WnlkbmtvRjVHVEIKR1FJSUlJQUFBZ2dnZ0FBQ0NMUUlP
R1JvN3pRS3E2eCtycE9keG1XTkNpWU9JRjRBdmRkN3UwM3EySnkyZkJQM0lvQUFBZ2dnZ0FBQwpD
Q0NBd0ZVWDZGVHA2RlFCaVU0aDJzYmRHSG90ajk3cmRkUllLeGRJWEFWeE9LbmI1clJlNG9nQUFn
Z2dnQUFDQ0NDQUFBSUlYRUxBCjFROU50S3NNb2oycS9UeVhQZW80cUJLaVBCSTBJcXZzOVduMGdG
UUpqZ2dnZ0FBQ0NDQ0FBQUlJSU5BbTBIVUtGNDRnZlZBeDVCZzIKVk80WVZQcm9GVUJjRjNFUVNk
cnJSZ1drU25CRUFBRUVFRUFBQVFRUVFBQ0JKb0dzbm8rb3dPRUtpSWRadWRyaDZrZlVkWS9LR2xV
QgpLY2RONnRpY05uMFhOeU9BQUFJSUlJQUFBZ2dnZ01CVkYxQ2xRd1dRVXUySVNpR0R5aDJlQld0
UTZ1Z1ZQaHcyT2xkQ2RFL2RDQ0JWCmdpTUNDQ0NBQUFJSUlJQUFBZ2cwQ1dpQ3E2QWxRTXBxNkNX
SUtIaU1HbnZsYWtqMHpGZ0tIb09hUHR5SVhqY0NTSlhnaUFBQ0NDQ0EKQUFJSUlJQUFBazBDbXZC
SzRVTzd1ajFtSlpGcFdzS2s0T0ZRb3N1NnJ2VkJ0QWhoT3B3ZVN3QTVXWENHQUFJSUlJQUFBZ2dn
Z0FBQwpMUUt6bzhjUzVubldTdWdoekE0Z1pTVjBCWTkwWEFIZDEwc1NPWDh1czJDMUFITXZBZ2dn
Z0FBQ0NDQ0FBQUlJckFLdWJwUk9EdzIxCmNzNVlOQlh2NUVxSXloK3pYdnRhVWhEWmwvdjBRaHNC
NU9qQVR3UVFRQUFCQkJCQUFBRUVFR2dVeUhuV2NDdFZRRnptV0RwVlA2YXcKS0lBNGVMZ0NrcFJD
a3NkaTBZVGVLTXZ0Q0NDQUFBSUlJSUFBQWdnZ2NJTkE1MHFIMGtiT1hkalBVWDBnZXEzZGZTRGxY
QUhFWVVRagp0TmFOSHBDVmdoTUVFRUFBQVFRUVFBQUJCQkJvRWxEWXlLcDRwSlJWK1poRDB0aXJn
OG9lMDJFcXdjUkR0RndKMmRPRTNzVEt6UWdnCmdBQUNDQ0NBQUFJSUlIQ0JnQmM0UDdnRW9pRlc2
ajFYMzRkYjB2dVFjdFIxRGI5U0FEbWNWMG5xeDZtQVZBbU9DQ0NBQUFJSUlJQUEKQWdnZzBDU3dh
SnlWQTBWeTM0ZjZRQnhDVXBrRjYxZ0I4Y2dyWDFOQlpOMW9RbDhwT0VFQUFRUVFRQUFCQkJCQUFJ
RVdnYXlWMElOVwpRTi9wUTFOWmhGQ3pYR24xd1hHSVlmUWloRnFBOEpyZVhNNU9UNlVDY3JMZ0RB
RUVFRUFBQVFRUVFBQUJCRm9FSERLMGR4cUZWVlkvCjE4bE80N0pHQlJNSEVDK0EzdXU5M1NaMWJF
NWJ2b2w3RVVBQUFRUVFRQUFCQkJCQTRLb0xkS3AwZEtxQVJLY1FiZU51REwyV1IrLzEKT21xc2xR
c2tyb0k0bk5SdGMxb3ZjVVFBQVFRUVFBQUJCQkJBQUFFRUxpSGc2b2NtMmxVRzBSN1ZmcDdMSG5V
Y1ZBbFJIZ2tha1ZYMgoralI2UUtvRVJ3UVFRQUFCQkJCQUFBRUVFR2dUNkRxRkMwZVFQcWdZY2d3
YktuY01LbjMwQ2lDdWl6aUlKTzExb3dKU0pUZ2lnQUFDCkNDQ0FBQUlJSUlCQWswQld6MGRVNEhB
RnhNT3NYTzF3OVNQcXVrZGxqYXFBbE9NbWRXeE9tNzZMbXhGQUFBRUVFRUFBQVFRUVFPQ3EKQzZq
U29RSklxWFpFcFpCQjVRN1BnalVvZGZRS0h3NGJuU3NodXFkdUJKQXF3UkVCQkJCQUFBRUVFRUFB
QVFTYUJEVEJWZEFTSUdVMQo5QkpFRkR4R2piMXlOU1I2Wml3RmowRk5IMjVFcnhzQnBFcHdSQUFC
QkJCQUFBRUVFRUFBZ1NZQlRYaWw4S0ZkM1I2emtzZzBMV0ZTCjhIQW8wV1ZkMS9vZ1dvUXdIVTZQ
SllDY0xEaERBQUVFRUVBQUFRUVFRQUNCRm9IWjBXTUo4enhySmZRUVpnZVFzaEs2Z2tjNnJvRHUK
NnlXSm5EK1hXYkJhZ0xrWEFRUVFRQUFCQkJCQUFBRUVWZ0ZYTjBxbmg0WmFPV2NzbW9wM2NpVkU1
WTlacjMwdEtZanN5MzE2b1kwQQpjblRnSndJSUlJQUFBZ2dnZ0FBQ0NEUUs1RHhydUpVcUlDNXpM
SjJxSDFOWUZFQWNQRndCU1VvaHlXT3hhRUp2bE9WMkJCQkFBQUVFCkVFQUFBUVFRdUVHZ2M2VkRh
U1BuTHV6bnFENFF2ZGJ1UHBCeXJnRGlNS0lSV3V0R0Q4aEt3UWtDQ0NDQUFBSUlJSUFBQWdnMENT
aHMKWkZVOFVzcXFmTXdoYWV6VlFXV1A2VENWWU9JaFdxNkU3R2xDYjJMbFpnUVFRQUFCQkJCQUFB
RUVFTGhBd0F1Y0gxd0MwUkFyOVo2cgo3OE10NlgxSU9lcTZobDhwZ0J6T3F5VDE0MVJBcWdSSEJC
QkFBQUVFRUVBQUFRUVFhQkpZTk03S2dTSzU3ME45SUE0aHFjeUNkYXlBCmVPU1ZyNmtnc200MG9h
OFVuQ0NBQUFJSUlJQUFBZ2dnZ0VDTFFOWks2RUVyb08vMG9ha3NRcWhacnJUNjREakVNSG9SUWkx
QWVFMXYKTG1lbnAxSUJPVmx3aGdBQ0NDQ0FBQUlJSUlBQUFpMENEaG5hTzQzQ0txdWY2MlNuY1Zt
amdva0RpQmRBNy9YZWJwTTZOcWN0MzhTOQpDQ0NBQUFJSUlJQUFBZ2dnY05VRk9sVTZPbFZBb2xP
SXRuRTNobDdMby9kNkhUWFd5Z1VTVjBFY1R1cTJPYTJYT0NLQUFBSUlJSUFBCkFnZ2dnQUFDbHhC
dzlVTVQ3U3FEYUk5cVA4OWxqem9PcW9Rb2p3U055Q3A3ZlJvOUlGV0NJd0lJSUlBQUFnZ2dnQUFD
Q0xRSmRKM0MKaFNOSUgxUU1PWVlObFRzR2xUNTZCUkRYUlJ4RWt2YTZVUUdwRWh3UlFBQUJCQkJB
QUFFRUVFQ2dTU0NyNXlNcWNMZ0M0bUZXcm5hNAoraEYxM2FPeVJsVkF5bkdUT2phblRkL0Z6UWdn
Z0FBQ0NDQ0FBQUlJSUhEVkJWVHBVQUdrVkR1aVVzaWdjb2Rud1JxVU9ucUZENGVOCnpwVVEzVk0z
QWtpVjRJZ0FBZ2dnZ0FBQ0NDQ0FBQUpOQXByZ0ttZ0prTElhZWdraUNoNmp4bDY1R2hJOU01YUN4
NkNtRHplaTE0MEEKVWlVNElvQUFBZ2dnZ0FBQ0NDQ0FRSk9BSnJ4UytOQ3VibzlaU1dTYWxqQXBl
RGlVNkxLdWEzMFFMVUtZRHFmSEVrQk9GcHdoZ0FBQwpDQ0NBQUFJSUlJQkFpOERzNkxHRWVaNjFF
bm9Jc3dOSVdRbGR3U01kVjBEMzlaSkV6cC9MTEZndHdOeUxBQUlJSUlBQUFnZ2dnQUFDCnE0Q3JH
NlhUUTBPdDdBNTRYUUFBSUFCSlJFRlVuRE1XVGNVN3VSS2k4c2VzMTc2V0ZFVDI1VDY5MEVZQU9U
cndFd0VFRUVBQUFRUVEKUUFBQkJCb0ZjcDQxM0VvVkVKYzVsazdWanlrc0NpQU9IcTZBSktXUTVM
RllOS0UzeW5JN0FnZ2dnQUFDQ0NDQUFBSUkzQ0RRdWRLaAp0SkZ6Ri9aelZCK0lYbXQzSDBnNVZ3
QnhHTkVJclhXakIyU2w0QVFCQkJCQUFBRUVFRUFBQVFTYUJCUTJzaW9lS1dWVlB1YVFOUGJxCm9M
TEhkSmhLTVBFUUxWZEM5alNoTjdGeU13SUlJSUFBQWdnZ2dBQUNDRndnNEFYT0R5NkJhSWlWZXMv
VjkrR1c5RDZrSEhWZHc2OFUKUUE3blZaTDZjU29nVllJakFnZ2dnQUFDQ0NDQUFBSUlOQWtzR21m
bFFKSGM5NkUrRUllUVZHYkJPbFpBUFBMSzExUVFXVGVhMEZjSwpUaEJBQUFFRUVFQUFBUVFRUUtC
RklHc2w5S0FWMEhmNjBGUVdJZFFzVjFwOWNCeGlHTDBJb1JZZ3ZLWTNsN1BUVTZtQW5DdzRRd0FC
CkJCQkFBQUVFRUVBQWdSWUJod3p0blVaaGxkWFBkYkxUdUt4UndjUUJ4QXVnOTNwdnQwa2RtOU9X
YitKZUJCQkFBQUVFRUVBQUFRUVEKdU9vQ25Tb2RuU29nMFNsRTI3Z2JRNi9sMFh1OWpocHI1UUtK
cXlBT0ozWGJuTlpMSEJGQUFBRUVFRUFBQVFRUVFBQ0JTd2k0K3FHSgpkcFZCdEVlMW4rZXlSeDBI
VlVLVVI0SkdaSlc5UG8wZWtDckJFUUVFRUVBQUFRUVFRQUFCQk5vRXVrN2h3aEdrRHlxR0hNT0d5
aDJEClNoKzlBb2pySWc0aVNYdmRxSUJVQ1k0SUlJQUFBZ2dnZ0FBQ0NDRFFKSkRWOHhFVk9Gd0I4
VEFyVnp0Yy9ZaTY3bEZab3lvZzViaEoKSFp2VHB1L2laZ1FRUUFBQkJCQkFBQUVFRUxqcUFxcDBx
QUJTcWgxUktXUlF1Y096WUExS0hiM0NoOE5HNTBxSTdxa2JBYVJLY0VRQQpBUVFRUUFBQkJCQkFB
SUVtQVUxd0ZiUUVTRmtOdlFRUkJZOVJZNjljRFltZUdVdkJZMURUaHh2UjYwWUFxUkljRVVBQUFR
UVFRQUFCCkJCQkFvRWxBRTE0cGZHaFh0OGVzSkRKTlM1Z1VQQnhLZEZuWHRUNklGaUZNaDlOakNT
QW5DODRRUUFBQkJCQkFBQUVFRUVDZ1JXQjIKOUZqQ1BNOWFDVDJFMlFHa3JJU3U0SkdPSzZEN2Vr
a2k1ODlsRnF3V1lPNUZBQUVFRUVBQUFRUVFRQUNCVmNEVmpkTHBvYUZXemhtTApwdUtkWEFsUitX
UFdhMTlMQ2lMN2NwOWVhQ09BSEIzNGlRQUNDQ0NBQUFJSUlJQUFBbzBDT2M4YWJxVUtpTXNjUzZm
cXh4UVdCUkFICkQxZEFrbEpJOGxnc210QWJaYmtkQVFRUVFBQUJCQkJBQUFFRWJoRG9YT2xRMnNp
NUMvczVxZzlFcjdXN0Q2U2NLNEE0akdpRTFyclIKQTdKU2NJSUFBZ2dnZ0FBQ0NDQ0FBQUpOQWdv
YldSV1BsTElxSDNOSUdudDFVTmxqT2t3bG1IaUlsaXNoZTVyUW0xaTVHUUVFRUVBQQpBUVFRUUFB
QkJDNFE4QUxuQjVkQU5NUkt2ZWZxKzNCTGVoOVNqcnF1NFZjS0lJZnpLa245T0JXUUtzRVJBUVFR
UUFBQkJCQkFBQUVFCm1nUVdqYk55b0VqdSsxQWZpRU5JS3JOZ0hTc2dIbm5sYXlxSXJCdE42Q3NG
SndnZ2dBQUNDQ0NBQUFJSUlOQWlrTFVTZXRBSzZEdDkKYUNxTEVHcVdLNjArT0E0eGpGNkVVQXNR
WHRPYnk5bnBxVlJBVGhhY0lZQUFBZ2dnZ0FBQ0NDQ0FRSXVBUTRiMlRxT3d5dXJuT3RscApYTmFv
WU9JQTRnWFFlNzIzMjZTT3pXbkxOM0V2QWdnZ2dBQUNDQ0NBQUFJSVhIV0JUcFdPVGhXUTZCU2li
ZHlOb2RmeTZMMWVSNDIxCmNvSEVWUkNIazdwdFR1c2xqZ2dnZ0FBQ0NDQ0FBQUlJSUlEQUpRUmMv
ZEJFdThvZzJxUGF6M1BabzQ2REtpSEtJMEVqc3NwZW4wWVAKU0pYZ2lBQUNDQ0NBQUFJSUlJQUFB
bTBDWGFkdzRRalNCeFZEam1GRDVZNUJwWTllQWNSMUVRZVJwTDF1VkVDcUJFY0VFRUFBQVFRUQpR
QUFCQkJCb0VzanErWWdLSEs2QWVKaVZxeDJ1ZmtSZDk2aXNVUldRY3R5a2pzMXAwM2R4TXdJSUlJ
QUFBZ2dnZ0FBQ0NGeDFBVlU2ClZBQXAxWTZvRkRLbzNPRlpzQWFsamw3aHcyR2pjeVZFOTlTTkFG
SWxPQ0tBQUFJSUlJQUFBZ2dnZ0VDVGdDYTRDbG9DcEt5R1hvS0kKZ3Nlb3NWZXVoa1RQaktYZ01h
anB3NDNvZFNPQVZBbU9DQ0NBQUFJSUlJQUFBZ2dnMENTZ0NhOFVQclNyMjJOV0VwbW1KVXdLSGc0
bAp1cXpyV2g5RWl4Q213K214QkpDVEJXY0lJSUFBQWdnZ2dBQUNDQ0RRSWpBN2VpeGhubWV0aEI3
QzdBQlNWa0pYOEVqSEZkQjl2U1NSCjgrY3lDMVlMTVBjaWdBQUNDQ0NBQUFJSUlJREFLdURxUnVu
MDBGQXI1NHhGVS9GT3JvU28vREhydGE4bEJaRjl1VTh2dEJGQWpnNzgKUkFBQkJCQkFBQUVFRUVB
QWdVYUJuR2NOdDFJRnhHV09wVlAxWXdxTEFvaURoeXNnU1Nra2VTd1dUZWlOc3R5T0FBSUlJSUFB
QWdnZwpnQUFDTndoMHJuUW9iZVRjaGYwYzFRZWkxOXJkQjFMT0ZVQWNSalJDYTkzb0FWa3BPRUVB
QVFRUVFBQUJCQkJBQUlFbUFZV05ySXBIClNsbVZqemtramIwNnFPd3hIYVlTVER4RXk1V1FQVTNv
VGF6Y2pBQUNDQ0NBQUFJSUlJQUFBaGNJZUlIemcwc2dHbUtsM25QMWZiZ2wKdlE4cFIxM1g4Q3NG
a01ONWxhUituQXBJbGVDSUFBSUlJSUFBQWdnZ2dBQUNUUUtMeGxrNVVDVDNmYWdQeENFa2xWbXdq
aFVRajd6eQpOUlZFMW8wbTlKV0NFd1FRUUFBQkJCQkFBQUVFRUdnUnlGb0pQV2dGOUowK05KVkZD
RFhMbFZZZkhJY1lSaTlDcUFVSXIrbk41ZXowClZDb2dKd3ZPRUVBQUFRUVFRQUFCQkJCQW9FWEFJ
VU43cDFGWVpmVnpuZXcwTG10VU1IRUE4UUxvdmQ3YmJWTEg1clRsbTdnWEFRUVEKUUFBQkJCQkFB
QUVFcnJwQXAwcEhwd3BJZEFyUk51N0cwR3Q1OUY2dm84WmF1VURpS29qRFNkMDJwL1VTUndRUVFB
QUJCQkJBQUFFRQpFRURnRWdLdWZtaWlYV1VRN1ZIdDU3bnNVY2RCbFJEbGthQVJXV1d2VDZNSHBF
cHdSQUFCQkJCQUFBRUVFRUFBZ1RhQnJsTzRjQVRwCmc0b2h4N0NoY3NlZzBrZXZBT0s2aUlOSTBs
NDNLaUJWZ2lNQ0NDQ0FBQUlJSUlBQUFnZzBDV1QxZkVRRkRsZEFQTXpLMVE1WFA2S3UKZTFUV3FB
cElPVzVTeCthMDZidTRHUUVFRUVBQUFRUVFRQUFCQks2NmdDb2RLb0NVYWtkVUNobFU3dkFzV0lO
U1I2L3c0YkRSdVJLaQplK3BHQUtrU0hCRkFBQUVFRUVBQUFRUVFRS0JKUUJOY0JTMEJVbFpETDBG
RXdXUFUyQ3RYUTZKbnhsTHdHTlQwNFViMHVoRkFxZ1JICkJCQkFBQUVFRUVBQUFRUVFhQkxRaEZj
S0g5clY3VEVyaVV6VEVpWUZENGNTWGRaMXJRK2lSUWpUNGZSWUFzakpnak1FRUVBQUFRUVEKUUFB
QkJCQm9FWmdkUFpZd3o3TldRZzloZGdBcEs2RXJlS1RqQ3VpK1hwTEkrWE9aQmFzRm1Ic1JRQUFC
QkJCQUFBRUVFRUJnRlhCMQpvM1I2YUtpVmM4YWlxWGduVjBKVS9wajEydGVTZ3NpKzNLY1gyZ2dn
UndkK0lvQUFBZ2dnZ0FBQ0NDQ0FRS05BenJPR1c2a0M0akxICjBxbjZNWVZGQWNUQnd4V1FwQlNT
UEJhTEp2UkdXVzVIQUFFRUVFQUFBUVFRUUFDQkd3UTZWenFVTm5MdXduNk82Z1BSYSszdUF5bm4K
Q2lBT0l4cWh0VzcwZ0t3VW5DQ0FBQUlJSUlBQUFnZ2dnRUNUZ01KR1ZzVWpwYXpLeHh5U3hsNGRW
UGFZRGxNSkpoNmk1VXJJbmliMApKbFp1UmdBQkJCQkFBQUVFRUVBQWdRc0V2TUQ1d1NVUURiRlM3
N242UHR5UzNvZVVvNjVyK0pVQ3lPRzhTbEkvVGdXa1NuQkVBQUVFCkVFQUFBUVFRUUFDQkpvRkY0
NndjS0pMN1B0UUg0aENTeWl4WXh3cUlSMTc1bWdvaTYwWVQra3JCQ1FJSUlJQUFBZ2dnZ0FBQ0NM
UUkKWksyRUhyUUMrazRmbXNvaWhKcmxTcXNQamtNTW94Y2gxQUtFMS9UbWNuWjZLaFdRa3dWbkND
Q0FBQUlJSUlBQUFnZ2cwQ0xna0tHOQoweWlzc3ZxNVRuWWFselVxbURpQWVBSDBYdS90TnFsamM5
cnlUZHlMQUFJSUlJQUFBZ2dnZ0FBQ1YxMmdVNldqVXdVa09vVm9HM2RqCjZMVThlcS9YVVdPdFhD
QnhGY1RocEc2YjAzcUpJd0lJSUlBQUFnZ2dnQUFDQ0NCd0NRRlhQelRScmpLSTlxajI4MXoycU9P
Z1NvankKU05DSXJMTFhwOUVEVWlVNElvQUFBZ2dnZ0FBQ0NDQ0FRSnRBMXlsY09JTDBRY1dRWTlo
UXVXTlE2YU5YQUhGZHhFRWthYThiRlpBcQp3UkVCQkJCQUFBRUVFRUFBQVFTYUJMSjZQcUlDaHlz
Z0htYmxhb2VySDFIWFBTcHJWQVdrSERlcFkzUGE5RjNjakFBQ0NDQ0FBQUlJCklJQUFBbGRkUUpV
T0ZVQkt0U01xaFF3cWQzZ1dyRUdwbzFmNGNOam9YQW5SUFhVamdGUUpqZ2dnZ0FBQ0NDQ0FBQUlJ
SU5Ba29BbXUKZ3BZQUthdWhseUNpNERGcTdKV3JJZEV6WXlsNERHcjZjQ042M1FnZ1ZZSWpBZ2dn
Z0FBQ0NDQ0FBQUlJTkFsb3dpdUZEKzNxOXBpVgpSS1pwQ1pPQ2gwT0pMdXU2MWdmUklvVHBjSG9z
QWVSa3dSa0NDQ0NBQUFJSUlJQUFBZ2kwQ015T0hrdVk1MWtyb1ljd080Q1VsZEFWClBOSnhCWFJm
TDBuay9Mbk1ndFVDekwwSUlJQUFBZ2dnZ0FBQ0NDQ3dDcmk2VVRvOU5OVEtPV1BSVkx5VEt5RXFm
OHg2N1d0SlFXUmYKN3RNTGJRU1Fvd00vRVVBQUFRUVFRQUFCQkJCQW9GRWc1MW5EclZRQmNabGo2
VlQ5bU1LaUFPTGc0UXBJVWdwSkhvdEZFM3FqTExjagpnQUFDQ0NDQUFBSUlJSURBRFFLZEt4MUtH
emwzWVQ5SDlZSG90WGIzZ1pSekJSQ0hFWTNRV2pkNlFGWUtUaEJBQUFFRUVFQUFBUVFRClFLQkpR
R0VqcStLUlVsYmxZdzVKWTY4T0tudE1oNmtFRXcvUmNpVmtUeE42RXlzM0k0QUFBZ2dnZ0FBQ0ND
Q0F3QVVDWHVEODRCS0kKaGxpcDkxeDlIMjVKNzBQS1VkYzEvRW9CNUhCZUpha2Zwd0pTSlRnaWdB
QUNDQ0NBQUFJSUlJQkFrOENpY1ZZT0ZNbDlIK29EY1FoSgpaUmFzWXdYRUk2OThUUVdSZGFNSmZh
WGdCQUVFRUVBQUFRUVFRQUFCQkZvRXNsWkNEMW9CZmFjUFRXVVJRczF5cGRVSHh5R0cwWXNRCmFn
SENhM3B6T1RzOWxRckl5WUl6QkJCQUFBRUVFRUFBQVFRUWFCRnd5TkRlYVJSV1dmMWNKenVOeXhv
VlRCeEF2QUI2ci9kMm05U3gKT1czNUp1NUZBQUVFRUVBQUFRUVFRQUNCcXk3UXFkTFJxUUlTblVL
MGpic3g5Rm9ldmRmcnFMRldMcEM0Q3VKd1VyZk5hYjNFRVFFRQpFRUFBQVFRUVFBQUJCQkM0aElD
ckg1cG9WeGxFZTFUN2VTNTcxSEZRSlVSNUpHaEVWdG5yMCtnQnFSSWNFVUFBQVFRUVFBQUJCQkJB
Cm9FMmc2eFF1SEVINm9HTElNV3lvM0RHbzlORXJnTGd1NGlDU3ROZU5Da2lWNElnQUFnZ2dnQUFD
Q0NDQUFBSk5BbGs5SDFHQnd4VVEKRDdOeXRjUFZqNmpySHBVMXFnSlNqcHZVc1RsdCtpNXVSZ0FC
QkJCQUFBRUVFRUFBZ2FzdW9FcUhDaUNsMmhHVlFnYVZPendMMXFEVQowU3Q4T0d4MHJvVG9ucm9S
UUtvRVJ3UVFRQUFCQkJCQUFBRUVFR2dTMEFSWFFVdUFsTlhRU3hCUjhCZzE5c3JWa09pWnNSUThC
alY5CnVCRzliZ1NRS3NFUkFRUVFRQUFCQkJCQUFBRUVtZ1EwNFpYQ2gzWjFlOHhLSXRPMGhFbkJ3
NkZFbDNWZDY0Tm9FY0owT0QyV0FIS3kKNEF3QkJCQkFBQUVFRUVBQUFRUmFCR1pIanlYTTg2eVYw
RU9ZSFVES1N1Z0tIdW00QXJxdmx5UnkvbHhtd1dvQjVsNEVFRUFBQVFRUQpRQUFCQkJCWUJWemRL
SjBlR21ybG5MRm9LdDdKbFJDVlAyYTk5cldrSUxJdjkrbUZOZ0xJMFlHZkNDQ0FBQUlJSUlBQUFn
Z2cwQ2lRCjg2emhWcXFBdU15eGRLcCtUR0ZSQUhId2NBVWtLWVVrajhXaUNiMVJsdHNSUUFBQkJC
QkFBQUVFRUVEZ0JvSE9sUTZsalp5N3NKK2oKK2tEMFdydjdRTXE1QW9qRGlFWm9yUnM5SUNzRkp3
Z2dnQUFDQ0NDQUFBSUlJTkFrb0xDUlZmRklLYXZ5TVlla3NWY0hsVDJtdzFTQwppWWRvdVJLeXB3
bTlpWldiRVVBQUFRUVFRQUFCQkJCQTRBSUJMM0IrY0FsRVE2elVlNjYrRDdlazl5SGxxT3NhZnFV
QWNqaXZrdFNQClV3R3BFaHdSUUFBQkJCQkFBQUVFRUVDZ1NXRFJPQ3NIaXVTK0QvV0JPSVNrTWd2
V3NRTGlrVmUrcG9MSXV0R0V2bEp3Z2dBQ0NDQ0EKQUFJSUlJQUFBaTBDV1N1aEI2MkF2dE9IcHJJ
SW9XYTUwdXFENHhERDZFVUl0UURoTmIyNW5KMmVTZ1hrWk1FWkFnZ2dnQUFDQ0NDQQpBQUlJdEFn
NFpHanZOQXFyckg2dWs1M0daWTBLSmc0Z1hnQzkxM3U3VGVyWW5MWjhFL2NpZ0FBQ0NDQ0FBQUlJ
SUlEQVZSZm9WT25vClZBR0pUaUhheHQwWWVpMlAzdXQxMUZnckYwaGNCWEU0cWR2bXRGN2lpQUFD
Q0NDQUFBSUlJSUFBQWdoY1FzRFZEMDIwcXd5aVBhcjkKUEpjOTZqaW9FcUk4RWpRaXErejFhZlNB
VkFtT0NDQ0FBQUlJSUlBQUFnZ2cwQ2JRZFFvWGppQjlVREhrR0RaVTdoaFUrdWdWUUZ3WApjUkJK
MnV0R0JhUktjRVFBQVFRUVFBQUJCQkJBQUlFbWdheWVqNmpBNFFxSWgxbTUydUhxUjlSMWo4b2FW
UUVweDAzcTJKdzJmUmMzCkk0QUFBZ2dnZ0FBQ0NDQ0F3RlVYVUtWREJaQlM3WWhLSVlQS0haNEZh
MURxNkJVK0hEWTZWMEowVDkwSUlGV0NJd0lJSUlBQUFnZ2cKZ0FBQ0NEUUphSUtyb0NWQXltcm9K
WWdvZUl3YWUrVnFTUFRNV0FvZWc1byszSWhlTndKSWxlQ0lBQUlJSUlBQUFnZ2dnQUFDVFFLYQo4
RXJoUTd1NlBXWWxrV2xhd3FUZzRWQ2l5N3F1OVVHMENHRTZuQjVMQURsWmNJWUFBZ2dnZ0FBQ0ND
Q0FBQUl0QXJPanh4TG1lZFpLCjZDSE1EaUJsSlhRRmozUmNBZDNYU3hJNWZ5NnpZTFVBY3k4Q0ND
Q0FBQUlJSUlBQUFnaXNBcTV1bEU0UERiVnl6bGcwRmUva1NvaksKSDdOZSsxcFNFTm1YKy9SQ0d3
SGs2TUJQQkJCQUFBRUVFRUFBQVFRUWFCVEllZFp3SzFWQVhPWllPbFUvcHJBb2dEaDR1QUtTbEVL
Uwp4MkxSaE40b3krMElJSUFBQWdnZ2dBQUNDQ0J3ZzBEblNvZlNSczVkMk05UmZTQjZyZDE5SU9W
Y0FjUmhSQ08wMW8wZWtKV0NFd1FRClFBQUJCQkJBQUFFRUVHZ1NVTmpJcW5pa2xGWDVtRVBTMkt1
RHloN1RZU3JCeEVPMFhBblowNFRleE1yTkNDQ0FBQUlJSUlBQUFnZ2cKY0lHQUZ6Zy91QVNpSVZi
cVBWZmZoMXZTKzVCeTFIVU52MUlBT1p4WFNlckhxWUJVQ1k0SUlJQUFBZ2dnZ0FBQ0NDRFFKTEJv
bkpVRApSWExmaC9wQUhFSlNtUVhyV0FIeHlDdGZVMEZrM1doQ1h5azRRUUFCQkJCQUFBRUVFRUFB
Z1JhQnJKWFFnMVpBMytsRFUxbUVVTE5jCmFmWEJjWWhoOUNLRVdvRHdtdDVjems1UHBRSnlzdUFN
QVFRUVFBQUJCQkJBQUFFRVdnUWNNclIzR29WVlZqL1h5VTdqc2tZRkV3Y1EKTDREZTY3M2RKblZz
VGx1K2lYc1JRQUFCQkJCQUFBRUVFRURncWd0MHFuUjBxb0JFcHhCdDQyNE12WlpINy9VNmFxeVZD
eVN1Z2ppYwoxRzF6V2k5eFJBQUJCQkJBQUFFRUVFQUFBUVF1SWVEcWh5YmFWUWJSSHRWK25zc2Vk
UnhVQ1ZFZUNScVJWZmI2TkhwQXFnUkhCQkJBCkFBRUVFRUFBQVFRUWFCUG9Pb1VMUjVBK3FCaHlE
QnNxZHd3cWZmUUtJSzZMT0lnazdYV2pBbElsT0NLQUFBSUlJSUFBQWdnZ2dFQ1QKUUZiUFIxVGdj
QVhFdzZ4YzdYRDFJK3E2UjJXTnFvQ1U0eVoxYkU2YnZvdWJFVUFBQVFRUVFBQUJCQkJBNEtvTHFO
S2hBa2lwZGtTbAprRUhsRHMrQ05TaDE5QW9mRGh1ZEt5RzZwMjRFa0NyQkVRRUVFRUFBQVFRUVFB
QUJCSm9FTk1GVjBCSWdaVFgwRWtRVVBFYU52WEkxCkpIcG1MQVdQUVUwZmJrU3ZHd0drU25CRUFB
RUVFRUFBQVFRUVFBQ0JKZ0ZOZUtYd29WM2RIck9TeURRdFlWTHdjQ2pSWlYzWCtpQmEKaERBZFRv
OGxnSndzT0VNQUFRUVFRQUFCQkJCQUFJRVdnZG5SWXduelBHc2w5QkJtQjVDeUVycUNSenF1Z083
ckpZbWNQNWRac0ZxQQp1UmNCQkJCQUFBRUVFRUFBQVFSV0FWYzNTcWVIaGxvNVp5eWFpbmR5SlVU
bGoxbXZmUzBwaU96TGZYcWhqUUJ5ZE9BbkFnZ2dnQUFDCkNDQ0FBQUlJTkFya1BHdTRsU29nTG5N
c25hb2ZVMWdVUUJ3OFhBRkpTaUhKWTdGb1FtK1U1WFlFRUVBQUFRUVFRQUFCQkJDNFFhQnoKcFVO
cEkrY3U3T2VvUGhDOTF1NCtrSEt1QU9Jd29oRmE2MFlQeUVyQkNRSUlJSUFBQWdnZ2dBQUNDRFFK
S0d4a1ZUeFN5cXA4ekNGcAo3TlZCWlkvcE1KVmc0aUZhcm9Uc2FVSnZZdVZtQkJCQUFBRUVFRUFB
QVFRUXVFREFDNXdmWEFMUkVDdjFucXZ2d3kzcGZVZzU2cnFHClh5bUFITTZySlBYalZFQ3FCRWNF
RUVBQUFRUVFRQUFCQkJCb0VsZzB6c3FCSXJudlEzMGdEaUdweklKMXJJQjQ1Sld2cVNDeWJqU2gK
cnhTY0lJQUFBZ2dnZ0FBQ0NDQ0FRSXRBMWtyb1FTdWc3L1NocVN4Q3FGbXV0UHJnT01Rd2VoRkNM
VUI0VFc4dVo2ZW5VZ0U1V1hDRwpBQUlJSUlBQUFnZ2dnQUFDTFFJT0dkbzdqY0lxcTUvclpLZHhX
YU9DaVFPSUYwRHY5ZDV1a3pvMnB5M2Z4TDBJSUlBQUFnZ2dnQUFDCkNDQncxUVU2VlRvNlZVQ2lV
NGkyY1RlR1hzdWo5M29kTmRiS0JSSlhRUnhPNnJZNXJaYzRJb0FBQWdnZ2dBQUNDQ0NBQUFLWEVI
RDEKUXhQdEtvTm9qMm8vejJXUE9nNnFoQ2lQQkkzSUtudDlHajBnVllJakFnZ2dnQUFDQ0NDQUFB
SUl0QWwwbmNLRkkwZ2ZWQXc1aGcyVgpPd2FWUG5vRkVOZEZIRVNTOXJwUkFha1NIQkZBQUFFRUVF
QUFBUVFRUUtCSklLdm5JeXB3dUFMaVlWYXVkcmo2RVhYZG83SkdWVURLCmNaTTZOcWROMzhYTkND
Q0FBQUlJSUlBQUFnZ2djTlVGVk9sUUFhUlVPNkpTeUtCeWgyZkJHcFE2ZW9VUGg0M09sUkRkVXpj
Q1NKWGcKaUFBQ0NDQ0FBQUlJSUlBQUFrMENtdUFxYUFtUXNocDZDU0lLSHFQR1hya2FFajB6bG9M
SG9LWVBONkxYalFCU0pUZ2lnQUFDQ0NDQQpBQUlJSUlCQWs0QW12Rkw0MEs1dWoxbEpaSnFXTUNs
NE9KVG9zcTVyZlJBdFFwZ09wOGNTUUU0V25DR0FBQUlJSUlBQUFnZ2dnRUNMCndPem9zWVI1bnJV
U2VnaXpBMGhaQ1YzQkl4MVhRUGYxa2tUT244c3NXQzNBM0lzQUFnZ2dnQUFDQ0NDQUFBS3JnS3Ni
cGRORFE2MmMKTXhaTnhUdTVFcUx5eDZ6WHZwWVVSUGJsUHIzUVJnQTVPdkFUQVFRUVFBQUJCQkJB
QUFFRUdnVnlualhjU2hVUWx6bVdUdFdQS1N3SwpJQTRlcm9Ba3BaRGtzVmcwb1RmS2Nqc0NDQ0NB
QUFJSUlJQUFBZ2pjSU5DNTBxRzBrWE1YOW5OVUg0aGVhM2NmU0RsWEFIRVkwUWl0CmRhTUhaS1hn
QkFFRUVFQUFBUVFRUUFBQkJKb0VGRGF5S2g0cFpWVSs1cEEwOXVxZ3NzZDBtRW93OFJBdFYwTDJO
S0Uzc1hJekFnZ2cKZ0FBQ0NDQ0FBQUlJWENEZ0JjNFBMb0ZvaUpWNno5WDM0WmIwUHFRY2RWM0Ry
eFJBRHVkVmt2cHhLaUJWZ2lNQ0NDQ0FBQUlJSUlBQQpBZ2cwQ1N3YVorVkFrZHozb1Q0UWg1QlVa
c0U2VmtBODhzclhWQkJaTjVyUVZ3cE9FRUFBQVFRUVFBQUJCQkJBb0VVZ2F5WDBvQlhRCmQvclFW
QlloMUN4WFduMXdIR0lZdlFpaEZpQzhwamVYczlOVHFZQ2NMRGhEQUFFRUVFQUFBUVFRUUFDQkZn
R0hETzJkUm1HVjFjOTEKc3RPNHJGSEJ4QUhFQzZEM2VtKzNTUjJiMDVadjRsNEVFRUFBQVFRUVFB
QUJCQkM0NmdLZEtoMmRLaURSS1VUYnVCdERyK1hSZTcyTwpHbXZsQW9tcklBNG5kZHVjMWtzY0VV
QUFBUVFRUUFBQkJCQkFBSUZMQ0xqNm9ZbDJsVUcwUjdXZjU3SkhIUWRWUXBSSGdrWmtsYjArCmpS
NlFLc0VSQVFRUVFBQUJCQkJBQUFFRTJnUzZUdUhDRWFRUEtvWWN3NGJLSFlOS0g3MENpT3NpRGlK
SmU5Mm9nRlFKamdnZ2dBQUMKQ0NDQUFBSUlJTkFra05YekVSVTRYQUh4TUN0WE8xejlpTHJ1VVZt
aktpRGx1RWtkbTlPbTcrSm1CQkJBQUFFRUVFQUFBUVFRdU9vQwpxblNvQUZLcUhWRXBaRkM1dzdO
Z0RVb2R2Y0tIdzBiblNvanVxUnNCcEVwd1JBQUJCQkJBQUFFRUVFQUFnU1lCVFhBVnRBUklXUTI5
CkJCRUZqMUZqcjF3TmlaNFpTOEZqVU5PSEc5SHJSZ0NwRWh3UlFBQUJCQkJBQUFFRUVFQ2dTVUFU
WGlsOGFGZTN4NndrTWsxTG1CUTgKSEVwMFdkZTFQb2dXSVV5SDAyTUpJQ2NMemhCQUFBRUVFRUFB
QVFRUVFLQkZZSGIwV01JOHoxb0pQWVRaQWFTc2hLN2drWTRyb1B0NgpTU0xuejJVV3JCWmc3a1VB
QVFRUVFBQUJCQkJBQUlGVndOV04wdW1ob1ZiT0dZdW00cDFjQ1ZINVk5WnJYMHNLSXZ0eW4xNW9J
NEFjCkhmaUpBQUlJSUlBQUFnZ2dnQUFDalFJNXp4cHVwUXFJeXh4THArckhGQllGRUFjUFYwQ1NV
a2p5V0N5YTBCdGx1UjBCQkJCQUFBRUUKRUVBQUFRUnVFT2hjNlZEYXlMa0wrem1xRDBTdnRic1Bw
SndyZ0RpTWFJVFd1dEVEc2xKd2dnQUNDQ0NBQUFJSUlJQUFBazBDQ2h0WgpGWStVc2lvZmMwZ2Fl
M1ZRMldNNlRDV1llSWlXS3lGN210Q2JXTGtaQVFRUVFBQUJCQkJBQUFFRUxoRHdBdWNIbDBBMHhF
cTk1K3I3CmNFdDZIMUtPdXE3aFZ3b2doL01xU2YwNEZaQXF3UkVCQkJCQUFBRUVFRUFBQVFTYUJC
YU5zM0tnU083N1VCK0lRMGdxczJBZEt5QWUKZWVWcktvaXNHMDNvS3dVbkNDQ0FBQUlJSUlBQUFn
Z2cwQ0tRdFJKNjBBcm9PMzFvS29zUWFwWXJyVDQ0RGpHTVhvUlFDeEJlMDV2TAoyZW1wVkVCT0Zw
d2hnQUFDQ0NDQUFBSUlJSUJBaTRCRGh2Wk9vN0RLNnVjNjJXbGMxcWhnNGdEaUJkQjd2YmZicEk3
TmFjczNjUzhDCkNDQ0FBQUlJSUlBQUFnaGNkWUZPbFk1T0ZaRG9GS0p0M0kyaDEvTG92VjVIamJW
eWdjUlZFSWVUdW0xTzZ5V09DQ0NBQUFJSUlJQUEKQWdnZ2dNQWxCRno5MEVTN3lpRGFvOXJQYzlt
ampvTXFJY29qUVNPeXlsNmZSZzlJbGVDSUFBSUlJSUFBQWdnZ2dBQUNiUUpkcDNEaApDTklIRlVP
T1lVUGxqa0dsajE0QnhIVVJCNUdrdlc1VVFLb0VSd1FRUUFBQkJCQkFBQUVFRUdnU3lPcjVpQW9j
cm9CNG1KV3JIYTUrClJGMzNxS3hSRlpCeTNLU096V25UZDNFekFnZ2dnQUFDQ0NDQUFBSUlYSFVC
VlRwVUFDblZqcWdVTXFqYzRWbXdCcVdPWHVIRFlhTnoKSlVUMzFJMEFVaVU0SW9BQUFnZ2dnQUFD
Q0NDQVFKT0FKcmdLV2dLa3JJWmVnb2lDeDZpeFY2NkdSTStNcGVBeHFPbkRqZWgxSTRCVQpDWTRJ
SUlBQUFnZ2dnQUFDQ0NEUUpLQUpyeFErdEt2YlkxWVNtYVlsVEFvZURpVzZyT3RhSDBTTEVLYkQ2
YkVFa0pNRlp3Z2dnQUFDCkNDQ0FBQUlJSU5BaU1EdDZMR0dlWjYyRUhzTHNBRkpXUWxmd1NNY1Yw
SDI5SkpIejV6SUxWZ3N3OXlLQUFBSUlJSUFBQWdnZ2dNQXEKNE9wRzZmVFFVQ3ZuakVWVDhVNnVo
S2o4TWV1MXJ5VUZrWDI1VHkrMEVVQ09EdnhFQUFFRUVFQUFBUVFRUUFDQlJvR2NadzIzVWdYRQpa
WTZsVS9WakNvc0NpSU9IS3lCSktTUjVMQlpONkkyeTNJNEFBZ2dnZ0FBQ0NDQ0FBQUkzQ0hTdWRD
aHQ1TnlGL1J6VkI2TFgydDBIClVzNFZRQnhHTkVKcjNlZ0JXU2s0UVFBQkJCQkFBQUVFRUVBQWdT
WUJoWTJzaWtkS1daV1BPU1NOdlRxbzdERWRwaEpNUEVUTGxaQTkKVGVoTnJOeU1BQUlJSUlBQUFn
Z2dnQUFDRndoNGdmT0RTeUFhWXFYZWMvVjl1Q1c5RHlsSFhkZndLd1dRdzNtVnBINmNDa2lWNEln
QQpBZ2dnZ0FBQ0NDQ0FBQUpOQW92R1dUbFFKUGQ5cUEvRUlTU1ZXYkNPRlJDUHZQSTFGVVRXalNi
MGxZSVRCQkJBQUFFRUVFQUFBUVFRCmFCSElXZ2s5YUFYMG5UNDBsVVVJTmN1VlZoOGNoeGhHTDBL
b0JRaXY2YzNsN1BSVUtpQW5DODRRUUFBQkJCQkFBQUVFRUVDZ1JjQWgKUTN1blVWaGw5WE9kN0RR
dWExUXdjUUR4QXVpOTN0dHRVc2ZtdE9XYnVCY0JCQkJBQUFFRUVFQUFBUVN1dWtDblNrZW5Da2gw
Q3RFMgo3c2JRYTNuMFhxK2p4bHE1UU9JcWlNTkozVGFuOVJKSEJCQkFBQUVFRUVBQUFRUVFRT0FT
QXE1K2FLSmRaUkR0VWUzbnVleFJ4MEdWCkVPV1JvQkhwUUxVTEFBQWdBRWxFUVZSWlphOVBvd2Vr
U25CRUFBRUVFRUFBQVFRUVFBQ0JOb0d1VTdod0JPbURpaUhIc0tGeXg2RFMKUjY4QTRycUlnMGpT
WGpjcUlGV0NJd0lJSUlBQUFnZ2dnQUFDQ0RRSlpQVjhSQVVPVjBBOHpNclZEbGMvb3E1N1ZOYW9D
a2c1YmxMSAo1clRwdTdnWkFRUVFRQUFCQkJCQUFBRUVycnFBS2gwcWdKUnFSMVFLR1ZUdThDeFln
MUpIci9EaHNORzVFcUo3NmtZQXFSSWNFVUFBCkFRUVFRQUFCQkJCQW9FbEFFMXdGTFFGU1ZrTXZR
VVRCWTlUWUsxZERvbWZHVXZBWTFQVGhSdlM2RVVDcUJFY0VFRUFBQVFRUVFBQUIKQkJCb0V0Q0VW
d29mMnRYdE1TdUpUTk1TSmdVUGh4SmQxbld0RDZKRkNOUGg5RmdDeU1tQ013UVFRQUFCQkJCQUFB
RUVFR2dSbUIwOQpsakRQczFaQ0QyRjJBQ2tyb1N0NHBPTUs2TDVla3NqNWM1a0Zxd1dZZXhGQUFB
RUVFRUFBQVFRUVFHQVZjSFdqZEhwb3FKVnp4cUtwCmVDZFhRbFQrbVBYYTE1S0N5TDdjcHhmYUND
QkhCMzRpZ0FBQ0NDQ0FBQUlJSUlCQW8wRE9zNFpicVFMaU1zZlNxZm94aFVVQnhNSEQKRlpDa0ZK
SThGb3NtOUVaWmJrY0FBUVFRUUFBQkJCQkFBSUViQkRwWE9wUTJjdTdDZm83cUE5RnI3ZTRES2Vj
S0lBNGpHcUcxYnZTQQpyQlNjSUlBQUFnZ2dnQUFDQ0NDQVFKT0F3a1pXeFNPbHJNckhISkxHWGgx
VTlwZ09Vd2ttSHFMbFNzaWVKdlFtVm01R0FBRUVFRUFBCkFRUVFRQUNCQ3dTOHdQbkJKUkFOc1ZM
dnVmbyszSkxlaDVTanJtdjRsUUxJNGJ4S1VqOU9CYVJLY0VRQUFRUVFRQUFCQkJCQUFJRW0KZ1VY
anJCd29rdnMrMUFmaUVKTEtMRmpIQ29oSFh2bWFDaUxyUmhQNlNzRUpBZ2dnZ0FBQ0NDQ0FBQUlJ
dEFoa3JZUWV0QUw2VGgrYQp5aUtFbXVWS3F3K09Rd3lqRnlIVUFvVFg5T1p5ZG5vcUZaQ1RCV2NJ
SUlBQUFnZ2dnQUFDQ0NEUUl1Q1FvYjNUS0t5eStybE9kaHFYCk5TcVlPSUI0QWZSZTcrMDJxV056
MnZKTjNJc0FBZ2dnZ0FBQ0NDQ0FBQUpYWGFCVHBhTlRCU1E2aFdnYmQyUG90VHg2cjlkUlk2MWMK
SUhFVnhPR2ticHZUZW9rakFnZ2dnQUFDQ0NDQUFBSUlJSEFKQVZjL05OR3VNb2oycVBielhQYW80
NkJLaVBKSTBJaXNzdGVuMFFOUwpKVGdpZ0FBQ0NDQ0FBQUlJSUlCQW0wRFhLVnc0Z3ZSQnhaQmoy
RkM1WTFEcG8xY0FjVjNFUVNScHJ4c1ZrQ3JCRVFFRUVFQUFBUVFRClFBQUJCSm9Fc25vK29nS0hL
eUFlWnVWcWg2c2ZVZGM5S210VUJhUWNONmxqYzlyMFhkeU1BQUlJSUlBQUFnZ2dnQUFDVjExQWxR
NFYKUUVxMUl5cUZEQ3AzZUJhc1FhbWpWL2h3Mk9oY0NkRTlkU09BVkFtT0NDQ0FBQUlJSUlBQUFn
Z2cwQ1NnQ2E2Q2xnQXBxNkdYSUtMZwpNV3JzbGFzaDBUTmpLWGdNYXZwd0kzcmRDQ0JWZ2lNQ0ND
Q0FBQUlJSUlBQUFnZzBDV2pDSzRVUDdlcjJtSlZFcG1rSms0S0hRNGt1CjY3cldCOUVpaE9sd2Vp
d0I1R1RCR1FJSUlJQUFBZ2dnZ0FBQ0NMUUl6STRlUzVqbldTdWhoekE3Z0pTVjBCVTgwbkVGZEY4
dlNlVDgKdWN5QzFRTE12UWdnZ0FBQ0NDQ0FBQUlJSUxBS3VMcFJPajAwMU1vNVk5RlV2Sk1ySVNw
L3pIcnRhMGxCWkYvdTB3dHRCSkNqQXo4UgpRQUFCQkJCQUFBRUVFRUNnVVNEbldjT3RWQUZ4bVdQ
cFZQMll3cUlBNHVEaENraFNDa2tlaTBVVGVxTXN0eU9BQUFJSUlJQUFBZ2dnCmdNQU5BcDBySFVv
Yk9YZGhQMGYxZ2VpMWR2ZUJsSE1GRUljUmpkQmFOM3BBVmdwT0VFQUFBUVFRUUFBQkJCQkFvRWxB
WVNPcjRwRlMKVnVWakRrbGpydzRxZTB5SHFRUVREOUZ5SldSUEUzb1RLemNqZ0FBQ0NDQ0FBQUlJ
SUlEQUJRSmU0UHpnRW9pR1dLbjNYSDBmYmtudgpROHBSMXpYOFNnSGtjRjRscVIrbkFsSWxPQ0tB
QUFJSUlJQUFBZ2dnZ0VDVHdLSnhWZzRVeVgwZjZnTnhDRWxsRnF4akJjUWpyM3hOCkJaRjFvd2w5
cGVBRUFRUVFRQUFCQkJCQUFBRUVXZ1N5VmtJUFdnRjlwdzlOWlJGQ3pYS2wxUWZISVliUml4QnFB
Y0pyZW5NNU96MlYKQ3NqSmdqTUVFRUFBQVFRUVFBQUJCQkJvRVhESTBONXBGRlpaL1Z3bk80M0xH
aFZNSEVDOEFIcXY5M2FiMUxFNWJma203a1VBQVFRUQpRQUFCQkJCQUFJR3JMdENwMHRHcEFoS2RR
clNOdXpIMFdoNjkxK3Vvc1ZZdWtMZ0s0bkJTdDgxcHZjUVJBUVFRUUFBQkJCQkFBQUVFCkVMaUVn
S3NmbW1oWEdVUjdWUHQ1TG52VWNWQWxSSGtrYUVSVzJldlQ2QUdwRWh3UlFBQUJCQkJBQUFFRUVF
Q2dUYURyRkM0Y1FmcWcKWXNneGJLamNNYWowMFN1QXVDN2lJSkswMTQwS1NKWGdpQUFDQ0NDQUFB
SUlJSUFBQWswQ1dUMGZVWUhERlJBUHMzSzF3OVdQcU9zZQpsVFdxQWxLT205U3hPVzM2TG01R0FB
RUVFRUFBQVFRUVFBQ0JxeTZnU29jS0lLWGFFWlZDQnBVN1BBdldvTlRSSzN3NGJIU3VoT2llCnVo
RkFxZ1JIQkJCQUFBRUVFRUFBQVFRUWFCTFFCRmRCUzRDVTFkQkxFRkh3R0RYMnl0V1E2Sm14RkR3
R05YMjRFYjF1QkpBcXdSRUIKQkJCQUFBRUVFRUFBQVFTYUJEVGhsY0tIZG5WN3pFb2kwN1NFU2NI
RG9VU1hkVjNyZzJnUnduUTRQWllBY3JMZ0RBRUVFRUFBQVFRUQpRQUFCQkZvRVprZVBKY3p6ckpY
UVE1Z2RRTXBLNkFvZTZiZ0N1cStYSkhMK1hHYkJhZ0htWGdRUVFBQUJCQkJBQUFFRUVGZ0ZYTjBv
Cm5SNGFhdVdjc1dncTNzbVZFSlUvWnIzMnRhUWdzaS8zNllVMkFzalJnWjhJSUlBQUFnZ2dnQUFD
Q0NEUUtKRHpyT0ZXcW9DNHpMRjAKcW41TVlWRUFjZkJ3QlNRcGhTU1B4YUlKdlZHVzJ4RkFBQUVF
RUVBQUFRUVFRT0FHZ2M2VkRxV05uTHV3bjZQNlFQUmF1L3RBeXJrQwppTU9JUm1pdEd6MGdLd1Vu
Q0NDQUFBSUlJSUFBQWdnZzBDU2dzSkZWOFVncHEvSXhoNlN4VndlVlBhYkRWSUtKaDJpNUVyS25D
YjJKCmxac1JRQUFCQkJCQUFBRUVFRURnQWdFdmNINXdDVVJEck5SN3JyNFB0NlQzSWVXbzZ4cCtw
UUJ5T0srUzFJOVRBYWtTSEJGQUFBRUUKRUVBQUFRUVFRS0JKWU5FNEt3ZUs1TDRQOVlFNGhLUXlD
OWF4QXVLUlY3Nm1nc2k2MFlTK1VuQ0NBQUlJSUlBQUFnZ2dnQUFDTFFKWgpLNkVIcllDKzA0ZW1z
Z2loWnJuUzZvUGpFTVBvUlFpMUFPRTF2Ym1jblo1S0JlUmt3UmtDQ0NDQUFBSUlJSUFBQWdpMENE
aGthTzgwCkNxdXNmcTZUbmNabGpRb21EaUJlQUwzWGU3dE42dGljdG53VDl5S0FBQUlJSUlBQUFn
Z2dnTUJWRitoVTZlaFVBWWxPSWRyRzNSaDYKTFkvZTYzWFVXQ3NYU0Z3RmNUaXAyK2EwWHVLSUFB
SUlJSUFBQWdnZ2dBQUNDRnhDd05VUFRiU3JES0k5cXYwOGx6M3FPS2dTb2p3UwpOQ0tyN1BWcDlJ
QlVDWTRJSUlBQUFnZ2dnQUFDQ0NEUUp0QjFDaGVPSUgxUU1lUVlObFR1R0ZUNjZCVkFYQmR4RUVu
YTYwWUZwRXB3ClJBQUJCQkJBQUFFRUVFQUFnU2FCcko2UHFNRGhDb2lIV2JuYTRlcEgxSFdQeWhw
VkFTbkhUZXJZbkRaOUZ6Y2pnQUFDQ0NDQUFBSUkKSUlEQVZSZFFwVU1Ga0ZMdGlFb2hnOG9kbmdW
clVPcm9GVDRjTmpwWFFuUlAzUWdnVllJakFnZ2dnQUFDQ0NDQUFBSUlOQWxvZ3F1ZwpKVURLYXVn
bGlDaDRqQnA3NVdwSTlNeFlDaDZEbWo3Y2lGNDNBa2lWNElnQUFnZ2dnQUFDQ0NDQUFBSk5BcHJ3
U3VGRHU3bzlaaVdSCmFWckNwT0RoVUtMTHVxNzFRYlFJWVRxY0hrc0FPVmx3aGdBQ0NDQ0FBQUlJ
SUlBQUFpMENzNlBIRXVaNTFrcm9JY3dPSUdVbGRBV1AKZEZ3QjNkZExFamwvTHJOZ3RRQnpMd0lJ
SUlBQUFnZ2dnQUFDQ0t3Q3JtNlVUZzhOdFhMT1dEUVY3K1JLaU1vZnMxNzdXbElRMlpmNwo5RUli
QWVUb3dFOEVFRUFBQVFRUVFBQUJCQkJvRk1oNTFuQXJWVUJjNWxnNlZUK21zQ2lBT0hpNEFwS1VR
cExIWXRHRTNpakw3UWdnCmdBQUNDQ0NBQUFJSUlIQ0RRT2RLaDlKR3psM1l6MUY5SUhxdDNYMGc1
VndCeEdGRUk3VFdqUjZRbFlJVEJCQkFBQUVFRUVBQUFRUVEKYUJKUTJNaXFlS1NVVmZtWVE5TFlx
NFBLSHROaEtzSEVRN1JjQ2RuVGhON0V5czBJSUlBQUFnZ2dnQUFDQ0NCd2dZQVhPRCs0QktJaApW
dW85VjkrSFc5TDdrSExVZFEyL1VnQTVuRmRKNnNlcGdGUUpqZ2dnZ0FBQ0NDQ0FBQUlJSU5Ba3NH
aWNsUU5GY3QrSCtrQWNRbEtaCkJldFlBZkhJSzE5VFFXVGRhRUpmS1RoQkFBRUVFRUFBQVFRUVFB
Q0JGb0dzbGRDRFZrRGY2VU5UV1lSUXMxeHA5Y0Z4aUdIMElvUmEKZ1BDYTNsek9UaytsQW5LeTRB
d0JCQkJBQUFFRUVFQUFBUVJhQkJ3eXRIY2FoVlZXUDlmSlR1T3lSZ1VUQnhBdmdON3J2ZDBtZFd4
TwpXNzZKZXhGQUFBRUVFRUFBQVFRUVFPQ3FDM1NxZEhTcWdFU25FRzNqYmd5OWxrZnY5VHBxckpV
TEpLNkNPSnpVYlhOYUwzRkVBQUVFCkVFQUFBUVFRUUFBQkJDNGg0T3FISnRwVkJ0RWUxWDZleXg1
MUhGUUpVUjRKR3BGVjl2bzBla0NxQkVjRUVFQUFBUVFRUUFBQkJCQm8KRStnNmhRdEhrRDZvR0hJ
TUd5cDNEQ3A5OUFvZ3JvczRpQ1R0ZGFNQ1VpVTRJb0FBQWdnZ2dBQUNDQ0NBUUpOQVZzOUhWT0J3
QmNURApyRnp0Y1BVajZycEhaWTJxZ0pUakpuVnNUcHUraTVzUlFBQUJCQkJBQUFFRUVFRGdxZ3Vv
MHFFQ1NLbDJSS1dRUWVVT3o0STFLSFgwCkNoOE9HNTBySWJxbmJnU1FLc0VSQVFRUVFBQUJCQkJB
QUFFRW1nUTB3VlhRRWlCbE5mUVNSQlE4Um8yOWNqVWtlbVlzQlk5QlRSOXUKUks4YkFhUktjRVFB
QVFRUVFBQUJCQkJBQUlFbUFVMTRwZkNoWGQwZXM1TElOQzFoVXZCd0tORmxYZGY2SUZxRU1CMU9q
eVdBbkN3NApRd0FCQkJCQUFBRUVFRUFBZ1JhQjJkRmpDZk04YXlYMEVHWUhrTElTdW9KSE9xNkE3
dXNsaVp3L2wxbXdXb0M1RndFRUVFQUFBUVFRClFBQUJCRllCVnpkS3A0ZUdXamxuTEpxS2QzSWxS
T1dQV2E5OUxTbUk3TXQ5ZXFHTkFISjA0Q2NDQ0NDQUFBSUlJSUFBQWdnMEN1UTgKYTdpVktpQXVj
eXlkcWg5VFdCUkFIRHhjQVVsS0ljbGpzV2hDYjVUbGRnUVFRQUFCQkJCQUFBRUVFTGhCb0hPbFEy
a2o1eTdzNTZnKwpFTDNXN2o2UWNxNEE0akNpRVZyclJnL0lTc0VKQWdnZ2dBQUNDQ0NBQUFJSU5B
a29iR1JWUEZMS3Fuek1JV25zMVVGbGora3dsV0RpCklWcXVoT3hwUW05aTVXWUVFRUFBQVFRUVFB
QUJCQkM0UU1BTG5COWNBdEVRSy9XZXErL0RMZWw5U0RucXVvWmZLWUFjenFzazllTlUKUUtvRVJ3
UVFRQUFCQkJCQUFBRUVFR2dTV0RUT3lvRWl1ZTlEZlNBT0lhbk1nbldzZ0hqa2xhK3BJTEp1TktH
dkZKd2dnQUFDQ0NDQQpBQUlJSUlCQWkwRFdTdWhCSzZEdjlLR3BMRUtvV2E2MCt1QTR4REI2RVVJ
dFFIaE5ieTVucDZkU0FUbFpjSVlBQWdnZ2dBQUNDQ0NBCkFBSXRBZzRaMmp1TndpcXJuK3RrcDNG
Wm80S0pBNGdYUU8vMTNtNlRPamFuTGQvRXZRZ2dnQUFDQ0NDQUFBSUlJSERWQlRwVk9qcFYKUUtK
VGlMWnhONFpleTZQM2VoMDExc29GRWxkQkhFN3F0am10bHpnaWdBQUNDQ0NBQUFJSUlJQUFBcGNR
Y1BWREUrMHFnMmlQYWovUApaWTg2RHFxRUtJOEVqY2dxZTMwYVBTQlZnaU1DQ0NDQUFBSUlJSUFB
QWdpMENYU2R3b1VqU0I5VUREbUdEWlU3QnBVK2VnVVExMFVjClJKTDJ1bEVCcVJJY0VVQUFBUVFR
UUFBQkJCQkFvRWtncStjaktuQzRBdUpoVnE1MnVQb1JkZDJqc2taVlFNcHhrem8ycDAzZnhjMEkK
SUlBQUFnZ2dnQUFDQ0NCdzFRVlU2VkFCcEZRN29sTElvSEtIWjhFYWxEcDZoUStIamM2VkVOMVRO
d0pJbGVDSUFBSUlJSUFBQWdnZwpnQUFDVFFLYTRDcG9DWkN5R25vSklnb2VvOFpldVJvU1BUT1dn
c2VncGc4M290ZU5BRklsT0NLQUFBSUlJSUFBQWdnZ2dFQ1RnQ2E4ClV2alFybTZQV1Vsa21wWXdL
WGc0bE9peXJtdDlFQzFDbUE2bnh4SkFUaGFjSVlBQUFnZ2dnQUFDQ0NDQVFJdkE3T2l4aEhtZXRS
SjYKQ0xNRFNGa0pYY0VqSFZkQTkvV1NSTTZmeXl4WUxjRGNpd0FDQ0NDQUFBSUlJSUFBQXF1QXF4
dWwwME5Eclp3ekZrM0ZPN2tTb3ZMSApyTmUrbGhSRTl1VSt2ZEJHQURrNjhCTUJCQkJBQUFFRUVF
QUFBUVFhQlhLZU5keEtGUkNYT1paTzFZOHBMQW9nRGg2dWdDU2xrT1N4CldEU2hOOHB5T3dJSUlJ
QUFBZ2dnZ0FBQ0NOd2cwTG5Tb2JTUmN4ZjJjMVFmaUY1cmR4OUlPVmNBY1JqUkNLMTFvd2RrcGVB
RUFRUVEKUUFBQkJCQkFBQUVFbWdRVU5ySXFIaWxsVlQ3bWtEVDI2cUN5eDNTWVNqRHhFQzFYUXZZ
MG9UZXhjak1DQ0NDQUFBSUlJSUFBQWdoYwpJT0FGemc4dWdXaUlsWHJQMWZmaGx2UStwQngxWGNP
dkZFQU81MVdTK25FcUlGV0NJd0lJSUlBQUFnZ2dnQUFDQ0RRSkxCcG41VUNSCjNQZWhQaENIa0ZS
bXdUcFdRRHp5eXRkVUVGazNtdEJYQ2s0UVFBQUJCQkJBQUFFRUVFQ2dSU0JySmZTZ0ZkQjMrdEJV
RmlIVUxGZGEKZlhBY1loaTlDS0VXSUx5bU41ZXowMU9wZ0p3c09FTUFBUVFRUUFBQkJCQkFBSUVX
QVljTTdaMUdZWlhWejNXeTA3aXNVY0hFQWNRTApvUGQ2YjdkSkhadlRsbS9pWGdRUVFBQUJCQkJB
QUFFRUVManFBcDBxSFowcUlORXBSTnU0RzBPdjVkRjd2WTRhYStVQ2lhc2dEaWQxCjI1eldTeHdS
UUFBQkJCQkFBQUVFRUVBQWdVc0l1UHFoaVhhVlFiUkh0Wi9uc2tjZEIxVkNsRWVDUm1TVnZUNk5I
cEFxd1JFQkJCQkEKQUFFRUVFQUFBUVRhQkxwTzRjSVJwQThxaGh6RGhzb2RnMG9mdlFLSTZ5SU9J
a2w3M2FpQVZBbU9DQ0NBQUFJSUlJQUFBZ2dnMENTUQoxZk1SRlRoY0FmRXdLMWM3WFAySXV1NVJX
YU1xSU9XNFNSMmIwNmJ2NG1ZRUVFQUFBUVFRUUFBQkJCQzQ2Z0txZEtnQVVxb2RVU2xrClVMbkRz
MkFOU2gyOXdvZkRSdWRLaU82cEd3R2tTbkJFQUFFRUVFQUFBUVFRUUFDQkpnRk5jQlcwQkVoWkRi
MEVFUVdQVVdPdlhBMkoKbmhsTHdXTlEwNGNiMGV0R0FLa1NIQkZBQUFFRUVFQUFBUVFRUUtCSlFC
TmVLWHhvVjdmSHJDUXlUVXVZRkR3Y1NuUloxN1UraUJZaApUSWZUWXdrZ0p3dk9FRUFBQVFRUVFB
QUJCQkJBb0VWZ2R2Ull3anpQV2drOWhOa0JwS3lFcnVDUmppdWcrM3BKSXVmUFpSYXNGbUR1ClJR
QUJCQkJBQUFFRUVFQUFnVlhBMVkzUzZhR2hWczRaaTZiaW5Wd0pVZmxqMW10ZlN3b2krM0tmWG1n
amdCd2QrSWtBQWdnZ2dBQUMKQ0NDQUFBS05Bam5QR202bENvakxIRXVuNnNjVUZnVVFCdzlYUUpK
U1NQSllMSnJRRzJXNUhRRUVFRUFBQVFRUVFBQUJCRzRRNkZ6cApVTnJJdVF2N09hb1BSSysxdXcr
a25DdUFPSXhvaE5hNjBRT3lVbkNDQUFJSUlJQUFBZ2dnZ0FBQ1RRSUtHMWtWajVTeUtoOXpTQnA3
CmRWRFpZenBNSlpoNGlKWXJJWHVhMEp0WXVSa0JCQkJBQUFFRUVFQUFBUVF1RVBBQzV3ZVhRRFRF
U3IzbjZ2dHdTM29mVW82NnJ1RlgKQ2lDSDh5cEovVGdWa0NyQkVRRUVFRUFBQVFRUVFBQUJCSm9F
Rm8yemNxQkk3dnRRSDRoRFNDcXpZQjBySUI1NTVXc3FpS3diVGVncgpCU2NJSUlBQUFnZ2dnQUFD
Q0NEUUlwQzFFbnJRQ3VnN2ZXZ3FpeEJxbGl1dFBqZ09NWXhlaEZBTEVGN1RtOHZaNmFsVVFFNFdu
Q0dBCkFBSUlJSUFBQWdnZ2dFQ0xnRU9HOWs2anNNcnE1enJaYVZ6V3FHRGlBT0lGMEh1OXQ5dWtq
czFweXpkeEx3SUlJSUFBQWdnZ2dBQUMKQ0Z4MWdVNlZqazRWa09nVW9tM2NqYUhYOHVpOVhrZU50
WEtCeEZVUWg1TzZiVTdySlk0SUlJQUFBZ2dnZ0FBQ0NDQ0F3Q1VFWFAzUQpSTHZLSU5xajJzOXoy
YU9PZ3lvaHlpTkJJN0xLWHA5R0QwaVY0SWdBQWdnZ2dBQUNDQ0NBQUFKdEFsMm5jT0VJMGdjVlE0
NWhRK1dPClFhV1BYZ0hFZFJFSGthUzlibFJBcWdSSEJCQkFBQUVFRUVBQUFRUVFhQkxJNnZtSUNo
eXVnSGlZbGFzZHJuNUVYZmVvckZFVmtITGMKcEk3TmFkTjNjVE1DQ0NDQUFBSUlJSUFBQWdoY2RR
RlZPbFFBS2RXT3FCUXlxTnpoV2JBR3BZNWU0Y05obzNNbFJQZlVqUUJTSlRnaQpnQUFDQ0NDQUFB
SUlJSUJBazRBbXVBcGFBcVNzaGw2Q2lJTEhxTEZYcm9aRXo0eWw0REdvNmNPTjZIVWpnRlFKamdn
Z2dBQUNDQ0NBCkFBSUlJTkFrb0FtdkZENjBxOXRqVmhLWnBpVk1DaDRPSmJxczYxb2ZSSXNRcHNQ
cHNRU1Frd1ZuQ0NDQUFBSUlJSUFBQWdnZzBDSXcKTzNvc1laNW5yWVFld3V3QVVsWkNWL0JJeHhY
UWZiMGtrZlBuTWd0V0N6RDNJb0FBQWdnZ2dBQUNDQ0NBd0NyZzZrYnA5TkJRSytlTQpSVlB4VHE2
RXFQd3g2N1d2SlFXUmZibFBMN1FSUUk0Ty9FUUFBUVFRUUFBQkJCQkFBSUZHZ1p4bkRiZFNCY1Js
anFWVDlXTUtpd0tJCmc0Y3JJRWtwSkhrc0ZrM29qYkxjamdBQ0NDQ0FBQUlJSUlBQUFqY0lkSzUw
S0czazNJWDlITlVIb3RmYTNRZFN6aFZBSEVZMFFtdmQKNkFGWktUaEJBQUVFRUVBQUFRUVFRQUNC
SmdHRmpheUtSMHBabFk4NUpJMjlPcWpzTVIybUVrdzhSTXVWa0QxTjZFMnMzSXdBQWdnZwpnQUFD
Q0NDQUFBSVhDSGlCODROTElCcGlwZDV6OVgyNEpiMFBLVWRkMS9BckJaRERlWldrZnB3S1NKWGdp
QUFDQ0NDQUFBSUlJSUFBCkFrMENpOFpaT1ZBazkzMm9EOFFoSkpWWnNJNFZFSSs4OGpVVlJOYU5K
dlNWZ2hNRUVFQUFBUVFRUUFBQkJCQm9FY2hhQ1Qxb0JmU2QKUGpTVlJRZzF5NVZXSHh5SEdFWXZR
cWdGQ0svcHplWHM5RlFxSUNjTHpoQkFBQUVFRUVBQUFRUVFRS0JGd0NGRGU2ZFJXR1gxYzUzcwpO
QzVyVkRCeEFQRUM2TDNlMjIxU3grYTA1WnU0RndFRUVFQUFBUVFRUUFBQkJLNjZRS2RLUjZjS1NI
UUswVGJ1eHRCcmVmUmVyNlBHCldybEE0aXFJdzBuZE5xZjFFa2NFRUVBQUFRUVFRQUFCQkJCQTRC
SUNybjVvb2wxbEVPMVI3ZWU1N0ZISFFaVVE1WkdnRVZsbHIwK2oKQjZSS2NFUUFBUVFRUUFBQkJC
QkFBSUUyZ2E1VHVIQUU2WU9LSWNld29YTEhvTkpIcndEaXVvaURTTkplTnlvZ1ZZSWpBZ2dnZ0FB
QwpDQ0NBQUFJSU5BbGs5WHhFQlE1WFFEek15dFVPVnoraXJudFUxcWdLU0RsdVVzZm10T203dUJr
QkJCQkFBQUVFRUVBQUFRU3V1b0FxCkhTcUFsR3BIVkFvWlZPN3dMRmlEVWtldjhPR3cwYmtTb252
cVJnQ3BFaHdSUUFBQkJCQkFBQUVFRUVDZ1NVQVRYQVV0QVZKV1F5OUIKUk1GajFOZ3JWME9pWjha
UzhCalU5T0ZHOUxvUlFLb0VSd1FRUUFBQkJCQkFBQUVFRUdnUzBJUlhDaC9hMWUweEs0bE0weElt
QlErSApFbDNXZGEwUG9rVUkwK0gwV0FMSXlZSXpCQkJBQUFFRUVFQUFBUVFRYUJHWUhUMldNTSt6
VmtJUFlYWUFLU3VoSzNpazR3cm92bDZTCnlQbHptUVdyQlpoN0VVQUFBUVFRUUFBQkJCQkFZQlZ3
ZGFOMGVtaW9sWFBHb3FsNEoxZENWUDZZOWRyWGtvTEl2dHluRjlvSUlFY0gKZmlLQUFBSUlJSUFB
QWdnZ2dFQ2pRTTZ6aGx1cEF1SXl4OUtwK2pHRlJRSEV3Y01Wa0tRVWtqd1dpeWIwUmxsdVJ3QUJC
QkJBQUFFRQpFRUFBZ1JzRU9sYzZsRFp5N3NKK2p1b0QwV3Z0N2dNcDV3b2dEaU1hb2JWdTlJQ3NG
SndnZ0FBQ0NDQ0FBQUlJSUlCQWs0RENSbGJGCkk2V3N5c2Nja3NaZUhWVDJtQTVUQ1NZZW91Vkt5
SjRtOUNaV2JrWUFBUVFRUUFBQkJCQkFBSUVMQkx6QStjRWxFQTJ4VXUrNStqN2MKa3Q2SGxLT3Vh
L2lWQXNqaHZFcFNQMDRGcEVwd1JBQUJCQkJBQUFFRUVFQUFnU2FCUmVPc0hDaVMrejdVQitJUWtz
b3NXTWNLaUVkZQorWm9LSXV0R0UvcEt3UWtDQ0NDQUFBSUlJSUFBQWdpMENHU3RoQjYwQXZwT0g1
cktJb1NhNVVxckQ0NURES01YSWRRQ2hOZjA1bkoyCmVpb1ZrSk1GWndnZ2dBQUNDQ0NBQUFJSUlO
QWk0SkNodmRNb3JMTDZ1VTUyR3BjMUtwZzRnSGdCOUY3djdUYXBZM1BhOGszY2l3QUMKQ0NDQUFB
SUlJSUFBQWxkZG9GT2xvMU1GSkRxRmFCdDNZK2kxUEhxdjExRmpyVndnY1JYRTRhUnVtOU42aVNN
Q0NDQ0FBQUlJSUlBQQpBZ2dnY0FrQlZ6ODAwYTR5aVBhbzl2TmM5cWpqb0VxSThralFpS3l5MTZm
UkExSWxPQ0tBQUFJSUlJQUFBZ2dnZ0VDYlFOY3BYRGlDCjlFSEZrR1BZVUxsalVPbWpWd0J4WGNS
QkpHbXZHeFdRS3NFUkFRUVFRQUFCQkJCQUFBRUVtZ1N5ZWo2aUFvY3JJQjVtNVdxSHF4OVIKMXow
cWExUUZwQnczcVdOejJ2UmQzSXdBQWdnZ2dBQUNDQ0NBQUFKWFhVQ1ZEaFZBU3JVaktvVU1LbmQ0
RnF4QnFhTlgrSERZNkZ3SgowVDExSTRCVUNZNElJSUFBQWdnZ2dBQUNDQ0RRSktBSnJvS1dBQ21y
b1pjZ291QXhhdXlWcXlIUk0yTXBlQXhxK25BamV0MElJRldDCkl3SUlJSUFBQWdnZ2dBQUNDRFFK
YU1JcmhRL3Q2dmFZbFVTbWFRbVRnb2REaVM3cnV0WUgwU0tFNlhCNkxBSGtaTUVaQWdnZ2dBQUMK
Q0NDQUFBSUl0QWpNamg1TG1PZFpLNkdITUR1QWxKWFFGVHpTY1FWMFh5OUo1UHk1eklMVkFzeTlD
Q0NBQUFJSUlJQUFBZ2dnc0FxNAp1bEU2UFRUVXlqbGowVlM4a3lzaEtuL01ldTFyU1VGa1grN1RD
MjBFa0tNRFB4RkFBQUVFRUVBQUFRUVFRS0JSSU9kWnc2MVVBWEdaClkrbFUvWmpDb2dEaTRPRUtT
RklLU1I2TFJSTjZveXkzSTRBQUFnZ2dnQUFDQ0NDQXdBMENuU3NkU2hzNWQyRS9SL1dCNkxWMjk0
R1UKY3dVUWh4R04wRm8zZWtCV0NrNFFRQUFCQkJCQUFBRUVFRUNnU1VCaEk2dmlrVkpXNVdNT1NX
T3ZEaXA3VEllcEJCTVAwWElsWkU4VAplaE1yTnlPQUFBSUlJSUFBQWdnZ2dNQUZBbDdnL09BU2lJ
WllxZmRjZlI5dVNlOUR5bEhYTmZ4S0FlUndYaVdwSDZjQ1VpVTRJb0FBCkFnZ2dnQUFDQ0NDQVFK
UEFvbkZXRGhUSmZSL3FBM0VJU1dVV3JHTUZ4Q092ZkUwRmtYV2pDWDJsNEFRQkJCQkFBQUVFRUVB
QUFRUmEKQkxKV1FnOWFBWDJuRDAxbEVVTE5jcVhWQjhjaGh0R0xFR29Cd210NmN6azdQWlVLeU1t
Q013UVFRQUFCQkJCQUFBRUVFR2dSY01qUQozbWtVVmxuOVhDYzdqY3NhRlV3Y1FMd0FlcS8zZHB2
VXNUbHQrU2J1UlFBQkJCQkFBQUVFRUVBQWdhc3UwS25TMGFrQ0VwMUN0STI3Ck1mUmFIcjNYNjZp
eFZpNlF1QXJpY0ZLM3pXbTl4QkVCQkJCQUFBRUVFRUFBQVFRUXVJU0FxeCthYUZjWlJIdFUrM2t1
ZTlSeFVDVkUKZVNSb1JGYlo2OVBvQWFrU0hCRkFBQUVFRUVBQUFRUVFRS0JOb09zVUxoeEIrcUJp
eURGc3FOd3hxUFRSSzRDNEx1SWdrclRYalFwSQpsZUNJQUFJSUlJQUFBZ2dnZ0FBQ1RRSlpQUjlS
Z2NNVkVBK3pjclhEMVkrbzZ4NlZOYW9DVW82YjFMRTViZm91YmtZQUFRUVFRQUFCCkJCQkFBSUdy
THFCS2h3b2dwZG9SbFVJR2xUczhDOWFnMU5FcmZEaHNkSzZFNko2NkVVQ3FCRWNFRUVBQUFRUVFR
QUFCQkJCb0V0QUUKVjBGTGdKVFYwRXNRVWZBWU5mYksxWkRvbWJFVVBBWTFmYmdSdlc0RWtDckJF
UUVFRUVBQUFRUVFRQUFCQkpvRU5PR1Z3b2QyZFh2TQpTaUxUdElSSndjT2hSSmQxWGV1RGFCSENk
RGc5bGdCeXN1QU1BUVFRUUFBQkJCQkFBQUVFV2dSbVI0OGx6UE9zbGRCRG1CMUF5a3JvCkNoN3B1
QUs2cjVja2N2NWNac0ZxQWVaZUJCQkFBQUVFRUVBQUFRUVFXQVZjM1NpZEhocHE1Wnl4YUNyZXla
VVFsVDltdmZhMXBDQ3kKTC9mcGhUWUN5TkdCbndnZ2dBQUNDQ0NBQUFJSUlOQW9rUE9zNFZhcWdM
ak1zWFNxZmt4aFVRQng4SEFGSkNtRkpJL0ZvZ205VVpiYgpFVUFBQVFRUVFBQUJCQkJBNEFhQnpw
VU9wWTJjdTdDZm8vcEE5RnE3KzBES3VRS0l3NGhHYUswYlBTQXJCU2NJSUlBQUFnZ2dnQUFDCkNM
V29naVFBQUNBQVNVUkJWQ0RRSktDd2tWWHhTQ21yOGpHSHBMRlhCNVU5cHNOVWdvbUhhTGtTc3Fj
SnZZbVZteEZBQUFFRUVFQUEKQVFRUVFPQUNBUzl3Zm5BSlJFT3MxSHV1dmcrM3BQY2g1YWpyR242
bEFISTRyNUxVajFNQnFSSWNFVUFBQVFRUVFBQUJCQkJBb0VsZwowVGdyQjRya3ZnLzFnVGlFcERJ
TDFyRUM0cEZYdnFhQ3lMclJoTDVTY0lJQUFnZ2dnQUFDQ0NDQUFBSXRBbGtyb1FldGdMN1RoNmF5
CkNLRm11ZExxZytNUXcraEZDTFVBNFRXOXVaeWRua29GNUdUQkdRSUlJSUFBQWdnZ2dBQUNDTFFJ
T0dSbzd6UUtxNngrcnBPZHhtV04KQ2lZT0lGNEF2ZGQ3dTAzcTJKeTJmQlAzSW9BQUFnZ2dnQUFD
Q0NDQXdGVVg2RlRwNkZRQmlVNGgyc2JkR0hvdGo5N3JkZFJZS3hkSQpYQVZ4T0tuYjVyUmU0b2dB
QWdnZ2dBQUNDQ0NBQUFJSVhFTEExUTlOdEtzTW9qMnEvVHlYUGVvNHFCS2lQQkkwSXF2czlXbjBn
RlFKCmpnZ2dnQUFDQ0NDQUFBSUlJTkFtMEhVS0Y0NGdmVkF4NUJnMlZPNFlWUHJvRlVCY0YzRVFT
ZHJyUmdXa1NuQkVBQUVFRUVBQUFRUVEKUUFDQkpvR3Nubytvd09FS2lJZFp1ZHJoNmtmVWRZL0tH
bFVCS2NkTjZ0aWNObjBYTnlPQUFBSUlJSUFBQWdnZ2dNQlZGMUNsUXdXUQpVdTJJU2lHRHloMmVC
V3RRNnVnVlBodzJPbGRDZEUvZENDQlZnaU1DQ0NDQUFBSUlJSUFBQWdnMENXaUNxNkFsUU1wcTZD
V0lLSGlNCkdudmxha2owekZnS0hvT2FQdjdmOXU3dVI0N3FUdVA0cjEvbnhmTmlqOEg0SlRqakRi
RnNJZ01PSzRpRXdpS1J2UWczNUE0Y2Nja04KWE9TdnlKOFFpUnN1a1F6aUpraXJKRW9nU3F5Vm9v
MnpjbVF2SWJBSndXd0lpNDBOZnAzdXJxN3VmWjR6UHUxMmU4QlRlRWN5K0Z0Uwp1YXFycTJwNlBq
UFRmUjcvenFueVFQUThFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpKcE44
ZlJGL0J3NkZFCm03VmQ5d2ZSVFFpTDN0WFRFa0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJLUjQ5
QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZUMGwKa1N2bjVTcFlWWURaRndFRUVFQUFBUVFRUUFB
QkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhLajhVZXF4dHhVS0l0MjBueDVvSW9DcwpPdkF2QWdn
Z2dBQUNDQ0NBQUFJSVZCUVlEa3QxdDFJRnhHV09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZZaEI2
UlZsMlJ3QUJCQkJBCkFBRUVFRUFBZ2VzRWFxNTBLRzBNaDdYb2xuV05BOUZqelI0SGt0WVZRQnhH
MUVOck5ERUdaRVRCQ2dJSUlJQUFBZ2dnZ0FBQ0NGUVMKVU5nWXF1SlJGRU5WUHNvbzFQZXFwN0pI
djlkUHdjUmR0RndKNlRJSXZSSXJPeU9BQUFJSUlJQUFBZ2dnZ01BYUFyN0JlYzhsRUhXeAowdGh6
amZ2d2tQUkdGTU82dHF2N2xRSkk3MHFWSkI5T0JTUkxzRVFBQVFRUVFBQUJCQkJBQUlGS0FnUDFz
M0tnS0R6dVErTkFIRUtLCmRCV3MxUXFJZTE1NW13b2lvNGxCNkNNS1ZoQkFBQUVFRUVBQUFRUVFR
S0NLd0ZCM1FnL2RBYjJ0Zy9ycEpvUzZ5cFh1UHRocTFxUGwKbXhEcUJvUlRlbkl3ZmZXc1ZFQ3VX
ckNHQUFJSUlJQUFBZ2dnZ0FBQ1ZRUWNNalRYMUFzcjNmMWNLMjMxeTJvcG1EaUErQWJvRFQzWApI
a3NkWTZ0VnZoTDdJb0FBQWdnZ2dBQUNDQ0NBd08wdVVGT2xvNllLU04wcFJGT3IzWXFHYm8vZTBP
TzYrbHE1UU9JcWlNTkpuc1pXCjh5YVdDQ0NBQUFJSUlJQUFBZ2dnZ01BNkJGejkwSVYybFVFMDF6
WDhmSmptdXBaTlZVS1VSMEk5c3RLY3o4WVlrQ3pCRWdFRUVFQUEKQVFRUVFBQUJCS29KMUdvS0Y0
NGdqVkF4WkRWc3FOelJWT21qb1FEaXVvaURTS0U1VDFSQXNnUkxCQkJBQUFFRUVFQUFBUVFRcUNR
dwoxSmlQdWdLSEt5RHVadVZxaDZzZmRXMTNyNnlXS2lCcE9aWTZ4bFlyZlMxMlJnQUJCQkJBQUFF
RUVFQUFnZHRkUUpVT0ZVQlN0YU91CkZOSlV1Y05Yd1dvcWRUUVVQaHcyYXE2RWFKODhFVUN5QkVz
RUVFQUFBUVFRUUFBQkJCQ29KS0FMWElWdUFaTHVocDZDaUlKSFMzMnYKWEEycCs4cFlDaDVORGZy
d1FQUThFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpKcE44ZlJGL0J3NkZF
bTdWZAo5d2ZSVFFpTDN0WFRFa0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJLUjQ5QmxHV3BPNkZI
bEE0ZzZVN29DaDdGNmgzUXZUMGxrU3ZuCjVTcFlWWURaRndFRUVFQUFBUVFRUUFBQkJFWUNybTZr
a1I3cWF1V2NNZENsZVB1dWhLajhVZXF4dHhVS0l0MjBueDVvSW9Dc092QXYKQWdnZ2dBQUNDQ0NB
QUFJSVZCUVlEa3QxdDFJRnhHV09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZZaEI2UlZsMlJ3QUJC
QkJBQUFFRQpFRUFBZ2VzRWFxNTBLRzBNaDdYb2xuV05BOUZqelI0SGt0WVZRQnhHMUVOck5ERUda
RVRCQ2dJSUlJQUFBZ2dnZ0FBQ0NGUVNVTmdZCnF1SlJGRU5WUHNvbzFQZXFwN0pIdjlkUHdjUmR0
RndKNlRJSXZSSXJPeU9BQUFJSUlJQUFBZ2dnZ01BYUFyN0JlYzhsRUhXeDB0aHoKamZ2d2tQUkdG
TU82dHF2N2xRSkk3MHFWSkI5T0JTUkxzRVFBQVFRUVFBQUJCQkJBQUlGS0FnUDFzM0tnS0R6dVEr
TkFIRUtLZEJXcwoxUXFJZTE1NW13b2lvNGxCNkNNS1ZoQkFBQUVFRUVBQUFRUVFRS0NLd0ZCM1Fn
L2RBYjJ0Zy9ycEpvUzZ5cFh1UHRocTFxUGxteERxCkJvUlRlbkl3ZmZXc1ZFQ3VXckNHQUFJSUlJ
QUFBZ2dnZ0FBQ1ZRUWNNalRYMUFzcjNmMWNLMjMxeTJvcG1EaUErQWJvRFQzWEhrc2QKWTZ0VnZo
TDdJb0FBQWdnZ2dBQUNDQ0NBd08wdVVGT2xvNllLU04wcFJGT3IzWXFHYm8vZTBPTzYrbHE1UU9J
cWlNTkpuc1pXOHlhVwpDQ0NBQUFJSUlJQUFBZ2dnZ01BNkJGejkwSVYybFVFMDF6WDhmSmptdXBa
TlZVS1VSMEk5c3RLY3o4WVlrQ3pCRWdFRUVFQUFBUVFRClFBQUJCS29KMUdvS0Y0NGdqVkF4WkRW
c3FOelJWT21qb1FEaXVvaURTS0U1VDFSQXNnUkxCQkJBQUFFRUVFQUFBUVFRcUNRdzFKaVAKdWdL
SEt5RHVadVZxaDZzZmRXMTNyNnlXS2lCcE9aWTZ4bFlyZlMxMlJnQUJCQkJBQUFFRUVFQUFnZHRk
UUpVT0ZVQlN0YU91Rk5KVQp1Y05Yd1dvcWRUUVVQaHcyYXE2RWFKODhFVUN5QkVzRUVFQUFBUVFR
UUFBQkJCQ29KS0FMWElWdUFaTHVocDZDaUlKSFMzMnZYQTJwCis4cFlDaDVORGZyd1FQUThFVUN5
QkVzRUVFQUFBUVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpKcE44ZlJGL0J3NkZFbTdWZDl3ZlIK
VFFpTDN0WFRFa0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJLUjQ5QmxHV3BPNkZIbEE0ZzZVN29D
aDdGNmgzUXZUMGxrU3ZuNVNwWQpWWURaRndFRUVFQUFBUVFRUUFBQkJFWUNybTZra1I3cWF1V2NN
ZENsZVB1dWhLajhVZXF4dHhVS0l0MjBueDVvSW9Dc092QXZBZ2dnCmdBQUNDQ0NBQUFJSVZCUVlE
a3QxdDFJRnhHV09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZZaEI2UlZsMlJ3QUJCQkJBQUFFRUVF
QUEKZ2VzRWFxNTBLRzBNaDdYb2xuV05BOUZqelI0SGt0WVZRQnhHMUVOck5ERUdaRVRCQ2dJSUlJ
QUFBZ2dnZ0FBQ0NGUVNVTmdZcXVKUgpGRU5WUHNvbzFQZXFwN0pIdjlkUHdjUmR0RndKNlRJSXZS
SXJPeU9BQUFJSUlJQUFBZ2dnZ01BYUFyN0JlYzhsRUhXeDB0aHpqZnZ3CmtQUkdGTU82dHF2N2xR
Skk3MHFWSkI5T0JTUkxzRVFBQVFRUVFBQUJCQkJBQUlGS0FnUDFzM0tnS0R6dVErTkFIRUtLZEJX
czFRcUkKZTE1NW13b2lvNGxCNkNNS1ZoQkFBQUVFRUVBQUFRUVFRS0NLd0ZCM1FnL2RBYjJ0Zy9y
cEpvUzZ5cFh1UHRocTFxUGxteERxQm9SVAplbkl3ZmZXc1ZFQ3VXckNHQUFJSUlJQUFBZ2dnZ0FB
Q1ZRUWNNalRYMUFzcjNmMWNLMjMxeTJvcG1EaUErQWJvRFQzWEhrc2RZNnRWCnZoTDdJb0FBQWdn
Z2dBQUNDQ0NBd08wdVVGT2xvNllLU04wcFJGT3IzWXFHYm8vZTBPTzYrbHE1UU9JcWlNTkpuc1pX
OHlhV0NDQ0EKQUFJSUlJQUFBZ2dnZ01BNkJGejkwSVYybFVFMDF6WDhmSmptdXBaTlZVS1VSMEk5
c3RLY3o4WVlrQ3pCRWdFRUVFQUFBUVFRUUFBQgpCS29KMUdvS0Y0NGdqVkF4WkRWc3FOelJWT21q
b1FEaXVvaURTS0U1VDFSQXNnUkxCQkJBQUFFRUVFQUFBUVFRcUNRdzFKaVB1Z0tICkt5RHVadVZx
aDZzZmRXMTNyNnlXS2lCcE9aWTZ4bFlyZlMxMlJnQUJCQkJBQUFFRUVFQUFnZHRkUUpVT0ZVQlN0
YU91Rk5KVXVjTlgKd1dvcWRUUVVQaHcyYXE2RWFKODhFVUN5QkVzRUVFQUFBUVFRUUFBQkJCQ29K
S0FMWElWdUFaTHVocDZDaUlKSFMzMnZYQTJwKzhwWQpDaDVORGZyd1FQUThFVUN5QkVzRUVFQUFB
UVFRUUFBQkJCQ29KS0FMWGlsOGFOWm9qMUpKcE44ZlJGL0J3NkZFbTdWZDl3ZlJUUWlMCjN0WFRF
a0N1V3JDR0FBSUlJSUFBQWdnZ2dBQUNWUVJLUjQ5QmxHV3BPNkZIbEE0ZzZVN29DaDdGNmgzUXZU
MGxrU3ZuNVNwWVZZRFoKRndFRUVFQUFBUVFRUUFBQkJFWUNybTZra1I3cWF1V2NNZENsZVB1dWhL
ajhVZXF4dHhVS0l0MjBueDVvSW9Dc092QXZBZ2dnZ0FBQwpDQ0NBQUFJSVZCUVlEa3QxdDFJRnhH
V09RVTNWajM0TUZFQWNQRndCS1pSQ0N2ZkZHaHVFVGdDcGlNenVDQ0NBQUFJSUlJQUFBZ2dnCnND
clFWTURvYXRCSG9RckhpZ0xIU2pHTXk1MHlabnZEYVBkcU1hV3hIdzNOSGNhQThDdURBQUlJSUlB
QUFnZ2dnQUFDTnlYZ3JsWXEKZGZqcVYybldaYTljNktqcnNsY2FrcjU2STBLTk9GZXZyR3ZHZ0RB
SS9hYlVPUmdCQkJCQUFBRUVFRUFBZ2R0VUlGMzlhdlZlSDFsZwpxSzVZdzdKUU42eFNBOUpYdTJH
NUsxWWFpSzZkYWtvcUJKQ3N4UklCQkJCQUFBRUVFRUFBQVFUV0w2QlUwZWxxL0VjNlFzRkRGWkd5
ClYraUtXTDdzcnBZS0huMTF2ZklsZUh0ZDN3K2tHWFhkdUpBQXNuNWk5a1FBQVFRUVFBQUJCQkJB
QUFFSk9Fak1OWXY0OC9zWE5mQjgKR0QxZGpyZXYyZmNDS1lxdUFrYzNPaXZkV0ZuUitJK0xFV2Mv
T0Jzek16UFJhclc0Q2hhL1FRZ2dnQUFDQ0NDQUFBSUlJRkJOd0YycApkbS9weHUrT25ZbVpyZE94
dE5DS014Y2RSUHJSNjZ4RXAxWFhZSFRWT21xREtEcXQrT1J2eDJMbjVzMHBoSEFWckdyVzdJMEFB
Z2dnCmdBQUNDQ0NBd0cwdjRPNVVCNzhSOGFlaksvR3ozMzRZODBzenNUamYxTnlLcnJwZXRUdVhR
N1VSZGNucVJFTWowenNmbm9pZGUzYkcKd3NJQ0ZaRGIvcmNIQUFRUVFBQUJCQkJBQUFFRUtncTRD
OVpqMzU2TzR5Y3Z4SWx6N1RqWGJLUjdmOVFhRFEwMEwxSzNySTZTeU9XVwpyb2gxNm5qc24xdUo1
ZVVEc2JpNFNBQ3BhTTN1Q0NDQUFBSUlJSUFBQWdqYzlnSU9JSGZ2bkkxRGoybkUrWkV6Y2VLVHJY
RkJWNzd5CkNQUkIwWXBpcGhrejA0Mll2M1FpN3B2L1J6eDAzMTRGa09XWW01c2pnTnoydnowQUlJ
QUFBZ2dnZ0FBQ0NDQlFVY0FCeEFQS0gzNWcKS2I2Mm94Ty8rUDJuOFllLzErUHZseFlVUkdxeHVY
YytsbXZuNDZFOWczaGczNzJ4ZS9mdTJLd3hJQXhDcndqTjdnZ2dnQUFDQ0NDQQpBQUlJSUxBcTRC
RFNicmRqM3ozejhjMDlTOUhyOWFLcnExLzErMzFkY25kUjFZNWRhY3pIbGkxYlluWjJObDA1cTFT
RmhFSG8vQVloCmdBQUNDQ0NBQUFJSUlJQkFaUUZmQ2F1aE1SOVRVMU9wc3VFdzRzY2VvTzVLaDJk
djgyTlBEaCtEd1lBQVVsbWFBeEJBQUFFRUVFQUEKQVFRUVFHQWtrTHRqT1lqa01KSURTTHJ6dVNv
bERoK2VQWEVqd2hFZEt3Z2dnQUFDQ0NDQUFBSUlJUEJGQlJ3MmN1QndLTW1QSjg5SApBSmtVNFRF
Q0NDQ0FBQUlJSUlBQUFnaHNtQUFCWk1Ob09URUNDQ0NBQUFJSUlJQUFBZ2hNQ2hCQUprVjRqQUFD
Q0NDQUFBSUlJSUFBCkFoc21RQURaTUZwT2pBQUNDQ0NBQUFJSUlJQUFBcE1DQkpCSkVSNGpnQUFD
Q0NDQUFBSUlJSURBaGdrUVFEYU1saE1qZ0FBQ0NDQ0EKQUFJSUlJREFwQUFCWkZLRXh3Z2dnQUFD
Q0NDQUFBSUlJTEJoQWdTUURhUGx4QWdnZ0FBQ0NDQ0FBQUlJSURBcFFBQ1pGT0V4QWdnZwpnQUFD
Q0NDQUFBSUliSmdBQVdURGFEa3hBZ2dnZ0FBQ0NDQ0FBQUlJVEFvUVFDWkZlSXdBQWdnZ2dBQUND
Q0NBQUFJYkprQUEyVEJhClRvd0FBZ2dnZ0FBQ0NDQ0FBQUtUQWdTUVNSRWVJNEFBQWdnZ2dBQUND
Q0NBd0lZSkVFQTJqSllUSTRBQUFnZ2dnQUFDQ0NDQXdLUUEKQVdSU2hNY0lJSUFBQWdnZ2dBQUND
Q0N3WVFJRWtBMmo1Y1FJSUlBQUFnZ2dnQUFDQ0NBd0tkQ2MzTUJqQkJCQUFBRUVFRUFBQVFRUQpR
T0JHQXNQaE1Ed1BCb1ByNXZ5Y3o1SFg4NzVVUUc0a3kvTUlJSUFBQWdnZ2dBQUNDQ0N3cHNCNHVC
aGZ6NkhFQjNuZHozbnlrZ3BJCm91QWZCQkJBQUFFRUVFQUFBUVFRcUNJd0hpcHk0Q2pMOHBwcVNE
NmZuOC9QRVVDeUNrc0VFRUFBQVFRUVFBQUJCQkJZdDBDdWJPUmcKNFdXZTYvVjYxR3ExVWVVajcr
TmpDQ0RySm1aSEJCQkFBQUVFRUVBQUFRUVFzSUFEUmFQUkdGVTcvTGpmNzZkdFJWR2s4T0g5Y2hE
eApjOTd1bVFCaUdTWUVFRUFBQVFRUVFBQUJCQkJZdDRDN1h6bFVqSGV0eWlIRWxZOWMvZkRTazU4
amdLeWJseDBSUUFBQkJCQkFBQUVFCkVFQmdYQ0FIREljUXIrZEtSOTd1Z0pLN2FIbWJ3MGV2MTB1
bm9BSXlMc2s2QWdnZ2dBQUNDQ0NBQUFJSTNGQ2cyV3pHNWN1WDAzNE8KR0sxV0sxVkV2TzdKNFNO
WFNCeEdIRDdPblRzWHUzYnRvZ3RXRXVJZkJCQkFBQUVFRUVBQUFRUVFXTGVBQThqS3lzb29kRXlP
Qi9GagpCdy9QM1c0M0xsNjhHTlBUMDdHNHVFZ0FXYmN5T3lLQUFBSUlJSUFBQWdnZ2dFQVNjSVZq
eDQ0ZGNmTGt5VlRkNkhRNnNXblRwbkF3CmNUVWtWejFjK2ZCekRpVDc5dTFMWGJYb2dzVXZFUUlJ
SUlBQUFnZ2dnQUFDQ0ZRU2NNQllXbHFLZHJzZGI3NzVadXBlNVFBeU5UVTEKT284ckgrNm10VzNi
dGpoNDhHQmFYcnAwaVFySVNJZ1ZCQkJBQUFFRUVFQUFBUVFRV0plQUI1MTczcjkvZjh6UHo4ZGJi
NzBWNTgrZgpUMEhFWGJObVoyZFRRRGx3NEVEY2YvLzlxVHJpTVNHZXFJQ3NpNWlkRUVBQUFRUVFR
QUFCQkJCQUlBdTRDNVpuZDdsYVhsNk91Ym01CmNIWERGUkdQOWZCeWZEMGY1MlY5L0FIckNDQ0FB
QUlJSUlBQUFnZ2dnTUNOQkh5MXEzekZLNC81Mkw1OWU5eDExMTFwckllUEhYOSsKOGx4VVFDWkZl
SXdBQWdnZ2dBQUNDQ0NBQUFJM0ZNZ0J4RXQzeDFwWVdFakJZL3p5dkhrZmp4bkpFeFdRTE1FU0FR
UVFRQUFCQkJCQQpBQUVFMWkwd1dlVndDSm1abVVuSE8zQzRpMVlPSGptSStFa0N5THFKMlJFQkJC
QkFBQUVFRUVBQUFRUXM0R0JSbG1WYTVwRGg3YjRLCjF0R2pSNzJhSmo4M1Buc2pBV1RWaG44UlFB
QUJCQkJBQUFFRUVFRGdDd2lNVnpmZWVlZWRlT0dGRjhKTEJ3OVhSWEtsSk85SEFQa0MKeUJ5Q0FB
SUlJSUFBQWdnZ2dNRHRMakJlK2NnV0w3NzRZbHA5NmFXWFJoVVNieGpmbHdDU3RWZ2lnQUFDQ0ND
QUFBSUlJSURBdWdSYwoyZkE4UHIzeHhodXA4dUZ0NzczM1hodzVjbVFVUEhMMXc4OWRlNVMzTUNH
QUFBSUlJSUFBQWdnZ2dBQUNueU9ReDNYa1hYemxxOE9ICkQ0OENoN2UvL1BMTGNmSGl4ZEhsZXZP
K0JKQXN3UklCQkJCQUFBRUVFRUFBQVFUV0xUQmUxWGp0dGRmaXpKa3oxeHpyOFBIS0s2OWMKRTBx
OFEwM3A1ZXBGZWE4NWhBY0lJSUFBQWdnZ2dBQUNDQ0NBd1BVQ3I3LytlcnJ4NEo0OWU4STNJc3dE
emZ2OWZwdytmVHBkRGN2YgpmVlVzM3huZDNiWDhuTytXVGdYa2VrKzJJSUFBQWdnZ2dBQUNDQ0NB
d0FZSkVFQTJDSmJUSW9BQUFnZ2dnQUFDQ0NDQXdQVUNCSkRyClRkaUNBQUlJSUlBQUFnZ2dnQUFD
R3lSQUFOa2dXRTZMQUFJSUlJQUFBZ2dnZ0FBQzF3czByOS9FRmdRUVFBQUJCQkJBQUFFRUVFRGcK
c3dWT25UcVZCcFQ3eWxlZFRpZUtva2czSGh3TUJuSHUzTGxvdDl0cDNyUnBVeXd1TG9hWGMzTno2
WVFFa005MjVSa0VFRUFBQVFRUQpRQUFCQkJCWVEyRGJ0bTFjQldzTkZ6WWhnQUFDQ0NDQUFBSUlJ
SURBTFNiQUdKQmI3QWZDeTBFQUFRUVFRQUFCQkJCQTRLc3NRQUQ1Ckt2OTArZDRRUUFBQkJCQkFB
QUVFRUxqRkJBZ2d0OWdQaEplREFBSUlJSUFBQWdnZ2dNQlhXWUJCNkYvbG55N2ZHd0lJSUlBQUFn
Z2cKZ0FBQ0d5Z3dIQTdUMlE4ZlBoeXZ2dnBxK0hHMzI0MTZ2WjdtSjU1NElwNS8vdmxyWGdFVmtH
czRlSUFBQWdnZ2dBQUNDQ0NBQUFMcgpFY2pody9zKytlU1RzWFhyMW1zTzgyVjNuM3JxcWFqVmF0
ZHNKNEJjdzhFREJCQkFBQUVFRUVBQUFRUVF1SkdBUThWNHNKaWRuWTFECmh3NWRzKzNwcDU5Tzkv
NFlEeW8rTHdIa1Jybzhqd0FDQ0NDQUFBSUlJSUFBQXRjSStJYURuc2VueHg5L1BQYnUzWnMyTFM4
dng2T1AKUGpvS0pPTWhoQUF5cnNZNkFnZ2dnQUFDQ0NDQUFBSUlyRXRndkFLU0QzajIyV2ZUNmpQ
UFBCT05SbU1VUU1iM0pZQmtMWllJSUlBQQpBZ2dnZ0FBQ0NDQlFXV0M4dXVFS3lIUFBQWmNxSVE0
ZHJwTDQrVHo3NUFTUXlzUWNnQUFDQ0NDQUFBSUlJSUFBQWxsZ3ZMcmhvUEhnCmd3K213Skc3YWVY
dzRhVzNFVUN5SEVzRUVFQUFBUVFRUUFBQkJCQllsMEJabHFPcWhvTkZub3FpU0NGanN2S1J3d2dC
SkV1eFJBQUIKQkJCQUFBRUVFRUFBZ1hVTGpJY09IK1RIRGlVWExsd1lWVC82L1g3YWxwY09IOTZI
R3hHdW01a2RFVUFBQVFRUVFBQUJCQkJBd0FJTwpFcm1xMGV2MXd2UEZpeGZqOHVYTDZRYUU3cGJs
bXhFNmZIaVpBd29CaE44ZkJCQkFBQUVFRUVBQUFRUVFxQ3pnWVBHWHYvd2x6cDQ5Ckd5c3JLK0d1
Vnc0ZDA5UFQwVzYzbzlWcXBXVmU5eFd4SEQ2OGIvT25QLzFwTkp2TmRKa3M3K2pKQ2NWSnhha21s
MWVjYWpxZHptaWIKVDhLRUFBSUlJSUFBQWdnZ2dNRHRMdUIyc3h2ZmJsTjdQYzgzNCtMR3V0dmgr
YncrZDI2YjUzYTZuOHRUYnJQN3NaOGZmNXozeWN0VApwMDdGdG0zYjhzUHJsajZ2djliNGxGK1Bs
dzRmUC9qQkQ4YWZyclRlZEZyNSt0ZS9ubDZvUTRWZmJQNW1mZktQUHZvb2poMS9QLzd6CnYxdng1
c2wyL00rcFpsenFPYWpvUlhtOGlWNUUzTEdwMGhkbFp3UVFRQUFCQkJCQUFBRUV2dFFDQXpXRTNV
WlgyM211V2NUdUxkMDQKK0kySXg3NDlIWGZ2bkUwVkFBZUI4WkR3ZWQ5dkRneGV1dkh2ZHJuYjRu
N3NiazJ1SE96WXNTT1dscFpTdTkzNytOeDVkakR3NVAxegpBUG1zcjMzcDBxVzQ2NjY3MW53NVB0
N0g1ZlBubmJ6ZGs3ZTc4bkV6VTlQZnhKNDllOUlMSFgrUjNXNDNqaDA3RnYvMnE3ZmpWLysxCkVP
K2N2eU9tTmszRmQvNzFqdGkvUEJmenMxY3FJSG94VGIvSVV0VVNJWWVDV0syNXV0U3JqMkZOTDlZ
cFRLK3k1VVBLb1RDTlUwYk4KUHpUTjNzengrUEg3dzk4UDd4KzhmL0w1d2VlbjN3ZG9QOUIrdXRY
Ymp3MDFiUHVhM2I3dGRBZng1L2N2eHUrT25Zay9IVjJKNHljdgp4S0hIeW5qNGdhWFVCV205dlli
Y3dNK05mQy9kMFBmc0VPTEp5NU1uVDZaejd0Ky9QMVZiMGhQNngyMzRmR3plbHBmajdmdTg3Y3la
Ck02bjlueC9uNVdlZHc4L241L3lhM08zcVpxYW0wNVJUa3Z0bjVSZnY4UEh1dSsvRzY3ODVGcjg0
c1JSLzdlNk0yaDNOZU9RNzIrT3gKQTRzeE85VlE2TkNYMVRkYjZrVW9lNnhlejdldTBwTURpSlpp
aUlhZXJ6ZWMvQlF3L0VQU2Zvb3FPbERkdS9SQVdVVGJodEhUaXQ1eQp0Wm5qOGVQM2g3OGYzajk0
LytUemc4OVAyZyswbjI3dDltTmZiVmUzYjkxK2RkM2g3dDJiWW1icmRQenN0eC9HaVhQdGlDTm40
bXM3Ck9ySHZudm1ZbXBwS2JXMDNkVDl2Y3NQZWpYelBybWI0c1pkdW4rZlpReUxlZlBQTm1KK2Zq
K1hsNVZSbHlRSER4K1gxei9zNmZzN0QKS3ZMUWl4dnRtOC9ycFNlL0J1ZUhtNWxTRnl5ZnlEaCsw
ZjVtM2UzcWozLzhZL3p1N1hyOHRiZzdhZ0pkV0dqSEhadGJDYkF2YVdPTApTSUhDSDVVUlhRVUpj
YWVnVWRlMXRlbzZsejVDb3E0ZFBWekVRY043KzFndEZENE1YTk9BRlQrdWNUeCsvUDd3OThQN2g5
NU1lZi9rCjg0UFBUOW9QdEorK0JPMUhGU1hVZkwweXJmNW4rdEpDSythWFp1SmNzeEVuUHRrYXYv
ajlwL0hOUFV1cG9iK2V4bjRPSUY3bThPR2wKQ3dVKzNwVVVCNGR6NTg3RlcyKzlGWE56YzdGOSsv
WlJ1SmtNSCs2MjlkcHJyOFdoUTRmeUN4MHQ4NER4MFlZcks0Y1BINDRubjN3eQpabWRuUjAvbDgz
cnBFT0xjNE9OdlpsTHZxVnE2WkphL0NVKytkcTluRDA1NTkvTFhvcjRvek1XcFdKeHJ4ZW1MRVo5
Y0dxb0NVbytHClFrWnlWMEdqVUFwMEtPcnJ2KzlWOEZBMDhnZElQZHdUeTQvcmc5WGtWanFFRERY
T3hGOUkyN3FsQjdwcklJdENDY2ZqeCs4UGZ6KzgKZi9EK3llY0huNSswSDJnL2ZSbmFqMlZmNHkv
cXFVV2Jldmk0TFh2bTRqQVc1NXVwblh0Qjdkcy8vTDJlR3V2dVpaVC9vOTlONE0rYQp4Z05JSHVp
ZEt5RHVmdVhuTjIzYWxPYno1OCtIeDNINHNyY0xDd3VqRUpMUC9jWWJiNFREaEx0YS9mQ0hQOHli
Ujh0ODN0R0dLeXV2CnZ2cHEvUHJYdjA2aDVmSEhINTk4T3IwR2Y4MGNTcTdiWVowYm1yNVVsaE9T
MDVTVGxiOGhuL1RUVHorTmoxdi9IUE1MVTdGbHNhMEEKMHRiZzgxcjh4N3VGZ29XdTU5dHcvRmdO
SHU1VVpYaVA4YWhyekVlcnJaUVdmWFhCVWdEUjNGUVNiQ2ljOVBYRDhnOXNvSEJpU0hmZApLcnp0
U21XRTQvSGo5NGUvSDk0L2VQL2s4NFBQVDlvUHRKOXU5ZmFqaHcra2xyRCtCNzNzRldyVHVnclNW
d0JwUmMxZGY5UjE2dStYCkZzTERHdHkrcmhKQUhBNDgremkzbDkwdTkrd0E0aXRoK1Z4dXR6dlk1
SGI3ek14TTJ2N09PKy9FaXkrK0dGN21MbE0reCtUa2M2MjEKM2NkOC9QSEg4Wk9mL0NSKytjdGZ4
clBQUGh0NzkrNU41M0xWdzBVSzV3Ym5oNXVabW43eEx1MDR6Ymk4azc4eFA1NmFpVmhVT2NuVgpq
NldGNmZBMzExS1lhRGJWRlV0Qm8xWlhOVVBmZ0lwRENoSzZxNkYrVzlveWJ5aEp1TTdSMEg5bmV2
aTV0N2VNNkNxSjl1dnJoelRRCjdBRFNLOVRIVFh0elBINzgvdkQzdy9zSDc1OThmdkQ1U2Z1Qjl0
T1hvZjNZN1pYcU1xdHFSNm53b2YrRUw0cHU5RG9yMFZYUHBGcXQKaUVIUmlndnE3ZU5HdnR2V2Jt
Tzd2ZjE1MDJRRkpIZVR5a0hDb1NSMzVmSVlqQndDSEFnOEh6MTZORjU0NFlYcnZzVHAwNmV2MitZ
QQpzOVoyQjZZOEhUOStQSDcwb3gvRmM4ODlGdzgrK0dBS1FINHRlZXg0M3UrTExKditSaHhDOHRM
ZnZMOWhmMU4zTlU5SGEzcGJMTXkwClkyR1RBc2pzcHBpZTByN2EzMTBsRk1iMFlqd2VaTFdpMFZM
TnJDVmNWenRTOE5DNmcwcnpTdGNzWlE3OUlEVHJHQmV0VWlEcDlhTVkKY3J4L1FmSGo5NGUvSDk0
L2VQL2s4NFBQVDdVYmFEL1FmcnJGMjQ5RjRRcUlCNHFYVWFnQzB1dldvOVBTUlowNmw5WFdIVVl4
MDR6Tgp2Zk5xQXkrbU52WjZBb2diOTI2SGUzWWpQMWMrOG5aWFJISVk4UmdOdDkrOWp5ZHZmK1NS
UitMT08rK01sMTU2S2Q1Nzc3MjAzZis0CllqSTUrZGkxdG8rSHBPWGw1WGptbVdkR0ZaRDgydncx
Y3hDYVBPOTZINmNLaUYrQXY2Q1hQcmtIbDJ6ZHVqWHUvUGo5NkU0ZlNHTSsKWm1lbllrSGRzR1kz
elFwVFhZVTh0c01CUkY5SndVK0R5aFZNOU5pekIxSDZmN1BsbEM3UjI5QnRROXhOenZ2MmxReTlm
MW82dkF5YgpLbGx4UEg3OC92RDN3L3NINzU5OGZ2RDVTZnVCOXRPWG8vM1k2L3QxTmpXMFFITXhG
WjJWVmx6dXFFZVJoaUIwVkFhWm1XN0Vqd09QCk1BQUFBK0ZKUkVGVWN1MjhCb3J2R2dXUUhCYlVE
RjV6eWtIRGJmRzhiOTdtLzZqMnV0dm9ybEw0TmhvNWdIaGZIK1BwVzkvNlZ2ejQKeHorT0kwZU94
TXN2dnp6cTRUVDVCWFB4WVhLNzg0REhoVC85OU5QeDZLT1BwbTVnK2Z6KytuNGQzc2ZIMzh5VUFv
aFBrcnRlNVcvZwpubnZ1aVozdi9DWStPSHNpV2x1L0U5UDZaSnhSK0pqVldIVUhLWDlkVnpGOGFW
MVhOUndxMURNcmZJdENoeE1OQTBsOTQxUmdVVFZrCnRTK2o5MWZCSXgybm5sZXBaT1ZqQzQ3SGo5
OGYvbjU0LytEOWs4OFBQajlwUDlCKytySzBIOVdPMVpEbTlCL3FmVjE4cWRGUzQxZzMKdUN0N25i
amNhc2I4cFJQeDBKNUJHaUErSGhUME52ZTVrNnNjbnR6WWQwUGZqZjhjUW5JQWNYZXJBd2NPakxw
ZzVYM3lNVjUrLy92ZgpqKzkrOTd2eHlpdXZyRm5wOEdEMnRTb2dUenp4UkR6MTFGTXBoUGk4T1h3
NEgvaTh6Z3NPSVRjZFFITFhxOXcvemQrMHYrR0hIMzQ0CjNuNzc3ZWkvZHl3NkgyaEF6ZEsvYUtT
R0FvYmZIQlErbW5KMnVOQjRHOTJBVUQ4QS9TRFVPeXQ4WXhZSEVSVkFWQVhSckdYTlMxVkYKSERh
bTlieXYzRlVvdURpUXVCTFNjNGpoZVB6NC9lSHZoL2NQM2ovNS9PRHprL1lEN2FjdlFmdFJoWWhS
QUNtOHJqWnQwZEZGUk56dQpQWFU4N3B2L1J6eXc3OTdZc21WTGFyUzdiWDJqeVEzOFhBand2bTc4
NTZXZmMrWERsK0hkdG0xYjNILy8vZGVGQU8rVGovRnhIazd4Ci9QUFBYN010blZEL0xDNHVqZ0pN
M3VabDN0L255cFBYODV3cklEZmRCY3RKSzg4NWFmbkYrL2JzMy92ZTk2TDQrYy9qNUVmL0htZVAK
bm96ZTNkK084cDhlak0zYmw2S2hNU3FGR295ZS9CcGQyUmhvUUh4YnZxV1RvTXdLL1FJNXNOalBv
Y1EvSUtlT3J2YjFUOHFEZHJyYQpwZ3NKY0R4Ky9QN3c5OFA3QisrZmZIN3crVW43Z2ZiVGw2UDlx
RGFzMjdTcERhdzI4U2YvZXpZKytadiswLzdERTdGL2JpVWV1bTl2CjdONjllM1EvRFE4Z3Y5R1VH
L2tPSWQ3ZmpYMHZQVGJiWGE5OGdTaTMyUThlUEpndXhadlA1K1BjZHA5YzV1ZlhXcm9DY3FOUU5I
NCsKci90MStldDczY3VibVpyK3hqejdoWHVaSjUvNDNudnZUUy9PbytvLytPQ0R1UHcvcjhXNXR3
L0hhU0hrRnpXZXRQS3hMQkZBQUFFRQpFRUFBQVFRUXVCMEUzSXZJVjRyZHVYbHo3Tnl6TTVhWEQy
aGVqczE2N0VaK2JtdmZ5TUp0YTAvZTM0MTlCNDhjUG56VktsYzA5dTNiCmx5b2dEaWVUVTI2YlQy
NWY2N0hIZWF4MWpyWDI5WGs5K3pYbGNEU2VHZFk2NWtiYm1yNk1sMjlrNHNBeDNoY3NmekVEZXFD
TEE4aloKczJjVGhFK2FVOU40MWVSR1g0em5FVUFBQVFRUVFBQUJCQkQ0cWdqNFArTGRGbmFYSklj
UTN4VFEzWnZjd1BlMkhDYlc4LzI2Y1QvZQowTThCeE1mdTJyVXJuZGRmeSszMi80K3B5bmttdzRm
enc4MU0vd2NiWGxIdzRKUW9kZ0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>
<flag name="review"
          id="28534"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>