<?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>117610</bug_id>
          
          <creation_ts>2013-06-13 15:12:39 -0700</creation_ts>
          <short_desc>[CSS Shapes] limit shape image values to same origin</short_desc>
          <delta_ts>2013-06-22 12:57:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900295</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-13 15:12:39 -0700</bug_when>
    <thetext>The image URL value of shape-inside or shape-outside should be restricted to have the same origin as the document its applied to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902341</commentid>
    <comment_count>1</comment_count>
      <attachid>205123</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-20 14:58:33 -0700</bug_when>
    <thetext>Created attachment 205123
Patch

Restrict the image URL values for shape-inside and shape-outside to the same origin as the document. The alpha channel of image shape values will be tresholded to produce the shape&apos;s boundaries (see bug 116643) so normal image access rules aren&apos;t secure enough.

Added a RequestOriginPolicy ResourceLoaderOption which is used by StyleResolver::loadPendingShapeImage() to request the additional restriction. The change should have no other effect although it does enable one to apply the same restriction to other resources which can currently be loaded from any origin - see CachedResourceLoader::canRequest().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902342</commentid>
    <comment_count>2</comment_count>
      <attachid>205124</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-20 15:05:16 -0700</bug_when>
    <thetext>Created attachment 205124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902426</commentid>
    <comment_count>3</comment_count>
      <attachid>205124</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-06-20 21:20:01 -0700</bug_when>
    <thetext>Comment on attachment 205124
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:4106
&gt; +    DEFINE_STATIC_LOCAL(ResourceLoaderOptions, options, (SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, DoSecurityCheck,  RestrictToSameOrigin));

What does the spec say? It seems like cross origin loading this should be controlled by CORS, not strictly forbidden.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:340
&gt;          // These types of resources can be loaded from any origin.
&gt;          // FIXME: Are we sure about CachedResource::FontResource?
&gt; +        if (options.requestOriginPolicy == RestrictToSameOrigin &amp;&amp; !m_document-&gt;securityOrigin()-&gt;canRequest(url)) {

The FIXME appears obsolete now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902545</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 07:38:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 205124 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205124&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/StyleResolver.cpp:4106
&gt; &gt; +    DEFINE_STATIC_LOCAL(ResourceLoaderOptions, options, (SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, DoSecurityCheck,  RestrictToSameOrigin));
&gt; 
&gt; What does the spec say? It seems like cross origin loading this should be controlled by CORS, not strictly forbidden.

I agree although the spec hasn&apos;t been finalized on this point yet: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16112.  I&apos;ve taken the conservative tack of restricting image shapes to same-origin for now, to enable us to safely land the first version of the shapes from image feature (https://bugs.webkit.org/show_bug.cgi?id=116643). If it&apos;s OK with you, I&apos;d like to defer support for CORS until the spec is finalized (assuming that CORS is the final decision).

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:340
&gt; &gt;          // These types of resources can be loaded from any origin.
&gt; &gt;          // FIXME: Are we sure about CachedResource::FontResource?
&gt; &gt; +        if (options.requestOriginPolicy == RestrictToSameOrigin &amp;&amp; !m_document-&gt;securityOrigin()-&gt;canRequest(url)) {
&gt; 
&gt; The FIXME appears obsolete now.

I left the FIXME alone because it seemed like someone&apos;s reminder to reconsider allowing any-origin FontResources by default. I&apos;ve enabled adding such a check via the ResourceLoaderOptions but I haven&apos;t changed the default behavior for FontResources (or anything else, except images specified as shape values).

I&apos;ll change the comment above the FIXME to &quot;... from any origin by default&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902547</commentid>
    <comment_count>5</comment_count>
      <attachid>205183</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 07:46:41 -0700</bug_when>
    <thetext>Created attachment 205183
Patch

Changed a comment in CachedResourceLoader::canRequest().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902548</commentid>
    <comment_count>6</comment_count>
      <attachid>205184</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 07:51:36 -0700</bug_when>
    <thetext>Created attachment 205184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902549</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-21 07:52:36 -0700</bug_when>
    <thetext>Attachment 205184 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;]&quot; exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902597</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-06-21 09:49:01 -0700</bug_when>
    <thetext>The latest patch is a binary image, not an actual patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902614</commentid>
    <comment_count>9</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 11:06:53 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; The latest patch is a binary image, not an actual patch.

GACK.  Sorry about that.  I&apos;ll upload a proper patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902615</commentid>
    <comment_count>10</comment_count>
      <attachid>205200</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 11:07:26 -0700</bug_when>
    <thetext>Created attachment 205200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902704</commentid>
    <comment_count>11</comment_count>
      <attachid>205200</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-06-21 16:08:43 -0700</bug_when>
    <thetext>Comment on attachment 205200
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:4106
&gt; +    DEFINE_STATIC_LOCAL(ResourceLoaderOptions, options, (SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, DoSecurityCheck,  RestrictToSameOrigin));

Two spaces before RestrictToSameOrigin.

I don&apos;t think that it&apos;s great to duplicate most default options, with one change. Can you just start with a default, and update only the security policy?

This code doesn&apos;t look hot enough to warrant reusing the options. I&apos;d just avoid DEFINE_STATIC_LOCAL here if that makes us make the code more complicated than it needs to be.

&gt; Source/WebCore/css/StyleResolver.cpp:4112
&gt; +    StyleImage* image = shapeValue-&gt;image();
&gt; +    if (!image)
&gt; +        return;
&gt; +
&gt; +    StylePendingImage* pendingImage = static_cast&lt;StylePendingImage*&gt;(image);

Before being split out in to a separate function, this code didn&apos;t attempt casting without a isPendingImage() check.

I don&apos;t know much about this code, but since this change is not explained in ChangeLog, I&apos;m going to assume that this is a bug.

&gt; Source/WebCore/css/StyleResolver.cpp:-4180
&gt; -            if (m_state.style()-&gt;shapeInside() &amp;&amp; m_state.style()-&gt;shapeInside()-&gt;image() &amp;&amp; m_state.style()-&gt;shapeInside()-&gt;image()-&gt;isPendingImage())

Also, we used to null check m_state.style()-&gt;shapeInside(), but do not any more.

&gt; Source/WebCore/loader/ResourceLoaderOptions.h:82
&gt; +    ResourceLoaderOptions(
&gt; +        SendCallbackPolicy sendLoadCallbacks,
&gt; +        ContentSniffingPolicy sniffContent,
&gt; +        DataBufferingPolicy dataBufferingPolicy,
&gt; +        StoredCredentials allowCredentials,
&gt; +        ClientCredentialPolicy credentialPolicy,
&gt; +        SecurityCheckPolicy securityCheck,
&gt; +        RequestOriginPolicy requestOriginPolicy)

This is not a usual WebKit style. Normally, we just let the line run longer.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:340
&gt; -        // These types of resources can be loaded from any origin.
&gt; +        // These types of resources can be loaded from any origin by default.
&gt;          // FIXME: Are we sure about CachedResource::FontResource?
&gt; +        if (options.requestOriginPolicy == RestrictToSameOrigin &amp;&amp; !m_document-&gt;securityOrigin()-&gt;canRequest(url)) {

You updated the comment, but it&apos;s still misplaced and confusing.

There is no logic about resource types here that needs to be explained, we are just adhering to options.requestOriginPolicy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902714</commentid>
    <comment_count>12</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 16:47:53 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 205200 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205200&amp;action=review

&gt; I don&apos;t think that it&apos;s great to duplicate most default options, with one change. Can you just start with a default, and update only the security policy?

Yes, and I agree that&apos;s clearer and shouldn&apos;t have an impact on performance.

&gt; Before being split out in to a separate function, this code didn&apos;t attempt casting without a isPendingImage() check.
&gt; &gt; Source/WebCore/css/StyleResolver.cpp:-4180
&gt; &gt; -            if (m_state.style()-&gt;shapeInside() &amp;&amp; m_state.style()-&gt;shapeInside()-&gt;image() &amp;&amp; m_state.style()-&gt;shapeInside()-&gt;image()-&gt;isPendingImage())
&gt; 
&gt; Also, we used to null check m_state.style()-&gt;shapeInside(), but do not any more.

Thanks for catching these omissions. I&apos;d also forgotten to bracket loadPendingShapeImage() with #if ENABLE(CSS_EXCLUSIONS)

I&apos;ve made the other changes you suggested as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902716</commentid>
    <comment_count>13</comment_count>
      <attachid>205227</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-21 16:54:04 -0700</bug_when>
    <thetext>Created attachment 205227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902738</commentid>
    <comment_count>14</comment_count>
      <attachid>205227</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-06-21 21:05:03 -0700</bug_when>
    <thetext>Comment on attachment 205227
Patch

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

r=me

&gt; Source/WebCore/css/CSSImageValue.h:25
&gt; +#include &quot;CachedResourceLoader.h&quot;

It is very undesirable to add loader related includes to CSS and rendering headers that had none. CachedResourceLoader.h will bring in a huge amount of headers into each file that includes CSSImageValue.h, and this kind of stuff has dramatic effects on compilation time.

Please don&apos;t add this include.

Very sorry for not catching this earlier.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:338
&gt;          // FIXME: Are we sure about CachedResource::FontResource?

Even this is still misplaced. The right place for this FIXME is now where font resources get their options.

If you can&apos;t find a good place for it, I suggest just removing it. Our cross-origin rules for fonts are a well known choice, and there are (were?) bugs in bugzilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902791</commentid>
    <comment_count>15</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-22 09:06:44 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 205227 [details])

&gt; &gt; Source/WebCore/css/CSSImageValue.h:25
&gt; &gt; +#include &quot;CachedResourceLoader.h&quot;
&gt; 
&gt; It is very undesirable to add loader related includes to CSS and rendering headers that had none. CachedResourceLoader.h will bring in a huge amount of headers into each file that includes CSSImageValue.h, and this kind of stuff has dramatic effects on compilation time.

I&apos;ve made this change in a simple way, by just moving the definition of the one parameter overload of cachedImage() to CSSImageValue.cpp.

    StyleCachedImage* cachedImage(CachedResourceLoader*, const ResourceLoaderOptions&amp;);
    StyleCachedImage* cachedImage(CachedResourceLoader*);

It would have been nice to preserve the one parameter member function as an inline that contains:

    return cachedImage(loader, CachedResourceLoader::defaultCachedResourceOptions());

I&apos;m afraid I&apos;m not enough of a C++ expert to know how to refer to the static CachedResourceLoader defaultCachedResourceOptions() function in CSSImageValues.h without including CachedResourceLoader.h.  If there&apos;s a way to do this, I&apos;ll be happy to upload a cleanup patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902792</commentid>
    <comment_count>16</comment_count>
      <attachid>205253</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-22 09:07:50 -0700</bug_when>
    <thetext>Created attachment 205253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902794</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-06-22 09:29:48 -0700</bug_when>
    <thetext>&gt; If there&apos;s a way to do this

No, the best one can do is separate it out into a new header (and then it won&apos;t be part of CachedResourceLoader class).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902797</commentid>
    <comment_count>18</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-06-22 10:08:59 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; If there&apos;s a way to do this
&gt; 
&gt; No, the best one can do is separate it out into a new header (and then it won&apos;t be part of CachedResourceLoader class).

OK.  Since it seems like it really belongs with the class, I will leave things as they are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902804</commentid>
    <comment_count>19</comment_count>
      <attachid>205253</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-22 12:57:05 -0700</bug_when>
    <thetext>Comment on attachment 205253
Patch

Clearing flags on attachment: 205253

Committed r151878: &lt;http://trac.webkit.org/changeset/151878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902805</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-22 12:57:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205123</attachid>
            <date>2013-06-20 14:58:33 -0700</date>
            <delta_ts>2013-06-20 15:05:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>22573</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MTVlMWY3Li43NjlkOTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgYSBub24gc2Ft
ZS1vcmlnaW4gaW1hZ2UgVVJMIHNwZWNpZmllZCBmb3Igc2hhcGUtaW5zaWRlIG9yCisgICAgICAg
IHNoYXBlLW91dHNpZGUgd2lsbCBub3QgbG9hZCBhbmQgdGhlIHNoYXBlIHByb3BlcnR5IHdpbGwg
YmUgcmVzZXQgdG8gIm5vbmUiLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1p
bnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTA1LTI0ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbR3N0cmVhbWVyXSBjbGVhbnVwIGJ1ZmZlcmluZyBhbmQgc3RhdGUgdXBkYXRlcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY3YmFiYgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFu
ZCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgZGlmZmVy
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lk
ZS1pbWFnZS1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzMyMzM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0
IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0eS9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZyBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4KKworQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0
byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3NxdWFy
ZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5k
IHBvcnRzIG11c3QgbWF0Y2guCisKK1ZlcmlmeSB0aGF0IHNoYXBlLWluc2lkZSBhbmQgc2hhcGUt
b3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBhIFVSTCB3aXRoIGEgZGlmZmVyZW50IG9yaWdpbiBh
bmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRvaW5nIHNvIHNldHMgdGhlIHByb3BlcnR5IHRvICJub25l
Ii4gVGhpcyB0ZXN0IHNob3VsZCBnZW5lcmF0ZSB0d28gZXJyb3IgbWVzc2FnZXMgYWJvdXQgdW5z
YWZlIGF0dGVtcHRzIHRvIGxvYWQgYSBVUkwuCisKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZUluc2lkZSBpcyAicmVjdGFuZ2xlKDBweCwgMHB4
LCAwcHgsIDBweCwgMHB4LCAwcHgpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFw
ZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZSBpcyAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgs
IDBweCwgMHB4LCAwcHgpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1l
bnQpLndlYmtpdFNoYXBlSW5zaWRlIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZSBpcyAibm9uZSIKKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFn
ZS1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5z
aWRlLWltYWdlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmM5MjI3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICAjc2hhcGUgeworICAgICAgICAt
d2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDAsIDApOworICAgICAgICAtd2Vi
a2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAwLCAwLCAwKTsKKyAgICB9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlZlcmlmeSB0aGF0IHNoYXBlLWluc2lkZSBhbmQgc2hh
cGUtb3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBhIFVSTCB3aXRoIGEgZGlmZmVyZW50IG9yaWdp
bgorICBhbmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRvaW5nIHNvIHNldHMgdGhlIHByb3BlcnR5IHRv
ICJub25lIi4gVGhpcyB0ZXN0IHNob3VsZCBnZW5lcmF0ZSB0d28gZXJyb3IKKyAgbWVzc2FnZXMg
YWJvdXQgdW5zYWZlIGF0dGVtcHRzIHRvIGxvYWQgYSBVUkwuPC9wPgorICA8cCBpZD0iY29uc29s
ZSI+PC9wPgorCisgIDxkaXYgaWQ9InNoYXBlIj48L2Rpdj4KKworPHNjcmlwdD4KKyAgdmFyIHNo
YXBlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFwZSIpOworICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNoYXBlRWxlbWVudCkud2Vi
a2l0U2hhcGVJbnNpZGUnLCAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgp
Iik7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hh
cGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUnLCAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgs
IDBweCwgMHB4LCAwcHgpIik7CisKKyAgLy8gVGhlIGltYWdlIFVSTCdzIHBvcnQgZG9lcyBub3Qg
bWF0Y2ggdGhpcyBkb2N1bWVudCdzIG9yaWdpbi4gV2UgZXhwZWN0IGEgcGFpciBvZiBjb25zb2xl
IHdhcm5pbmdzLgorICBzaGFwZUVsZW1lbnQuc3R5bGUud2Via2l0U2hhcGVJbnNpZGUgPSAndXJs
KCJodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmci
KSc7CisgIHNoYXBlRWxlbWVudC5zdHlsZS53ZWJraXRTaGFwZU91dHNpZGUgPSAndXJsKCJodHRw
Oi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmciKSc7CisK
KyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVs
ZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlJywgIm5vbmUiKTsKKyAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0
c2lkZScsICJub25lIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA2YTU0NmZjLi5hZGRiYzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzdHJpY3QgdGhlIGltYWdlIFVS
TCB2YWx1ZXMgZm9yIHNoYXBlLWluc2lkZSBhbmQgc2hhcGUtb3V0c2lkZSB0bworICAgICAgICB0
aGUgc2FtZSBvcmlnaW4gYXMgdGhlIGRvY3VtZW50LiBUaGUgYWxwaGEgY2hhbm5lbCBvZiBpbWFn
ZSBzaGFwZSB2YWx1ZXMKKyAgICAgICAgd2lsbCBiZSB0cmVzaG9sZGVkIHRvIHByb2R1Y2UgdGhl
IHNoYXBlJ3MgYm91bmRhcmllcyAoc2VlIGJ1ZyAxMTY2NDMpCisgICAgICAgIHNvIG5vcm1hbCBp
bWFnZSBhY2Nlc3MgcnVsZXMgYXJlbid0IHNlY3VyZSBlbm91Z2guCisKKyAgICAgICAgQWRkZWQg
YSBSZXF1ZXN0T3JpZ2luUG9saWN5IFJlc291cmNlTG9hZGVyT3B0aW9uIHdoaWNoIGlzIHVzZWQg
YnkKKyAgICAgICAgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKCkgdG8gcmVx
dWVzdCB0aGUgYWRkaXRpb25hbCByZXN0cmljdGlvbi4KKyAgICAgICAgVGhlIGNoYW5nZSBzaG91
bGQgaGF2ZSBubyBvdGhlciBlZmZlY3QgYWx0aG91Z2ggaXQgZG9lcyBlbmFibGUgb25lIHRvIGFw
cGx5CisgICAgICAgIHRoZSBzYW1lIHJlc3RyaWN0aW9uIHRvIG90aGVyIHJlc291cmNlcyB3aGlj
aCBjYW4gY3VycmVudGx5IGJlIGxvYWRlZCBmcm9tCisgICAgICAgIGFueSBvcmlnaW4gLSBzZWUg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoKS4KKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbAorCisgICAgICAg
ICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1
ZTo6Y2FjaGVkSW1hZ2UpOiBBZGQgYW4gZWZmZWN0aXZlbHkgb3B0aW9uYWwgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zIHBhcmFtZXRlci4KKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOiBEaXR0by4KKyAgICAg
ICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29s
dmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1hZ2UpOiBMb2FkIHRoZSBpbWFnZSB3aXRoIHRoZSBkZWZh
dWx0IENhY2hlZFJlc291cmNlTG9hZGVyIG9wdGlvbnMgcGx1cyBSZXN0cmljdFRvU2FtZU9yaWdp
bi4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2VzKTog
Q2FsbCBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UoKS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZl
ci5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKTogVXBkYXRlIHRo
ZSBSZXNvdXJjZUxvYWRlck9wdGlvbnMgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAqIGxvYWRl
ci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIpOiBEaXR0
by4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyOjpvcHRpb25zKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zLmg6IEFkZCBSZXF1ZXN0T3JpZ2luUG9saWN5IGVudW0uCisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUxvYWRlck9wdGlvbnM6OlJlc291cmNlTG9hZGVyT3B0aW9ucyk6CisgICAg
ICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBQYXNzIFJlc291cmNlTG9hZGVyT3B0
aW9ucyBhbG9uZyB0byByZXZpc2VkIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KCku
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVl
dCk6IFVwZGF0ZSBsb2FkKCkgUmVzb3VyY2VMb2FkZXJPcHRpb25zLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOiBSZXBsYWNlZCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lDaGVjayBwYXJhbWV0ZXIgd2l0aCBSZXNvdXJjZUxvYWRlck9wdGlvbnMuCisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKTog
UGFzcyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgYWxvbmcgdG8gcmV2aXNlZCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Y2FuUmVxdWVzdCgpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMpOiBBZGRlZCBVc2VEZWZhdWx0T3Jp
Z2luUmVzdHJpY3Rpb25zRm9yVHlwZSBpbml0aWFsaXplci4KKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6IEFk
ZGVkIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlIGludGlhbGl6ZXIuCisKIDIw
MTMtMDUtMjQgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFtHc3RyZWFtZXJdIGNsZWFudXAgYnVmZmVyaW5nIGFuZCBzdGF0ZSB1cGRhdGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXggZDZjYTgzNC4uYWM0ZjZiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtNjMsMTQgKzYzLDE0IEBAIFN0eWxlSW1hZ2Uq
IENTU0ltYWdlVmFsdWU6OmNhY2hlZE9yUGVuZGluZ0ltYWdlKCkKICAgICByZXR1cm4gbV9pbWFn
ZS5nZXQoKTsKIH0KIAotU3R5bGVDYWNoZWRJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1h
Z2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKK1N0eWxlQ2FjaGVkSW1hZ2UqIENTU0lt
YWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBBU1NFUlQobG9hZGVyKTsK
IAogICAgIGlmICghbV9hY2Nlc3NlZEltYWdlKSB7CiAgICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9
IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VS
ZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwobV91cmwpKSk7CisgICAgICAg
IENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNlUmVxdWVzdChsb2FkZXItPmRv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSksIG9wdGlvbnMpOwogICAgICAgICBpZiAobV9p
bml0aWF0b3JOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9y
KGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5jc3MpOwogICAgICAgICBlbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAppbmRleCA2MmUxMTYyLi44MWJkNTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgQ1NTSW1h
Z2VWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0zOCw3ICszOSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJ
bWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFN0eWxlSW1hZ2UqIGltYWdlKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwsIGltYWdlKSk7IH0KICAgICB+
Q1NTSW1hZ2VWYWx1ZSgpOwogCi0gICAgU3R5bGVDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqKTsKKyAgICBTdHlsZUNhY2hlZEltYWdlKiBjYWNoZWRJbWFnZShD
YWNoZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOworICAg
IFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2Fk
ZXIpIHsgcmV0dXJuIGNhY2hlZEltYWdlKGxvYWRlciwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRl
ZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSk7IH0KICAgICAvLyBSZXR1cm5zIGEgU3R5bGVD
YWNoZWRJbWFnZSBpZiB0aGUgaW1hZ2UgaXMgY2FjaGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0
eWxlUGVuZGluZ0ltYWdlLgogICAgIFN0eWxlSW1hZ2UqIGNhY2hlZE9yUGVuZGluZ0ltYWdlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBlMmQ4ZDhkLi5kNDlhMmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00MTAxLDYgKzQxMDEsMjEg
QEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdl
KFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4KICAgICByZXR1cm4gMDsKIH0KIAordm9pZCBTdHls
ZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1hZ2UoU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSkK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlc291cmNlTG9hZGVyT3B0aW9ucywgb3B0aW9u
cywgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRD
cmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywg
IFJlc3RyaWN0VG9TYW1lT3JpZ2luKSk7CisKKyAgICBTdHlsZUltYWdlKiBpbWFnZSA9IHNoYXBl
VmFsdWUtPmltYWdlKCk7CisgICAgaWYgKCFpbWFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
U3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJbWFnZSA9IHN0YXRpY19jYXN0PFN0eWxlUGVuZGlu
Z0ltYWdlKj4oaW1hZ2UpOworICAgIENTU0ltYWdlVmFsdWUqIGNzc0ltYWdlVmFsdWUgPSAgcGVu
ZGluZ0ltYWdlLT5jc3NJbWFnZVZhbHVlKCk7CisgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNh
Y2hlZFJlc291cmNlTG9hZGVyID0gbV9zdGF0ZS5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxv
YWRlcigpOworCisgICAgc2hhcGVWYWx1ZS0+c2V0SW1hZ2UoY3NzSW1hZ2VWYWx1ZS0+Y2FjaGVk
SW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIsIG9wdGlvbnMpKTsKK30KKwogdm9pZCBTdHlsZVJl
c29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcygpCiB7CiAgICAgaWYgKG1fc3RhdGUucGVuZGluZ0lt
YWdlUHJvcGVydGllcygpLmlzRW1wdHkoKSkKQEAgLTQxNzcsMTIgKzQxOTIsMTAgQEAgdm9pZCBT
dHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcygpCiAgICAgICAgIH0KICNpZiBFTkFCTEUo
Q1NTX1NIQVBFUykKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFNoYXBlSW5zaWRlOgot
ICAgICAgICAgICAgaWYgKG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKSAmJiBtX3N0YXRl
LnN0eWxlKCktPnNoYXBlSW5zaWRlKCktPmltYWdlKCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFw
ZUluc2lkZSgpLT5pbWFnZSgpLT5pc1BlbmRpbmdJbWFnZSgpKQotICAgICAgICAgICAgICAgIG1f
c3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShz
dGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNp
ZGUoKS0+aW1hZ2UoKSkpKTsKKyAgICAgICAgICAgIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShtX3N0
YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRTaGFwZU91dHNpZGU6Ci0gICAgICAgICAgICBpZiAobV9z
dGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0
c2lkZSgpLT5pbWFnZSgpICYmIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdl
KCktPmlzUGVuZGluZ0ltYWdlKCkpCi0gICAgICAgICAgICAgICAgbV9zdGF0ZS5zdHlsZSgpLT5z
aGFwZU91dHNpZGUoKS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHls
ZVBlbmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkp
KSk7CisgICAgICAgICAgICBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UobV9zdGF0ZS5zdHlsZSgpLT5z
aGFwZU91dHNpZGUoKSk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICBkZWZh
dWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggMWViZTkzMi4uMGI4MjlmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC01ODEsNiArNTgxLDcgQEAgcHJpdmF0
ZToKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBl
bmRpbmdJbWFnZSopOwogICAgIHZvaWQgbG9hZFBlbmRpbmdJbWFnZXMoKTsKKyAgICB2b2lkIGxv
YWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZhbHVlKik7CiAKICAgICBzdGF0aWMgdW5zaWduZWQg
Y29tcHV0ZU1hdGNoZWRQcm9wZXJ0aWVzSGFzaChjb25zdCBNYXRjaGVkUHJvcGVydGllcyosIHVu
c2lnbmVkIHNpemUpOwogICAgIHN0cnVjdCBNYXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA4YzRlNDViLi4zYTNi
MzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTEzNjgs
NyArMTM2OCw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJj
ZSgpCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChtX3JlcXVlc3QpOwogICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoUmVzb3VyY2VMb2FkZXJPcHRpb25zLCBtYWluUmVzb3VyY2VMb2FkT3B0
aW9ucywKLSAgICAgICAgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwg
QWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBT
ZWN1cml0eUNoZWNrKSk7CisgICAgICAgIChTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1
ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRp
YWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5
cGUpKTsKICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KHJl
cXVlc3QsIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zKTsKICAgICBtX21haW5SZXNvdXJjZSA9IG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RNYWluUmVzb3VyY2UoY2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0KTsKICAgICBpZiAoIW1fbWFpblJlc291cmNlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcAppbmRleCBhNzhlODA3
Li5jYzQzZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9h
ZGVyKEZyYW1lKiBmcmFtZSwgTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXJDbGllbnQqIGNsaWVu
dCkKLSAgICA6IFJlc291cmNlTG9hZGVyKGZyYW1lLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2Vu
ZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBEb05vdEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykp
CisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFtZSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRD
YWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9Ob3RCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRl
bnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVz
ZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKSkKICAgICAsIG1fY2xpZW50KGNsaWVu
dCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMGE1NDk5
Yi4uZDgyYWE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTE2
MCw2ICsxNjAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhT3JCdWZm
ZXIoY29uc3QgY2hhciosIGludCwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBsb25nIGxvbmcg
ZW5jb2RlZERhdGFMZW5ndGgsIERhdGFQYXlsb2FkVHlwZSk7CiAKKyAgICBjb25zdCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMoKSB7IHJldHVybiBtX29wdGlvbnM7IH0KKwogICAgIFJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gbV9oYW5kbGU7CiAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1l
OwogICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4gbV9kb2N1bWVudExvYWRlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAppbmRleCBkMWI5MDdiLi41
YmMyZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJP
cHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9u
cy5oCkBAIC01NSwxNSArNTUsMzggQEAgZW51bSBTZWN1cml0eUNoZWNrUG9saWN5IHsKICAgICBE
b1NlY3VyaXR5Q2hlY2sKIH07CiAKK2VudW0gUmVxdWVzdE9yaWdpblBvbGljeSB7CisgICAgVXNl
RGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUsCisgICAgUmVzdHJpY3RUb1NhbWVPcmln
aW4KK307CisKIHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewotICAgIFJlc291cmNlTG9h
ZGVyT3B0aW9ucygpIDogc2VuZExvYWRDYWxsYmFja3MoRG9Ob3RTZW5kQ2FsbGJhY2tzKSwgc25p
ZmZDb250ZW50KERvTm90U25pZmZDb250ZW50KSwgZGF0YUJ1ZmZlcmluZ1BvbGljeShCdWZmZXJE
YXRhKSwgYWxsb3dDcmVkZW50aWFscyhEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpLCBjbGll
bnRDcmVkZW50aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMpLCBzZWN1
cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykgeyB9Ci0gICAgUmVzb3VyY2VMb2FkZXJPcHRpb25z
KFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZmaW5nUG9s
aWN5IHNuaWZmQ29udGVudCwgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5
LCBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9s
aWN5IGNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaykK
KyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKQorICAgICAgICA6IHNlbmRMb2FkQ2FsbGJhY2tz
KERvTm90U2VuZENhbGxiYWNrcykKKyAgICAgICAgLCBzbmlmZkNvbnRlbnQoRG9Ob3RTbmlmZkNv
bnRlbnQpCisgICAgICAgICwgZGF0YUJ1ZmZlcmluZ1BvbGljeShCdWZmZXJEYXRhKQorICAgICAg
ICAsIGFsbG93Q3JlZGVudGlhbHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKQorICAgICAg
ICAsIGNsaWVudENyZWRlbnRpYWxQb2xpY3koRG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFs
cykKKyAgICAgICAgLCBzZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykKKyAgICAgICAgLCBy
ZXF1ZXN0T3JpZ2luUG9saWN5KFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKQor
ICAgIHsKKyAgICB9CisKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoCisgICAgICAgIFNlbmRD
YWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrcywKKyAgICAgICAgQ29udGVudFNuaWZmaW5n
UG9saWN5IHNuaWZmQ29udGVudCwKKyAgICAgICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVm
ZmVyaW5nUG9saWN5LAorICAgICAgICBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxz
LAorICAgICAgICBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksCisgICAg
ICAgIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaywKKyAgICAgICAgUmVxdWVzdE9y
aWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5KQogICAgICAgICA6IHNlbmRMb2FkQ2FsbGJh
Y2tzKHNlbmRMb2FkQ2FsbGJhY2tzKQogICAgICAgICAsIHNuaWZmQ29udGVudChzbmlmZkNvbnRl
bnQpCiAgICAgICAgICwgZGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KQog
ICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMoYWxsb3dDcmVkZW50aWFscykKICAgICAgICAgLCBj
bGllbnRDcmVkZW50aWFsUG9saWN5KGNyZWRlbnRpYWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJp
dHlDaGVjayhzZWN1cml0eUNoZWNrKQorICAgICAgICAsIHJlcXVlc3RPcmlnaW5Qb2xpY3kocmVx
dWVzdE9yaWdpblBvbGljeSkKICAgICB7CiAgICAgfQogICAgIFNlbmRDYWxsYmFja1BvbGljeSBz
ZW5kTG9hZENhbGxiYWNrczsKQEAgLTcyLDYgKzk1LDcgQEAgc3RydWN0IFJlc291cmNlTG9hZGVy
T3B0aW9ucyB7CiAgICAgU3RvcmVkQ3JlZGVudGlhbHMgYWxsb3dDcmVkZW50aWFsczsgLy8gV2hl
dGhlciBIVFRQIGNyZWRlbnRpYWxzIGFuZCBjb29raWVzIGFyZSBzZW50IHdpdGggdGhlIHJlcXVl
c3QuCiAgICAgQ2xpZW50Q3JlZGVudGlhbFBvbGljeSBjbGllbnRDcmVkZW50aWFsUG9saWN5OyAv
LyBXaGVuIHdlIHNob3VsZCBhc2sgdGhlIGNsaWVudCBmb3IgY3JlZGVudGlhbHMgKGlmIHdlIGFs
bG93IGNyZWRlbnRpYWxzIGF0IGFsbCkuCiAgICAgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0
eUNoZWNrOworICAgIFJlcXVlc3RPcmlnaW5Qb2xpY3kgcmVxdWVzdE9yaWdpblBvbGljeTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBmNGZlNzJiLi5hZjI2ZTMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2
b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBu
ZXdSZXF1ZXN0LCBjb25zdCBSZXNvdQogICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxp
ZGF0aW9uRmFpbGVkKG1fcmVzb3VyY2UpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBp
ZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3Qo
bV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgeworICAgICAgICBpZiAoIW1f
ZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNv
dXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpLCBvcHRpb25zKCkpKSB7CiAgICAgICAgICAg
ICBjYW5jZWwoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
ODk4OWJmMS4uMzViNzI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1h
Z2UoQ2FjaGVkUmVzb3UKICAgICBpZiAoRnJhbWUqIGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlm
IChmLT5sb2FkZXIoKS0+cGFnZURpc21pc3NhbEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJh
bWVMb2FkZXI6Ok5vRGlzbWlzc2FsKSB7CiAgICAgICAgICAgICBLVVJMIHJlcXVlc3RVUkwgPSBy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpOwotICAgICAgICAgICAgaWYgKHJlcXVlc3RV
UkwuaXNWYWxpZCgpICYmIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2Us
IHJlcXVlc3RVUkwpKQorICAgICAgICAgICAgaWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNh
blJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwsIHJlcXVl
c3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCiAgICAgICAgICAgICAgICAgUGlu
Z0xvYWRlcjo6bG9hZEltYWdlKGYsIHJlcXVlc3RVUkwpOwogICAgICAgICAgICAgcmV0dXJuIDA7
CiAgICAgICAgIH0KQEAgLTIxNSw3ICsyMTUsNyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdAog
ICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2VyU2hlZXQuZ2V0KCkpOwogICAgIC8vIEZJWE1FOiBs
b2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIoKSBpZiB0aGUg
cmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQgdG8gY2FjaGUuIERvZXMgdGhpcyBmdW5jdGlvbiBu
ZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAotICAgIHVzZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRh
dGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBT
a2lwU2VjdXJpdHlDaGVjaykpOworICAgIHVzZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEs
IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lw
U2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKICAg
ICAKICAgICByZXR1cm4gdXNlclNoZWV0OwogfQpAQCAtMzAzLDcgKzMwMyw3IEBAIGJvb2wgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VS
TCYgdXJsLCBib29sIGZvclByZWxvYWQpCitib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5S
ZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBib29sIGZvclByZWxvYWQpCiB7CiAgICAg
aWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3Bs
YXkodXJsKSkgewogICAgICAgICBpZiAoIWZvclByZWxvYWQpCkBAIC0zMzcsNiArMzM3LDEwIEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMg
b2YgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBG
SVhNRTogQXJlIHdlIHN1cmUgYWJvdXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KKyAg
ICAgICAgaWYgKG9wdGlvbnMucmVxdWVzdE9yaWdpblBvbGljeSA9PSBSZXN0cmljdFRvU2FtZU9y
aWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdCh1cmwpKSB7
CisgICAgICAgICAgICBwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UodXJsKTsKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoU1ZH
KQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3VtZW50UmVzb3VyY2U6CkBAIC00NDMs
NyArNDQ3LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJl
c291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICBpZiAoIXVybC5pc1ZhbGlk
KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwg
cmVxdWVzdC5mb3JQcmVsb2FkKCkpKQorICAgIGlmICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJl
cXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCiAgICAgICAgIHJldHVybiAw
OwogCiAgICAgaWYgKEZyYW1lKiBmID0gZnJhbWUoKSkKQEAgLTk4MCw3ICs5ODQsNyBAQCB2b2lk
IENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAKIGNvbnN0IFJlc291
cmNlTG9hZGVyT3B0aW9ucyYgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKQogewotICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9u
cyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spOwor
ICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBT
bmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVu
dEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0
cmljdGlvbnNGb3JUeXBlKTsKICAgICByZXR1cm4gb3B0aW9uczsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAwZTU4
Njg4Li40NzYwODMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIENhY2hlZFJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCk7CiAgICAgdm9pZCBjaGVja0ZvclBlbmRpbmdQcmVsb2Fkcygp
OwogICAgIHZvaWQgcHJpbnRQcmVsb2FkU3RhdHMoKTsKLSAgICBib29sIGNhblJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwmLCBib29sIGZvclByZWxvYWQgPSBmYWxzZSk7
CisgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBLVVJMJiwg
Y29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgYm9vbCBmb3JQcmVsb2FkID0gZmFsc2UpOwog
CiAgICAgc3RhdGljIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgZGVmYXVsdENhY2hlZFJl
c291cmNlT3B0aW9ucygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
Y3BwCmluZGV4IDE4NTU4NTQuLmM2MzM0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgSWNvbkxvYWRlcjo6c3RhcnRM
b2FkaW5nKCkKICAgICBpZiAobV9yZXNvdXJjZSB8fCAhbV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0KG1fZnJhbWUtPmxvYWRlcigpLT5pY29uKCktPnVybCgpKSwgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RB
bGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzLCBE
b1NlY3VyaXR5Q2hlY2spKTsKKyAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QobV9mcmFtZS0+bG9hZGVyKCktPmljb24oKS0+dXJsKCkpLCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBEb05v
dEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMs
IERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsK
IAogI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAgICAgcmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VS
ZXF1ZXN0KCkuc2V0VGFyZ2V0VHlwZShSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzRmF2aWNvbik7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205124</attachid>
            <date>2013-06-20 15:05:16 -0700</date>
            <delta_ts>2013-06-21 07:46:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>39301</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MTVlMWY3Li43NjlkOTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgYSBub24gc2Ft
ZS1vcmlnaW4gaW1hZ2UgVVJMIHNwZWNpZmllZCBmb3Igc2hhcGUtaW5zaWRlIG9yCisgICAgICAg
IHNoYXBlLW91dHNpZGUgd2lsbCBub3QgbG9hZCBhbmQgdGhlIHNoYXBlIHByb3BlcnR5IHdpbGwg
YmUgcmVzZXQgdG8gIm5vbmUiLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1p
bnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTA1LTI0ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbR3N0cmVhbWVyXSBjbGVhbnVwIGJ1ZmZlcmluZyBhbmQgc3RhdGUgdXBkYXRlcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTY3YmFiYjk2ZDFlYzNlMTAzMmQ0NzZmOGY3ZWUxZmNiMmFhNDg3NQpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMTI5NDAKemNtVjs3R0lQeXxQKTxoOzNLfExrMDAwZTFOSkxUcTAwM2tGMDAza04x
XkBzNmFOP0N6MDAwVT5YK3VMJE5rYzsqCnpQO3pmKFg+NFR4MDd3bTttVW1RQiolcFYteSpJdGs1
K1djYV5jczJ6QWtzVFg2JERYPE5xfHJTaEorP3xMPEwzXgp6NWgrJD1SS05qOGhhekp8NmJwbGJW
JUdgczVLelghUUE5PU0tSGRBcUAyeGZTLWtTWiNTPk1eYHg3WFFjP3xzKzAKejA4c3BiMWoyTSEw
ZjAyMlNRUEgtIUNWcCglZiRCcjchVXl0U09MSntXQFpGT18oVEhLe0psTXluVyN2e3YtYSpUCnpm
TW1QZEVXYzFEYkpxV1Zrcz4ha0JuQUtxTWIkUHVla0s+PzArZHM7I1RoZEgxal9XNERLZHNKRzhV
bDtxTzJuMAp6I0lKMWpyeyppVyQoV1pXPGU/Zl8mS2JOa297WU90LWtLJWhxbF5UaFQkbS1gWFFP
LXZXeFo1TW5nSGVaREFVdlUKem9KO15QNnEjU2w9TyY/U2k4NGhMOFNhVmwwc3NoPCM1dWZqNHZZ
Q1lYcjJJZ3JmMX1lMWNeeXZyVi1iZVkzMW4xCnpYOFE1N1F+Nj5zRTBuYGM7ZlEhbCYtQW5tanha
TzF1V3l6YDBWUD4mblBgI2l0c0wjYFM9USFnYE09clU5KTQ1KAp6SjstfGRScS1iNSZ6P2J5bz58
eyk/NXI9bjc2QTRuVEFMbFN6TGl3fnZ+MzFKPD45UFA/O3JzMzFwdV8ob2J3KXIKelkralBZO3RW
R1hpfHApZGF7LUBnRS1VQ2FgPTVldSVEO3Y9X25GSj9gJkspcTdlOWRgTmZrMz9NZGhaYXJifFQz
CnolblN+ZiZ0KDFnNWRZKUFJY2QkdyF6YFNpeiEmal89djdoWmxuSTIxWHVFfHhmbW8wKFdEMTBU
KSF9fl9IWVchZQp6ZXd9TCtYbXd1emVUNnd0eEpkYGRaI0A3KkJMZ0lFS1k5WHY+c3RecDNkcHte
WHN3YTJiQns4NXteJEIxM3RXbkIKejtZPmp5UXw5JnprN1JOc3FBVkdzLS1LK3owdXFvMWJmNXx9
Zmk1cnRFTU5eQmZIUUNkLVhIKmtmSmhKbm1JRSRHCnowJTxANXZPenhCMDE4MWQqYTNFZllIJEc1
ZnFLdmNQSiVYWTIzIVBKenp1Szw0MWg7SzNXbVc7RmFoM3lYJFhTdwp6NUVZXzlzKm8wPjUxQiZO
NUYxKHVjfCQ9XkkxfmZMTHkzP09sMGY7O0NhNCVIZ1F9ckpQKEFiYGJRLXp7VTQjMGQKejJoYm9p
MktAbmpnYnxubShfc3pSMEplYkh1c2ErR041YWVDTTBnZFAyTiVIRztZenBgSmBUNlM3dlVUNTA0
Iy1ICnohamxMPCRPcj9gTXB5X05Aa0J6OVNSP0B2QSMwSCRxeW5pJG52ZjJwOEBZezBrI1hiJDI4
Vz94bT4zcXU4UkxncAp6ak54S2RWYik/d0Z4OGwybXt2Pnw8fkMqIUdsQlZuckREfndyZFRKZUtY
d1Q9NXUxJUkjOHpPQlV8WD00dT47cykKej5ebUZ8JEd7b2w5Ql9XUDcrZi1MSExlNz01NyYmbGZh
fTh6O1VAOFR5ZWklbD99ODcoYk1SdChBLSlRSzlEZzMpCnpqfn5YckN5KXRSMVojcDFBKGtLe1kk
UXw9OFZLaEl7ZSUoMUcqTi01UGpuKU41UDhJMFZreG5YKmc/RVc5NDFiYQp6NmlKMzg3ZzhpQ25Z
NGphTm9wY3BDT3N5LUEoUDJFV0podXNTd0xQLXR8WHJ6VW5MS2NLVHduP0NLT0xmOTdSSWUKelBC
fWBzS3pUclVMIzB2O3NCWTkpcytoVytUMkgtMWVNKV5WTjBUI2BeT3hodnQmXipmWW5BSmxkbkhl
bCpPenlmCnpVb017flVtPEA9ey0qcjYwI1UoMCFCY153dXZWYyk7azNkJWctSiE0cUxwSFpWd3ol
IVZ1UnV9I1plYF5sN1cpOQp6NT5LZj4+OUVvenI2QyRaKTFgVVJ4VUB+UUlAKUYwRmRhdVhyMkVz
OD5CYU9QPSlMcF9XaEdAPjx0WEpHPHI/TCkKeiUyRWN4Rmt0dklRVz5SO2xaP0JKa01sSTx4ekZS
eitjdkxoVWpNdSltSDhAZUR0d2g5bTFkT3ptNS1gU1JkM1o0CnopdCN6c3MhIUF+WTk/eDdZVDBX
MCloP0B6JiFeOUtwM2p8TUgyPnVNaHc4QXBpRiZ5RFlXMmhGSj9mSmhuaXs/dQp6ODUmZ0BtbyZ5
VDhKY2RJJChyU3c9UVBLKFhqJSlrMVh8QDw9ZTFyaW02YDYkUkF3YyFpI2VnS3VJO0JTKExTV3oK
enQzOW5fc0l5cFNxZldFVjZKMyVuVFFAPHNUKD90cUxRaExDU1RBMyVRU1lIWFFKPH0hcWB5Yk1U
WXQqSCY+LTRpCnppJFI7Z3NHKjlYemhSelhxdjJ5Q3MqJFZGRHgrR1hKSHxMO3dzREhfS0kyO151
ISleWGwxWXVwTztneV4tYyg/Xgp6JiRRMUJZdnlQc0deO2hjJEQqKkBTeWArYCl9VDRWSmppXmJk
N0pxdzNxNlppaT03dFQ3R0Vzd0VLQEQoRUZXMVoKelNwYF5hd0NiPz4hYGo0fVloN2J+JEEpVS1X
MyRldC1SOEJlc1YoMWp6d0xjSG5xOUVuN1EwVG4mLU09WEJLcyEkCnpGJFg8fGMhI3xYX3Q8b0hE
NyVEeCllLUNIO2tlSDZqTj1DPGRuZDhlTnZHZVBTPFdmVzRiR3pyMz5XWWgpR1ppdAp6KFEpQ3A5
Q0RFXldHOytmY3lPV0FSb2oqMFRJPjRFUDFsWCpjRW9NTy1Qaz9ae2taIXA0QChiYE1+bGFscjwz
T3oKeiZrSjZObSM8Zm1TRmc4e19oUnBBQDI1VUdLOFplIUpgPXVuek4+dk5fK2tBNXtkVzRAXlZq
Z19gcSVxVTFVTGsmCnozRnIhPjFWI2lfMlI7aWoyQChaJDFqRTRyIU1sUFZGVmJIbVQrfGk8TGl8
SF5nKip2MDN8JHJhYX5MaXhHXns0PAp6ZEFMPTBldDM1VEVuLURQTCZVcENrSTIlPE1+alVYT0JR
IVYkdyRSUylralQ1ZHF0TjtPUDUkSVMrbkZ1ajlRRSEKenJhY3hQOHg/eWJjNTxvciglbm1rPEx1
JUo8TClqcVQkWiEhK0gkcSFzbXNyPGtZQi1CYVZqMWdBMDZLaXxBYGFBCnpzcFUrcl5rMkRtPHBr
SDB5TkNPZD1mKjROanF6UmhXJkR1QG14UXV9KEx8VFRVNVI1IXUxT1YxO3tzMVh3Y3ZISwp6VS1F
KEVzZyNoRXFiVzB+KFclWDhndFlqeSg/VFUtaW0pcVBHZChCMEZUKnNXRmhqYl5ZMVFzazZRViVU
a3hWRmEKelMhVFBLantaI2JOUUArI0M0KlREdnVkKjVYR2RrOSUyQ1ZfPUplIzY8WmpDeSRAOXRr
ZWw9el9jWGVtSmNLKExeCnohOFB0ezR5fWRPdTNYIT5QSXEwd3k1YVN7PnlLPzlaQWpWaCVTT3dN
V2dGamFpciY7d3BpIXtDVX0mQE49RWcjfgp6TFEmenBFelZtR1l7aEk5WjArNDx2I25+fG1tKiUj
Xjx2Qjdpc0RadCs+LTB4UyQkWGUtT1RvYz9ZKlY7clRjZl8KemJfalJlLVJaalhTZWFzM1VmSXlE
OzlhZmQlPGBpMHg0VCNEekUpdmRhYk9RPWs3U1J1R05gaD5PMFF+MSl1LXlECno+Vlg9TW4mIVJn
ZCQ7WUsrUS19MXp1Iz90KCpjYkcjUm9uZjZkYiZOJG9FaWR0d0MrWVZjZy1ZIV9WdVk+YmsjWQp6
ZV93d0A/TVUmRiZxc3d2ck5fZExiPTVvNipFZ3MpbHMzWVJsRSQmKWFtUjF7O1BwZCQ2UllWXkdv
IWlxMVVNbCUKekAjNHEkQU1jKEZKbFQxUWVYOGp2e2gjKT4me35SR3ExTjJpaU1GSVJYP3NrMi18
MndVb2dLfntFa0IkOGVEc1g9CnpuVlBmOFhHX25LJkp+PVNJaUdpYUA8UFVpQHIjS1VoZE5odUtE
eEJ6KHcobGJ1SE1VbW0jPCMmeHBKeDd6NUQhQwp6bSNiJjRJYkF6X29xZklTaFcoQSE5PW8yRlUr
aktxPjl5fXx6M0ZoWHtnJmdjaj1sd2I9bFdneUZXJmFMZWRVaC0Kem9mYHYtMkt3JFV6SSo+KCsm
JEBpLXU9LUJzU2pSMSV6OE5lWCNIZEM8RHdARFBiIXxPS2R0QE1ffTZCc3o0WXYkCnoqST5gSGgt
Wig2eEktYGhtSERxdiF2KVcmJm5yZj5NKFJoY042KEQ7ak5OKiVedV9TWWpGOzJuZ30qOE93KWQ2
TQp6dERrOyVgQExzayQ7OXckKGQoSCVPNVVpeElyYFQyWlJjZEA8a05SKUAyMDFVLW1BVnBfSlJH
T2AoeU9Taz9ISkQKel8pbkZlalghc00zSDxWU0NUKFdzLX1pKmBgIVlJTmVnRlVmMzI7YlJhe3ZH
ZjY5NTFVNjlFOTRvRVFLQUMtRiV7CnpLfiM3RlVFU01gVH1LaGRAJEVoMVc5LS0+N0RWQz4hOV41
QUJKbmhjOHk7b2UqeW0jc29Bb1JFS1EydjQ/ZTRDXwp6UzZAfjRUNkBwZmZtP3Q3YE07bGt8Tlp5
Vnk/Z2dnN1ooPyZ3e1BFYDl6MXcoYHRhZXk+M2x3KUs3SU4kYHA9Jn4KenBaTCs7eHBVfEF7ezgj
V3BBTW5GZC12fTZUMz1wWHA3YElzZWZ0ezZwOFdDMEFFI1RsWmpCRllTaWstRCtoRFBZCnokQWc0
ciV+eChYQHElTTdwSTlSMnlMYSFWOT1MP3ZubTtANGJYeU42eWxVblBTMTw0K28wfU1XSzRSZChG
c2VsXwp6XikkfWtlZlFuejxId0tWWnc7SG9fMyUzbnNGfFojTDdITE1PSj4raENLJG8maCMoZyFH
Zn12OzcoUnJiISFzS2QKelYrfmg2Z1RJRSpvOSR1US1Aa3U8V19XeVM5Nm1LJDRTWmAzVSExRV45
OXgoZ25AJW9rSGtAfFQ7bTg5RXpRTlp9CnozKFdHdSFHa1ktSmFLU1BhMnlES0dJQGJtTlN2VzAw
Q0dlUUZ+QTAobEdCVWZMK0pCfDQ/RWs9bTdmRHI1WmxIPQp6bUBhSm8/NXwoSDkkaWd5MnNJXjY0
PEEwOWdUcUh8YzZpPGQjNkRrWiFjUlZXekpgNENJTTVScVReezt1WVNrQ34KelZEaSZMYWQ2PUFh
WHxkK2BPejcoMmo7e2B6KDY/SzZUJFkjM1k0SGskZClNYlYoOGZEI0M5X3kwb3hpaktUU297CnpJ
KUN7KE9nWSkqciszM2hJJX05PjRjTTw8eV8kOVB6P00ldVVVR0lCXyphYCgkPDJLSCNIcilXbj5T
PE17TiRGMAp6PyRNKTFRJTV5Pk80UU44KVl0NnohZT43dDI4aCYqLTRKJFM/cENuI3I1bGoxYCVZ
YVZqYmR8NF8qTStQSDljYUEKejU0VSohMi1hWkQ7JHVfe1V3UFBTN1RuRlBnV3g5KVpuZV5ocWNo
WkVJMyhFbz07NEphZX1AKWtqbnBJZFdgMXohCnopRns4JiYxYHNnc3AjfS1fKTV4SFZsJClTSTA2
azI7cTVRRUIlfihXWWolZn5qb3ZeSU16Xy1rbztgX314azFuRgp6YXw1PnluNyFzSXV0dmRHUFlw
OXlvNFVreDd9Zi1MIVZsKW5TZVNnLTxEbk00a3lsSkxjUFolZmpvX356Rm1NeT0KekZ6OGB0Z0Vk
YkdDKGFGelNpb2tAJVRgZj5PVTU9fTJWdHspQipjcEduM3NJVnhuVHhVM05CVmIpP3lXYXFxUWNP
CnpgUXMpSjgqSzVnRyh2K0N7elF5c1M4cTJNaEZwWkxTemIxez5le3ZPa3NyMkx1U2JXSztLUUdv
KXN4ODQ9Yi1wfQp6Q3puNEVqV29qY0w9JXpHUkp3PkVmREIrYStgYnElaz5zeF5tPk1MOGp6NUE1
czJPSEg/MXIzdHRQeTU2K0x4IU0KekBudDlTUzxBeU4yM0koRWUqZ1hWVj5lZXZhcVEoMVF5dihF
NE5yM2lNRE5EcU9qbUNDI0tFOD1haVc4ZGNPMj0/Cno5RlpiITd2YjJjX0h6a3YwUlZ2VjVvY1lw
MiQ7by1Fb3FvJDRISWg/JiEzb2FrZlN7OCNHWilyMVFoRzBYXj0rZAp6aSlZUUVHckJPRVg1aXNY
ej9VdW1ZN25EUV5uQiNTQT5NUkUhe09QQnVAX0AqKnZueExMdjlDWHVVPlh9aHYlUkUKentJNHFw
ZkVwe25VU2MzNmxBS1BFeGc+bmpuUU9LPFNQPkQ9OXdHNTBkXjIlfk00VW8zTVUyLUFWVyVeVCFC
dE0mCno5Z0tDcGMreld0LTBXaUdNOSZAJEVWPTBUWCVaVnVHZDxxK0Z5SXNHZExSWXs4JFd0aklF
ZzJHc3hSRG5kS042Rwp6UXhjUmo5bExvSy1mMzJOPFUyQHZXY1YyezYoNnFLVk5IalNNJlpFRVlm
UVlIWlYkVklMNzFNZXtvfWB2dWtDRX4Kel9gcVNxVFcmVlA5dV4oM0h0PVpYWE85Q00hYD5rQUAt
cSUhZUVBU2hUUmlGNV8hRTEqWC0kdTdQWUhhemZPJUdVCnpDeXEyaGtrSGNzcGFVRU1gVStLfkpy
V3ZZRjl9XzdfVXhLJEhzfXo9IUplO21kNjRZVEBQUylsKUA9T2NHMjtWNgp6dXtEUkVXYClCflUx
bUNZYEd+WFVZYjVNKTh0aWhoUzYzSExrTHJPSyh5U2dmTCE3fU1VIVQrWihCWWdwY094UX0KemxS
JDtoNjlDTi1rYHk+JWspeEFiVj04Mm0+cmkzOWg2e3RmaFJjSSFManhVVmBReVNhNG43fjRZPSNE
ISNxclpmCnp3ZXBFdWRIOXd+Mz9EVlgjPzhLNVgwQGByZmJwV3wzKExTc29TT0tUTHI+WjhAcCkr
TjcwaHFHXzlfSUIxWkplSQp6Jjc3QCkwWEk0eldYMEIwazFfJHdQaHIrSW55eTFiVU14RUBfNkRD
QzgjV3lkVnkpI2Y/RDVUQz8pPm85RUkjdFgKenRgMihLMndPOHVhcSZfIWZxfHoobHNgUnhgdTJS
fCFkQmhaO3Y1YCo+dnwocmo0ezcqdXxVK1JETmElVlBTMEZ8CnpmSiViNkhHOF8mI1ooTWoxVF5M
UChMOUxCT1ElNiU8UkF6ZWFPTDVIbSRkPzE2Z21ha15RezM2Un4qU1ZLSj9YRQp6TCpVMkBufm9p
eEwhY3ZrdGw5WTUkSmZrT0A5ZUV7dGUmMW1KO3NVbnhrV3k/Ozk1Xl83OzhLZDVzakZsQzUjQXYK
elZzOEt4cXUzZnE0LS1hJDIobFVtJiRfJTdOWEwmb0E2UnNYWT4zMFA7PENlT2h7SygpMUxwJUQt
eHwoYDs3diEkCnomREheXkZUVjc+TDg9K0F4VWtDP3A0ZlVDankoREJjVk5XJjd+Z0tDMVI1NVlC
dTxyN00yKDYjZUlJZikxfTQ0Rgp6QV81bH5GJmdHMylIcFZOezNGaGY5JSlVbkhaKyVMUFIkeXtA
ZHNhK2FPQ0gmUDx3K2Q5QldPcWh2amhMO1Y7KEEKelImSUgjJHkhZzA5Znp8I15lPGsjN19SRH0+
c0tpSjtsQFJ0RXtTLXRtbDlEajNNSztTMXRQVkIrJlgpTS1Pdm4pCnp4JmQmK15NeXF1KVAjeCZs
Wn03NTtmWnN8YEl5Qzs8NWBwQjxuSlFNaTd5K3lTeG4rKTwwQSpZYWJ+Qk4heSYzaQp6OTFnSlFp
bUF6Qj09eFE9T1YmO0lTKmwpfl9+MkUyKS1jJHU8QkdSQFg5fl9wUjhZLVJLK1dLWG9WYE4ya3M4
RkcKem94YTFRaTtPfWUpd2M9KypnSzNHMmN0RSt5OyZaIWslKjwyVGFOTTxrMXYwLUNiJGVXTDJP
TmxufEp+Zmg4UnR2Cnombz58Wj5Felc1aGFyITNkQnAxPjtWLTlMRnptWT1eZDApU2dOVUh3NmR7
PmNpUXQtMSh+Kyg1ZmI5YE9LKjkqbwp6ISE1My1xdkMzQU1ac2hmWE9NRSYwRFN5P2dXMEcrdjQj
V2hOJHxsNXVMam8/YXEjSTRkT0JQUU93RGF3S2soJFEKemQ0fUdKYiFjTVE8ZkgzfXR4cSspe21Z
anhyKVBZezUkcEx+NzZKJFkxNit9dVlEQClhRTwyS3VhfWYzI1BEKX05Cnp2eDNEYzM9ViVqJFNS
O0Z6fHZHUD5fajByaCFATUFPQDYlVDs9cz9WTCN9ZEdxZGs4T0M0R2plQyFSUE1hYDFRMQp6PCk7
Jm02RTU8SUJsNCstNTFzbj9XdCt3RTJkP3RMdFdJJWYxcWlBclBLWGVXJFBqaShZTU5rVkI1NmpG
OVkleXwKemg4KUNmQWtLJkk1Zl5jc1k2I3FYYUZFdl5AKkNscWFpRGA9dFhWRGUzMTR+M088enZ5
P08qZmg8JVRXWlNgNURWCnojOWRBe29RWEM2VVROamUyZTxqTV5XJEl0ZU59O2lCWi1pYEw7PHBD
cUZLVWp2QXNqNjMxVEZhZ3gtSzlJYX1uKwp6SEFfQSo+fmVUdyVyTU1zaDglPW1KUHQ0bmM2bDZa
OUw/MllQMT1pclE7cGBEJjhORUppM2NBeFlYWEN4eXJkbFEKejxsa1c5LXlWKkF4YipYKEV9XkR2
Rm8xTHNIWT9hbipqb2VZQCNQfnlNNGhfWlp5O2N9TWRHYys2OD5BfkhQOCpqCnp0NzYxaEhfSy1i
YiVjISVZJkZPWXBDNnNNTCVhREkrVH49QVEpXmhuVHp6VlZVbWR2NylmQFp6aSEpKFlFOEgkbgp6
Knc/PjAwU1pMMFN3ZXleOWszRCFwMDgqfUdKeVFNQSEzayNDeXI9OSpsXypEa2pCKztfTU18PGcp
TnUzeGJVfVUKejRAMTFCOzN6K3Y1b2kyJmp0JmJKO1ktSWFZPDEkenJ3aG9JI0d8TFYhQHd5bllP
JnQ9SSM3SUljKjxNUForckkqCno+TSVNbjFSfXZFREctSXleOCorR1djXj95MGVfOUpTbVpRU2dC
MXVYe09+I3FhV01JYShJfm10RTIyeG1NPXFtXwp6I1JyRk1jdi1fQ2FpYDszbGtrWChuVyhSdD5F
TSFibjA7I3MzdlZefHc4PHFlOWUmbmcpV3ckezh+dVV0alpnJD8KelU7JlpRQnRkfjlXIzNvMEt6
cHhDKSZYPT1ZQTcyViprK19qJjFXfl89S3dYJCsjI3xWX0kmWUk5NnhJWjxRbylUCnpaWlRVb3ZI
V3RmIT08WV4pPHpkZ28oYD5zOyQze2I2SkhKV09PM0ZebXRXNTZmV2UxdXpWPFNCKjg/Pilqbk5I
TQp6NmFvZXhiM2RPJW5xRzFeaCFndjY1fWtzSHdkNGQ9MVokKnhITlZFMVlnOSM8WVkwcmQ7YWNP
S3cwYD5aPkdmZ3EKenN7dnwmalhOJWUhXjc+U3UkN0EpKkp8TmdaUXwrcSFfTm03ZU5tcXQoIS1J
dmBNfih7cCMkNmphMXNjIzxUYUN6CnopMGM+QFdXZXAmI2RJKlJ0b2FkZk1Eekk3WG5NXng4Km1X
aCg9Q2dHYz5LIWFAKF9NPkBsV3EqclN9eHFjPmVPcQp6ZnR3NDNDdGw/Pjw0NUc8WFRiRlhDcCU5
MGkpV0stJEZSY3slVV54UF4zOSlxX0pBclAyWVpiLTE1JHs/TGFZUUQKenooJHVaQjZQciE9ckd7
WUB1alFiX0l9X314TG9wdCZqemJ2KnlDeXFQWHFSb1UyWihlRkJnQU9AcU9tR2JpMlZGCnpmTFZT
eSMxcWA7OUhlK1BpO1dZVEk1dWxKYWw9Vlh1PERzVFVvJF5HXjNhYH44bHUxPiZWZGZGQVR0N2w1
OG9QTQp6VWpkcTYmODdnQGJUQUJZNSQwMkBCQ1lBPEhwSWRqbDMpNEohR1FfT1VMSip0SD5gO2BJ
MnNtQDQlfFUjS3p5RygKemNgfmBoO2I0QFA0X3the08rVHpQKyolSTg3WTd7V2JjeU5ndEpmVE5H
NVFQfSZnQTU1S15QKVUyaSN0QT53TjZACnpmemlYRUh4cVZ5TCZNPipBcmxFfWRPa0htTChffXY+
R0thNDIhOVAjMDhadD45Zm41R0hSJEFKX2RCcnMpTWMkPAp6OVVeP3E3Mz0zOXZ2P2ZwMztiJkZz
PlU0I0tZfX00elhpdDhuKCFsSD1vMn5HdExONj1lKWBYNlU8YDtHNT16WFcKemJwVWswYEQ8OChp
NmFPWS1GZ0xQdnpFTT56aihSJCEwdHd8UmZKcHlUenY1NUUyZzVZNGNMWXpuKDFtOWpCdyktCnpF
PE1iQSNBZWZFUGorMHs5QWJ3YkFLYz40TS1LVChjLUM8ajU0LXlMVTtraFRYY1B4JjQlVjhBbG1X
UVk/bldySQp6ISErflpEPFNFbypBUV84SFleNDVTQlAwWSFVaUt3NiUoJHg3OyM8PWdicWdXYlI4
LWlmclY+KEl7cjlTQllYIXkKejtRTzRiN09gPnx1bmg1TChwc0QkNH1TRmEmR0x6WGdRSn1EXmEk
dnJHKU5OIUZfeGV0OVluN1RgVShrJCZoV0B+CnpAXkRKWikqK1VRTyowZzJUYF9jc2M3V3A4Jkdo
ezIrNHRkIVE+Pj0pbGFwXzJlOGVQdCNsdXd4VXBvSGpgMVZndwp6KWtlPGA0JkpUaHN4QkQoP0JT
WTt7P1FadWBzODVkaGZDeFFnJFhEfjBCNyR+SFg/RDRzeVJANHpORiZkKERmT2gKekk3dGF8X0kl
fTVseSYzfnRidVVhJVRwdWkjMyt1aGVTRzkze0x9SDNsZTg4PzskVipoZG9ee0BhSG5JRiYpeklu
Cno0eF9xWShBKUUyR3dZK2lzaTl1YmA1TjdZeTdra3F8TkFUbkYkWlFRZlBqP1RPbmshdDBeRSkx
OzFwZWhrPllRXwp6dylnbEd2NnxpMlgpKUkyc1dGUC1oZDNXblE+XjJ8cEhFSGpiaWBYRDw7ODZl
KmZfejUtT2M2aVBfeS0kMj5JbFIKekJPYz1UbTZzaFpGOFE8WmxpTlk/dz1QRDBkb3E2P3FCKCNG
WEcyb0o5SWQtYGJiUn5VSTdSUGJWSWFkbE96e1hzCnpPNXQhaihESzZPKTgxT0YoVl82azR+QVND
WHhfWiNrWUI4dUZQSFZNTSt7dXpRc0xhQ2doXl48KmY4aXw8NTlvdAp6VmNFO1UjKmRVMms5dDdJ
enEtUGw0fFFNXlpXV1J9UFFWRWVkUHg4b2VKIWtrM0s3VDBZO1RRKG57VGFQWXhjOykKenVMLWNe
LTB8IyQ5IyhsWTckKG0ycSNxTFRnVDx+ayY5enA4SSQ/PHkkNCtvIzdaKjNWPjx4YjYjS1VxQ2BP
fGdDCnplV2olKkBaKUlhPWl1UjUkSUZfYHteXmd1VVAramVwezdlKDB8Rz4+aEZRfWlXIyVpRU04
MENXYXE9fFMjMVhMeQp6Zm44KFI7dnhwN25FaChnU28lMSQpKGtqc0g5SUB9dXdadX0pX20zTUsm
b3JWOWU/bjE3K3BtRXtPSUJCNyMhbmEKemhUOT5CWFJkWkBjPW5lODNlK0AobkMrMV9PU3FHO1NC
endZVWtVaXIhIW9sV01CcGUpSmlUPklWay1gWT1GfUt8Cno4ciM5enYmcTMxbyYhKTE5NkNZfGxi
KmwkRmRaZ2RlRThGQUkzRj9nTnFkfmk1dG5MX20qNyE5Izk4bVc7bGsreAp6QEtlaUtWSS0wUUll
SFpVa31NRzxEWk57JjIpPEB1M1omO3AmKEdTWkZ8ZSNfbmk7NytTTWFiV3QkanZ5IXs4RzkKeiVG
UGROYEFCUGRfISNRTTUwYGtjUFpOJD00Y1RGXiQ9TTxFbFpWamIqYTRLSWBvcCZtJDdQWk9aI2VZ
cV55Mk53CnojU2gxU3VwPEZ5JHthV2VSMHRjWGlQbjx4SDZ4ODYodCUkbUk0fip6VWJ4NSpleDQ5
RVNjWk1WOSMlWnJALT5VQwp6SXJlZ0ZKTzZtOHIhX28wI0ZuRTJ2eG1WM1V5YlYxMytybHUhT3Q4
JmAyNTtpJVBZUE0tPTQyZ2pge2wjJUBteyYKejJudExXKEZ6ZXZCOyV0MVV9Q2V1c3YhMT81b2dh
JmVFeXllTVJ+ZjJjKktqZHJXMCFydjh+KEo3PDJoR3ZgZHk8CnpFJG5kZEZ2RkB3XiYyJXdQdmxj
P3l6SnJPVyNGbX52cHdBUyFAKXoyYztVcEooMkpYSVN2Q2VoXllpRD0kND53UAp6enpwaz5CVHQ3
RUAoNzVQJGUhP0ZNfkpOayFsbVFLJDY+PHRJR2VATD9IS3NzWG9oYHA4aWZuSGN5PEg2VDxyM2cK
elZmIXtfcEZjbHdGb19zO3E4PWcrOX58a2IxJXwkYDhVMzc5e3Rmez9LUjklXyg4Kj0pUXFHR0BG
dDcrQU9zN2I/CnoydWNvJlRAaWVVblU5MlNRKV93elY4RGtiOXVCZGw2UT08TnxBdk4+OHBqUygw
U1hlMjJXKEdRTWUrI343Q1hVMQp6TyEjcDU7czclfntRMG91RlA8TnBMQz55eztxc3d9Zz1fV1Yj
YUJKJGZgTk5eYTJjKlpvSHp3QUw0bFQoQlJ4PGMKel5maXohM2B5dUM/S1VDY2ZieEB2QFBrWUUh
I0M2TVM3P1J0O1YmPHsyODZAYzk9PHlJT3lJfC04KlU5eDRta0U9CnpITEhmamt4I3lIUkpUS35a
bilOYztvIzIpTWkmfHZMZUVhKnMjZCg9IT5QWlE5Tml7XjFDamA5QnlhIXtSQTR0RQp6KHRQflgm
Y0RYY0RIdFghcjFeOzlnOC1sV0JWfF5vODRtQClEWXFEc2U7OW59YTRfVnBJWGYzMElTRmo+RT17
JVQKejEtfHNTKHN6KHphYnFXTjwmdjktKWYra0A0aEYxbjxtNEFWS1IkZW15P0ZBJiZzUTkzbG1N
cHtjPzFOUWsqSHhNCno8dEtnQGw1TFlsUkZuNzxkK1ZDTzdZRGFjS0g/JjxeRUxBXkN6P0AlPDUx
Sj1qcmA/O1loUSFIcD1afmU+THx7Pgp6OHlAJWs7UEM1cW84dSZvLTdIUUcyQkItUDhSfiNMfE41
T0hAYHhHTW9JRCpoTG42ZkB6KHlpWEAxfXw2JithemwKeiRKZCVhOUVwKm9McmZ2IXRqen1Md1N8
V2BqZ2JwS3pQJWQ0NSEwX1A7O0IldnswVXo7MWRjKDwlZkleWmx0YTlACnpeMkMhM1JgQE9xOEB9
YVpoWTZwYjBVdGokZGNDNyNufTEzdzVlR15uPkB9Qnx2azdQJnNKV1k0dG9WezRNbys+dwp6dnEh
M0BnUHVSVlRvcj5iT2FqWUxoe0RCb05hRks+PEl3cj14OTZMV3k1dWskZUEpVFl5Q24yM1JgRiZN
UHJkfH4KemJtNXVsSkBNK24hYGBTQ3VgdUt5QGFKREhjQUhDSmooaTdANFdSVnw5e18+I0N1V1Vv
QTJFTDdIWn4wVUZjaFRgCnpkfD1wWDQhZm8rJlJ9UFkxRCN0YTIweXZrKytjR3psKzhYS3tNR0lr
ZSlNVzNLSiNHNnlZcE1+JVo3dTRHe2hRbQp6bmFnRig0XzNVeylYNF5xOXA+eUFISGA+UjlBTn1i
XypoSEtocmdMRmw4T188KS0yZ2chamZ4MzxpdnxMaSQjcG8KejQ4LVpnXig0UzA7PTx0e1hTM216
TjVzZE9vLWdoLTI1ejspS0BQcnI8V2A0I1YpPlVGSnw5RERxZyhIQSNUYWFgCno7JXBYMnRZTXll
SXllZzhmUSs+IWFrUXVSPkllKTdBTFFyXns+ODl8U0BIWjB8TGd7KU16UGdFRl5FP0BBOXpXUAp6
d1RJKDE1R0d5Qz8jWkJvUThWRTdEI0RrKVN0RFRLWXM1aTVxVl42V2RvJXR4aCNfKm9xP2NQaHpT
aEs9S1JAfEIKejBCbllRPUs+O1R1Qm5tJC1adT83cHVpTmQ0PlNASDxVPUdjRFY8a0RIWURKU2Zs
SzdAO21uNEUhM0xpV0tlSHk0Cno2Q09YRGU4dUxeUDdrfktkT0MzbWxnLThBMylkZHM0dUxOfFc7
eXVxNEk3XzAhZmI4RTF2YjZoYVFXKnlkJWQhcgp6eWIlQFR3RVgmNkFfN0VtIU5+QTZJdXV+eVlQ
Uk54QV5mKnFMZ0Zkb0NrR3JwI25BREtYb25QOGdAfm0kX3spPlAKeig/b2J8eFotWE8heTBHNGJp
XlVqc35zKipaMDBjMXY5cmt3eVRoUF5ESzglKTdOMkBTJiE1TiVRJXNpJkAzVEp5CnptP2R5MTJu
I2pASWEmNX1fQ09sKyo4VmREU2teVjchalZJXjBea3hAYDRsSVh1VGolbF5IQyVtbXtZYG8jamhD
Zwp6SElTYWEyOSFzZkxFdzFCIUw+R1VEdSlYfDJkX0hpWTBYfE97T255aVFZPz0wK2khbjtoSmBP
fmE/WEtOMnFGP2kKelNhVEk1JjtaTl5Lb052SyFyZ3Y7RmNJWXNYT2JPeno3QG17TS1JY0RGQ1JS
Sk1pR1E3b0cqOz5jbT83VkhqTGA5Cno8fTFKWVYwMWdKKzFrc3xrVyhJXzJEIyEjQyhmUXZlS0dm
e3daO2I/NClfdU40bl5QT2d7PytEKjdOSWsmSjtCbgp6aChQKVo4fFE8N0xeWCptUHt8MmhMYFFN
XyhHOFJYNXpRZkMoVGh7MEF5PFhjOCo7KzJtYTdBbiVRX3U8d34kX3IKekZ5d3x+WihVOU48enRp
STkkdkJmS35MQkpFYTEqNyZLXz1HZUNpODU5SjVodlRARD1jKXN5K2gpJkxSbXk1Z3VvCno5VEZt
SmJPRX5zSnh4Ry13Tm9ITXFAdStjNS1KS0FNVmE5bV5rUU1SdWVjZyVYN3xyPSV0bl82a0pmVS1z
NnFNNAp6bk43MHxLSHx6e0VsLT5edylwek4yTTBPJD5LN2spOG9UU0ZCaypEMzBFZ0o/dU5mOSEq
cyN0KDBhNF5BODQ8KTgKelh0eilVe0coKyRVXz5IQWUxKmFeMilyNismcmR1OGR8PFE3MmIwfWt3
QChMJGpeR1VnWisxMl9FTmd1MUQ/QnswCnpFKHA7aUtFQ0RnJDMwSCRhZklnKm52THw7UVNEfj0+
R2gzb0tKQlpDVVZlS3UkZ0t3bF9QMVh7QVNZMGhJR1k4VQp6SWNIfVJYT3ZVezJ1Vk9zdlRhaFoq
a0s/NihfWjdtbnUoYU9HIVBiPl8yIXxOZ3g9X0soSEVOeXR7VEl9JERaSXAKelBsdWFQbGk2XzRA
YzcmRkMyJjFle1BFTjtie1BCPEsxN34hO1JZOXZnWnNDeWlVMHU3U3AlMClwIWNgcHRsMUZZCnpZ
dFBAei1gWm9uZkJvUTxCcT1PJFdSbnpeb2V5JjkhakJpeT9FR1B7YCVvX2pZKXo9fjw+V14lSHZW
a1pZX01TMwp6Nlk9Y3ZsLUU7SUwrUm5FKlAxYGhjdiNhWF82Ql50YWJWVjYxWiFCdmU5UTk0RGl8
UUtNZ31NI2pgazQqUHl6KzgKekR+aXRFX2omdEA+KWBsbDIqMiNzXjEhU3k7JWVNKE5DaHxtJUBJ
VEJpe1dvZzdhI2wwUTVgdFpeTV9NWVR7P1ZsCnpBdzlBN0lPJm42VFRIYlNUT0lRRGg3bV9eLXg/
UHBqX0BaQWR3I2hIeFAlSm5UYWx5QDdYJCNJM0tsMXMhQ24pcgp6I1ZWWEg7bHJPa2R1eDcjb3li
WFFvSGMkNTVuRW41ekhUTDZoQ0k3THtLZEg+bnYwTFBXfU5MaTI+SzNOOWBTSC0Kemc8Q3l3a3h3
aT9wS0dvOCllbmIzXyRHTU04fk1wSXxIeHEkTT41M3Y7WjhHPDAyfm8oSzlXbUpafDJ2Kk5neSR3
Cno1e2RKdUR3T2E/cDA3TkwoPTFxZyNudTJBOGVWU0wjZFZOITwzLXFOUipodWklTkFjY2VzcitB
NERgNXw0V2lFWQp6bkRIYTwpcXhXWHVXNUY7PUlzajsyZUlXNHVSZU0/JGlAOWZ8RzEoZ0g0ellw
Tk56Jjt1fC07KHIlR2B8MChMV14Kej5FI2pBYHlOUmByPlAzRkNnUzkhTG1VPnRPYE0kWldmTnp3
OERiNE83fWhZXyh+MDRhOCt8dE1hQElpa0BiMXY8CnpgUEwofmJVRE1RUEpIN2VYTDwwXnBYIXM3
cEsqNG84NitWYzFjd3FVJFIxaDZBWlM9NCZyYTtjUjRfZmYyKGIwYgp6TUU+P0xpTWVLbUEpWCNi
ST99REN2ekF9NkxfTVV1ZUJ5PmY4MWlVYnhXKEhPUDFZIVR3ZkwkcG1sJTl0ZEZTKD8KekdrM1Vo
Y3lpMz8lKkVAWUh3TjRlTCFLRmspT2JZZklVKT9PQX49Xm8xRlpRWCk5YUBxRF52e2Y0bGUoUzNF
d1AjCnp4bSl3SUh1dzs4ZH19ZzQqZmBAPTFNdFI2SlJTPHk8WiRUdF9PIXlOeCVCWW12b2BsPzt2
Kk9GM1lMQDlIIzZUWgp6Ml84bXU3YmBFe2BkVkZRaTc1cHxVVjsqdj0+cjhRTSRfcEw3QjM7PDNh
aSpubHVjflNnRzxMM2pzbmM9NHpQeD4KekJkZUxhYylzRURGXmMwNEExNjYkMXxLM3Y0U2AhTjtg
cmw1Uzl9PEJINGNXSnNLMHx8QlkwTTRIUkVmWTtLdmBRCnpLNnxEUGp+Jk83WTZQaXhgYzB6NypT
eiotI1B9a2tEMF8qMHpRQ3lvM0wlUSZPVzEyN0VjelBkNzF1WEVLNVNoZQp6djJHK2lzV2BEUGBJ
Pjh7SU5hb3hYWnV5TjhWcFpCd0w1SGl4e1VKYWZnI1FlT0g9TERZOD9sNVZoQHY7QGh9X3MKeiUp
ZnBJQiN8SG5LJD9LT0g5ZXBXVDRLUTZPZ2Y8NUYjbH5pNDYqZCQhJE8pTEpAU04yKEt4cyR7WTYj
PFlsMGE1CnojZm84OWdMUWclYk9hdWJXKFRCSmRIODIlPiRrQEUlN3BfVHdzTmB7VF43MDYpR2Il
b2EqPz5RUy1ZVG88dUBEZgp6PHhBIzM9NDF8SU8+PTRoSTc9Y2F1P0U1aGdxfWBBTlFGZDVlMkxr
K1RAZSMrSUQ5d2AmKj04fiorRCRLTmFOPF8KeitMdGUwbmtGYDFkMnNGVUBpRjl0aTtxfSllKEhC
OTh0NT5IMTdPY0RFXnkrMzZUekw+JVV2IXA7JGd7PyRaejBfCno1MSlnPm0lbEMqdFFiLWdELUkj
V3g+YlZzaW1ORjVaWlJefUgzTm90R2N3M0UheUA5WCEtazhiSUwpYWN7NzgrYgp6P350d0chb1c+
RnZsIW9LMiZ7MVZ2bEJEazwrNl44Yyg/e1RrclBMSWJLTDNHWlYjVj9ZYkk8Ujk4Ny1vYXF0bDUK
eldLKGJyTERXc0RQPU5kY0h9OEU3bGR4dFcyeVp0KUs1PXFKVCQ4UUNtSjEjfkhfPGBuM3k7OHdV
bCRfMVNrMzFICnp5VCkyfnBtWj8jbkMqPnZWYS1QQjBZMUJ0YEl8a19hKjhKb05JYWJ3ZUY7WW1W
Iz9wO0lQX25kMXBwOExqc2dLJAp6ODtCVCtRR0N0TzVNVSpUPVNpYUQxRVp2SjVFdkQwQUJYVlM8
Um88QkBvYHdxWV9SMmxtKFcjJTI2UT80dSpWWmwKejdlJX5XPTk9YTMrMlBSUDJpSUprXnh8cWhP
bVMpX2Q8fWxQMjVXSX0qbjh7Ykh+O0AzJFZsRj51aSplOSlod1lrCnpmQSkmMTA4TmxFNDA9OFlE
fnpyOWFganxYY3dEQDleVSktMEhYPWAtS1o+allgTlA3R3V2YmdAQHIjckU/RD5tQAp6QlMrWTk5
NiZZRFNEUS0jdUxKN1I7JCUmX3NNUlB9cERUMjcmMk1gRjg0ezNeKmR3fFZ2dVVRSDVDJHElVnRh
YzIKel9JJWskS0F4eHVpbWVnRiFgN3R6NkV8Q3BEMVFnNDIhK1pTUHgqQEJVbWhHMzQhZnFwZyhW
aHU0SEE9eD9kSWJPCnpxblZBYlNFfF92Wip6aU9vSGNJdCleZypiY1d+IXI0NDlHPVhNek9oMjw5
VXhVJXtqc0Eob2h0QHU0bmVQVz53Owp6WT5DK2B6SStpQTJjTTR8bnVqPFlBRU5AezZCemchQGFe
JTBXdUhHXmN5aWFnZVN3UEk3bHhtYEk8MU1QIVBAMGcKelo9VzZZNEBkcytfXkcyXzsxWDdTR18l
dG0rYHMrNVJ8LWIzPF9aUSoqYVJxPTQtal5QTy13VVBXYSMrd0E+d0BGCnpmdkhJVDtsZUFnTGNm
eG1lYHFFYVBDdTh4PEY3R2hod2tFLTJ+MFdZR14wSDFGeXo1ZXRRbFQ+YFA8WDs9YzhGLQp6X31I
YEstYGJ3dEVTRCN5SzJ+UiNfe2wtIUYhLT5gR3J1fHNTYi1ldTRUT01tKSp0fXtGKmVFaDVyb3ok
UFlnVjwKejlmfXh4O0B2TTY3OTRgOEpzK2JjbV5HS3BJPXdpRCRKZzIrU2lfTSF5ITcmXjB9bmJ3
eTwmKnttZzNwQClucXlRCno/Ml59JD0qZz49ZGMoI34mZ3oyNlBUMTNUMHE1XlNJN3o1K1BEe2Fw
NmQ9Z254YEgmbUFfTVFSXyFJVUxNcGl0MQp6T3xjZ1RVO2d4VEhQKn15dERJKEI+RypvUkM0MzF4
ZTAhdCtNK0d7VU93SEV0PCF2dnYrflBKcmRJRFBgeVRKWncKelAhfXdGeW5FV15HNitvaUUoOEFN
b1MpUCs2KUEoRSF2VWFwIzJnZzhINjYpVGE8ZjZxaGBUKStYRHlGbT9ZM0ZOCnpWQXFpUkBLOWo1
SE8/TG5ka3FtVXJkZUtsSG57eGthY35JUFZiSFY3I2lxOGZgTjspYG8jM1oteGR7SSpqKEApawp6
a0pPKWZERjs3JHYyZXZjZC1pTip5Pkt7dTxlVUczJF85e0dxaVVpK3d9MnpQQkFzVCpIVVR+bzhq
YGc0YlJZJFgKekN+ViZ2ZEV3UFNndiRaTHM4UUQ5QCMrQUBTPDdLKWo2Sj9ePkV6cHU1LSQoQ2dO
Rn50LTxBP35hZGhKOTRWJks3CnpSQyVsb0sxNjxUYE92WjlxcmR2ViRNNTsqJWYqamVKYkMpaEQt
SGt2RFledmFuYDsxbzVINjhmYWdzVT0+allecgp6PUl7fXRCakpjYzc4WDlmeGUpc30oMkVsPDJU
V3AzMmZ0QjZgR2d5YDcmemgjSFFVUSQ1NXJ6OFUwNXl+bj5+Rk8Kek1UfDhMPD4tKnAhTlhzVl99
R1ZJcFVscjg1KChyV0Qxd29VbT5ENHdYPUYkVDtscjBtNDJRdEI0bkxoKFdPaX1sCnoydyFuPC1B
WXtLPFpFcSskTTxIQDQhfEpyQHJLY3A3Z3NqJSp7JGoxUFVNM24yUn1BNXNrdzFyPihJT2clWkY9
awp6Z2BRUnpUQCtZKzxVVlRAdlE4OCprc0p7VDNnWHZWQW1QSzhwRnRGPmFmc3o3UEpIO3xjPkUh
NktJSWM8KnFiJW8KekVWZlpqNEc5fVF6MSZfeXV0fHI7ekJ5PSErJVcwbykyISsrKTVHSlZWYTQ7
SzdjVW9eK18pNE1DY1J0XiN+aFllCnpoWmNfZmFJWEleazFCPmk1c1hDOSlAQ0NCR2hiMis0OHZZ
eHt0X2U3S19OXmhOM2tfZTQwe0RBMHYxZXloZ2RWYwp6T0dLPVYqMD5xKTk0N3dgNiY0SjlHXkJq
XjsyUT1YQGcwSWFzZVpaVD8wKj11Z1JkezxfIVI/N1ozYTlDOHp6bzgKelAxaHdSb0VTKDJZK0Vg
Rk0yMnJlaktxPyN5RGZZPUFVMW1iMm9iTmhoJDk9ODtfU15EKjMxX2xHaGE0Mj13S0V2CnpYSSFu
PjxRQiZ0d241NHApK21vWiNMNFQ+OzlERXZean5SLWxiMyZvPSY5a21eWUNNKiRBaUc3SCpqUXxV
b1A0cAp6U14jSWFRJlQxRHB2KTMkZFdHXyg3YXpDfTxPbXw9PUc5MWs2NHlqQWJVMGB0bj45T0pj
MTw5Mz5EZyo5VEBCXz4KekAzenRKeTNgVStZY1UmLUYwUV5FJUhmdkJMITxTP1R2TUJlO01ZSWtz
JFVQeWEwIzR2biZYT3RKcEFVclE8cD4mCnpofmhjYTd6Q3smI2l4Yl5xTEIqSzFXNjFTPUBtIWhw
K189NVl4dX59NWsqIyV3SU0lV0lwd2MkQFE3RzNhUUtMVQp6bl9kaElvY1E0eT8jKUtvUnx8YXAj
akJHfTkod3JwXnp7eXx5X3R5Uj98fUcqdU81RCtDdld9Xz9sfjlDJCV3M14KektuIUEqcHJxX0kk
Q0lOOGQ/RndyeTg7ZFY0bnx7JFMtdVgjbiMyUGhGfmJVQCpCdnxzdmc1X2E0VGRLI2VDemdiCnpf
V3tfZTF1b3Y9P2VYc3J0UE9FfCp2JHI5N29hI2dlKWZiN0gtNVAwWEkpS1pKbl4wbmJwUiEpc2xY
SXVQWUB5awp6e1RpYWUySVIwK1JEU0ZkUmxHeXNMJEE7WEIxWXQ/MnItNk5wOTB4NXRPb089Y2RP
dExgfURCbyFqKl8pR3d8ISsKellHIT1jIzFaVEVhJWdPfFI5OE9ZeDUkR3BAbD4kbSRLUlNROVgo
dCopT3EtUGQ5TWwlbjNFdWhlVytQaUZyVUNgCnpoUWc1Vy09Q0tfdllOcmE4JHBpJXk/Q1FOQTZX
N2RkRCRFflQhJmdOZGtxZ21lJDZ5MXRlakBBT292TmZKWVY/eQp6PD11VU4kd25zK2RwKkVNM31H
WDVhZlR+TC0xdTdhVlJOdmFadUBIT3ZxcytlM31ON2FmQzM3Pm5hcXQwJFd0T3QKenA+JiQlbitG
e1hMXk5GITRDfiZaYTRKQDtWcm9jbj5CUkJMLW1RPEQweVdHfmtlUWhBO0lEQ1Q8c34pNUxEQXp9
CnpvRVJkRyYyUztxS3lhWm1pXkkhSWhqUnhoOXlmRk5XPCFxcFYocDtkaGBvNkZtdFVASThXTlJF
bFFqe0RxNykqagp6d0lQYCV1b0Q8V2FxTVFLXygmfGEhT3hub1MxMjh2X0I5cTRJdExXS0NSQzdP
PzhXalNfVzlEYGk4RWgkYUV5Q1QKenBCJHUxQnAjK2JjIzdjQGNSNjVedT13enwqS0JjTnohT3Qk
ZEhCKTZ6NWJ0eHdKYHY+TmRnZzw0NSZTdUttZH5QCnozd1hjfDsrdkhDM2FKNXpZbU5hNlBNOSNQ
I25lPm1paCU4YTw7MDE5bSVeOzY7Pn17JVRffGZxRUllRz9gV25UTAp6LW1vXlIhXnxKOXJveVNZ
LUUyNUduZF9CWWE3YkwoO0Y8SG8mKVU7IXA1Sjk1QjhqQWM2ZW15OzA9T0Y/c1Y5WVAKekgtSGB2
UC17NGRJMjVBNj59R0x0JFhCNmVJZWxpeSRHI2lpMG02dXY4MlJ7SG84e3otMUl7JipwNzBsTUY5
JHJuCnpnZkRKLUwyNWlhMC12dlZUJnVVPCFHbWthVj1zbihKYkdRaSFJYGpePDVKX0M1LUZoc0tz
Z2VEMXB4TUJofnBQJgp6R2VIeSV2Zj82I3Bnb2NmJCkxZ0cwc31zPjIzd3J5NkZTYFpeTWZnR3gj
YCU7Wl9uNEJASz12STtQVH56NH1FVjIKej5uQCNvaW5XRlRRJSp3MSpRfmE5IV8rSTd7OSVmYmtI
cDBxemo8WiM5LXs7KjcpYitvQV49ZHlCRXckTVl5Xj4tCnowSC1GM2ZuKWFmK1h4IStDPz97M2tR
SylrQ3ohREZ3fShIKWR8aXVFbGlMVXoyRD49RSM2Y0slV1Qkc1hINVFJTQp6VipKakUtbnY3S3lT
Y1hwVGdeN31jaX5+LUsrTzJ6P3YyblA7YGVgZTZ3IWl1NVV2YVcwMDAwPE1OVU1uTFNUWj0KQzVB
QTtkCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2lu
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzMyMzM3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFw
ZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05T
T0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6
ODA4MC9zZWN1cml0eS9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyBmcm9tIGZyYW1lIHdpdGggVVJM
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2lu
Lmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KKworQ09OU09M
RSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0Ojgw
ODAvc2VjdXJpdHkvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5o
dG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK1ZlcmlmeSB0
aGF0IHNoYXBlLWluc2lkZSBhbmQgc2hhcGUtb3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBhIFVS
TCB3aXRoIGEgZGlmZmVyZW50IG9yaWdpbiBhbmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRvaW5nIHNv
IHNldHMgdGhlIHByb3BlcnR5IHRvICJub25lIi4gVGhpcyB0ZXN0IHNob3VsZCBnZW5lcmF0ZSB0
d28gZXJyb3IgbWVzc2FnZXMgYWJvdXQgdW5zYWZlIGF0dGVtcHRzIHRvIGxvYWQgYSBVUkwuCisK
K1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZUlu
c2lkZSBpcyAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZSBp
cyAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlIGlzICJub25l
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBl
T3V0c2lkZSBpcyAibm9uZSIKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MjI3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4u
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKyAgICAjc2hhcGUgeworICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xl
KDAsIDAsIDAsIDApOworICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgw
LCAwLCAwLCAwKTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlZlcmlm
eSB0aGF0IHNoYXBlLWluc2lkZSBhbmQgc2hhcGUtb3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBh
IFVSTCB3aXRoIGEgZGlmZmVyZW50IG9yaWdpbgorICBhbmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRv
aW5nIHNvIHNldHMgdGhlIHByb3BlcnR5IHRvICJub25lIi4gVGhpcyB0ZXN0IHNob3VsZCBnZW5l
cmF0ZSB0d28gZXJyb3IKKyAgbWVzc2FnZXMgYWJvdXQgdW5zYWZlIGF0dGVtcHRzIHRvIGxvYWQg
YSBVUkwuPC9wPgorICA8cCBpZD0iY29uc29sZSI+PC9wPgorCisgIDxkaXYgaWQ9InNoYXBlIj48
L2Rpdj4KKworPHNjcmlwdD4KKyAgdmFyIHNoYXBlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzaGFwZSIpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKHNoYXBlRWxlbWVudCkud2Via2l0U2hhcGVJbnNpZGUnLCAicmVjdGFuZ2xlKDBw
eCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIik7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
d2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUn
LCAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIik7CisKKyAgLy8gVGhl
IGltYWdlIFVSTCdzIHBvcnQgZG9lcyBub3QgbWF0Y2ggdGhpcyBkb2N1bWVudCdzIG9yaWdpbi4g
V2UgZXhwZWN0IGEgcGFpciBvZiBjb25zb2xlIHdhcm5pbmdzLgorICBzaGFwZUVsZW1lbnQuc3R5
bGUud2Via2l0U2hhcGVJbnNpZGUgPSAndXJsKCJodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJp
dHkvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmciKSc7CisgIHNoYXBlRWxlbWVudC5zdHlsZS53ZWJr
aXRTaGFwZU91dHNpZGUgPSAndXJsKCJodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVz
b3VyY2VzL3NxdWFyZTEwMC5wbmciKSc7CisKKyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlJywgIm5v
bmUiKTsKKyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShz
aGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZScsICJub25lIik7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YTU0NmZjLi5hZGRiYzAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNTEgQEAKKzIwMTMtMDYtMjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9i
ZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFwZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0
byBzYW1lIG9yaWdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVzdHJpY3QgdGhlIGltYWdlIFVSTCB2YWx1ZXMgZm9yIHNoYXBlLWluc2lkZSBhbmQg
c2hhcGUtb3V0c2lkZSB0bworICAgICAgICB0aGUgc2FtZSBvcmlnaW4gYXMgdGhlIGRvY3VtZW50
LiBUaGUgYWxwaGEgY2hhbm5lbCBvZiBpbWFnZSBzaGFwZSB2YWx1ZXMKKyAgICAgICAgd2lsbCBi
ZSB0cmVzaG9sZGVkIHRvIHByb2R1Y2UgdGhlIHNoYXBlJ3MgYm91bmRhcmllcyAoc2VlIGJ1ZyAx
MTY2NDMpCisgICAgICAgIHNvIG5vcm1hbCBpbWFnZSBhY2Nlc3MgcnVsZXMgYXJlbid0IHNlY3Vy
ZSBlbm91Z2guCisKKyAgICAgICAgQWRkZWQgYSBSZXF1ZXN0T3JpZ2luUG9saWN5IFJlc291cmNl
TG9hZGVyT3B0aW9uIHdoaWNoIGlzIHVzZWQgYnkKKyAgICAgICAgU3R5bGVSZXNvbHZlcjo6bG9h
ZFBlbmRpbmdTaGFwZUltYWdlKCkgdG8gcmVxdWVzdCB0aGUgYWRkaXRpb25hbCByZXN0cmljdGlv
bi4KKyAgICAgICAgVGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBubyBvdGhlciBlZmZlY3QgYWx0aG91
Z2ggaXQgZG9lcyBlbmFibGUgb25lIHRvIGFwcGx5CisgICAgICAgIHRoZSBzYW1lIHJlc3RyaWN0
aW9uIHRvIG90aGVyIHJlc291cmNlcyB3aGljaCBjYW4gY3VycmVudGx5IGJlIGxvYWRlZCBmcm9t
CisgICAgICAgIGFueSBvcmlnaW4gLSBzZWUgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVl
c3QoKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1p
bWFnZS1vcmlnaW4uaHRtbAorCisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOiBBZGQgYW4gZWZmZWN0
aXZlbHkgb3B0aW9uYWwgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHBhcmFtZXRlci4KKyAgICAgICAg
KiBjc3MvQ1NTSW1hZ2VWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6
Y2FjaGVkSW1hZ2UpOiBEaXR0by4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1hZ2UpOiBM
b2FkIHRoZSBpbWFnZSB3aXRoIHRoZSBkZWZhdWx0IENhY2hlZFJlc291cmNlTG9hZGVyIG9wdGlv
bnMgcGx1cyBSZXN0cmljdFRvU2FtZU9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVz
b2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2VzKTogQ2FsbCBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UoKS4K
KyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnRMb2Fk
aW5nTWFpblJlc291cmNlKTogVXBkYXRlIHRoZSBSZXNvdXJjZUxvYWRlck9wdGlvbnMgc3RhdGlj
IHZhcmlhYmxlLgorICAgICAgICAqIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2Nh
cGVQbHVnSW5TdHJlYW1Mb2FkZXIpOiBEaXR0by4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VM
b2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpvcHRpb25zKToKKyAg
ICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmg6IEFkZCBSZXF1ZXN0T3JpZ2lu
UG9saWN5IGVudW0uCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck9wdGlvbnM6OlJl
c291cmNlTG9hZGVyT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOiBQYXNzIFJlc291cmNlTG9hZGVyT3B0aW9ucyBhbG9uZyB0byByZXZpc2VkIENhY2hlZFJl
c291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KCkuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZXF1ZXN0SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldCk6IFVwZGF0ZSBsb2FkKCkgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJl
cXVlc3QpOiBSZXBsYWNlZCBDb250ZW50U2VjdXJpdHlQb2xpY3lDaGVjayBwYXJhbWV0ZXIgd2l0
aCBSZXNvdXJjZUxvYWRlck9wdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKTogUGFzcyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgYWxv
bmcgdG8gcmV2aXNlZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCgpLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMpOiBBZGRlZCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSBpbml0aWFs
aXplci4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklj
b25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6IEFkZGVkIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlv
bnNGb3JUeXBlIGludGlhbGl6ZXIuCisKIDIwMTMtMDUtMjQgIEJhbGF6cyBLZWxlbWVuICA8a2Jh
bGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtHc3RyZWFtZXJdIGNsZWFudXAgYnVmZmVyaW5n
IGFuZCBzdGF0ZSB1cGRhdGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXgg
ZDZjYTgzNC4uYWM0ZjZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAt
NjMsMTQgKzYzLDE0IEBAIFN0eWxlSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZE9yUGVuZGlu
Z0ltYWdlKCkKICAgICByZXR1cm4gbV9pbWFnZS5nZXQoKTsKIH0KIAotU3R5bGVDYWNoZWRJbWFn
ZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRl
cikKK1N0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9u
cykKIHsKICAgICBBU1NFUlQobG9hZGVyKTsKIAogICAgIGlmICghbV9hY2Nlc3NlZEltYWdlKSB7
CiAgICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29t
cGxldGVVUkwobV91cmwpKSk7CisgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0
KFJlc291cmNlUmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSks
IG9wdGlvbnMpOwogICAgICAgICBpZiAobV9pbml0aWF0b3JOYW1lLmlzRW1wdHkoKSkKICAgICAg
ICAgICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9yKGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRv
cnMoKS5jc3MpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAppbmRl
eCA2MmUxMTYyLi44MWJkNTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTIy
LDYgKzIyLDcgQEAKICNkZWZpbmUgQ1NTSW1hZ2VWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw3ICszOSw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5n
JiB1cmwsIFN0eWxlSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VW
YWx1ZSh1cmwsIGltYWdlKSk7IH0KICAgICB+Q1NTSW1hZ2VWYWx1ZSgpOwogCi0gICAgU3R5bGVD
YWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsKKyAgICBTdHls
ZUNhY2hlZEltYWdlKiBjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYpOworICAgIFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdl
KENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpIHsgcmV0dXJuIGNhY2hlZEltYWdlKGxvYWRl
ciwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSk7
IH0KICAgICAvLyBSZXR1cm5zIGEgU3R5bGVDYWNoZWRJbWFnZSBpZiB0aGUgaW1hZ2UgaXMgY2Fj
aGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0ltYWdlLgogICAgIFN0eWxlSW1h
Z2UqIGNhY2hlZE9yUGVuZGluZ0ltYWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCBlMmQ4ZDhkLi5kNDlhMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC00MTAxLDYgKzQxMDEsMjEgQEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHls
ZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4KICAg
ICByZXR1cm4gMDsKIH0KIAordm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1h
Z2UoU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJl
c291cmNlTG9hZGVyT3B0aW9ucywgb3B0aW9ucywgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVu
dCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3Jl
ZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgIFJlc3RyaWN0VG9TYW1lT3JpZ2luKSk7CisKKyAg
ICBTdHlsZUltYWdlKiBpbWFnZSA9IHNoYXBlVmFsdWUtPmltYWdlKCk7CisgICAgaWYgKCFpbWFn
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJbWFn
ZSA9IHN0YXRpY19jYXN0PFN0eWxlUGVuZGluZ0ltYWdlKj4oaW1hZ2UpOworICAgIENTU0ltYWdl
VmFsdWUqIGNzc0ltYWdlVmFsdWUgPSAgcGVuZGluZ0ltYWdlLT5jc3NJbWFnZVZhbHVlKCk7Cisg
ICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gbV9zdGF0ZS5k
b2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOworCisgICAgc2hhcGVWYWx1ZS0+c2V0
SW1hZ2UoY3NzSW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIsIG9w
dGlvbnMpKTsKK30KKwogdm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcygpCiB7
CiAgICAgaWYgKG1fc3RhdGUucGVuZGluZ0ltYWdlUHJvcGVydGllcygpLmlzRW1wdHkoKSkKQEAg
LTQxNzcsMTIgKzQxOTIsMTAgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdl
cygpCiAgICAgICAgIH0KICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFNoYXBlSW5zaWRlOgotICAgICAgICAgICAgaWYgKG1fc3RhdGUuc3R5bGUo
KS0+c2hhcGVJbnNpZGUoKSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCktPmltYWdl
KCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgpLT5pbWFnZSgpLT5pc1BlbmRpbmdJ
bWFnZSgpKQotICAgICAgICAgICAgICAgIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+
c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+
KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+aW1hZ2UoKSkpKTsKKyAgICAgICAgICAg
IGxvYWRQZW5kaW5nU2hhcGVJbWFnZShtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRTaGFwZU91
dHNpZGU6Ci0gICAgICAgICAgICBpZiAobV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKSAm
JiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0c2lkZSgpLT5pbWFnZSgpICYmIG1fc3RhdGUuc3R5
bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCktPmlzUGVuZGluZ0ltYWdlKCkpCi0gICAgICAg
ICAgICAgICAgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKS0+c2V0SW1hZ2UobG9hZFBl
bmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5bGUo
KS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkpKSk7CisgICAgICAgICAgICBsb2FkUGVuZGluZ1No
YXBlSW1hZ2UobV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKSk7CiAgICAgICAgICAgICBi
cmVhazsKICNlbmRpZgogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKaW5kZXggMWViZTkzMi4uMGI4MjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5o
CkBAIC01ODEsNiArNTgxLDcgQEAgcHJpdmF0ZToKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFn
ZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRpbmdJbWFnZSopOwogICAgIHZvaWQgbG9hZFBl
bmRpbmdJbWFnZXMoKTsKKyAgICB2b2lkIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZhbHVl
Kik7CiAKICAgICBzdGF0aWMgdW5zaWduZWQgY29tcHV0ZU1hdGNoZWRQcm9wZXJ0aWVzSGFzaChj
b25zdCBNYXRjaGVkUHJvcGVydGllcyosIHVuc2lnbmVkIHNpemUpOwogICAgIHN0cnVjdCBNYXRj
aGVkUHJvcGVydGllc0NhY2hlSXRlbSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAppbmRleCA4YzRlNDViLi4zYTNiMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTEzNjgsNyArMTM2OCw3IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSgpCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChtX3JlcXVlc3QpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoUmVzb3VyY2VMb2FkZXJP
cHRpb25zLCBtYWluUmVzb3VyY2VMb2FkT3B0aW9ucywKLSAgICAgICAgKFNlbmRDYWxsYmFja3Ms
IFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xp
ZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSk7CisgICAgICAgIChTZW5k
Q2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlh
bHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVm
YXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKICAgICBDYWNoZWRSZXNvdXJjZVJlcXVl
c3QgY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QsIG1haW5SZXNvdXJjZUxvYWRPcHRpb25z
KTsKICAgICBtX21haW5SZXNvdXJjZSA9IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RN
YWluUmVzb3VyY2UoY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KTsKICAgICBpZiAoIW1fbWFpblJlc291
cmNlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5T
dHJlYW1Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3Ry
ZWFtTG9hZGVyLmNwcAppbmRleCBhNzhlODA3Li5jYzQzZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKQEAgLTM2LDcg
KzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2Fk
ZXI6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKEZyYW1lKiBmcmFtZSwgTmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXJDbGllbnQqIGNsaWVudCkKLSAgICA6IFJlc291cmNlTG9hZGVyKGZyYW1l
LCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBEb05v
dEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRl
bnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpCisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFtZSwg
UmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9Ob3RC
dWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50
aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JU
eXBlKSkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmgKaW5kZXggMGE1NDk5Yi4uZDgyYWE4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTE2MCw2ICsxNjAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICB2b2lkIGRpZFJlY2VpdmVEYXRhT3JCdWZmZXIoY29uc3QgY2hhciosIGludCwgUGFzc1JlZlB0
cjxTaGFyZWRCdWZmZXI+LCBsb25nIGxvbmcgZW5jb2RlZERhdGFMZW5ndGgsIERhdGFQYXlsb2Fk
VHlwZSk7CiAKKyAgICBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMoKSB7IHJl
dHVybiBtX29wdGlvbnM7IH0KKwogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gbV9oYW5kbGU7
CiAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4g
bV9kb2N1bWVudExvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ck9wdGlvbnMuaAppbmRleCBkMWI5MDdiLi41YmMyZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oCkBAIC01NSwxNSArNTUsMzggQEAgZW51bSBT
ZWN1cml0eUNoZWNrUG9saWN5IHsKICAgICBEb1NlY3VyaXR5Q2hlY2sKIH07CiAKK2VudW0gUmVx
dWVzdE9yaWdpblBvbGljeSB7CisgICAgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5
cGUsCisgICAgUmVzdHJpY3RUb1NhbWVPcmlnaW4KK307CisKIHN0cnVjdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMgewotICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucygpIDogc2VuZExvYWRDYWxsYmFj
a3MoRG9Ob3RTZW5kQ2FsbGJhY2tzKSwgc25pZmZDb250ZW50KERvTm90U25pZmZDb250ZW50KSwg
ZGF0YUJ1ZmZlcmluZ1BvbGljeShCdWZmZXJEYXRhKSwgYWxsb3dDcmVkZW50aWFscyhEb05vdEFs
bG93U3RvcmVkQ3JlZGVudGlhbHMpLCBjbGllbnRDcmVkZW50aWFsUG9saWN5KERvTm90QXNrQ2xp
ZW50Rm9yQW55Q3JlZGVudGlhbHMpLCBzZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykgeyB9
Ci0gICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENh
bGxiYWNrcywgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29udGVudCwgRGF0YUJ1ZmZlcmlu
Z1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5LCBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRl
bnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKQor
ICAgICAgICA6IHNlbmRMb2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcykKKyAgICAgICAg
LCBzbmlmZkNvbnRlbnQoRG9Ob3RTbmlmZkNvbnRlbnQpCisgICAgICAgICwgZGF0YUJ1ZmZlcmlu
Z1BvbGljeShCdWZmZXJEYXRhKQorICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMoRG9Ob3RBbGxv
d1N0b3JlZENyZWRlbnRpYWxzKQorICAgICAgICAsIGNsaWVudENyZWRlbnRpYWxQb2xpY3koRG9O
b3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFscykKKyAgICAgICAgLCBzZWN1cml0eUNoZWNrKERv
U2VjdXJpdHlDaGVjaykKKyAgICAgICAgLCByZXF1ZXN0T3JpZ2luUG9saWN5KFVzZURlZmF1bHRP
cmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKQorICAgIHsKKyAgICB9CisKKyAgICBSZXNvdXJjZUxv
YWRlck9wdGlvbnMoCisgICAgICAgIFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNr
cywKKyAgICAgICAgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29udGVudCwKKyAgICAgICAg
RGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5LAorICAgICAgICBTdG9yZWRD
cmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLAorICAgICAgICBDbGllbnRDcmVkZW50aWFsUG9s
aWN5IGNyZWRlbnRpYWxQb2xpY3ksCisgICAgICAgIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJp
dHlDaGVjaywKKyAgICAgICAgUmVxdWVzdE9yaWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5
KQogICAgICAgICA6IHNlbmRMb2FkQ2FsbGJhY2tzKHNlbmRMb2FkQ2FsbGJhY2tzKQogICAgICAg
ICAsIHNuaWZmQ29udGVudChzbmlmZkNvbnRlbnQpCiAgICAgICAgICwgZGF0YUJ1ZmZlcmluZ1Bv
bGljeShkYXRhQnVmZmVyaW5nUG9saWN5KQogICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMoYWxs
b3dDcmVkZW50aWFscykKICAgICAgICAgLCBjbGllbnRDcmVkZW50aWFsUG9saWN5KGNyZWRlbnRp
YWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJpdHlDaGVjayhzZWN1cml0eUNoZWNrKQorICAgICAg
ICAsIHJlcXVlc3RPcmlnaW5Qb2xpY3kocmVxdWVzdE9yaWdpblBvbGljeSkKICAgICB7CiAgICAg
fQogICAgIFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrczsKQEAgLTcyLDYgKzk1
LDcgQEAgc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgU3RvcmVkQ3JlZGVudGlh
bHMgYWxsb3dDcmVkZW50aWFsczsgLy8gV2hldGhlciBIVFRQIGNyZWRlbnRpYWxzIGFuZCBjb29r
aWVzIGFyZSBzZW50IHdpdGggdGhlIHJlcXVlc3QuCiAgICAgQ2xpZW50Q3JlZGVudGlhbFBvbGlj
eSBjbGllbnRDcmVkZW50aWFsUG9saWN5OyAvLyBXaGVuIHdlIHNob3VsZCBhc2sgdGhlIGNsaWVu
dCBmb3IgY3JlZGVudGlhbHMgKGlmIHdlIGFsbG93IGNyZWRlbnRpYWxzIGF0IGFsbCkuCiAgICAg
U2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrOworICAgIFJlcXVlc3RPcmlnaW5Qb2xp
Y3kgcmVxdWVzdE9yaWdpblBvbGljeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBmNGZl
NzJiLi5hZjI2ZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdQogICAgICAg
ICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKG1fcmVzb3VyY2UpOwogICAg
ICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJl
c291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0
LnVybCgpKSkgeworICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgp
LCBvcHRpb25zKCkpKSB7CiAgICAgICAgICAgICBjYW5jZWwoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODk4OWJmMS4uMzViNzI0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0xNjEsNyArMTYxLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoQ2FjaGVkUmVzb3UKICAgICBpZiAoRnJhbWUq
IGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlmIChmLT5sb2FkZXIoKS0+cGFnZURpc21pc3NhbEV2
ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6Ok5vRGlzbWlzc2FsKSB7CiAgICAg
ICAgICAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgp
OwotICAgICAgICAgICAgaWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNhblJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwpKQorICAgICAgICAgICAgaWYg
KHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OkltYWdl
UmVzb3VyY2UsIHJlcXVlc3RVUkwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxv
YWQoKSkpCiAgICAgICAgICAgICAgICAgUGluZ0xvYWRlcjo6bG9hZEltYWdlKGYsIHJlcXVlc3RV
UkwpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KQEAgLTIxNSw3ICsyMTUsNyBA
QCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdAogICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2VyU2hl
ZXQuZ2V0KCkpOwogICAgIC8vIEZJWE1FOiBsb2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5nQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKSBpZiB0aGUgcmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQgdG8g
Y2FjaGUuIERvZXMgdGhpcyBmdW5jdGlvbiBuZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAotICAgIHVz
ZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJh
Y2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFz
a0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpOworICAgIHVzZXJT
aGVldC0+bG9hZCh0aGlzLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJhY2tz
LCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0Ns
aWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdp
blJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKICAgICAKICAgICByZXR1cm4gdXNlclNoZWV0OwogfQpA
QCAtMzAzLDcgKzMwMyw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1
cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGZvclByZWxvYWQpCitib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25z
LCBib29sIGZvclByZWxvYWQpCiB7CiAgICAgaWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgewogICAgICAgICBpZiAoIWZvclBy
ZWxvYWQpCkBAIC0zMzcsNiArMzM3LDEwIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNh
blJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAjZW5k
aWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJv
bSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1cmUgYWJvdXQgQ2FjaGVk
UmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KKyAgICAgICAgaWYgKG9wdGlvbnMucmVxdWVzdE9yaWdp
blBvbGljeSA9PSBSZXN0cmljdFRvU2FtZU9yaWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlP
cmlnaW4oKS0+Y2FuUmVxdWVzdCh1cmwpKSB7CisgICAgICAgICAgICBwcmludEFjY2Vzc0Rlbmll
ZE1lc3NhZ2UodXJsKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAg
ICAgICBicmVhazsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNW
R0RvY3VtZW50UmVzb3VyY2U6CkBAIC00NDMsNyArNDQ3LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2Uo
Q2FjaGUKICAgICBpZiAoIXVybC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
aWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdC5mb3JQcmVsb2FkKCkpKQorICAgIGlm
ICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclBy
ZWxvYWQoKSkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKEZyYW1lKiBmID0gZnJhbWUo
KSkKQEAgLTk4MCw3ICs5ODQsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFBy
ZWxvYWRTdGF0cygpCiAKIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKQogewotICAgIHN0YXRpYyBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQs
IEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRl
bnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spOworICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlv
bnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93
U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5
Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKTsKICAgICByZXR1cm4g
b3B0aW9uczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaAppbmRleCAwZTU4Njg4Li40NzYwODMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMTMzLDcg
KzEzMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUs
IENhY2hlZFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CiAgICAgdm9p
ZCBjaGVja0ZvclBlbmRpbmdQcmVsb2FkcygpOwogICAgIHZvaWQgcHJpbnRQcmVsb2FkU3RhdHMo
KTsKLSAgICBib29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwm
LCBib29sIGZvclByZWxvYWQgPSBmYWxzZSk7CisgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJl
c291cmNlOjpUeXBlLCBjb25zdCBLVVJMJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwg
Ym9vbCBmb3JQcmVsb2FkID0gZmFsc2UpOwogCiAgICAgc3RhdGljIGNvbnN0IFJlc291cmNlTG9h
ZGVyT3B0aW9ucyYgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCmluZGV4IDE4NTU4NTQuLmM2MzM0NGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCkBAIC02Miw3ICs2Miw3
IEBAIHZvaWQgSWNvbkxvYWRlcjo6c3RhcnRMb2FkaW5nKCkKICAgICBpZiAobV9yZXNvdXJjZSB8
fCAhbV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUtPmxvYWRlcigpLT5p
Y29uKCktPnVybCgpKSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZm
Q29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFz
a0NsaWVudEZvckFueUNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spKTsKKyAgICBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QobV9mcmFtZS0+bG9hZGVyKCkt
Pmljb24oKS0+dXJsKCkpLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25p
ZmZDb250ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90
QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9y
aWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKIAogI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAg
ICAgcmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCkuc2V0VGFyZ2V0VHlwZShSZXNvdXJj
ZVJlcXVlc3Q6OlRhcmdldElzRmF2aWNvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205183</attachid>
            <date>2013-06-21 07:46:41 -0700</date>
            <delta_ts>2013-06-21 07:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>22757</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNDMwYzhlLi4wODBkMDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgYSBub24gc2Ft
ZS1vcmlnaW4gaW1hZ2UgVVJMIHNwZWNpZmllZCBmb3Igc2hhcGUtaW5zaWRlIG9yCisgICAgICAg
IHNoYXBlLW91dHNpZGUgd2lsbCBub3QgbG9hZCBhbmQgdGhlIHNoYXBlIHByb3BlcnR5IHdpbGwg
YmUgcmVzZXQgdG8gIm5vbmUiLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1p
bnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTA2LTIxICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBJbnRlZ3JhdGUgbmV3IHJlZ2lvbk92ZXJzZXRDaGFuZ2UgZXZlbnQgaW50
byBpbnNwZWN0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2Vz
L3NxdWFyZTEwMC5wbmcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9zcXVhcmUx
MDAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2N2JhYmIKQmluYXJ5
IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9z
cXVhcmUxMDAucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MzMjMzNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5zaWRl
LWltYWdlLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2Vj
dXJpdHkvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sLiBE
b21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK0NPTlNPTEUgTUVTU0FH
RTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3Vy
aXR5L3Jlc291cmNlcy9zcXVhcmUxMDAucG5nIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbC4gRG9t
YWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorCitWZXJpZnkgdGhhdCBzaGFw
ZS1pbnNpZGUgYW5kIHNoYXBlLW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0aCBh
IGRpZmZlcmVudCBvcmlnaW4gYW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBzZXRzIHRo
ZSBwcm9wZXJ0eSB0byAibm9uZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdvIGVycm9y
IG1lc3NhZ2VzIGFib3V0IHVuc2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLgorCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHNoYXBlRWxlbWVudCkud2Via2l0U2hhcGVJbnNpZGUgaXMg
InJlY3RhbmdsZSgwcHgsIDBweCwgMHB4LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUgaXMgInJlY3Rh
bmdsZSgwcHgsIDBweCwgMHB4LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZUluc2lkZSBpcyAibm9uZSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUg
aXMgIm5vbmUiCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jOTIyN2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwKQEAg
LTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAg
I3NoYXBlIHsKKyAgICAgICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAw
LCAwKTsKKyAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCwgMCwgMCwg
MCk7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5WZXJpZnkgdGhhdCBz
aGFwZS1pbnNpZGUgYW5kIHNoYXBlLW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0
aCBhIGRpZmZlcmVudCBvcmlnaW4KKyAgYW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBz
ZXRzIHRoZSBwcm9wZXJ0eSB0byAibm9uZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdv
IGVycm9yCisgIG1lc3NhZ2VzIGFib3V0IHVuc2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLjwv
cD4KKyAgPHAgaWQ9ImNvbnNvbGUiPjwvcD4KKworICA8ZGl2IGlkPSJzaGFwZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CisgIHZhciBzaGFwZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2hhcGUiKTsKKyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlJywgInJlY3RhbmdsZSgwcHgsIDBweCwg
MHB4LCAwcHgsIDBweCwgMHB4KSIpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKHNoYXBlRWxlbWVudCkud2Via2l0U2hhcGVPdXRzaWRlJywgInJlY3Rh
bmdsZSgwcHgsIDBweCwgMHB4LCAwcHgsIDBweCwgMHB4KSIpOworCisgIC8vIFRoZSBpbWFnZSBV
UkwncyBwb3J0IGRvZXMgbm90IG1hdGNoIHRoaXMgZG9jdW1lbnQncyBvcmlnaW4uIFdlIGV4cGVj
dCBhIHBhaXIgb2YgY29uc29sZSB3YXJuaW5ncy4KKyAgc2hhcGVFbGVtZW50LnN0eWxlLndlYmtp
dFNoYXBlSW5zaWRlID0gJ3VybCgiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291
cmNlcy9zcXVhcmUxMDAucG5nIiknOworICBzaGFwZUVsZW1lbnQuc3R5bGUud2Via2l0U2hhcGVP
dXRzaWRlID0gJ3VybCgiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9z
cXVhcmUxMDAucG5nIiknOworCisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENv
bXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZUluc2lkZScsICJub25lIik7Cisg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVt
ZW50KS53ZWJraXRTaGFwZU91dHNpZGUnLCAibm9uZSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWM1NjBlNi4uNTMxMmYyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUxIEBACisyMDEzLTA2LTIwICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29tPgor
CisgICAgICAgIFtDU1MgU2hhcGVzXSBsaW1pdCBzaGFwZSBpbWFnZSB2YWx1ZXMgdG8gc2FtZSBv
cmlnaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NzYxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
c3RyaWN0IHRoZSBpbWFnZSBVUkwgdmFsdWVzIGZvciBzaGFwZS1pbnNpZGUgYW5kIHNoYXBlLW91
dHNpZGUgdG8KKyAgICAgICAgdGhlIHNhbWUgb3JpZ2luIGFzIHRoZSBkb2N1bWVudC4gVGhlIGFs
cGhhIGNoYW5uZWwgb2YgaW1hZ2Ugc2hhcGUgdmFsdWVzCisgICAgICAgIHdpbGwgYmUgdHJlc2hv
bGRlZCB0byBwcm9kdWNlIHRoZSBzaGFwZSdzIGJvdW5kYXJpZXMgKHNlZSBidWcgMTE2NjQzKQor
ICAgICAgICBzbyBub3JtYWwgaW1hZ2UgYWNjZXNzIHJ1bGVzIGFyZW4ndCBzZWN1cmUgZW5vdWdo
LgorCisgICAgICAgIEFkZGVkIGEgUmVxdWVzdE9yaWdpblBvbGljeSBSZXNvdXJjZUxvYWRlck9w
dGlvbiB3aGljaCBpcyB1c2VkIGJ5CisgICAgICAgIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5n
U2hhcGVJbWFnZSgpIHRvIHJlcXVlc3QgdGhlIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24uCisgICAg
ICAgIFRoZSBjaGFuZ2Ugc2hvdWxkIGhhdmUgbm8gb3RoZXIgZWZmZWN0IGFsdGhvdWdoIGl0IGRv
ZXMgZW5hYmxlIG9uZSB0byBhcHBseQorICAgICAgICB0aGUgc2FtZSByZXN0cmljdGlvbiB0byBv
dGhlciByZXNvdXJjZXMgd2hpY2ggY2FuIGN1cnJlbnRseSBiZSBsb2FkZWQgZnJvbQorICAgICAg
ICBhbnkgb3JpZ2luIC0gc2VlIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KCkuCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3Jp
Z2luLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKTogQWRkIGFuIGVmZmVjdGl2ZWx5IG9w
dGlvbmFsIFJlc291cmNlTG9hZGVyT3B0aW9ucyBwYXJhbWV0ZXIuCisgICAgICAgICogY3NzL0NT
U0ltYWdlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZElt
YWdlKTogRGl0dG8uCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKTogTG9hZCB0aGUg
aW1hZ2Ugd2l0aCB0aGUgZGVmYXVsdCBDYWNoZWRSZXNvdXJjZUxvYWRlciBvcHRpb25zIHBsdXMg
UmVzdHJpY3RUb1NhbWVPcmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjps
b2FkUGVuZGluZ0ltYWdlcyk6IENhbGwgbG9hZFBlbmRpbmdTaGFwZUltYWdlKCkuCisgICAgICAg
ICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5S
ZXNvdXJjZSk6IFVwZGF0ZSB0aGUgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHN0YXRpYyB2YXJpYWJs
ZS4KKyAgICAgICAgKiBsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyKTogRGl0dG8uCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6b3B0aW9ucyk6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oOiBBZGQgUmVxdWVzdE9yaWdpblBvbGljeSBl
bnVtLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJPcHRpb25zOjpSZXNvdXJjZUxv
YWRlck9wdGlvbnMpOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KTogUGFz
cyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgYWxvbmcgdG8gcmV2aXNlZCBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6Y2FuUmVxdWVzdCgpLgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdEltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
ZXN0VXNlckNTU1N0eWxlU2hlZXQpOiBVcGRhdGUgbG9hZCgpIFJlc291cmNlTG9hZGVyT3B0aW9u
cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KTog
UmVwbGFjZWQgQ29udGVudFNlY3VyaXR5UG9saWN5Q2hlY2sgcGFyYW1ldGVyIHdpdGggUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RSZXNvdXJjZSk6IFBhc3MgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGFsb25nIHRvIHJl
dmlzZWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoKS4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKTog
QWRkZWQgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUgaW5pdGlhbGl6ZXIuCisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICog
bG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uTG9hZGVy
OjpzdGFydExvYWRpbmcpOiBBZGRlZCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlw
ZSBpbnRpYWxpemVyLgorCiAyMDEzLTA2LTIxICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2Jl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnRlZ3JhdGUgbmV3IHJlZ2lvbk92ZXJz
ZXRDaGFuZ2UgZXZlbnQgaW50byBpbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVl
LmNwcAppbmRleCBkNmNhODM0Li5hYzRmNmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuY3BwCkBAIC02MywxNCArNjMsMTQgQEAgU3R5bGVJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2Fj
aGVkT3JQZW5kaW5nSW1hZ2UoKQogICAgIHJldHVybiBtX2ltYWdlLmdldCgpOwogfQogCi1TdHls
ZUNhY2hlZEltYWdlKiBDU1NJbWFnZVZhbHVlOjpjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxv
YWRlciogbG9hZGVyKQorU3R5bGVDYWNoZWRJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1h
Z2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRp
b25zJiBvcHRpb25zKQogewogICAgIEFTU0VSVChsb2FkZXIpOwogCiAgICAgaWYgKCFtX2FjY2Vz
c2VkSW1hZ2UpIHsKICAgICAgICAgbV9hY2Nlc3NlZEltYWdlID0gdHJ1ZTsKIAotICAgICAgICBD
YWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QobG9hZGVyLT5kb2N1
bWVudCgpLT5jb21wbGV0ZVVSTChtX3VybCkpKTsKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVV
UkwobV91cmwpKSwgb3B0aW9ucyk7CiAgICAgICAgIGlmIChtX2luaXRpYXRvck5hbWUuaXNFbXB0
eSgpKQogICAgICAgICAgICAgcmVxdWVzdC5zZXRJbml0aWF0b3IoY2FjaGVkUmVzb3VyY2VSZXF1
ZXN0SW5pdGlhdG9ycygpLmNzcyk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VW
YWx1ZS5oCmluZGV4IDYyZTExNjIuLjgxYmQ1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBDU1NJbWFnZVZhbHVlX2gKIAogI2luY2x1
ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM4LDcgKzM5LDgg
QEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShj
b25zdCBTdHJpbmcmIHVybCwgU3R5bGVJbWFnZSogaW1hZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDU1NJbWFnZVZhbHVlKHVybCwgaW1hZ2UpKTsgfQogICAgIH5DU1NJbWFnZVZhbHVlKCk7CiAK
LSAgICBTdHlsZUNhY2hlZEltYWdlKiBjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciop
OworICAgIFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKENhY2hlZFJlc291cmNlTG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJik7CisgICAgU3R5bGVDYWNoZWRJbWFnZSog
Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikgeyByZXR1cm4gY2FjaGVk
SW1hZ2UobG9hZGVyLCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygpKTsgfQogICAgIC8vIFJldHVybnMgYSBTdHlsZUNhY2hlZEltYWdlIGlmIHRoZSBp
bWFnZSBpcyBjYWNoZWQgYWxyZWFkeSwgb3RoZXJ3aXNlIGEgU3R5bGVQZW5kaW5nSW1hZ2UuCiAg
ICAgU3R5bGVJbWFnZSogY2FjaGVkT3JQZW5kaW5nSW1hZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGUyZDhkOGQuLmQ0OWEyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTQxMDEsNiArNDEwMSwyMSBAQCBQYXNzUmVmUHRyPFN0eWxl
SW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2Uq
IHBlbmRpbgogICAgIHJldHVybiAwOwogfQogCit2b2lkIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5k
aW5nU2hhcGVJbWFnZShTaGFwZVZhbHVlKiBzaGFwZVZhbHVlKQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoUmVzb3VyY2VMb2FkZXJPcHRpb25zLCBvcHRpb25zLCAoU2VuZENhbGxiYWNrcywg
U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGll
bnRGb3JBbGxDcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCAgUmVzdHJpY3RUb1NhbWVPcmln
aW4pKTsKKworICAgIFN0eWxlSW1hZ2UqIGltYWdlID0gc2hhcGVWYWx1ZS0+aW1hZ2UoKTsKKyAg
ICBpZiAoIWltYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHlsZVBlbmRpbmdJbWFnZSog
cGVuZGluZ0ltYWdlID0gc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1hZ2UqPihpbWFnZSk7Cisg
ICAgQ1NTSW1hZ2VWYWx1ZSogY3NzSW1hZ2VWYWx1ZSA9ICBwZW5kaW5nSW1hZ2UtPmNzc0ltYWdl
VmFsdWUoKTsKKyAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIg
PSBtX3N0YXRlLmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CisKKyAgICBzaGFw
ZVZhbHVlLT5zZXRJbWFnZShjc3NJbWFnZVZhbHVlLT5jYWNoZWRJbWFnZShjYWNoZWRSZXNvdXJj
ZUxvYWRlciwgb3B0aW9ucykpOworfQorCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5n
SW1hZ2VzKCkKIHsKICAgICBpZiAobV9zdGF0ZS5wZW5kaW5nSW1hZ2VQcm9wZXJ0aWVzKCkuaXNF
bXB0eSgpKQpAQCAtNDE3NywxMiArNDE5MiwxMCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmxvYWRQ
ZW5kaW5nSW1hZ2VzKCkKICAgICAgICAgfQogI2lmIEVOQUJMRShDU1NfU0hBUEVTKQogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0U2hhcGVJbnNpZGU6Ci0gICAgICAgICAgICBpZiAobV9z
dGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgpICYmIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNp
ZGUoKS0+aW1hZ2UoKSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCktPmltYWdlKCkt
PmlzUGVuZGluZ0ltYWdlKCkpCi0gICAgICAgICAgICAgICAgbV9zdGF0ZS5zdHlsZSgpLT5zaGFw
ZUluc2lkZSgpLT5zZXRJbWFnZShsb2FkUGVuZGluZ0ltYWdlKHN0YXRpY19jYXN0PFN0eWxlUGVu
ZGluZ0ltYWdlKj4obV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgpLT5pbWFnZSgpKSkpOwor
ICAgICAgICAgICAgbG9hZFBlbmRpbmdTaGFwZUltYWdlKG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJ
bnNpZGUoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdFNoYXBlT3V0c2lkZToKLSAgICAgICAgICAgIGlmIChtX3N0YXRlLnN0eWxlKCktPnNoYXBl
T3V0c2lkZSgpICYmIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkgJiYg
bV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKS0+aW1hZ2UoKS0+aXNQZW5kaW5nSW1hZ2Uo
KSkKLSAgICAgICAgICAgICAgICBtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0c2lkZSgpLT5zZXRJ
bWFnZShsb2FkUGVuZGluZ0ltYWdlKHN0YXRpY19jYXN0PFN0eWxlUGVuZGluZ0ltYWdlKj4obV9z
dGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKS0+aW1hZ2UoKSkpKTsKKyAgICAgICAgICAgIGxv
YWRQZW5kaW5nU2hhcGVJbWFnZShtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0c2lkZSgpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAppbmRleCAxZWJlOTMyLi4wYjgyOWY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmgKQEAgLTU4MSw2ICs1ODEsNyBAQCBwcml2YXRlOgogCiAgICAgUGFzc1JlZlB0
cjxTdHlsZUltYWdlPiBsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKik7CiAgICAg
dm9pZCBsb2FkUGVuZGluZ0ltYWdlcygpOworICAgIHZvaWQgbG9hZFBlbmRpbmdTaGFwZUltYWdl
KFNoYXBlVmFsdWUqKTsKIAogICAgIHN0YXRpYyB1bnNpZ25lZCBjb21wdXRlTWF0Y2hlZFByb3Bl
cnRpZXNIYXNoKGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzKiwgdW5zaWduZWQgc2l6ZSk7CiAgICAg
c3RydWN0IE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDdmNGMzMWYuLmRlNDAwZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTM3MSw3ICsxMzcxLDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKCkKIAogICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0KG1fcmVxdWVzdCk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZXNv
dXJjZUxvYWRlck9wdGlvbnMsIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLAotICAgICAgICAoU2Vu
ZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2spKTsKKyAg
ICAgICAgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9y
ZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNo
ZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogICAgIENhY2hlZFJl
c291cmNlUmVxdWVzdCBjYWNoZWRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCwgbWFpblJlc291cmNl
TG9hZE9wdGlvbnMpOwogICAgIG1fbWFpblJlc291cmNlID0gbV9jYWNoZWRSZXNvdXJjZUxvYWRl
ci0+cmVxdWVzdE1haW5SZXNvdXJjZShjYWNoZWRSZXNvdXJjZVJlcXVlc3QpOwogICAgIGlmICgh
bV9tYWluUmVzb3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2Nh
cGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCmluZGV4IGE3OGU4MDcuLmNjNDNlYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNw
cApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIoRnJhbWUqIGZyYW1lLCBO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCogY2xpZW50KQotICAgIDogUmVzb3VyY2VM
b2FkZXIoZnJhbWUsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNv
bnRlbnQsIERvTm90QnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50
Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSkKKyAgICA6IFJlc291cmNlTG9h
ZGVyKGZyYW1lLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250
ZW50LCBEb05vdEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZv
ckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3Ry
aWN0aW9uc0ZvclR5cGUpKQogICAgICwgbV9jbGllbnQoY2xpZW50KQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCAwYTU0OTliLi5kODJhYTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtMTYwLDYgKzE2MCw4IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGFPckJ1ZmZlcihjb25zdCBjaGFyKiwgaW50
LCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIGxvbmcgbG9uZyBlbmNvZGVkRGF0YUxlbmd0aCwg
RGF0YVBheWxvYWRUeXBlKTsKIAorICAgIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0
aW9ucygpIHsgcmV0dXJuIG1fb3B0aW9uczsgfQorCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxl
PiBtX2hhbmRsZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fZnJhbWU7CiAgICAgUmVmUHRyPERvY3Vt
ZW50TG9hZGVyPiBtX2RvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyT3B0aW9ucy5oCmluZGV4IGQxYjkwN2IuLjViYzJkMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKQEAgLTU1LDE1ICs1NSwz
OCBAQCBlbnVtIFNlY3VyaXR5Q2hlY2tQb2xpY3kgewogICAgIERvU2VjdXJpdHlDaGVjawogfTsK
IAorZW51bSBSZXF1ZXN0T3JpZ2luUG9saWN5IHsKKyAgICBVc2VEZWZhdWx0T3JpZ2luUmVzdHJp
Y3Rpb25zRm9yVHlwZSwKKyAgICBSZXN0cmljdFRvU2FtZU9yaWdpbgorfTsKKwogc3RydWN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyB7Ci0gICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKCkgOiBzZW5k
TG9hZENhbGxiYWNrcyhEb05vdFNlbmRDYWxsYmFja3MpLCBzbmlmZkNvbnRlbnQoRG9Ob3RTbmlm
ZkNvbnRlbnQpLCBkYXRhQnVmZmVyaW5nUG9saWN5KEJ1ZmZlckRhdGEpLCBhbGxvd0NyZWRlbnRp
YWxzKERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscyksIGNsaWVudENyZWRlbnRpYWxQb2xpY3ko
RG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFscyksIHNlY3VyaXR5Q2hlY2soRG9TZWN1cml0
eUNoZWNrKSB7IH0KLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrUG9saWN5
IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZDb250ZW50LCBE
YXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3JlZENyZWRlbnRpYWxz
IGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY3JlZGVudGlhbFBvbGlj
eSwgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrKQorICAgIFJlc291cmNlTG9hZGVy
T3B0aW9ucygpCisgICAgICAgIDogc2VuZExvYWRDYWxsYmFja3MoRG9Ob3RTZW5kQ2FsbGJhY2tz
KQorICAgICAgICAsIHNuaWZmQ29udGVudChEb05vdFNuaWZmQ29udGVudCkKKyAgICAgICAgLCBk
YXRhQnVmZmVyaW5nUG9saWN5KEJ1ZmZlckRhdGEpCisgICAgICAgICwgYWxsb3dDcmVkZW50aWFs
cyhEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpCisgICAgICAgICwgY2xpZW50Q3JlZGVudGlh
bFBvbGljeShEb05vdEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzKQorICAgICAgICAsIHNlY3Vy
aXR5Q2hlY2soRG9TZWN1cml0eUNoZWNrKQorICAgICAgICAsIHJlcXVlc3RPcmlnaW5Qb2xpY3ko
VXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpCisgICAgeworICAgIH0KKworICAg
IFJlc291cmNlTG9hZGVyT3B0aW9ucygKKyAgICAgICAgU2VuZENhbGxiYWNrUG9saWN5IHNlbmRM
b2FkQ2FsbGJhY2tzLAorICAgICAgICBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZDb250ZW50
LAorICAgICAgICBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksCisgICAg
ICAgIFN0b3JlZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsCisgICAgICAgIENsaWVudENy
ZWRlbnRpYWxQb2xpY3kgY3JlZGVudGlhbFBvbGljeSwKKyAgICAgICAgU2VjdXJpdHlDaGVja1Bv
bGljeSBzZWN1cml0eUNoZWNrLAorICAgICAgICBSZXF1ZXN0T3JpZ2luUG9saWN5IHJlcXVlc3RP
cmlnaW5Qb2xpY3kpCiAgICAgICAgIDogc2VuZExvYWRDYWxsYmFja3Moc2VuZExvYWRDYWxsYmFj
a3MpCiAgICAgICAgICwgc25pZmZDb250ZW50KHNuaWZmQ29udGVudCkKICAgICAgICAgLCBkYXRh
QnVmZmVyaW5nUG9saWN5KGRhdGFCdWZmZXJpbmdQb2xpY3kpCiAgICAgICAgICwgYWxsb3dDcmVk
ZW50aWFscyhhbGxvd0NyZWRlbnRpYWxzKQogICAgICAgICAsIGNsaWVudENyZWRlbnRpYWxQb2xp
Y3koY3JlZGVudGlhbFBvbGljeSkKICAgICAgICAgLCBzZWN1cml0eUNoZWNrKHNlY3VyaXR5Q2hl
Y2spCisgICAgICAgICwgcmVxdWVzdE9yaWdpblBvbGljeShyZXF1ZXN0T3JpZ2luUG9saWN5KQog
ICAgIHsKICAgICB9CiAgICAgU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzOwpA
QCAtNzIsNiArOTUsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKICAgICBTdG9y
ZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzOyAvLyBXaGV0aGVyIEhUVFAgY3JlZGVudGlh
bHMgYW5kIGNvb2tpZXMgYXJlIHNlbnQgd2l0aCB0aGUgcmVxdWVzdC4KICAgICBDbGllbnRDcmVk
ZW50aWFsUG9saWN5IGNsaWVudENyZWRlbnRpYWxQb2xpY3k7IC8vIFdoZW4gd2Ugc2hvdWxkIGFz
ayB0aGUgY2xpZW50IGZvciBjcmVkZW50aWFscyAoaWYgd2UgYWxsb3cgY3JlZGVudGlhbHMgYXQg
YWxsKS4KICAgICBTZWN1cml0eUNoZWNrUG9saWN5IHNlY3VyaXR5Q2hlY2s7CisgICAgUmVxdWVz
dE9yaWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZSAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IGY0ZmU3MmIuLmFmMjZlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcApAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJl
c291CiAgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQobV9yZXNv
dXJjZSk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmICghbV9kb2N1bWVudExvYWRl
ci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdChtX3Jlc291cmNlLT50eXBlKCks
IG5ld1JlcXVlc3QudXJsKCkpKSB7CisgICAgICAgIGlmICghbV9kb2N1bWVudExvYWRlci0+Y2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdChtX3Jlc291cmNlLT50eXBlKCksIG5ld1Jl
cXVlc3QudXJsKCksIG9wdGlvbnMoKSkpIHsKICAgICAgICAgICAgIGNhbmNlbCgpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4OTg5YmYxLi4yZGU5NDgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJ
bWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShDYWNoZWRSZXNvdQogICAg
IGlmIChGcmFtZSogZiA9IGZyYW1lKCkpIHsKICAgICAgICAgaWYgKGYtPmxvYWRlcigpLT5wYWdl
RGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQoKSAhPSBGcmFtZUxvYWRlcjo6Tm9EaXNtaXNz
YWwpIHsKICAgICAgICAgICAgIEtVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1
ZXN0KCkudXJsKCk7Ci0gICAgICAgICAgICBpZiAocmVxdWVzdFVSTC5pc1ZhbGlkKCkgJiYgY2Fu
UmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdFVSTCkpCisgICAg
ICAgICAgICBpZiAocmVxdWVzdFVSTC5pc1ZhbGlkKCkgJiYgY2FuUmVxdWVzdChDYWNoZWRSZXNv
dXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdFVSTCwgcmVxdWVzdC5vcHRpb25zKCksIHJlcXVl
c3QuZm9yUHJlbG9hZCgpKSkKICAgICAgICAgICAgICAgICBQaW5nTG9hZGVyOjpsb2FkSW1hZ2Uo
ZiwgcmVxdWVzdFVSTCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMjE1
LDcgKzIxNSw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENh
Y2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0CiAgICAgbWVtb3J5Q2FjaGUoKS0+
YWRkKHVzZXJTaGVldC5nZXQoKSk7CiAgICAgLy8gRklYTUU6IGxvYWRSZXNvdXJjZSBjYWxscyBz
ZXRPd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcigpIGlmIHRoZSByZXNvdXJjZSBjb3VsZG4ndCBi
ZSBhZGRlZCB0byBjYWNoZS4gRG9lcyB0aGlzIGZ1bmN0aW9uIG5lZWQgdG8gY2FsbCBpdCwgdG9v
PwogCi0gICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhEb05v
dFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVk
ZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSk7
CisgICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhEb05vdFNl
bmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50
aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrLCBVc2VE
ZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogICAgIAogICAgIHJldHVybiB1c2Vy
U2hlZXQ7CiB9CkBAIC0zMDMsNyArMzAzLDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVz
dChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgZm9yUHJl
bG9hZCkKK2Jvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMmIG9wdGlvbnMsIGJvb2wgZm9yUHJlbG9hZCkKIHsKICAgICBpZiAoZG9jdW1lbnQoKSAmJiAh
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheSh1cmwpKSB7CiAgICAgICAg
IGlmICghZm9yUHJlbG9hZCkKQEAgLTMzNSw4ICszMzUsMTIgQEAgYm9vbCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJM
JiB1cmwKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
U2hhZGVyUmVzb3VyY2U6CiAjZW5kaWYKLSAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3Vy
Y2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgorICAgICAgICAvLyBUaGVzZSB0eXBl
cyBvZiByZXNvdXJjZXMgY2FuIGJlIGxvYWRlZCBmcm9tIGFueSBvcmlnaW4gYnkgZGVmYXVsdC4K
ICAgICAgICAgLy8gRklYTUU6IEFyZSB3ZSBzdXJlIGFib3V0IENhY2hlZFJlc291cmNlOjpGb250
UmVzb3VyY2U/CisgICAgICAgIGlmIChvcHRpb25zLnJlcXVlc3RPcmlnaW5Qb2xpY3kgPT0gUmVz
dHJpY3RUb1NhbWVPcmlnaW4gJiYgIW1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCktPmNhblJl
cXVlc3QodXJsKSkgeworICAgICAgICAgICAgcHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHVybCk7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAj
aWYgRU5BQkxFKFNWRykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdEb2N1bWVudFJlc291
cmNlOgpAQCAtNDQzLDcgKzQ0Nyw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgaWYg
KCF1cmwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICghY2FuUmVxdWVz
dCh0eXBlLCB1cmwsIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkKKyAgICBpZiAoIWNhblJlcXVlc3Qo
dHlwZSwgdXJsLCByZXF1ZXN0Lm9wdGlvbnMoKSwgcmVxdWVzdC5mb3JQcmVsb2FkKCkpKQogICAg
ICAgICByZXR1cm4gMDsKIAogICAgIGlmIChGcmFtZSogZiA9IGZyYW1lKCkpCkBAIC05ODAsNyAr
OTg0LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRQcmVsb2FkU3RhdHMoKQog
CiBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIENhY2hlZFJlc291cmNlTG9hZGVyOjpkZWZh
dWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkKIHsKLSAgICBzdGF0aWMgUmVzb3VyY2VMb2FkZXJP
cHRpb25zIG9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBB
bGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgRG9TZWN1
cml0eUNoZWNrKTsKKyAgICBzdGF0aWMgUmVzb3VyY2VMb2FkZXJPcHRpb25zIG9wdGlvbnMoU2Vu
ZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZh
dWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSk7CiAgICAgcmV0dXJuIG9wdGlvbnM7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmgKaW5kZXggMGU1ODY4OC4uNDc2MDgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwogICAgIHZvaWQgY2hlY2tGb3JQZW5k
aW5nUHJlbG9hZHMoKTsKICAgICB2b2lkIHByaW50UHJlbG9hZFN0YXRzKCk7Ci0gICAgYm9vbCBj
YW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBLVVJMJiwgYm9vbCBmb3JQcmVs
b2FkID0gZmFsc2UpOworICAgIGJvb2wgY2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSwg
Y29uc3QgS1VSTCYsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIGJvb2wgZm9yUHJlbG9h
ZCA9IGZhbHNlKTsKIAogICAgIHN0YXRpYyBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIGRl
ZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uTG9hZGVyLmNwcAppbmRleCAxODU1ODU0Li5jNjMzNDRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcApAQCAtNjIsNyArNjIsNyBAQCB2b2lkIEljb25M
b2FkZXI6OnN0YXJ0TG9hZGluZygpCiAgICAgaWYgKG1fcmVzb3VyY2UgfHwgIW1fZnJhbWUtPmRv
Y3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdChtX2ZyYW1lLT5sb2FkZXIoKS0+aWNvbigpLT51cmwoKSks
IFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZl
ckRhdGEsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JBbnlD
cmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrKSk7CisgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUtPmxvYWRlcigpLT5pY29uKCktPnVybCgp
KSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVm
ZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckFu
eUNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlv
bnNGb3JUeXBlKSk7CiAKICNpZiBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHJlcXVlc3QubXV0
YWJsZVJlc291cmNlUmVxdWVzdCgpLnNldFRhcmdldFR5cGUoUmVzb3VyY2VSZXF1ZXN0OjpUYXJn
ZXRJc0Zhdmljb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205184</attachid>
            <date>2013-06-21 07:51:36 -0700</date>
            <delta_ts>2013-06-21 11:07:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>square100.png</filename>
            <type>text/plain</type>
            <size>12940</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAKQWlDQ1BJQ0MgUHJvZmlsZQAASA2d
lndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKGhCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji
1wnyEFDGwVFEReXdjGsJ7601896a/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwSE8vE
9wIYEAEOWAHA4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/UCZz1v9/kSI3QyQGAApF1TY8fiYX
5QKUU7PFGTL/BMr0lSkyhjEyFqEJoqwi48SvbPan5iu7yZiXJuShGlnOGbw0noy7UN6aJeGjjASh
XJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcmoWyJMkUUGe6J8gIACJTEObxyDov5OWieAHim
Z+SKBIlJYqYR15hp5ejIZvrxs1P5YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW
5mj5v9nfHn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUAtG0GQOXhrE/vIADyBQC0
3pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivoN/ufgm/Kv4Y595nL7vtWO6YXP4EjSRUzZUXlpqemS0TM
zAwOl89k/fcQ/+PAOWnNycMsnJ/AF/GF6FVR6JQJhIlou4U8gViQLmQKhH/V4X8YNicHGX6daxRo
dV8AfYU5ULhJB8hvPQBDIwMkbj96An3rWxAxCsi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9k
ciWiLBmj34RswQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJBPtgACkEx2AF2
g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUswAd6BaQiC8BAVokGqkBakD5lC1hAbWgh5Q0FQ
OBQDxUOJkBCSQPnQJqgYKoOqoUNQPfQjdBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA2bA7HAhH
wsvgRHgVnAcXwNvhSrgWPg63whfhG/AALIVfwpMIQMgIA9FGWAgb8URCkFgkAREha5EipAKpRZqQ
DqQbuY1IkXHkAwaHoWGYGBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5gqVi1bGmWCesP3YJ
NhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJuNa4Etw/XjLuA68MN4SbxeLwq3hTvgg/B
c/BifCG+Cn8cfx7fjx/GvyeQCVoEa4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7Y
QbxJHCZOkxRJhiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5PriSfIF8lD5I/UJQoJhRPShxF
QtlOOUq5QHlAeUOlUg2obtRYqpi6nVpPvUR9Sn0vR5Mzl/OX48mtk6uRa5Xrl3slT5TXl3eXXy6f
J18hf0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqilWKIYppiiWKD4jXFUSW8koGStxJPqUDpsNIl
pSEaQtOledK4tE20Otpl2jAdRzek+9OT6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyT
jLuMj/M05rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP1DBqJmphatlq+9Uu
q43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o96pMamhq+GhkaVRqXNMY1GZpumsma5ZrnNMe0aFoL
tQRa5VrntV4wlZnuzFRmJbOLOaGtru2nLdE+pN2rPa1jqLNYZ6NOs84TXZIuWzdBt1y3U3dCT0sv
WC9fr1HvoT5Rn62fpL9Hv1t/ysDQINpgi0GbwaihiqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+
41smsImdSZJJjclNU9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5m/krCz2LWIud
Ft0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq42Ozzqbd5rWtqS3fdr/tfTuaXbDdFrtO
u8/2DvYi+yb7MQc9h3iHvQ732HR2KLuEfdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsMF/AX
1C0YctFx4bgccpEuZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E3dg92f24+ysPSw+RR4vHlKeT5xrP
C16Il69XkVevt5L3Yu9q76c+Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX+08EOASsCegKpARG
BFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJNQxdFfpzGC4sNKwm7Hm4VXh+eHcELWJF
REPEu0iPyNLIR4uNFksWd0bJR8VF1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH
4+ziCuPuLjNclrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRfuXflBNeTu4f7kufGK+eN
8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnjAk9BteB1sl/ygeSplJCUoykzqdGpzWmEtPi000IlYYqw
K10zPSe9L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruYjv5M9UiMJJslg1kLs2qy3mdHZZ/KUcwR5vTk
muRuyx3J88n7fjVmNXd1Z752/ob8wTXuaw6thdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99u
it7UUaBRsL5gaLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l3JLr31l9V/nd
zPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t5czyovK3u1fsvlZhW3FgD2mPZI+0MqiyvUqv
akfVp+qk6oEaj5rmvep7t+2d2sfb17/fbX/TAY0DxQc+HhQcvH/I91BrrUFtxWHc4azDz+ui6rq/
Z39ff0TtSPGRz0eFR6XHwo911TvU1zeoN5Q2wo2SxrHjccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4
H++eDDzZeYp9qukn/Z/2ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2mZqzymdLz5HO
FZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5cqnbvfv8VZerZ645XTt9nX297Yb9
jdYeu56WX+x+aem172296XCz/ZbjrY6+BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3R
B6kPXj/Mejj9aP1j7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hnj4a4Qy//lfmvT8MFz6nPK0a0
RupHrUfPjPmM3Xqx9MXwy4yX0+OFvyn+tveV0auffnf7vWdiycTwa9HrmT9K3qi+OfrW9m3nZOjk
03dp76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn88ngmbWbm3/eE8/syOll+AAAACXBIWXMA
AAsTAAALEwEAmpwYAAAn8UlEQVR4AV3d245dRxHG8e0942Ps2CIWROIOwUUURCLxNIgbHmXe2Odj
Epv1K/s/Lk1J7e6uw1dfVfdae8/YgVt///m/n3///ffTvXv3ThcXF6e3b9+eHjx4cPrw4cPpfD6f
Pn36NPrPnz+f+NHduXPn9P79+9GfDqG/e/fu+FpfXl6e+N++ffsax5788ccfp1u3bo0PbFi//fbb
YLGJx4OEZc1XbjjxgmMvn1gi57t376YeuITdmj877nRbDye8auYLVy/wJJubGHs+YuDBMKpFL/U0
zt99993p48eP428Nm8T18DsPqJmjWUGaYdhLZthLJhjB7IggFykzUbi1GD6En8MzGxVjDVc+g7+G
0JvtYdnfv39/Znh8axw+NVsNfGsOX5yrURxbmBqbTi5rNpx20+HIAwu+wddQC8zywsGDL308cXBQ
cBwIfzJ5gVhInKEkAHJEDjHABqCS04vhQ+jzhw87286VnwNSENvGQpgubP7sr1+/Hl1Ncwg1JU4P
Hz6cg8NHbnZ43gTEPl9rwk8+er6GfPQ40BMYXR76bGrVF/xg8tNDcXDg8XFA/Oz50RmzB+bESMBA
ONoTwfbICpSgRMiWKPJi6NjoxHYzIwHbGjY/TUXUOn/5Okw52eWnd8NIOmuYYg3Yr169mnX1wJZP
PF5ydhn4V5tXyc18/MSp482bN2Pf/OSWh+7Ro0dTRzV7StTRwdTX7PjCZz8jBojUjN0QdmLuVrDz
pRuQr/tOXSKNYnNL+FYMvTU9YooPt3j+CNZgzeJjVAxfedhqFtzNrYPgJw5utdKJozPUYjgk2Pzo
4YUpf4cWZo3UI/ZmfnDo1Ci/2s1seHep6PRq+ErKWGIzo+I4Ag0Q4e0vuSSkJttrdoeVjd5AEEa3
0weePYmYuUHP7nMDtw6YveYqsEbBV08NM1ebusR1GNYEd8IP5s1YmHzZ46EWvZFXTDV3Kej0jeCv
HzBwE+sw6GFngzVPCCfODY9YwGbNy1ZRgkvGNmAHYbN9JMSK8ZiXfMe5YQZSCi5WQdZiFYCjtSaY
+eMmDxts8bA0QoMS/kSMZldvNxiGXIStWV42uOratfGRH7ZYr0eHleDDn5jVk8jR56D4fCeXPxCN
NML2RBOR0VS6iCGADGA33L4YOJHkryiYGiSGjj+CCqgZZj7shpx8rBFmN9qXp6bxZSfyWcvDLgZX
OHh+//33YzdXR3Hs5RJTHhiEDU9zB0TvxuNMV275xMGgI3Gig493HOnOHJEibhfh2Kn2cwlwAQCA
8hFnXbIImMWLLWmYZg0TaxbPn5hxkKM87MSeiPMEFOumaZBG5otnzaIzujCaZuDhTcCXLf9qEKNR
9HzkxSHedETD4dmLsRdjbtjLYQ9Dbgdor152eYfnn/78rysGgBorwF5iICWSnE6QuSR80plrtjhY
ERHPHiHxJHwzcYhEnEI1RYzXC2GnM4vBVU7cHYx1vnjSa4Dc7GLjRM8eDiy56PhpEhtMMz3e9jDg
E+t6IAYGGz96WDiJJ3yqL9x6ehYsqFMSlDMdu3kX3mlWeOQ7SHtk+BkwFR+u22FNh5BG4cDPa0y8
nG4Pu4NBmJ6v/ePHj6/tbPT4wGHDW242wx4WHbE28GjmZ48DHMPeIPHyMw5ffPkQT1s86dj4E3u9
aU2Pa08JfL2AeVZ4J440QZDQ0wGgAxwB+gpVpD0SGmMvCV1x9uyabDboEMXBnq91eZDs0PCBW2HW
bPzlMeMDQ7E1h59mhcNPXWY6efmIs+drJOxyGuxysVdXF0+P6oEY0qweNkOcwR9fn9P60OGcOXcj
IpaTQIXREwDNEZIUOGKRo5NcYypkk+tQYcCGC4O+hsuDaEMDHWb548IuDj4fmGyGBprF8dNItfKJ
W3n4lksMHzXAxs2+XGa1sruA8aLnC8vASZya+JdDT9nw8Xlo7RXMb772KgSQBGakrc2crYEBNzog
ZMXWVI8yAcxPYdY1mq5DQ14sOzL2Bp8aGzYdDmKt5TPs8c1f7vzw1iw+8sOuDnrcCFszTHHxUjOB
gadDlD89f/r2fOPCVt3W4hwcf+t6I1aMMb9ysUDUqSlOUgBOz1yCgEqCuDV7utbFVAxcBDTl+tE8
iMlLp0Fi5CAIG3Dl4YOXtQJcFDoF2vOtAQ5XHMk3PvTVWkPgyAubjh2eQ6AjfKzZ+NrH18xW7+yt
cayenkY9xon4uUU+ueBaT28YazwSEY2YoiWMCH9ibwAUo9gaSA8TRoIIshoGz7q8FUjHjz0fWHSK
bIjDteKyw2mIw52vA+cDH98azofgTUfKzdYBqC++9L1BqhmvuLDLF57YehqOPPnwd2DE+hjfbqUE
GhaYJE6VVESNijh9H3I1Bia9zyICFxkxGuYm1Dg2fvwjzo8eaU2xNjSXaE7NGsXxB1+YcOTnr1B7
gy0ca020h+Vw4eEv1sxWbnmryVpPjB2Hszz0L168GK7qoetXKPzhxkWeLol4sZcSUTIKJgLpBSK1
g9w6e4Pd0AyJugFwxPOFRSTUhIoJk41/ueGJc8j5mMWa41mT5OTvIsmJLxu9WUziZuMjB75xZqeX
wyGqRxwOsOmKqcli6PpVu0vWTfdZql6c+OBVfdYw2K3jird8ZwrOSFRQzVNAzeCHnL1CupEaxJ+d
vsOki4xCI9W3CgTYO4waB6M1u71ZHrORiKWXW47yF48vf7MmuAw1QWxNiZt4AhOGGE2izzcf/Onk
1QuHIY91ecTrIeEvp1ww7Lsc9B36uYOIoOIUIZlXieCaUdORrfGA7RFDQMII0cMtrqej4mpuRcFk
E2eQctcAfPx9g9moQLGGA+9J8MEJrwbXFHHw6Q16OlwJTM1tXT/w5K95ht6JdWhi2eSj64mtTzW8
/cuXL6dnfMUR6/ldFgIIAgNckZxqTAVoLjuSkXMQ9hpOSmIOs4LFKgwOfz7IKqAmwNJUMexEITiI
F8ueTX686eLAz6tDrnJWoz1/DSV9hqknnjgYcvB30OWnE48TLvKII/Kphw+d+vllm8XxB67ywaxO
cWcFCKooTogQjsgQdklqmmBkImlGkh1GhGqGHMRsIM6H8BEXcZxqCNx8cJDXIPIb4ZlxoINfrFkt
9AlfectNX07r7V/z6eWGLd5aDL75xF1ONpyJNf9eaeXPB7f5svPjX/99VYGCI4mQvUQBsmmiWcJu
sb1DqAliJJSE3oAlOVvkzDVLPjHscnhizDDMbIYchF48DjAMdnkcbBzN1WJN2ouBU43mms2nuuKJ
Bx82awKDn7ykHPHk32Dj3x6Ofbj086EuoaZtMIB0ETYr2EzYWwPq8eUjQUSduttvIGC4ReKtxRL+
W+c10A3Eq2LEWDfLZxB1hI0PbDXIDZ8fnblDu/kZ2uVkj1NrWMRcfWqFXx240dUb+/qLM2FXK9wu
UNjXvzoBCkSwWUKCMB2wEgmer2hHMoD8uyFikIAnjmhA2HD9xZDG1XD2naNmhS2XuLjwt2cPQ7ym
4Cg/mxFn/HeODgsW4UvHL2x14s2nC8iWxKOnucPAKS5qsd75OlB8YHjKW89ve/cN6jA6MQQiwSYp
EIXS8wMYAWT9YCQBf42vWOQ0VYMVCCv88DoMcTD5iNEoudgrokvBRy6ji8UHh2x4WcMhcafjW5Pw
iIuZqK+a6eCScph9awoLbzX3tMklLx1+1mLUxZcfG/2B8Y1QBGpgAZHRJEGBImXfV7hAe69L1gF0
U2ooGxzYZqRJzWc34ucANc3cIbIZ9nzxVxw/awfkGxRebjFbN7H8crLDpas51kYXS54OrYbiXXy9
E18N9UuNsMSXX87qgMGHbr72MnjXAzU0jdENVBQCBh9zP59Eml5yOIgT+24SnYKJteQEVgRrpHw1
v8aaa1RFmWsITLzhWuOetH769On1YfKrAWqAjTsuhsPD7aawlYsd12rhW23i6fnDzwcXfVGfHtLD
kbv5wPjyoQPcAXASCLTkNZOP05eIrmTA7dnFdDCwrPkRcUTz+NVoes01G3AQ5NMti4N4/Mrj8hB+
dPFP72ml9xTXeP7yyYGbC4UnXuU140fk42fA9QMnO075i2eTa8ewwxXLX33F8s2ffvaAKiIHe403
A1KIw0KsBBrARpcvInTAkegw4NLxpavh9n7gUrhc8oTPBqti2ONqDU8D9pNdbjzKLxd/UvF95rl0
u8EdgFl+OcQT3OgcpHg1i40Tmzg2azlxw0lNsOqZPV8zPz7y0J2dGqLAI86BDrAgMwKED98aYl8B
mmDNpgDYdDAMcRHmU6wirenkNsTCGpJf+dHBgQnLXh6FijesiTg4GhaPDtxBaEB8nzx5MrnF4WCU
lw9fWDVNP6w13FoOwhcHHOV0iensq9ccdzH6DBvO5ORsQRgiTQfcXnLrfOz3gdHDoTcTdntDw+Gx
IRMJa3o+NUJD04vr6fMPFwh/DVUATuXBHYZG0DXo5GX3O7D81GWtYR0ifM0V6+cgs3gc6gv8avGq
xh0GP4I7XL8FxtGa8CNi6BM52qvn1t9++s9nYAyIGxJKzKF1AHTA+WtYhYkjCBjdegVms5a8mb94
ufjA7kaxVYRcBlx88OUrpqKtDdiGJprpahqMcOMRLj3MfMRm02RPdlzZHGKHHx/c4s9HDvlJeNZx
Fw+7+vlf/2AIaBQHaQ7WmoqUAbjT7kYotMM08+ErIemm1xBxBDYsBfJXiFk+wgYjThUTrrkYcV4N
hA5G8XQdKhuBhWt7Ov44VSN8B0Dg+5yrFrFyGLAM8WbSWpwhD3709s3yiYGDo5zz9AjopDRIEwQx
lqAkHUSvDPoKCYfO8Mh28nBKytYhlotNMxRtXTF0iHaA4tjN9Pzs2ffhilOspvKTk29rfMQkfMXD
VQdfOv7p+PZPUNVGzw8O3q3lqi4Y/Ozhmon+0RP++uRg5odL5A2FCShIAGfvUjYicY+qOVB6vqTi
4ND1GaA4SQly9nzlVpR15BCsgXDay1Mj6cQojq99fOQk/NPxlZO0FkPiYI8DezV10XCnY5PP3ixW
DqO6YNDb82Ez66O+qaFe0Pka3YW69dOv//ssCTEHZiaAgJTcTHzDAALcjengFF2DkeJvwLb3+BOx
mt3XaTHW5akxiuGHOB9SU6zjw59PTfB0xFsj5cVtD9g4wYfdzeXvULP1mwj55IkjHuL4lZcdLi75
s/GT20Hwty5Gfnsyfx+iOYAIZ0NSwBytu3V0fPvbOEXvYmEgwz9M8QhFSuFwO9DywubT3lqs0aHw
yQ+GXBpo3rzlkF+smy+X9a5HDFziUuHcpYRJambYMOhg41G/7GHZy8HGj5QXj3pAx7+6wpwPdWAU
bhWSPU7ACRB6SQAZfS2sgQoRx8dsb42Em2+tYGv2yMOvCbDk3PHshB5WeTQYJs70pB8S8YPFrjbN
tVaDOmGJF8dOcGMXFze57A1+4sTDchH503XIfaWlJ/DjaObn4OFax8uazP7pj79eSZiSoaZLWgMC
RKyGWdMjZeYrlkS+Yrpx8jTYxBGxCoFdY9jiIgammP1q01j6OLTWDDhwNTs7/LBgdyDWfNXsQKpr
yB1/8HMYXUT+/Ojh7Rgc42GG2yGHZ652a3j2lwEK1DSFmO2RN0u4k7BXjGSEXwn408MysyFE4ChM
PL11TWIrDobm1Bh+GtvB2rPJwReeA1APHDpCD5Oev/gwHSZefPjTazgfMfZJe5zKEZdqkZfgUT/E
We+84cLpAvBTy1lhJJICOXoVAJIsESQpvVuqCL5mYAqk50fPz9qoMbCsa5oZqT5X8LAnrX1GdcPg
EvzKzQ9v+UhrefgY6sQPl3ixTxOOWQ3ZYbDJ2SHzk4fQ49gBlKP6w7cPx2WSA2849Oz04u3JxQ/H
f7AjAWfKHDgJVAgbqYnWkvI1I40g0oFfJzgwKgBeuMgQfp4QNliGfcIeVjzZ8jWLrTn2cmw7/3ip
pzU8PMSWowOzh8EGX43q0wvraoHBzxw/+PzaW8srvgvfnq9Rjvn7EM0UpBEICkwX0QoRTCTjowBg
YrPBqiD2ihFnz098/p4ORXm6iHjEi7OmE2sQsa3b1xhz+TW0S5ZdLexw8TDDqkb1GzVJT+RTb7zs
4eFl4KoOsz3c+MPBQ4544cSe0Iubb1k2BkDz8+fPx08AAsAM65IjT4cU8giIlcie8GFHiK0GwqXj
x8dhwvU4m8XQ7Rj44WiGfXEahQu7eHYDvlzs8phh+zZmnz8/cTCJGHaiHiIOHxzpqgWGvrAZ/ZxV
/g4BPj84dLjQyWXuUs6LSzCwCCFMp0i6CEoOjF0RfIiZj4RuU2t6BGDAhyceDrGmE6cBBv+GhpMa
xw5TAQoSjwdsT1dF8gkTFjvBQ0z4cPniADM+/Pmw5S+eH5tBz66R4fKhh4Vr9eLFVz3lgoF7eXAZ
rkCcOAUwQYGWlCM9UCD0NZAuDEnoI+02IeCA8pOH8INL+MM30/FXaIXx4S8vuwaEw9cevjr6TODH
pxtuDU8OOPZiNauGxZFPvnFUt0OvbrjWfeHgzwdGFxoXQs9O5KpWvOHDqb+XHN0mgwOSCGskcAAS
VGA3ItJ8/NTOv8bQKRgmLKT5iOGDAJ/8I2VWqBkPBcEptxiSfxh86XAw5K05OxcfOQls8S5NtesF
vvS40neQYnFjJ3DlkpuI1Rs6Ig4GrHDk5Bc+Pz58i7148sPPVxxqlACnFXkEBJiRqGEl5Sd+F5Jt
k0ZUk/gTe+uawBcHt1A+4iKw8zXzMSeaUYPjUNPsjfzlgmtfg8KhZ9ec6ijOvhse9/zg8Ot2m+Mk
jt0sTg0GoWuwGeqAO//6nSPyiBnWnDwdNUMixSLARiJN76aJ5c/uNuTH15o/HImRpUNMIeKszQbp
tYWHOI2RCz++vRrCEdOvL+KpULH8CV84BI5Bysu/+vGUQ7y48sSTDVb4LgwbvuVjhwmfnwEfPzZ6
vaNjm39KKhEHSiTsNZeYswloHai5m1us+JIhRk/CN7NHqqeDnj+9XBWDMEwCy1CIwsV2SOLzgePQ
+fC355uPuuQwG3zZ+dG7JPQuVvFmEk++BJd04ZnpPfHqwcPeqBaxMOQg8OdfLnabS2COfAeQDaD1
BB8AgfMnZo1sHzF+4jY2DPowFKURfGDYaw67pivOYGeLA51bKAY/udncYHM3lM0+HvzV7hd+9Gol
PvNgyLvzW/PLhoODNMQacpnLZc0PVrzZ1MkGjx3m7Bk1jQhQHGEETvhYS8yHv5kukooTw9Ys2U3C
kmtC5MSLNYtFjNQMxOnE9STAJeLC4R9ns+GVR8THmZ4v7jUGbrXEQQ6+fORWh3xi+ZcbPh9DbKNb
73DFGGyw4mwWR6xhnns6OArggIy1JnG0p/fqCAwIH+ToDP7FsIdZ8fwN/+wGpkax1UAxiFc8H3hJ
jbWH4zUQJl3N7smgg1Ez4PYqwpe/WSNg4WvEQT6i9g4jezP+OIghcsCkl1s+vtbEmj8/+T0AbIZ8
5wIiZq6pkgDeNw05oMAUsQ80EhHkQyQvKZ1XRDYk4IuBS+Tw4cyGg8EGnw4/syaVEx4/nHzF5s9O
D7v6ejpxCpPNxeIL1x7fDoEvPmY5+PANG584wmxtxgU2vdxw+es7e72ynrwRFeS0/PpZIgJEcsHI
8DU6FGDiarbmiCH8t15C4injJwccPsXQ8YtohxRZhYilN/jLk8DTRHhsuOJuDsMaZ750xCHSqx0u
TmzmMNKxs8kLu8OggykvHyIWn3pBz5/ICVNMlwvvsz8EmCVwKAgLNgQ5WfZ09kAa9Nb+MwRY1jWi
wpFDtgLgElj5FCeWr1HTWvNRJByYU8SBxa8Y8TWQnr8GlEecQeB4xcG1NnAqhwtAB6865WnNXi38
7F06UiyO8ttvf32GhS9ucs6BVAgiEkVYcxUk0ADMBkARhD7C3X5+MBHlD2eSHXu+FcQORw7Dni8f
PIhGEYQrnC+M8ngF4hQ2jOqw5iu/+mB0O63Z2svRkFMeoga54kcnzp5PfTH3qrXGBx4O+BH+DkXf
5IWtRj7W8+t3zhQ1GYhA+gob54OARDWJLVDJCV1ER3H80Q2UAxHNIWHRi1OkIVeF0htywrGWqwOW
yzode7eQXo4w5IZjb11N/OVjk98eXrH6QU/X/yzgzivOHm5ffOoLPRyzUW1dDhzz1ZP5x9YAEfK6
4qhBHRIibHQBuwU9TUB8tVMgQqSixRkSKgoZRZnhGvRiYbevuBppZvfPccxGlwaP1nLDqEH5yplN
sw0+4splLU+cNbb4+sEHBzn46hcfeBq766Ij8GHiAIfY668ZFl/YsM5AAVHkKBkRxBlot1AD/KNl
OmBEIkN8hcI0CLwaZ89PPAJ8YLPLB5PdYLdPB4eO4A0Db3Y2MyxrfOwrPDyxLgjRJD6+5fHHPU7s
cYTnEpqN9NVR7Wb56fWNbz7tq4lefns1yK0HB/a3X0MgJ1CTOJsFmjlnZxNnlFQBCElAT7JtUrDY
YSAB017jxJqJmLA0EBab9eahmITe6HLRF5sNrhrDxsee4EFPh5tRk9lw0PD42/MlcD1V/PHUL3YY
/BM+RJ5y4QYXj4P7t6+KAADRWQOXUKD3t+Ks2RDga8/fzN/aY71//eCVJCkscWSTFJedD3Lpwo8X
0uz8YbD7UC8HbE2o8eXkRy82/mzWbLBg2hPx7PGU11NSQ+nhqdeaP854WNMn9gZ8vXFg1l0Ea1jG
fMvyyCoYILFGBiggjvYRBFACBbAris7e93n7iuvg+GkIv+zW8sCsMeJq3G5IBTgAzRFD6Ivhb00X
H/vNUR040fOHU1NdOnxwIT2x9jjpkadbTLUUWx3y9oYRR2/fGhcijvAnDnt+uQi4hArpW5GkERcE
AKEKFieZwV4TrMUqnC/hw58+e2t+hJ3ISWqcNX4KEVteOr5uJV6GPLtB/MW5JJqLj7hmnO07CPoO
Wx7xcHGFWz1xkU8sP59rrfnVD4dB+CZ40xv5yTP/yGEWRzLE+uFOM5AAHBFrPpJLTG/m18FJIDGf
EonzqCqU8EeerzyK0yxYfMXWABgaXm7YxXWQcuNF2GpWjWTjyxZfOn50sLsM9LiYDaLO+JjxI/DV
gRMMr2l2uObtCxMHseUQrz56OcjF/Uf/uKIkNREQh0huQvmxRVqcp0pxRAJ2M6Lp5RHT+x5JQqep
CrMm4uSlQxwWwU2cnPFlE2evGWINOhjWMNrTieGPG3028XLWQPnw7tDt+dYjtXQ5w6hOfOMkZ3nw
0Z/qk5OfcXaqGSQhHQSHEivIHlnFIGhYI89O7MVUMD28CLD1y0T+9jCJuWaGIZ4eRzrSraazll+x
RD2kvHzihkMY8mhcuMXbE03WKHu1+Kovlxh8YHnn86Ezd7hyeHLM6czF66M3BtwOQ54ZiNR4ROw5
IgywIjiXQAOs+SLT66ciK1QM8g4u/4oJ3yx/uVvzszb4EHN8azI/2DjjVQPwxks8HgrX5HDo+Pa0
wqi59PDlszb3auIjF/EKlpPUNzPfLgkeRnUXKy/f+lpdZ4kpBUVeghKb6QMFKEbT6REWLyHiCqvY
TZRNbM2DS8cXjgLM7A6whrAjq5m7eL7h8zGK4w8fJzlrBh8iRw2BWy3i+ONFV3wYdDUOhp6ov4Nm
I3hWZzXja53gxx+nPnumDo8dx5JqBKl4+k2ixte89mbE+CKjKHuJfb7AqQkKIYrhS9hrIiz6GuUV
1zc/PmxdILFuJD2pOLEw+Zprpjjc5JZn+1WzGgxPQLU7bHm6jPLpgSHODEtT7dVqHQd2Yg+TmPEw
G/jMv34HJJEgBkCagLw1PaANWmLA3Uw6oN0w/205DLH04sNCmh898oRN0Ti4KP1FVgVrghj+xYph
V4N1enh0BB6OZgekVnn4Z2frt8b4yoUDH7ZyuhhdFrnY1C1X2HKRuLJZu6B85Tcb8OVL5kDmZA5j
TXNqADhLIimxBsIGhJ5OQ0iFREh8idm7XRETbzh8OA7P6Pb52UE8vEjj5ubaly9emiY2X3lw7fDx
MeSEi49Ye37qdyga6DCIA2DPLy5w4oETwZ3Yy10uMeJhyZPIb+CLD5+Dw5e/LhWsGFITKw4hxbpV
gviKqyj7bjEy1jUDhngzMsg1wyLircOGi6Q4zakh/EiNp++QreHCwE0+sxjfaAiscPmzEzPe5bKO
i3i4BjuRE0d7c9zp1W4Pn4RrJmwdHEx+9XHwEOdkU3ANQdRNqVCA/AM3730Nk7BmIAhvN0A+cXJG
XJOtw5YLHj830UHmC4/AiV8XIr1YzecDu8Zad6B0MPmY7Y16Yc1G6gE+u5H5mz3RcoonDkg8nRh9
CUcNYsrf5Tj0X5oFABAAjgIBWRuIGIpRfM3REGAlh+dJouMDo6RyEBgVbR+H8NnkJHTi8XFYzWyw
5YGX0FWDBnQ5+rDHE04XRbxc5prl8Nnh0OEH11yd9OJqPkxxaid8DX67BmtxcNh76+Q3//8hyEje
sK/hACLVLKE1f/aKqgBNkDAMej4IK4yt+HL1ZFR4XLx389EkazYiT58/iqwB+cPCj7BXS/nxi5P8
7PmLhSNH2HAcQDXQV5tLAa8D6tLiZE26qNUoV58rdHLNb3sBGRKQktgjuhOzaaaiEAYqVmJ7ev72
fNlIPp6oCIqtEcXD1qT9EzdbjSh/B6oIhcoZT/mK4V8eHBQOu6bChSUWdw0Sk4jt5uMKo5mNr1eq
2Qhvc4JdnDVu9tZy46J3cOdlDJiSE2eCBOcI5iMpX8GkGyGWmJHxoS5mTv0rJmyJ2Su+fBETB5+P
HJqHOB0fowLhExj4GvDt8YRlnz9feHLXvH2Bit0Xhp+9Oq2Jp8Ha5VJvnx31D0f+8Pipo17gElZ9
NLPTH9y//b9XCkaw5goGTtgEKJoPEHaDTUwzTGTo+PMh4nzjgalI/uHCK69Cv5Kbf2gmFk4/l8Dj
rzFmh+7imAlMOeg0ozzsMOTBUawZXnz529Pz56NZYvjYs+Pf2p7dLJcnpj5WZ5j4yUHkMPiwyzO/
OglYgRzsDYSAc9YgAQQxNsn5EYTWKU8MPLEdihh74t0vFhYcgqg9H6MmmDWXzTq9OIfH19ohWMOR
O7z08qkDDzpDvWKI/Zbi2fnVZDn77JLXk+jJq5Z6w8ZPzuqCyU7Y03cB5+9DOEmocU5LwYIUIMje
uoI0viID77D4E/YSRlY8fU2xFwdf/vR0NdbMDqucZlzp+Hq9JXwJO3x7o/9HBTqXTM3W8OVtL7bc
4jY/egJbI7vA/mlQFyx7vHva5TIITPouA/7lnJ/UNRUpg6HDAaB4xBwUvTUdyVZys0HMiLs9Gmct
j2HttlnDYNeQ/PBQYLg1zh4Pew0RL6ZZXns2uPzscXAI2WHQs8vFpraw+ckFh53gp3a5CP8ujn+/
C4/Un3opBz97sXDFPnv2bGa9cDh85Jv/gsoGkFmjaqJAt4AjvSKdZsk2AT4SGpK093QgBYcobN8a
eeHVQITLAcOoUdbi8eoAxVnLYWiMPb5w6eTbjRIvD7uDhw/H35YSdnF04uoNm97UVHmsDT5EfnH5
0LHho7/6wMfv+ejLxY9cPHn6zysOAAApugTmm2sAgBAukVlxkjoM6wRpMebwEaMj4YhDFhY+vrkQ
+zjQixMvB0xiTQe/UUP5hBu2GDjiDDXby2MPw14sXVguG5s9fRdFjDUO5eiQ08HDX4/42Idjn8zP
IRIJ5CAogpGMmBkhEmlkSAfhw5dIDIfAtg4/nVhkdnHiCF9xcN1KXOTka22Ix/dm0Q7AIPDxhtGT
F1c28dmt6eRO5IMlBz82M6m5cWDr0LwGy4drb4WeVhhdFFh85D5rFLJOFDCRHBEJCuLXWiDhw5ef
QRSrcYjlJ058+ON4/CFvPuUTZ9ibNd0stlFODQkbPr3cXkOwSYfGvjloiNww6eXTrOow08Pjo2HF
86MXLxeb3LgUFya9XA7HHJZYhxaO/HCu/y+PKoZBEYxE0dZmIwAzX1IMDMNeYv4SI9JBIUwnR7E1
Twx7BSgCFkyCh1gzvUtErI3WuBnwHCb/DhUWDHw0pHz44BsGH/Edgj2pfrnl7H8Ys4OvL+b4FQNL
bQY8BxsmjjhN1yUmnBhIBWxbOg1Ehm9DjMSSsLstfDogNnr+CBGvt4gjG5bi7M0a1swXHzNfNjno
YBYvZ1yt2eQWxx+2Qcob1iiPP8TJ69DgWxvh9F9piZOXf4foqeG78/Bjp8eDwKU3cGSbXy7aIFoA
Z7dTUyXroMwSa3qF8qUXH7gP5Agi5ebVSH4S10QxdDhoIps1O1x2TSB06dlqMF0N5k/vttHvutQS
T2sxG48urr4dyuGWx0Oj9cRcU5uH4Nc/4KpfD81wCZx4muOKgzz85r9Tl0QTiOI51BgErSPFp4YF
opEK1QRJDBjpFUfkoUcyP2v4yNARRVaUtSE/Xznlr3HwiFgxcPiIgZteDAyc+OEa7s1G2VcLfP7F
q5NOHnr49vT1Dq69mYjl74D4hq8efqQnb/4P7jkXzMmIrKRADGKWoKTsNceTowl8IiAhuwIN/g5G
Y4hZvg7DmsQDHjHDCqPXHTwFsuPFxw2GJy986/Zw9wHYqwUu3uLt8e8QrA1xfNjNBlwXoDg6fvaE
DTd+uOZnXU1mPPGeD3UAJampwBRkTxAiAv0aosIG5LBVVH7sElW8Q+BDr9AIIkbkqQgxhlefAtk0
rAbzo3er4BH79LDlwpWIYzPw6+BqZnzYxBHr9nJobLVUVz7it8iDL/FUsOPH35otHT1cOdR5+Hx5
rwoOmJMgiX2oWVcwn8BqhsKQ8N+flziymsG/G0GPAL14oz0fWPISedkcOlyHWi57DQ9Dfs00K6yc
Zq9Mh0tfPF/4/OXdfYDJRicPez3ARwxhI3RxhitH3Pha82FzsJ5u+2rts0be+Qxh4ICAAgq+mcyN
DMhTIk6hdJrlmwcdDEQ0XRMM696hcCpWrGJqSHHpxPHJ3q2PmwI1zFCQmZjx4K9xcOUlNcRB0eNc
nBgijs1wIdRAcKEzi8PLTIdzBykeN3P4ZkOO+mLtoOCIvXj6l1+ubBoSlUyTNRGIohQiqbUhmSaw
ExhEcexmpPhILLbBz5qwVygdnPY1Fhc6BxS+JlSQYuzF8iH2+dLhiTNfeXCMe0+fHKRLJB6mPHiK
4RN3OWCSsPjwt9dscWHAE1NuefjRwb3+n4m1MQC5SQIRlwyoPZtAAJLwC3jADuKblPgKqQGIa44B
C06YMKzF1FTrioDtgOXEiX+Xwqyp4s1i2F0oa0MsPFzc+hrFj96wNqrDzB+upsKpud1sODiZ65Vc
cEhc2OCZ88PP2tNqnt9lISKJpIAUJ1ASArgbIaknhW03gB4OUGs4iDgUosHsZnFyyFehZjl9ZsnH
vhvfAcKIlxj5+Fub5eSLA841k57wF28vBzy+hC9uekFqPDwCn694XKu33sGDa8hjL4Z/PHpdwsGZ
sJfjUuOcEimhBEA5EoEFAPZkiOMXaTNBFA6y4iKHoD2SDsmejW8CAz6yBluc6BM63PjzgylvuenY
y2/P157wV4864PLlgw99bwbrLp16irWGAVNOQsfXrLZ4w9QrmPxhipGPxMUav3ll9R6jBCoYSQN4
IgBQySLDXtFsBJGaAKcmioFj9vfbCBryKCbifJAVxxYnmLDzt4c/xXxdi1OT2wgbBrs4vsRBGHhk
p3dINRaOPGL8zoreukOMu7m3BlvNNvN34WHhQMz44e6N0CHi9394FNGCehCuDAAAAABJRU5ErkJg
gg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205200</attachid>
            <date>2013-06-21 11:07:26 -0700</date>
            <delta_ts>2013-06-21 16:54:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>39507</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhM2JhNzYxLi5mZjJiMDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgYSBub24gc2Ft
ZS1vcmlnaW4gaW1hZ2UgVVJMIHNwZWNpZmllZCBmb3Igc2hhcGUtaW5zaWRlIG9yCisgICAgICAg
IHNoYXBlLW91dHNpZGUgd2lsbCBub3QgbG9hZCBhbmQgdGhlIHNoYXBlIHByb3BlcnR5IHdpbGwg
YmUgcmVzZXQgdG8gIm5vbmUiLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1p
bnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTA2LTIwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFtXaW5kb3dzXSBBWDogUmFkaW8gYnV0dG9ucyB3aXRoICJ0YWIiIHJvbGUgc2hvdWxkIGRlc2Ny
aWJlIHRoZW1zZWx2ZXMgYXMgdGFicy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlcy9zcXVhcmUxMDAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2N2JhYmI5NmQxZWMzZTEwMzJkNDc2Zjhm
N2VlMWZjYjJhYTQ4NzUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEyOTQwCnpjbVY7N0dJUHl8
UCk8aDszS3xMazAwMGUxTkpMVHEwMDNrRjAwM2tOMV5AczZhTj9DejAwMFU+WCt1TCROa2M7Kgp6
UDt6ZihYPjRUeDA3d207bVVtUUIqJXBWLXkqSXRrNStXY2FeY3MyekFrc1RYNiREWDxOcXxyU2hK
Kz98TDxMM14KejVoKyQ9UktOajhoYXpKfDZicGxiViVHYHM1S3pYIVFBOT1NLUhkQXFAMnhmUy1r
U1ojUz5NXmB4N1hRYz98cyswCnowOHNwYjFqMk0hMGYwMjJTUVBILSFDVnAoJWYkQnI3IVV5dFNP
TEp7V0BaRk9fKFRIS3tKbE15blcjdnt2LWEqVAp6Zk1tUGRFV2MxRGJKcVdWa3M+IWtCbkFLcU1i
JFB1ZWtLPj8wK2RzOyNUaGRIMWpfVzRES2RzSkc4VWw7cU8ybjAKeiNJSjFqcnsqaVckKFdaVzxl
P2ZfJktiTmtve1lPdC1rSyVocWxeVGhUJG0tYFhRTy12V3haNU1uZ0hlWkRBVXZVCnpvSjteUDZx
I1NsPU8mP1NpODRoTDhTYVZsMHNzaDwjNXVmajR2WUNZWHIySWdyZjF9ZTFjXnl2clYtYmVZMzFu
MQp6WDhRNTdRfjY+c0UwbmBjO2ZRIWwmLUFubWp4Wk8xdVd5emAwVlA+Jm5QYCNpdHNMI2BTPVEh
Z2BNPXJVOSk0NSgKeko7LXxkUnEtYjUmej9ieW8+fHspPzVyPW43NkE0blRBTGxTekxpd352fjMx
Sjw+OVBQPztyczMxcHVfKG9idylyCnpZK2pQWTt0VkdYaXxwKWRhey1AZ0UtVUNhYD01ZXUlRDt2
PV9uRko/YCZLKXE3ZTlkYE5mazM/TWRoWmFyYnxUMwp6JW5TfmYmdCgxZzVkWSlBSWNkJHchemBT
aXohJmpfPXY3aFpsbkkyMVh1RXx4Zm1vMChXRDEwVCkhfX5fSFlXIWUKemV3fUwrWG13dXplVDZ3
dHhKZGBkWiNANypCTGdJRUtZOVh2PnN0XnAzZHB7Xlhzd2EyYkJ7ODV7XiRCMTN0V25CCno7WT5q
eVF8OSZ6azdSTnNxQVZHcy0tSyt6MHVxbzFiZjV8fWZpNXJ0RU1OXkJmSFFDZC1YSCprZkpoSm5t
SUUkRwp6MCU8QDV2T3p4QjAxODFkKmEzRWZZSCRHNWZxS3ZjUEolWFkyMyFQSnp6dUs8NDFoO0sz
V21XO0ZhaDN5WCRYU3cKejVFWV85cypvMD41MUImTjVGMSh1Y3wkPV5JMX5mTEx5Mz9PbDBmOztD
YTQlSGdRfXJKUChBYmBiUS16e1U0IzBkCnoyaGJvaTJLQG5qZ2J8bm0oX3N6UjBKZWJIdXNhK0dO
NWFlQ00wZ2RQMk4lSEc7WXpwYEpgVDZTN3ZVVDUwNCMtSAp6IWpsTDwkT3I/YE1weV9OQGtCejlT
Uj9AdkEjMEgkcXluaSRudmYycDhAWXswayNYYiQyOFc/eG0+M3F1OFJMZ3AKempOeEtkVmIpP3dG
eDhsMm17dj58PH5DKiFHbEJWbnJERH53cmRUSmVLWHdUPTV1MSVJIzh6T0JVfFg9NHU+O3MpCno+
Xm1GfCRHe29sOUJfV1A3K2YtTEhMZTc9NTcmJmxmYX04ejtVQDhUeWVpJWw/fTg3KGJNUnQoQS0p
UUs5RGczKQp6an5+WHJDeSl0UjFaI3AxQShrS3tZJFF8PThWS2hJe2UlKDFHKk4tNVBqbilONVA4
STBWa3huWCpnP0VXOTQxYmEKejZpSjM4N2c4aUNuWTRqYU5vcGNwQ09zeS1BKFAyRVdKaHVzU3dM
UC10fFhyelVuTEtjS1R3bj9DS09MZjk3UkllCnpQQn1gc0t6VHJVTCMwdjtzQlk5KXMraFcrVDJI
LTFlTSleVk4wVCNgXk94aHZ0Jl4qZlluQUpsZG5IZWwqT3p5Zgp6VW9Ne35VbTxAPXstKnI2MCNV
KDAhQmNed3V2VmMpO2szZCVnLUohNHFMcEhaVnd6JSFWdVJ1fSNaZWBebDdXKTkKejU+S2Y+PjlF
b3pyNkMkWikxYFVSeFVAflFJQClGMEZkYXVYcjJFczg+QmFPUD0pTHBfV2hHQD48dFhKRzxyP0wp
CnolMkVjeEZrdHZJUVc+UjtsWj9CSmtNbEk8eHpGUnorY3ZMaFVqTXUpbUg4QGVEdHdoOW0xZE96
bTUtYFNSZDNaNAp6KXQjenNzISFBflk5P3g3WVQwVzApaD9AeiYhXjlLcDNqfE1IMj51TWh3OEFw
aUYmeURZVzJoRko/Zkpobml7P3UKejg1JmdAbW8meVQ4SmNkSSQoclN3PVFQSyhYaiUpazFYfEA8
PWUxcmltNmA2JFJBd2MhaSNlZ0t1STtCUyhMU1d6Cnp0MzluX3NJeXBTcWZXRVY2SjMlblRRQDxz
VCg/dHFMUWhMQ1NUQTMlUVNZSFhRSjx9IXFgeWJNVFl0KkgmPi00aQp6aSRSO2dzRyo5WHpoUnpY
cXYyeUNzKiRWRkR4K0dYSkh8TDt3c0RIX0tJMjtedSEpXlhsMVl1cE87Z3leLWMoP14KeiYkUTFC
WXZ5UHNHXjtoYyREKipAU3lgK2ApfVQ0VkpqaV5iZDdKcXczcTZaaWk9N3RUN0dFc3dFS0BEKEVG
VzFaCnpTcGBeYXdDYj8+IWBqNH1ZaDdifiRBKVUtVzMkZXQtUjhCZXNWKDFqendMY0hucTlFbjdR
MFRuJi1NPVhCS3MhJAp6RiRYPHxjISN8WF90PG9IRDclRHgpZS1DSDtrZUg2ak49QzxkbmQ4ZU52
R2VQUzxXZlc0Ykd6cjM+V1loKUdaaXQKeihRKUNwOUNERV5XRzsrZmN5T1dBUm9qKjBUST40RVAx
bFgqY0VvTU8tUGs/WntrWiFwNEAoYmBNfmxhbHI8M096Cnoma0o2Tm0jPGZtU0ZnOHtfaFJwQUAy
NVVHSzhaZSFKYD11bnpOPnZOXytrQTV7ZFc0QF5WamdfYHElcVUxVUxrJgp6M0ZyIT4xViNpXzJS
O2lqMkAoWiQxakU0ciFNbFBWRlZiSG1UK3xpPExpfEheZyoqdjAzfCRyYWF+TGl4R157NDwKemRB
TD0wZXQzNVRFbi1EUEwmVXBDa0kyJTxNfmpVWE9CUSFWJHckUlMpa2pUNWRxdE47T1A1JElTK25G
dWo5UUUhCnpyYWN4UDh4P3liYzU8b3IoJW5tazxMdSVKPEwpanFUJFohIStIJHEhc21zcjxrWUIt
QmFWajFnQTA2S2l8QWBhQQp6c3BVK3JeazJEbTxwa0gweU5DT2Q9Zio0TmpxelJoVyZEdUBteFF1
fShMfFRUVTVSNSF1MU9WMTt7czFYd2N2SEsKelUtRShFc2cjaEVxYlcwfihXJVg4Z3RZankoP1RV
LWltKXFQR2QoQjBGVCpzV0ZoamJeWTFRc2s2UVYlVGt4VkZhCnpTIVRQS2p7WiNiTlFAKyNDNCpU
RHZ1ZCo1WEdkazklMkNWXz1KZSM2PFpqQ3kkQDl0a2VsPXpfY1hlbUpjSyhMXgp6IThQdHs0eX1k
T3UzWCE+UElxMHd5NWFTez55Sz85WkFqVmglU093TVdnRmphaXImO3dwaSF7Q1V9JkBOPUVnI34K
ekxRJnpwRXpWbUdZe2hJOVowKzQ8diNufnxtbSolI148dkI3aXNEWnQrPi0weFMkJFhlLU9Ub2M/
WSpWO3JUY2ZfCnpiX2pSZS1SWmpYU2VhczNVZkl5RDs5YWZkJTxgaTB4NFQjRHpFKXZkYWJPUT1r
N1NSdUdOYGg+TzBRfjEpdS15RAp6PlZYPU1uJiFSZ2QkO1lLK1EtfTF6dSM/dCgqY2JHI1JvbmY2
ZGImTiRvRWlkdHdDK1lWY2ctWSFfVnVZPmJrI1kKemVfd3dAP01VJkYmcXN3dnJOX2RMYj01bzYq
RWdzKWxzM1lSbEUkJilhbVIxeztQcGQkNlJZVl5HbyFpcTFVTWwlCnpAIzRxJEFNYyhGSmxUMVFl
WDhqdntoIyk+Jnt+UkdxMU4yaWlNRklSWD9zazItfDJ3VW9nS357RWtCJDhlRHNYPQp6blZQZjhY
R19uSyZKfj1TSWlHaWFAPFBVaUByI0tVaGROaHVLRHhCeih3KGxidUhNVW1tIzwjJnhwSng3ejVE
IUMKem0jYiY0SWJBel9vcWZJU2hXKEEhOT1vMkZVK2pLcT45eX18ejNGaFh7ZyZnY2o9bHdiPWxX
Z3lGVyZhTGVkVWgtCnpvZmB2LTJLdyRVekkqPigrJiRAaS11PS1Cc1NqUjElejhOZVgjSGRDPER3
QERQYiF8T0tkdEBNX302QnN6NFl2JAp6Kkk+YEhoLVooNnhJLWBobUhEcXYhdilXJiZucmY+TShS
aGNONihEO2pOTiolXnVfU1lqRjsybmd9KjhPdylkNk0KenREazslYEBMc2skOzl3JChkKEglTzVV
aXhJcmBUMlpSY2RAPGtOUilAMjAxVS1tQVZwX0pSR09gKHlPU2s/SEpECnpfKW5GZWpYIXNNM0g8
VlNDVChXcy19aSpgYCFZSU5lZ0ZVZjMyO2JSYXt2R2Y2OTUxVTY5RTk0b0VRS0FDLUYlewp6S34j
N0ZVRVNNYFR9S2hkQCRFaDFXOS0tPjdEVkM+ITleNUFCSm5oYzh5O29lKnltI3NvQW9SRUtRMnY0
P2U0Q18KelM2QH40VDZAcGZmbT90N2BNO2xrfE5aeVZ5P2dnZzdaKD8md3tQRWA5ejF3KGB0YWV5
PjNsdylLN0lOJGBwPSZ+CnpwWkwrO3hwVXxBe3s4I1dwQU1uRmQtdn02VDM9cFhwN2BJc2VmdHs2
cDhXQzBBRSNUbFpqQkZZU2lrLUQraERQWQp6JEFnNHIlfngoWEBxJU03cEk5UjJ5TGEhVjk9TD92
bm07QDRiWHlONnlsVW5QUzE8NCtvMH1NV0s0UmQoRnNlbF8Kel4pJH1rZWZRbno8SHdLVlp3O0hv
XzMlM25zRnxaI0w3SExNT0o+K2hDSyRvJmgjKGchR2Z9djs3KFJyYiEhc0tkCnpWK35oNmdUSUUq
bzkkdVEtQGt1PFdfV3lTOTZtSyQ0U1pgM1UhMUVeOTl4KGduQCVva0hrQHxUO204OUV6UU5afQp6
MyhXR3UhR2tZLUphS1NQYTJ5REtHSUBibU5TdlcwMENHZVFGfkEwKGxHQlVmTCtKQnw0P0VrPW03
ZkRyNVpsSD0Kem1AYUpvPzV8KEg5JGlneTJzSV42NDxBMDlnVHFIfGM2aTxkIzZEa1ohY1JWV3pK
YDRDSU01UnFUXns7dVlTa0N+CnpWRGkmTGFkNj1BYVh8ZCtgT3o3KDJqO3tgeig2P0s2VCRZIzNZ
NEhrJGQpTWJWKDhmRCNDOV95MG94aWpLVFNvewp6SSlDeyhPZ1kpKnIrMzNoSSV9OT40Y008PHlf
JDlQej9NJXVVVUdJQl8qYWAoJDwyS0gjSHIpV24+UzxNe04kRjAKej8kTSkxUSU1eT5PNFFOOClZ
dDZ6IWU+N3QyOGgmKi00SiRTP3BDbiNyNWxqMWAlWWFWamJkfDRfKk0rUEg5Y2FBCno1NFUqITIt
YVpEOyR1X3tVd1BQUzdUbkZQZ1d4OSlabmVeaHFjaFpFSTMoRW89OzRKYWV9QClram5wSWRXYDF6
IQp6KUZ7OCYmMWBzZ3NwI30tXyk1eEhWbCQpU0kwNmsyO3E1UUVCJX4oV1lqJWZ+am92XklNel8t
a287YF99eGsxbkYKemF8NT55bjchc0l1dHZkR1BZcDl5bzRVa3g3fWYtTCFWbCluU2VTZy08RG5N
NGt5bEpMY1BaJWZqb19+ekZtTXk9CnpGejhgdGdFZGJHQyhhRnpTaW9rQCVUYGY+T1U1PX0yVnR7
KUIqY3BHbjNzSVZ4blR4VTNOQlZiKT95V2FxcVFjTwp6YFFzKUo4Kks1Z0coditDe3pReXNTOHEy
TWhGcFpMU3piMXs+ZXt2T2tzcjJMdVNiV0s7S1FHbylzeDg0PWItcH0KekN6bjRFaldvamNMPSV6
R1JKdz5FZkRCK2ErYGJxJWs+c3hebT5NTDhqejVBNXMyT0hIPzFyM3R0UHk1NitMeCFNCnpAbnQ5
U1M8QXlOMjNJKEVlKmdYVlY+ZWV2YXFRKDFReXYoRTROcjNpTURORHFPam1DQyNLRTg9YWlXOGRj
TzI9Pwp6OUZaYiE3dmIyY19Iemt2MFJWdlY1b2NZcDIkO28tRW9xbyQ0SEloPyYhM29ha2ZTezgj
R1opcjFRaEcwWF49K2QKemkpWVFFR3JCT0VYNWlzWHo/VXVtWTduRFFebkIjU0E+TVJFIXtPUEJ1
QF9AKip2bnhMTHY5Q1h1VT5YfWh2JVJFCnp7STRxcGZFcHtuVVNjMzZsQUtQRXhnPm5qblFPSzxT
UD5EPTl3RzUwZF4yJX5NNFVvM01VMi1BVlclXlQhQnRNJgp6OWdLQ3BjK3pXdC0wV2lHTTkmQCRF
Vj0wVFglWlZ1R2Q8cStGeUlzR2RMUll7OCRXdGpJRWcyR3N4UkRuZEtONkcKelF4Y1JqOWxMb0st
ZjMyTjxVMkB2V2NWMns2KDZxS1ZOSGpTTSZaRUVZZlFZSFpWJFZJTDcxTWV7b31gdnVrQ0V+Cnpf
YHFTcVRXJlZQOXVeKDNIdD1aWFhPOUNNIWA+a0FALXElIWVFQVNoVFJpRjVfIUUxKlgtJHU3UFlI
YXpmTyVHVQp6Q3lxMmhra0hjc3BhVUVNYFUrS35Kcld2WUY5fV83X1V4SyRIc316PSFKZTttZDY0
WVRAUFMpbClAPU9jRzI7VjYKenV7RFJFV2ApQn5VMW1DWWBHflhVWWI1TSk4dGloaFM2M0hMa0xy
T0soeVNnZkwhN31NVSFUK1ooQllncGNPeFF9CnpsUiQ7aDY5Q04ta2B5PiVrKXhBYlY9ODJtPnJp
MzloNnt0ZmhSY0khTGp4VVZgUXlTYTRuN340WT0jRCEjcXJaZgp6d2VwRXVkSDl3fjM/RFZYIz84
SzVYMEBgcmZicFd8MyhMU3NvU09LVExyPlo4QHApK043MGhxR185X0lCMVpKZUkKeiY3N0ApMFhJ
NHpXWDBCMGsxXyR3UGhyK0lueXkxYlVNeEVAXzZEQ0M4I1d5ZFZ5KSNmP0Q1VEM/KT5vOUVJI3RY
Cnp0YDIoSzJ3Tzh1YXEmXyFmcXx6KGxzYFJ4YHUyUnwhZEJoWjt2NWAqPnZ8KHJqNHs3KnV8VStS
RE5hJVZQUzBGfAp6ZkolYjZIRzhfJiNaKE1qMVReTFAoTDlMQk9RJTYlPFJBemVhT0w1SG0kZD8x
NmdtYWteUXszNlJ+KlNWS0o/WEUKekwqVTJAbn5vaXhMIWN2a3RsOVk1JEpma09AOWVFe3RlJjFt
SjtzVW54a1d5Pzs5NV5fNzs4S2Q1c2pGbEM1I0F2CnpWczhLeHF1M2ZxNC0tYSQyKGxVbSYkXyU3
TlhMJm9BNlJzWFk+MzBQOzxDZU9oe0soKTFMcCVELXh8KGA7N3YhJAp6JkRIXl5GVFY3Pkw4PStB
eFVrQz9wNGZVQ2p5KERCY1ZOVyY3fmdLQzFSNTVZQnU8cjdNMig2I2VJSWYpMX00NEYKekFfNWx+
RiZnRzMpSHBWTnszRmhmOSUpVW5IWislTFBSJHl7QGRzYSthT0NIJlA8dytkOUJXT3FodmpoTDtW
OyhBCnpSJklIIyR5IWcwOWZ6fCNeZTxrIzdfUkR9PnNLaUo7bEBSdEV7Uy10bWw5RGozTUs7UzF0
UFZCKyZYKU0tT3ZuKQp6eCZkJiteTXlxdSlQI3gmbFp9NzU7ZlpzfGBJeUM7PDVgcEI8bkpRTWk3
eSt5U3huKyk8MEEqWWFifkJOIXkmM2kKejkxZ0pRaW1BekI9PXhRPU9WJjtJUypsKX5ffjJFMikt
YyR1PEJHUkBYOX5fcFI4WS1SSytXS1hvVmBOMmtzOEZHCnpveGExUWk7T31lKXdjPSsqZ0szRzJj
dEUreTsmWiFrJSo8MlRhTk08azF2MC1DYiRlV0wyT05sbnxKfmZoOFJ0dgp6Jm8+fFo+RXpXNWhh
ciEzZEJwMT47Vi05TEZ6bVk9XmQwKVNnTlVIdzZkez5jaVF0LTEofisoNWZiOWBPSyo5Km8KeiEh
NTMtcXZDM0FNWnNoZlhPTUUmMERTeT9nVzBHK3Y0I1doTiR8bDV1TGpvP2FxI0k0ZE9CUFFPd0Rh
d0trKCRRCnpkNH1HSmIhY01RPGZIM310eHErKXttWWp4cilQWXs1JHBMfjc2SiRZMTYrfXVZREAp
YUU8Mkt1YX1mMyNQRCl9OQp6dngzRGMzPVYlaiRTUjtGenx2R1A+X2owcmghQE1BT0A2JVQ7PXM/
VkwjfWRHcWRrOE9DNEdqZUMhUlBNYWAxUTEKejwpOyZtNkU1PElCbDQrLTUxc24/V3Qrd0UyZD90
THRXSSVmMXFpQXJQS1hlVyRQamkoWU1Oa1ZCNTZqRjlZJXl8CnpoOClDZkFrSyZJNWZeY3NZNiNx
WGFGRXZeQCpDbHFhaURgPXRYVkRlMzE0fjNPPHp2eT9PKmZoPCVUV1pTYDVEVgp6IzlkQXtvUVhD
NlVUTmplMmU8ak1eVyRJdGVOfTtpQlotaWBMOzxwQ3FGS1VqdkFzajYzMVRGYWd4LUs5SWF9bisK
ekhBX0EqPn5lVHclck1Nc2g4JT1tSlB0NG5jNmw2WjlMPzJZUDE9aXJRO3BgRCY4TkVKaTNjQXhZ
WFhDeHlyZGxRCno8bGtXOS15VipBeGIqWChFfV5EdkZvMUxzSFk/YW4qam9lWUAjUH55TTRoX1pa
eTtjfU1kR2MrNjg+QX5IUDgqagp6dDc2MWhIX0stYmIlYyElWSZGT1lwQzZzTUwlYURJK1R+PUFR
KV5oblR6elZWVW1kdjcpZkBaemkhKShZRThIJG4Keip3Pz4wMFNaTDBTd2V5XjlrM0QhcDA4Kn1H
SnlRTUEhM2sjQ3lyPTkqbF8qRGtqQis7X01NfDxnKU51M3hiVX1VCno0QDExQjszeit2NW9pMiZq
dCZiSjtZLUlhWTwxJHpyd2hvSSNHfExWIUB3eW5ZTyZ0PUkjN0lJYyo8TVBaK3JJKgp6Pk0lTW4x
Un12RURHLUl5XjgqK0dXY14/eTBlXzlKU21aUVNnQjF1WHtPfiNxYVdNSWEoSX5tdEUyMnhtTT1x
bV8KeiNSckZNY3YtX0NhaWA7M2xra1goblcoUnQ+RU0hYm4wOyNzM3ZWXnx3ODxxZTllJm5nKVd3
JHs4fnVVdGpaZyQ/CnpVOyZaUUJ0ZH45VyMzbzBLenB4QykmWD09WUE3MlYqaytfaiYxV35fPUt3
WCQrIyN8Vl9JJllJOTZ4SVo8UW8pVAp6WlpUVW92SFd0ZiE9PFleKTx6ZGdvKGA+czskM3tiNkpI
SldPTzNGXm10VzU2ZldlMXV6VjxTQio4Pz4pam5OSE0KejZhb2V4YjNkTyVucUcxXmghZ3Y2NX1r
c0h3ZDRkPTFaJCp4SE5WRTFZZzkjPFlZMHJkO2FjT0t3MGA+Wj5HZmdxCnpze3Z8JmpYTiVlIV43
PlN1JDdBKSpKfE5nWlF8K3EhX05tN2VObXF0KCEtSXZgTX4oe3AjJDZqYTFzYyM8VGFDegp6KTBj
PkBXV2VwJiNkSSpSdG9hZGZNRHpJN1huTV54OCptV2goPUNnR2M+SyFhQChfTT5AbFdxKnJTfXhx
Yz5lT3EKemZ0dzQzQ3RsPz48NDVHPFhUYkZYQ3AlOTBpKVdLLSRGUmN7JVVeeFBeMzkpcV9KQXJQ
MllaYi0xNSR7P0xhWVFECnp6KCR1WkI2UHIhPXJHe1lAdWpRYl9JfV99eExvcHQmanpidip5Q3lx
UFhxUm9VMlooZUZCZ0FPQHFPbUdiaTJWRgp6ZkxWU3kjMXFgOzlIZStQaTtXWVRJNXVsSmFsPVZY
dTxEc1RVbyReR14zYWB+OGx1MT4mVmRmRkFUdDdsNThvUE0KelVqZHE2Jjg3Z0BiVEFCWTUkMDJA
QkNZQTxIcElkamwzKTRKIUdRX09VTEoqdEg+YDtgSTJzbUA0JXxVI0t6eUcoCnpjYH5gaDtiNEBQ
NF97YXtPK1R6UCsqJUk4N1k3e1diY3lOZ3RKZlRORzVRUH0mZ0E1NUteUClVMmkjdEE+d042QAp6
ZnppWEVIeHFWeUwmTT4qQXJsRX1kT2tIbUwoX312PkdLYTQyITlQIzA4WnQ+OWZuNUdIUiRBSl9k
QnJzKU1jJDwKejlVXj9xNzM9Mzl2dj9mcDM7YiZGcz5VNCNLWX19NHpYaXQ4bighbEg9bzJ+R3RM
TjY9ZSlgWDZVPGA7RzU9elhXCnpicFVrMGBEPDgoaTZhT1ktRmdMUHZ6RU0+emooUiQhMHR3fFJm
SnB5VHp2NTVFMmc1WTRjTFl6bigxbTlqQncpLQp6RTxNYkEjQWVmRVBqKzB7OUFid2JBS2M+NE0t
S1QoYy1DPGo1NC15TFU7a2hUWGNQeCY0JVY4QWxtV1FZP25XckkKeiEhK35aRDxTRW8qQVFfOEhZ
XjQ1U0JQMFkhVWlLdzYlKCR4NzsjPD1nYnFnV2JSOC1pZnJWPihJe3I5U0JZWCF5Cno7UU80YjdP
YD58dW5oNUwocHNEJDR9U0ZhJkdMelhnUUp9RF5hJHZyRylOTiFGX3hldDlZbjdUYFUoayQmaFdA
fgp6QF5ESlopKitVUU8qMGcyVGBfY3NjN1dwOCZHaHsyKzR0ZCFRPj49KWxhcF8yZThlUHQjbHV3
eFVwb0hqYDFWZ3cKeilrZTxgNCZKVGhzeEJEKD9CU1k7ez9RWnVgczg1ZGhmQ3hRZyRYRH4wQjck
fkhYP0Q0c3lSQDR6TkYmZChEZk9oCnpJN3RhfF9JJX01bHkmM350YnVVYSVUcHVpIzMrdWhlU0c5
M3tMfUgzbGU4OD87JFYqaGRvXntAYUhuSUYmKXpJbgp6NHhfcVkoQSlFMkd3WStpc2k5dWJgNU43
WXk3a2txfE5BVG5GJFpRUWZQaj9UT25rIXQwXkUpMTsxcGVoaz5ZUV8KencpZ2xHdjZ8aTJYKSlJ
MnNXRlAtaGQzV25RPl4yfHBIRUhqYmlgWEQ8Ozg2ZSpmX3o1LU9jNmlQX3ktJDI+SWxSCnpCT2M9
VG02c2haRjhRPFpsaU5ZP3c9UEQwZG9xNj9xQigjRlhHMm9KOUlkLWBiYlJ+VUk3UlBiVklhZGxP
entYcwp6TzV0IWooREs2Tyk4MU9GKFZfNms0fkFTQ1h4X1oja1lCOHVGUEhWTU0re3V6UXNMYUNn
aF5ePCpmOGl8PDU5b3QKelZjRTtVIypkVTJrOXQ3SXpxLVBsNHxRTV5aV1dSfVBRVkVlZFB4OG9l
SiFrazNLN1QwWTtUUShue1RhUFl4YzspCnp1TC1jXi0wfCMkOSMobFk3JChtMnEjcUxUZ1Q8fmsm
OXpwOEkkPzx5JDQrbyM3WiozVj48eGI2I0tVcUNgT3xnQwp6ZVdqJSpAWilJYT1pdVI1JElGX2B7
Xl5ndVVQK2plcHs3ZSgwfEc+PmhGUX1pVyMlaUVNODBDV2FxPXxTIzFYTHkKemZuOChSO3Z4cDdu
RWgoZ1NvJTEkKShranNIOUlAfXV3WnV9KV9tM01LJm9yVjllP24xNytwbUV7T0lCQjcjIW5hCnpo
VDk+QlhSZFpAYz1uZTgzZStAKG5DKzFfT1NxRztTQnp3WVVrVWlyISFvbFdNQnBlKUppVD5JVmst
YFk9Rn1LfAp6OHIjOXp2JnEzMW8mISkxOTZDWXxsYipsJEZkWmdkZUU4RkFJM0Y/Z05xZH5pNXRu
TF9tKjchOSM5OG1XO2xrK3gKekBLZWlLVkktMFFJZUhaVWt9TUc8RFpOeyYyKTxAdTNaJjtwJihH
U1pGfGUjX25pOzcrU01hYld0JGp2eSF7OEc5CnolRlBkTmBBQlBkXyEjUU01MGBrY1BaTiQ9NGNU
Rl4kPU08RWxaVmpiKmE0S0lgb3AmbSQ3UFpPWiNlWXFeeTJOdwp6I1NoMVN1cDxGeSR7YVdlUjB0
Y1hpUG48eEg2eDg2KHQlJG1JNH4qelVieDUqZXg0OUVTY1pNVjkjJVpyQC0+VUMKeklyZWdGSk82
bThyIV9vMCNGbkUydnhtVjNVeWJWMTMrcmx1IU90OCZgMjU7aSVQWVBNLT00MmdqYHtsIyVAbXsm
CnoybnRMVyhGemV2QjsldDFVfUNldXN2ITE/NW9nYSZlRXl5ZU1SfmYyYypLamRyVzAhcnY4fihK
NzwyaEd2YGR5PAp6RSRuZGRGdkZAd14mMiV3UHZsYz95ekpyT1cjRm1+dnB3QVMhQCl6MmM7VXBK
KDJKWElTdkNlaF5ZaUQ9JDQ+d1AKenp6cGs+QlR0N0VAKDc1UCRlIT9GTX5KTmshbG1RSyQ2Pjx0
SUdlQEw/SEtzc1hvaGBwOGlmbkhjeTxINlQ8cjNnCnpWZiF7X3BGY2x3Rm9fcztxOD1nKzl+fGti
MSV8JGA4VTM3OXt0Zns/S1I5JV8oOCo9KVFxR0dARnQ3K0FPczdiPwp6MnVjbyZUQGllVW5VOTJT
USlfd3pWOERrYjl1QmRsNlE9PE58QXZOPjhwalMoMFNYZTIyVyhHUU1lKyN+N0NYVTEKek8hI3A1
O3M3JX57UTBvdUZQPE5wTEM+eXs7cXN3fWc9X1dWI2FCSiRmYE5OXmEyYypab0h6d0FMNGxUKEJS
eDxjCnpeZml6ITNgeXVDP0tVQ2NmYnhAdkBQa1lFISNDNk1TNz9SdDtWJjx7Mjg2QGM5PTx5SU95
SXwtOCpVOXg0bWtFPQp6SExIZmpreCN5SFJKVEt+Wm4pTmM7byMyKU1pJnx2TGVFYSpzI2QoPSE+
UFpROU5pe14xQ2pgOUJ5YSF7UkE0dEUKeih0UH5YJmNEWGNESHRYIXIxXjs5ZzgtbFdCVnxebzg0
bUApRFlxRHNlOzlufWE0X1ZwSVhmMzBJU0ZqPkU9eyVUCnoxLXxzUyhzeih6YWJxV048JnY5LSlm
K2tANGhGMW48bTRBVktSJGVteT9GQSYmc1E5M2xtTXB7Yz8xTlFrKkh4TQp6PHRLZ0BsNUxZbFJG
bjc8ZCtWQ083WURhY0tIPyY8XkVMQV5Dej9AJTw1MUo9anJgPztZaFEhSHA9Wn5lPkx8ez4Kejh5
QCVrO1BDNXFvOHUmby03SFFHMkJCLVA4Un4jTHxONU9IQGB4R01vSUQqaExuNmZAeih5aVhAMX18
NiYrYXpsCnokSmQlYTlFcCpvTHJmdiF0anp9THdTfFdgamdicEt6UCVkNDUhMF9QOztCJXZ7MFV6
OzFkYyg8JWZJXlpsdGE5QAp6XjJDITNSYEBPcThAfWFaaFk2cGIwVXRqJGRjQzcjbn0xM3c1ZUde
bj5AfUJ8dms3UCZzSldZNHRvVns0TW8rPncKenZxITNAZ1B1UlZUb3I+Yk9hallMaHtEQm9OYUZL
PjxJd3I9eDk2TFd5NXVrJGVBKVRZeUNuMjNSYEYmTVByZHx+CnpibTV1bEpATStuIWBgU0N1YHVL
eUBhSkRIY0FIQ0pqKGk3QDRXUlZ8OXtfPiNDdVdVb0EyRUw3SFp+MFVGY2hUYAp6ZHw9cFg0IWZv
KyZSfVBZMUQjdGEyMHl2aysrY0d6bCs4WEt7TUdJa2UpTVczS0ojRzZ5WXBNfiVaN3U0R3toUW0K
em5hZ0YoNF8zVXspWDRecTlwPnlBSEhgPlI5QU59Yl8qaEhLaHJnTEZsOE9fPCktMmdnIWpmeDM8
aXZ8TGkkI3BvCno0OC1aZ14oNFMwOz08dHtYUzNtek41c2RPby1naC0yNXo7KUtAUHJyPFdgNCNW
KT5VRkp8OUREcWcoSEEjVGFhYAp6OyVwWDJ0WU15ZUl5ZWc4ZlErPiFha1F1Uj5JZSk3QUxRcl57
Pjg5fFNASFowfExneylNelBnRUZeRT9AQTl6V1AKendUSSgxNUdHeUM/I1pCb1E4VkU3RCNEaylT
dERUS1lzNWk1cVZeNldkbyV0eGgjXypvcT9jUGh6U2hLPUtSQHxCCnowQm5ZUT1LPjtUdUJubSQt
WnU/N3B1aU5kND5TQEg8VT1HY0RWPGtESFlESlNmbEs3QDttbjRFITNMaVdLZUh5NAp6NkNPWERl
OHVMXlA3a35LZE9DM21sZy04QTMpZGRzNHVMTnxXO3l1cTRJN18wIWZiOEUxdmI2aGFRVyp5ZCVk
IXIKenliJUBUd0VYJjZBXzdFbSFOfkE2SXV1fnlZUFJOeEFeZipxTGdGZG9Da0dycCNuQURLWG9u
UDhnQH5tJF97KT5QCnooP29ifHhaLVhPIXkwRzRiaV5VanN+cyoqWjAwYzF2OXJrd3lUaFBeREs4
JSk3TjJAUyYhNU4lUSVzaSZAM1RKeQp6bT9keTEybiNqQElhJjV9X0NPbCsqOFZkRFNrXlY3IWpW
SV4wXmt4QGA0bElYdVRqJWxeSEMlbW17WWBvI2poQ2cKekhJU2FhMjkhc2ZMRXcxQiFMPkdVRHUp
WHwyZF9IaVkwWHxPe09ueWlRWT89MCtpIW47aEpgT35hP1hLTjJxRj9pCnpTYVRJNSY7Wk5eS29O
dkshcmd2O0ZjSVlzWE9iT3p6N0Bte00tSWNERkNSUkpNaUdRN29HKjs+Y20/N1ZIakxgOQp6PH0x
SllWMDFnSisxa3N8a1coSV8yRCMhI0MoZlF2ZUtHZnt3WjtiPzQpX3VONG5eUE9nez8rRCo3Tklr
Jko7Qm4KemgoUClaOHxRPDdMXlgqbVB7fDJoTGBRTV8oRzhSWDV6UWZDKFRoezBBeTxYYzgqOysy
bWE3QW4lUV91PHd+JF9yCnpGeXd8flooVTlOPHp0aUk5JHZCZkt+TEJKRWExKjcmS189R2VDaTg1
OUo1aHZUQEQ9YylzeStoKSZMUm15NWd1bwp6OVRGbUpiT0V+c0p4eEctd05vSE1xQHUrYzUtSktB
TVZhOW1ea1FNUnVlY2clWDd8cj0ldG5fNmtKZlUtczZxTTQKem5ONzB8S0h8entFbC0+XncpcHpO
Mk0wTyQ+SzdrKThvVFNGQmsqRDMwRWdKP3VOZjkhKnMjdCgwYTReQTg0PCk4CnpYdHopVXtHKCsk
VV8+SEFlMSphXjIpcjYrJnJkdThkfDxRNzJiMH1rd0AoTCRqXkdVZ1orMTJfRU5ndTFEP0J7MAp6
RShwO2lLRUNEZyQzMEgkYWZJZypudkx8O1FTRH49PkdoM29LSkJaQ1VWZUt1JGdLd2xfUDFYe0FT
WTBoSUdZOFUKekljSH1SWE92VXsydVZPc3ZUYWhaKmtLPzYoX1o3bW51KGFPRyFQYj5fMiF8Tmd4
PV9LKEhFTnl0e1RJfSREWklwCnpQbHVhUGxpNl80QGM3JkZDMiYxZXtQRU47YntQQjxLMTd+ITtS
WTl2Z1pzQ3lpVTB1N1NwJTApcCFjYHB0bDFGWQp6WXRQQHotYFpvbmZCb1E8QnE9TyRXUm56Xm9l
eSY5IWpCaXk/RUdQe2Alb19qWSl6PX48PldeJUh2VmtaWV9NUzMKejZZPWN2bC1FO0lMK1JuRSpQ
MWBoY3YjYVhfNkJedGFiVlY2MVohQnZlOVE5NERpfFFLTWd9TSNqYGs0KlB5eis4CnpEfml0RV9q
JnRAPilgbGwyKjIjc14xIVN5OyVlTShOQ2h8bSVASVRCaXtXb2c3YSNsMFE1YHRaXk1fTVlUez9W
bAp6QXc5QTdJTyZuNlRUSGJTVE9JUURoN21fXi14P1Bwal9AWkFkdyNoSHhQJUpuVGFseUA3WCQj
STNLbDFzIUNuKXIKeiNWVlhIO2xyT2tkdXg3I295YlhRb0hjJDU1bkVuNXpIVEw2aENJN0x7S2RI
Pm52MExQV31OTGkyPkszTjlgU0gtCnpnPEN5d2t4d2k/cEtHbzgpZW5iM18kR01NOH5NcEl8SHhx
JE0+NTN2O1o4RzwwMn5vKEs5V21KWnwydipOZ3kkdwp6NXtkSnVEd09hP3AwN05MKD0xcWcjbnUy
QThlVlNMI2RWTiE8My1xTlIqaHVpJU5BY2Nlc3IrQTREYDV8NFdpRVkKem5ESGE8KXF4V1h1VzVG
Oz1Jc2o7MmVJVzR1UmVNPyRpQDlmfEcxKGdINHpZcE5OeiY7dXwtOyhyJUdgfDAoTFdeCno+RSNq
QWB5TlJgcj5QM0ZDZ1M5IUxtVT50T2BNJFpXZk56dzhEYjRPN31oWV8ofjA0YTgrfHRNYUBJaWtA
YjF2PAp6YFBMKH5iVURNUVBKSDdlWEw8MF5wWCFzN3BLKjRvODYrVmMxY3dxVSRSMWg2QVpTPTQm
cmE7Y1I0X2ZmMihiMGIKek1FPj9MaU1lS21BKVgjYkk/fURDdnpBfTZMX01VdWVCeT5mODFpVWJ4
VyhIT1AxWSFUd2ZMJHBtbCU5dGRGUyg/CnpHazNVaGN5aTM/JSpFQFlId040ZUwhS0ZrKU9iWWZJ
VSk/T0F+PV5vMUZaUVgpOWFAcURedntmNGxlKFMzRXdQIwp6eG0pd0lIdXc7OGR9fWc0KmZgQD0x
TXRSNkpSUzx5PFokVHRfTyF5TnglQlltdm9gbD87dipPRjNZTEA5SCM2VFoKejJfOG11N2JgRXtg
ZFZGUWk3NXB8VVY7KnY9PnI4UU0kX3BMN0IzOzwzYWkqbmx1Y35TZ0c8TDNqc25jPTR6UHg+CnpC
ZGVMYWMpc0VERl5jMDRBMTY2JDF8SzN2NFNgIU47YHJsNVM5fTxCSDRjV0pzSzB8fEJZME00SFJF
Zlk7S3ZgUQp6SzZ8RFBqfiZPN1k2UGl4YGMwejcqU3oqLSNQfWtrRDBfKjB6UUN5bzNMJVEmT1cx
MjdFY3pQZDcxdVhFSzVTaGUKenYyRytpc1dgRFBgST44e0lOYW94WFp1eU44VnBaQndMNUhpeHtV
SmFmZyNRZU9IPUxEWTg/bDVWaEB2O0BofV9zCnolKWZwSUIjfEhuSyQ/S09IOWVwV1Q0S1E2T2dm
PDVGI2x+aTQ2KmQkISRPKUxKQFNOMihLeHMke1k2IzxZbDBhNQp6I2ZvODlnTFFnJWJPYXViVyhU
QkpkSDgyJT4ka0BFJTdwX1R3c05ge1ReNzA2KUdiJW9hKj8+UVMtWVRvPHVARGYKejx4QSMzPTQx
fElPPj00aEk3PWNhdT9FNWhncX1gQU5RRmQ1ZTJMaytUQGUjK0lEOXdgJio9OH4qK0QkS05hTjxf
CnorTHRlMG5rRmAxZDJzRlVAaUY5dGk7cX0pZShIQjk4dDU+SDE3T2NERV55KzM2VHpMPiVVdiFw
OyRnez8kWnowXwp6NTEpZz5tJWxDKnRRYi1nRC1JI1d4PmJWc2ltTkY1WlpSXn1IM05vdEdjdzNF
IXlAOVghLWs4YklMKWFjezc4K2IKej9+dHdHIW9XPkZ2bCFvSzImezFWdmxCRGs8KzZeOGMoP3tU
a3JQTEliS0wzR1pWI1Y/WWJJPFI5ODctb2FxdGw1CnpXSyhickxEV3NEUD1OZGNIfThFN2xkeHRX
MnladClLNT1xSlQkOFFDbUoxI35IXzxgbjN5Ozh3VWwkXzFTazMxSAp6eVQpMn5wbVo/I25DKj52
VmEtUEIwWTFCdGBJfGtfYSo4Sm9OSWFid2VGO1ltViM/cDtJUF9uZDFwcDhManNnSyQKejg7QlQr
UUdDdE81TVUqVD1TaWFEMUVadko1RXZEMEFCWFZTPFJvPEJAb2B3cVlfUjJsbShXIyUyNlE/NHUq
VlpsCno3ZSV+Vz05PWEzKzJQUlAyaUlKa154fHFoT21TKV9kPH1sUDI1V0l9Km44e2JIfjtAMyRW
bEY+dWkqZTkpaHdZawp6ZkEpJjEwOE5sRTQwPThZRH56cjlhYGp8WGN3REA5XlUpLTBIWD1gLUta
PmpZYE5QN0d1dmJnQEByI3JFP0Q+bUAKekJTK1k5OTYmWURTRFEtI3VMSjdSOyQlJl9zTVJQfXBE
VDI3JjJNYEY4NHszXipkd3xWdnVVUUg1QyRxJVZ0YWMyCnpfSSVrJEtBeHh1aW1lZ0YhYDd0ejZF
fENwRDFRZzQyIStaU1B4KkBCVW1oRzM0IWZxcGcoVmh1NEhBPXg/ZEliTwp6cW5WQWJTRXxfdloq
emlPb0hjSXQpXmcqYmNXfiFyNDQ5Rz1YTXpPaDI8OVV4VSV7anNBKG9odEB1NG5lUFc+dzsKelk+
QytgekkraUEyY000fG51ajxZQUVOQHs2QnpnIUBhXiUwV3VIR15jeWlhZ2VTd1BJN2x4bWBJPDFN
UCFQQDBnCnpaPVc2WTRAZHMrX15HMl87MVg3U0dfJXRtK2BzKzVSfC1iMzxfWlEqKmFScT00LWpe
UE8td1VQV2EjK3dBPndARgp6ZnZISVQ7bGVBZ0xjZnhtZWBxRWFQQ3U4eDxGN0doaHdrRS0yfjBX
WUdeMEgxRnl6NWV0UWxUPmBQPFg7PWM4Ri0Kel99SGBLLWBid3RFU0QjeUsyflIjX3tsLSFGIS0+
YEdydXxzU2ItZXU0VE9NbSkqdH17RiplRWg1cm96JFBZZ1Y8Cno5Zn14eDtAdk02Nzk0YDhKcyti
Y21eR0twST13aUQkSmcyK1NpX00heSE3Jl4wfW5id3k8Jip7bWczcEApbnF5UQp6PzJefSQ9Kmc+
PWRjKCN+Jmd6MjZQVDEzVDBxNV5TSTd6NStQRHthcDZkPWdueGBIJm1BX01RUl8hSVVMTXBpdDEK
ek98Y2dUVTtneFRIUCp9eXRESShCPkcqb1JDNDMxeGUwIXQrTStHe1VPd0hFdDwhdnZ2K35QSnJk
SURQYHlUSlp3CnpQIX13RnluRVdeRzYrb2lFKDhBTW9TKVArNilBKEUhdlVhcCMyZ2c4SDY2KVRh
PGY2cWhgVCkrWER5Rm0/WTNGTgp6VkFxaVJASzlqNUhPP0xuZGtxbVVyZGVLbEhue3hrYWN+SVBW
YkhWNyNpcThmYE47KWBvIzNaLXhke0kqaihAKWsKemtKTylmREY7NyR2MmV2Y2QtaU4qeT5Le3U8
ZVVHMyRfOXtHcWlVaSt3fTJ6UEJBc1QqSFVUfm84amBnNGJSWSRYCnpDflYmdmRFd1BTZ3YkWkxz
OFFEOUAjK0FAUzw3SylqNko/Xj5FenB1NS0kKENnTkZ+dC08QT9+YWRoSjk0ViZLNwp6UkMlbG9L
MTY8VGBPdlo5cXJkdlYkTTU7KiVmKmplSmJDKWhELUhrdkRZXnZhbmA7MW81SDY4ZmFnc1U9PmpZ
XnIKej1Je310QmpKY2M3OFg5ZnhlKXN9KDJFbDwyVFdwMzJmdEI2YEdneWA3JnpoI0hRVVEkNTVy
ejhVMDV5fm4+fkZPCnpNVHw4TDw+LSpwIU5Yc1ZffUdWSXBVbHI4NSgocldEMXdvVW0+RDR3WD1G
JFQ7bHIwbTQyUXRCNG5MaChXT2l9bAp6MnchbjwtQVl7SzxaRXErJE08SEA0IXxKckByS2NwN2dz
aiUqeyRqMVBVTTNuMlJ9QTVza3cxcj4oSU9nJVpGPWsKemdgUVJ6VEArWSs8VVZUQHZRODgqa3NK
e1QzZ1h2VkFtUEs4cEZ0Rj5hZnN6N1BKSDt8Yz5FITZLSUljPCpxYiVvCnpFVmZaajRHOX1RejEm
X3l1dHxyO3pCeT0hKyVXMG8pMiErKyk1R0pWVmE0O0s3Y1VvXitfKTRNQ2NSdF4jfmhZZQp6aFpj
X2ZhSVhJXmsxQj5pNXNYQzkpQENDQkdoYjIrNDh2WXh7dF9lN0tfTl5oTjNrX2U0MHtEQTB2MWV5
aGdkVmMKek9HSz1WKjA+cSk5NDd3YDYmNEo5R15Cal47MlE9WEBnMElhc2VaWlQ/MCo9dWdSZHs8
XyFSPzdaM2E5Qzh6em84CnpQMWh3Um9FUygyWStFYEZNMjJyZWpLcT8jeURmWT1BVTFtYjJvYk5o
aCQ5PTg7X1NeRCozMV9sR2hhNDI9d0tFdgp6WEkhbj48UUImdHduNTRwKSttb1ojTDRUPjs5REV2
Xmp+Ui1sYjMmbz0mOWttXllDTSokQWlHN0gqalF8VW9QNHAKelNeI0lhUSZUMURwdikzJGRXR18o
N2F6Q308T218PT1HOTFrNjR5akFiVTBgdG4+OU9KYzE8OTM+RGcqOVRAQl8+CnpAM3p0SnkzYFUr
WWNVJi1GMFFeRSVIZnZCTCE8Uz9Udk1CZTtNWUlrcyRVUHlhMCM0dm4mWE90SnBBVXJRPHA+Jgp6
aH5oY2E3ekN7JiNpeGJecUxCKksxVzYxUz1AbSFocCtfPTVZeHV+fTVrKiMld0lNJVdJcHdjJEBR
N0czYVFLTFUKem5fZGhJb2NRNHk/IylLb1J8fGFwI2pCR305KHdycF56e3l8eV90eVI/fH1HKnVP
NUQrQ3ZXfV8/bH45QyQldzNeCnpLbiFBKnBycV9JJENJTjhkP0Z3cnk4O2RWNG58eyRTLXVYI24j
MlBoRn5iVUAqQnZ8c3ZnNV9hNFRkSyNlQ3pnYgp6X1d7X2UxdW92PT9lWHNydFBPRXwqdiRyOTdv
YSNnZSlmYjdILTVQMFhJKUtaSm5eMG5icFIhKXNsWEl1UFlAeWsKentUaWFlMklSMCtSRFNGZFJs
R3lzTCRBO1hCMVl0PzJyLTZOcDkweDV0T29PPWNkT3RMYH1EQm8haipfKUd3fCErCnpZRyE9YyMx
WlRFYSVnT3xSOThPWXg1JEdwQGw+JG0kS1JTUTlYKHQqKU9xLVBkOU1sJW4zRXVoZVcrUGlGclVD
YAp6aFFnNVctPUNLX3ZZTnJhOCRwaSV5P0NRTkE2VzdkZEQkRX5UISZnTmRrcWdtZSQ2eTF0ZWpA
QU9vdk5mSllWP3kKejw9dVVOJHducytkcCpFTTN9R1g1YWZUfkwtMXU3YVZSTnZhWnVASE92cXMr
ZTN9TjdhZkMzNz5uYXF0MCRXdE90CnpwPiYkJW4rRntYTF5ORiE0Q34mWmE0SkA7VnJvY24+QlJC
TC1tUTxEMHlXR35rZVFoQTtJRENUPHN+KTVMREF6fQp6b0VSZEcmMlM7cUt5YVptaV5JIUloalJ4
aDl5ZkZOVzwhcXBWKHA7ZGhgbzZGbXRVQEk4V05SRWxRantEcTcpKmoKendJUGAldW9EPFdhcU1R
S18oJnxhIU94bm9TMTI4dl9COXE0SXRMV0tDUkM3Tz84V2pTX1c5RGBpOEVoJGFFeUNUCnpwQiR1
MUJwIytiYyM3Y0BjUjY1XnU9d3p8KktCY056IU90JGRIQik2ejVidHh3SmB2Pk5kZ2c8NDUmU3VL
bWR+UAp6M3dYY3w7K3ZIQzNhSjV6WW1OYTZQTTkjUCNuZT5taWglOGE8OzAxOW0lXjs2Oz59eyVU
X3xmcUVJZUc/YFduVEwKei1tb15SIV58Sjlyb3lTWS1FMjVHbmRfQllhN2JMKDtGPEhvJilVOyFw
NUo5NUI4akFjNmVteTswPU9GP3NWOVlQCnpILUhgdlAtezRkSTI1QTY+fUdMdCRYQjZlSWVsaXkk
RyNpaTBtNnV2ODJSe0hvOHt6LTFJeyYqcDcwbE1GOSRybgp6Z2ZESi1MMjVpYTAtdnZWVCZ1VTwh
R21rYVY9c24oSmJHUWkhSWBqXjw1Sl9DNS1GaHNLc2dlRDFweE1CaH5wUCYKekdlSHkldmY/NiNw
Z29jZiQpMWdHMHN9cz4yM3dyeTZGU2BaXk1mZ0d4I2AlO1pfbjRCQEs9dkk7UFR+ejR9RVYyCno+
bkAjb2luV0ZUUSUqdzEqUX5hOSFfK0k3ezklZmJrSHAwcXpqPFojOS17Oyo3KWIrb0FePWR5QkV3
JE1ZeV4+LQp6MEgtRjNmbilhZitYeCErQz8/ezNrUUspa0N6IURGd30oSClkfGl1RWxpTFV6MkQ+
PUUjNmNLJVdUJHNYSDVRSU0KelYqSmpFLW52N0t5U2NYcFRnXjd9Y2l+fi1LK08yej92Mm5QO2Bl
YGU2dyFpdTVVdmFXMDAwMDxNTlVNbkxTVFo9CkM1QUE7ZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNp
ZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MzMjMzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1w
dCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3Nx
dWFyZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sLiBEb21haW5zLCBwcm90b2NvbHMg
YW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQg
dG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVh
cmUxMDAucG5nIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgorCitWZXJpZnkgdGhhdCBzaGFwZS1pbnNpZGUgYW5kIHNoYXBl
LW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0aCBhIGRpZmZlcmVudCBvcmlnaW4g
YW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0byAibm9u
ZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdvIGVycm9yIG1lc3NhZ2VzIGFib3V0IHVu
c2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLgorCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKHNoYXBlRWxlbWVudCkud2Via2l0U2hhcGVJbnNpZGUgaXMgInJlY3RhbmdsZSgwcHgsIDBw
eCwgMHB4LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hh
cGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUgaXMgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4
LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVt
ZW50KS53ZWJraXRTaGFwZUluc2lkZSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUgaXMgIm5vbmUiCisKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1h
Z2Utb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWlu
c2lkZS1pbWFnZS1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jOTIyN2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgI3NoYXBlIHsKKyAgICAgICAg
LXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAwLCAwKTsKKyAgICAgICAgLXdl
YmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCwgMCwgMCwgMCk7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5WZXJpZnkgdGhhdCBzaGFwZS1pbnNpZGUgYW5kIHNo
YXBlLW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4KKyAgYW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0
byAibm9uZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdvIGVycm9yCisgIG1lc3NhZ2Vz
IGFib3V0IHVuc2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLjwvcD4KKyAgPHAgaWQ9ImNvbnNv
bGUiPjwvcD4KKworICA8ZGl2IGlkPSJzaGFwZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisgIHZhciBz
aGFwZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcGUiKTsKKyAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndl
YmtpdFNoYXBlSW5zaWRlJywgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4LCAwcHgsIDBweCwgMHB4
KSIpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNo
YXBlRWxlbWVudCkud2Via2l0U2hhcGVPdXRzaWRlJywgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4
LCAwcHgsIDBweCwgMHB4KSIpOworCisgIC8vIFRoZSBpbWFnZSBVUkwncyBwb3J0IGRvZXMgbm90
IG1hdGNoIHRoaXMgZG9jdW1lbnQncyBvcmlnaW4uIFdlIGV4cGVjdCBhIHBhaXIgb2YgY29uc29s
ZSB3YXJuaW5ncy4KKyAgc2hhcGVFbGVtZW50LnN0eWxlLndlYmtpdFNoYXBlSW5zaWRlID0gJ3Vy
bCgiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVhcmUxMDAucG5n
IiknOworICBzaGFwZUVsZW1lbnQuc3R5bGUud2Via2l0U2hhcGVPdXRzaWRlID0gJ3VybCgiaHR0
cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVhcmUxMDAucG5nIiknOwor
CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVF
bGVtZW50KS53ZWJraXRTaGFwZUluc2lkZScsICJub25lIik7CisgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91
dHNpZGUnLCAibm9uZSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzZjYWRkZS4uZTcxYzNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTA2
LTIwICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
cGVzXSBsaW1pdCBzaGFwZSBpbWFnZSB2YWx1ZXMgdG8gc2FtZSBvcmlnaW4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3RyaWN0IHRoZSBpbWFnZSBV
UkwgdmFsdWVzIGZvciBzaGFwZS1pbnNpZGUgYW5kIHNoYXBlLW91dHNpZGUgdG8KKyAgICAgICAg
dGhlIHNhbWUgb3JpZ2luIGFzIHRoZSBkb2N1bWVudC4gVGhlIGFscGhhIGNoYW5uZWwgb2YgaW1h
Z2Ugc2hhcGUgdmFsdWVzCisgICAgICAgIHdpbGwgYmUgdHJlc2hvbGRlZCB0byBwcm9kdWNlIHRo
ZSBzaGFwZSdzIGJvdW5kYXJpZXMgKHNlZSBidWcgMTE2NjQzKQorICAgICAgICBzbyBub3JtYWwg
aW1hZ2UgYWNjZXNzIHJ1bGVzIGFyZW4ndCBzZWN1cmUgZW5vdWdoLgorCisgICAgICAgIEFkZGVk
IGEgUmVxdWVzdE9yaWdpblBvbGljeSBSZXNvdXJjZUxvYWRlck9wdGlvbiB3aGljaCBpcyB1c2Vk
IGJ5CisgICAgICAgIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nU2hhcGVJbWFnZSgpIHRvIHJl
cXVlc3QgdGhlIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24uCisgICAgICAgIFRoZSBjaGFuZ2Ugc2hv
dWxkIGhhdmUgbm8gb3RoZXIgZWZmZWN0IGFsdGhvdWdoIGl0IGRvZXMgZW5hYmxlIG9uZSB0byBh
cHBseQorICAgICAgICB0aGUgc2FtZSByZXN0cmljdGlvbiB0byBvdGhlciByZXNvdXJjZXMgd2hp
Y2ggY2FuIGN1cnJlbnRseSBiZSBsb2FkZWQgZnJvbQorICAgICAgICBhbnkgb3JpZ2luIC0gc2Vl
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KCkuCisKKyAgICAgICAgVGVzdDogaHR0
cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwKKworICAgICAg
ICAqIGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFs
dWU6OmNhY2hlZEltYWdlKTogQWRkIGFuIGVmZmVjdGl2ZWx5IG9wdGlvbmFsIFJlc291cmNlTG9h
ZGVyT3B0aW9ucyBwYXJhbWV0ZXIuCisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKTogRGl0dG8uCisgICAg
ICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKTogTG9hZCB0aGUgaW1hZ2Ugd2l0aCB0aGUgZGVm
YXVsdCBDYWNoZWRSZXNvdXJjZUxvYWRlciBvcHRpb25zIHBsdXMgUmVzdHJpY3RUb1NhbWVPcmln
aW4uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcyk6
IENhbGwgbG9hZFBlbmRpbmdTaGFwZUltYWdlKCkuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2
ZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSk6IFVwZGF0ZSB0
aGUgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHN0YXRpYyB2YXJpYWJsZS4KKyAgICAgICAgKiBsb2Fk
ZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKTogRGl0
dG8uCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlcjo6b3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9h
ZGVyT3B0aW9ucy5oOiBBZGQgUmVxdWVzdE9yaWdpblBvbGljeSBlbnVtLgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkZXJPcHRpb25zOjpSZXNvdXJjZUxvYWRlck9wdGlvbnMpOgorICAg
ICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KTogUGFzcyBSZXNvdXJjZUxvYWRlck9w
dGlvbnMgYWxvbmcgdG8gcmV2aXNlZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCgp
LgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0eWxlU2hl
ZXQpOiBVcGRhdGUgbG9hZCgpIFJlc291cmNlTG9hZGVyT3B0aW9ucy4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KTogUmVwbGFjZWQgQ29udGVudFNl
Y3VyaXR5UG9saWN5Q2hlY2sgcGFyYW1ldGVyIHdpdGggUmVzb3VyY2VMb2FkZXJPcHRpb25zLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6
IFBhc3MgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGFsb25nIHRvIHJldmlzZWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmNhblJlcXVlc3QoKS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKTogQWRkZWQgVXNlRGVmYXVsdE9y
aWdpblJlc3RyaWN0aW9uc0ZvclR5cGUgaW5pdGlhbGl6ZXIuCisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjpzdGFydExvYWRpbmcpOiBB
ZGRlZCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSBpbnRpYWxpemVyLgorCiAy
MDEzLTA2LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIEhhbmcgZHJhd2luZyBjYXB0aW9ucyBhZnRlciBwcmVzc2luZyB0aGUgaG9tZSBidXR0b24g
d2hpbGUgcGxheWluZyBhIHZpZGVvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5k
ZXggZDZjYTgzNC4uYWM0ZjZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApA
QCAtNjMsMTQgKzYzLDE0IEBAIFN0eWxlSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZE9yUGVu
ZGluZ0ltYWdlKCkKICAgICByZXR1cm4gbV9pbWFnZS5nZXQoKTsKIH0KIAotU3R5bGVDYWNoZWRJ
bWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxv
YWRlcikKK1N0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hl
ZFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0
aW9ucykKIHsKICAgICBBU1NFUlQobG9hZGVyKTsKIAogICAgIGlmICghbV9hY2Nlc3NlZEltYWdl
KSB7CiAgICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwobV91cmwpKSk7CisgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KFJlc291cmNlUmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJs
KSksIG9wdGlvbnMpOwogICAgICAgICBpZiAobV9pbml0aWF0b3JOYW1lLmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9yKGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRp
YXRvcnMoKS5jc3MpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApp
bmRleCA2MmUxMTYyLi44MWJkNTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAg
LTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgQ1NTSW1hZ2VWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NW
YWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw3ICszOSw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiB1cmwsIFN0eWxlSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1h
Z2VWYWx1ZSh1cmwsIGltYWdlKSk7IH0KICAgICB+Q1NTSW1hZ2VWYWx1ZSgpOwogCi0gICAgU3R5
bGVDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsKKyAgICBT
dHlsZUNhY2hlZEltYWdlKiBjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOworICAgIFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZElt
YWdlKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpIHsgcmV0dXJuIGNhY2hlZEltYWdlKGxv
YWRlciwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMo
KSk7IH0KICAgICAvLyBSZXR1cm5zIGEgU3R5bGVDYWNoZWRJbWFnZSBpZiB0aGUgaW1hZ2UgaXMg
Y2FjaGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0ltYWdlLgogICAgIFN0eWxl
SW1hZ2UqIGNhY2hlZE9yUGVuZGluZ0ltYWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCBlMmQ4ZDhkLi5kNDlhMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCkBAIC00MTAxLDYgKzQxMDEsMjEgQEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBT
dHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4K
ICAgICByZXR1cm4gMDsKIH0KIAordm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBl
SW1hZ2UoU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFJlc291cmNlTG9hZGVyT3B0aW9ucywgb3B0aW9ucywgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29u
dGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxs
Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgIFJlc3RyaWN0VG9TYW1lT3JpZ2luKSk7CisK
KyAgICBTdHlsZUltYWdlKiBpbWFnZSA9IHNoYXBlVmFsdWUtPmltYWdlKCk7CisgICAgaWYgKCFp
bWFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJ
bWFnZSA9IHN0YXRpY19jYXN0PFN0eWxlUGVuZGluZ0ltYWdlKj4oaW1hZ2UpOworICAgIENTU0lt
YWdlVmFsdWUqIGNzc0ltYWdlVmFsdWUgPSAgcGVuZGluZ0ltYWdlLT5jc3NJbWFnZVZhbHVlKCk7
CisgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gbV9zdGF0
ZS5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOworCisgICAgc2hhcGVWYWx1ZS0+
c2V0SW1hZ2UoY3NzSW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIs
IG9wdGlvbnMpKTsKK30KKwogdm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcygp
CiB7CiAgICAgaWYgKG1fc3RhdGUucGVuZGluZ0ltYWdlUHJvcGVydGllcygpLmlzRW1wdHkoKSkK
QEAgLTQxNzcsMTIgKzQxOTIsMTAgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0lt
YWdlcygpCiAgICAgICAgIH0KICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdFNoYXBlSW5zaWRlOgotICAgICAgICAgICAgaWYgKG1fc3RhdGUuc3R5
bGUoKS0+c2hhcGVJbnNpZGUoKSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCktPmlt
YWdlKCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgpLT5pbWFnZSgpLT5pc1BlbmRp
bmdJbWFnZSgpKQotICAgICAgICAgICAgICAgIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUo
KS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFn
ZSo+KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+aW1hZ2UoKSkpKTsKKyAgICAgICAg
ICAgIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCkp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRTaGFw
ZU91dHNpZGU6Ci0gICAgICAgICAgICBpZiAobV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUo
KSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0c2lkZSgpLT5pbWFnZSgpICYmIG1fc3RhdGUu
c3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCktPmlzUGVuZGluZ0ltYWdlKCkpCi0gICAg
ICAgICAgICAgICAgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKS0+c2V0SW1hZ2UobG9h
ZFBlbmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5
bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkpKSk7CisgICAgICAgICAgICBsb2FkUGVuZGlu
Z1NoYXBlSW1hZ2UobV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKSk7CiAgICAgICAgICAg
ICBicmVhazsKICNlbmRpZgogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmgKaW5kZXggMWViZTkzMi4uMGI4MjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5oCkBAIC01ODEsNiArNTgxLDcgQEAgcHJpdmF0ZToKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVJ
bWFnZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRpbmdJbWFnZSopOwogICAgIHZvaWQgbG9h
ZFBlbmRpbmdJbWFnZXMoKTsKKyAgICB2b2lkIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZh
bHVlKik7CiAKICAgICBzdGF0aWMgdW5zaWduZWQgY29tcHV0ZU1hdGNoZWRQcm9wZXJ0aWVzSGFz
aChjb25zdCBNYXRjaGVkUHJvcGVydGllcyosIHVuc2lnbmVkIHNpemUpOwogICAgIHN0cnVjdCBN
YXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcAppbmRleCA3ZjRjMzFmLi5kZTQwMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTEzNzEsNyArMTM3MSw3IEBAIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSgpCiAKICAgICBSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdChtX3JlcXVlc3QpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zLCBtYWluUmVzb3VyY2VMb2FkT3B0aW9ucywKLSAgICAgICAgKFNlbmRDYWxsYmFj
a3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNr
Q2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSk7CisgICAgICAgIChT
ZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVu
dGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNl
RGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKICAgICBDYWNoZWRSZXNvdXJjZVJl
cXVlc3QgY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QsIG1haW5SZXNvdXJjZUxvYWRPcHRp
b25zKTsKICAgICBtX21haW5SZXNvdXJjZSA9IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVl
c3RNYWluUmVzb3VyY2UoY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KTsKICAgICBpZiAoIW1fbWFpblJl
c291cmNlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyLmNwcAppbmRleCBhNzhlODA3Li5jYzQzZWJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKQEAgLTM2
LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmV0c2NhcGVQbHVnSW5TdHJlYW1M
b2FkZXI6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKEZyYW1lKiBmcmFtZSwgTmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXJDbGllbnQqIGNsaWVudCkKLSAgICA6IFJlc291cmNlTG9hZGVyKGZy
YW1lLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBE
b05vdEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENy
ZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpCisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFt
ZSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9O
b3RCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVk
ZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNG
b3JUeXBlKSkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMGE1NDk5Yi4uZDgyYWE4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTE2MCw2ICsxNjAsOCBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhT3JCdWZmZXIoY29uc3QgY2hhciosIGludCwgUGFzc1Jl
ZlB0cjxTaGFyZWRCdWZmZXI+LCBsb25nIGxvbmcgZW5jb2RlZERhdGFMZW5ndGgsIERhdGFQYXls
b2FkVHlwZSk7CiAKKyAgICBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMoKSB7
IHJldHVybiBtX29wdGlvbnM7IH0KKwogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gbV9oYW5k
bGU7CiAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogICAgIFJlZlB0cjxEb2N1bWVudExvYWRl
cj4gbV9kb2N1bWVudExvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlck9wdGlvbnMuaAppbmRleCBkMWI5MDdiLi41YmMyZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oCkBAIC01NSwxNSArNTUsMzggQEAgZW51
bSBTZWN1cml0eUNoZWNrUG9saWN5IHsKICAgICBEb1NlY3VyaXR5Q2hlY2sKIH07CiAKK2VudW0g
UmVxdWVzdE9yaWdpblBvbGljeSB7CisgICAgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0Zv
clR5cGUsCisgICAgUmVzdHJpY3RUb1NhbWVPcmlnaW4KK307CisKIHN0cnVjdCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMgewotICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucygpIDogc2VuZExvYWRDYWxs
YmFja3MoRG9Ob3RTZW5kQ2FsbGJhY2tzKSwgc25pZmZDb250ZW50KERvTm90U25pZmZDb250ZW50
KSwgZGF0YUJ1ZmZlcmluZ1BvbGljeShCdWZmZXJEYXRhKSwgYWxsb3dDcmVkZW50aWFscyhEb05v
dEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpLCBjbGllbnRDcmVkZW50aWFsUG9saWN5KERvTm90QXNr
Q2xpZW50Rm9yQW55Q3JlZGVudGlhbHMpLCBzZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykg
eyB9Ci0gICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9h
ZENhbGxiYWNrcywgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29udGVudCwgRGF0YUJ1ZmZl
cmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5LCBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0Ny
ZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksIFNlY3Vy
aXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMo
KQorICAgICAgICA6IHNlbmRMb2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcykKKyAgICAg
ICAgLCBzbmlmZkNvbnRlbnQoRG9Ob3RTbmlmZkNvbnRlbnQpCisgICAgICAgICwgZGF0YUJ1ZmZl
cmluZ1BvbGljeShCdWZmZXJEYXRhKQorICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMoRG9Ob3RB
bGxvd1N0b3JlZENyZWRlbnRpYWxzKQorICAgICAgICAsIGNsaWVudENyZWRlbnRpYWxQb2xpY3ko
RG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFscykKKyAgICAgICAgLCBzZWN1cml0eUNoZWNr
KERvU2VjdXJpdHlDaGVjaykKKyAgICAgICAgLCByZXF1ZXN0T3JpZ2luUG9saWN5KFVzZURlZmF1
bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKQorICAgIHsKKyAgICB9CisKKyAgICBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMoCisgICAgICAgIFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxi
YWNrcywKKyAgICAgICAgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29udGVudCwKKyAgICAg
ICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5LAorICAgICAgICBTdG9y
ZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLAorICAgICAgICBDbGllbnRDcmVkZW50aWFs
UG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksCisgICAgICAgIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2Vj
dXJpdHlDaGVjaywKKyAgICAgICAgUmVxdWVzdE9yaWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9s
aWN5KQogICAgICAgICA6IHNlbmRMb2FkQ2FsbGJhY2tzKHNlbmRMb2FkQ2FsbGJhY2tzKQogICAg
ICAgICAsIHNuaWZmQ29udGVudChzbmlmZkNvbnRlbnQpCiAgICAgICAgICwgZGF0YUJ1ZmZlcmlu
Z1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KQogICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMo
YWxsb3dDcmVkZW50aWFscykKICAgICAgICAgLCBjbGllbnRDcmVkZW50aWFsUG9saWN5KGNyZWRl
bnRpYWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJpdHlDaGVjayhzZWN1cml0eUNoZWNrKQorICAg
ICAgICAsIHJlcXVlc3RPcmlnaW5Qb2xpY3kocmVxdWVzdE9yaWdpblBvbGljeSkKICAgICB7CiAg
ICAgfQogICAgIFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrczsKQEAgLTcyLDYg
Kzk1LDcgQEAgc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgU3RvcmVkQ3JlZGVu
dGlhbHMgYWxsb3dDcmVkZW50aWFsczsgLy8gV2hldGhlciBIVFRQIGNyZWRlbnRpYWxzIGFuZCBj
b29raWVzIGFyZSBzZW50IHdpdGggdGhlIHJlcXVlc3QuCiAgICAgQ2xpZW50Q3JlZGVudGlhbFBv
bGljeSBjbGllbnRDcmVkZW50aWFsUG9saWN5OyAvLyBXaGVuIHdlIHNob3VsZCBhc2sgdGhlIGNs
aWVudCBmb3IgY3JlZGVudGlhbHMgKGlmIHdlIGFsbG93IGNyZWRlbnRpYWxzIGF0IGFsbCkuCiAg
ICAgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrOworICAgIFJlcXVlc3RPcmlnaW5Q
b2xpY3kgcmVxdWVzdE9yaWdpblBvbGljeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBm
NGZlNzJiLi5hZjI2ZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxs
U2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdQogICAg
ICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKG1fcmVzb3VyY2UpOwog
ICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1
ZXN0LnVybCgpKSkgeworICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVy
bCgpLCBvcHRpb25zKCkpKSB7CiAgICAgICAgICAgICBjYW5jZWwoKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODk4OWJmMS4uMmRlOTQ4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0xNjEsNyArMTYxLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENh
Y2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoQ2FjaGVkUmVzb3UKICAgICBpZiAoRnJh
bWUqIGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlmIChmLT5sb2FkZXIoKS0+cGFnZURpc21pc3Nh
bEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6Ok5vRGlzbWlzc2FsKSB7CiAg
ICAgICAgICAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVy
bCgpOwotICAgICAgICAgICAgaWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNhblJlcXVlc3Qo
Q2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwpKQorICAgICAgICAgICAg
aWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6Oklt
YWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclBy
ZWxvYWQoKSkpCiAgICAgICAgICAgICAgICAgUGluZ0xvYWRlcjo6bG9hZEltYWdlKGYsIHJlcXVl
c3RVUkwpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KQEAgLTIxNSw3ICsyMTUs
NyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdAogICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2Vy
U2hlZXQuZ2V0KCkpOwogICAgIC8vIEZJWE1FOiBsb2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5n
Q2FjaGVkUmVzb3VyY2VMb2FkZXIoKSBpZiB0aGUgcmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQg
dG8gY2FjaGUuIERvZXMgdGhpcyBmdW5jdGlvbiBuZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAotICAg
IHVzZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2Fs
bGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMs
IEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpOworICAgIHVz
ZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJh
Y2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFz
a0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9y
aWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKICAgICAKICAgICByZXR1cm4gdXNlclNoZWV0Owog
fQpAQCAtMzAzLDcgKzMwMyw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5z
ZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGZvclByZWxvYWQpCiti
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRp
b25zLCBib29sIGZvclByZWxvYWQpCiB7CiAgICAgaWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgewogICAgICAgICBpZiAoIWZv
clByZWxvYWQpCkBAIC0zMzUsOCArMzM1LDEyIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAj
aWYgRU5BQkxFKENTU19TSEFERVJTKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNoYWRlclJl
c291cmNlOgogI2VuZGlmCi0gICAgICAgIC8vIFRoZXNlIHR5cGVzIG9mIHJlc291cmNlcyBjYW4g
YmUgbG9hZGVkIGZyb20gYW55IG9yaWdpbi4KKyAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVz
b3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luIGJ5IGRlZmF1bHQuCiAgICAgICAg
IC8vIEZJWE1FOiBBcmUgd2Ugc3VyZSBhYm91dCBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNl
PworICAgICAgICBpZiAob3B0aW9ucy5yZXF1ZXN0T3JpZ2luUG9saWN5ID09IFJlc3RyaWN0VG9T
YW1lT3JpZ2luICYmICFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVy
bCkpIHsKKyAgICAgICAgICAgIHByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSh1cmwpOworICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJM
RShTVkcpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZToKQEAg
LTQ0Myw3ICs0NDcsNyBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZQogICAgIGlmICghdXJsLmlz
VmFsaWQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAoIWNhblJlcXVlc3QodHlwZSwg
dXJsLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCisgICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVy
bCwgcmVxdWVzdC5vcHRpb25zKCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkKICAgICAgICAgcmV0
dXJuIDA7CiAKICAgICBpZiAoRnJhbWUqIGYgPSBmcmFtZSgpKQpAQCAtOTgwLDcgKzk4NCw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50UHJlbG9hZFN0YXRzKCkKIAogY29uc3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zJiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hl
ZFJlc291cmNlT3B0aW9ucygpCiB7Ci0gICAgc3RhdGljIFJlc291cmNlTG9hZGVyT3B0aW9ucyBv
cHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9y
ZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVj
ayk7CisgICAgc3RhdGljIFJlc291cmNlTG9hZGVyT3B0aW9ucyBvcHRpb25zKFNlbmRDYWxsYmFj
a3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNr
Q2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdp
blJlc3RyaWN0aW9uc0ZvclR5cGUpOwogICAgIHJldHVybiBvcHRpb25zOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4
IDBlNTg2ODguLjQ3NjA4MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAg
IHZvaWQgcHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKICAgICB2b2lkIGNoZWNrRm9yUGVuZGluZ1ByZWxv
YWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRTdGF0cygpOwotICAgIGJvb2wgY2FuUmVxdWVz
dChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgS1VSTCYsIGJvb2wgZm9yUHJlbG9hZCA9IGZh
bHNlKTsKKyAgICBib29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtV
UkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBib29sIGZvclByZWxvYWQgPSBmYWxz
ZSk7CiAKICAgICBzdGF0aWMgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBkZWZhdWx0Q2Fj
aGVkUmVzb3VyY2VPcHRpb25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5jcHAKaW5kZXggMTg1NTg1NC4uYzYzMzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkxvYWRlci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBJY29uTG9hZGVyOjpz
dGFydExvYWRpbmcoKQogICAgIGlmIChtX3Jlc291cmNlIHx8ICFtX2ZyYW1lLT5kb2N1bWVudCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChS
ZXNvdXJjZVJlcXVlc3QobV9mcmFtZS0+bG9hZGVyKCktPmljb24oKS0+dXJsKCkpLCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBE
b05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlh
bHMsIERvU2VjdXJpdHlDaGVjaykpOworICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0
KFJlc291cmNlUmVxdWVzdChtX2ZyYW1lLT5sb2FkZXIoKS0+aWNvbigpLT51cmwoKSksIFJlc291
cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEs
IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50
aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlw
ZSkpOwogCiAjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKICAgICByZXF1ZXN0Lm11dGFibGVSZXNv
dXJjZVJlcXVlc3QoKS5zZXRUYXJnZXRUeXBlKFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNGYXZp
Y29uKTsK
</data>
<flag name="review"
          id="226687"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205227</attachid>
            <date>2013-06-21 16:54:04 -0700</date>
            <delta_ts>2013-06-22 09:07:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>39454</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhM2JhNzYxLi5mZjJiMDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgYSBub24gc2Ft
ZS1vcmlnaW4gaW1hZ2UgVVJMIHNwZWNpZmllZCBmb3Igc2hhcGUtaW5zaWRlIG9yCisgICAgICAg
IHNoYXBlLW91dHNpZGUgd2lsbCBub3QgbG9hZCBhbmQgdGhlIHNoYXBlIHByb3BlcnR5IHdpbGwg
YmUgcmVzZXQgdG8gIm5vbmUiLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1
YXJlMTAwLnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1p
bnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTA2LTIwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFtXaW5kb3dzXSBBWDogUmFkaW8gYnV0dG9ucyB3aXRoICJ0YWIiIHJvbGUgc2hvdWxkIGRlc2Ny
aWJlIHRoZW1zZWx2ZXMgYXMgdGFicy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlcy9zcXVhcmUxMDAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2N2JhYmI5NmQxZWMzZTEwMzJkNDc2Zjhm
N2VlMWZjYjJhYTQ4NzUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEyOTQwCnpjbVY7N0dJUHl8
UCk8aDszS3xMazAwMGUxTkpMVHEwMDNrRjAwM2tOMV5AczZhTj9DejAwMFU+WCt1TCROa2M7Kgp6
UDt6ZihYPjRUeDA3d207bVVtUUIqJXBWLXkqSXRrNStXY2FeY3MyekFrc1RYNiREWDxOcXxyU2hK
Kz98TDxMM14KejVoKyQ9UktOajhoYXpKfDZicGxiViVHYHM1S3pYIVFBOT1NLUhkQXFAMnhmUy1r
U1ojUz5NXmB4N1hRYz98cyswCnowOHNwYjFqMk0hMGYwMjJTUVBILSFDVnAoJWYkQnI3IVV5dFNP
TEp7V0BaRk9fKFRIS3tKbE15blcjdnt2LWEqVAp6Zk1tUGRFV2MxRGJKcVdWa3M+IWtCbkFLcU1i
JFB1ZWtLPj8wK2RzOyNUaGRIMWpfVzRES2RzSkc4VWw7cU8ybjAKeiNJSjFqcnsqaVckKFdaVzxl
P2ZfJktiTmtve1lPdC1rSyVocWxeVGhUJG0tYFhRTy12V3haNU1uZ0hlWkRBVXZVCnpvSjteUDZx
I1NsPU8mP1NpODRoTDhTYVZsMHNzaDwjNXVmajR2WUNZWHIySWdyZjF9ZTFjXnl2clYtYmVZMzFu
MQp6WDhRNTdRfjY+c0UwbmBjO2ZRIWwmLUFubWp4Wk8xdVd5emAwVlA+Jm5QYCNpdHNMI2BTPVEh
Z2BNPXJVOSk0NSgKeko7LXxkUnEtYjUmej9ieW8+fHspPzVyPW43NkE0blRBTGxTekxpd352fjMx
Sjw+OVBQPztyczMxcHVfKG9idylyCnpZK2pQWTt0VkdYaXxwKWRhey1AZ0UtVUNhYD01ZXUlRDt2
PV9uRko/YCZLKXE3ZTlkYE5mazM/TWRoWmFyYnxUMwp6JW5TfmYmdCgxZzVkWSlBSWNkJHchemBT
aXohJmpfPXY3aFpsbkkyMVh1RXx4Zm1vMChXRDEwVCkhfX5fSFlXIWUKemV3fUwrWG13dXplVDZ3
dHhKZGBkWiNANypCTGdJRUtZOVh2PnN0XnAzZHB7Xlhzd2EyYkJ7ODV7XiRCMTN0V25CCno7WT5q
eVF8OSZ6azdSTnNxQVZHcy0tSyt6MHVxbzFiZjV8fWZpNXJ0RU1OXkJmSFFDZC1YSCprZkpoSm5t
SUUkRwp6MCU8QDV2T3p4QjAxODFkKmEzRWZZSCRHNWZxS3ZjUEolWFkyMyFQSnp6dUs8NDFoO0sz
V21XO0ZhaDN5WCRYU3cKejVFWV85cypvMD41MUImTjVGMSh1Y3wkPV5JMX5mTEx5Mz9PbDBmOztD
YTQlSGdRfXJKUChBYmBiUS16e1U0IzBkCnoyaGJvaTJLQG5qZ2J8bm0oX3N6UjBKZWJIdXNhK0dO
NWFlQ00wZ2RQMk4lSEc7WXpwYEpgVDZTN3ZVVDUwNCMtSAp6IWpsTDwkT3I/YE1weV9OQGtCejlT
Uj9AdkEjMEgkcXluaSRudmYycDhAWXswayNYYiQyOFc/eG0+M3F1OFJMZ3AKempOeEtkVmIpP3dG
eDhsMm17dj58PH5DKiFHbEJWbnJERH53cmRUSmVLWHdUPTV1MSVJIzh6T0JVfFg9NHU+O3MpCno+
Xm1GfCRHe29sOUJfV1A3K2YtTEhMZTc9NTcmJmxmYX04ejtVQDhUeWVpJWw/fTg3KGJNUnQoQS0p
UUs5RGczKQp6an5+WHJDeSl0UjFaI3AxQShrS3tZJFF8PThWS2hJe2UlKDFHKk4tNVBqbilONVA4
STBWa3huWCpnP0VXOTQxYmEKejZpSjM4N2c4aUNuWTRqYU5vcGNwQ09zeS1BKFAyRVdKaHVzU3dM
UC10fFhyelVuTEtjS1R3bj9DS09MZjk3UkllCnpQQn1gc0t6VHJVTCMwdjtzQlk5KXMraFcrVDJI
LTFlTSleVk4wVCNgXk94aHZ0Jl4qZlluQUpsZG5IZWwqT3p5Zgp6VW9Ne35VbTxAPXstKnI2MCNV
KDAhQmNed3V2VmMpO2szZCVnLUohNHFMcEhaVnd6JSFWdVJ1fSNaZWBebDdXKTkKejU+S2Y+PjlF
b3pyNkMkWikxYFVSeFVAflFJQClGMEZkYXVYcjJFczg+QmFPUD0pTHBfV2hHQD48dFhKRzxyP0wp
CnolMkVjeEZrdHZJUVc+UjtsWj9CSmtNbEk8eHpGUnorY3ZMaFVqTXUpbUg4QGVEdHdoOW0xZE96
bTUtYFNSZDNaNAp6KXQjenNzISFBflk5P3g3WVQwVzApaD9AeiYhXjlLcDNqfE1IMj51TWh3OEFw
aUYmeURZVzJoRko/Zkpobml7P3UKejg1JmdAbW8meVQ4SmNkSSQoclN3PVFQSyhYaiUpazFYfEA8
PWUxcmltNmA2JFJBd2MhaSNlZ0t1STtCUyhMU1d6Cnp0MzluX3NJeXBTcWZXRVY2SjMlblRRQDxz
VCg/dHFMUWhMQ1NUQTMlUVNZSFhRSjx9IXFgeWJNVFl0KkgmPi00aQp6aSRSO2dzRyo5WHpoUnpY
cXYyeUNzKiRWRkR4K0dYSkh8TDt3c0RIX0tJMjtedSEpXlhsMVl1cE87Z3leLWMoP14KeiYkUTFC
WXZ5UHNHXjtoYyREKipAU3lgK2ApfVQ0VkpqaV5iZDdKcXczcTZaaWk9N3RUN0dFc3dFS0BEKEVG
VzFaCnpTcGBeYXdDYj8+IWBqNH1ZaDdifiRBKVUtVzMkZXQtUjhCZXNWKDFqendMY0hucTlFbjdR
MFRuJi1NPVhCS3MhJAp6RiRYPHxjISN8WF90PG9IRDclRHgpZS1DSDtrZUg2ak49QzxkbmQ4ZU52
R2VQUzxXZlc0Ykd6cjM+V1loKUdaaXQKeihRKUNwOUNERV5XRzsrZmN5T1dBUm9qKjBUST40RVAx
bFgqY0VvTU8tUGs/WntrWiFwNEAoYmBNfmxhbHI8M096Cnoma0o2Tm0jPGZtU0ZnOHtfaFJwQUAy
NVVHSzhaZSFKYD11bnpOPnZOXytrQTV7ZFc0QF5WamdfYHElcVUxVUxrJgp6M0ZyIT4xViNpXzJS
O2lqMkAoWiQxakU0ciFNbFBWRlZiSG1UK3xpPExpfEheZyoqdjAzfCRyYWF+TGl4R157NDwKemRB
TD0wZXQzNVRFbi1EUEwmVXBDa0kyJTxNfmpVWE9CUSFWJHckUlMpa2pUNWRxdE47T1A1JElTK25G
dWo5UUUhCnpyYWN4UDh4P3liYzU8b3IoJW5tazxMdSVKPEwpanFUJFohIStIJHEhc21zcjxrWUIt
QmFWajFnQTA2S2l8QWBhQQp6c3BVK3JeazJEbTxwa0gweU5DT2Q9Zio0TmpxelJoVyZEdUBteFF1
fShMfFRUVTVSNSF1MU9WMTt7czFYd2N2SEsKelUtRShFc2cjaEVxYlcwfihXJVg4Z3RZankoP1RV
LWltKXFQR2QoQjBGVCpzV0ZoamJeWTFRc2s2UVYlVGt4VkZhCnpTIVRQS2p7WiNiTlFAKyNDNCpU
RHZ1ZCo1WEdkazklMkNWXz1KZSM2PFpqQ3kkQDl0a2VsPXpfY1hlbUpjSyhMXgp6IThQdHs0eX1k
T3UzWCE+UElxMHd5NWFTez55Sz85WkFqVmglU093TVdnRmphaXImO3dwaSF7Q1V9JkBOPUVnI34K
ekxRJnpwRXpWbUdZe2hJOVowKzQ8diNufnxtbSolI148dkI3aXNEWnQrPi0weFMkJFhlLU9Ub2M/
WSpWO3JUY2ZfCnpiX2pSZS1SWmpYU2VhczNVZkl5RDs5YWZkJTxgaTB4NFQjRHpFKXZkYWJPUT1r
N1NSdUdOYGg+TzBRfjEpdS15RAp6PlZYPU1uJiFSZ2QkO1lLK1EtfTF6dSM/dCgqY2JHI1JvbmY2
ZGImTiRvRWlkdHdDK1lWY2ctWSFfVnVZPmJrI1kKemVfd3dAP01VJkYmcXN3dnJOX2RMYj01bzYq
RWdzKWxzM1lSbEUkJilhbVIxeztQcGQkNlJZVl5HbyFpcTFVTWwlCnpAIzRxJEFNYyhGSmxUMVFl
WDhqdntoIyk+Jnt+UkdxMU4yaWlNRklSWD9zazItfDJ3VW9nS357RWtCJDhlRHNYPQp6blZQZjhY
R19uSyZKfj1TSWlHaWFAPFBVaUByI0tVaGROaHVLRHhCeih3KGxidUhNVW1tIzwjJnhwSng3ejVE
IUMKem0jYiY0SWJBel9vcWZJU2hXKEEhOT1vMkZVK2pLcT45eX18ejNGaFh7ZyZnY2o9bHdiPWxX
Z3lGVyZhTGVkVWgtCnpvZmB2LTJLdyRVekkqPigrJiRAaS11PS1Cc1NqUjElejhOZVgjSGRDPER3
QERQYiF8T0tkdEBNX302QnN6NFl2JAp6Kkk+YEhoLVooNnhJLWBobUhEcXYhdilXJiZucmY+TShS
aGNONihEO2pOTiolXnVfU1lqRjsybmd9KjhPdylkNk0KenREazslYEBMc2skOzl3JChkKEglTzVV
aXhJcmBUMlpSY2RAPGtOUilAMjAxVS1tQVZwX0pSR09gKHlPU2s/SEpECnpfKW5GZWpYIXNNM0g8
VlNDVChXcy19aSpgYCFZSU5lZ0ZVZjMyO2JSYXt2R2Y2OTUxVTY5RTk0b0VRS0FDLUYlewp6S34j
N0ZVRVNNYFR9S2hkQCRFaDFXOS0tPjdEVkM+ITleNUFCSm5oYzh5O29lKnltI3NvQW9SRUtRMnY0
P2U0Q18KelM2QH40VDZAcGZmbT90N2BNO2xrfE5aeVZ5P2dnZzdaKD8md3tQRWA5ejF3KGB0YWV5
PjNsdylLN0lOJGBwPSZ+CnpwWkwrO3hwVXxBe3s4I1dwQU1uRmQtdn02VDM9cFhwN2BJc2VmdHs2
cDhXQzBBRSNUbFpqQkZZU2lrLUQraERQWQp6JEFnNHIlfngoWEBxJU03cEk5UjJ5TGEhVjk9TD92
bm07QDRiWHlONnlsVW5QUzE8NCtvMH1NV0s0UmQoRnNlbF8Kel4pJH1rZWZRbno8SHdLVlp3O0hv
XzMlM25zRnxaI0w3SExNT0o+K2hDSyRvJmgjKGchR2Z9djs3KFJyYiEhc0tkCnpWK35oNmdUSUUq
bzkkdVEtQGt1PFdfV3lTOTZtSyQ0U1pgM1UhMUVeOTl4KGduQCVva0hrQHxUO204OUV6UU5afQp6
MyhXR3UhR2tZLUphS1NQYTJ5REtHSUBibU5TdlcwMENHZVFGfkEwKGxHQlVmTCtKQnw0P0VrPW03
ZkRyNVpsSD0Kem1AYUpvPzV8KEg5JGlneTJzSV42NDxBMDlnVHFIfGM2aTxkIzZEa1ohY1JWV3pK
YDRDSU01UnFUXns7dVlTa0N+CnpWRGkmTGFkNj1BYVh8ZCtgT3o3KDJqO3tgeig2P0s2VCRZIzNZ
NEhrJGQpTWJWKDhmRCNDOV95MG94aWpLVFNvewp6SSlDeyhPZ1kpKnIrMzNoSSV9OT40Y008PHlf
JDlQej9NJXVVVUdJQl8qYWAoJDwyS0gjSHIpV24+UzxNe04kRjAKej8kTSkxUSU1eT5PNFFOOClZ
dDZ6IWU+N3QyOGgmKi00SiRTP3BDbiNyNWxqMWAlWWFWamJkfDRfKk0rUEg5Y2FBCno1NFUqITIt
YVpEOyR1X3tVd1BQUzdUbkZQZ1d4OSlabmVeaHFjaFpFSTMoRW89OzRKYWV9QClram5wSWRXYDF6
IQp6KUZ7OCYmMWBzZ3NwI30tXyk1eEhWbCQpU0kwNmsyO3E1UUVCJX4oV1lqJWZ+am92XklNel8t
a287YF99eGsxbkYKemF8NT55bjchc0l1dHZkR1BZcDl5bzRVa3g3fWYtTCFWbCluU2VTZy08RG5N
NGt5bEpMY1BaJWZqb19+ekZtTXk9CnpGejhgdGdFZGJHQyhhRnpTaW9rQCVUYGY+T1U1PX0yVnR7
KUIqY3BHbjNzSVZ4blR4VTNOQlZiKT95V2FxcVFjTwp6YFFzKUo4Kks1Z0coditDe3pReXNTOHEy
TWhGcFpMU3piMXs+ZXt2T2tzcjJMdVNiV0s7S1FHbylzeDg0PWItcH0KekN6bjRFaldvamNMPSV6
R1JKdz5FZkRCK2ErYGJxJWs+c3hebT5NTDhqejVBNXMyT0hIPzFyM3R0UHk1NitMeCFNCnpAbnQ5
U1M8QXlOMjNJKEVlKmdYVlY+ZWV2YXFRKDFReXYoRTROcjNpTURORHFPam1DQyNLRTg9YWlXOGRj
TzI9Pwp6OUZaYiE3dmIyY19Iemt2MFJWdlY1b2NZcDIkO28tRW9xbyQ0SEloPyYhM29ha2ZTezgj
R1opcjFRaEcwWF49K2QKemkpWVFFR3JCT0VYNWlzWHo/VXVtWTduRFFebkIjU0E+TVJFIXtPUEJ1
QF9AKip2bnhMTHY5Q1h1VT5YfWh2JVJFCnp7STRxcGZFcHtuVVNjMzZsQUtQRXhnPm5qblFPSzxT
UD5EPTl3RzUwZF4yJX5NNFVvM01VMi1BVlclXlQhQnRNJgp6OWdLQ3BjK3pXdC0wV2lHTTkmQCRF
Vj0wVFglWlZ1R2Q8cStGeUlzR2RMUll7OCRXdGpJRWcyR3N4UkRuZEtONkcKelF4Y1JqOWxMb0st
ZjMyTjxVMkB2V2NWMns2KDZxS1ZOSGpTTSZaRUVZZlFZSFpWJFZJTDcxTWV7b31gdnVrQ0V+Cnpf
YHFTcVRXJlZQOXVeKDNIdD1aWFhPOUNNIWA+a0FALXElIWVFQVNoVFJpRjVfIUUxKlgtJHU3UFlI
YXpmTyVHVQp6Q3lxMmhra0hjc3BhVUVNYFUrS35Kcld2WUY5fV83X1V4SyRIc316PSFKZTttZDY0
WVRAUFMpbClAPU9jRzI7VjYKenV7RFJFV2ApQn5VMW1DWWBHflhVWWI1TSk4dGloaFM2M0hMa0xy
T0soeVNnZkwhN31NVSFUK1ooQllncGNPeFF9CnpsUiQ7aDY5Q04ta2B5PiVrKXhBYlY9ODJtPnJp
MzloNnt0ZmhSY0khTGp4VVZgUXlTYTRuN340WT0jRCEjcXJaZgp6d2VwRXVkSDl3fjM/RFZYIz84
SzVYMEBgcmZicFd8MyhMU3NvU09LVExyPlo4QHApK043MGhxR185X0lCMVpKZUkKeiY3N0ApMFhJ
NHpXWDBCMGsxXyR3UGhyK0lueXkxYlVNeEVAXzZEQ0M4I1d5ZFZ5KSNmP0Q1VEM/KT5vOUVJI3RY
Cnp0YDIoSzJ3Tzh1YXEmXyFmcXx6KGxzYFJ4YHUyUnwhZEJoWjt2NWAqPnZ8KHJqNHs3KnV8VStS
RE5hJVZQUzBGfAp6ZkolYjZIRzhfJiNaKE1qMVReTFAoTDlMQk9RJTYlPFJBemVhT0w1SG0kZD8x
NmdtYWteUXszNlJ+KlNWS0o/WEUKekwqVTJAbn5vaXhMIWN2a3RsOVk1JEpma09AOWVFe3RlJjFt
SjtzVW54a1d5Pzs5NV5fNzs4S2Q1c2pGbEM1I0F2CnpWczhLeHF1M2ZxNC0tYSQyKGxVbSYkXyU3
TlhMJm9BNlJzWFk+MzBQOzxDZU9oe0soKTFMcCVELXh8KGA7N3YhJAp6JkRIXl5GVFY3Pkw4PStB
eFVrQz9wNGZVQ2p5KERCY1ZOVyY3fmdLQzFSNTVZQnU8cjdNMig2I2VJSWYpMX00NEYKekFfNWx+
RiZnRzMpSHBWTnszRmhmOSUpVW5IWislTFBSJHl7QGRzYSthT0NIJlA8dytkOUJXT3FodmpoTDtW
OyhBCnpSJklIIyR5IWcwOWZ6fCNeZTxrIzdfUkR9PnNLaUo7bEBSdEV7Uy10bWw5RGozTUs7UzF0
UFZCKyZYKU0tT3ZuKQp6eCZkJiteTXlxdSlQI3gmbFp9NzU7ZlpzfGBJeUM7PDVgcEI8bkpRTWk3
eSt5U3huKyk8MEEqWWFifkJOIXkmM2kKejkxZ0pRaW1BekI9PXhRPU9WJjtJUypsKX5ffjJFMikt
YyR1PEJHUkBYOX5fcFI4WS1SSytXS1hvVmBOMmtzOEZHCnpveGExUWk7T31lKXdjPSsqZ0szRzJj
dEUreTsmWiFrJSo8MlRhTk08azF2MC1DYiRlV0wyT05sbnxKfmZoOFJ0dgp6Jm8+fFo+RXpXNWhh
ciEzZEJwMT47Vi05TEZ6bVk9XmQwKVNnTlVIdzZkez5jaVF0LTEofisoNWZiOWBPSyo5Km8KeiEh
NTMtcXZDM0FNWnNoZlhPTUUmMERTeT9nVzBHK3Y0I1doTiR8bDV1TGpvP2FxI0k0ZE9CUFFPd0Rh
d0trKCRRCnpkNH1HSmIhY01RPGZIM310eHErKXttWWp4cilQWXs1JHBMfjc2SiRZMTYrfXVZREAp
YUU8Mkt1YX1mMyNQRCl9OQp6dngzRGMzPVYlaiRTUjtGenx2R1A+X2owcmghQE1BT0A2JVQ7PXM/
VkwjfWRHcWRrOE9DNEdqZUMhUlBNYWAxUTEKejwpOyZtNkU1PElCbDQrLTUxc24/V3Qrd0UyZD90
THRXSSVmMXFpQXJQS1hlVyRQamkoWU1Oa1ZCNTZqRjlZJXl8CnpoOClDZkFrSyZJNWZeY3NZNiNx
WGFGRXZeQCpDbHFhaURgPXRYVkRlMzE0fjNPPHp2eT9PKmZoPCVUV1pTYDVEVgp6IzlkQXtvUVhD
NlVUTmplMmU8ak1eVyRJdGVOfTtpQlotaWBMOzxwQ3FGS1VqdkFzajYzMVRGYWd4LUs5SWF9bisK
ekhBX0EqPn5lVHclck1Nc2g4JT1tSlB0NG5jNmw2WjlMPzJZUDE9aXJRO3BgRCY4TkVKaTNjQXhZ
WFhDeHlyZGxRCno8bGtXOS15VipBeGIqWChFfV5EdkZvMUxzSFk/YW4qam9lWUAjUH55TTRoX1pa
eTtjfU1kR2MrNjg+QX5IUDgqagp6dDc2MWhIX0stYmIlYyElWSZGT1lwQzZzTUwlYURJK1R+PUFR
KV5oblR6elZWVW1kdjcpZkBaemkhKShZRThIJG4Keip3Pz4wMFNaTDBTd2V5XjlrM0QhcDA4Kn1H
SnlRTUEhM2sjQ3lyPTkqbF8qRGtqQis7X01NfDxnKU51M3hiVX1VCno0QDExQjszeit2NW9pMiZq
dCZiSjtZLUlhWTwxJHpyd2hvSSNHfExWIUB3eW5ZTyZ0PUkjN0lJYyo8TVBaK3JJKgp6Pk0lTW4x
Un12RURHLUl5XjgqK0dXY14/eTBlXzlKU21aUVNnQjF1WHtPfiNxYVdNSWEoSX5tdEUyMnhtTT1x
bV8KeiNSckZNY3YtX0NhaWA7M2xra1goblcoUnQ+RU0hYm4wOyNzM3ZWXnx3ODxxZTllJm5nKVd3
JHs4fnVVdGpaZyQ/CnpVOyZaUUJ0ZH45VyMzbzBLenB4QykmWD09WUE3MlYqaytfaiYxV35fPUt3
WCQrIyN8Vl9JJllJOTZ4SVo8UW8pVAp6WlpUVW92SFd0ZiE9PFleKTx6ZGdvKGA+czskM3tiNkpI
SldPTzNGXm10VzU2ZldlMXV6VjxTQio4Pz4pam5OSE0KejZhb2V4YjNkTyVucUcxXmghZ3Y2NX1r
c0h3ZDRkPTFaJCp4SE5WRTFZZzkjPFlZMHJkO2FjT0t3MGA+Wj5HZmdxCnpze3Z8JmpYTiVlIV43
PlN1JDdBKSpKfE5nWlF8K3EhX05tN2VObXF0KCEtSXZgTX4oe3AjJDZqYTFzYyM8VGFDegp6KTBj
PkBXV2VwJiNkSSpSdG9hZGZNRHpJN1huTV54OCptV2goPUNnR2M+SyFhQChfTT5AbFdxKnJTfXhx
Yz5lT3EKemZ0dzQzQ3RsPz48NDVHPFhUYkZYQ3AlOTBpKVdLLSRGUmN7JVVeeFBeMzkpcV9KQXJQ
MllaYi0xNSR7P0xhWVFECnp6KCR1WkI2UHIhPXJHe1lAdWpRYl9JfV99eExvcHQmanpidip5Q3lx
UFhxUm9VMlooZUZCZ0FPQHFPbUdiaTJWRgp6ZkxWU3kjMXFgOzlIZStQaTtXWVRJNXVsSmFsPVZY
dTxEc1RVbyReR14zYWB+OGx1MT4mVmRmRkFUdDdsNThvUE0KelVqZHE2Jjg3Z0BiVEFCWTUkMDJA
QkNZQTxIcElkamwzKTRKIUdRX09VTEoqdEg+YDtgSTJzbUA0JXxVI0t6eUcoCnpjYH5gaDtiNEBQ
NF97YXtPK1R6UCsqJUk4N1k3e1diY3lOZ3RKZlRORzVRUH0mZ0E1NUteUClVMmkjdEE+d042QAp6
ZnppWEVIeHFWeUwmTT4qQXJsRX1kT2tIbUwoX312PkdLYTQyITlQIzA4WnQ+OWZuNUdIUiRBSl9k
QnJzKU1jJDwKejlVXj9xNzM9Mzl2dj9mcDM7YiZGcz5VNCNLWX19NHpYaXQ4bighbEg9bzJ+R3RM
TjY9ZSlgWDZVPGA7RzU9elhXCnpicFVrMGBEPDgoaTZhT1ktRmdMUHZ6RU0+emooUiQhMHR3fFJm
SnB5VHp2NTVFMmc1WTRjTFl6bigxbTlqQncpLQp6RTxNYkEjQWVmRVBqKzB7OUFid2JBS2M+NE0t
S1QoYy1DPGo1NC15TFU7a2hUWGNQeCY0JVY4QWxtV1FZP25XckkKeiEhK35aRDxTRW8qQVFfOEhZ
XjQ1U0JQMFkhVWlLdzYlKCR4NzsjPD1nYnFnV2JSOC1pZnJWPihJe3I5U0JZWCF5Cno7UU80YjdP
YD58dW5oNUwocHNEJDR9U0ZhJkdMelhnUUp9RF5hJHZyRylOTiFGX3hldDlZbjdUYFUoayQmaFdA
fgp6QF5ESlopKitVUU8qMGcyVGBfY3NjN1dwOCZHaHsyKzR0ZCFRPj49KWxhcF8yZThlUHQjbHV3
eFVwb0hqYDFWZ3cKeilrZTxgNCZKVGhzeEJEKD9CU1k7ez9RWnVgczg1ZGhmQ3hRZyRYRH4wQjck
fkhYP0Q0c3lSQDR6TkYmZChEZk9oCnpJN3RhfF9JJX01bHkmM350YnVVYSVUcHVpIzMrdWhlU0c5
M3tMfUgzbGU4OD87JFYqaGRvXntAYUhuSUYmKXpJbgp6NHhfcVkoQSlFMkd3WStpc2k5dWJgNU43
WXk3a2txfE5BVG5GJFpRUWZQaj9UT25rIXQwXkUpMTsxcGVoaz5ZUV8KencpZ2xHdjZ8aTJYKSlJ
MnNXRlAtaGQzV25RPl4yfHBIRUhqYmlgWEQ8Ozg2ZSpmX3o1LU9jNmlQX3ktJDI+SWxSCnpCT2M9
VG02c2haRjhRPFpsaU5ZP3c9UEQwZG9xNj9xQigjRlhHMm9KOUlkLWBiYlJ+VUk3UlBiVklhZGxP
entYcwp6TzV0IWooREs2Tyk4MU9GKFZfNms0fkFTQ1h4X1oja1lCOHVGUEhWTU0re3V6UXNMYUNn
aF5ePCpmOGl8PDU5b3QKelZjRTtVIypkVTJrOXQ3SXpxLVBsNHxRTV5aV1dSfVBRVkVlZFB4OG9l
SiFrazNLN1QwWTtUUShue1RhUFl4YzspCnp1TC1jXi0wfCMkOSMobFk3JChtMnEjcUxUZ1Q8fmsm
OXpwOEkkPzx5JDQrbyM3WiozVj48eGI2I0tVcUNgT3xnQwp6ZVdqJSpAWilJYT1pdVI1JElGX2B7
Xl5ndVVQK2plcHs3ZSgwfEc+PmhGUX1pVyMlaUVNODBDV2FxPXxTIzFYTHkKemZuOChSO3Z4cDdu
RWgoZ1NvJTEkKShranNIOUlAfXV3WnV9KV9tM01LJm9yVjllP24xNytwbUV7T0lCQjcjIW5hCnpo
VDk+QlhSZFpAYz1uZTgzZStAKG5DKzFfT1NxRztTQnp3WVVrVWlyISFvbFdNQnBlKUppVD5JVmst
YFk9Rn1LfAp6OHIjOXp2JnEzMW8mISkxOTZDWXxsYipsJEZkWmdkZUU4RkFJM0Y/Z05xZH5pNXRu
TF9tKjchOSM5OG1XO2xrK3gKekBLZWlLVkktMFFJZUhaVWt9TUc8RFpOeyYyKTxAdTNaJjtwJihH
U1pGfGUjX25pOzcrU01hYld0JGp2eSF7OEc5CnolRlBkTmBBQlBkXyEjUU01MGBrY1BaTiQ9NGNU
Rl4kPU08RWxaVmpiKmE0S0lgb3AmbSQ3UFpPWiNlWXFeeTJOdwp6I1NoMVN1cDxGeSR7YVdlUjB0
Y1hpUG48eEg2eDg2KHQlJG1JNH4qelVieDUqZXg0OUVTY1pNVjkjJVpyQC0+VUMKeklyZWdGSk82
bThyIV9vMCNGbkUydnhtVjNVeWJWMTMrcmx1IU90OCZgMjU7aSVQWVBNLT00MmdqYHtsIyVAbXsm
CnoybnRMVyhGemV2QjsldDFVfUNldXN2ITE/NW9nYSZlRXl5ZU1SfmYyYypLamRyVzAhcnY4fihK
NzwyaEd2YGR5PAp6RSRuZGRGdkZAd14mMiV3UHZsYz95ekpyT1cjRm1+dnB3QVMhQCl6MmM7VXBK
KDJKWElTdkNlaF5ZaUQ9JDQ+d1AKenp6cGs+QlR0N0VAKDc1UCRlIT9GTX5KTmshbG1RSyQ2Pjx0
SUdlQEw/SEtzc1hvaGBwOGlmbkhjeTxINlQ8cjNnCnpWZiF7X3BGY2x3Rm9fcztxOD1nKzl+fGti
MSV8JGA4VTM3OXt0Zns/S1I5JV8oOCo9KVFxR0dARnQ3K0FPczdiPwp6MnVjbyZUQGllVW5VOTJT
USlfd3pWOERrYjl1QmRsNlE9PE58QXZOPjhwalMoMFNYZTIyVyhHUU1lKyN+N0NYVTEKek8hI3A1
O3M3JX57UTBvdUZQPE5wTEM+eXs7cXN3fWc9X1dWI2FCSiRmYE5OXmEyYypab0h6d0FMNGxUKEJS
eDxjCnpeZml6ITNgeXVDP0tVQ2NmYnhAdkBQa1lFISNDNk1TNz9SdDtWJjx7Mjg2QGM5PTx5SU95
SXwtOCpVOXg0bWtFPQp6SExIZmpreCN5SFJKVEt+Wm4pTmM7byMyKU1pJnx2TGVFYSpzI2QoPSE+
UFpROU5pe14xQ2pgOUJ5YSF7UkE0dEUKeih0UH5YJmNEWGNESHRYIXIxXjs5ZzgtbFdCVnxebzg0
bUApRFlxRHNlOzlufWE0X1ZwSVhmMzBJU0ZqPkU9eyVUCnoxLXxzUyhzeih6YWJxV048JnY5LSlm
K2tANGhGMW48bTRBVktSJGVteT9GQSYmc1E5M2xtTXB7Yz8xTlFrKkh4TQp6PHRLZ0BsNUxZbFJG
bjc8ZCtWQ083WURhY0tIPyY8XkVMQV5Dej9AJTw1MUo9anJgPztZaFEhSHA9Wn5lPkx8ez4Kejh5
QCVrO1BDNXFvOHUmby03SFFHMkJCLVA4Un4jTHxONU9IQGB4R01vSUQqaExuNmZAeih5aVhAMX18
NiYrYXpsCnokSmQlYTlFcCpvTHJmdiF0anp9THdTfFdgamdicEt6UCVkNDUhMF9QOztCJXZ7MFV6
OzFkYyg8JWZJXlpsdGE5QAp6XjJDITNSYEBPcThAfWFaaFk2cGIwVXRqJGRjQzcjbn0xM3c1ZUde
bj5AfUJ8dms3UCZzSldZNHRvVns0TW8rPncKenZxITNAZ1B1UlZUb3I+Yk9hallMaHtEQm9OYUZL
PjxJd3I9eDk2TFd5NXVrJGVBKVRZeUNuMjNSYEYmTVByZHx+CnpibTV1bEpATStuIWBgU0N1YHVL
eUBhSkRIY0FIQ0pqKGk3QDRXUlZ8OXtfPiNDdVdVb0EyRUw3SFp+MFVGY2hUYAp6ZHw9cFg0IWZv
KyZSfVBZMUQjdGEyMHl2aysrY0d6bCs4WEt7TUdJa2UpTVczS0ojRzZ5WXBNfiVaN3U0R3toUW0K
em5hZ0YoNF8zVXspWDRecTlwPnlBSEhgPlI5QU59Yl8qaEhLaHJnTEZsOE9fPCktMmdnIWpmeDM8
aXZ8TGkkI3BvCno0OC1aZ14oNFMwOz08dHtYUzNtek41c2RPby1naC0yNXo7KUtAUHJyPFdgNCNW
KT5VRkp8OUREcWcoSEEjVGFhYAp6OyVwWDJ0WU15ZUl5ZWc4ZlErPiFha1F1Uj5JZSk3QUxRcl57
Pjg5fFNASFowfExneylNelBnRUZeRT9AQTl6V1AKendUSSgxNUdHeUM/I1pCb1E4VkU3RCNEaylT
dERUS1lzNWk1cVZeNldkbyV0eGgjXypvcT9jUGh6U2hLPUtSQHxCCnowQm5ZUT1LPjtUdUJubSQt
WnU/N3B1aU5kND5TQEg8VT1HY0RWPGtESFlESlNmbEs3QDttbjRFITNMaVdLZUh5NAp6NkNPWERl
OHVMXlA3a35LZE9DM21sZy04QTMpZGRzNHVMTnxXO3l1cTRJN18wIWZiOEUxdmI2aGFRVyp5ZCVk
IXIKenliJUBUd0VYJjZBXzdFbSFOfkE2SXV1fnlZUFJOeEFeZipxTGdGZG9Da0dycCNuQURLWG9u
UDhnQH5tJF97KT5QCnooP29ifHhaLVhPIXkwRzRiaV5VanN+cyoqWjAwYzF2OXJrd3lUaFBeREs4
JSk3TjJAUyYhNU4lUSVzaSZAM1RKeQp6bT9keTEybiNqQElhJjV9X0NPbCsqOFZkRFNrXlY3IWpW
SV4wXmt4QGA0bElYdVRqJWxeSEMlbW17WWBvI2poQ2cKekhJU2FhMjkhc2ZMRXcxQiFMPkdVRHUp
WHwyZF9IaVkwWHxPe09ueWlRWT89MCtpIW47aEpgT35hP1hLTjJxRj9pCnpTYVRJNSY7Wk5eS29O
dkshcmd2O0ZjSVlzWE9iT3p6N0Bte00tSWNERkNSUkpNaUdRN29HKjs+Y20/N1ZIakxgOQp6PH0x
SllWMDFnSisxa3N8a1coSV8yRCMhI0MoZlF2ZUtHZnt3WjtiPzQpX3VONG5eUE9nez8rRCo3Tklr
Jko7Qm4KemgoUClaOHxRPDdMXlgqbVB7fDJoTGBRTV8oRzhSWDV6UWZDKFRoezBBeTxYYzgqOysy
bWE3QW4lUV91PHd+JF9yCnpGeXd8flooVTlOPHp0aUk5JHZCZkt+TEJKRWExKjcmS189R2VDaTg1
OUo1aHZUQEQ9YylzeStoKSZMUm15NWd1bwp6OVRGbUpiT0V+c0p4eEctd05vSE1xQHUrYzUtSktB
TVZhOW1ea1FNUnVlY2clWDd8cj0ldG5fNmtKZlUtczZxTTQKem5ONzB8S0h8entFbC0+XncpcHpO
Mk0wTyQ+SzdrKThvVFNGQmsqRDMwRWdKP3VOZjkhKnMjdCgwYTReQTg0PCk4CnpYdHopVXtHKCsk
VV8+SEFlMSphXjIpcjYrJnJkdThkfDxRNzJiMH1rd0AoTCRqXkdVZ1orMTJfRU5ndTFEP0J7MAp6
RShwO2lLRUNEZyQzMEgkYWZJZypudkx8O1FTRH49PkdoM29LSkJaQ1VWZUt1JGdLd2xfUDFYe0FT
WTBoSUdZOFUKekljSH1SWE92VXsydVZPc3ZUYWhaKmtLPzYoX1o3bW51KGFPRyFQYj5fMiF8Tmd4
PV9LKEhFTnl0e1RJfSREWklwCnpQbHVhUGxpNl80QGM3JkZDMiYxZXtQRU47YntQQjxLMTd+ITtS
WTl2Z1pzQ3lpVTB1N1NwJTApcCFjYHB0bDFGWQp6WXRQQHotYFpvbmZCb1E8QnE9TyRXUm56Xm9l
eSY5IWpCaXk/RUdQe2Alb19qWSl6PX48PldeJUh2VmtaWV9NUzMKejZZPWN2bC1FO0lMK1JuRSpQ
MWBoY3YjYVhfNkJedGFiVlY2MVohQnZlOVE5NERpfFFLTWd9TSNqYGs0KlB5eis4CnpEfml0RV9q
JnRAPilgbGwyKjIjc14xIVN5OyVlTShOQ2h8bSVASVRCaXtXb2c3YSNsMFE1YHRaXk1fTVlUez9W
bAp6QXc5QTdJTyZuNlRUSGJTVE9JUURoN21fXi14P1Bwal9AWkFkdyNoSHhQJUpuVGFseUA3WCQj
STNLbDFzIUNuKXIKeiNWVlhIO2xyT2tkdXg3I295YlhRb0hjJDU1bkVuNXpIVEw2aENJN0x7S2RI
Pm52MExQV31OTGkyPkszTjlgU0gtCnpnPEN5d2t4d2k/cEtHbzgpZW5iM18kR01NOH5NcEl8SHhx
JE0+NTN2O1o4RzwwMn5vKEs5V21KWnwydipOZ3kkdwp6NXtkSnVEd09hP3AwN05MKD0xcWcjbnUy
QThlVlNMI2RWTiE8My1xTlIqaHVpJU5BY2Nlc3IrQTREYDV8NFdpRVkKem5ESGE8KXF4V1h1VzVG
Oz1Jc2o7MmVJVzR1UmVNPyRpQDlmfEcxKGdINHpZcE5OeiY7dXwtOyhyJUdgfDAoTFdeCno+RSNq
QWB5TlJgcj5QM0ZDZ1M5IUxtVT50T2BNJFpXZk56dzhEYjRPN31oWV8ofjA0YTgrfHRNYUBJaWtA
YjF2PAp6YFBMKH5iVURNUVBKSDdlWEw8MF5wWCFzN3BLKjRvODYrVmMxY3dxVSRSMWg2QVpTPTQm
cmE7Y1I0X2ZmMihiMGIKek1FPj9MaU1lS21BKVgjYkk/fURDdnpBfTZMX01VdWVCeT5mODFpVWJ4
VyhIT1AxWSFUd2ZMJHBtbCU5dGRGUyg/CnpHazNVaGN5aTM/JSpFQFlId040ZUwhS0ZrKU9iWWZJ
VSk/T0F+PV5vMUZaUVgpOWFAcURedntmNGxlKFMzRXdQIwp6eG0pd0lIdXc7OGR9fWc0KmZgQD0x
TXRSNkpSUzx5PFokVHRfTyF5TnglQlltdm9gbD87dipPRjNZTEA5SCM2VFoKejJfOG11N2JgRXtg
ZFZGUWk3NXB8VVY7KnY9PnI4UU0kX3BMN0IzOzwzYWkqbmx1Y35TZ0c8TDNqc25jPTR6UHg+CnpC
ZGVMYWMpc0VERl5jMDRBMTY2JDF8SzN2NFNgIU47YHJsNVM5fTxCSDRjV0pzSzB8fEJZME00SFJF
Zlk7S3ZgUQp6SzZ8RFBqfiZPN1k2UGl4YGMwejcqU3oqLSNQfWtrRDBfKjB6UUN5bzNMJVEmT1cx
MjdFY3pQZDcxdVhFSzVTaGUKenYyRytpc1dgRFBgST44e0lOYW94WFp1eU44VnBaQndMNUhpeHtV
SmFmZyNRZU9IPUxEWTg/bDVWaEB2O0BofV9zCnolKWZwSUIjfEhuSyQ/S09IOWVwV1Q0S1E2T2dm
PDVGI2x+aTQ2KmQkISRPKUxKQFNOMihLeHMke1k2IzxZbDBhNQp6I2ZvODlnTFFnJWJPYXViVyhU
QkpkSDgyJT4ka0BFJTdwX1R3c05ge1ReNzA2KUdiJW9hKj8+UVMtWVRvPHVARGYKejx4QSMzPTQx
fElPPj00aEk3PWNhdT9FNWhncX1gQU5RRmQ1ZTJMaytUQGUjK0lEOXdgJio9OH4qK0QkS05hTjxf
CnorTHRlMG5rRmAxZDJzRlVAaUY5dGk7cX0pZShIQjk4dDU+SDE3T2NERV55KzM2VHpMPiVVdiFw
OyRnez8kWnowXwp6NTEpZz5tJWxDKnRRYi1nRC1JI1d4PmJWc2ltTkY1WlpSXn1IM05vdEdjdzNF
IXlAOVghLWs4YklMKWFjezc4K2IKej9+dHdHIW9XPkZ2bCFvSzImezFWdmxCRGs8KzZeOGMoP3tU
a3JQTEliS0wzR1pWI1Y/WWJJPFI5ODctb2FxdGw1CnpXSyhickxEV3NEUD1OZGNIfThFN2xkeHRX
MnladClLNT1xSlQkOFFDbUoxI35IXzxgbjN5Ozh3VWwkXzFTazMxSAp6eVQpMn5wbVo/I25DKj52
VmEtUEIwWTFCdGBJfGtfYSo4Sm9OSWFid2VGO1ltViM/cDtJUF9uZDFwcDhManNnSyQKejg7QlQr
UUdDdE81TVUqVD1TaWFEMUVadko1RXZEMEFCWFZTPFJvPEJAb2B3cVlfUjJsbShXIyUyNlE/NHUq
VlpsCno3ZSV+Vz05PWEzKzJQUlAyaUlKa154fHFoT21TKV9kPH1sUDI1V0l9Km44e2JIfjtAMyRW
bEY+dWkqZTkpaHdZawp6ZkEpJjEwOE5sRTQwPThZRH56cjlhYGp8WGN3REA5XlUpLTBIWD1gLUta
PmpZYE5QN0d1dmJnQEByI3JFP0Q+bUAKekJTK1k5OTYmWURTRFEtI3VMSjdSOyQlJl9zTVJQfXBE
VDI3JjJNYEY4NHszXipkd3xWdnVVUUg1QyRxJVZ0YWMyCnpfSSVrJEtBeHh1aW1lZ0YhYDd0ejZF
fENwRDFRZzQyIStaU1B4KkBCVW1oRzM0IWZxcGcoVmh1NEhBPXg/ZEliTwp6cW5WQWJTRXxfdloq
emlPb0hjSXQpXmcqYmNXfiFyNDQ5Rz1YTXpPaDI8OVV4VSV7anNBKG9odEB1NG5lUFc+dzsKelk+
QytgekkraUEyY000fG51ajxZQUVOQHs2QnpnIUBhXiUwV3VIR15jeWlhZ2VTd1BJN2x4bWBJPDFN
UCFQQDBnCnpaPVc2WTRAZHMrX15HMl87MVg3U0dfJXRtK2BzKzVSfC1iMzxfWlEqKmFScT00LWpe
UE8td1VQV2EjK3dBPndARgp6ZnZISVQ7bGVBZ0xjZnhtZWBxRWFQQ3U4eDxGN0doaHdrRS0yfjBX
WUdeMEgxRnl6NWV0UWxUPmBQPFg7PWM4Ri0Kel99SGBLLWBid3RFU0QjeUsyflIjX3tsLSFGIS0+
YEdydXxzU2ItZXU0VE9NbSkqdH17RiplRWg1cm96JFBZZ1Y8Cno5Zn14eDtAdk02Nzk0YDhKcyti
Y21eR0twST13aUQkSmcyK1NpX00heSE3Jl4wfW5id3k8Jip7bWczcEApbnF5UQp6PzJefSQ9Kmc+
PWRjKCN+Jmd6MjZQVDEzVDBxNV5TSTd6NStQRHthcDZkPWdueGBIJm1BX01RUl8hSVVMTXBpdDEK
ek98Y2dUVTtneFRIUCp9eXRESShCPkcqb1JDNDMxeGUwIXQrTStHe1VPd0hFdDwhdnZ2K35QSnJk
SURQYHlUSlp3CnpQIX13RnluRVdeRzYrb2lFKDhBTW9TKVArNilBKEUhdlVhcCMyZ2c4SDY2KVRh
PGY2cWhgVCkrWER5Rm0/WTNGTgp6VkFxaVJASzlqNUhPP0xuZGtxbVVyZGVLbEhue3hrYWN+SVBW
YkhWNyNpcThmYE47KWBvIzNaLXhke0kqaihAKWsKemtKTylmREY7NyR2MmV2Y2QtaU4qeT5Le3U8
ZVVHMyRfOXtHcWlVaSt3fTJ6UEJBc1QqSFVUfm84amBnNGJSWSRYCnpDflYmdmRFd1BTZ3YkWkxz
OFFEOUAjK0FAUzw3SylqNko/Xj5FenB1NS0kKENnTkZ+dC08QT9+YWRoSjk0ViZLNwp6UkMlbG9L
MTY8VGBPdlo5cXJkdlYkTTU7KiVmKmplSmJDKWhELUhrdkRZXnZhbmA7MW81SDY4ZmFnc1U9PmpZ
XnIKej1Je310QmpKY2M3OFg5ZnhlKXN9KDJFbDwyVFdwMzJmdEI2YEdneWA3JnpoI0hRVVEkNTVy
ejhVMDV5fm4+fkZPCnpNVHw4TDw+LSpwIU5Yc1ZffUdWSXBVbHI4NSgocldEMXdvVW0+RDR3WD1G
JFQ7bHIwbTQyUXRCNG5MaChXT2l9bAp6MnchbjwtQVl7SzxaRXErJE08SEA0IXxKckByS2NwN2dz
aiUqeyRqMVBVTTNuMlJ9QTVza3cxcj4oSU9nJVpGPWsKemdgUVJ6VEArWSs8VVZUQHZRODgqa3NK
e1QzZ1h2VkFtUEs4cEZ0Rj5hZnN6N1BKSDt8Yz5FITZLSUljPCpxYiVvCnpFVmZaajRHOX1RejEm
X3l1dHxyO3pCeT0hKyVXMG8pMiErKyk1R0pWVmE0O0s3Y1VvXitfKTRNQ2NSdF4jfmhZZQp6aFpj
X2ZhSVhJXmsxQj5pNXNYQzkpQENDQkdoYjIrNDh2WXh7dF9lN0tfTl5oTjNrX2U0MHtEQTB2MWV5
aGdkVmMKek9HSz1WKjA+cSk5NDd3YDYmNEo5R15Cal47MlE9WEBnMElhc2VaWlQ/MCo9dWdSZHs8
XyFSPzdaM2E5Qzh6em84CnpQMWh3Um9FUygyWStFYEZNMjJyZWpLcT8jeURmWT1BVTFtYjJvYk5o
aCQ5PTg7X1NeRCozMV9sR2hhNDI9d0tFdgp6WEkhbj48UUImdHduNTRwKSttb1ojTDRUPjs5REV2
Xmp+Ui1sYjMmbz0mOWttXllDTSokQWlHN0gqalF8VW9QNHAKelNeI0lhUSZUMURwdikzJGRXR18o
N2F6Q308T218PT1HOTFrNjR5akFiVTBgdG4+OU9KYzE8OTM+RGcqOVRAQl8+CnpAM3p0SnkzYFUr
WWNVJi1GMFFeRSVIZnZCTCE8Uz9Udk1CZTtNWUlrcyRVUHlhMCM0dm4mWE90SnBBVXJRPHA+Jgp6
aH5oY2E3ekN7JiNpeGJecUxCKksxVzYxUz1AbSFocCtfPTVZeHV+fTVrKiMld0lNJVdJcHdjJEBR
N0czYVFLTFUKem5fZGhJb2NRNHk/IylLb1J8fGFwI2pCR305KHdycF56e3l8eV90eVI/fH1HKnVP
NUQrQ3ZXfV8/bH45QyQldzNeCnpLbiFBKnBycV9JJENJTjhkP0Z3cnk4O2RWNG58eyRTLXVYI24j
MlBoRn5iVUAqQnZ8c3ZnNV9hNFRkSyNlQ3pnYgp6X1d7X2UxdW92PT9lWHNydFBPRXwqdiRyOTdv
YSNnZSlmYjdILTVQMFhJKUtaSm5eMG5icFIhKXNsWEl1UFlAeWsKentUaWFlMklSMCtSRFNGZFJs
R3lzTCRBO1hCMVl0PzJyLTZOcDkweDV0T29PPWNkT3RMYH1EQm8haipfKUd3fCErCnpZRyE9YyMx
WlRFYSVnT3xSOThPWXg1JEdwQGw+JG0kS1JTUTlYKHQqKU9xLVBkOU1sJW4zRXVoZVcrUGlGclVD
YAp6aFFnNVctPUNLX3ZZTnJhOCRwaSV5P0NRTkE2VzdkZEQkRX5UISZnTmRrcWdtZSQ2eTF0ZWpA
QU9vdk5mSllWP3kKejw9dVVOJHducytkcCpFTTN9R1g1YWZUfkwtMXU3YVZSTnZhWnVASE92cXMr
ZTN9TjdhZkMzNz5uYXF0MCRXdE90CnpwPiYkJW4rRntYTF5ORiE0Q34mWmE0SkA7VnJvY24+QlJC
TC1tUTxEMHlXR35rZVFoQTtJRENUPHN+KTVMREF6fQp6b0VSZEcmMlM7cUt5YVptaV5JIUloalJ4
aDl5ZkZOVzwhcXBWKHA7ZGhgbzZGbXRVQEk4V05SRWxRantEcTcpKmoKendJUGAldW9EPFdhcU1R
S18oJnxhIU94bm9TMTI4dl9COXE0SXRMV0tDUkM3Tz84V2pTX1c5RGBpOEVoJGFFeUNUCnpwQiR1
MUJwIytiYyM3Y0BjUjY1XnU9d3p8KktCY056IU90JGRIQik2ejVidHh3SmB2Pk5kZ2c8NDUmU3VL
bWR+UAp6M3dYY3w7K3ZIQzNhSjV6WW1OYTZQTTkjUCNuZT5taWglOGE8OzAxOW0lXjs2Oz59eyVU
X3xmcUVJZUc/YFduVEwKei1tb15SIV58Sjlyb3lTWS1FMjVHbmRfQllhN2JMKDtGPEhvJilVOyFw
NUo5NUI4akFjNmVteTswPU9GP3NWOVlQCnpILUhgdlAtezRkSTI1QTY+fUdMdCRYQjZlSWVsaXkk
RyNpaTBtNnV2ODJSe0hvOHt6LTFJeyYqcDcwbE1GOSRybgp6Z2ZESi1MMjVpYTAtdnZWVCZ1VTwh
R21rYVY9c24oSmJHUWkhSWBqXjw1Sl9DNS1GaHNLc2dlRDFweE1CaH5wUCYKekdlSHkldmY/NiNw
Z29jZiQpMWdHMHN9cz4yM3dyeTZGU2BaXk1mZ0d4I2AlO1pfbjRCQEs9dkk7UFR+ejR9RVYyCno+
bkAjb2luV0ZUUSUqdzEqUX5hOSFfK0k3ezklZmJrSHAwcXpqPFojOS17Oyo3KWIrb0FePWR5QkV3
JE1ZeV4+LQp6MEgtRjNmbilhZitYeCErQz8/ezNrUUspa0N6IURGd30oSClkfGl1RWxpTFV6MkQ+
PUUjNmNLJVdUJHNYSDVRSU0KelYqSmpFLW52N0t5U2NYcFRnXjd9Y2l+fi1LK08yej92Mm5QO2Bl
YGU2dyFpdTVVdmFXMDAwMDxNTlVNbkxTVFo9CkM1QUE7ZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNp
ZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MzMjMzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1w
dCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3Nx
dWFyZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sLiBEb21haW5zLCBwcm90b2NvbHMg
YW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQg
dG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVh
cmUxMDAucG5nIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgorCitWZXJpZnkgdGhhdCBzaGFwZS1pbnNpZGUgYW5kIHNoYXBl
LW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0aCBhIGRpZmZlcmVudCBvcmlnaW4g
YW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0byAibm9u
ZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdvIGVycm9yIG1lc3NhZ2VzIGFib3V0IHVu
c2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLgorCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKHNoYXBlRWxlbWVudCkud2Via2l0U2hhcGVJbnNpZGUgaXMgInJlY3RhbmdsZSgwcHgsIDBw
eCwgMHB4LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hh
cGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUgaXMgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4
LCAwcHgsIDBweCwgMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVt
ZW50KS53ZWJraXRTaGFwZUluc2lkZSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUgaXMgIm5vbmUiCisKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1h
Z2Utb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWlu
c2lkZS1pbWFnZS1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jOTIyN2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgI3NoYXBlIHsKKyAgICAgICAg
LXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAwLCAwKTsKKyAgICAgICAgLXdl
YmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCwgMCwgMCwgMCk7CisgICAgfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5WZXJpZnkgdGhhdCBzaGFwZS1pbnNpZGUgYW5kIHNo
YXBlLW91dHNpZGUgY2FuIG5vdCBiZSBzZXQgdG8gYSBVUkwgd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4KKyAgYW5kIHRoYXQgdGhlIHJlc3VsdCBvZiBkb2luZyBzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0
byAibm9uZSIuIFRoaXMgdGVzdCBzaG91bGQgZ2VuZXJhdGUgdHdvIGVycm9yCisgIG1lc3NhZ2Vz
IGFib3V0IHVuc2FmZSBhdHRlbXB0cyB0byBsb2FkIGEgVVJMLjwvcD4KKyAgPHAgaWQ9ImNvbnNv
bGUiPjwvcD4KKworICA8ZGl2IGlkPSJzaGFwZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisgIHZhciBz
aGFwZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcGUiKTsKKyAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndl
YmtpdFNoYXBlSW5zaWRlJywgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4LCAwcHgsIDBweCwgMHB4
KSIpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNo
YXBlRWxlbWVudCkud2Via2l0U2hhcGVPdXRzaWRlJywgInJlY3RhbmdsZSgwcHgsIDBweCwgMHB4
LCAwcHgsIDBweCwgMHB4KSIpOworCisgIC8vIFRoZSBpbWFnZSBVUkwncyBwb3J0IGRvZXMgbm90
IG1hdGNoIHRoaXMgZG9jdW1lbnQncyBvcmlnaW4uIFdlIGV4cGVjdCBhIHBhaXIgb2YgY29uc29s
ZSB3YXJuaW5ncy4KKyAgc2hhcGVFbGVtZW50LnN0eWxlLndlYmtpdFNoYXBlSW5zaWRlID0gJ3Vy
bCgiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVhcmUxMDAucG5n
IiknOworICBzaGFwZUVsZW1lbnQuc3R5bGUud2Via2l0U2hhcGVPdXRzaWRlID0gJ3VybCgiaHR0
cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L3Jlc291cmNlcy9zcXVhcmUxMDAucG5nIiknOwor
CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVF
bGVtZW50KS53ZWJraXRTaGFwZUluc2lkZScsICJub25lIik7CisgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91
dHNpZGUnLCAibm9uZSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzZjYWRkZS4uZTcxYzNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTA2
LTIwICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
cGVzXSBsaW1pdCBzaGFwZSBpbWFnZSB2YWx1ZXMgdG8gc2FtZSBvcmlnaW4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3RyaWN0IHRoZSBpbWFnZSBV
UkwgdmFsdWVzIGZvciBzaGFwZS1pbnNpZGUgYW5kIHNoYXBlLW91dHNpZGUgdG8KKyAgICAgICAg
dGhlIHNhbWUgb3JpZ2luIGFzIHRoZSBkb2N1bWVudC4gVGhlIGFscGhhIGNoYW5uZWwgb2YgaW1h
Z2Ugc2hhcGUgdmFsdWVzCisgICAgICAgIHdpbGwgYmUgdHJlc2hvbGRlZCB0byBwcm9kdWNlIHRo
ZSBzaGFwZSdzIGJvdW5kYXJpZXMgKHNlZSBidWcgMTE2NjQzKQorICAgICAgICBzbyBub3JtYWwg
aW1hZ2UgYWNjZXNzIHJ1bGVzIGFyZW4ndCBzZWN1cmUgZW5vdWdoLgorCisgICAgICAgIEFkZGVk
IGEgUmVxdWVzdE9yaWdpblBvbGljeSBSZXNvdXJjZUxvYWRlck9wdGlvbiB3aGljaCBpcyB1c2Vk
IGJ5CisgICAgICAgIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nU2hhcGVJbWFnZSgpIHRvIHJl
cXVlc3QgdGhlIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24uCisgICAgICAgIFRoZSBjaGFuZ2Ugc2hv
dWxkIGhhdmUgbm8gb3RoZXIgZWZmZWN0IGFsdGhvdWdoIGl0IGRvZXMgZW5hYmxlIG9uZSB0byBh
cHBseQorICAgICAgICB0aGUgc2FtZSByZXN0cmljdGlvbiB0byBvdGhlciByZXNvdXJjZXMgd2hp
Y2ggY2FuIGN1cnJlbnRseSBiZSBsb2FkZWQgZnJvbQorICAgICAgICBhbnkgb3JpZ2luIC0gc2Vl
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KCkuCisKKyAgICAgICAgVGVzdDogaHR0
cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwKKworICAgICAg
ICAqIGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFs
dWU6OmNhY2hlZEltYWdlKTogQWRkIGFuIGVmZmVjdGl2ZWx5IG9wdGlvbmFsIFJlc291cmNlTG9h
ZGVyT3B0aW9ucyBwYXJhbWV0ZXIuCisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKTogRGl0dG8uCisgICAg
ICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKTogTG9hZCB0aGUgaW1hZ2Ugd2l0aCB0aGUgZGVm
YXVsdCBDYWNoZWRSZXNvdXJjZUxvYWRlciBvcHRpb25zIHBsdXMgUmVzdHJpY3RUb1NhbWVPcmln
aW4uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcyk6
IENhbGwgbG9hZFBlbmRpbmdTaGFwZUltYWdlKCkuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2
ZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSk6IFVwZGF0ZSB0
aGUgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHN0YXRpYyB2YXJpYWJsZS4KKyAgICAgICAgKiBsb2Fk
ZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKTogRGl0
dG8uCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlcjo6b3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9h
ZGVyT3B0aW9ucy5oOiBBZGQgUmVxdWVzdE9yaWdpblBvbGljeSBlbnVtLgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkZXJPcHRpb25zOjpSZXNvdXJjZUxvYWRlck9wdGlvbnMpOgorICAg
ICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KTogUGFzcyBSZXNvdXJjZUxvYWRlck9w
dGlvbnMgYWxvbmcgdG8gcmV2aXNlZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCgp
LgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0eWxlU2hl
ZXQpOiBVcGRhdGUgbG9hZCgpIFJlc291cmNlTG9hZGVyT3B0aW9ucy4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KTogUmVwbGFjZWQgQ29udGVudFNl
Y3VyaXR5UG9saWN5Q2hlY2sgcGFyYW1ldGVyIHdpdGggUmVzb3VyY2VMb2FkZXJPcHRpb25zLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6
IFBhc3MgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGFsb25nIHRvIHJldmlzZWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmNhblJlcXVlc3QoKS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKTogQWRkZWQgVXNlRGVmYXVsdE9y
aWdpblJlc3RyaWN0aW9uc0ZvclR5cGUgaW5pdGlhbGl6ZXIuCisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjpzdGFydExvYWRpbmcpOiBB
ZGRlZCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSBpbnRpYWxpemVyLgorCiAy
MDEzLTA2LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIEhhbmcgZHJhd2luZyBjYXB0aW9ucyBhZnRlciBwcmVzc2luZyB0aGUgaG9tZSBidXR0b24g
d2hpbGUgcGxheWluZyBhIHZpZGVvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5k
ZXggZDZjYTgzNC4uYWM0ZjZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApA
QCAtNjMsMTQgKzYzLDE0IEBAIFN0eWxlSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZE9yUGVu
ZGluZ0ltYWdlKCkKICAgICByZXR1cm4gbV9pbWFnZS5nZXQoKTsKIH0KIAotU3R5bGVDYWNoZWRJ
bWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxv
YWRlcikKK1N0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hl
ZFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0
aW9ucykKIHsKICAgICBBU1NFUlQobG9hZGVyKTsKIAogICAgIGlmICghbV9hY2Nlc3NlZEltYWdl
KSB7CiAgICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwobV91cmwpKSk7CisgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KFJlc291cmNlUmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJs
KSksIG9wdGlvbnMpOwogICAgICAgICBpZiAobV9pbml0aWF0b3JOYW1lLmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9yKGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRp
YXRvcnMoKS5jc3MpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApp
bmRleCA2MmUxMTYyLi44MWJkNTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAg
LTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgQ1NTSW1hZ2VWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NW
YWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw3ICszOSw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiB1cmwsIFN0eWxlSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1h
Z2VWYWx1ZSh1cmwsIGltYWdlKSk7IH0KICAgICB+Q1NTSW1hZ2VWYWx1ZSgpOwogCi0gICAgU3R5
bGVDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsKKyAgICBT
dHlsZUNhY2hlZEltYWdlKiBjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOworICAgIFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZElt
YWdlKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpIHsgcmV0dXJuIGNhY2hlZEltYWdlKGxv
YWRlciwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMo
KSk7IH0KICAgICAvLyBSZXR1cm5zIGEgU3R5bGVDYWNoZWRJbWFnZSBpZiB0aGUgaW1hZ2UgaXMg
Y2FjaGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0ltYWdlLgogICAgIFN0eWxl
SW1hZ2UqIGNhY2hlZE9yUGVuZGluZ0ltYWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCBlMmQ4ZDhkLi5kMTNmMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCkBAIC00MTAxLDYgKzQxMDEsMjggQEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBT
dHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4K
ICAgICByZXR1cm4gMDsKIH0KIAorCisjaWYgRU5BQkxFKENTU19TSEFQRVMpCit2b2lkIFN0eWxl
UmVzb2x2ZXI6OmxvYWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZhbHVlKiBzaGFwZVZhbHVlKQor
eworICAgIGlmICghc2hhcGVWYWx1ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3R5bGVJbWFn
ZSogaW1hZ2UgPSBzaGFwZVZhbHVlLT5pbWFnZSgpOworICAgIGlmICghaW1hZ2UgfHwgIWltYWdl
LT5pc1BlbmRpbmdJbWFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHlsZVBlbmRpbmdJ
bWFnZSogcGVuZGluZ0ltYWdlID0gc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1hZ2UqPihpbWFn
ZSk7CisgICAgQ1NTSW1hZ2VWYWx1ZSogY3NzSW1hZ2VWYWx1ZSA9ICBwZW5kaW5nSW1hZ2UtPmNz
c0ltYWdlVmFsdWUoKTsKKyAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VM
b2FkZXIgPSBtX3N0YXRlLmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CisKKyAg
ICBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyA9IENhY2hlZFJlc291cmNlTG9hZGVyOjpk
ZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CisgICAgb3B0aW9ucy5yZXF1ZXN0T3JpZ2lu
UG9saWN5ID0gUmVzdHJpY3RUb1NhbWVPcmlnaW47CisKKyAgICBzaGFwZVZhbHVlLT5zZXRJbWFn
ZShjc3NJbWFnZVZhbHVlLT5jYWNoZWRJbWFnZShjYWNoZWRSZXNvdXJjZUxvYWRlciwgb3B0aW9u
cykpOworfQorI2VuZGlmCisKIHZvaWQgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdJbWFnZXMo
KQogewogICAgIGlmIChtX3N0YXRlLnBlbmRpbmdJbWFnZVByb3BlcnRpZXMoKS5pc0VtcHR5KCkp
CkBAIC00MTc3LDEyICs0MTk5LDEwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdJ
bWFnZXMoKQogICAgICAgICB9CiAjaWYgRU5BQkxFKENTU19TSEFQRVMpCiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRTaGFwZUluc2lkZToKLSAgICAgICAgICAgIGlmIChtX3N0YXRlLnN0
eWxlKCktPnNoYXBlSW5zaWRlKCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgpLT5p
bWFnZSgpICYmIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+aW1hZ2UoKS0+aXNQZW5k
aW5nSW1hZ2UoKSkKLSAgICAgICAgICAgICAgICBtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRl
KCktPnNldEltYWdlKGxvYWRQZW5kaW5nSW1hZ2Uoc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1h
Z2UqPihtX3N0YXRlLnN0eWxlKCktPnNoYXBlSW5zaWRlKCktPmltYWdlKCkpKSk7CisgICAgICAg
ICAgICBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UobV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUluc2lkZSgp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0U2hh
cGVPdXRzaWRlOgotICAgICAgICAgICAgaWYgKG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRl
KCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKS0+aW1hZ2UoKSAmJiBtX3N0YXRl
LnN0eWxlKCktPnNoYXBlT3V0c2lkZSgpLT5pbWFnZSgpLT5pc1BlbmRpbmdJbWFnZSgpKQotICAg
ICAgICAgICAgICAgIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPnNldEltYWdlKGxv
YWRQZW5kaW5nSW1hZ2Uoc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1hZ2UqPihtX3N0YXRlLnN0
eWxlKCktPnNoYXBlT3V0c2lkZSgpLT5pbWFnZSgpKSkpOworICAgICAgICAgICAgbG9hZFBlbmRp
bmdTaGFwZUltYWdlKG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5oCmluZGV4IDFlYmU5MzIuLmFlMDgwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuaApAQCAtNTgxLDYgKzU4MSw5IEBAIHByaXZhdGU6CiAKICAgICBQYXNzUmVmUHRyPFN0eWxl
SW1hZ2U+IGxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqKTsKICAgICB2b2lkIGxv
YWRQZW5kaW5nSW1hZ2VzKCk7CisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAgdm9pZCBsb2Fk
UGVuZGluZ1NoYXBlSW1hZ2UoU2hhcGVWYWx1ZSopOworI2VuZGlmCiAKICAgICBzdGF0aWMgdW5z
aWduZWQgY29tcHV0ZU1hdGNoZWRQcm9wZXJ0aWVzSGFzaChjb25zdCBNYXRjaGVkUHJvcGVydGll
cyosIHVuc2lnbmVkIHNpemUpOwogICAgIHN0cnVjdCBNYXRjaGVkUHJvcGVydGllc0NhY2hlSXRl
bSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA3ZjRjMzFm
Li5kZTQwMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTEzNzEsNyArMTM3MSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5S
ZXNvdXJjZSgpCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChtX3JlcXVlc3QpOwogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoUmVzb3VyY2VMb2FkZXJPcHRpb25zLCBtYWluUmVzb3VyY2VM
b2FkT3B0aW9ucywKLSAgICAgICAgKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVy
RGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMs
IFNraXBTZWN1cml0eUNoZWNrKSk7CisgICAgICAgIChTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRl
bnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENy
ZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9u
c0ZvclR5cGUpKTsKICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVkUmVzb3VyY2VSZXF1
ZXN0KHJlcXVlc3QsIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zKTsKICAgICBtX21haW5SZXNvdXJj
ZSA9IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RNYWluUmVzb3VyY2UoY2FjaGVkUmVz
b3VyY2VSZXF1ZXN0KTsKICAgICBpZiAoIW1fbWFpblJlc291cmNlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcAppbmRleCBh
NzhlODA3Li5jYzQzZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2Nh
cGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0luU3Ry
ZWFtTG9hZGVyKEZyYW1lKiBmcmFtZSwgTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXJDbGllbnQq
IGNsaWVudCkKLSAgICA6IFJlc291cmNlTG9hZGVyKGZyYW1lLCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBEb05vdEJ1ZmZlckRhdGEsIEFsbG93U3Rv
cmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlD
aGVjaykpCisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFtZSwgUmVzb3VyY2VMb2FkZXJPcHRpb25z
KFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9Ob3RCdWZmZXJEYXRhLCBBbGxvd1N0b3Jl
ZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hl
Y2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKSkKICAgICAsIG1fY2xpZW50
KGNsaWVudCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXgg
MGE1NDk5Yi4uZDgyYWE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgK
QEAgLTE2MCw2ICsxNjAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRh
T3JCdWZmZXIoY29uc3QgY2hhciosIGludCwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBsb25n
IGxvbmcgZW5jb2RlZERhdGFMZW5ndGgsIERhdGFQYXlsb2FkVHlwZSk7CiAKKyAgICBjb25zdCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMoKSB7IHJldHVybiBtX29wdGlvbnM7IH0KKwog
ICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gbV9oYW5kbGU7CiAgICAgUmVmUHRyPEZyYW1lPiBt
X2ZyYW1lOwogICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4gbV9kb2N1bWVudExvYWRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAppbmRleCBkMWI5
MDdiLi4wYTJmODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXJPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVy
T3B0aW9ucy5oCkBAIC01NSwxNSArNTUsMzEgQEAgZW51bSBTZWN1cml0eUNoZWNrUG9saWN5IHsK
ICAgICBEb1NlY3VyaXR5Q2hlY2sKIH07CiAKK2VudW0gUmVxdWVzdE9yaWdpblBvbGljeSB7Cisg
ICAgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUsCisgICAgUmVzdHJpY3RUb1Nh
bWVPcmlnaW4KK307CisKIHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewotICAgIFJlc291
cmNlTG9hZGVyT3B0aW9ucygpIDogc2VuZExvYWRDYWxsYmFja3MoRG9Ob3RTZW5kQ2FsbGJhY2tz
KSwgc25pZmZDb250ZW50KERvTm90U25pZmZDb250ZW50KSwgZGF0YUJ1ZmZlcmluZ1BvbGljeShC
dWZmZXJEYXRhKSwgYWxsb3dDcmVkZW50aWFscyhEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMp
LCBjbGllbnRDcmVkZW50aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMp
LCBzZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykgeyB9Ci0gICAgUmVzb3VyY2VMb2FkZXJP
cHRpb25zKFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZm
aW5nUG9saWN5IHNuaWZmQ29udGVudCwgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5n
UG9saWN5LCBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50
aWFsUG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlD
aGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKQorICAgICAgICA6IHNlbmRMb2FkQ2Fs
bGJhY2tzKERvTm90U2VuZENhbGxiYWNrcykKKyAgICAgICAgLCBzbmlmZkNvbnRlbnQoRG9Ob3RT
bmlmZkNvbnRlbnQpCisgICAgICAgICwgZGF0YUJ1ZmZlcmluZ1BvbGljeShCdWZmZXJEYXRhKQor
ICAgICAgICAsIGFsbG93Q3JlZGVudGlhbHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKQor
ICAgICAgICAsIGNsaWVudENyZWRlbnRpYWxQb2xpY3koRG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVk
ZW50aWFscykKKyAgICAgICAgLCBzZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykKKyAgICAg
ICAgLCByZXF1ZXN0T3JpZ2luUG9saWN5KFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JU
eXBlKQorICAgIHsKKyAgICB9CisKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxi
YWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZD
b250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3JlZENy
ZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY3JlZGVu
dGlhbFBvbGljeSwgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrLCBSZXF1ZXN0T3Jp
Z2luUG9saWN5IHJlcXVlc3RPcmlnaW5Qb2xpY3kpCiAgICAgICAgIDogc2VuZExvYWRDYWxsYmFj
a3Moc2VuZExvYWRDYWxsYmFja3MpCiAgICAgICAgICwgc25pZmZDb250ZW50KHNuaWZmQ29udGVu
dCkKICAgICAgICAgLCBkYXRhQnVmZmVyaW5nUG9saWN5KGRhdGFCdWZmZXJpbmdQb2xpY3kpCiAg
ICAgICAgICwgYWxsb3dDcmVkZW50aWFscyhhbGxvd0NyZWRlbnRpYWxzKQogICAgICAgICAsIGNs
aWVudENyZWRlbnRpYWxQb2xpY3koY3JlZGVudGlhbFBvbGljeSkKICAgICAgICAgLCBzZWN1cml0
eUNoZWNrKHNlY3VyaXR5Q2hlY2spCisgICAgICAgICwgcmVxdWVzdE9yaWdpblBvbGljeShyZXF1
ZXN0T3JpZ2luUG9saWN5KQogICAgIHsKICAgICB9CiAgICAgU2VuZENhbGxiYWNrUG9saWN5IHNl
bmRMb2FkQ2FsbGJhY2tzOwpAQCAtNzIsNiArODgsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJP
cHRpb25zIHsKICAgICBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzOyAvLyBXaGV0
aGVyIEhUVFAgY3JlZGVudGlhbHMgYW5kIGNvb2tpZXMgYXJlIHNlbnQgd2l0aCB0aGUgcmVxdWVz
dC4KICAgICBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNsaWVudENyZWRlbnRpYWxQb2xpY3k7IC8v
IFdoZW4gd2Ugc2hvdWxkIGFzayB0aGUgY2xpZW50IGZvciBjcmVkZW50aWFscyAoaWYgd2UgYWxs
b3cgY3JlZGVudGlhbHMgYXQgYWxsKS4KICAgICBTZWN1cml0eUNoZWNrUG9saWN5IHNlY3VyaXR5
Q2hlY2s7CisgICAgUmVxdWVzdE9yaWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY0ZmU3MmIuLmFmMjZlMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMTM2LDcgKzEzNiw3IEBAIHZv
aWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIG5l
d1JlcXVlc3QsIGNvbnN0IFJlc291CiAgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZXZhbGlk
YXRpb25GYWlsZWQobV9yZXNvdXJjZSk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlm
ICghbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdCht
X3Jlc291cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCkpKSB7CisgICAgICAgIGlmICghbV9k
b2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdChtX3Jlc291
cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCksIG9wdGlvbnMoKSkpIHsKICAgICAgICAgICAg
IGNhbmNlbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4
OTg5YmYxLi5iNThiYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFn
ZShDYWNoZWRSZXNvdQogICAgIGlmIChGcmFtZSogZiA9IGZyYW1lKCkpIHsKICAgICAgICAgaWYg
KGYtPmxvYWRlcigpLT5wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQoKSAhPSBGcmFt
ZUxvYWRlcjo6Tm9EaXNtaXNzYWwpIHsKICAgICAgICAgICAgIEtVUkwgcmVxdWVzdFVSTCA9IHJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCk7Ci0gICAgICAgICAgICBpZiAocmVxdWVzdFVS
TC5pc1ZhbGlkKCkgJiYgY2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwg
cmVxdWVzdFVSTCkpCisgICAgICAgICAgICBpZiAocmVxdWVzdFVSTC5pc1ZhbGlkKCkgJiYgY2Fu
UmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdFVSTCwgcmVxdWVz
dC5vcHRpb25zKCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkKICAgICAgICAgICAgICAgICBQaW5n
TG9hZGVyOjpsb2FkSW1hZ2UoZiwgcmVxdWVzdFVSTCk7CiAgICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgfQpAQCAtMjE1LDcgKzIxNSw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0CiAg
ICAgbWVtb3J5Q2FjaGUoKS0+YWRkKHVzZXJTaGVldC5nZXQoKSk7CiAgICAgLy8gRklYTUU6IGxv
YWRSZXNvdXJjZSBjYWxscyBzZXRPd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcigpIGlmIHRoZSBy
ZXNvdXJjZSBjb3VsZG4ndCBiZSBhZGRlZCB0byBjYWNoZS4gRG9lcyB0aGlzIGZ1bmN0aW9uIG5l
ZWQgdG8gY2FsbCBpdCwgdG9vPwogCi0gICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNl
TG9hZGVyT3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0
YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNr
aXBTZWN1cml0eUNoZWNrKSk7CisgICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9h
ZGVyT3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwg
QWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBT
ZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogICAg
IAogICAgIHJldHVybiB1c2VyU2hlZXQ7CiB9CkBAIC0zMDMsNyArMzAzLDcgQEAgYm9vbCBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJM
JiB1cmwsIGJvb2wgZm9yUHJlbG9hZCkKK2Jvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJl
cXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgZm9yUHJlbG9hZCkKIHsKICAgICBp
ZiAoZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxh
eSh1cmwpKSB7CiAgICAgICAgIGlmICghZm9yUHJlbG9hZCkKQEAgLTMzNSw4ICszMzUsMTEgQEAg
Ym9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3VyY2U6CiAjZW5kaWYKLSAgICAgICAgLy8gVGhl
c2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAg
ICAgICAvLyBGSVhNRTogQXJlIHdlIHN1cmUgYWJvdXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNv
dXJjZT8KKyAgICAgICAgaWYgKG9wdGlvbnMucmVxdWVzdE9yaWdpblBvbGljeSA9PSBSZXN0cmlj
dFRvU2FtZU9yaWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVz
dCh1cmwpKSB7CisgICAgICAgICAgICBwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UodXJsKTsKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICBicmVhazsKICNpZiBF
TkFCTEUoU1ZHKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3VtZW50UmVzb3VyY2U6
CkBAIC00NDMsNyArNDQ2LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICBpZiAoIXVy
bC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKCFjYW5SZXF1ZXN0KHR5
cGUsIHVybCwgcmVxdWVzdC5mb3JQcmVsb2FkKCkpKQorICAgIGlmICghY2FuUmVxdWVzdCh0eXBl
LCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgaWYgKEZyYW1lKiBmID0gZnJhbWUoKSkKQEAgLTk4MCw3ICs5ODMs
NyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAKIGNv
bnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRD
YWNoZWRSZXNvdXJjZU9wdGlvbnMoKQogewotICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlv
bnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93
U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5
Q2hlY2spOworICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyhTZW5kQ2Fs
bGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMs
IEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRP
cmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKTsKICAgICByZXR1cm4gb3B0aW9uczsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApp
bmRleCAwZTU4Njg4Li40NzYwODMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIENhY2hlZFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CiAgICAgdm9pZCBjaGVja0ZvclBlbmRpbmdQ
cmVsb2FkcygpOwogICAgIHZvaWQgcHJpbnRQcmVsb2FkU3RhdHMoKTsKLSAgICBib29sIGNhblJl
cXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwmLCBib29sIGZvclByZWxvYWQg
PSBmYWxzZSk7CisgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25z
dCBLVVJMJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgYm9vbCBmb3JQcmVsb2FkID0g
ZmFsc2UpOwogCiAgICAgc3RhdGljIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgZGVmYXVs
dENhY2hlZFJlc291cmNlT3B0aW9ucygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25Mb2FkZXIuY3BwCmluZGV4IDE4NTU4NTQuLmM2MzM0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgSWNvbkxvYWRl
cjo6c3RhcnRMb2FkaW5nKCkKICAgICBpZiAobV9yZXNvdXJjZSB8fCAhbV9mcmFtZS0+ZG9jdW1l
bnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUtPmxvYWRlcigpLT5pY29uKCktPnVybCgpKSwgUmVz
b3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0
YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckFueUNyZWRl
bnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spKTsKKyAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QobV9mcmFtZS0+bG9hZGVyKCktPmljb24oKS0+dXJsKCkpLCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJE
YXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQW55Q3Jl
ZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0Zv
clR5cGUpKTsKIAogI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAgICAgcmVxdWVzdC5tdXRhYmxl
UmVzb3VyY2VSZXF1ZXN0KCkuc2V0VGFyZ2V0VHlwZShSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElz
RmF2aWNvbik7Cg==
</data>
<flag name="review"
          id="226718"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="226725"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205253</attachid>
            <date>2013-06-22 09:07:50 -0700</date>
            <delta_ts>2013-06-22 12:57:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>40047</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMWJmMzE3Li4xOTk3NTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdpbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBWZXJpZnkgdGhhdCBhIG5v
biBzYW1lLW9yaWdpbiBpbWFnZSBVUkwgc3BlY2lmaWVkIGZvciBzaGFwZS1pbnNpZGUgb3IKKyAg
ICAgICAgc2hhcGUtb3V0c2lkZSB3aWxsIG5vdCBsb2FkIGFuZCB0aGUgc2hhcGUgcHJvcGVydHkg
d2lsbCBiZSByZXNldCB0byAibm9uZSIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
cy9zcXVhcmUxMDAucG5nOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3No
YXBlLWluc2lkZS1pbWFnZS1vcmlnaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbDogQWRkZWQu
CisKIDIwMTMtMDYtMjEgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dpbmRvd3NdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY3YmFiYjk2ZDFl
YzNlMTAzMmQ0NzZmOGY3ZWUxZmNiMmFhNDg3NQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI5
NDAKemNtVjs3R0lQeXxQKTxoOzNLfExrMDAwZTFOSkxUcTAwM2tGMDAza04xXkBzNmFOP0N6MDAw
VT5YK3VMJE5rYzsqCnpQO3pmKFg+NFR4MDd3bTttVW1RQiolcFYteSpJdGs1K1djYV5jczJ6QWtz
VFg2JERYPE5xfHJTaEorP3xMPEwzXgp6NWgrJD1SS05qOGhhekp8NmJwbGJWJUdgczVLelghUUE5
PU0tSGRBcUAyeGZTLWtTWiNTPk1eYHg3WFFjP3xzKzAKejA4c3BiMWoyTSEwZjAyMlNRUEgtIUNW
cCglZiRCcjchVXl0U09MSntXQFpGT18oVEhLe0psTXluVyN2e3YtYSpUCnpmTW1QZEVXYzFEYkpx
V1Zrcz4ha0JuQUtxTWIkUHVla0s+PzArZHM7I1RoZEgxal9XNERLZHNKRzhVbDtxTzJuMAp6I0lK
MWpyeyppVyQoV1pXPGU/Zl8mS2JOa297WU90LWtLJWhxbF5UaFQkbS1gWFFPLXZXeFo1TW5nSGVa
REFVdlUKem9KO15QNnEjU2w9TyY/U2k4NGhMOFNhVmwwc3NoPCM1dWZqNHZZQ1lYcjJJZ3JmMX1l
MWNeeXZyVi1iZVkzMW4xCnpYOFE1N1F+Nj5zRTBuYGM7ZlEhbCYtQW5tanhaTzF1V3l6YDBWUD4m
blBgI2l0c0wjYFM9USFnYE09clU5KTQ1KAp6SjstfGRScS1iNSZ6P2J5bz58eyk/NXI9bjc2QTRu
VEFMbFN6TGl3fnZ+MzFKPD45UFA/O3JzMzFwdV8ob2J3KXIKelkralBZO3RWR1hpfHApZGF7LUBn
RS1VQ2FgPTVldSVEO3Y9X25GSj9gJkspcTdlOWRgTmZrMz9NZGhaYXJifFQzCnolblN+ZiZ0KDFn
NWRZKUFJY2QkdyF6YFNpeiEmal89djdoWmxuSTIxWHVFfHhmbW8wKFdEMTBUKSF9fl9IWVchZQp6
ZXd9TCtYbXd1emVUNnd0eEpkYGRaI0A3KkJMZ0lFS1k5WHY+c3RecDNkcHteWHN3YTJiQns4NXte
JEIxM3RXbkIKejtZPmp5UXw5JnprN1JOc3FBVkdzLS1LK3owdXFvMWJmNXx9Zmk1cnRFTU5eQmZI
UUNkLVhIKmtmSmhKbm1JRSRHCnowJTxANXZPenhCMDE4MWQqYTNFZllIJEc1ZnFLdmNQSiVYWTIz
IVBKenp1Szw0MWg7SzNXbVc7RmFoM3lYJFhTdwp6NUVZXzlzKm8wPjUxQiZONUYxKHVjfCQ9Xkkx
fmZMTHkzP09sMGY7O0NhNCVIZ1F9ckpQKEFiYGJRLXp7VTQjMGQKejJoYm9pMktAbmpnYnxubShf
c3pSMEplYkh1c2ErR041YWVDTTBnZFAyTiVIRztZenBgSmBUNlM3dlVUNTA0Iy1ICnohamxMPCRP
cj9gTXB5X05Aa0J6OVNSP0B2QSMwSCRxeW5pJG52ZjJwOEBZezBrI1hiJDI4Vz94bT4zcXU4Ukxn
cAp6ak54S2RWYik/d0Z4OGwybXt2Pnw8fkMqIUdsQlZuckREfndyZFRKZUtYd1Q9NXUxJUkjOHpP
QlV8WD00dT47cykKej5ebUZ8JEd7b2w5Ql9XUDcrZi1MSExlNz01NyYmbGZhfTh6O1VAOFR5ZWkl
bD99ODcoYk1SdChBLSlRSzlEZzMpCnpqfn5YckN5KXRSMVojcDFBKGtLe1kkUXw9OFZLaEl7ZSUo
MUcqTi01UGpuKU41UDhJMFZreG5YKmc/RVc5NDFiYQp6NmlKMzg3ZzhpQ25ZNGphTm9wY3BDT3N5
LUEoUDJFV0podXNTd0xQLXR8WHJ6VW5MS2NLVHduP0NLT0xmOTdSSWUKelBCfWBzS3pUclVMIzB2
O3NCWTkpcytoVytUMkgtMWVNKV5WTjBUI2BeT3hodnQmXipmWW5BSmxkbkhlbCpPenlmCnpVb017
flVtPEA9ey0qcjYwI1UoMCFCY153dXZWYyk7azNkJWctSiE0cUxwSFpWd3olIVZ1UnV9I1plYF5s
N1cpOQp6NT5LZj4+OUVvenI2QyRaKTFgVVJ4VUB+UUlAKUYwRmRhdVhyMkVzOD5CYU9QPSlMcF9X
aEdAPjx0WEpHPHI/TCkKeiUyRWN4Rmt0dklRVz5SO2xaP0JKa01sSTx4ekZSeitjdkxoVWpNdSlt
SDhAZUR0d2g5bTFkT3ptNS1gU1JkM1o0CnopdCN6c3MhIUF+WTk/eDdZVDBXMCloP0B6JiFeOUtw
M2p8TUgyPnVNaHc4QXBpRiZ5RFlXMmhGSj9mSmhuaXs/dQp6ODUmZ0BtbyZ5VDhKY2RJJChyU3c9
UVBLKFhqJSlrMVh8QDw9ZTFyaW02YDYkUkF3YyFpI2VnS3VJO0JTKExTV3oKenQzOW5fc0l5cFNx
ZldFVjZKMyVuVFFAPHNUKD90cUxRaExDU1RBMyVRU1lIWFFKPH0hcWB5Yk1UWXQqSCY+LTRpCnpp
JFI7Z3NHKjlYemhSelhxdjJ5Q3MqJFZGRHgrR1hKSHxMO3dzREhfS0kyO151ISleWGwxWXVwTztn
eV4tYyg/Xgp6JiRRMUJZdnlQc0deO2hjJEQqKkBTeWArYCl9VDRWSmppXmJkN0pxdzNxNlppaT03
dFQ3R0Vzd0VLQEQoRUZXMVoKelNwYF5hd0NiPz4hYGo0fVloN2J+JEEpVS1XMyRldC1SOEJlc1Yo
MWp6d0xjSG5xOUVuN1EwVG4mLU09WEJLcyEkCnpGJFg8fGMhI3xYX3Q8b0hENyVEeCllLUNIO2tl
SDZqTj1DPGRuZDhlTnZHZVBTPFdmVzRiR3pyMz5XWWgpR1ppdAp6KFEpQ3A5Q0RFXldHOytmY3lP
V0FSb2oqMFRJPjRFUDFsWCpjRW9NTy1Qaz9ae2taIXA0QChiYE1+bGFscjwzT3oKeiZrSjZObSM8
Zm1TRmc4e19oUnBBQDI1VUdLOFplIUpgPXVuek4+dk5fK2tBNXtkVzRAXlZqZ19gcSVxVTFVTGsm
CnozRnIhPjFWI2lfMlI7aWoyQChaJDFqRTRyIU1sUFZGVmJIbVQrfGk8TGl8SF5nKip2MDN8JHJh
YX5MaXhHXns0PAp6ZEFMPTBldDM1VEVuLURQTCZVcENrSTIlPE1+alVYT0JRIVYkdyRSUylralQ1
ZHF0TjtPUDUkSVMrbkZ1ajlRRSEKenJhY3hQOHg/eWJjNTxvciglbm1rPEx1JUo8TClqcVQkWiEh
K0gkcSFzbXNyPGtZQi1CYVZqMWdBMDZLaXxBYGFBCnpzcFUrcl5rMkRtPHBrSDB5TkNPZD1mKjRO
anF6UmhXJkR1QG14UXV9KEx8VFRVNVI1IXUxT1YxO3tzMVh3Y3ZISwp6VS1FKEVzZyNoRXFiVzB+
KFclWDhndFlqeSg/VFUtaW0pcVBHZChCMEZUKnNXRmhqYl5ZMVFzazZRViVUa3hWRmEKelMhVFBL
antaI2JOUUArI0M0KlREdnVkKjVYR2RrOSUyQ1ZfPUplIzY8WmpDeSRAOXRrZWw9el9jWGVtSmNL
KExeCnohOFB0ezR5fWRPdTNYIT5QSXEwd3k1YVN7PnlLPzlaQWpWaCVTT3dNV2dGamFpciY7d3Bp
IXtDVX0mQE49RWcjfgp6TFEmenBFelZtR1l7aEk5WjArNDx2I25+fG1tKiUjXjx2Qjdpc0RadCs+
LTB4UyQkWGUtT1RvYz9ZKlY7clRjZl8KemJfalJlLVJaalhTZWFzM1VmSXlEOzlhZmQlPGBpMHg0
VCNEekUpdmRhYk9RPWs3U1J1R05gaD5PMFF+MSl1LXlECno+Vlg9TW4mIVJnZCQ7WUsrUS19MXp1
Iz90KCpjYkcjUm9uZjZkYiZOJG9FaWR0d0MrWVZjZy1ZIV9WdVk+YmsjWQp6ZV93d0A/TVUmRiZx
c3d2ck5fZExiPTVvNipFZ3MpbHMzWVJsRSQmKWFtUjF7O1BwZCQ2UllWXkdvIWlxMVVNbCUKekAj
NHEkQU1jKEZKbFQxUWVYOGp2e2gjKT4me35SR3ExTjJpaU1GSVJYP3NrMi18MndVb2dLfntFa0Ik
OGVEc1g9CnpuVlBmOFhHX25LJkp+PVNJaUdpYUA8UFVpQHIjS1VoZE5odUtEeEJ6KHcobGJ1SE1V
bW0jPCMmeHBKeDd6NUQhQwp6bSNiJjRJYkF6X29xZklTaFcoQSE5PW8yRlUraktxPjl5fXx6M0Zo
WHtnJmdjaj1sd2I9bFdneUZXJmFMZWRVaC0Kem9mYHYtMkt3JFV6SSo+KCsmJEBpLXU9LUJzU2pS
MSV6OE5lWCNIZEM8RHdARFBiIXxPS2R0QE1ffTZCc3o0WXYkCnoqST5gSGgtWig2eEktYGhtSERx
diF2KVcmJm5yZj5NKFJoY042KEQ7ak5OKiVedV9TWWpGOzJuZ30qOE93KWQ2TQp6dERrOyVgQExz
ayQ7OXckKGQoSCVPNVVpeElyYFQyWlJjZEA8a05SKUAyMDFVLW1BVnBfSlJHT2AoeU9Taz9ISkQK
el8pbkZlalghc00zSDxWU0NUKFdzLX1pKmBgIVlJTmVnRlVmMzI7YlJhe3ZHZjY5NTFVNjlFOTRv
RVFLQUMtRiV7CnpLfiM3RlVFU01gVH1LaGRAJEVoMVc5LS0+N0RWQz4hOV41QUJKbmhjOHk7b2Uq
eW0jc29Bb1JFS1EydjQ/ZTRDXwp6UzZAfjRUNkBwZmZtP3Q3YE07bGt8Tlp5Vnk/Z2dnN1ooPyZ3
e1BFYDl6MXcoYHRhZXk+M2x3KUs3SU4kYHA9Jn4KenBaTCs7eHBVfEF7ezgjV3BBTW5GZC12fTZU
Mz1wWHA3YElzZWZ0ezZwOFdDMEFFI1RsWmpCRllTaWstRCtoRFBZCnokQWc0ciV+eChYQHElTTdw
STlSMnlMYSFWOT1MP3ZubTtANGJYeU42eWxVblBTMTw0K28wfU1XSzRSZChGc2VsXwp6XikkfWtl
ZlFuejxId0tWWnc7SG9fMyUzbnNGfFojTDdITE1PSj4raENLJG8maCMoZyFHZn12OzcoUnJiISFz
S2QKelYrfmg2Z1RJRSpvOSR1US1Aa3U8V19XeVM5Nm1LJDRTWmAzVSExRV45OXgoZ25AJW9rSGtA
fFQ7bTg5RXpRTlp9CnozKFdHdSFHa1ktSmFLU1BhMnlES0dJQGJtTlN2VzAwQ0dlUUZ+QTAobEdC
VWZMK0pCfDQ/RWs9bTdmRHI1WmxIPQp6bUBhSm8/NXwoSDkkaWd5MnNJXjY0PEEwOWdUcUh8YzZp
PGQjNkRrWiFjUlZXekpgNENJTTVScVReezt1WVNrQ34KelZEaSZMYWQ2PUFhWHxkK2BPejcoMmo7
e2B6KDY/SzZUJFkjM1k0SGskZClNYlYoOGZEI0M5X3kwb3hpaktUU297CnpJKUN7KE9nWSkqcisz
M2hJJX05PjRjTTw8eV8kOVB6P00ldVVVR0lCXyphYCgkPDJLSCNIcilXbj5TPE17TiRGMAp6PyRN
KTFRJTV5Pk80UU44KVl0NnohZT43dDI4aCYqLTRKJFM/cENuI3I1bGoxYCVZYVZqYmR8NF8qTStQ
SDljYUEKejU0VSohMi1hWkQ7JHVfe1V3UFBTN1RuRlBnV3g5KVpuZV5ocWNoWkVJMyhFbz07NEph
ZX1AKWtqbnBJZFdgMXohCnopRns4JiYxYHNnc3AjfS1fKTV4SFZsJClTSTA2azI7cTVRRUIlfihX
WWolZn5qb3ZeSU16Xy1rbztgX314azFuRgp6YXw1PnluNyFzSXV0dmRHUFlwOXlvNFVreDd9Zi1M
IVZsKW5TZVNnLTxEbk00a3lsSkxjUFolZmpvX356Rm1NeT0KekZ6OGB0Z0VkYkdDKGFGelNpb2tA
JVRgZj5PVTU9fTJWdHspQipjcEduM3NJVnhuVHhVM05CVmIpP3lXYXFxUWNPCnpgUXMpSjgqSzVn
Ryh2K0N7elF5c1M4cTJNaEZwWkxTemIxez5le3ZPa3NyMkx1U2JXSztLUUdvKXN4ODQ9Yi1wfQp6
Q3puNEVqV29qY0w9JXpHUkp3PkVmREIrYStgYnElaz5zeF5tPk1MOGp6NUE1czJPSEg/MXIzdHRQ
eTU2K0x4IU0KekBudDlTUzxBeU4yM0koRWUqZ1hWVj5lZXZhcVEoMVF5dihFNE5yM2lNRE5EcU9q
bUNDI0tFOD1haVc4ZGNPMj0/Cno5RlpiITd2YjJjX0h6a3YwUlZ2VjVvY1lwMiQ7by1Fb3FvJDRI
SWg/JiEzb2FrZlN7OCNHWilyMVFoRzBYXj0rZAp6aSlZUUVHckJPRVg1aXNYej9VdW1ZN25EUV5u
QiNTQT5NUkUhe09QQnVAX0AqKnZueExMdjlDWHVVPlh9aHYlUkUKentJNHFwZkVwe25VU2MzNmxB
S1BFeGc+bmpuUU9LPFNQPkQ9OXdHNTBkXjIlfk00VW8zTVUyLUFWVyVeVCFCdE0mCno5Z0tDcGMr
eld0LTBXaUdNOSZAJEVWPTBUWCVaVnVHZDxxK0Z5SXNHZExSWXs4JFd0aklFZzJHc3hSRG5kS042
Rwp6UXhjUmo5bExvSy1mMzJOPFUyQHZXY1YyezYoNnFLVk5IalNNJlpFRVlmUVlIWlYkVklMNzFN
ZXtvfWB2dWtDRX4Kel9gcVNxVFcmVlA5dV4oM0h0PVpYWE85Q00hYD5rQUAtcSUhZUVBU2hUUmlG
NV8hRTEqWC0kdTdQWUhhemZPJUdVCnpDeXEyaGtrSGNzcGFVRU1gVStLfkpyV3ZZRjl9XzdfVXhL
JEhzfXo9IUplO21kNjRZVEBQUylsKUA9T2NHMjtWNgp6dXtEUkVXYClCflUxbUNZYEd+WFVZYjVN
KTh0aWhoUzYzSExrTHJPSyh5U2dmTCE3fU1VIVQrWihCWWdwY094UX0KemxSJDtoNjlDTi1rYHk+
JWspeEFiVj04Mm0+cmkzOWg2e3RmaFJjSSFManhVVmBReVNhNG43fjRZPSNEISNxclpmCnp3ZXBF
dWRIOXd+Mz9EVlgjPzhLNVgwQGByZmJwV3wzKExTc29TT0tUTHI+WjhAcCkrTjcwaHFHXzlfSUIx
WkplSQp6Jjc3QCkwWEk0eldYMEIwazFfJHdQaHIrSW55eTFiVU14RUBfNkRDQzgjV3lkVnkpI2Y/
RDVUQz8pPm85RUkjdFgKenRgMihLMndPOHVhcSZfIWZxfHoobHNgUnhgdTJSfCFkQmhaO3Y1YCo+
dnwocmo0ezcqdXxVK1JETmElVlBTMEZ8CnpmSiViNkhHOF8mI1ooTWoxVF5MUChMOUxCT1ElNiU8
UkF6ZWFPTDVIbSRkPzE2Z21ha15RezM2Un4qU1ZLSj9YRQp6TCpVMkBufm9peEwhY3ZrdGw5WTUk
SmZrT0A5ZUV7dGUmMW1KO3NVbnhrV3k/Ozk1Xl83OzhLZDVzakZsQzUjQXYKelZzOEt4cXUzZnE0
LS1hJDIobFVtJiRfJTdOWEwmb0E2UnNYWT4zMFA7PENlT2h7SygpMUxwJUQteHwoYDs3diEkCnom
REheXkZUVjc+TDg9K0F4VWtDP3A0ZlVDankoREJjVk5XJjd+Z0tDMVI1NVlCdTxyN00yKDYjZUlJ
ZikxfTQ0Rgp6QV81bH5GJmdHMylIcFZOezNGaGY5JSlVbkhaKyVMUFIkeXtAZHNhK2FPQ0gmUDx3
K2Q5QldPcWh2amhMO1Y7KEEKelImSUgjJHkhZzA5Znp8I15lPGsjN19SRH0+c0tpSjtsQFJ0RXtT
LXRtbDlEajNNSztTMXRQVkIrJlgpTS1Pdm4pCnp4JmQmK15NeXF1KVAjeCZsWn03NTtmWnN8YEl5
Qzs8NWBwQjxuSlFNaTd5K3lTeG4rKTwwQSpZYWJ+Qk4heSYzaQp6OTFnSlFpbUF6Qj09eFE9T1Ym
O0lTKmwpfl9+MkUyKS1jJHU8QkdSQFg5fl9wUjhZLVJLK1dLWG9WYE4ya3M4RkcKem94YTFRaTtP
fWUpd2M9KypnSzNHMmN0RSt5OyZaIWslKjwyVGFOTTxrMXYwLUNiJGVXTDJPTmxufEp+Zmg4UnR2
Cnombz58Wj5Felc1aGFyITNkQnAxPjtWLTlMRnptWT1eZDApU2dOVUh3NmR7PmNpUXQtMSh+Kyg1
ZmI5YE9LKjkqbwp6ISE1My1xdkMzQU1ac2hmWE9NRSYwRFN5P2dXMEcrdjQjV2hOJHxsNXVMam8/
YXEjSTRkT0JQUU93RGF3S2soJFEKemQ0fUdKYiFjTVE8ZkgzfXR4cSspe21ZanhyKVBZezUkcEx+
NzZKJFkxNit9dVlEQClhRTwyS3VhfWYzI1BEKX05Cnp2eDNEYzM9ViVqJFNSO0Z6fHZHUD5fajBy
aCFATUFPQDYlVDs9cz9WTCN9ZEdxZGs4T0M0R2plQyFSUE1hYDFRMQp6PCk7Jm02RTU8SUJsNCst
NTFzbj9XdCt3RTJkP3RMdFdJJWYxcWlBclBLWGVXJFBqaShZTU5rVkI1NmpGOVkleXwKemg4KUNm
QWtLJkk1Zl5jc1k2I3FYYUZFdl5AKkNscWFpRGA9dFhWRGUzMTR+M088enZ5P08qZmg8JVRXWlNg
NURWCnojOWRBe29RWEM2VVROamUyZTxqTV5XJEl0ZU59O2lCWi1pYEw7PHBDcUZLVWp2QXNqNjMx
VEZhZ3gtSzlJYX1uKwp6SEFfQSo+fmVUdyVyTU1zaDglPW1KUHQ0bmM2bDZaOUw/MllQMT1pclE7
cGBEJjhORUppM2NBeFlYWEN4eXJkbFEKejxsa1c5LXlWKkF4YipYKEV9XkR2Rm8xTHNIWT9hbipq
b2VZQCNQfnlNNGhfWlp5O2N9TWRHYys2OD5BfkhQOCpqCnp0NzYxaEhfSy1iYiVjISVZJkZPWXBD
NnNNTCVhREkrVH49QVEpXmhuVHp6VlZVbWR2NylmQFp6aSEpKFlFOEgkbgp6Knc/PjAwU1pMMFN3
ZXleOWszRCFwMDgqfUdKeVFNQSEzayNDeXI9OSpsXypEa2pCKztfTU18PGcpTnUzeGJVfVUKejRA
MTFCOzN6K3Y1b2kyJmp0JmJKO1ktSWFZPDEkenJ3aG9JI0d8TFYhQHd5bllPJnQ9SSM3SUljKjxN
UForckkqCno+TSVNbjFSfXZFREctSXleOCorR1djXj95MGVfOUpTbVpRU2dCMXVYe09+I3FhV01J
YShJfm10RTIyeG1NPXFtXwp6I1JyRk1jdi1fQ2FpYDszbGtrWChuVyhSdD5FTSFibjA7I3MzdlZe
fHc4PHFlOWUmbmcpV3ckezh+dVV0alpnJD8KelU7JlpRQnRkfjlXIzNvMEt6cHhDKSZYPT1ZQTcy
ViprK19qJjFXfl89S3dYJCsjI3xWX0kmWUk5NnhJWjxRbylUCnpaWlRVb3ZIV3RmIT08WV4pPHpk
Z28oYD5zOyQze2I2SkhKV09PM0ZebXRXNTZmV2UxdXpWPFNCKjg/Pilqbk5ITQp6NmFvZXhiM2RP
JW5xRzFeaCFndjY1fWtzSHdkNGQ9MVokKnhITlZFMVlnOSM8WVkwcmQ7YWNPS3cwYD5aPkdmZ3EK
enN7dnwmalhOJWUhXjc+U3UkN0EpKkp8TmdaUXwrcSFfTm03ZU5tcXQoIS1JdmBNfih7cCMkNmph
MXNjIzxUYUN6CnopMGM+QFdXZXAmI2RJKlJ0b2FkZk1Eekk3WG5NXng4Km1XaCg9Q2dHYz5LIWFA
KF9NPkBsV3EqclN9eHFjPmVPcQp6ZnR3NDNDdGw/Pjw0NUc8WFRiRlhDcCU5MGkpV0stJEZSY3sl
VV54UF4zOSlxX0pBclAyWVpiLTE1JHs/TGFZUUQKenooJHVaQjZQciE9ckd7WUB1alFiX0l9X314
TG9wdCZqemJ2KnlDeXFQWHFSb1UyWihlRkJnQU9AcU9tR2JpMlZGCnpmTFZTeSMxcWA7OUhlK1Bp
O1dZVEk1dWxKYWw9Vlh1PERzVFVvJF5HXjNhYH44bHUxPiZWZGZGQVR0N2w1OG9QTQp6VWpkcTYm
ODdnQGJUQUJZNSQwMkBCQ1lBPEhwSWRqbDMpNEohR1FfT1VMSip0SD5gO2BJMnNtQDQlfFUjS3p5
RygKemNgfmBoO2I0QFA0X3the08rVHpQKyolSTg3WTd7V2JjeU5ndEpmVE5HNVFQfSZnQTU1S15Q
KVUyaSN0QT53TjZACnpmemlYRUh4cVZ5TCZNPipBcmxFfWRPa0htTChffXY+R0thNDIhOVAjMDha
dD45Zm41R0hSJEFKX2RCcnMpTWMkPAp6OVVeP3E3Mz0zOXZ2P2ZwMztiJkZzPlU0I0tZfX00elhp
dDhuKCFsSD1vMn5HdExONj1lKWBYNlU8YDtHNT16WFcKemJwVWswYEQ8OChpNmFPWS1GZ0xQdnpF
TT56aihSJCEwdHd8UmZKcHlUenY1NUUyZzVZNGNMWXpuKDFtOWpCdyktCnpFPE1iQSNBZWZFUGor
MHs5QWJ3YkFLYz40TS1LVChjLUM8ajU0LXlMVTtraFRYY1B4JjQlVjhBbG1XUVk/bldySQp6ISEr
flpEPFNFbypBUV84SFleNDVTQlAwWSFVaUt3NiUoJHg3OyM8PWdicWdXYlI4LWlmclY+KEl7cjlT
QllYIXkKejtRTzRiN09gPnx1bmg1TChwc0QkNH1TRmEmR0x6WGdRSn1EXmEkdnJHKU5OIUZfeGV0
OVluN1RgVShrJCZoV0B+CnpAXkRKWikqK1VRTyowZzJUYF9jc2M3V3A4JkdoezIrNHRkIVE+Pj0p
bGFwXzJlOGVQdCNsdXd4VXBvSGpgMVZndwp6KWtlPGA0JkpUaHN4QkQoP0JTWTt7P1FadWBzODVk
aGZDeFFnJFhEfjBCNyR+SFg/RDRzeVJANHpORiZkKERmT2gKekk3dGF8X0klfTVseSYzfnRidVVh
JVRwdWkjMyt1aGVTRzkze0x9SDNsZTg4PzskVipoZG9ee0BhSG5JRiYpekluCno0eF9xWShBKUUy
R3dZK2lzaTl1YmA1TjdZeTdra3F8TkFUbkYkWlFRZlBqP1RPbmshdDBeRSkxOzFwZWhrPllRXwp6
dylnbEd2NnxpMlgpKUkyc1dGUC1oZDNXblE+XjJ8cEhFSGpiaWBYRDw7ODZlKmZfejUtT2M2aVBf
eS0kMj5JbFIKekJPYz1UbTZzaFpGOFE8WmxpTlk/dz1QRDBkb3E2P3FCKCNGWEcyb0o5SWQtYGJi
Un5VSTdSUGJWSWFkbE96e1hzCnpPNXQhaihESzZPKTgxT0YoVl82azR+QVNDWHhfWiNrWUI4dUZQ
SFZNTSt7dXpRc0xhQ2doXl48KmY4aXw8NTlvdAp6VmNFO1UjKmRVMms5dDdJenEtUGw0fFFNXlpX
V1J9UFFWRWVkUHg4b2VKIWtrM0s3VDBZO1RRKG57VGFQWXhjOykKenVMLWNeLTB8IyQ5IyhsWTck
KG0ycSNxTFRnVDx+ayY5enA4SSQ/PHkkNCtvIzdaKjNWPjx4YjYjS1VxQ2BPfGdDCnplV2olKkBa
KUlhPWl1UjUkSUZfYHteXmd1VVAramVwezdlKDB8Rz4+aEZRfWlXIyVpRU04MENXYXE9fFMjMVhM
eQp6Zm44KFI7dnhwN25FaChnU28lMSQpKGtqc0g5SUB9dXdadX0pX20zTUsmb3JWOWU/bjE3K3Bt
RXtPSUJCNyMhbmEKemhUOT5CWFJkWkBjPW5lODNlK0AobkMrMV9PU3FHO1NCendZVWtVaXIhIW9s
V01CcGUpSmlUPklWay1gWT1GfUt8Cno4ciM5enYmcTMxbyYhKTE5NkNZfGxiKmwkRmRaZ2RlRThG
QUkzRj9nTnFkfmk1dG5MX20qNyE5Izk4bVc7bGsreAp6QEtlaUtWSS0wUUllSFpVa31NRzxEWk57
JjIpPEB1M1omO3AmKEdTWkZ8ZSNfbmk7NytTTWFiV3QkanZ5IXs4RzkKeiVGUGROYEFCUGRfISNR
TTUwYGtjUFpOJD00Y1RGXiQ9TTxFbFpWamIqYTRLSWBvcCZtJDdQWk9aI2VZcV55Mk53CnojU2gx
U3VwPEZ5JHthV2VSMHRjWGlQbjx4SDZ4ODYodCUkbUk0fip6VWJ4NSpleDQ5RVNjWk1WOSMlWnJA
LT5VQwp6SXJlZ0ZKTzZtOHIhX28wI0ZuRTJ2eG1WM1V5YlYxMytybHUhT3Q4JmAyNTtpJVBZUE0t
PTQyZ2pge2wjJUBteyYKejJudExXKEZ6ZXZCOyV0MVV9Q2V1c3YhMT81b2dhJmVFeXllTVJ+ZjJj
KktqZHJXMCFydjh+KEo3PDJoR3ZgZHk8CnpFJG5kZEZ2RkB3XiYyJXdQdmxjP3l6SnJPVyNGbX52
cHdBUyFAKXoyYztVcEooMkpYSVN2Q2VoXllpRD0kND53UAp6enpwaz5CVHQ3RUAoNzVQJGUhP0ZN
fkpOayFsbVFLJDY+PHRJR2VATD9IS3NzWG9oYHA4aWZuSGN5PEg2VDxyM2cKelZmIXtfcEZjbHdG
b19zO3E4PWcrOX58a2IxJXwkYDhVMzc5e3Rmez9LUjklXyg4Kj0pUXFHR0BGdDcrQU9zN2I/Cnoy
dWNvJlRAaWVVblU5MlNRKV93elY4RGtiOXVCZGw2UT08TnxBdk4+OHBqUygwU1hlMjJXKEdRTWUr
I343Q1hVMQp6TyEjcDU7czclfntRMG91RlA8TnBMQz55eztxc3d9Zz1fV1YjYUJKJGZgTk5eYTJj
KlpvSHp3QUw0bFQoQlJ4PGMKel5maXohM2B5dUM/S1VDY2ZieEB2QFBrWUUhI0M2TVM3P1J0O1Ym
PHsyODZAYzk9PHlJT3lJfC04KlU5eDRta0U9CnpITEhmamt4I3lIUkpUS35abilOYztvIzIpTWkm
fHZMZUVhKnMjZCg9IT5QWlE5Tml7XjFDamA5QnlhIXtSQTR0RQp6KHRQflgmY0RYY0RIdFghcjFe
OzlnOC1sV0JWfF5vODRtQClEWXFEc2U7OW59YTRfVnBJWGYzMElTRmo+RT17JVQKejEtfHNTKHN6
KHphYnFXTjwmdjktKWYra0A0aEYxbjxtNEFWS1IkZW15P0ZBJiZzUTkzbG1NcHtjPzFOUWsqSHhN
Cno8dEtnQGw1TFlsUkZuNzxkK1ZDTzdZRGFjS0g/JjxeRUxBXkN6P0AlPDUxSj1qcmA/O1loUSFI
cD1afmU+THx7Pgp6OHlAJWs7UEM1cW84dSZvLTdIUUcyQkItUDhSfiNMfE41T0hAYHhHTW9JRCpo
TG42ZkB6KHlpWEAxfXw2JithemwKeiRKZCVhOUVwKm9McmZ2IXRqen1Md1N8V2BqZ2JwS3pQJWQ0
NSEwX1A7O0IldnswVXo7MWRjKDwlZkleWmx0YTlACnpeMkMhM1JgQE9xOEB9YVpoWTZwYjBVdGok
ZGNDNyNufTEzdzVlR15uPkB9Qnx2azdQJnNKV1k0dG9WezRNbys+dwp6dnEhM0BnUHVSVlRvcj5i
T2FqWUxoe0RCb05hRks+PEl3cj14OTZMV3k1dWskZUEpVFl5Q24yM1JgRiZNUHJkfH4KemJtNXVs
SkBNK24hYGBTQ3VgdUt5QGFKREhjQUhDSmooaTdANFdSVnw5e18+I0N1V1VvQTJFTDdIWn4wVUZj
aFRgCnpkfD1wWDQhZm8rJlJ9UFkxRCN0YTIweXZrKytjR3psKzhYS3tNR0lrZSlNVzNLSiNHNnlZ
cE1+JVo3dTRHe2hRbQp6bmFnRig0XzNVeylYNF5xOXA+eUFISGA+UjlBTn1iXypoSEtocmdMRmw4
T188KS0yZ2chamZ4MzxpdnxMaSQjcG8KejQ4LVpnXig0UzA7PTx0e1hTM216TjVzZE9vLWdoLTI1
ejspS0BQcnI8V2A0I1YpPlVGSnw5RERxZyhIQSNUYWFgCno7JXBYMnRZTXllSXllZzhmUSs+IWFr
UXVSPkllKTdBTFFyXns+ODl8U0BIWjB8TGd7KU16UGdFRl5FP0BBOXpXUAp6d1RJKDE1R0d5Qz8j
WkJvUThWRTdEI0RrKVN0RFRLWXM1aTVxVl42V2RvJXR4aCNfKm9xP2NQaHpTaEs9S1JAfEIKejBC
bllRPUs+O1R1Qm5tJC1adT83cHVpTmQ0PlNASDxVPUdjRFY8a0RIWURKU2ZsSzdAO21uNEUhM0xp
V0tlSHk0Cno2Q09YRGU4dUxeUDdrfktkT0MzbWxnLThBMylkZHM0dUxOfFc7eXVxNEk3XzAhZmI4
RTF2YjZoYVFXKnlkJWQhcgp6eWIlQFR3RVgmNkFfN0VtIU5+QTZJdXV+eVlQUk54QV5mKnFMZ0Zk
b0NrR3JwI25BREtYb25QOGdAfm0kX3spPlAKeig/b2J8eFotWE8heTBHNGJpXlVqc35zKipaMDBj
MXY5cmt3eVRoUF5ESzglKTdOMkBTJiE1TiVRJXNpJkAzVEp5CnptP2R5MTJuI2pASWEmNX1fQ09s
Kyo4VmREU2teVjchalZJXjBea3hAYDRsSVh1VGolbF5IQyVtbXtZYG8jamhDZwp6SElTYWEyOSFz
ZkxFdzFCIUw+R1VEdSlYfDJkX0hpWTBYfE97T255aVFZPz0wK2khbjtoSmBPfmE/WEtOMnFGP2kK
elNhVEk1JjtaTl5Lb052SyFyZ3Y7RmNJWXNYT2JPeno3QG17TS1JY0RGQ1JSSk1pR1E3b0cqOz5j
bT83VkhqTGA5Cno8fTFKWVYwMWdKKzFrc3xrVyhJXzJEIyEjQyhmUXZlS0dme3daO2I/NClfdU40
bl5QT2d7PytEKjdOSWsmSjtCbgp6aChQKVo4fFE8N0xeWCptUHt8MmhMYFFNXyhHOFJYNXpRZkMo
VGh7MEF5PFhjOCo7KzJtYTdBbiVRX3U8d34kX3IKekZ5d3x+WihVOU48enRpSTkkdkJmS35MQkpF
YTEqNyZLXz1HZUNpODU5SjVodlRARD1jKXN5K2gpJkxSbXk1Z3VvCno5VEZtSmJPRX5zSnh4Ry13
Tm9ITXFAdStjNS1KS0FNVmE5bV5rUU1SdWVjZyVYN3xyPSV0bl82a0pmVS1zNnFNNAp6bk43MHxL
SHx6e0VsLT5edylwek4yTTBPJD5LN2spOG9UU0ZCaypEMzBFZ0o/dU5mOSEqcyN0KDBhNF5BODQ8
KTgKelh0eilVe0coKyRVXz5IQWUxKmFeMilyNismcmR1OGR8PFE3MmIwfWt3QChMJGpeR1VnWisx
Ml9FTmd1MUQ/QnswCnpFKHA7aUtFQ0RnJDMwSCRhZklnKm52THw7UVNEfj0+R2gzb0tKQlpDVVZl
S3UkZ0t3bF9QMVh7QVNZMGhJR1k4VQp6SWNIfVJYT3ZVezJ1Vk9zdlRhaFoqa0s/NihfWjdtbnUo
YU9HIVBiPl8yIXxOZ3g9X0soSEVOeXR7VEl9JERaSXAKelBsdWFQbGk2XzRAYzcmRkMyJjFle1BF
Tjtie1BCPEsxN34hO1JZOXZnWnNDeWlVMHU3U3AlMClwIWNgcHRsMUZZCnpZdFBAei1gWm9uZkJv
UTxCcT1PJFdSbnpeb2V5JjkhakJpeT9FR1B7YCVvX2pZKXo9fjw+V14lSHZWa1pZX01TMwp6Nlk9
Y3ZsLUU7SUwrUm5FKlAxYGhjdiNhWF82Ql50YWJWVjYxWiFCdmU5UTk0RGl8UUtNZ31NI2pgazQq
UHl6KzgKekR+aXRFX2omdEA+KWBsbDIqMiNzXjEhU3k7JWVNKE5DaHxtJUBJVEJpe1dvZzdhI2ww
UTVgdFpeTV9NWVR7P1ZsCnpBdzlBN0lPJm42VFRIYlNUT0lRRGg3bV9eLXg/UHBqX0BaQWR3I2hI
eFAlSm5UYWx5QDdYJCNJM0tsMXMhQ24pcgp6I1ZWWEg7bHJPa2R1eDcjb3liWFFvSGMkNTVuRW41
ekhUTDZoQ0k3THtLZEg+bnYwTFBXfU5MaTI+SzNOOWBTSC0Kemc8Q3l3a3h3aT9wS0dvOCllbmIz
XyRHTU04fk1wSXxIeHEkTT41M3Y7WjhHPDAyfm8oSzlXbUpafDJ2Kk5neSR3Cno1e2RKdUR3T2E/
cDA3TkwoPTFxZyNudTJBOGVWU0wjZFZOITwzLXFOUipodWklTkFjY2VzcitBNERgNXw0V2lFWQp6
bkRIYTwpcXhXWHVXNUY7PUlzajsyZUlXNHVSZU0/JGlAOWZ8RzEoZ0g0ellwTk56Jjt1fC07KHIl
R2B8MChMV14Kej5FI2pBYHlOUmByPlAzRkNnUzkhTG1VPnRPYE0kWldmTnp3OERiNE83fWhZXyh+
MDRhOCt8dE1hQElpa0BiMXY8CnpgUEwofmJVRE1RUEpIN2VYTDwwXnBYIXM3cEsqNG84NitWYzFj
d3FVJFIxaDZBWlM9NCZyYTtjUjRfZmYyKGIwYgp6TUU+P0xpTWVLbUEpWCNiST99REN2ekF9Nkxf
TVV1ZUJ5PmY4MWlVYnhXKEhPUDFZIVR3ZkwkcG1sJTl0ZEZTKD8KekdrM1VoY3lpMz8lKkVAWUh3
TjRlTCFLRmspT2JZZklVKT9PQX49Xm8xRlpRWCk5YUBxRF52e2Y0bGUoUzNFd1AjCnp4bSl3SUh1
dzs4ZH19ZzQqZmBAPTFNdFI2SlJTPHk8WiRUdF9PIXlOeCVCWW12b2BsPzt2Kk9GM1lMQDlIIzZU
Wgp6Ml84bXU3YmBFe2BkVkZRaTc1cHxVVjsqdj0+cjhRTSRfcEw3QjM7PDNhaSpubHVjflNnRzxM
M2pzbmM9NHpQeD4KekJkZUxhYylzRURGXmMwNEExNjYkMXxLM3Y0U2AhTjtgcmw1Uzl9PEJINGNX
SnNLMHx8QlkwTTRIUkVmWTtLdmBRCnpLNnxEUGp+Jk83WTZQaXhgYzB6NypTeiotI1B9a2tEMF8q
MHpRQ3lvM0wlUSZPVzEyN0VjelBkNzF1WEVLNVNoZQp6djJHK2lzV2BEUGBJPjh7SU5hb3hYWnV5
TjhWcFpCd0w1SGl4e1VKYWZnI1FlT0g9TERZOD9sNVZoQHY7QGh9X3MKeiUpZnBJQiN8SG5LJD9L
T0g5ZXBXVDRLUTZPZ2Y8NUYjbH5pNDYqZCQhJE8pTEpAU04yKEt4cyR7WTYjPFlsMGE1CnojZm84
OWdMUWclYk9hdWJXKFRCSmRIODIlPiRrQEUlN3BfVHdzTmB7VF43MDYpR2Ilb2EqPz5RUy1ZVG88
dUBEZgp6PHhBIzM9NDF8SU8+PTRoSTc9Y2F1P0U1aGdxfWBBTlFGZDVlMkxrK1RAZSMrSUQ5d2Am
Kj04fiorRCRLTmFOPF8KeitMdGUwbmtGYDFkMnNGVUBpRjl0aTtxfSllKEhCOTh0NT5IMTdPY0RF
XnkrMzZUekw+JVV2IXA7JGd7PyRaejBfCno1MSlnPm0lbEMqdFFiLWdELUkjV3g+YlZzaW1ORjVa
WlJefUgzTm90R2N3M0UheUA5WCEtazhiSUwpYWN7NzgrYgp6P350d0chb1c+RnZsIW9LMiZ7MVZ2
bEJEazwrNl44Yyg/e1RrclBMSWJLTDNHWlYjVj9ZYkk8Ujk4Ny1vYXF0bDUKeldLKGJyTERXc0RQ
PU5kY0h9OEU3bGR4dFcyeVp0KUs1PXFKVCQ4UUNtSjEjfkhfPGBuM3k7OHdVbCRfMVNrMzFICnp5
VCkyfnBtWj8jbkMqPnZWYS1QQjBZMUJ0YEl8a19hKjhKb05JYWJ3ZUY7WW1WIz9wO0lQX25kMXBw
OExqc2dLJAp6ODtCVCtRR0N0TzVNVSpUPVNpYUQxRVp2SjVFdkQwQUJYVlM8Um88QkBvYHdxWV9S
MmxtKFcjJTI2UT80dSpWWmwKejdlJX5XPTk9YTMrMlBSUDJpSUprXnh8cWhPbVMpX2Q8fWxQMjVX
SX0qbjh7Ykh+O0AzJFZsRj51aSplOSlod1lrCnpmQSkmMTA4TmxFNDA9OFlEfnpyOWFganxYY3dE
QDleVSktMEhYPWAtS1o+allgTlA3R3V2YmdAQHIjckU/RD5tQAp6QlMrWTk5NiZZRFNEUS0jdUxK
N1I7JCUmX3NNUlB9cERUMjcmMk1gRjg0ezNeKmR3fFZ2dVVRSDVDJHElVnRhYzIKel9JJWskS0F4
eHVpbWVnRiFgN3R6NkV8Q3BEMVFnNDIhK1pTUHgqQEJVbWhHMzQhZnFwZyhWaHU0SEE9eD9kSWJP
CnpxblZBYlNFfF92Wip6aU9vSGNJdCleZypiY1d+IXI0NDlHPVhNek9oMjw5VXhVJXtqc0Eob2h0
QHU0bmVQVz53Owp6WT5DK2B6SStpQTJjTTR8bnVqPFlBRU5AezZCemchQGFeJTBXdUhHXmN5aWFn
ZVN3UEk3bHhtYEk8MU1QIVBAMGcKelo9VzZZNEBkcytfXkcyXzsxWDdTR18ldG0rYHMrNVJ8LWIz
PF9aUSoqYVJxPTQtal5QTy13VVBXYSMrd0E+d0BGCnpmdkhJVDtsZUFnTGNmeG1lYHFFYVBDdTh4
PEY3R2hod2tFLTJ+MFdZR14wSDFGeXo1ZXRRbFQ+YFA8WDs9YzhGLQp6X31IYEstYGJ3dEVTRCN5
SzJ+UiNfe2wtIUYhLT5gR3J1fHNTYi1ldTRUT01tKSp0fXtGKmVFaDVyb3okUFlnVjwKejlmfXh4
O0B2TTY3OTRgOEpzK2JjbV5HS3BJPXdpRCRKZzIrU2lfTSF5ITcmXjB9bmJ3eTwmKnttZzNwQClu
cXlRCno/Ml59JD0qZz49ZGMoI34mZ3oyNlBUMTNUMHE1XlNJN3o1K1BEe2FwNmQ9Z254YEgmbUFf
TVFSXyFJVUxNcGl0MQp6T3xjZ1RVO2d4VEhQKn15dERJKEI+RypvUkM0MzF4ZTAhdCtNK0d7VU93
SEV0PCF2dnYrflBKcmRJRFBgeVRKWncKelAhfXdGeW5FV15HNitvaUUoOEFNb1MpUCs2KUEoRSF2
VWFwIzJnZzhINjYpVGE8ZjZxaGBUKStYRHlGbT9ZM0ZOCnpWQXFpUkBLOWo1SE8/TG5ka3FtVXJk
ZUtsSG57eGthY35JUFZiSFY3I2lxOGZgTjspYG8jM1oteGR7SSpqKEApawp6a0pPKWZERjs3JHYy
ZXZjZC1pTip5Pkt7dTxlVUczJF85e0dxaVVpK3d9MnpQQkFzVCpIVVR+bzhqYGc0YlJZJFgKekN+
ViZ2ZEV3UFNndiRaTHM4UUQ5QCMrQUBTPDdLKWo2Sj9ePkV6cHU1LSQoQ2dORn50LTxBP35hZGhK
OTRWJks3CnpSQyVsb0sxNjxUYE92WjlxcmR2ViRNNTsqJWYqamVKYkMpaEQtSGt2RFledmFuYDsx
bzVINjhmYWdzVT0+allecgp6PUl7fXRCakpjYzc4WDlmeGUpc30oMkVsPDJUV3AzMmZ0QjZgR2d5
YDcmemgjSFFVUSQ1NXJ6OFUwNXl+bj5+Rk8Kek1UfDhMPD4tKnAhTlhzVl99R1ZJcFVscjg1KChy
V0Qxd29VbT5ENHdYPUYkVDtscjBtNDJRdEI0bkxoKFdPaX1sCnoydyFuPC1BWXtLPFpFcSskTTxI
QDQhfEpyQHJLY3A3Z3NqJSp7JGoxUFVNM24yUn1BNXNrdzFyPihJT2clWkY9awp6Z2BRUnpUQCtZ
KzxVVlRAdlE4OCprc0p7VDNnWHZWQW1QSzhwRnRGPmFmc3o3UEpIO3xjPkUhNktJSWM8KnFiJW8K
ekVWZlpqNEc5fVF6MSZfeXV0fHI7ekJ5PSErJVcwbykyISsrKTVHSlZWYTQ7SzdjVW9eK18pNE1D
Y1J0XiN+aFllCnpoWmNfZmFJWEleazFCPmk1c1hDOSlAQ0NCR2hiMis0OHZZeHt0X2U3S19OXmhO
M2tfZTQwe0RBMHYxZXloZ2RWYwp6T0dLPVYqMD5xKTk0N3dgNiY0SjlHXkJqXjsyUT1YQGcwSWFz
ZVpaVD8wKj11Z1JkezxfIVI/N1ozYTlDOHp6bzgKelAxaHdSb0VTKDJZK0VgRk0yMnJlaktxPyN5
RGZZPUFVMW1iMm9iTmhoJDk9ODtfU15EKjMxX2xHaGE0Mj13S0V2CnpYSSFuPjxRQiZ0d241NHAp
K21vWiNMNFQ+OzlERXZean5SLWxiMyZvPSY5a21eWUNNKiRBaUc3SCpqUXxVb1A0cAp6U14jSWFR
JlQxRHB2KTMkZFdHXyg3YXpDfTxPbXw9PUc5MWs2NHlqQWJVMGB0bj45T0pjMTw5Mz5EZyo5VEBC
Xz4KekAzenRKeTNgVStZY1UmLUYwUV5FJUhmdkJMITxTP1R2TUJlO01ZSWtzJFVQeWEwIzR2biZY
T3RKcEFVclE8cD4mCnpofmhjYTd6Q3smI2l4Yl5xTEIqSzFXNjFTPUBtIWhwK189NVl4dX59NWsq
IyV3SU0lV0lwd2MkQFE3RzNhUUtMVQp6bl9kaElvY1E0eT8jKUtvUnx8YXAjakJHfTkod3JwXnp7
eXx5X3R5Uj98fUcqdU81RCtDdld9Xz9sfjlDJCV3M14KektuIUEqcHJxX0kkQ0lOOGQ/RndyeTg7
ZFY0bnx7JFMtdVgjbiMyUGhGfmJVQCpCdnxzdmc1X2E0VGRLI2VDemdiCnpfV3tfZTF1b3Y9P2VY
c3J0UE9FfCp2JHI5N29hI2dlKWZiN0gtNVAwWEkpS1pKbl4wbmJwUiEpc2xYSXVQWUB5awp6e1Rp
YWUySVIwK1JEU0ZkUmxHeXNMJEE7WEIxWXQ/MnItNk5wOTB4NXRPb089Y2RPdExgfURCbyFqKl8p
R3d8ISsKellHIT1jIzFaVEVhJWdPfFI5OE9ZeDUkR3BAbD4kbSRLUlNROVgodCopT3EtUGQ5TWwl
bjNFdWhlVytQaUZyVUNgCnpoUWc1Vy09Q0tfdllOcmE4JHBpJXk/Q1FOQTZXN2RkRCRFflQhJmdO
ZGtxZ21lJDZ5MXRlakBBT292TmZKWVY/eQp6PD11VU4kd25zK2RwKkVNM31HWDVhZlR+TC0xdTdh
VlJOdmFadUBIT3ZxcytlM31ON2FmQzM3Pm5hcXQwJFd0T3QKenA+JiQlbitGe1hMXk5GITRDfiZa
YTRKQDtWcm9jbj5CUkJMLW1RPEQweVdHfmtlUWhBO0lEQ1Q8c34pNUxEQXp9CnpvRVJkRyYyUztx
S3lhWm1pXkkhSWhqUnhoOXlmRk5XPCFxcFYocDtkaGBvNkZtdFVASThXTlJFbFFqe0RxNykqagp6
d0lQYCV1b0Q8V2FxTVFLXygmfGEhT3hub1MxMjh2X0I5cTRJdExXS0NSQzdPPzhXalNfVzlEYGk4
RWgkYUV5Q1QKenBCJHUxQnAjK2JjIzdjQGNSNjVedT13enwqS0JjTnohT3QkZEhCKTZ6NWJ0eHdK
YHY+TmRnZzw0NSZTdUttZH5QCnozd1hjfDsrdkhDM2FKNXpZbU5hNlBNOSNQI25lPm1paCU4YTw7
MDE5bSVeOzY7Pn17JVRffGZxRUllRz9gV25UTAp6LW1vXlIhXnxKOXJveVNZLUUyNUduZF9CWWE3
YkwoO0Y8SG8mKVU7IXA1Sjk1QjhqQWM2ZW15OzA9T0Y/c1Y5WVAKekgtSGB2UC17NGRJMjVBNj59
R0x0JFhCNmVJZWxpeSRHI2lpMG02dXY4MlJ7SG84e3otMUl7JipwNzBsTUY5JHJuCnpnZkRKLUwy
NWlhMC12dlZUJnVVPCFHbWthVj1zbihKYkdRaSFJYGpePDVKX0M1LUZoc0tzZ2VEMXB4TUJofnBQ
Jgp6R2VIeSV2Zj82I3Bnb2NmJCkxZ0cwc31zPjIzd3J5NkZTYFpeTWZnR3gjYCU7Wl9uNEJASz12
STtQVH56NH1FVjIKej5uQCNvaW5XRlRRJSp3MSpRfmE5IV8rSTd7OSVmYmtIcDBxemo8WiM5LXs7
KjcpYitvQV49ZHlCRXckTVl5Xj4tCnowSC1GM2ZuKWFmK1h4IStDPz97M2tRSylrQ3ohREZ3fShI
KWR8aXVFbGlMVXoyRD49RSM2Y0slV1Qkc1hINVFJTQp6VipKakUtbnY3S3lTY1hwVGdeN31jaX5+
LUsrTzJ6P3YyblA7YGVgZTZ3IWl1NVV2YVcwMDAwPE1OVU1uTFNUWj0KQzVBQTtkCgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzMyMzM3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1h
Z2Utb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6
IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0
eS9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9zaGFwZS1pbnNpZGUtaW1hZ2Utb3JpZ2luLmh0bWwuIERvbWFp
bnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KKworQ09OU09MRSBNRVNTQUdFOiBV
bnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkv
cmVzb3VyY2VzL3NxdWFyZTEwMC5wbmcgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK1ZlcmlmeSB0aGF0IHNoYXBlLWlu
c2lkZSBhbmQgc2hhcGUtb3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBhIFVSTCB3aXRoIGEgZGlm
ZmVyZW50IG9yaWdpbiBhbmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRvaW5nIHNvIHNldHMgdGhlIHBy
b3BlcnR5IHRvICJub25lIi4gVGhpcyB0ZXN0IHNob3VsZCBnZW5lcmF0ZSB0d28gZXJyb3IgbWVz
c2FnZXMgYWJvdXQgdW5zYWZlIGF0dGVtcHRzIHRvIGxvYWQgYSBVUkwuCisKK1BBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZUluc2lkZSBpcyAicmVj
dGFuZ2xlKDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIgorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZSBpcyAicmVjdGFuZ2xl
KDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlIGlzICJub25lIgorUEFTUyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlT3V0c2lkZSBpcyAi
bm9uZSIKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3No
YXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2hhcGUtaW5zaWRlLWltYWdlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmM5MjI3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1vcmlnaW4uaHRtbApAQCAtMCww
ICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICAjc2hh
cGUgeworICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDAsIDAp
OworICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAwLCAwLCAwKTsK
KyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlZlcmlmeSB0aGF0IHNoYXBl
LWluc2lkZSBhbmQgc2hhcGUtb3V0c2lkZSBjYW4gbm90IGJlIHNldCB0byBhIFVSTCB3aXRoIGEg
ZGlmZmVyZW50IG9yaWdpbgorICBhbmQgdGhhdCB0aGUgcmVzdWx0IG9mIGRvaW5nIHNvIHNldHMg
dGhlIHByb3BlcnR5IHRvICJub25lIi4gVGhpcyB0ZXN0IHNob3VsZCBnZW5lcmF0ZSB0d28gZXJy
b3IKKyAgbWVzc2FnZXMgYWJvdXQgdW5zYWZlIGF0dGVtcHRzIHRvIGxvYWQgYSBVUkwuPC9wPgor
ICA8cCBpZD0iY29uc29sZSI+PC9wPgorCisgIDxkaXYgaWQ9InNoYXBlIj48L2Rpdj4KKworPHNj
cmlwdD4KKyAgdmFyIHNoYXBlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFw
ZSIpOworICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNo
YXBlRWxlbWVudCkud2Via2l0U2hhcGVJbnNpZGUnLCAicmVjdGFuZ2xlKDBweCwgMHB4LCAwcHgs
IDBweCwgMHB4LCAwcHgpIik7CisgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENv
bXB1dGVkU3R5bGUoc2hhcGVFbGVtZW50KS53ZWJraXRTaGFwZU91dHNpZGUnLCAicmVjdGFuZ2xl
KDBweCwgMHB4LCAwcHgsIDBweCwgMHB4LCAwcHgpIik7CisKKyAgLy8gVGhlIGltYWdlIFVSTCdz
IHBvcnQgZG9lcyBub3QgbWF0Y2ggdGhpcyBkb2N1bWVudCdzIG9yaWdpbi4gV2UgZXhwZWN0IGEg
cGFpciBvZiBjb25zb2xlIHdhcm5pbmdzLgorICBzaGFwZUVsZW1lbnQuc3R5bGUud2Via2l0U2hh
cGVJbnNpZGUgPSAndXJsKCJodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2Vz
L3NxdWFyZTEwMC5wbmciKSc7CisgIHNoYXBlRWxlbWVudC5zdHlsZS53ZWJraXRTaGFwZU91dHNp
ZGUgPSAndXJsKCJodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL3NxdWFy
ZTEwMC5wbmciKSc7CisKKyAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShzaGFwZUVsZW1lbnQpLndlYmtpdFNoYXBlSW5zaWRlJywgIm5vbmUiKTsKKyAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzaGFwZUVsZW1lbnQp
LndlYmtpdFNoYXBlT3V0c2lkZScsICJub25lIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA2NDkwMjZiLi5lZTgzYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NTEgQEAKKzIwMTMtMDYtMjAgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTUyBTaGFwZXNdIGxpbWl0IHNoYXBlIGltYWdlIHZhbHVlcyB0byBzYW1lIG9yaWdp
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBS
ZXN0cmljdCB0aGUgaW1hZ2UgVVJMIHZhbHVlcyBmb3Igc2hhcGUtaW5zaWRlIGFuZCBzaGFwZS1v
dXRzaWRlIHRvCisgICAgICAgIHRoZSBzYW1lIG9yaWdpbiBhcyB0aGUgZG9jdW1lbnQuIFRoZSBh
bHBoYSBjaGFubmVsIG9mIGltYWdlIHNoYXBlIHZhbHVlcworICAgICAgICB3aWxsIGJlIHRocmVz
aG9sZGVkIHRvIHByb2R1Y2UgdGhlIHNoYXBlJ3MgYm91bmRhcmllcyAoc2VlIGJ1ZyAxMTY2NDMp
CisgICAgICAgIHNvIG5vcm1hbCBpbWFnZSBhY2Nlc3MgcnVsZXMgYXJlbid0IHNlY3VyZSBlbm91
Z2guCisKKyAgICAgICAgQWRkZWQgYSBSZXF1ZXN0T3JpZ2luUG9saWN5IFJlc291cmNlTG9hZGVy
T3B0aW9uIHdoaWNoIGlzIHVzZWQgYnkKKyAgICAgICAgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRp
bmdTaGFwZUltYWdlKCkgdG8gcmVxdWVzdCB0aGUgYWRkaXRpb25hbCByZXN0cmljdGlvbi4KKyAg
ICAgICAgVGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBubyBvdGhlciBlZmZlY3QgYWx0aG91Z2ggaXQg
ZG9lcyBlbmFibGUgb25lIHRvIGFwcGx5CisgICAgICAgIHRoZSBzYW1lIHJlc3RyaWN0aW9uIHRv
IG90aGVyIHJlc291cmNlcyB3aGljaCBjYW4gY3VycmVudGx5IGJlIGxvYWRlZCBmcm9tCisgICAg
ICAgIGFueSBvcmlnaW4gLSBzZWUgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoKS4K
KworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NoYXBlLWluc2lkZS1pbWFnZS1v
cmlnaW4uaHRtbAorCisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOiBBZGQgYW4gZWZmZWN0aXZlbHkg
b3B0aW9uYWwgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHBhcmFtZXRlci4KKyAgICAgICAgKiBjc3Mv
Q1NTSW1hZ2VWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVk
SW1hZ2UpOiBEaXR0by4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1hZ2UpOiBMb2FkIHRo
ZSBpbWFnZSB3aXRoIHRoZSBkZWZhdWx0IENhY2hlZFJlc291cmNlTG9hZGVyIG9wdGlvbnMgcGx1
cyBSZXN0cmljdFRvU2FtZU9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OmxvYWRQZW5kaW5nSW1hZ2VzKTogQ2FsbCBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UoKS4KKyAgICAg
ICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFp
blJlc291cmNlKTogVXBkYXRlIHRoZSBSZXNvdXJjZUxvYWRlck9wdGlvbnMgc3RhdGljIHZhcmlh
YmxlLgorICAgICAgICAqIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXIpOiBEaXR0by4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpvcHRpb25zKToKKyAgICAgICAg
KiBsb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmg6IEFkZCBSZXF1ZXN0T3JpZ2luUG9saWN5
IGVudW0uCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck9wdGlvbnM6OlJlc291cmNl
TG9hZGVyT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBQ
YXNzIFJlc291cmNlTG9hZGVyT3B0aW9ucyBhbG9uZyB0byByZXZpc2VkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpjYW5SZXF1ZXN0KCkuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RVc2VyQ1NTU3R5bGVTaGVldCk6IFVwZGF0ZSBsb2FkKCkgUmVzb3VyY2VMb2FkZXJPcHRp
b25zLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3Qp
OiBSZXBsYWNlZCBDb250ZW50U2VjdXJpdHlQb2xpY3lDaGVjayBwYXJhbWV0ZXIgd2l0aCBSZXNv
dXJjZUxvYWRlck9wdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFJlc291cmNlKTogUGFzcyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgYWxvbmcgdG8g
cmV2aXNlZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCgpLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMp
OiBBZGRlZCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSBpbml0aWFsaXplci4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KiBsb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2Fk
ZXI6OnN0YXJ0TG9hZGluZyk6IEFkZGVkIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JU
eXBlIGludGlhbGl6ZXIuCisKIDIwMTMtMDYtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBDcmFzaGVzIGR1ZSB0byBOVUxMIGRlcmVmZXJlbmNlIGJlbmVh
dGggV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTVkdEb2N1bWVudHMgYW5kIHJl
bGF0ZWQgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXggZDZj
YTgzNC4uYTA0MGFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtNjMs
MTQgKzYzLDE0IEBAIFN0eWxlSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZE9yUGVuZGluZ0lt
YWdlKCkKICAgICByZXR1cm4gbV9pbWFnZS5nZXQoKTsKIH0KIAotU3R5bGVDYWNoZWRJbWFnZSog
Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikK
K1N0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJlc291
cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykK
IHsKICAgICBBU1NFUlQobG9hZGVyKTsKIAogICAgIGlmICghbV9hY2Nlc3NlZEltYWdlKSB7CiAg
ICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxl
dGVVUkwobV91cmwpKSk7CisgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJl
c291cmNlUmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSksIG9w
dGlvbnMpOwogICAgICAgICBpZiAobV9pbml0aWF0b3JOYW1lLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9yKGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMo
KS5jc3MpOwogICAgICAgICBlbHNlCkBAIC04Miw2ICs4MiwxMSBAQCBTdHlsZUNhY2hlZEltYWdl
KiBDU1NJbWFnZVZhbHVlOjpjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9hZGVy
KQogICAgIHJldHVybiAobV9pbWFnZSAmJiBtX2ltYWdlLT5pc0NhY2hlZEltYWdlKCkpID8gc3Rh
dGljX2Nhc3Q8U3R5bGVDYWNoZWRJbWFnZSo+KG1faW1hZ2UuZ2V0KCkpIDogMDsKIH0KIAorU3R5
bGVDYWNoZWRJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIqIGxvYWRlcikKK3sKKyAgICByZXR1cm4gY2FjaGVkSW1hZ2UobG9hZGVyLCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpKTsKK30KKwogYm9v
bCBDU1NJbWFnZVZhbHVlOjpoYXNGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKCkgY29uc3QK
IHsKICAgICBpZiAoIW1faW1hZ2UgfHwgIW1faW1hZ2UtPmlzQ2FjaGVkSW1hZ2UoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmluZGV4IDYyZTExNjIuLjhiNzNjZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzEsNiArMzEsNyBAQCBjbGFzcyBFbGVtZW50OwogY2xh
c3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiBjbGFzcyBSZW5kZXJPYmpl
Y3Q7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zOwogCiBjbGFzcyBDU1NJbWFnZVZhbHVl
IDogcHVibGljIENTU1ZhbHVlIHsKIHB1YmxpYzoKQEAgLTM4LDYgKzM5LDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IHVybCwgU3R5bGVJbWFnZSogaW1hZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZh
bHVlKHVybCwgaW1hZ2UpKTsgfQogICAgIH5DU1NJbWFnZVZhbHVlKCk7CiAKKyAgICBTdHlsZUNh
Y2hlZEltYWdlKiBjYWNoZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291
cmNlTG9hZGVyT3B0aW9ucyYpOwogICAgIFN0eWxlQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKENh
Y2hlZFJlc291cmNlTG9hZGVyKik7CiAgICAgLy8gUmV0dXJucyBhIFN0eWxlQ2FjaGVkSW1hZ2Ug
aWYgdGhlIGltYWdlIGlzIGNhY2hlZCBhbHJlYWR5LCBvdGhlcndpc2UgYSBTdHlsZVBlbmRpbmdJ
bWFnZS4KICAgICBTdHlsZUltYWdlKiBjYWNoZWRPclBlbmRpbmdJbWFnZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDBiZDE3MmQuLmYzZGFiNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTUyLDYgKzUyLDkgQEAKICNpbmNsdWRlICJDU1NW
YXJpYWJsZVZhbHVlLmgiCiAjZW5kaWYKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgorI2lmIEVO
QUJMRShDU1NfU0hBUEVTKQorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCisjZW5k
aWYKICNpbmNsdWRlICJDYWxjdWxhdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEu
aCIKICNpbmNsdWRlICJDb250ZXh0RmVhdHVyZXMuaCIKQEAgLTQxMDYsNiArNDEwOSwyOCBAQCBQ
YXNzUmVmUHRyPFN0eWxlSW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5
bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbgogICAgIHJldHVybiAwOwogfQogCisKKyNpZiBFTkFCTEUo
Q1NTX1NIQVBFUykKK3ZvaWQgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKFNo
YXBlVmFsdWUqIHNoYXBlVmFsdWUpCit7CisgICAgaWYgKCFzaGFwZVZhbHVlKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBTdHlsZUltYWdlKiBpbWFnZSA9IHNoYXBlVmFsdWUtPmltYWdlKCk7Cisg
ICAgaWYgKCFpbWFnZSB8fCAhaW1hZ2UtPmlzUGVuZGluZ0ltYWdlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW5nSW1hZ2UgPSBzdGF0aWNfY2FzdDxT
dHlsZVBlbmRpbmdJbWFnZSo+KGltYWdlKTsKKyAgICBDU1NJbWFnZVZhbHVlKiBjc3NJbWFnZVZh
bHVlID0gIHBlbmRpbmdJbWFnZS0+Y3NzSW1hZ2VWYWx1ZSgpOworICAgIENhY2hlZFJlc291cmNl
TG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IG1fc3RhdGUuZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKTsKKworICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyBvcHRpb25zID0g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKKyAg
ICBvcHRpb25zLnJlcXVlc3RPcmlnaW5Qb2xpY3kgPSBSZXN0cmljdFRvU2FtZU9yaWdpbjsKKwor
ICAgIHNoYXBlVmFsdWUtPnNldEltYWdlKGNzc0ltYWdlVmFsdWUtPmNhY2hlZEltYWdlKGNhY2hl
ZFJlc291cmNlTG9hZGVyLCBvcHRpb25zKSk7Cit9CisjZW5kaWYKKwogdm9pZCBTdHlsZVJlc29s
dmVyOjpsb2FkUGVuZGluZ0ltYWdlcygpCiB7CiAgICAgaWYgKG1fc3RhdGUucGVuZGluZ0ltYWdl
UHJvcGVydGllcygpLmlzRW1wdHkoKSkKQEAgLTQxODIsMTIgKzQyMDcsMTAgQEAgdm9pZCBTdHls
ZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlcygpCiAgICAgICAgIH0KICNpZiBFTkFCTEUoQ1NT
X1NIQVBFUykKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFNoYXBlSW5zaWRlOgotICAg
ICAgICAgICAgaWYgKG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKSAmJiBtX3N0YXRlLnN0
eWxlKCktPnNoYXBlSW5zaWRlKCktPmltYWdlKCkgJiYgbV9zdGF0ZS5zdHlsZSgpLT5zaGFwZUlu
c2lkZSgpLT5pbWFnZSgpLT5pc1BlbmRpbmdJbWFnZSgpKQotICAgICAgICAgICAgICAgIG1fc3Rh
dGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUoKS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShzdGF0
aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVJbnNpZGUo
KS0+aW1hZ2UoKSkpKTsKKyAgICAgICAgICAgIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShtX3N0YXRl
LnN0eWxlKCktPnNoYXBlSW5zaWRlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRTaGFwZU91dHNpZGU6Ci0gICAgICAgICAgICBpZiAobV9zdGF0
ZS5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKSAmJiBtX3N0YXRlLnN0eWxlKCktPnNoYXBlT3V0c2lk
ZSgpLT5pbWFnZSgpICYmIG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkt
PmlzUGVuZGluZ0ltYWdlKCkpCi0gICAgICAgICAgICAgICAgbV9zdGF0ZS5zdHlsZSgpLT5zaGFw
ZU91dHNpZGUoKS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFnZShzdGF0aWNfY2FzdDxTdHlsZVBl
bmRpbmdJbWFnZSo+KG1fc3RhdGUuc3R5bGUoKS0+c2hhcGVPdXRzaWRlKCktPmltYWdlKCkpKSk7
CisgICAgICAgICAgICBsb2FkUGVuZGluZ1NoYXBlSW1hZ2UobV9zdGF0ZS5zdHlsZSgpLT5zaGFw
ZU91dHNpZGUoKSk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICBkZWZhdWx0
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggMWViZTkzMi4uYWUwODA0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC01ODEsNiArNTgxLDkgQEAgcHJpdmF0ZToK
IAogICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRp
bmdJbWFnZSopOwogICAgIHZvaWQgbG9hZFBlbmRpbmdJbWFnZXMoKTsKKyNpZiBFTkFCTEUoQ1NT
X1NIQVBFUykKKyAgICB2b2lkIGxvYWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZhbHVlKik7Cisj
ZW5kaWYKIAogICAgIHN0YXRpYyB1bnNpZ25lZCBjb21wdXRlTWF0Y2hlZFByb3BlcnRpZXNIYXNo
KGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzKiwgdW5zaWduZWQgc2l6ZSk7CiAgICAgc3RydWN0IE1h
dGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCmluZGV4IDdmNGMzMWYuLmRlNDAwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTM3MSw3ICsxMzcxLDcgQEAgdm9pZCBEb2N1bWVudExv
YWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKCkKIAogICAgIFJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0KG1fcmVxdWVzdCk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZXNvdXJjZUxvYWRl
ck9wdGlvbnMsIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zLAotICAgICAgICAoU2VuZENhbGxiYWNr
cywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tD
bGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2spKTsKKyAgICAgICAgKFNl
bmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50
aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrLCBVc2VE
ZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogICAgIENhY2hlZFJlc291cmNlUmVx
dWVzdCBjYWNoZWRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCwgbWFpblJlc291cmNlTG9hZE9wdGlv
bnMpOwogICAgIG1fbWFpblJlc291cmNlID0gbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVz
dE1haW5SZXNvdXJjZShjYWNoZWRSZXNvdXJjZVJlcXVlc3QpOwogICAgIGlmICghbV9tYWluUmVz
b3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5T
dHJlYW1Mb2FkZXIuY3BwCmluZGV4IGE3OGU4MDcuLmNjNDNlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcApAQCAtMzYs
NyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOZXRzY2FwZVBsdWdJblN0cmVhbUxv
YWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIoRnJhbWUqIGZyYW1lLCBOZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlckNsaWVudCogY2xpZW50KQotICAgIDogUmVzb3VyY2VMb2FkZXIoZnJh
bWUsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIERv
Tm90QnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3Jl
ZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSkKKyAgICA6IFJlc291cmNlTG9hZGVyKGZyYW1l
LCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBEb05v
dEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRl
bnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0Zv
clR5cGUpKQogICAgICwgbV9jbGllbnQoY2xpZW50KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuaAppbmRleCAwYTU0OTliLi5kODJhYTgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtMTYwLDYgKzE2MCw4IEBAIHByb3RlY3RlZDoKIAog
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGFPckJ1ZmZlcihjb25zdCBjaGFyKiwgaW50LCBQYXNzUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4sIGxvbmcgbG9uZyBlbmNvZGVkRGF0YUxlbmd0aCwgRGF0YVBheWxv
YWRUeXBlKTsKIAorICAgIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucygpIHsg
cmV0dXJuIG1fb3B0aW9uczsgfQorCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRs
ZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fZnJhbWU7CiAgICAgUmVmUHRyPERvY3VtZW50TG9hZGVy
PiBtX2RvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyT3B0aW9ucy5oCmluZGV4IGQxYjkwN2IuLjBhMmY4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKQEAgLTU1LDE1ICs1NSwzMSBAQCBlbnVt
IFNlY3VyaXR5Q2hlY2tQb2xpY3kgewogICAgIERvU2VjdXJpdHlDaGVjawogfTsKIAorZW51bSBS
ZXF1ZXN0T3JpZ2luUG9saWN5IHsKKyAgICBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9y
VHlwZSwKKyAgICBSZXN0cmljdFRvU2FtZU9yaWdpbgorfTsKKwogc3RydWN0IFJlc291cmNlTG9h
ZGVyT3B0aW9ucyB7Ci0gICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKCkgOiBzZW5kTG9hZENhbGxi
YWNrcyhEb05vdFNlbmRDYWxsYmFja3MpLCBzbmlmZkNvbnRlbnQoRG9Ob3RTbmlmZkNvbnRlbnQp
LCBkYXRhQnVmZmVyaW5nUG9saWN5KEJ1ZmZlckRhdGEpLCBhbGxvd0NyZWRlbnRpYWxzKERvTm90
QWxsb3dTdG9yZWRDcmVkZW50aWFscyksIGNsaWVudENyZWRlbnRpYWxQb2xpY3koRG9Ob3RBc2tD
bGllbnRGb3JBbnlDcmVkZW50aWFscyksIHNlY3VyaXR5Q2hlY2soRG9TZWN1cml0eUNoZWNrKSB7
IH0KLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2Fk
Q2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZDb250ZW50LCBEYXRhQnVmZmVy
aW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3JlZENyZWRlbnRpYWxzIGFsbG93Q3Jl
ZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY3JlZGVudGlhbFBvbGljeSwgU2VjdXJp
dHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrKQorICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucygp
CisgICAgICAgIDogc2VuZExvYWRDYWxsYmFja3MoRG9Ob3RTZW5kQ2FsbGJhY2tzKQorICAgICAg
ICAsIHNuaWZmQ29udGVudChEb05vdFNuaWZmQ29udGVudCkKKyAgICAgICAgLCBkYXRhQnVmZmVy
aW5nUG9saWN5KEJ1ZmZlckRhdGEpCisgICAgICAgICwgYWxsb3dDcmVkZW50aWFscyhEb05vdEFs
bG93U3RvcmVkQ3JlZGVudGlhbHMpCisgICAgICAgICwgY2xpZW50Q3JlZGVudGlhbFBvbGljeShE
b05vdEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzKQorICAgICAgICAsIHNlY3VyaXR5Q2hlY2so
RG9TZWN1cml0eUNoZWNrKQorICAgICAgICAsIHJlcXVlc3RPcmlnaW5Qb2xpY3koVXNlRGVmYXVs
dE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpCisgICAgeworICAgIH0KKworICAgIFJlc291cmNl
TG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExvYWRDYWxsYmFja3MsIENvbnRl
bnRTbmlmZmluZ1BvbGljeSBzbmlmZkNvbnRlbnQsIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1
ZmZlcmluZ1BvbGljeSwgU3RvcmVkQ3JlZGVudGlhbHMgYWxsb3dDcmVkZW50aWFscywgQ2xpZW50
Q3JlZGVudGlhbFBvbGljeSBjcmVkZW50aWFsUG9saWN5LCBTZWN1cml0eUNoZWNrUG9saWN5IHNl
Y3VyaXR5Q2hlY2ssIFJlcXVlc3RPcmlnaW5Qb2xpY3kgcmVxdWVzdE9yaWdpblBvbGljeSkKICAg
ICAgICAgOiBzZW5kTG9hZENhbGxiYWNrcyhzZW5kTG9hZENhbGxiYWNrcykKICAgICAgICAgLCBz
bmlmZkNvbnRlbnQoc25pZmZDb250ZW50KQogICAgICAgICAsIGRhdGFCdWZmZXJpbmdQb2xpY3ko
ZGF0YUJ1ZmZlcmluZ1BvbGljeSkKICAgICAgICAgLCBhbGxvd0NyZWRlbnRpYWxzKGFsbG93Q3Jl
ZGVudGlhbHMpCiAgICAgICAgICwgY2xpZW50Q3JlZGVudGlhbFBvbGljeShjcmVkZW50aWFsUG9s
aWN5KQogICAgICAgICAsIHNlY3VyaXR5Q2hlY2soc2VjdXJpdHlDaGVjaykKKyAgICAgICAgLCBy
ZXF1ZXN0T3JpZ2luUG9saWN5KHJlcXVlc3RPcmlnaW5Qb2xpY3kpCiAgICAgewogICAgIH0KICAg
ICBTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExvYWRDYWxsYmFja3M7CkBAIC03Miw2ICs4OCw3IEBA
IHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewogICAgIFN0b3JlZENyZWRlbnRpYWxzIGFs
bG93Q3JlZGVudGlhbHM7IC8vIFdoZXRoZXIgSFRUUCBjcmVkZW50aWFscyBhbmQgY29va2llcyBh
cmUgc2VudCB3aXRoIHRoZSByZXF1ZXN0LgogICAgIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY2xp
ZW50Q3JlZGVudGlhbFBvbGljeTsgLy8gV2hlbiB3ZSBzaG91bGQgYXNrIHRoZSBjbGllbnQgZm9y
IGNyZWRlbnRpYWxzIChpZiB3ZSBhbGxvdyBjcmVkZW50aWFscyBhdCBhbGwpLgogICAgIFNlY3Vy
aXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjazsKKyAgICBSZXF1ZXN0T3JpZ2luUG9saWN5IHJl
cXVlc3RPcmlnaW5Qb2xpY3k7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZjRmZTcyYi4u
YWYyNmUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1
ZXN0KFJlc291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3UKICAgICAgICAgICAg
IG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZChtX3Jlc291cmNlKTsKICAgICAgICAg
fQogICAgICAgICAKLSAgICAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyLT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpLT5jYW5SZXF1ZXN0KG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVxdWVzdC51cmwo
KSkpIHsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyLT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLT5jYW5SZXF1ZXN0KG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVxdWVzdC51cmwoKSwgb3B0
aW9ucygpKSkgewogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDg5ODliZjEuLjgwZTJmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTYx
LDcgKzE2MSw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKENhY2hlZFJlc291CiAgICAgaWYgKEZyYW1lKiBmID0g
ZnJhbWUoKSkgewogICAgICAgICBpZiAoZi0+bG9hZGVyKCktPnBhZ2VEaXNtaXNzYWxFdmVudEJl
aW5nRGlzcGF0Y2hlZCgpICE9IEZyYW1lTG9hZGVyOjpOb0Rpc21pc3NhbCkgewogICAgICAgICAg
ICAgS1VSTCByZXF1ZXN0VVJMID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKTsKLSAg
ICAgICAgICAgIGlmIChyZXF1ZXN0VVJMLmlzVmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJl
c291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1ZXN0VVJMKSkKKyAgICAgICAgICAgIGlmIChyZXF1
ZXN0VVJMLmlzVmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291
cmNlLCByZXF1ZXN0VVJMLCByZXF1ZXN0Lm9wdGlvbnMoKSwgcmVxdWVzdC5mb3JQcmVsb2FkKCkp
KQogICAgICAgICAgICAgICAgIFBpbmdMb2FkZXI6OmxvYWRJbWFnZShmLCByZXF1ZXN0VVJMKTsK
ICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CkBAIC0yMTUsNyArMjE1LDcgQEAgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcXVlc3RVc2VyQ1NTU3QKICAgICBtZW1vcnlDYWNoZSgpLT5hZGQodXNlclNoZWV0Lmdl
dCgpKTsKICAgICAvLyBGSVhNRTogbG9hZFJlc291cmNlIGNhbGxzIHNldE93bmluZ0NhY2hlZFJl
c291cmNlTG9hZGVyKCkgaWYgdGhlIHJlc291cmNlIGNvdWxkbid0IGJlIGFkZGVkIHRvIGNhY2hl
LiBEb2VzIHRoaXMgZnVuY3Rpb24gbmVlZCB0byBjYWxsIGl0LCB0b28/CiAKLSAgICB1c2VyU2hl
ZXQtPmxvYWQodGhpcywgUmVzb3VyY2VMb2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywg
U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGll
bnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2spKTsKKyAgICB1c2VyU2hlZXQt
PmxvYWQodGhpcywgUmVzb3VyY2VMb2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywgU25p
ZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRG
b3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0
cmljdGlvbnNGb3JUeXBlKSk7CiAgICAgCiAgICAgcmV0dXJuIHVzZXJTaGVldDsKIH0KQEAgLTMw
Myw3ICszMDMsNyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29u
dGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdAogICAgIHJldHVybiB0cnVlOwog
fQogCi1ib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNl
OjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBmb3JQcmVsb2FkKQorYm9vbCBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgYm9v
bCBmb3JQcmVsb2FkKQogewogICAgIGlmIChkb2N1bWVudCgpICYmICFkb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkpIHsKICAgICAgICAgaWYgKCFmb3JQcmVsb2Fk
KQpAQCAtMzM1LDggKzMzNSwxMCBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1
ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJjZToK
ICNlbmRpZgotICAgICAgICAvLyBUaGVzZSB0eXBlcyBvZiByZXNvdXJjZXMgY2FuIGJlIGxvYWRl
ZCBmcm9tIGFueSBvcmlnaW4uCi0gICAgICAgIC8vIEZJWE1FOiBBcmUgd2Ugc3VyZSBhYm91dCBD
YWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlPworICAgICAgICBpZiAob3B0aW9ucy5yZXF1ZXN0
T3JpZ2luUG9saWN5ID09IFJlc3RyaWN0VG9TYW1lT3JpZ2luICYmICFtX2RvY3VtZW50LT5zZWN1
cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsKKyAgICAgICAgICAgIHByaW50QWNjZXNz
RGVuaWVkTWVzc2FnZSh1cmwpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CiAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZToKQEAgLTQ0Myw3ICs0NDUsNyBAQCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNv
dXJjZShDYWNoZQogICAgIGlmICghdXJsLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICBpZiAoIWNhblJlcXVlc3QodHlwZSwgdXJsLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCisg
ICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdC5vcHRpb25zKCksIHJlcXVlc3Qu
Zm9yUHJlbG9hZCgpKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoRnJhbWUqIGYgPSBm
cmFtZSgpKQpAQCAtOTgwLDcgKzk4Miw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnBy
aW50UHJlbG9hZFN0YXRzKCkKIAogY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpCiB7Ci0gICAgc3Rh
dGljIFJlc291cmNlTG9hZGVyT3B0aW9ucyBvcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29u
dGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxs
Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjayk7CisgICAgc3RhdGljIFJlc291cmNlTG9hZGVy
T3B0aW9ucyBvcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwg
QWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIERvU2Vj
dXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpOwogICAgIHJl
dHVybiBvcHRpb25zOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDBlNTg2ODguLjQ3NjA4MzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0x
MzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6
VHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKICAg
ICB2b2lkIGNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRT
dGF0cygpOwotICAgIGJvb2wgY2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3Qg
S1VSTCYsIGJvb2wgZm9yUHJlbG9hZCA9IGZhbHNlKTsKKyAgICBib29sIGNhblJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMmLCBib29sIGZvclByZWxvYWQgPSBmYWxzZSk7CiAKICAgICBzdGF0aWMgY29uc3QgUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zJiBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKaW5kZXggMTg1NTg1NC4uYzYzMzQ0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKQEAgLTYyLDcg
KzYyLDcgQEAgdm9pZCBJY29uTG9hZGVyOjpzdGFydExvYWRpbmcoKQogICAgIGlmIChtX3Jlc291
cmNlIHx8ICFtX2ZyYW1lLT5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QobV9mcmFtZS0+bG9hZGVy
KCktPmljb24oKS0+dXJsKCkpLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywg
U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERv
Tm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaykpOworICAgIENh
Y2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNlUmVxdWVzdChtX2ZyYW1lLT5sb2Fk
ZXIoKS0+aWNvbigpLT51cmwoKSksIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tz
LCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywg
RG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZh
dWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogCiAjaWYgUExBVEZPUk0oQkxBQ0tCRVJS
WSkKICAgICByZXF1ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKS5zZXRUYXJnZXRUeXBlKFJl
c291cmNlUmVxdWVzdDo6VGFyZ2V0SXNGYXZpY29uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>