<?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>195636</bug_id>
          
          <creation_ts>2019-03-12 12:46:25 -0700</creation_ts>
          <short_desc>Add new NSAttributedString API for converting HTML</short_desc>
          <delta_ts>2019-09-15 21:58:22 -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>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201812</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sroberts</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515615</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 12:46:25 -0700</bug_when>
    <thetext>This moves us into the future and off deprecated WebView.

&lt;rdar://problem/45055697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515623</commentid>
    <comment_count>1</comment_count>
      <attachid>364431</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 12:59:12 -0700</bug_when>
    <thetext>Created attachment 364431
Patch 1 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515624</commentid>
    <comment_count>2</comment_count>
      <attachid>364432</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 13:01:40 -0700</bug_when>
    <thetext>Created attachment 364432
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515625</commentid>
    <comment_count>3</comment_count>
      <attachid>364433</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 13:02:39 -0700</bug_when>
    <thetext>Created attachment 364433
Patch 3 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515626</commentid>
    <comment_count>4</comment_count>
      <attachid>364434</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 13:03:23 -0700</bug_when>
    <thetext>Created attachment 364434
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515639</commentid>
    <comment_count>5</comment_count>
      <attachid>364434</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-12 13:25:22 -0700</bug_when>
    <thetext>Comment on attachment 364434
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKError.mm:74
&gt; +        return WEB_UI_STRING(&quot;Content failed to load as expected&quot;, &quot;WKErrorContentFailedToLoad description&quot;);

The &quot;as expected&quot; seems unnecessary (and actually adds confusion).

&gt; Source/WebKit/UIProcess/API/Cocoa/WKError.mm:77
&gt; +        return WEB_UI_STRING(&quot;An action ended without completing&quot;, &quot;WKErrorActionTimedOut description&quot;);

Can you be more specfic than &quot;an action&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515651</commentid>
    <comment_count>6</comment_count>
      <attachid>364438</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 13:45:09 -0700</bug_when>
    <thetext>Created attachment 364438
Patch 1 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515724</commentid>
    <comment_count>7</comment_count>
      <attachid>364438</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 15:42:55 -0700</bug_when>
    <thetext>Comment on attachment 364438
Patch 1 / 4

Clearing flags on attachment: 364438

Committed r242831: &lt;https://trac.webkit.org/changeset/242831&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515758</commentid>
    <comment_count>8</comment_count>
      <attachid>364476</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 17:04:35 -0700</bug_when>
    <thetext>Created attachment 364476
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515760</commentid>
    <comment_count>9</comment_count>
      <attachid>364477</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 17:05:33 -0700</bug_when>
    <thetext>Created attachment 364477
Patch 3 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515763</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 17:07:20 -0700</bug_when>
    <thetext>Attachment 364476 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:53:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:508:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:510:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Total errors found: 3 in 12 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>1515784</commentid>
    <comment_count>11</comment_count>
      <attachid>364476</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 17:38:06 -0700</bug_when>
    <thetext>Comment on attachment 364476
Patch 2 / 4

Attachment 364476 did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/11482838

Number of test failures exceeded the failure limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515785</commentid>
    <comment_count>12</comment_count>
      <attachid>364482</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 17:38:08 -0700</bug_when>
    <thetext>Created attachment 364482
Archive of layout-test-results from ews105 for mac-highsierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-highsierra-wk2  Platform: Mac OS X 10.13.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515819</commentid>
    <comment_count>13</comment_count>
      <attachid>364434</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-03-12 18:51:57 -0700</bug_when>
    <thetext>Comment on attachment 364434
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:44
&gt; +static const NSRect webViewRect = {{0, 0}, {800, 600}};

Static not necessary. Use constexpr. For this and all const below.

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:266
&gt; +    if ([NSThread isMainThread])

RunLoop class?

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:269
&gt; +        dispatch_async(dispatch_get_main_queue(), runConversion);

RunLoop class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515822</commentid>
    <comment_count>14</comment_count>
      <attachid>364438</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-03-12 18:53:28 -0700</bug_when>
    <thetext>Comment on attachment 364438
Patch 1 / 4

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

&gt; Source/WebCore/editing/cocoa/HTMLConverter.mm:411
&gt; +    Document&amp; document = commonAncestorContainer-&gt;document();

Auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515824</commentid>
    <comment_count>15</comment_count>
      <attachid>364476</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 19:08:50 -0700</bug_when>
    <thetext>Comment on attachment 364476
Patch 2 / 4

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

r=me assuming the issue that the encoder sometimes does not encode the right number of items is fixed.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:89
&gt; +    // Secure coding check is after specific cases.

This just repeats what the code says. We should explain why we need to do this instead.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:105
&gt; +    auto fontClass = [NSFont class];

Why don&apos;t we define PlatformFont somewhere above this line as we do in HTMLConverter
so that we don&apos;t have to have if-defs everywhere.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:126
&gt; +        ASSERT(isSerializableValue(value));
&gt; +        if (!isSerializableValue(value))
&gt; +            continue;

This would make the length not match the number of the encoded items.
That would result in an encoding mismatch down the line and would result in a mysterious crash, etc...
We should probably add a boolean or something to indicate when this happens.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:213
&gt; +        if (!isSerializableValue(key) || !isSerializableValue(value))
&gt; +            continue;

Ditto.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:504
&gt; +namespace WTF {
&gt; +template&lt;&gt; struct EnumTraits&lt;IPC::NSType&gt; {

Why not define this at the beginning of the file instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515856</commentid>
    <comment_count>16</comment_count>
      <attachid>364503</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:29:58 -0700</bug_when>
    <thetext>Created attachment 364503
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515857</commentid>
    <comment_count>17</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:32:49 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #13)
&gt; Comment on attachment 364434 [details]
&gt; Patch 4 / 4
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364434&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:44
&gt; &gt; +static const NSRect webViewRect = {{0, 0}, {800, 600}};
&gt; 
&gt; Static not necessary. Use constexpr. For this and all const below.

Thanks!

&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:266
&gt; &gt; +    if ([NSThread isMainThread])
&gt; 
&gt; RunLoop class?
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:269
&gt; &gt; +        dispatch_async(dispatch_get_main_queue(), runConversion);
&gt; 
&gt; RunLoop class?

I stuck with Cocoa concepts, since this is a Cocoa API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515859</commentid>
    <comment_count>18</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 20:33:31 -0700</bug_when>
    <thetext>Attachment 364503 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:63:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:443:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:445:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Total errors found: 3 in 14 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>1515861</commentid>
    <comment_count>19</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:38:12 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #15)
&gt; Comment on attachment 364476 [details]
&gt; Patch 2 / 4
&gt; 
&gt; &gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:105
&gt; &gt; +    auto fontClass = [NSFont class];
&gt; 
&gt; Why don&apos;t we define PlatformFont somewhere above this line as we do in
&gt; HTMLConverter
&gt; so that we don&apos;t have to have if-defs everywhere.

Makes sense, done!

&gt; &gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:126
&gt; &gt; +        ASSERT(isSerializableValue(value));
&gt; &gt; +        if (!isSerializableValue(value))
&gt; &gt; +            continue;
&gt; 
&gt; This would make the length not match the number of the encoded items.
&gt; That would result in an encoding mismatch down the line and would result in
&gt; a mysterious crash, etc...
&gt; We should probably add a boolean or something to indicate when this happens.

Good catch! I fixed these two cases by looping first and encoding a correct size.

&gt; &gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:504
&gt; &gt; +namespace WTF {
&gt; &gt; +template&lt;&gt; struct EnumTraits&lt;IPC::NSType&gt; {
&gt; 
&gt; Why not define this at the beginning of the file instead?

It looks like we define these traits at the end in most cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515864</commentid>
    <comment_count>20</comment_count>
      <attachid>364505</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:43:38 -0700</bug_when>
    <thetext>Created attachment 364505
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515865</commentid>
    <comment_count>21</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:44:59 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #5)
&gt; Comment on attachment 364434 [details]
&gt; Patch 4 / 4
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364434&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKError.mm:74
&gt; &gt; +        return WEB_UI_STRING(&quot;Content failed to load as expected&quot;, &quot;WKErrorContentFailedToLoad description&quot;);
&gt; 
&gt; The &quot;as expected&quot; seems unnecessary (and actually adds confusion).
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKError.mm:77
&gt; &gt; +        return WEB_UI_STRING(&quot;An action ended without completing&quot;, &quot;WKErrorActionTimedOut description&quot;);
&gt; 
&gt; Can you be more specfic than &quot;an action&quot;?

Thanks, I fixed these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515866</commentid>
    <comment_count>22</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 20:46:01 -0700</bug_when>
    <thetext>Attachment 364505 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:63:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 14 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>1515869</commentid>
    <comment_count>23</comment_count>
      <attachid>364507</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 20:49:46 -0700</bug_when>
    <thetext>Created attachment 364507
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515870</commentid>
    <comment_count>24</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 20:53:19 -0700</bug_when>
    <thetext>Attachment 364507 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:63:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 14 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>1515873</commentid>
    <comment_count>25</comment_count>
      <attachid>364508</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-12 21:00:33 -0700</bug_when>
    <thetext>Created attachment 364508
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515874</commentid>
    <comment_count>26</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-12 21:02:49 -0700</bug_when>
    <thetext>Attachment 364508 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:63:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 14 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>1515887</commentid>
    <comment_count>27</comment_count>
      <attachid>364508</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 22:02:02 -0700</bug_when>
    <thetext>Comment on attachment 364508
Patch 2 / 4

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

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:125
&gt; +    RetainPtr&lt;NSMutableIndexSet&gt; validIndicies = adoptNS([[NSMutableIndexSet alloc] init]);

Why don&apos;t we use our own HashSet? It&apos;s quite a bit faster.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:134
&gt; +        [validIndicies addIndex:i];

It&apos;s more efficient to store the invalid ones since we generally expect invalid set to be empty.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:152
&gt; +        Optional&lt;RetainPtr&lt;id&gt;&gt; value = decodeObject(decoder, nil);

auto?

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:212
&gt; +    RetainPtr&lt;NSMutableOrderedSet&gt; validKeys = adoptNS([[NSMutableOrderedSet alloc] initWithCapacity:dictionary.count]);

Ditto about using HashSet and storing the invalid keys.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:242
&gt; +        Optional&lt;RetainPtr&lt;id&gt;&gt; key = decodeObject(decoder, nil);

auto?

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:246
&gt; +        Optional&lt;RetainPtr&lt;id&gt;&gt; value = decodeObject(decoder, nil);

Ditto.

&gt; Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:353
&gt; +        encodeInternal(encoder, static_cast&lt;NSArray *&gt;(object));

I&apos;d prefer calling these functions encode*Internal as done for decoding instead of
having a bunch of function overloading. But it&apos;s not a big deal even if we landed as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516134</commentid>
    <comment_count>28</comment_count>
      <attachid>364568</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-13 13:27:04 -0700</bug_when>
    <thetext>Created attachment 364568
Patch 2 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516138</commentid>
    <comment_count>29</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-13 13:29:33 -0700</bug_when>
    <thetext>Attachment 364568 did not pass style-queue:


ERROR: Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:66:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 14 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>1516155</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 14:17:46 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 364568:

legacy-animation-engine/animations/animation-end-event-destroy-renderer.html bug 195699 (author: graouts@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516156</commentid>
    <comment_count>31</comment_count>
      <attachid>364568</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 14:18:40 -0700</bug_when>
    <thetext>Comment on attachment 364568
Patch 2 / 4

Clearing flags on attachment: 364568

Committed r242908: &lt;https://trac.webkit.org/changeset/242908&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516157</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 14:18:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516216</commentid>
    <comment_count>33</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-13 15:35:48 -0700</bug_when>
    <thetext>Not done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516248</commentid>
    <comment_count>34</comment_count>
      <attachid>364590</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-13 16:39:47 -0700</bug_when>
    <thetext>Created attachment 364590
Build Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516270</commentid>
    <comment_count>35</comment_count>
      <attachid>364590</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 17:17:29 -0700</bug_when>
    <thetext>Comment on attachment 364590
Build Fix

Clearing flags on attachment: 364590

Committed r242923: &lt;https://trac.webkit.org/changeset/242923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516271</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 17:17:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516539</commentid>
    <comment_count>37</comment_count>
      <attachid>364666</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-14 11:06:41 -0700</bug_when>
    <thetext>Created attachment 364666
Build Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516540</commentid>
    <comment_count>38</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-14 11:06:56 -0700</bug_when>
    <thetext>Opened for build fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516553</commentid>
    <comment_count>39</comment_count>
      <attachid>364666</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 11:40:56 -0700</bug_when>
    <thetext>Comment on attachment 364666
Build Fix

Clearing flags on attachment: 364666

Committed r242950: &lt;https://trac.webkit.org/changeset/242950&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516554</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 11:40:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516665</commentid>
    <comment_count>41</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-14 14:59:19 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516666</commentid>
    <comment_count>42</comment_count>
      <attachid>364693</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-14 14:59:20 -0700</bug_when>
    <thetext>Created attachment 364693
Patch 3 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516667</commentid>
    <comment_count>43</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-14 15:01:53 -0700</bug_when>
    <thetext>Attachment 364693 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebPageProxy.h:975:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit/UIProcess/WebPageProxy.cpp:3606:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:367:  WK_MAC_TBA is neither a version number nor WK_IOS_TBA  [build/wk_api_available] [5]
Total errors found: 3 in 13 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>1516892</commentid>
    <comment_count>44</comment_count>
      <attachid>364693</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-14 22:28:35 -0700</bug_when>
    <thetext>Comment on attachment 364693
Patch 3 / 4

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:187
&gt; +#if PLATFORM(COCOA)
&gt; +    GetContentsAsAttributedString(WebKit::CallbackID callbackID)
&gt; +#endif

Instead of manually managing a callback, can we use a completion handler?
e.g. GetContentsAsAttributedString() -&gt;(struct WebKit::AttributedString result) Async</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516895</commentid>
    <comment_count>45</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-14 22:35:32 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #44)
&gt; Comment on attachment 364693 [details]
&gt; Patch 3 / 4
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364693&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:187
&gt; &gt; +#if PLATFORM(COCOA)
&gt; &gt; +    GetContentsAsAttributedString(WebKit::CallbackID callbackID)
&gt; &gt; +#endif
&gt; 
&gt; Instead of manually managing a callback, can we use a completion handler?
&gt; e.g. GetContentsAsAttributedString() -&gt;(struct WebKit::AttributedString
&gt; result) Async

Yes! Please use the new thing, it&apos;s so much better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517036</commentid>
    <comment_count>46</comment_count>
      <attachid>364817</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 11:39:36 -0700</bug_when>
    <thetext>Created attachment 364817
Patch 3 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517037</commentid>
    <comment_count>47</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 11:40:39 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #45)
&gt; (In reply to Ryosuke Niwa from comment #44)
&gt; &gt; Comment on attachment 364693 [details]
&gt; &gt; Patch 3 / 4
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=364693&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:187
&gt; &gt; &gt; +#if PLATFORM(COCOA)
&gt; &gt; &gt; +    GetContentsAsAttributedString(WebKit::CallbackID callbackID)
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Instead of manually managing a callback, can we use a completion handler?
&gt; &gt; e.g. GetContentsAsAttributedString() -&gt;(struct WebKit::AttributedString
&gt; &gt; result) Async
&gt; 
&gt; Yes! Please use the new thing, it&apos;s so much better.

Awesome, done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517039</commentid>
    <comment_count>48</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-15 11:42:12 -0700</bug_when>
    <thetext>Attachment 364817 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:367:  WK_MAC_TBA is neither a version number nor WK_IOS_TBA  [build/wk_api_available] [5]
Total errors found: 1 in 12 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>1517089</commentid>
    <comment_count>49</comment_count>
      <attachid>364817</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-15 13:21:50 -0700</bug_when>
    <thetext>Comment on attachment 364817
Patch 3 / 4

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

&gt; Source/WebKit/UIProcess/WebPageProxy.h:299
&gt; +#if PLATFORM(COCOA)

Do we have to #ifdef all these things, I wonder? AttributedString is cross-platform, just empty

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:89
&gt; +        EXPECT_WK_STREQ(@&quot;sRGB IEC61966-2.1 colorspace 1 0 0 1&quot;, dynamic_objc_cast&lt;PlatformColor&gt;(documentAttributes[NSBackgroundColorDocumentAttribute]).description);

I wonder if this is actually a safe thing to check. Maybe convert to sRGB and test the components?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517107</commentid>
    <comment_count>50</comment_count>
      <attachid>364817</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 13:51:50 -0700</bug_when>
    <thetext>Comment on attachment 364817
Patch 3 / 4

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.h:299
&gt;&gt; +#if PLATFORM(COCOA)
&gt; 
&gt; Do we have to #ifdef all these things, I wonder? AttributedString is cross-platform, just empty

This line can be removed, it is for the old callback code!

AttributedString is cross-platform, but only WebPageCocoa implements getContentsAsAttributedString(). We would need stubs for the other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517115</commentid>
    <comment_count>51</comment_count>
      <attachid>364837</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 13:58:06 -0700</bug_when>
    <thetext>Created attachment 364837
Patch 3 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517117</commentid>
    <comment_count>52</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-15 14:01:52 -0700</bug_when>
    <thetext>Attachment 364837 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:367:  WK_MAC_TBA is neither a version number nor WK_IOS_TBA  [build/wk_api_available] [5]
Total errors found: 1 in 12 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>1517141</commentid>
    <comment_count>53</comment_count>
      <attachid>364837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-15 14:37:01 -0700</bug_when>
    <thetext>Comment on attachment 364837
Patch 3 / 4

Clearing flags on attachment: 364837

Committed r243012: &lt;https://trac.webkit.org/changeset/243012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517142</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-15 14:37:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517212</commentid>
    <comment_count>55</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 15:46:32 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517213</commentid>
    <comment_count>56</comment_count>
      <attachid>364859</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 15:46:32 -0700</bug_when>
    <thetext>Created attachment 364859
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517214</commentid>
    <comment_count>57</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-15 15:49:51 -0700</bug_when>
    <thetext>Attachment 364859 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:310:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:317:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:325:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:333:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 12 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>1517215</commentid>
    <comment_count>58</comment_count>
      <attachid>364859</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 15:50:26 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:211
&gt; +    if (!range) {

Drive-by null de-deref crash fix I forgot to include in my last change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517229</commentid>
    <comment_count>59</comment_count>
      <attachid>364859</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-15 16:00:39 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKError.h:60
&gt; +    WKErrorContentFailedToLoad WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)),
&gt; +    WKErrorContentLoadTimedOut WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)),

Because of the shared prefix these feel a lot like the ContentRuleList ones :) but are totally unrelated.
Also it&apos;s funny that you won&apos;t get these via normal WebKit loading, despite their relevance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517234</commentid>
    <comment_count>60</comment_count>
      <attachid>364859</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-15 16:01:35 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/SourcesCocoa.txt:239
&gt; +UIProcess/API/Cocoa/NSAttributedString.mm

This... should be further down in this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517243</commentid>
    <comment_count>61</comment_count>
      <attachid>364859</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-15 16:08:34 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h:46
&gt; + @abstract Type definition for the completion handler block used to get asynchronous results.

&quot;asynchronous results&quot;. The abstract alone is pretty vague

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h:61
&gt; + @abstract Loads an HTML URL request and converts the contents into an attributed string.

Is it true to say HTML in all these places? What if we load XML+XSLT? Or an SVG with text in it? (it looks like you&apos;ll bail) What happened in those cases with the old API?

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:106
&gt; +    static auto* cache = [[NSMutableArray&lt;WKWebView *&gt; alloc] initWithCapacity:maximumWebViewCacheSize];

I don&apos;t think I&apos;ve ever seen anyone specify generics on the type in the alloc message send, that is pretty weird. And unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517248</commentid>
    <comment_count>62</comment_count>
      <attachid>364859</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-15 16:10:53 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:250
&gt; +            if ([action._mainFrameNavigation isEqual:contentNavigation.get()])

This is only going to save you from main frame navigation. What do we want to do with subframes? What did the old API do for other subresources?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517251</commentid>
    <comment_count>63</comment_count>
      <attachid>364875</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 16:12:20 -0700</bug_when>
    <thetext>Created attachment 364875
Build Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517263</commentid>
    <comment_count>64</comment_count>
      <attachid>364859</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-15 16:34:38 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:95
&gt; +@interface _WKAttributedStringWebViewCache : NSObject

It appears to me that we should be clearing WKWebView&apos;s upon receiving a memory pressure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517279</commentid>
    <comment_count>65</comment_count>
      <attachid>364875</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-15 16:50:48 -0700</bug_when>
    <thetext>Comment on attachment 364875
Build Fix

Clearing flags on attachment: 364875

Committed r243028: &lt;https://trac.webkit.org/changeset/243028&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517283</commentid>
    <comment_count>66</comment_count>
      <attachid>364880</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 16:55:34 -0700</bug_when>
    <thetext>Created attachment 364880
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517285</commentid>
    <comment_count>67</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 16:56:04 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #64)
&gt; Comment on attachment 364859 [details]
&gt; Patch 4 / 4
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364859&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:95
&gt; &gt; +@interface _WKAttributedStringWebViewCache : NSObject
&gt; 
&gt; It appears to me that we should be clearing WKWebView&apos;s upon receiving a
&gt; memory pressure.

Added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517287</commentid>
    <comment_count>68</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 16:56:31 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #62)
&gt; Comment on attachment 364859 [details]
&gt; Patch 4 / 4
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364859&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:250
&gt; &gt; +            if ([action._mainFrameNavigation isEqual:contentNavigation.get()])
&gt; 
&gt; This is only going to save you from main frame navigation. What do we want
&gt; to do with subframes? What did the old API do for other subresources?

We discussed this. This will indeed block sub-frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517288</commentid>
    <comment_count>69</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-15 16:58:19 -0700</bug_when>
    <thetext>Attachment 364880 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:330:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:337:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:345:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:353:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 12 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>1517289</commentid>
    <comment_count>70</comment_count>
      <attachid>364859</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 16:58:20 -0700</bug_when>
    <thetext>Comment on attachment 364859
Patch 4 / 4

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

&gt;&gt; Source/WebKit/SourcesCocoa.txt:239
&gt;&gt; +UIProcess/API/Cocoa/NSAttributedString.mm
&gt; 
&gt; This... should be further down in this file.

Fixed.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h:46
&gt;&gt; + @abstract Type definition for the completion handler block used to get asynchronous results.
&gt; 
&gt; &quot;asynchronous results&quot;. The abstract alone is pretty vague

Reworded a bit.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h:61
&gt;&gt; + @abstract Loads an HTML URL request and converts the contents into an attributed string.
&gt; 
&gt; Is it true to say HTML in all these places? What if we load XML+XSLT? Or an SVG with text in it? (it looks like you&apos;ll bail) What happened in those cases with the old API?

Yeah, the backend only really works with HTML elements. Undefined if you try anything else I guess.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:106
&gt;&gt; +    static auto* cache = [[NSMutableArray&lt;WKWebView *&gt; alloc] initWithCapacity:maximumWebViewCacheSize];
&gt; 
&gt; I don&apos;t think I&apos;ve ever seen anyone specify generics on the type in the alloc message send, that is pretty weird. And unnecessary.

Removed.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKError.h:60
&gt;&gt; +    WKErrorContentLoadTimedOut WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)),
&gt; 
&gt; Because of the shared prefix these feel a lot like the ContentRuleList ones :) but are totally unrelated.
&gt; Also it&apos;s funny that you won&apos;t get these via normal WebKit loading, despite their relevance.

Fixed the names to be about attributed strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517355</commentid>
    <comment_count>71</comment_count>
      <attachid>364911</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-15 21:17:43 -0700</bug_when>
    <thetext>Created attachment 364911
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517356</commentid>
    <comment_count>72</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-15 21:21:09 -0700</bug_when>
    <thetext>Attachment 364911 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:334:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:341:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:349:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:357:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 13 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>1517448</commentid>
    <comment_count>73</comment_count>
      <attachid>364938</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-16 11:45:20 -0700</bug_when>
    <thetext>Created attachment 364938
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517449</commentid>
    <comment_count>74</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-16 11:47:39 -0700</bug_when>
    <thetext>Attachment 364938 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:334:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:341:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:349:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:357:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 13 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>1517732</commentid>
    <comment_count>75</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-03-18 09:53:19 -0700</bug_when>
    <thetext>TestWebKitAPI.WKWebView.GetContentsShouldReturnAttributedString is crashing on iOS Simulator

Will upload full crash log to Radar.

Reproduced with : 

run-api-tests TestWebKitAPI.WKWebView.GetContentsShouldReturnAttributedString --debug --ios-simulator

Crash Log:

0   JavaScriptCore                	0x000000010bc96f90 WTFCrash + 16
1   com.apple.WebKit              	0x000000010fa9f6cb WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebKit              	0x0000000110c0d406 Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder&amp;, WTF::CompletionHandler&lt;void (WebKit::AttributedString&amp;&amp;)&gt;&amp;&amp;) + 134
3   com.apple.WebKit              	0x000000011035e991 void IPC::Connection::sendWithAsyncReply&lt;Messages::WebPage::GetContentsAsAttributedString, WebKit::AttributedString const&amp;&gt;(Messages::WebPage::GetContentsAsAttributedString&amp;&amp;, WTF::CompletionHandler&lt;void (WebKit::AttributedString const&amp;)&gt;&amp;&amp;, unsigned long long)::&apos;lambda&apos;(IPC::Decoder*)::operator()(IPC::Decoder*) + 97
4   com.apple.WebKit              	0x000000011035e8a2 WTF::Function&lt;void (IPC::Decoder*)&gt;::CallableWrapper&lt;void IPC::Connection::sendWithAsyncReply&lt;Messages::WebPage::GetContentsAsAttributedString, WebKit::AttributedString const&amp;&gt;(Messages::WebPage::GetContentsAsAttributedString&amp;&amp;, WTF::CompletionHandler&lt;void (WebKit::AttributedString const&amp;)&gt;&amp;&amp;, unsigned long long)::&apos;lambda&apos;(IPC::Decoder*)&gt;::call(IPC::Decoder*) + 50</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517783</commentid>
    <comment_count>76</comment_count>
      <attachid>364938</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-18 10:55:10 -0700</bug_when>
    <thetext>Comment on attachment 364938
Patch 4 / 4

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

&gt; Source/WebCore/en.lproj/Localizable.strings:184
&gt; +/* WKErrorContentFailedToLoad description */

The names here don&apos;t match the implementation anymore

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h:49
&gt; + of this block type must expect to be called asynchronously when passed to HTML methods.

&quot;HTML methods&quot; is a bit odd.

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:110
&gt; +    static auto* cache = [[NSMutableArray alloc] initWithCapacity:maximumWebViewCacheSize];

I have a feeling the star&apos;s on the wrong side, but auto is weird :D

&gt; Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm:123
&gt; +        configuration._allowsJavaScriptMarkup = NO;

🎉</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517978</commentid>
    <comment_count>77</comment_count>
      <attachid>365082</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-18 15:52:13 -0700</bug_when>
    <thetext>Created attachment 365082
Patch 4 / 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517979</commentid>
    <comment_count>78</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-03-18 15:53:15 -0700</bug_when>
    <thetext>(In reply to Shawn Roberts from comment #75)
&gt; TestWebKitAPI.WKWebView.GetContentsShouldReturnAttributedString is crashing
&gt; on iOS Simulator
&gt; 
&gt; Will upload full crash log to Radar.
&gt; 
&gt; Reproduced with : 
&gt; 
&gt; run-api-tests
&gt; TestWebKitAPI.WKWebView.GetContentsShouldReturnAttributedString --debug
&gt; --ios-simulator
&gt; 
&gt; Crash Log:
&gt; 
&gt; 0   JavaScriptCore                	0x000000010bc96f90 WTFCrash + 16
&gt; 1   com.apple.WebKit              	0x000000010fa9f6cb WTFCrashWithInfo(int,
&gt; char const*, char const*, int) + 27
&gt; 2   com.apple.WebKit              	0x0000000110c0d406
&gt; Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder&amp;,
&gt; WTF::CompletionHandler&lt;void (WebKit::AttributedString&amp;&amp;)&gt;&amp;&amp;) + 134
&gt; 3   com.apple.WebKit              	0x000000011035e991 void
&gt; IPC::Connection::sendWithAsyncReply&lt;Messages::WebPage::
&gt; GetContentsAsAttributedString, WebKit::AttributedString
&gt; const&amp;&gt;(Messages::WebPage::GetContentsAsAttributedString&amp;&amp;,
&gt; WTF::CompletionHandler&lt;void (WebKit::AttributedString const&amp;)&gt;&amp;&amp;, unsigned
&gt; long long)::&apos;lambda&apos;(IPC::Decoder*)::operator()(IPC::Decoder*) + 97
&gt; 4   com.apple.WebKit              	0x000000011035e8a2 WTF::Function&lt;void
&gt; (IPC::Decoder*)&gt;::CallableWrapper&lt;void
&gt; IPC::Connection::sendWithAsyncReply&lt;Messages::WebPage::
&gt; GetContentsAsAttributedString, WebKit::AttributedString
&gt; const&amp;&gt;(Messages::WebPage::GetContentsAsAttributedString&amp;&amp;,
&gt; WTF::CompletionHandler&lt;void (WebKit::AttributedString const&amp;)&gt;&amp;&amp;, unsigned
&gt; long long)::&apos;lambda&apos;(IPC::Decoder*)&gt;::call(IPC::Decoder*) + 50

Thanks! I filed bug 195916 with a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517998</commentid>
    <comment_count>79</comment_count>
      <attachid>365082</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-18 16:32:26 -0700</bug_when>
    <thetext>Comment on attachment 365082
Patch 4 / 4

Clearing flags on attachment: 365082

Committed r243113: &lt;https://trac.webkit.org/changeset/243113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517999</commentid>
    <comment_count>80</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-18 16:32:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519613</commentid>
    <comment_count>81</comment_count>
      <attachid>364837</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2019-03-21 05:42:28 -0700</bug_when>
    <thetext>Comment on attachment 364837
Patch 3 / 4

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:367
&gt; +- (void)_getContentsAsAttributedStringWithCompletionHandler:(void (^)(NSAttributedString *, NSDictionary&lt;NSAttributedStringDocumentAttributeKey, id&gt; *, NSError *))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_MAC_TBA));

Just for the record, this should have been ios(WK_IOS_TBA) as reported by the EWS style check. Note that this causes build error for people using the public SDK, so it would be nice to avoid it in the future... Thanks!

Fixed in https://trac.webkit.org/changeset/243212</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364431</attachid>
            <date>2019-03-12 12:59:12 -0700</date>
            <delta_ts>2019-03-12 13:45:17 -0700</delta_ts>
            <desc>Patch 1 / 4</desc>
            <filename>bug-195636-20190312125911.patch</filename>
            <type>text/plain</type>
            <size>5478</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmMyMDI2NzU3NDQ1ODFk
Njc4NGVlN2E0N2VmNDY5ODQyNTI2ZWY1Mi4uZjhhNjg5MzU3MTcxNDhhMjFkYzA2MGIyNTFjNTdi
YmY0YjJmZWZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgZG9jdW1l
bnQgYXR0cmlidXRlcyBhbmQgYm9keSBiYWNrZ3JvdW5kIGNvbG9yIHRocm91Z2ggSFRNTENvbnZl
cnRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
NTYzNgorICAgICAgICByZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9jb2NvYS9IVE1MQ29udmVy
dGVyLmg6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tOgorICAgICAg
ICAoSFRNTENvbnZlcnRlcjo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjphdHRyaWJ1dGVk
U3RyaW5nRnJvbVJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OmF0dHJpYnV0ZWRTdHJpbmdGcm9t
U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmF0dHJpYnV0ZWRTdHJpbmdCZXR3ZWVuU3Rh
cnRBbmRFbmQpOgorCiAyMDE5LTAyLTI4ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gSW50cm9kdWNlIG9ic2VydmVyIHN1
YmNsYXNzZXMgdG8gc2NvcGUgY29udGVudCBjaGFuZ2Ugb2JzZXJ2aW5nLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIuaAppbmRleCAyZDU1YTQzZjU4ODQ1MDU0
ZDMxZjBmMzhhNTcyYmY3OTNjMDM1OWI1Li5hYWI0OWM0NzZhNTk2NDQxNWU5OWIzMWUyNGVmYjdi
NzQzZjc2ZDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxD
b252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0
ZXIuaApAQCAtMzUsMTIgKzM1LDEyIEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKIGVudW0g
Y2xhc3MgSW5jbHVkZUltYWdlc0luQXR0cmlidXRlZFN0cmluZyB7IFllcywgTm8gfTsKIAotTlNB
dHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVNlbGVjdGlvbihjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJik7CitOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdGcm9t
U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBOU0RpY3Rpb25hcnkqKiBkb2N1bWVu
dEF0dHJpYnV0ZXMgPSBudWxscHRyKTsKIAogLy8gRm9yIHRlc3RpbmcgcHVycG9zZSBvbmx5Ci1X
RUJDT1JFX0VYUE9SVCBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdCZXR3ZWVu
U3RhcnRBbmRFbmQoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlvbiYpOworV0VCQ09SRV9F
WFBPUlQgTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nQmV0d2VlblN0YXJ0QW5k
RW5kKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9zaXRpb24mLCBOU0RpY3Rpb25hcnkqKiBkb2N1
bWVudEF0dHJpYnV0ZXMgPSBudWxscHRyKTsKIAotV0VCQ09SRV9FWFBPUlQgTlNBdHRyaWJ1dGVk
U3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKFJhbmdlJik7CitXRUJDT1JFX0VYUE9S
VCBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdGcm9tUmFuZ2UoUmFuZ2UmLCBO
U0RpY3Rpb25hcnkqKiBkb2N1bWVudEF0dHJpYnV0ZXMgPSBudWxscHRyKTsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIFdFQkNPUkVfRVhQT1JUIE5TQXR0cmlidXRlZFN0cmluZyAqZWRpdGlu
Z0F0dHJpYnV0ZWRTdHJpbmdGcm9tUmFuZ2UoUmFuZ2UmLCBJbmNsdWRlSW1hZ2VzSW5BdHRyaWJ1
dGVkU3RyaW5nID0gSW5jbHVkZUltYWdlc0luQXR0cmlidXRlZFN0cmluZzo6WWVzKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tCmluZGV4
IGVhZDVkY2EyNjY4ODdlYzFlNDIxNDJlZDQxMDc4ZmZlNDRmM2ZmODIuLmU5NGQ5NzhhYjAxZjUw
M2YwYmE1YzFiMmNkYzIwYWRhNDFjNWQ5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KQEAgLTI3Niw5ICsyNzYsOSBAQCBjbGFzcyBIVE1MQ29u
dmVydGVyIHsKIHB1YmxpYzoKICAgICBIVE1MQ29udmVydGVyKGNvbnN0IFBvc2l0aW9uJiwgY29u
c3QgUG9zaXRpb24mKTsKICAgICB+SFRNTENvbnZlcnRlcigpOwotICAgIAotICAgIE5TQXR0cmli
dXRlZFN0cmluZyogY29udmVydCgpOwotICAgIAorCisgICAgTlNBdHRyaWJ1dGVkU3RyaW5nKiBj
b252ZXJ0KE5TRGljdGlvbmFyeSoqIGRvY3VtZW50QXR0cmlidXRlcyA9IG51bGxwdHIpOworCiBw
cml2YXRlOgogICAgIFBvc2l0aW9uIG1fc3RhcnQ7CiAgICAgUG9zaXRpb24gbV9lbmQ7CkBAIC0z
OTYsNyArMzk2LDcgQEAgSFRNTENvbnZlcnRlcjo6fkhUTUxDb252ZXJ0ZXIoKQogICAgIFtfd3Jp
dGluZ0RpcmVjdGlvbkFycmF5IHJlbGVhc2VdOwogfQogCi1OU0F0dHJpYnV0ZWRTdHJpbmcgKkhU
TUxDb252ZXJ0ZXI6OmNvbnZlcnQoKQorTlNBdHRyaWJ1dGVkU3RyaW5nICpIVE1MQ29udmVydGVy
Ojpjb252ZXJ0KE5TRGljdGlvbmFyeSoqIGRvY3VtZW50QXR0cmlidXRlcykKIHsKICAgICBpZiAo
Y29tcGFyZVBvc2l0aW9ucyhtX3N0YXJ0LCBtX2VuZCkgPiAwKQogICAgICAgICByZXR1cm4gbmls
OwpAQCAtNDA4LDExICs0MDgsMjAgQEAgTlNBdHRyaWJ1dGVkU3RyaW5nICpIVE1MQ29udmVydGVy
Ojpjb252ZXJ0KCkKICAgICBpZiAoIW1fZGF0YVNvdXJjZSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAorICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLT5kb2N1
bWVudCgpOworICAgIGlmIChhdXRvKiBib2R5ID0gZG9jdW1lbnQuYm9keU9yRnJhbWVzZXQoKSkg
eworICAgICAgICBpZiAoUGxhdGZvcm1Db2xvciAqYmFja2dyb3VuZENvbG9yID0gX2NvbG9yRm9y
RWxlbWVudCgqYm9keSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpKQorICAgICAgICAgICAg
W19kb2N1bWVudEF0dHJzIHNldE9iamVjdDpiYWNrZ3JvdW5kQ29sb3IgZm9yS2V5Ok5TQmFja2dy
b3VuZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGVdOworICAgIH0KKwogICAgIF9kb21SYW5nZVN0YXJ0
SW5kZXggPSAwOwogICAgIF90cmF2ZXJzZU5vZGUoKmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLCAw
LCBmYWxzZSAvKiBlbWJlZGRlZCAqLyk7CiAgICAgaWYgKF9kb21SYW5nZVN0YXJ0SW5kZXggPiAw
ICYmIF9kb21SYW5nZVN0YXJ0SW5kZXggPD0gW19hdHRyU3RyIGxlbmd0aF0pCiAgICAgICAgIFtf
YXR0clN0ciBkZWxldGVDaGFyYWN0ZXJzSW5SYW5nZTpOU01ha2VSYW5nZSgwLCBfZG9tUmFuZ2VT
dGFydEluZGV4KV07CiAKKyAgICBpZiAoZG9jdW1lbnRBdHRyaWJ1dGVzKQorICAgICAgICAqZG9j
dW1lbnRBdHRyaWJ1dGVzID0gW1tfZG9jdW1lbnRBdHRycyByZXRhaW5dIGF1dG9yZWxlYXNlXTsK
KwogICAgIHJldHVybiBbW19hdHRyU3RyIHJldGFpbl0gYXV0b3JlbGVhc2VdOwogfQogCkBAIC0y
Mzc1LDIzICsyMzg0LDIzIEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNGaWxlV3JhcHBlcj4gZmlsZVdy
YXBwZXJGb3JFbGVtZW50KEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpCiAjZW5kaWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiAvLyBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIG1vcmUg
SFRNTCBmZWF0dXJlcyB0aGFuIHRoZSBlZGl0aW5nIHZhcmlhbnQgYmVsb3csIHN1Y2ggYXMgdGFi
bGVzLgotTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKFJhbmdl
JiByYW5nZSkKK05TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZShS
YW5nZSYgcmFuZ2UsIE5TRGljdGlvbmFyeSoqIGRvY3VtZW50QXR0cmlidXRlcykKIHsKLSAgICBy
ZXR1cm4gSFRNTENvbnZlcnRlciB7IHJhbmdlLnN0YXJ0UG9zaXRpb24oKSwgcmFuZ2UuZW5kUG9z
aXRpb24oKSB9LmNvbnZlcnQoKTsKKyAgICByZXR1cm4gSFRNTENvbnZlcnRlciB7IHJhbmdlLnN0
YXJ0UG9zaXRpb24oKSwgcmFuZ2UuZW5kUG9zaXRpb24oKSB9LmNvbnZlcnQoZG9jdW1lbnRBdHRy
aWJ1dGVzKTsKIH0KIAotTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVNl
bGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCitOU0F0dHJpYnV0ZWRT
dHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdGcm9tU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rp
b24mIHNlbGVjdGlvbiwgTlNEaWN0aW9uYXJ5KiogZG9jdW1lbnRBdHRyaWJ1dGVzKQogewotICAg
IHJldHVybiBhdHRyaWJ1dGVkU3RyaW5nQmV0d2VlblN0YXJ0QW5kRW5kKHNlbGVjdGlvbi5zdGFy
dCgpLCBzZWxlY3Rpb24uZW5kKCkpOworICAgIHJldHVybiBhdHRyaWJ1dGVkU3RyaW5nQmV0d2Vl
blN0YXJ0QW5kRW5kKHNlbGVjdGlvbi5zdGFydCgpLCBzZWxlY3Rpb24uZW5kKCksIGRvY3VtZW50
QXR0cmlidXRlcyk7CiB9CiAKLU5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZ0Jl
dHdlZW5TdGFydEFuZEVuZChjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBl
bmQpCitOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdCZXR3ZWVuU3RhcnRBbmRF
bmQoY29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kLCBOU0RpY3Rpb25h
cnkqKiBkb2N1bWVudEF0dHJpYnV0ZXMpCiB7Ci0gICAgcmV0dXJuIEhUTUxDb252ZXJ0ZXIgeyBz
dGFydCwgZW5kIH0uY29udmVydCgpOworICAgIHJldHVybiBIVE1MQ29udmVydGVyIHsgc3RhcnQs
IGVuZCB9LmNvbnZlcnQoZG9jdW1lbnRBdHRyaWJ1dGVzKTsKIH0KLSAgICAKKwogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQogCiAvLyBUaGlzIGZ1bmN0aW9uIHVzZXMgVGV4dEl0ZXJhdG9yLCB3
aGljaCBtYWtlcyBvZmZzZXRzIGluIGl0cyByZXN1bHQgY29tcGF0aWJsZSB3aXRoIEhUTUwgZWRp
dGluZy4K
</data>
<flag name="review"
          id="380949"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364432</attachid>
            <date>2019-03-12 13:01:40 -0700</date>
            <delta_ts>2019-03-12 17:04:52 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312130139.patch</filename>
            <type>text/plain</type>
            <size>57016</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhhNjg5MzU3MTcxNDhh
MjFkYzA2MGIyNTFjNTdiYmY0YjJmZWZjYy4uYjc5ZmY3YzEzMjkzMzc3OGJiODMwOGVmMzY0NTI0
ZmU3ZmJiZmFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmg6CisgICAgICAgIChXZWJD
b3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9Gb250QXR0cmlidXRlcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM6OmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEg
Y29uc3QpOiBBZGRlZC4KKwogMjAxOS0wMy0xMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIGRvY3VtZW50IGF0dHJpYnV0ZXMgYW5kIGJvZHkg
YmFja2dyb3VuZCBjb2xvciB0aHJvdWdoIEhUTUxDb252ZXJ0ZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1MGIw
YTU1NzJjNWFhOTE2MjQ4YjFkNDhlZDYzYTVhYTQxZTNmYTIuLmIzOTUyZjg3OTRkMTRlMWUwNWEw
NmU5M2U2MGIzNWZjYWU3NjMwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMDMt
MTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIENvbnNv
bGlkYXRlIEFyZ3VtZW50Q29kZXJzTWFjIGFuZCBBcmd1bWVudENvZGVyc0NvY29hLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTWVyZ2UgdGhlIHR3byBzaW1pbGFyIGVuY29kZXJzIGFuZCBkZWNv
ZGVycy4gVGhpcyBhdm9pZHMgaXNzdWVzIHdoZXJlCisgICAgICAgIG9uZSBlbmNvZGVyIGNvdWxk
IGJlIHVzZWQgYW5kIHRoZSBvdGhlciBkZWNvZGVyLCB3aGljaCBjYXVzZWQgYSBjcmFzaC4KKyAg
ICAgICAgSXQgYWxzbyBzdG9wcyBoYW5kbGluZyBOU0F0dHJpYnV0ZWRTdHJpbmcgc3BlY2l1Zmlj
YWxseSBhbmQganVzdCB1c2VzCisgICAgICAgIHRoZSBOU1NlY3VyZUNvZGluZyBwYXRoIHRvIGhh
bmRsZSBtb3JlIGNvbXBsZXggYXR0cmlidXRlcy4KKworICAgICAgICBTb21lIFdlYkNvcmUgZW5j
b2RlcnMgY29kZSBuZWVkZWQgdG8gbW92ZSB0byBwbGF0Zm9ybSBmaWxlcywgc2luY2UKKyAgICAg
ICAgQXJndW1lbnRDb2RlcnNDb2NvYS5oIHJlcXVpcmVzIGFuIE9iamVjdGl2ZUMrKyBpbXBsZW1l
bnRhdGlvbiB0byB3b3JrLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJz
Q29jb2EuaDoKKyAgICAgICAgKElQQzo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6ZGVjb2RlKToK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+OjplbmNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj46OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OnR5
cGVGcm9tT2JqZWN0KToKKyAgICAgICAgKElQQzo6aXNTZXJpYWxpemFibGVGb250KToKKyAgICAg
ICAgKElQQzo6aXNTZXJpYWxpemFibGVWYWx1ZSk6CisgICAgICAgIChJUEM6OmVuY29kZU9iamVj
dCk6CisgICAgICAgIChJUEM6OmRlY29kZU9iamVjdCk6CisgICAgICAgICogU2hhcmVkL0NvY29h
L0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAo
SVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGVQ
bGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAg
ICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFy
Z3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBD
OjpBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVu
dENvZGVyc01hYy5oOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9tYWMvQXJndW1lbnRDb2Rl
cnNNYWMubW06IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5n
Lm1tOgorICAgICAgICAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nOjplbmNvZGUgY29uc3QpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tOgorICAgICAgICAqIFNvdXJj
ZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTktMDItMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEaXNhYmxlIFdlYiBBbmltYXRpb25zIGluIFNhZmFyaSBUZWNobm9sb2d5IFByZXZpZXcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKaW5kZXggZjFj
NjVhNDhkNjBhMGE4YzVlYWZlM2U2M2MzZTc0YzA5OTQ3YTZmYS4uMTUwNmIzNmJkOTM3YTMyNWRj
NDE4Y2ViYjFlY2IxNjRmZTVhYTA4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0
aW9uYXJ5UG9wdXBJbmZvLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBEaWN0aW9uYXJ5UG9w
dXBJbmZvIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBvcHRpb25zOwogICAgIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGF0dHJpYnV0ZWRT
dHJpbmc7CisKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CisjZWxzZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3Jt
RGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaAppbmRleCA4M2YyNjRlMDliMWRhM2E2ZDBkYzJkYjBh
ZDQzYzVjMzU3MjM5NWQ3Li42MmFiMTY1ZTlmYTRlYWNjNjhlYWZkM2QxMDYxZmVlYWY1OTMxN2Y5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC03OSw3ICs3OSwx
MSBAQCBzdHJ1Y3QgRm9udEF0dHJpYnV0ZXMgewogICAgIGVudW0gY2xhc3MgSG9yaXpvbnRhbEFs
aWdubWVudCA6IHVpbnQ4X3QgeyBMZWZ0LCBDZW50ZXIsIFJpZ2h0LCBKdXN0aWZ5LCBOYXR1cmFs
IH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0
Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBS
ZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBjcmVhdGVEaWN0aW9uYXJ5KCkgY29uc3Q7CisjZWxzZQor
ICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EuaAppbmRleCA5NzZkMzgxMjI4NWRlZWZi
ZTMwMjIxZWJlYjM0NWVmZGUxMWNjMmYwLi5mMDgxODFkMDc1ZjQyNzRlMmFmOGZmM2ZjYTIzNjVh
MWQ3ZjBkYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVu
dENvZGVyc0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRD
b2RlcnNDb2NvYS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgsIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zMSwxNyArMzEsMTUgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQg
ZW5jb2RlT2JqZWN0KEVuY29kZXImLCBpZCA8TlNTZWN1cmVDb2Rpbmc+KTsKLU9wdGlvbmFsPFJl
dGFpblB0cjxpZCA8TlNTZWN1cmVDb2Rpbmc+Pj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0Fy
cmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpOwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYs
IGlkKTsKK09wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU9iamVjdChEZWNvZGVyJiwgTlNB
cnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gT3B0
aW9uYWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYsIENsYXNzIGFsbG93ZWRDbGFzcyk7
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNv
ZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwor
dGVtcGxhdGU8dHlwZW5hbWUgVD4gdXNpbmcgSXNPYmpDT2JqZWN0ID0gc3RkOjplbmFibGVfaWZf
dDxzdGQ6OmlzX2NvbnZlcnRpYmxlPFQgKiwgaWQ+Ojp2YWx1ZSwgVCAqPjsKIAotdGVtcGxhdGU8
dHlwZW5hbWUgVD4KLU9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIENsYXNzIGFsbG93ZWRDbGFzcykKLXsKLSAgICByZXR1cm4gZGVjb2RlPFQ+KGRlY29kZXIs
IEBbIGFsbG93ZWRDbGFzcyBdKTsKLX0KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0g
SXNPYmpDT2JqZWN0PFQ+PiB2b2lkIGVuY29kZShFbmNvZGVyJiwgVCAqKTsKK3RlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiBib29sIGRlY29kZShEZWNvZGVy
JiwgUmV0YWluUHRyPFQ+Jik7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNP
YmpDT2JqZWN0PFQ+PiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNB
cnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwogCiAjaWZuZGVm
IE5ERUJVRwogCkBAIC01Niw3ICs1NCwyMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNPYmplY3RD
bGFzc0FsbG93ZWQoaWQgb2JqZWN0LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZQogCiAj
ZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVu
YW1lPgordm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgVCAqb2JqZWN0KQoreworICAgIGVu
Y29kZU9iamVjdChlbmNvZGVyLCBvYmplY3QpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZT4KK2Jvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxUPiYgcmVz
dWx0KQoreworICAgIGF1dG8gb2JqZWN0ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIEBbIFtUIGNs
YXNzXSBdKTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJl
c3VsdCA9IG9iamVjdC52YWx1ZSgpOworICAgIHJldHVybiB0cnVlOworfQorCit0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZT4KIE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKICAgICBhdXRv
IHJlc3VsdCA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CkBAIC03MSwx
MCArODUsOCBAQCBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCiAgICAgcmV0dXJuIHsgYWRvcHROUyhz
dGF0aWNfY2FzdDxUICo+KG9iamVjdCkpIH07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHVz
aW5nIENvbmZvcm1zVG9TZWN1cmVDb2RpbmcgPSBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQgKiwgaWQg
PE5TU2VjdXJlQ29kaW5nPj47Ci0KIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFQgKj4gewotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9p
Zl90PENvbmZvcm1zVG9TZWN1cmVDb2Rpbmc8VT46OnZhbHVlPiogPSBudWxscHRyPgorICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFUgPSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KICAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgVSAqb2JqZWN0KQogICAgIHsKICAg
ICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIG9iamVjdCk7CkBAIC04MiwxNiArOTQsMTYgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7CiB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+IHsK
LSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9ybXNU
b1NlY3VyZUNvZGluZzxVPjo6dmFsdWU+KiA9IG51bGxwdHI+Ci0gICAgc3RhdGljIHZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJldGFpblB0cjxVPiYgb2JqZWN0KQorICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFUgPSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KKyAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmV0YWluUHRyPFQ+JiBv
YmplY3QpCiAgICAgewotICAgICAgICBBcmd1bWVudENvZGVyPFUgKj46OmVuY29kZShlbmNvZGVy
LCBvYmplY3QuZ2V0KCkpOworICAgICAgICBBcmd1bWVudENvZGVyPFQgKj46OmVuY29kZShlbmNv
ZGVyLCBvYmplY3QuZ2V0KCkpOwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVID0g
VCwgc3RkOjplbmFibGVfaWZfdDxDb25mb3Jtc1RvU2VjdXJlQ29kaW5nPFU+Ojp2YWx1ZT4qID0g
bnVsbHB0cj4KLSAgICBzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRyPFU+PiBkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVCwgdHlwZW5hbWUgPSBJc09i
akNPYmplY3Q8VT4+CisgICAgc3RhdGljIE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCiAgICAgewotICAgICAgICByZXR1cm4gSVBDOjpkZWNvZGU8VT4oZGVj
b2Rlcik7CisgICAgICAgIHJldHVybiBJUEM6OmRlY29kZTxUPihkZWNvZGVyKTsKICAgICB9CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVy
c0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2Nv
YS5tbQppbmRleCBjYzRiY2QzM2YyZGFmZjA0ZjY2MmMwOGJhMGU5MWE0N2RkZDYyZmE3Li5hMTE0
ZjJhMzYzZTE0ZGE1ZmI2MDFjYWVkNjQ5NjdjMzRkZGI3NjE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDM2ICszMSw0OTQg
QEAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2Ev
TlNLZXllZEFyY2hpdmVyU1BJLmg+CiAKKyNpZiBVU0UoQVBQS0lUKQorI2ltcG9ydCA8V2ViQ29y
ZS9Db2xvck1hYy5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBJUEMgewordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK2VudW0gY2xhc3MgTlNUeXBlIHsKKyAgICBBcnJheSwKKyNpZiBVU0UoQVBQ
S0lUKQorICAgIENvbG9yLAorI2VuZGlmCisgICAgRGF0YSwKKyAgICBEYXRlLAorICAgIERpY3Rp
b25hcnksCisgICAgRm9udCwKKyAgICBOdW1iZXIsCisgICAgU2VjdXJlQ29kaW5nLAorICAgIFN0
cmluZywKKyAgICBVUkwsCisgICAgVW5rbm93biwKK307CisKK3N0YXRpYyBOU1R5cGUgdHlwZUZy
b21PYmplY3QoaWQgb2JqZWN0KQoreworICAgIEFTU0VSVChvYmplY3QpOworCisjaWYgVVNFKEFQ
UEtJVCkKKyAgICBhdXRvIGZvbnRDbGFzcyA9IFtOU0ZvbnQgY2xhc3NdOworI2Vsc2UKKyAgICBh
dXRvIGZvbnRDbGFzcyA9IFtVSUZvbnQgY2xhc3NdOworI2VuZGlmCisKKyAgICAvLyBTcGVjaWZp
YyBjbGFzc2VzIGhhbmRsZWQuCisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJh
eSBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpBcnJheTsKKyNpZiBVU0UoQVBQS0lU
KQorICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKKyAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6Q29sb3I7CisjZW5kaWYKKyAgICBpZiAoW29iamVjdCBpc0tpbmRP
ZkNsYXNzOltOU0RhdGEgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0YTsKKyAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkKKyAgICAgICAgcmV0
dXJuIE5TVHlwZTo6RGF0ZTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rp
b25hcnkgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKKyAgICBp
ZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOmZvbnRDbGFzc10pCisgICAgICAgIHJldHVybiBOU1R5
cGU6OkZvbnQ7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIgY2xhc3Nd
XSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6TnVtYmVyOworICAgIGlmIChbb2JqZWN0IGlzS2lu
ZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OlN0cmlu
ZzsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1VSTCBjbGFzc11dKQorICAgICAg
ICByZXR1cm4gTlNUeXBlOjpVUkw7CisKKyAgICAvLyBTZWN1cmUgY29kaW5nIGNoZWNrIGlzIGFm
dGVyIHNwZWNpZmljIGNhc2VzLgorICAgIGlmIChbb2JqZWN0IGNvbmZvcm1zVG9Qcm90b2NvbDpA
cHJvdG9jb2woTlNTZWN1cmVDb2RpbmcpXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6U2VjdXJl
Q29kaW5nOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIE5TVHlwZTo6
VW5rbm93bjsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzU2VyaWFsaXphYmxlRm9udChDVEZv
bnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5QXR0cmlidXRlKGZv
bnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKTsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzU2Vy
aWFsaXphYmxlVmFsdWUoaWQgdmFsdWUpCit7CisjaWYgVVNFKEFQUEtJVCkKKyAgICBhdXRvIGZv
bnRDbGFzcyA9IFtOU0ZvbnQgY2xhc3NdOworI2Vsc2UKKyAgICBhdXRvIGZvbnRDbGFzcyA9IFtV
SUZvbnQgY2xhc3NdOworI2VuZGlmCisgICAgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOmZvbnRD
bGFzc10pCisgICAgICAgIHJldHVybiBpc1NlcmlhbGl6YWJsZUZvbnQoKF9fYnJpZGdlIENURm9u
dFJlZil2YWx1ZSk7CisgICAgcmV0dXJuIHR5cGVGcm9tT2JqZWN0KHZhbHVlKSAhPSBOU1R5cGU6
OlVua25vd247Cit9CisKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVy
LCBOU0FycmF5ICphcnJheSkKK3sKKyAgICAvLyBFdmVuIHRob3VnaCBOU0FycmF5IGlzIHRvbGwg
ZnJlZSBicmlkZ2VkIHdpdGggQ0ZBcnJheVJlZiwgdmFsdWVzIG1heSBub3QgYmUsCisgICAgLy8g
c28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCisKKyAgICBOU1VJbnRl
Z2VyIHNpemUgPSBhcnJheS5jb3VudDsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2
NF90PihzaXplKTsKKworICAgIGZvciAoaWQgdmFsdWUgaW4gYXJyYXkpIHsKKyAgICAgICAgLy8g
SWdub3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBBU1NFUlQoaXNTZXJpYWxp
emFibGVWYWx1ZSh2YWx1ZSkpOworICAgICAgICBpZiAoIWlzU2VyaWFsaXphYmxlVmFsdWUodmFs
dWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgZW5jb2RlKGVuY29kZXIsIHZh
bHVlKTsKKyAgICB9Cit9CisKK3N0YXRpYyBib29sIGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNv
ZGVyLCBSZXRhaW5QdHI8TlNBcnJheT4mIHJlc3VsdCkKK3sKKyAgICB1aW50NjRfdCBzaXplOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gYXJyYXkgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
QXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOworICAgIGZvciAodWludDY0X3Qg
aSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4g
dmFsdWUgPSBkZWNvZGVPYmplY3QoZGVjb2RlciwgbmlsKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgW2FycmF5IGFkZE9iamVjdDp2YWx1
ZS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBhZG9wdE5TKGFycmF5Lmxl
YWtSZWYoKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNpZiBVU0UoQVBQS0lUKQorc3RhdGlj
IHZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIE5TQ29sb3IgKmNvbG9yKQorewor
ICAgIGVuY29kZXIgPDwgY29sb3JGcm9tTlNDb2xvcihjb2xvcik7Cit9CisKK3N0YXRpYyBib29s
IGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNDb2xvcj4mIHJlc3Vs
dCkKK3sKKyAgICBDb2xvciBjb2xvcjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNvbG9yKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gbnNDb2xvcihjb2xvcik7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgZW5jb2RlT2JqZWN0KEVu
Y29kZXImIGVuY29kZXIsIE5TRGF0YSAqZGF0YSkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9f
YnJpZGdlIENGRGF0YVJlZilkYXRhKTsKK30KKworc3RhdGljIGJvb2wgZGVjb2RlT2JqZWN0KERl
Y29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0RhdGE+JiByZXN1bHQpCit7CisgICAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gZGF0YTsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRhICopZGF0
YS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgdm9pZCBlbmNvZGVP
YmplY3QoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRlICpkYXRlKQoreworICAgIGVuY29kZShlbmNv
ZGVyLCAoX19icmlkZ2UgQ0ZEYXRlUmVmKWRhdGUpOworfQorCitzdGF0aWMgYm9vbCBkZWNvZGVP
YmplY3QoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TRGF0ZT4mIHJlc3VsdCkKK3sKKyAg
ICBSZXRhaW5QdHI8Q0ZEYXRlUmVmPiBkYXRlOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRh
dGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXN1bHQgPSBhZG9wdE5TKChOU0Rh
dGUgKilkYXRlLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CiAKLXZvaWQgZW5jb2Rl
T2JqZWN0KEVuY29kZXImIGVuY29kZXIsIGlkIDxOU1NlY3VyZUNvZGluZz4gb2JqZWN0KQorc3Rh
dGljIHZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIE5TRGljdGlvbmFyeSAqZGlj
dGlvbmFyeSkKK3sKKyAgICAvLyBFdmVuIHRob3VnaCBOU0RpY3Rpb25hcnkgaXMgdG9sbCBmcmVl
IGJyaWRnZWQgd2l0aCBDRkRpY3Rpb25hcnlSZWYsIGtleXMvdmFsdWVzIG1heSBub3QgYmUsCisg
ICAgLy8gc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCisKKyAgICBO
U1VJbnRlZ2VyIHNpemUgPSBkaWN0aW9uYXJ5LmNvdW50OworICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDY0X3Q+KHNpemUpOworCisgICAgZm9yIChpZCBrZXkgaW4gZGljdGlvbmFyeSkg
eworICAgICAgICBpZCB2YWx1ZSA9IGRpY3Rpb25hcnlba2V5XTsKKyAgICAgICAgQVNTRVJUKHZh
bHVlKTsKKworICAgICAgICAvLyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHN1cHBvcnQuCisgICAg
ICAgIEFTU0VSVChpc1NlcmlhbGl6YWJsZVZhbHVlKGtleSkpOworICAgICAgICBBU1NFUlQoaXNT
ZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOworICAgICAgICBpZiAoIWlzU2VyaWFsaXphYmxlVmFs
dWUoa2V5KSB8fCAhaXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpCisgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICBlbmNvZGUoZW5jb2Rlciwga2V5KTsKKyAgICAgICAgZW5jb2RlKGVu
Y29kZXIsIHZhbHVlKTsKKyAgICB9Cit9CisKK3N0YXRpYyBib29sIGRlY29kZU9iamVjdChEZWNv
ZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiYgcmVzdWx0KQoreworICAgIHVp
bnQ2NF90IHNpemU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGRpY3Rpb25h
cnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0
eTpzaXplXSk7CisgICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAg
ICAgICBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBrZXkgPSBkZWNvZGVPYmplY3QoZGVjb2Rlciwg
bmlsKTsKKyAgICAgICAgaWYgKCFrZXkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gdmFsdWUgPSBkZWNvZGVPYmplY3QoZGVjb2Rl
ciwgbmlsKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBbZGljdGlvbmFyeSBzZXRPYmplY3Q6dmFsdWUudmFsdWUoKS5nZXQoKSBmb3JL
ZXk6a2V5LnZhbHVlKCkuZ2V0KCldOworICAgIH0KKworICAgIHJlc3VsdCA9IGFkb3B0TlMoZGlj
dGlvbmFyeS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0cnVlOworfQorCisjaWYgVVNFKEFQUEtJ
VCkKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVyLCBOU0ZvbnQgKmZv
bnQpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJp
YnV0ZXMpOworfQorCitzdGF0aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2Rlciwg
UmV0YWluUHRyPE5TRm9udD4mIHJlc3VsdCkKK3sKKyAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBmb250QXR0cmlidXRlczsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250QXR0cmlidXRl
cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIE5TRm9udERlc2NyaXB0b3IgKmZvbnRE
ZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJp
YnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOworICAgIHJlc3VsdCA9IFtOU0ZvbnQgZm9udFdp
dGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorI2Vsc2UKK3ZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIFVJRm9udCAq
Zm9udCkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0
cmlidXRlcyk7Cit9CisKK2Jvb2wgZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29kZXIsIFJldGFp
blB0cjxVSUZvbnQ+JiByZXN1bHQpCit7CisgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9u
dEF0dHJpYnV0ZXM7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBVSUZvbnREZXNjcmlwdG9yICpmb250RGVzY3Jp
cHRvciA9IFtVSUZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVz
OmZvbnRBdHRyaWJ1dGVzLmdldCgpXTsKKyAgICByZXN1bHQgPSBbVUlGb250IGZvbnRXaXRoRGVz
Y3JpcHRvcjpmb250RGVzY3JpcHRvciBzaXplOjBdOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KyNlbmRpZiAvLyBVU0UoQVBQS0lUKQorCitzdGF0aWMgdm9pZCBlbmNvZGVPYmplY3QoRW5jb2Rl
ciYgZW5jb2RlciwgTlNOdW1iZXIgKm51bWJlcikKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9f
YnJpZGdlIENGTnVtYmVyUmVmKW51bWJlcik7Cit9CisKK3N0YXRpYyBib29sIGRlY29kZU9iamVj
dChEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNOdW1iZXI+JiByZXN1bHQpCit7CisgICAg
UmV0YWluUHRyPENGTnVtYmVyUmVmPiBudW1iZXI7CisgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwg
bnVtYmVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gYWRvcHROUygo
TlNOdW1iZXIgKiludW1iZXIubGVha1JlZigpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3Rh
dGljIHZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIGlkIDxOU09iamVjdCwgTlNT
ZWN1cmVDb2Rpbmc+IG9iamVjdCkKIHsKICAgICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2
ZXIoKTsKICAgICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0Om9iamVjdCBmb3JLZXk6TlNLZXllZEFy
Y2hpdmVSb290T2JqZWN0S2V5XTsKICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0g
ICAgSVBDOjplbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJjaGl2ZXIgZW5j
b2RlZERhdGFdKTsKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJj
aGl2ZXIgZW5jb2RlZERhdGFdKTsKIH0KIAotT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3Vy
ZUNvZGluZz4+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4g
KmFsbG93ZWRDbGFzc2VzKQorc3RhdGljIGJvb2wgZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29k
ZXIsIFJldGFpblB0cjxpZCA8TlNPYmplY3QsIE5TU2VjdXJlQ29kaW5nPj4mIHJlc3VsdCwgTlNB
cnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQogeworICAgIEFTU0VSVChhbGxvd2VkQ2xhc3Nl
cyAmJiBhbGxvd2VkQ2xhc3Nlcy5jb3VudCk7CisgICAgaWYgKCFhbGxvd2VkQ2xhc3NlcyB8fCAh
YWxsb3dlZENsYXNzZXMuY291bnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIFJldGFp
blB0cjxDRkRhdGFSZWY+IGRhdGE7CiAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0YSkpCi0g
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IGF1dG8gdW5hcmNoaXZlciA9IHNlY3VyZVVuYXJjaGl2ZXJGcm9tRGF0YSgoX19icmlkZ2UgTlNE
YXRhICopZGF0YS5nZXQoKSk7CiAgICAgQHRyeSB7Ci0gICAgICAgIGlkIHJlc3VsdCA9IFt1bmFy
Y2hpdmVyIGRlY29kZU9iamVjdE9mQ2xhc3NlczpbTlNTZXQgc2V0V2l0aEFycmF5OmFsbG93ZWRD
bGFzc2VzXSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKKyAgICAgICAgcmVz
dWx0ID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOltOU1NldCBzZXRXaXRoQXJy
YXk6YWxsb3dlZENsYXNzZXNdIGZvcktleTpOU0tleWVkQXJjaGl2ZVJvb3RPYmplY3RLZXldOwog
ICAgICAgICBBU1NFUlQoIXJlc3VsdCB8fCBbcmVzdWx0IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJv
dG9jb2woTlNTZWN1cmVDb2RpbmcpXSk7Ci0gICAgICAgIHJldHVybiB7IHJlc3VsdCB9OworICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikg
ewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgb2JqZWN0IG9mIGNsYXNzZXMg
JUA6ICVAIiwgYWxsb3dlZENsYXNzZXMsIGV4Y2VwdGlvbik7Ci0gICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9IEBmaW5hbGx5IHsKICAgICAg
ICAgW3VuYXJjaGl2ZXIgZmluaXNoRGVjb2RpbmddOwogICAgIH0KIH0KIAorc3RhdGljIHZvaWQg
ZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIE5TU3RyaW5nICpzdHJpbmcpCit7CisgICAg
ZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilzdHJpbmcpOworfQorCitzdGF0
aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TU3RyaW5n
PiYgcmVzdWx0KQoreworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nOworICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIHN0cmluZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHJlc3VsdCA9IGFkb3B0TlMoKE5TU3RyaW5nICopc3RyaW5nLmxlYWtSZWYoKSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVy
LCBOU1VSTCAqVVJMKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZVUkxSZWYp
VVJMKTsKK30KKworc3RhdGljIGJvb2wgZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29kZXIsIFJl
dGFpblB0cjxOU1VSTD4mIHJlc3VsdCkKK3sKKyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IFVSTDsK
KyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICByZXN1bHQgPSBhZG9wdE5TKChOU1VSTCAqKVVSTC5sZWFrUmVmKCkpOworICAgIHJldHVy
biB0cnVlOworfQorCit2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVyLCBpZCBvYmpl
Y3QpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxib29sPighb2JqZWN0KTsKKyAgICBp
ZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTlNUeXBlIHR5cGUgPSB0eXBlRnJv
bU9iamVjdChvYmplY3QpOworICAgIGVuY29kZXIgPDwgdHlwZTsKKworICAgIHN3aXRjaCAodHlw
ZSkgeworICAgIGNhc2UgTlNUeXBlOjpBcnJheToKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29k
ZXIsIHN0YXRpY19jYXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyNp
ZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBlOjpDb2xvcjoKKyAgICAgICAgZW5jb2RlT2Jq
ZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQ29sb3IgKj4ob2JqZWN0KSk7CisgICAgICAgIHJl
dHVybjsKKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OgorICAgICAgICBlbmNv
ZGVPYmplY3QoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5ICo+KG9iamVjdCkpOwor
ICAgICAgICByZXR1cm47CisjaWYgVVNFKEFQUEtJVCkKKyAgICBjYXNlIE5TVHlwZTo6Rm9udDoK
KyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRm9udCAqPihvYmpl
Y3QpKTsKKyAgICAgICAgcmV0dXJuOworI2Vsc2UKKyAgICBjYXNlIE5TVHlwZTo6Rm9udDoKKyAg
ICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PFVJRm9udCAqPihvYmplY3Qp
KTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6Ok51bWJlcjoKKyAg
ICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVtYmVyICo+KG9iamVj
dCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OlNlY3VyZUNvZGluZzoKKyAg
ICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PGlkIDxOU09iamVjdCwgTlNT
ZWN1cmVDb2Rpbmc+PihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBl
OjpTdHJpbmc6CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1N0
cmluZyAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpEYXRl
OgorICAgICAgICBlbmNvZGVPYmplY3QoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRlICo+KG9i
amVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6CisgICAgICAg
IGVuY29kZU9iamVjdChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2JqZWN0KSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6VVJMOgorICAgICAgICBlbmNvZGVPYmpl
Y3QoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNVUkwgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQor
CitPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2Rlciwg
TlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQoreworICAgIGJvb2wgaXNOdWxsOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaXNOdWxsKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKyAgICBpZiAoaXNOdWxsKQorICAgICAgICByZXR1cm4geyBudWxscHRyIH07CisKKyAgICBO
U1R5cGUgdHlwZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh0eXBlKSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgTlNU
eXBlOjpBcnJheTogeworICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYXJyYXk7CisgICAgICAg
IGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIsIGFycmF5KSkKKyAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiB7IGFycmF5IH07CisgICAgfQorI2lmIFVTRShB
UFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkNvbG9yOiB7CisgICAgICAgIFJldGFpblB0cjxOU0Nv
bG9yPiBjb2xvcjsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVjb2RlciwgY29sb3IpKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgY29sb3Ig
fTsKKyAgICB9CisjZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeTogeworICAgICAg
ICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBkaWN0aW9uYXJ5OworICAgICAgICBpZiAoIWRlY29k
ZU9iamVjdChkZWNvZGVyLCBkaWN0aW9uYXJ5KSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisgICAgICAgIHJldHVybiB7IGRpY3Rpb25hcnkgfTsKKyAgICB9CisjaWYgVVNFKEFQ
UEtJVCkKKyAgICBjYXNlIE5TVHlwZTo6Rm9udDogeworICAgICAgICBSZXRhaW5QdHI8TlNGb250
PiBmb250OworICAgICAgICBpZiAoIWRlY29kZU9iamVjdChkZWNvZGVyLCBmb250KSkKKyAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiB7IGZvbnQgfTsKKyAg
ICB9CisjZWxzZQorICAgIGNhc2UgTlNUeXBlOjpGb250OiB7CisgICAgICAgIFJldGFpblB0cjxV
SUZvbnQ+IGZvbnQ7CisgICAgICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIsIGZvbnQpKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgZm9udCB9
OworICAgIH0KKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6IHsKKyAgICAgICAgUmV0
YWluUHRyPE5TTnVtYmVyPiBudW1iZXI7CisgICAgICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29k
ZXIsIG51bWJlcikpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBy
ZXR1cm4geyBudW1iZXIgfTsKKyAgICB9CisgICAgY2FzZSBOU1R5cGU6OlNlY3VyZUNvZGluZzog
eworICAgICAgICBSZXRhaW5QdHI8aWQgPE5TT2JqZWN0LCBOU1NlY3VyZUNvZGluZz4+IG9iamVj
dDsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVjb2Rlciwgb2JqZWN0LCBhbGxvd2VkQ2xh
c3NlcykpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4g
eyBvYmplY3QgfTsKKyAgICB9CisgICAgY2FzZSBOU1R5cGU6OlN0cmluZzogeworICAgICAgICBS
ZXRhaW5QdHI8TlNTdHJpbmc+IHN0cmluZzsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVj
b2Rlciwgc3RyaW5nKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAg
IHJldHVybiB7IHN0cmluZyB9OworICAgIH0KKyAgICBjYXNlIE5TVHlwZTo6RGF0ZTogeworICAg
ICAgICBSZXRhaW5QdHI8TlNEYXRlPiBkYXRlOworICAgICAgICBpZiAoIWRlY29kZU9iamVjdChk
ZWNvZGVyLCBkYXRlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAg
IHJldHVybiB7IGRhdGUgfTsKKyAgICB9CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6IHsKKyAgICAg
ICAgUmV0YWluUHRyPE5TRGF0YT4gZGF0YTsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVj
b2RlciwgZGF0YSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBy
ZXR1cm4geyBkYXRhIH07CisgICAgfQorICAgIGNhc2UgTlNUeXBlOjpVUkw6IHsKKyAgICAgICAg
UmV0YWluUHRyPE5TVVJMPiB1cmw7CisgICAgICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIs
IHVybCkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4g
eyB1cmwgfTsKKyAgICB9CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIH0KKwor
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElQQwogCituYW1l
c3BhY2UgV1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpOU1R5cGU+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBJUEM6Ok5TVHlwZSwKKyAg
ICAgICAgSVBDOjpOU1R5cGU6OkFycmF5LAorICAgICNpZiBVU0UoQVBQS0lUKQorICAgICAgICBJ
UEM6Ok5TVHlwZTo6Q29sb3IsCisgICAgI2VuZGlmCisgICAgICAgIElQQzo6TlNUeXBlOjpEYXRh
LAorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0ZSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkRpY3Rp
b25hcnksCisgICAgICAgIElQQzo6TlNUeXBlOjpGb250LAorICAgICAgICBJUEM6Ok5TVHlwZTo6
TnVtYmVyLAorICAgICAgICBJUEM6Ok5TVHlwZTo6U2VjdXJlQ29kaW5nLAorICAgICAgICBJUEM6
Ok5TVHlwZTo6U3RyaW5nLAorICAgICAgICBJUEM6Ok5TVHlwZTo6VVJMLAorICAgICAgICBJUEM6
Ok5TVHlwZTo6VW5rbm93bgorICAgID47Cit9OworfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVy
c0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2Nv
YS5tbQppbmRleCA4MTcwZjIyMWU3Mjc2YzBiMTc4ZTM0ZjBjMmNkY2Y4NDkxN2I5NWUwLi42YTE1
YzliODVmZjkzNDZjM2FlYzgxZGU0N2FkOTMzMDlkMjY2ZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0KQEAgLTI4LDcgKzI4LDcg
QEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi0jaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNNYWMu
aCIKKyNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NvY29hLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRl
eCA5NjA5MjhmYmIyMTI4YmY5NTBhYjlkZTBmMTZjYzg3ZWE5NTliY2VlLi4xNDVkMDlkYzVjYmIz
NTE2ODg3YmE0MTg0NTg0MDQ3NjI1NmQwYjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMjYsMTcg
KzI2LDI0IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgogCisjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgiCisjaW1wb3J0IDxXZWJD
b3JlL0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KKyNpbXBvcnQgPFdlYkNvcmUvRm9udEF0dHJpYnV0
ZXMuaD4KKwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJz
Q29jb2EuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGF5
bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaD4KICNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29m
dExpbmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNLZXllZEFyY2hpdmVyU1BJLmg+CiAK
KyNlbmRpZgorCiBuYW1lc3BhY2UgSVBDIHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCisj
aWYgRU5BQkxFKEFQUExFX1BBWSkKKwogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1l
bnQ+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYgcGF5
bWVudCkKIHsKICAgICBlbmNvZGVyIDw8IHBheW1lbnQucGtQYXltZW50KCk7CkBAIC00MDgsNSAr
NDE1LDYyIEBAIE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlPiBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkCiAgICAgcmV0dXJuIHt7IFdURk1vdmUo
Km5ld1RvdGFsQW5kTGluZUl0ZW1zKSB9fTsKIH0KIAorI2VuZGlmIC8vIEVOQUJMRShBUFBMRVBB
WSkKKwordm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6RGljdGlv
bmFyeVBvcHVwSW5mbyYgaW5mbykKK3sKKyAgICBib29sIGhhZE9wdGlvbnMgPSBpbmZvLm9wdGlv
bnM7CisgICAgZW5jb2RlciA8PCBoYWRPcHRpb25zOworICAgIGlmIChoYWRPcHRpb25zKQorICAg
ICAgICBlbmNvZGVyIDw8IGluZm8ub3B0aW9uczsKKworICAgIGJvb2wgaGFkQXR0cmlidXRlZFN0
cmluZyA9IGluZm8uYXR0cmlidXRlZFN0cmluZzsKKyAgICBlbmNvZGVyIDw8IGhhZEF0dHJpYnV0
ZWRTdHJpbmc7CisgICAgaWYgKGhhZEF0dHJpYnV0ZWRTdHJpbmcpCisgICAgICAgIGVuY29kZXIg
PDwgaW5mby5hdHRyaWJ1dGVkU3RyaW5nOwogfQotI2VuZGlmCisKK2Jvb2wgQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29k
ZXImIGRlY29kZXIsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mIHJlc3VsdCkKK3sKKyAg
ICBib29sIGhhZE9wdGlvbnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRPcHRpb25zKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChoYWRPcHRpb25zKSB7CisgICAgICAgIGlm
ICghSVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0gZWxzZQorICAgICAgICByZXN1bHQub3B0aW9ucyA9IG51bGxwdHI7
CisKKyAgICBib29sIGhhZEF0dHJpYnV0ZWRTdHJpbmc7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYWRBdHRyaWJ1dGVkU3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICho
YWRBdHRyaWJ1dGVkU3RyaW5nKSB7CisgICAgICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rlciwg
cmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0gZWxzZQorICAgICAgICByZXN1bHQuYXR0cmlidXRlZFN0cmluZyA9IG51bGxwdHI7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRBdHRy
aWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNv
cmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQoreworICAgIGJvb2wgaGFzRm9udCA9IGF0
dHJpYnV0ZXMuZm9udDsKKyAgICBlbmNvZGVyIDw8IGhhc0ZvbnQ7CisgICAgaWYgKGhhc0ZvbnQp
CisgICAgICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OworfQorCitPcHRpb25hbDxGb250
QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29k
ZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYg
YXR0cmlidXRlcykKK3sKKyAgICBib29sIGhhc0ZvbnQgPSBmYWxzZTsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGhhc0ZvbnQpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
aWYgKGhhc0ZvbnQgJiYgIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMuZm9udCkpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gYXR0cmlidXRlczsKK30K
KworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcAppbmRleCBmN2ViYjBlOWZkYWExYmY4YzI3YmZkZTFmYjkzY2E5NDUy
ZDc0OWMwLi5jODJkYTAyNTEyODJmZmYyZmFhZDQ4MmUwYjg4MTAyNzdkNjJkMTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTkwLDcg
KzkwLDYgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJz
Q0YuaCIKLSNpbmNsdWRlICJBcmd1bWVudENvZGVyc01hYy5oIgogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQpAQCAtMjU5OSwxNyArMjU5OCwxMyBAQCB2b2lkIEFyZ3VtZW50Q29k
ZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIsIGNv
bnN0IERpYwogICAgIGVuY29kZXIgPDwgaW5mby5vcmlnaW47CiAgICAgZW5jb2RlciA8PCBpbmZv
LnRleHRJbmRpY2F0b3I7CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGhhZE9wdGlv
bnMgPSBpbmZvLm9wdGlvbnM7Ci0gICAgZW5jb2RlciA8PCBoYWRPcHRpb25zOwotICAgIGlmICho
YWRPcHRpb25zKQotICAgICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBpbmZvLm9wdGlvbnMuZ2V0
KCkpOwotCi0gICAgYm9vbCBoYWRBdHRyaWJ1dGVkU3RyaW5nID0gaW5mby5hdHRyaWJ1dGVkU3Ry
aW5nOwotICAgIGVuY29kZXIgPDwgaGFkQXR0cmlidXRlZFN0cmluZzsKLSAgICBpZiAoaGFkQXR0
cmlidXRlZFN0cmluZykKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgaW5mby5hdHRyaWJ1
dGVkU3RyaW5nLmdldCgpKTsKLSNlbmRpZgorICAgIGlmIChpbmZvLmVuY29kaW5nUmVxdWlyZXNQ
bGF0Zm9ybURhdGEoKSkgeworICAgICAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgICAgIGVuY29k
ZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBpbmZvKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGVuY29kZXIgPDwgZmFsc2U7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxEaWN0aW9uYXJ5
UG9wdXBJbmZvPjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgRGljdGlvbmFyeVBvcHVw
SW5mbyYgcmVzdWx0KQpAQCAtMjYyMywyNSArMjYxOCwxMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8
RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIERpY3Rp
b25hcgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzdWx0LnRleHRJbmRpY2F0b3IgPSBX
VEZNb3ZlKCp0ZXh0SW5kaWNhdG9yKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wg
aGFkT3B0aW9uczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhZE9wdGlvbnMpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGhhZE9wdGlvbnMpIHsKLSAgICAgICAgaWYgKCFJUEM6
OmRlY29kZShkZWNvZGVyLCByZXN1bHQub3B0aW9ucykpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfSBlbHNlCi0gICAgICAgIHJlc3VsdC5vcHRpb25zID0gbnVsbHB0cjsKLQotICAg
IGJvb2wgaGFkQXR0cmlidXRlZFN0cmluZzsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhZEF0
dHJpYnV0ZWRTdHJpbmcpKQorICAgIGJvb2wgaGFzUGxhdGZvcm1EYXRhOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoaGFzUGxhdGZvcm1EYXRhKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGlmIChoYWRBdHRyaWJ1dGVkU3RyaW5nKSB7Ci0gICAgICAgIGlmICghSVBDOjpkZWNvZGUoZGVj
b2RlciwgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQuYXR0cmlidXRlZFN0cmluZyA9IG51bGxwdHI7
Ci0jZW5kaWYKKyAgICBpZiAoaGFzUGxhdGZvcm1EYXRhKQorICAgICAgICByZXR1cm4gZGVjb2Rl
UGxhdGZvcm1EYXRhKGRlY29kZXIsIHJlc3VsdCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAg
LTMwNDUsMTIgKzMwMjYsMTIgQEAgdm9pZCBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEZvbnRBdHRyaWJ1dGUKICAgICBlbmNvZGVy
IDw8IGF0dHJpYnV0ZXMuYmFja2dyb3VuZENvbG9yIDw8IGF0dHJpYnV0ZXMuZm9yZWdyb3VuZENv
bG9yIDw8IGF0dHJpYnV0ZXMuZm9udFNoYWRvdyA8PCBhdHRyaWJ1dGVzLmhhc1VuZGVybGluZSA8
PCBhdHRyaWJ1dGVzLmhhc1N0cmlrZVRocm91Z2ggPDwgYXR0cmlidXRlcy50ZXh0TGlzdHM7CiAg
ICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF0dHJpYnV0ZXMuaG9yaXpvbnRhbEFsaWdubWVudCk7CiAg
ICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF0dHJpYnV0ZXMuc3Vic2NyaXB0T3JTdXBlcnNjcmlwdCk7
Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYXNGb250ID0gYXR0cmlidXRlcy5mb250
OwotICAgIGVuY29kZXIgPDwgaGFzRm9udDsKLSAgICBpZiAoaGFzRm9udCkKLSAgICAgICAgSVBD
OjplbmNvZGUoZW5jb2RlciwgYXR0cmlidXRlcy5mb250LmdldCgpKTsKLSNlbmRpZgorCisgICAg
aWYgKGF0dHJpYnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7CisgICAgICAg
IGVuY29kZXIgPDwgdHJ1ZTsKKyAgICAgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGF0
dHJpYnV0ZXMpOworICAgICAgICByZXR1cm47CisgICAgfQogfQogCiBPcHRpb25hbDxGb250QXR0
cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQpAQCAtMzA4MSwxNCArMzA2MiwxMSBAQCBPcHRpb25hbDxGb250QXR0cmlidXRlcz4g
QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKGF0dHJpYnV0ZXMuc3Vic2NyaXB0T3JTdXBlcnNj
cmlwdCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSNpZiBQTEFURk9STShDT0NP
QSkKLSAgICBib29sIGhhc0ZvbnQgPSBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c0ZvbnQpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgaWYgKGhhc0ZvbnQg
JiYgIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMuZm9udCkpCisgICAgYm9vbCBoYXNQ
bGF0Zm9ybURhdGE7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotI2VuZGlmCisgICAgaWYgKGhhc1BsYXRmb3Jt
RGF0YSkKKyAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBhdHRyaWJ1
dGVzKTsKIAogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCAyZWY1ZTQzYWRiNDg5NTE4MTljOWE3MTNk
NjllMDEzZDIwZGQ2ZTliLi5kNzExNDBhZTk3Yzc5OTM0YjY4ZGU3NzFjMThjY2IzOGE2YmI4M2Qw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAt
NTgyLDYgKzU4Miw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
VGV4dEluZGljYXRvckRhdGE+IHsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNv
ZGVyJiwgY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpOwogICAgIHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpOworICAg
IHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6
RGljdGlvbmFyeVBvcHVwSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0
YShEZWNvZGVyJiwgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpOwogfTsKIAogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCkBAIC03NDQsNiArNzQ2LDggQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luPj4+IHsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9u
dEF0dHJpYnV0ZXM+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiAgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZv
bnRBdHRyaWJ1dGVzPiBkZWNvZGUoRGVjb2RlciYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBs
YXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKKyAg
ICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29kZVBsYXRmb3Jt
RGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKIH07CiAKICNpZiBFTkFC
TEUoQVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL0FyZ3VtZW50Q29kZXJzTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1l
bnRDb2RlcnNNYWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDJhYmI3Zjk2NjQz
YWFkZGI1MDczMGM5YjU1OGEzYzkwNzEyOThhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2Rl
cnNNYWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpbmNsdWRlIDxvYmpjL29iamMuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+Ci0KLU9CSkNfQ0xBU1MgTlNBcnJheTsKLU9CSkNfQ0xBU1MgTlNBdHRyaWJ1dGVkU3Ry
aW5nOwotT0JKQ19DTEFTUyBOU0NvbG9yOwotT0JKQ19DTEFTUyBOU0RhdGE7Ci1PQkpDX0NMQVNT
IE5TRGF0ZTsKLU9CSkNfQ0xBU1MgTlNEaWN0aW9uYXJ5OwotT0JKQ19DTEFTUyBOU0ZvbnQ7Ci1P
QkpDX0NMQVNTIE5TTnVtYmVyOwotT0JKQ19DTEFTUyBOU1N0cmluZzsKLU9CSkNfQ0xBU1MgTlNV
Ukw7Ci1PQkpDX0NMQVNTIFVJRm9udDsKLQotbmFtZXNwYWNlIElQQyB7Ci0KLWNsYXNzIEVuY29k
ZXI7Ci1jbGFzcyBEZWNvZGVyOwotCi0vLyBpZAotdm9pZCBlbmNvZGUoRW5jb2RlciYsIGlkKTsK
LWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8aWQ+Jik7Ci0KLS8vIE5TQXR0cmlidXRl
ZFN0cmluZwotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TQXR0cmlidXRlZFN0cmluZyAqKTsKLWJv
b2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiYpOwotCi0j
aWYgVVNFKEFQUEtJVCkKLS8vIE5TQ29sb3IKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0NvbG9y
ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0NvbG9yPiYpOwotI2VuZGlm
Ci0KLS8vIE5TRGljdGlvbmFyeQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGljdGlvbmFyeSAq
KTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiYpOwotCi0v
LyBOU0FycmF5Ci12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNBcnJheSAqKTsKLWJvb2wgZGVjb2Rl
KERlY29kZXImLCBSZXRhaW5QdHI8TlNBcnJheT4mKTsKLQotI2lmIFVTRShBUFBLSVQpCi0vLyBO
U0ZvbnQKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0ZvbnQgKik7Ci1ib29sIGRlY29kZShEZWNv
ZGVyJiwgUmV0YWluUHRyPE5TRm9udD4mKTsKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBVSUZvbnQgKik7Ci1ib29sIGRlY29kZShEZWNv
ZGVyJiwgUmV0YWluUHRyPFVJRm9udD4mKTsKLSNlbmRpZgotCi0vLyBOU051bWJlcgotdm9pZCBl
bmNvZGUoRW5jb2RlciYsIE5TTnVtYmVyICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFp
blB0cjxOU051bWJlcj4mKTsKLQotLy8gTlNTdHJpbmcKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBO
U1N0cmluZyAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNTdHJpbmc+Jik7
Ci0KLS8vIE5TRGF0ZQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGF0ZSAqKTsKLWJvb2wgZGVj
b2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNEYXRlPiYpOwotCi0vLyBOU0RhdGEKLXZvaWQgZW5j
b2RlKEVuY29kZXImLCBOU0RhdGEgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRy
PE5TRGF0YT4mKTsKLQotLy8gTlNVUkwKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU1VSTCAqKTsK
LWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNVUkw+Jik7Ci0KLX0gLy8gbmFtZXNw
YWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29k
ZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1t
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmEwMjk1ZmVmOGE1ZTk5NDM1ZWI3Mzgx
YjFhMTA3NjdmMjczYTA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5tbQorKysg
L2Rldi9udWxsCkBAIC0xLDU4MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmln
LmgiCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgotCi0jaW1wb3J0IDxDb3JlVGV4dC9D
b3JlVGV4dC5oPgotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW1wb3J0IDxVSUtpdC9VSUtp
dC5oPgotI2VuZGlmCi0KLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkRl
Y29kZXIuaCIKLSNpbXBvcnQgIkVuY29kZXIuaCIKLSNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgotI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgotCi1uYW1lc3BhY2UgSVBDIHsK
LQotZW51bSBjbGFzcyBOU1R5cGUgewotICAgIEF0dHJpYnV0ZWRTdHJpbmcsCi0jaWYgVVNFKEFQ
UEtJVCkKLSAgICBDb2xvciwKLSNlbmRpZgotICAgIERpY3Rpb25hcnksCi0gICAgQXJyYXksCi0j
aWYgVVNFKEFQUEtJVCkKLSAgICBGb250LAotI2VuZGlmCi0gICAgTnVtYmVyLAotICAgIFN0cmlu
ZywKLSAgICBEYXRlLAotICAgIERhdGEsCi0gICAgVVJMLAotICAgIFVua25vd24sCi19OwotCi19
Ci0KLW5hbWVzcGFjZSBJUEMgewotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXN0YXRpYyBO
U1R5cGUgdHlwZUZyb21PYmplY3QoaWQgb2JqZWN0KQotewotICAgIEFTU0VSVChvYmplY3QpOwot
Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBdHRyaWJ1dGVkU3RyaW5nIGNsYXNz
XV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc7Ci0jaWYgVVNFKEFQ
UEtJVCkKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0NvbG9yIGNsYXNzXV0pCi0g
ICAgICAgIHJldHVybiBOU1R5cGU6OkNvbG9yOwotI2VuZGlmCi0gICAgaWYgKFtvYmplY3QgaXNL
aW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6
OkRpY3Rpb25hcnk7Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNs
YXNzOltOU0ZvbnQgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsKLSNlbmRp
ZgotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0pCi0gICAg
ICAgIHJldHVybiBOU1R5cGU6Ok51bWJlcjsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNz
OltOU1N0cmluZyBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpTdHJpbmc7Ci0gICAg
aWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQotICAgICAgICByZXR1
cm4gTlNUeXBlOjpBcnJheTsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGUg
Y2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0ZTsKLSAgICBpZiAoW29iamVjdCBp
c0tpbmRPZkNsYXNzOltOU0RhdGEgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0
YTsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1VSTCBjbGFzc11dKQotICAgICAg
ICByZXR1cm4gTlNUeXBlOjpVUkw7Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gTlNUeXBlOjpVbmtub3duOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVy
LCBpZCBvYmplY3QpCi17Ci0gICAgTlNUeXBlIHR5cGUgPSB0eXBlRnJvbU9iamVjdChvYmplY3Qp
OwotICAgIGVuY29kZXIgPDwgdHlwZTsKLQotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2Ug
TlNUeXBlOjpBdHRyaWJ1dGVkU3RyaW5nOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGlj
X2Nhc3Q8TlNBdHRyaWJ1dGVkU3RyaW5nICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0j
aWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Q29sb3I6Ci0gICAgICAgIGVuY29kZShl
bmNvZGVyLCBzdGF0aWNfY2FzdDxOU0NvbG9yICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47
Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKLSAgICAgICAgZW5jb2RlKGVu
Y29kZXIsIHN0YXRpY19jYXN0PE5TRGljdGlvbmFyeSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0
dXJuOwotI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU1R5cGU6OkZvbnQ6Ci0gICAgICAgIGVu
Y29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0ZvbnQgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJl
dHVybjsKLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6Ci0gICAgICAgIGVuY29kZShl
bmNvZGVyLCBzdGF0aWNfY2FzdDxOU051bWJlciAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0
aWNfY2FzdDxOU1N0cmluZyAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2Ug
TlNUeXBlOjpBcnJheToKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQXJy
YXkgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6RGF0ZToK
LSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGF0ZSAqPihvYmplY3QpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTlNUeXBlOjpEYXRhOgotICAgICAgICBlbmNvZGUo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRhICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47
Ci0gICAgY2FzZSBOU1R5cGU6OlVSTDoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19j
YXN0PE5TVVJMICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6
OlVua25vd246Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8aWQ+JiBy
ZXN1bHQpCi17Ci0gICAgTlNUeXBlIHR5cGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0o
dHlwZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHN3aXRjaCAodHlwZSkgewotICAg
IGNhc2UgTlNUeXBlOjpBdHRyaWJ1dGVkU3RyaW5nOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0F0
dHJpYnV0ZWRTdHJpbmc+IHN0cmluZzsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3Ry
aW5nKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5n
OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNl
IE5TVHlwZTo6Q29sb3I6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TQ29sb3I+IGNvbG9yOwotICAg
ICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBjb2xvcikpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIHJlc3VsdCA9IGNvbG9yOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeTogewotICAgICAgICBSZXRhaW5Q
dHI8TlNEaWN0aW9uYXJ5PiBkaWN0aW9uYXJ5OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVy
LCBkaWN0aW9uYXJ5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0
ID0gZGljdGlvbmFyeTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2lmIFVTRShBUFBL
SVQpCi0gICAgY2FzZSBOU1R5cGU6OkZvbnQ6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TRm9udD4g
Zm9udDsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udCkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGZvbnQ7Ci0gICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6IHsKLSAgICAgICAgUmV0
YWluUHRyPE5TTnVtYmVyPiBudW1iZXI7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIG51
bWJlcikpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IG51bWJl
cjsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6
IHsKLSAgICAgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBzdHJpbmc7Ci0gICAgICAgIGlmICghZGVj
b2RlKGRlY29kZXIsIHN0cmluZykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IHJlc3VsdCA9IHN0cmluZzsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2Ug
TlNUeXBlOjpBcnJheTogewotICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYXJyYXk7Ci0gICAg
ICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGFycmF5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgcmVzdWx0ID0gYXJyYXk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICBjYXNlIE5TVHlwZTo6RGF0ZTogewotICAgICAgICBSZXRhaW5QdHI8TlNEYXRlPiBkYXRl
OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRlKSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZGF0ZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIGNhc2UgTlNUeXBlOjpEYXRhOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0RhdGE+
IGRhdGE7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBkYXRhOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OlVSTDogewotICAgICAgICBSZXRhaW5QdHI8TlNV
Ukw+IFVSTDsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgVVJMKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gVVJMOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OlVua25vd246Ci0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZh
bHNlOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVGb250KENURm9udFJl
ZiBmb250KQotewotICAgIHJldHVybiBhZG9wdENGKENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwg
a0NURm9udFVSTEF0dHJpYnV0ZSkpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxp
emFibGVWYWx1ZShpZCB2YWx1ZSkKLXsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGF1dG8gZm9udENs
YXNzID0gW05TRm9udCBjbGFzc107Ci0jZWxzZQotICAgIGF1dG8gZm9udENsYXNzID0gW1VJRm9u
dCBjbGFzc107Ci0jZW5kaWYKLSAgICByZXR1cm4gIVt2YWx1ZSBpc0tpbmRPZkNsYXNzOmZvbnRD
bGFzc10gfHwgaXNTZXJpYWxpemFibGVGb250KChfX2JyaWRnZSBDVEZvbnRSZWYpdmFsdWUpOwot
fQotCi1zdGF0aWMgaW5saW5lIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZpbHRlclVuc2VyaWFs
aXphYmxlVmFsdWVzKE5TRGljdGlvbmFyeSAqZGljdGlvbmFyeSkKLXsKLSAgICBfX2Jsb2NrIGJv
b2wgbW9kaWZpY2F0aW9uTmVjZXNzYXJ5ID0gZmFsc2U7Ci0gICAgW2RpY3Rpb25hcnkgZW51bWVy
YXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4oaWQga2V5LCBpZCBvYmplY3QsIEJPT0wgKnN0
b3ApIHsKLSAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKG9iamVjdCkpIHsKLSAgICAg
ICAgICAgIG1vZGlmaWNhdGlvbk5lY2Vzc2FyeSA9IHRydWU7Ci0gICAgICAgICAgICAqc3RvcCA9
IFlFUzsKLSAgICAgICAgfQotICAgIH1dOwotICAgIGlmICghbW9kaWZpY2F0aW9uTmVjZXNzYXJ5
KQotICAgICAgICByZXR1cm4gZGljdGlvbmFyeTsKLQotICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRO
UyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKLSAgICBbZGljdGlvbmFyeSBl
bnVtZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxvY2s6XihpZCBrZXksIGlkIG9iamVjdCwgQk9P
TCAqc3RvcCkgewotICAgICAgICBpZiAoaXNTZXJpYWxpemFibGVWYWx1ZShvYmplY3QpKQotICAg
ICAgICAgICAgW3Jlc3VsdCBzZXRPYmplY3Q6b2JqZWN0IGZvcktleTprZXldOwotICAgIH1dOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5T
QXR0cmlidXRlZFN0cmluZyAqc3RyaW5nKQotewotICAgIC8vIEV2ZW4gdGhvdWdoIE5TQXR0cmli
dXRlZFN0cmluZyBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3aXRoIENGQXR0cmlidXRlZFN0cmluZ1Jl
ZiwgYXR0cmlidXRlcycgdmFsdWVzIG1heSBiZSBub3QsIHNvIHdlIHNob3VsZCBzdGF5IHdpdGhp
biB0aGlzIGZpbGUncyBjb2RlLgotCi0gICAgTlNTdHJpbmcgKnBsYWluU3RyaW5nID0gW3N0cmlu
ZyBzdHJpbmddOwotICAgIE5TVUludGVnZXIgbGVuZ3RoID0gW3BsYWluU3RyaW5nIGxlbmd0aF07
Ci0gICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcGxhaW5TdHJpbmcpOwotCi0gICAgVmVjdG9yPHN0
ZDo6cGFpcjxOU1JhbmdlLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5Pj4+IHJhbmdlczsKLQotICAg
IE5TVUludGVnZXIgcG9zaXRpb24gPSAwOwotICAgIHdoaWxlIChwb3NpdGlvbiA8IGxlbmd0aCkg
ewotICAgICAgICAvLyBDb2xsZWN0IHJhbmdlcyBpbiBhIHZlY3RvciwgYmVjYXN1ZSB0aGUgdG90
YWwgY291bnQgc2hvdWxkIGJlIGVuY29kZWQgZmlyc3QuCi0gICAgICAgIE5TUmFuZ2UgZWZmZWN0
aXZlUmFuZ2U7Ci0gICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGF0dHJpYnV0ZXNBdElu
ZGV4ID0gW3N0cmluZyBhdHRyaWJ1dGVzQXRJbmRleDpwb3NpdGlvbiBlZmZlY3RpdmVSYW5nZTom
ZWZmZWN0aXZlUmFuZ2VdOwotICAgICAgICBBU1NFUlQoZWZmZWN0aXZlUmFuZ2UubG9jYXRpb24g
PT0gcG9zaXRpb24pOwotICAgICAgICBBU1NFUlQoZWZmZWN0aXZlUmFuZ2UubGVuZ3RoKTsKLSAg
ICAgICAgQVNTRVJUKE5TTWF4UmFuZ2UoZWZmZWN0aXZlUmFuZ2UpIDw9IGxlbmd0aCk7Ci0KLSAg
ICAgICAgcmFuZ2VzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihlZmZlY3RpdmVSYW5nZSwgZmlsdGVy
VW5zZXJpYWxpemFibGVWYWx1ZXMoYXR0cmlidXRlc0F0SW5kZXguZ2V0KCkpKSk7Ci0KLSAgICAg
ICAgcG9zaXRpb24gPSBOU01heFJhbmdlKGVmZmVjdGl2ZVJhbmdlKTsKLSAgICB9Ci0KLSAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihyYW5nZXMuc2l6ZSgpKTsKLQotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcmFuZ2VzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhbmdlc1tpXS5maXJzdC5sb2NhdGlvbik7Ci0g
ICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhbmdlc1tpXS5maXJzdC5s
ZW5ndGgpOwotICAgICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCByYW5nZXNbaV0uc2Vjb25kLmdl
dCgpKTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0
cjxOU0F0dHJpYnV0ZWRTdHJpbmc+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBwbGFpblN0cmluZzsKLSAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHBsYWluU3RyaW5n
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTlNVSW50ZWdlciBzdHJpbmdMZW5ndGgg
PSBbcGxhaW5TdHJpbmcgbGVuZ3RoXTsKLQotICAgIFJldGFpblB0cjxOU011dGFibGVBdHRyaWJ1
dGVkU3RyaW5nPiByZXN1bHRTdHJpbmcgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXR0cmlidXRlZFN0
cmluZyBhbGxvY10gaW5pdFdpdGhTdHJpbmc6cGxhaW5TdHJpbmcuZ2V0KCldKTsKLQotICAgIHVp
bnQ2NF90IHJhbmdlQ291bnQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyYW5nZUNvdW50KSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgd2hpbGUgKHJhbmdlQ291bnQtLSkgewotICAg
ICAgICB1aW50NjRfdCByYW5nZUxvY2F0aW9uOwotICAgICAgICB1aW50NjRfdCByYW5nZUxlbmd0
aDsKLSAgICAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYXR0cmlidXRlczsKLSAgICAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyYW5nZUxvY2F0aW9uKSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyYW5nZUxlbmd0aCkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgQVNTRVJUKHJhbmdlTG9jYXRpb24gKyByYW5n
ZUxlbmd0aCA+IHJhbmdlTG9jYXRpb24pOwotICAgICAgICBBU1NFUlQocmFuZ2VMb2NhdGlvbiAr
IHJhbmdlTGVuZ3RoIDw9IHN0cmluZ0xlbmd0aCk7Ci0gICAgICAgIGlmIChyYW5nZUxvY2F0aW9u
ICsgcmFuZ2VMZW5ndGggPD0gcmFuZ2VMb2NhdGlvbiB8fCByYW5nZUxvY2F0aW9uICsgcmFuZ2VM
ZW5ndGggPiBzdHJpbmdMZW5ndGgpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgW3Jlc3VsdFN0cmluZyBhZGRBdHRyaWJ1dGVzOmF0dHJpYnV0
ZXMuZ2V0KCkgcmFuZ2U6TlNNYWtlUmFuZ2UocmFuZ2VMb2NhdGlvbiwgcmFuZ2VMZW5ndGgpXTsK
LSAgICB9Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKHJlc3VsdFN0cmluZy5sZWFrUmVmKCkpOwot
ICAgIHJldHVybiB0cnVlOwotfQotCi0jaWYgVVNFKEFQUEtJVCkKLXZvaWQgZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIE5TQ29sb3IgKmNvbG9yKQotewotICAgIGVuY29kZXIgPDwgY29sb3JGcm9t
TlNDb2xvcihjb2xvcik7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFp
blB0cjxOU0NvbG9yPiYgcmVzdWx0KQotewotICAgIENvbG9yIGNvbG9yOwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoY29sb3IpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQg
PSBuc0NvbG9yKGNvbG9yKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLSNlbmRpZgotCi12b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCi17Ci0gICAg
Ly8gRXZlbiB0aG91Z2ggTlNEaWN0aW9uYXJ5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZE
aWN0aW9uYXJ5UmVmLCB2YWx1ZXMgbWF5IGJlIG5vdCwgc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGlu
IHRoaXMgZmlsZSdzIGNvZGUuCi0KLSAgICBOU1VJbnRlZ2VyIHNpemUgPSBbZGljdGlvbmFyeSBj
b3VudF07Ci0gICAgTlNBcnJheSAqa2V5cyA9IFtkaWN0aW9uYXJ5IGFsbEtleXNdOwotICAgIE5T
QXJyYXkgKnZhbHVlcyA9IFtkaWN0aW9uYXJ5IGFsbFZhbHVlc107Ci0KLSAgICBlbmNvZGVyIDw8
IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaXplKTsKLQotICAgIGZvciAoTlNVSW50ZWdlciBpID0g
MDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBpZCBrZXkgPSBba2V5cyBvYmplY3RBdEluZGV4
OmldOwotICAgICAgICBpZCB2YWx1ZSA9IFt2YWx1ZXMgb2JqZWN0QXRJbmRleDppXTsKLSAgICAg
ICAgQVNTRVJUKGtleSk7Ci0gICAgICAgIEFTU0VSVCh2YWx1ZSk7Ci0gICAgICAgIEFTU0VSVChp
c1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSk7Ci0KLSAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3
ZSBkb24ndCByZWNvZ25pemUuCi0gICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0g
TlNUeXBlOjpVbmtub3duKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgZW5jb2Rl
KGVuY29kZXIsIGtleSk7Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7Ci0gICAgfQot
fQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiYgcmVzdWx0KQotewotICAgIHVpbnQ2NF90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShzaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUmV0YWluUHRyPE5TTXV0YWJs
ZURpY3Rpb25hcnk+IGRpY3Rpb25hcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBh
bGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzaXplXSk7Ci0gICAgZm9yICh1aW50NjRfdCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewotICAgICAgICAvLyBUcnkgdG8gZGVjb2RlIHRoZSBrZXkgbmFtZS4K
LSAgICAgICAgUmV0YWluUHRyPGlkPiBrZXk7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIs
IGtleSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgUmV0YWluUHRyPGlk
PiB2YWx1ZTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgdmFsdWUpKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIFtkaWN0aW9uYXJ5IHNldE9iamVjdDp2YWx1ZS5n
ZXQoKSBmb3JLZXk6a2V5LmdldCgpXTsKLSAgICB9Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKGRp
Y3Rpb25hcnkubGVha1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmIFVTRShBUFBL
SVQpCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0ZvbnQgKmZvbnQpCi17Ci0gICAg
Ly8gTlNGb250IGNvdWxkIHVzZSBDVEZvbnRSZWYgY29kZSBpZiB3ZSBoYWQgaXQgaW4gQXJndW1l
bnRDb2RlcnNDRi4KLSAgICBlbmNvZGUoZW5jb2RlciwgZm9udC5mb250RGVzY3JpcHRvci5mb250
QXR0cmlidXRlcyk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0
cjxOU0ZvbnQ+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0
dHJpYnV0ZXM7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBOU0ZvbnREZXNjcmlwdG9yICpmb250RGVzY3JpcHRv
ciA9IFtOU0ZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmZv
bnRBdHRyaWJ1dGVzLmdldCgpXTsKLSAgICByZXN1bHQgPSBbTlNGb250IGZvbnRXaXRoRGVzY3Jp
cHRvcjpmb250RGVzY3JpcHRvciBzaXplOjBdOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNl
bmRpZiAvLyBVU0UoQVBQS0lUKQotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgVUlGb250ICpmb250KQotewotICAgIGVuY29kZShlbmNv
ZGVyLCBmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKLX0KLQotYm9vbCBkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPFVJRm9udD4mIHJlc3VsdCkKLXsKLSAgICBS
ZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBmb250QXR0cmlidXRlczsKLSAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBmb250QXR0cmlidXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVJ
Rm9udERlc2NyaXB0b3IgKmZvbnREZXNjcmlwdG9yID0gW1VJRm9udERlc2NyaXB0b3IgZm9udERl
c2NyaXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOwotICAgIHJl
c3VsdCA9IFtVSUZvbnQgZm9udFdpdGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07
Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51bWJlcikKLXsK
LSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGTnVtYmVyUmVmKW51bWJlcik7Ci19Ci0K
LWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU051bWJlcj4mIHJlc3Vs
dCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJSZWY+IG51bWJlcjsKLSAgICBpZiAoIWRlY29k
ZShkZWNvZGVyLCBudW1iZXIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQg
PSBhZG9wdE5TKChOU051bWJlciAqKW51bWJlci5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVl
OwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU1N0cmluZyAqc3RyaW5nKQot
ewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpc3RyaW5nKTsKLX0K
LQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TU3RyaW5nPiYgcmVz
dWx0KQotewotICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nOwotICAgIGlmICghZGVj
b2RlKGRlY29kZXIsIHN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3Vs
dCA9IGFkb3B0TlMoKE5TU3RyaW5nICopc3RyaW5nLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TQXJyYXkgKmFycmF5KQot
ewotICAgIE5TVUludGVnZXIgc2l6ZSA9IFthcnJheSBjb3VudF07Ci0gICAgZW5jb2RlciA8PCBz
dGF0aWNfY2FzdDx1aW50NjRfdD4oc2l6ZSk7Ci0KLSAgICBmb3IgKE5TVUludGVnZXIgaSA9IDA7
IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgaWQgdmFsdWUgPSBbYXJyYXkgb2JqZWN0QXRJbmRl
eDppXTsKLQotICAgICAgICAvLyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHJlY29nbml6ZS4KLSAg
ICAgICAgaWYgKHR5cGVGcm9tT2JqZWN0KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCi0gICAg
ICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBBU1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2
YWx1ZSkpOwotCi0gICAgICAgIGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7Ci0gICAgfQotfQotCi1i
b29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNBcnJheT4mIHJlc3VsdCkK
LXsKLSAgICB1aW50NjRfdCBzaXplOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gYXJy
YXkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6
ZV0pOwotICAgIGZvciAodWludDY0X3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAg
UmV0YWluUHRyPGlkPiB2YWx1ZTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgdmFsdWUp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIFthcnJheSBhZGRPYmplY3Q6
dmFsdWUuZ2V0KCldOwotICAgIH0KLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoYXJyYXkubGVha1Jl
ZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgTlNEYXRlICpkYXRlKQotewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRl
UmVmKWRhdGUpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8
TlNEYXRlPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxDRkRhdGVSZWY+IGRhdGU7Ci0gICAg
aWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IHJlc3VsdCA9IGFkb3B0TlMoKE5TRGF0ZSAqKWRhdGUubGVha1JlZigpKTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRhICpkYXRhKQot
ewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRhUmVmKWRhdGEpOwotfQotCi1i
b29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEYXRhPiYgcmVzdWx0KQot
ewotICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGE7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2Rl
ciwgZGF0YSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMo
KE5TRGF0YSAqKWRhdGEubGVha1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNVUkwgKlVSTCkKLXsKLSAgICBlbmNvZGUoZW5jb2Rl
ciwgKF9fYnJpZGdlIENGVVJMUmVmKVVSTCk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFJldGFpblB0cjxOU1VSTD4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZVUkxS
ZWY+IFVSTDsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBVUkwpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKChOU1VSTCAqKVVSTC5sZWFrUmVmKCkpOwot
ICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBJUEMKLQotbmFtZXNwYWNlIFdU
RiB7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPElQQzo6TlNUeXBlPiB7Ci0gICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgSVBDOjpOU1R5cGUsCi0gICAgICAgIElQ
Qzo6TlNUeXBlOjpBdHRyaWJ1dGVkU3RyaW5nLAotICAgICNpZiBVU0UoQVBQS0lUKQotICAgICAg
ICBJUEM6Ok5TVHlwZTo6Q29sb3IsCi0gICAgI2VuZGlmCi0gICAgICAgIElQQzo6TlNUeXBlOjpE
aWN0aW9uYXJ5LAotICAgICAgICBJUEM6Ok5TVHlwZTo6QXJyYXksCi0gICAgI2lmIFVTRShBUFBL
SVQpCi0gICAgICAgIElQQzo6TlNUeXBlOjpGb250LAotICAgICNlbmRpZgotICAgICAgICBJUEM6
Ok5TVHlwZTo6TnVtYmVyLAotICAgICAgICBJUEM6Ok5TVHlwZTo6U3RyaW5nLAotICAgICAgICBJ
UEM6Ok5TVHlwZTo6RGF0ZSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OkRhdGEsCi0gICAgICAgIElQ
Qzo6TlNUeXBlOjpVUkwsCi0gICAgICAgIElQQzo6TlNUeXBlOjpVbmtub3duCi0gICAgPjsKLX07
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmlu
Zy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCmluZGV4
IGQ2ZmI4NDAxMTM1M2JmZThhNmI0YzQ3Zjk5YmFiYzFjNGJkODEzZGYuLjY4YjIyNTg0YWViZTMz
MDA3Mzc0MjcyNjNjMjI5NDMwMTkxNDA0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9BdHRyaWJ1dGVkU3RyaW5nLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIkF0dHJpYnV0ZWRTdHJpbmcuaCIKIAotI2ltcG9ydCAiQXJndW1lbnRDb2Rl
cnNNYWMuaCIKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRlY29k
ZXIuaCIKICNpbXBvcnQgIkVuY29kZXIuaCIKIApAQCAtMzcsNyArMzcsNyBAQCB2b2lkIEF0dHJp
YnV0ZWRTdHJpbmc6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5j
b2RlciA8PCBzdGF0aWNfY2FzdDxib29sPighc3RyaW5nKTsKICAgICBpZiAoIXN0cmluZykKICAg
ICAgICAgcmV0dXJuOwotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHN0cmluZy5nZXQoKSk7Cisg
ICAgZW5jb2RlciA8PCBzdHJpbmc7CiB9CiAKIGJvb2wgQXR0cmlidXRlZFN0cmluZzo6ZGVjb2Rl
KElQQzo6RGVjb2RlciYgZGVjb2RlciwgQXR0cmlidXRlZFN0cmluZyYgYXR0cmlidXRlZFN0cmlu
ZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgu
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCmluZGV4IDlk
ZGVmOWE4MDM3M2NiNjkwM2YyY2FlODE1YmM5ZGI1N2EwNjAwODIuLmQ3OGYxMWY2M2VlY2YwYjI2
YjYyMzZiZGEzNGUyMDBkMTA5ZTQwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9PYmpDT2JqZWN0R3JhcGgubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09i
akNPYmplY3RHcmFwaC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKIAotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMu
aCIKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRlY29kZXIuaCIK
ICNpbXBvcnQgIkVuY29kZXIuaCIKICNpbXBvcnQgPHd0Zi9PcHRpb25hbC5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IGM0M2U0ZTUwOTBiZWRjNzFjOWRlNjNmODY3Zjc0MGE5NDFmZDBmMTIu
LmFmMDE3OGJhMzU1MDMwMWM1ZjRiOGVlMmJjZTM4OGNmMmI4MzJmZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTE2NCw3ICsxNjQsNiBAQCBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9y
eS5tbQogU2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNoUG9pbnRJT1MuY3BwCiBTaGFyZWQvaW9z
L1dlYlRvdWNoRXZlbnRJT1MuY3BwCiAKLVNoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMubW0K
IFNoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9j
ZXNzTWFjLm1tCiBTaGFyZWQvbWFjL0NvZGVTaWduaW5nLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNDdiYTkxZGVlNDExMWVhZDNm
NzZiOGJjMTBiOTA1OWQxMGE1M2UyLi4xN2U0ZjhkMDI4NWNmZDYxNGU5NzI0Yjc1OGM1OWQzNTI2
ZDUyMzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE1ODksNyArMTU4OSw2IEBACiAJCUUxNjRBMkYyMTkxQUYxNEUwMDEwNzM3RCAv
KiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE2NEEyRjAxOTFBRjE0RTAwMTA3
MzdEIC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmggKi87IH07
CiAJCUUxNzA4NzZDMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3MDg3NkExNkQ2Q0E2
OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5LmggKi87IH07CiAJCUUxNzkwODhGMTY5QkFB
NkEwMDY5MDRDNyAvKiBTZWNJdGVtU2hpbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTE4RTY5NDgxNjlCNzdDODAwOUI2NjcwIC8qIFNlY0l0ZW1TaGlt
LmggKi87IH07Ci0JCUUxNzlGRDlDMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01h
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3OUZE
OUIxMzREMzgwNjAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLmggKi87IH07CiAJCUUxN0FF
MkMzMTZCOUM2M0EwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNi
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTdBRTJD
MjE2QjlDNjNBMDAxQzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiAq
LzsgfTsKIAkJRTE4RTY5MEMxNjlCNTYzRjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEU2OTBBMTY5
QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggKi87IH07CiAJCUUxOEU2OTE3MTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEU2OTEzMTY5QjY2
N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
QEAgLTQ0MzYsOCArNDQzNSw2IEBACiAJCUUxNzA4NzY5MTZENkNBNjkwMEY5OTIyNiAvKiBCbG9i
UmVnaXN0cnlQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBC
bG9iUmVnaXN0cnlQcm94eS5jcHA7IHBhdGggPSBXZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lz
dHJ5UHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTcwODc2QTE2RDZD
QTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gQmxvYlJlZ2lzdHJ5UHJveHkuaDsgcGF0aCA9IFdlYlByb2Nlc3MvRmlsZUFQ
SS9CbG9iUmVnaXN0cnlQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTc5
OEM3NzE2RTY4MTg4MDAyNDAxMzkgLyogTmV0d29ya0Jsb2JSZWdpc3RyeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE3OUZEOUIxMzREMzgwNjAwMTVCODgzIC8qIEFy
Z3VtZW50Q29kZXJzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFyZ3Vt
ZW50Q29kZXJzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxNzlGRDlFMTM0
RDM4MjUwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFyZ3VtZW50Q29kZXJzTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTdBRTJDMTE2QjlDMTM5MDAxQzQyRjEgLyogY29tLmFwcGxlLldl
YktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTdBRTJDMjE2QjlD
NjNBMDAxQzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNz
LnNiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlFMThDOTJGMzEyREI5
RTcxMDBDRjJBRUIgLyogUHJpbnRJbmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFByaW50SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
ODAxLDggKzc3OTgsNiBAQAogCQlCQzExMUI1QTExMkY2MjgyMDAzMzdCQUIgLyogbWFjICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlFMTc5RkQ5QjEzNEQz
ODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCAqLywKLQkJCQlFMTc5RkQ5RTEzNEQz
ODI1MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMubW0gKi8sCiAJCQkJRTFBMzE3MzExMzRD
RUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCAqLywKIAkJCQlFMUEzMTczNDEzNENF
QTgwMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5tbSAqLywKIAkJCQk5RjU0Rjg4RTE2NDg4
RTg3MDA3REY4MUEgLyogQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbSAqLywKQEAgLTg5OTcsNyArODk5
Miw2IEBACiAJCQkJMUFFRkQyRjcxMUQxODA3QjAwODIxOUQzIC8qIEFyZ3VtZW50Q29kZXJzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMEM0QTEyQjE2MzM0MDA4RTQ5RTIgLyogQXJndW1lbnRD
b2RlcnNDRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAzN0QwIC8q
IEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICovLAotCQkJCUUxNzlGRDlDMTM0RDM4
MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Ux
QTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8qIEFzc2VydGlvblNlcnZpY2VzU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTVFNzcyODE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5o
IGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364433</attachid>
            <date>2019-03-12 13:02:39 -0700</date>
            <delta_ts>2019-03-12 17:05:43 -0700</delta_ts>
            <desc>Patch 3 / 4</desc>
            <filename>bug-195636-20190312130238.patch</filename>
            <type>text/plain</type>
            <size>13560</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIzOTUyZjg3OTRkMTRlMWUw
NWEwNmU5M2U2MGIzNWZjYWU3NjMwMzguLmZlYzc0YjI5YmRmYWNjYTFkYjg4NWRkNmFiYjg2NmM0
YTI0NmM4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMDMtMTIgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdl
YlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaDoK
KyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06CisgICAgICAgIChXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkF0
dHJpYnV0ZWRTdHJpbmc6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZ2V0Q29udGVudHNBc0F0dHJpYnV0
ZWRTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0Q29udGVudHNBc0F0
dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmF0dHJpYnV0
ZWRTdHJpbmdDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRp
bW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIEFyZ3VtZW50Q29kZXJzTWFj
IGFuZCBBcmd1bWVudENvZGVyc0NvY29hLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRy
aWJ1dGVkU3RyaW5nLmgKaW5kZXggMzdlMjNmMGIwMzExZGJhMTlkYzU2YjUxZWQwNjQ1NjhkZjQ5
MTgyNy4uNjFmNTE4YThlZjUzMzUxMzdiNjExZWM4ZTMyYmE4YTFhNmYyOWUxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5oCkBAIC00Miw2ICs0Miw3IEBA
IHN0cnVjdCBBdHRyaWJ1dGVkU3RyaW5nIHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpE
ZWNvZGVyJiwgQXR0cmlidXRlZFN0cmluZyYpOwogICAgIAogICAgIFJldGFpblB0cjxOU0F0dHJp
YnV0ZWRTdHJpbmc+IHN0cmluZzsKKyAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBkb2N1bWVu
dEF0dHJpYnV0ZXM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9t
YWMvQXR0cmlidXRlZFN0cmluZy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1
dGVkU3RyaW5nLm1tCmluZGV4IDY4YjIyNTg0YWViZTMzMDA3Mzc0MjcyNjNjMjI5NDMwMTkxNDA0
MzIuLjY3Yzc1OWEwODhiYTA0ZGFiYjliOGMyZmVjYTBlNjAyMDAxNzI1Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCkBAIC0zOCw2ICszOCw3IEBA
IHZvaWQgQXR0cmlidXRlZFN0cmluZzo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29u
c3QKICAgICBpZiAoIXN0cmluZykKICAgICAgICAgcmV0dXJuOwogICAgIGVuY29kZXIgPDwgc3Ry
aW5nOworICAgIGVuY29kZXIgPDwgZG9jdW1lbnRBdHRyaWJ1dGVzOwogfQogCiBib29sIEF0dHJp
YnV0ZWRTdHJpbmc6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEF0dHJpYnV0ZWRTdHJp
bmcmIGF0dHJpYnV0ZWRTdHJpbmcpCkBAIC00Nyw3ICs0OCw5IEBAIGJvb2wgQXR0cmlidXRlZFN0
cmluZzo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQXR0cmlidXRlZFN0cmluZyYgYXR0
cmlidXRlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNOdWxsKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlZFN0
cmluZy5zdHJpbmcpOworICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlZFN0
cmluZy5zdHJpbmcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIElQQzo6ZGVj
b2RlKGRlY29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcuZG9jdW1lbnRBdHRyaWJ1dGVzKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggMDE1M2Q0ODJlNGU2YTJlNzVhZTNhMzQ5MzM0Y2QzYjlhNTdkOWM2YS4uYmNhOWE1YzM3MmVh
Y2QzOGEwZDYxYjQ3NWI4ZjliZGM0NmY5MjhhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBXS19B
UElfRU5BQkxFRAogCisjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJBUElG
b3JtQ2xpZW50LmgiCiAjaW1wb3J0ICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAi
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCkBAIC01MTc2LDYgKzUxNzcsMTkgQEAgLSAodm9p
ZClfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNT
dHJpbmcgKiwgTlNFcnJvcgogICAgIH0pOwogfQogCistICh2b2lkKV9nZXRDb250ZW50c0FzQXR0
cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBdHRyaWJ1dGVk
U3RyaW5nICosIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudEF0dHJpYnV0
ZUtleSwgaWQ+ICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBhdXRvIGhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpOworCisgICAgX3BhZ2UtPmdl
dENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFtoYW5kbGVyXShjb25zdCBXZWJLaXQ6OkF0dHJp
YnV0ZWRTdHJpbmcmIHN0cmluZywgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7
CisgICAgICAgIGlmIChlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUp
IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBQaXBlIGEgcHJvcGVyIGVycm9yIGluIGZyb20gdGhl
IFdlYlBhZ2VQcm94eS4KKyAgICAgICAgICAgIGhhbmRsZXIobmlsLCBuaWwsIFtOU0Vycm9yIGVy
cm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6c3RhdGljX2Nhc3Q8aW50PihlcnJvcikg
dXNlckluZm86bmlsXSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgaGFuZGxlcihbW3N0
cmluZy5zdHJpbmcuZ2V0KCkgcmV0YWluXSBhdXRvcmVsZWFzZV0sIFtbc3RyaW5nLmRvY3VtZW50
QXR0cmlidXRlcy5nZXQoKSByZXRhaW5dIGF1dG9yZWxlYXNlXSwgbmlsKTsKKyAgICB9KTsKK30K
KwogLSAodm9pZClfZ2V0QXBwbGljYXRpb25NYW5pZmVzdFdpdGhDb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKSljb21wbGV0aW9uSGFuZGxlcgogewog
I2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDk5ZmJkOTQ4NDVl
ODMyYzJkNTc5Y2FlNzE4NmZjMDhmYjNkODQxOGYuLmVlZTY4YjlhYmNjODczMGQ1Yjg1OTA3OTQz
Yjk2M2IxYzg3ZWQ0Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzY1LDYgKzM2NSw3IEBAIHR5cGVkZWYgTlNf
T1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogLSAodm9pZClfZ2V0TWFpblJlc291
cmNlRGF0YVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3Ig
KikpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKV9nZXRXZWJBcmNoaXZlRGF0YVdpdGhDb21w
bGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhh
bmRsZXI7CiAtICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU1N0cmluZyAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX2dldENvbnRl
bnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0F0
dHJpYnV0ZWRTdHJpbmcgKiwgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50
QXR0cmlidXRlS2V5LCBpZD4gKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX01BQ19UQkEpKTsKIAogLSAodm9p
ZClfZ2V0QXBwbGljYXRpb25NYW5pZmVzdFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
X1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODcwYzE3ZTFjNDg4YjZhYWI1YzU4ZjQyMDAwNWE5MzJl
OGI5YTFmZS4uZTk1OGE2ZDE5MWQzZDVmYmNjMTQ3M2MwNzE0MzIzODFjZGFjODRkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xODQsNiArMTg0LDcgQEAK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXR0cmlidXRlZFN0cmlu
Zy5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCIKICNpbmNs
dWRlICJSZW1vdGVMYXllclRyZWVTY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEuaCIKICNpbmNsdWRl
ICJUb3VjaEJhck1lbnVEYXRhLmgiCkBAIC0zNTgzLDYgKzM1ODQsMjAgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmdldENvbnRlbnRzQXNTdHJpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJp
bmcmLCBDYWxsYmEKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkdldENv
bnRlbnRzQXNTdHJpbmcoY2FsbGJhY2tJRCksIG1fcGFnZUlEKTsKIH0KIAorI2lmIFBMQVRGT1JN
KENPQ09BKQordm9pZCBXZWJQYWdlUHJveHk6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5n
KFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgQXR0cmlidXRlZFN0cmluZyYsIENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCit7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsK
KyAgICAgICAgY2FsbGJhY2tGdW5jdGlvbihBdHRyaWJ1dGVkU3RyaW5nKCksIENhbGxiYWNrQmFz
ZTo6RXJyb3I6OlVua25vd24pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBj
YWxsYmFja0lEID0gbV9jYWxsYmFja3MucHV0KFdURk1vdmUoY2FsbGJhY2tGdW5jdGlvbiksIG1f
cHJvY2Vzcy0+dGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKSk7CisgICAgbV9s
b2FkRGVwZW5kZW50U3RyaW5nQ2FsbGJhY2tJRHMuYWRkKGNhbGxiYWNrSUQpOworICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJp
bmcoY2FsbGJhY2tJRCksIG1fcGFnZUlEKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94
eTo6Z2V0Qnl0ZWNvZGVQcm9maWxlKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwg
Q2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKIHsKICAgICBpZiAoIWlz
VmFsaWQoKSkgewpAQCAtNjI4OSw2ICs2MzA0LDIyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnZh
bGlkYXRlU3RyaW5nQ2FsbGJhY2soQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIGNhbGxiYWNr
LT5pbnZhbGlkYXRlKCk7CiB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKK3ZvaWQgV2ViUGFnZVBy
b3h5OjphdHRyaWJ1dGVkU3RyaW5nQ2FsbGJhY2soY29uc3QgQXR0cmlidXRlZFN0cmluZyYgcmVz
dWx0U3RyaW5nLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCit7CisgICAgYXV0byBjYWxsYmFjayA9
IG1fY2FsbGJhY2tzLnRha2U8QXR0cmlidXRlZFN0cmluZ0NhbGxiYWNrPihjYWxsYmFja0lEKTsK
KyAgICBpZiAoIWNhbGxiYWNrKSB7CisgICAgICAgIC8vIEZJWE1FOiBMb2cgZXJyb3Igb3IgYXNz
ZXJ0LgorICAgICAgICAvLyB0aGlzIGNhbiB2YWxpZGx5IGhhcHBlbiBpZiBhIGxvYWQgaW52YWxp
ZGF0ZWQgdGhlIGNhbGxiYWNrLCB0aG91Z2gKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IG1fbG9hZERlcGVuZGVudFN0cmluZ0NhbGxiYWNrSURzLnJlbW92ZShjYWxsYmFja0lEKTsKKwor
ICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUocmVzdWx0U3RyaW5n
KTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2NyaXB0VmFsdWVDYWxsYmFjayhj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UsIGJvb2wgaGFkRXhjZXB0aW9u
LCBjb25zdCBFeGNlcHRpb25EZXRhaWxzJiBkZXRhaWxzLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQp
CiB7CiAgICAgYXV0byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRha2U8U2NyaXB0VmFsdWVDYWxs
YmFjaz4oY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDJhNTM5ZjU1NGQ2MTFkZGM3ZTI2OTJkZWVlYzU3M2FiYjUxZTI4NTYuLjA2YTE3YTVjNDY0
ZmY2ZDAxYzIzZTY2NWNmMjA5NjFkNzZiODQxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC0yOTAsNiArMjkwLDEwIEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNr
PGNvbnN0IFN0cmluZyY+IFN0cmluZ0NhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8
QVBJOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUqLCBib29sLCBjb25zdCBXZWJDb3JlOjpFeGNlcHRp
b25EZXRhaWxzJj4gU2NyaXB0VmFsdWVDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNr
PGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJj4gRm9udEF0dHJpYnV0ZXNDYWxsYmFjazsK
IAorI2lmIFBMQVRGT1JNKENPQ09BKQordHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgQXR0
cmlidXRlZFN0cmluZyY+IEF0dHJpYnV0ZWRTdHJpbmdDYWxsYmFjazsKKyNlbmRpZgorCiAjaWYg
UExBVEZPUk0oR1RLKQogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8QVBJOjpFcnJvcio+IFByaW50
RmluaXNoZWRDYWxsYmFjazsKICNlbmRpZgpAQCAtOTU3LDYgKzk2MSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpZEZpbmRTdHJpbmdNYXRjaGVzKGNvbnN0IFN0cmluZyYsIGNvbnN0IFZlY3RvcjxW
ZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4+JiBtYXRjaFJlY3RzLCBpbnQzMl90IGZpcnN0SW5kZXhB
ZnRlclNlbGVjdGlvbik7CiAKICAgICB2b2lkIGdldENvbnRlbnRzQXNTdHJpbmcoV1RGOjpGdW5j
dGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhX
VEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmLCBDYWxsYmFja0Jhc2U6
OkVycm9yKT4mJik7CisjZW5kaWYKICAgICB2b2lkIGdldEJ5dGVjb2RlUHJvZmlsZShXVEY6OkZ1
bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKICAg
ICB2b2lkIGdldFNhbXBsaW5nUHJvZmlsZXJPdXRwdXQoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25z
dCBTdHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKQEAgLTE3NjAsNiArMTc2Nyw5
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbWFnZUNhbGxiYWNrKGNvbnN0IFNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBzdHJpbmdDYWxsYmFjayhjb25zdCBT
dHJpbmcmLCBDYWxsYmFja0lEKTsKICAgICB2b2lkIGludmFsaWRhdGVTdHJpbmdDYWxsYmFjayhD
YWxsYmFja0lEKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGF0dHJpYnV0ZWRTdHJp
bmdDYWxsYmFjayhjb25zdCBBdHRyaWJ1dGVkU3RyaW5nJiwgQ2FsbGJhY2tJRCk7CisjZW5kaWYK
ICAgICB2b2lkIHNjcmlwdFZhbHVlQ2FsbGJhY2soY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwg
Ym9vbCBoYWRFeGNlcHRpb24sIGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHMmLCBDYWxs
YmFja0lEKTsKICAgICB2b2lkIGNvbXB1dGVkUGFnZXNDYWxsYmFjayhjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6SW50UmVjdD4mLCBkb3VibGUgdG90YWxTY2FsZUZhY3RvckZvclByaW50aW5nLCBDYWxs
YmFja0lEKTsKICAgICB2b2lkIHZhbGlkYXRlQ29tbWFuZENhbGxiYWNrKGNvbnN0IFN0cmluZyYs
IGJvb2wsIGludCwgQ2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYzEwYTc1YzA1OWQ3ZjA5MWY1MDRiNGZjOTVj
MWE0MzcyY2EwNTA1Yy4uODc1M2JiOTkxNjk5NGQ0MjBkYjM4MzlhMDExOWY5YWY1ODNhMDdjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgpAQCAtMTY2LDYgKzE2Niw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGF0
YUNhbGxiYWNrKElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSByZXN1bHREYXRhLCBXZWJL
aXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBJbWFnZUNhbGxiYWNrKFdlYktpdDo6U2hh
cmVhYmxlQml0bWFwOjpIYW5kbGUgYml0bWFwSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2Fs
bGJhY2tJRCkKICAgICBTdHJpbmdDYWxsYmFjayhTdHJpbmcgcmVzdWx0U3RyaW5nLCBXZWJLaXQ6
OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBBdHRyaWJ1
dGVkU3RyaW5nQ2FsbGJhY2soc3RydWN0IFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyByZXN1bHRT
dHJpbmcsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2VuZGlmCiAgICAgSW52YWxp
ZGF0ZVN0cmluZ0NhbGxiYWNrKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFNj
cmlwdFZhbHVlQ2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNlIHJlc3VsdERhdGEsIGJvb2wgaGFk
RXhjZXB0aW9uLCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscyBkZXRhaWxzLCBXZWJL
aXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBDb21wdXRlZFBhZ2VzQ2FsbGJhY2soVmVj
dG9yPFdlYkNvcmU6OkludFJlY3Q+IHBhZ2VSZWN0cywgZG91YmxlIHRvdGFsU2NhbGVGYWN0b3JG
b3JQcmludGluZywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KaW5k
ZXggMTYzYzVjYTA5ZTQ1MzYzZWJkMjVjMGEyZjU4YWZhMTRmM2U2ZWViOC4uOWY2NmQzMTcwZjI0
YzE1MjIwYmRhMGM0NWE2MzZkODE5MGE1NzU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQpAQCAtMjcsNiArMjcs
NyBAQAogI2ltcG9ydCAiV2ViUGFnZS5oIgogCiAKKyNpbXBvcnQgIkF0dHJpYnV0ZWRTdHJpbmcu
aCIKICNpbXBvcnQgIkxvYWRQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJQbHVnaW5WaWV3LmgiCiAj
aW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgpAQCAtNDAsNiArNDEsNyBAQAogI2ltcG9y
dCA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUmVuZGVyRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJPYmplY3QuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKIApA
QCAtMTg5LDYgKzE5MSwyMSBAQCB2b2lkIFdlYlBhZ2U6OmFjY2Vzc2liaWxpdHlUcmFuc2ZlclJl
bW90ZVRva2VuKFJldGFpblB0cjxOU0RhdGE+IHJlbW90ZVRva2VuKQogICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6UmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKGRh
dGFUb2tlbikpOwogfQogCit2b2lkIFdlYlBhZ2U6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3Ry
aW5nKENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3sKKyAgICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2Ut
Pm1haW5GcmFtZSgpOworCisgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFRleHRJdGVyYXRvcjo6
cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoZnJhbWUuZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVt
ZW50KCksIDAsIElOVF9NQVgpOworCisgICAgTlNEaWN0aW9uYXJ5KiBkb2N1bWVudEF0dHJpYnV0
ZXMgPSBuaWw7CisKKyAgICBBdHRyaWJ1dGVkU3RyaW5nIHJlc3VsdDsKKyAgICByZXN1bHQuc3Ry
aW5nID0gYXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgqcmFuZ2UsICZkb2N1bWVudEF0dHJpYnV0
ZXMpOworICAgIHJlc3VsdC5kb2N1bWVudEF0dHJpYnV0ZXMgPSBkb2N1bWVudEF0dHJpYnV0ZXM7
CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkF0dHJpYnV0ZWRTdHJpbmdDYWxs
YmFjayhyZXN1bHQsIGNhbGxiYWNrSUQpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCA5ZWUwNmZiY2M1NTYyNmU2ZGI5NTA2ODY0NmRjZTFlYzRhOTI0
MGFjLi43ZDc5MjA2MDYyZWYzMmIzMjM1OWVkMzE5MDJiOTJhYzg5MjJmZDM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMjk5LDYgKzEyOTksOSBA
QCBwcml2YXRlOgogICAgIHZvaWQgdmlld1dpbGxFbmRMaXZlUmVzaXplKCk7CiAKICAgICB2b2lk
IGdldENvbnRlbnRzQXNTdHJpbmcoQ2FsbGJhY2tJRCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisg
ICAgdm9pZCBnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhDYWxsYmFja0lEIGNhbGxiYWNr
SUQpOworI2VuZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIHZvaWQgZ2V0Q29udGVudHNBc01I
VE1MRGF0YShDYWxsYmFja0lEKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggY2IwYjU3MDkzMzY0YzBl
NTU0MjQzZjkzMDljMzkyNWQ1NDhhZjRmMC4uMTc2NGMwMmJjMmVmNDAyNzExZWZjMmYyZGU5Yzhh
MjNkNTBmNWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xODAsNiArMTgwLDkgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICAjIENhbGxiYWNrcy4KICAgICBHZXRDb250ZW50
c0FzU3RyaW5nKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIEdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFdlYktpdDo6Q2FsbGJhY2tJ
RCBjYWxsYmFja0lEKQorI2VuZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIEdldENvbnRlbnRz
QXNNSFRNTERhdGEoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364434</attachid>
            <date>2019-03-12 13:03:23 -0700</date>
            <delta_ts>2019-03-12 20:44:21 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190312130322.patch</filename>
            <type>text/plain</type>
            <size>38350</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc5ZmY3YzEzMjkzMzc3
OGJiODMwOGVmMzY0NTI0ZmU3ZmJiZmFhMi4uMmI1OWI1Y2E2NjMxMTY0MjhkMmMzZjk5Mjc1OWQz
MDEwY2FhN2U0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogVXBkYXRlZC4KKwogMjAxOS0w
My0xMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29u
c29saWRhdGUgQXJndW1lbnRDb2RlcnNNYWMgYW5kIEFyZ3VtZW50Q29kZXJzQ29jb2EuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGZlYzc0YjI5YmRmYWNjYTFkYjg4NWRkNmFiYjg2NmM0YTI0NmM4M2UuLjIxZGU3Zjg5
NjE3MzFkYjM4NTU4YmE0Y2JmNDVjZjNlMjFhN2Y0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVkU3RyaW5nIEFQSSBmb3IgY29udmVydGluZyBIVE1M
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2
CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLmg6IEFkZGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tOiBBZGRlZC4KKyAg
ICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmFp
bFByb3Zpc2lvbmFsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJp
YnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGYWlsTmF2aWdhdGlvbjp3
aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVs
ZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZpZ2F0aW9uOl0pOgorICAgICAgICAoK1tfV0tBdHRy
aWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNhY2hlXSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0
ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmlldmVPckNyZWF0ZVdlYlZpZXddKToKKyAgICAgICAg
KCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZpZXdDYWNoZSBjYWNoZVdlYlZpZXc6XSk6CisgICAg
ICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmVzZXRQdXJnZURlbGF5XSk6
CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcHVyZ2VTaW5nbGVX
ZWJWaWV3XSk6CisgICAgICAgICgrW05TQXR0cmlidXRlZFN0cmluZyBfYXR0cmlidXRlZFN0cmlu
Z1dpdGhPcHRpb25zOmNvbnRlbnRMb2FkZXI6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAg
ICgrW05TQXR0cmlidXRlZFN0cmluZyBhdHRyaWJ1dGVkU3RyaW5nRnJvbUhUTUxXaXRoUmVxdWVz
dDpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tOU0F0dHJpYnV0ZWRT
dHJpbmcgYXR0cmlidXRlZFN0cmluZ0Zyb21IVE1MV2l0aEZpbGVVUkw6b3B0aW9uczpjb21wbGV0
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGF0dHJpYnV0ZWRT
dHJpbmdGcm9tSFRNTFdpdGhTdHJpbmc6b3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGF0dHJpYnV0ZWRTdHJpbmdGcm9tSFRNTFdpdGhE
YXRhOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3IubW06CisgICAgICAgIChsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29k
ZSk6CisgICAgICAgIChjcmVhdGVOU0Vycm9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3JJbnRlcm5hbC5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDE5LTAzLTEyICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCB0byBXZWJQYWdlIGZvciBnZXR0aW5nIHRoZSBj
b250ZW50cyBhcyBhbiBhdHRyaWJ1dGVkIHN0cmluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJv
ai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IGYxNDQxOTE4MzVjMzkwYzIxZGU1YmRmMWM5NjVi
NmIxYTk1YWMwNTkuLjMyMTY1NTc5MWEwZDdiZjkzZDc0MTg4Y2FjYTlmODI2ZTRkYTIzNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKKysr
IGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpAQCAtMTAzLDYg
KzEwMyw5IEBACiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiQWxpZ24gUmlnaHQgKFVuZG8gYWN0
aW9uIG5hbWUpIiA9ICJBbGlnbiBSaWdodCI7CiAKKy8qIFdLRXJyb3JBY3Rpb25UaW1lZE91dCBk
ZXNjcmlwdGlvbiAqLworIkFuIGFjdGlvbiBlbmRlZCB3aXRob3V0IGNvbXBsZXRpbmciID0gIkFu
IGFjdGlvbiBlbmRlZCB3aXRob3V0IGNvbXBsZXRpbmciOworCiAvKiBXS0Vycm9yVW5rbm93biBk
ZXNjcmlwdGlvbiAqLwogIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQiID0gIkFuIHVua25vd24g
ZXJyb3Igb2NjdXJyZWQiOwogCkBAIC0xODEsNiArMTg0LDkgQEAKIC8qIFdLRXJyb3JDb250ZW50
UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQgZGVzY3JpcHRpb24gKi8KICJDb21waWxpbmcgYSBX
S0NvbnRlbnRSdWxlTGlzdCBmYWlsZWQiID0gIkNvbXBpbGluZyBhIFdLQ29udGVudFJ1bGVMaXN0
IGZhaWxlZCI7CiAKKy8qIFdLRXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIGRlc2NyaXB0aW9uICov
CisiQ29udGVudCBmYWlsZWQgdG8gbG9hZCBhcyBleHBlY3RlZCIgPSAiQ29udGVudCBmYWlsZWQg
dG8gbG9hZCBhcyBleHBlY3RlZCI7CisKIC8qIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBl
IGRlc2NyaXB0aW9uICovCiAiQ29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZ
dCBiZSBzaG93biIgPSAiQ29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBi
ZSBzaG93biI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBhZjAxNzhiYTM1NTAzMDFjNWY0
YjhlZTJiY2UzODhjZjJiODMyZmY3Li42NDgxYzMxMjFiYzk5YTVlMjY3N2FkMTkyMTFhNGJjZWYx
MGY4NGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yMjgsNiArMjI4LDcgQEAgVUlQcm9j
ZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFj
L1dLUGFnZVByaXZhdGVNYWMubW0KIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQcm90ZWN0aW9uU3Bh
Y2VOUy5tbQogCitVSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbQogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S0F0dGFjaG1lbnQubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTQyNWE5OWFhY2RhMzA5MDIz
MTMwODk1MTdkZDM0MDgzZjA4MDY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5oCkBAIC0wLDAgKzEsMTIxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWYgV0tf
QVBJX0VOQUJMRUQKKworI2lmIFRBUkdFVF9PU19JUEhPTkUKKyNpbXBvcnQgPFVJS2l0L05TQXR0
cmlidXRlZFN0cmluZy5oPgorI2Vsc2UKKyNpbXBvcnQgPEFwcEtpdC9OU0F0dHJpYnV0ZWRTdHJp
bmcuaD4KKyNlbmRpZgorCitOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgorCisvKiEKKyBAYWJzdHJh
Y3QgSW5kaWNhdGVzIHdoaWNoIGxvY2FsIGZpbGVzIFdlYktpdCBjYW4gYWNjZXNzIHdoZW4gbG9h
ZGluZyBjb250ZW50LgorIEBkaXNjdXNzaW9uIElmIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0
aW9uIHJlZmVyZW5jZXMgYSBzaW5nbGUgZmlsZSwgb25seSB0aGF0IGZpbGUgbWF5IGJlCisgbG9h
ZGVkIGJ5IFdlYktpdC4gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNl
cyBhIGRpcmVjdG9yeSwgZmlsZXMgaW5zaWRlIHRoYXQKKyBkaXJlY3RvcnkgbWF5IGJlIGxvYWRl
ZCBieSBXZWJLaXQuCisqLworV0tfRVhURVJOIE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVh
ZGluZ09wdGlvbktleSBjb25zdCBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbgorICAgIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisv
KiEKKyBAYWJzdHJhY3QgVHlwZSBkZWZpbml0aW9uIGZvciB0aGUgY29tcGxldGlvbiBoYW5kbGVy
IGJsb2NrIHVzZWQgdG8gZ2V0IGFzeW5jaHJvbm91cyByZXN1bHRzLgorIEBkaXNjdXNzaW9uIFRo
ZSBjb21wbGV0aW9uIGhhbmRsZXIgYmxvY2sgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmlu
ZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBsaWtl
IE5TQmFja2dyb3VuZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUsIG9yIGFuIGVycm9yLiBBbiBpbXBs
ZW1lbnRhdGlvbgorIG9mIHRoaXMgYmxvY2sgdHlwZSBtdXN0IGV4cGVjdCB0byBiZSBjYWxsZWQg
YXN5bmNocm9ub3VzbHkgd2hlbiBwYXNzZWQgdG8gSFRNTCBtZXRob2RzLgorKi8KK3R5cGVkZWYg
dm9pZCAoXk5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKShOU0F0dHJpYnV0ZWRT
dHJpbmcgKiBfTnVsbGFibGUsIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVu
dEF0dHJpYnV0ZUtleSwgaWQ+ICogX051bGxhYmxlLCBOU0Vycm9yICogX051bGxhYmxlKQorICAg
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
CisvKiEKKyBAZGlzY3Vzc2lvbiBFeHRlbnNpb24gb2YgQGxpbmsgLy9hcHBsZV9yZWYvb2NjL05T
QXR0cmlidXRlZFN0cmluZyBOU0F0dHJpYnV0ZWRTdHJpbmcgQC9saW5rIHRvCisgY3JlYXRlIGF0
dHJpYnV0ZWQgc3RyaW5ncyBmcm9tIEhUTUwgY29udGVudCB1c2luZyBXZWJLaXQuCisqLworQGlu
dGVyZmFjZSBOU0F0dHJpYnV0ZWRTdHJpbmcgKE5TQXR0cmlidXRlZFN0cmluZ1dlYktpdEFkZGl0
aW9ucykKKworLyohCisgQGFic3RyYWN0IExvYWRzIGFuIEhUTUwgVVJMIHJlcXVlc3QgYW5kIGNv
bnZlcnRzIHRoZSBjb250ZW50cyBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBwYXJhbSBy
ZXF1ZXN0IFRoZSByZXF1ZXN0IHNwZWNpZnlpbmcgdGhlIFVSTCB0byBsb2FkLgorIEBwYXJhbSBv
cHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQg
Y29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiBhbmQgTlNUaW1l
b3V0RG9jdW1lbnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29t
cGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBs
ZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFz
c2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVu
dC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4KKyovCisrICh2b2lkKWF0dHJpYnV0ZWRT
dHJpbmdGcm9tSFRNTFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IG9wdGlvbnM6
KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXks
IGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBs
ZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRfTkFNRShmcm9tSFRN
TChyZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBhYnN0cmFjdCBD
b252ZXJ0cyBhIGxvY2FsIEhUTUwgZmlsZSBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBw
YXJhbSBmaWxlVVJMIFRoZSBmaWxlIFVSTCB0byBsb2FkLgorIEBwYXJhbSBvcHRpb25zIERvY3Vt
ZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVudHMuCisg
TlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9jdW1lbnRPcHRp
b24gYW5kIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisgYXJlIHN1cHBvcnRlZCBvcHRp
b24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hl
biB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29t
cGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxv
bmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4gSWYg
TlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNlcyBhIHNpbmdsZSBmaWxlLAor
IG9ubHkgdGhhdCBmaWxlIG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LiBJZiBOU1JlYWRBY2Nlc3NV
UkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgZGlyZWN0b3J5LAorIGZpbGVzIGluc2lkZSB0
aGF0IGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVkIGJ5IFdlYktpdC4KKyovCisrICh2b2lkKWF0dHJp
YnV0ZWRTdHJpbmdGcm9tSFRNTFdpdGhGaWxlVVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0aW9uczoo
TlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwg
aWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxl
dGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGZyb21IVE1M
KGZpbGVVUkw6b3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjopKSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IENv
bnZlcnRzIGFuIEhUTUwgc3RyaW5nIGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFt
IHN0cmluZyBUaGUgSFRNTCBzdHJpbmcgdG8gdXNlIGFzIHRoZSBjb250ZW50cy4KKyBAcGFyYW0g
b3B0aW9ucyBEb2N1bWVudCBhdHRyaWJ1dGVzIGZvciBpbnRlcnByZXRpbmcgdGhlIGRvY3VtZW50
IGNvbnRlbnRzLgorIE5TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb24sIE5TVGltZW91
dERvY3VtZW50T3B0aW9uIGFuZCBOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbgorIGFyZSBzdXBwb3J0
ZWQgb3B0aW9uIGtleXMuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52
b2tlIHdoZW4gdGhlIG9wZXJhdGlvbiBjb21wbGV0ZXMgb3IgZmFpbHMuCisgQGRpc2N1c3Npb24g
VGhlIGNvbXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVz
dWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywgb3IgYW4gZXJy
b3IuIE5TQmFzZVVSTERvY3VtZW50T3B0aW9uIGlzIHVzZWQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBV
UkxzCisgd2l0aGluIHRoZSBkb2N1bWVudC4KKyovCisrICh2b2lkKWF0dHJpYnV0ZWRTdHJpbmdG
cm9tSFRNTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KE5TRGljdGlvbmFy
eTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlv
bnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVy
KWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRfTkFNRShmcm9tSFRNTChzdHJpbmc6b3B0
aW9uczpjb21wbGV0aW9uSGFuZGxlcjopKSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IENvbnZlcnRzIEhUTUwg
ZGF0YSBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBwYXJhbSBkYXRhIFRoZSBIVE1MIGRh
dGEgdG8gdXNlIGFzIHRoZSBjb250ZW50cy4KKyBAcGFyYW0gb3B0aW9ucyBEb2N1bWVudCBhdHRy
aWJ1dGVzIGZvciBpbnRlcnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnRzLgorIE5TVGV4dFNp
emVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb24sIE5TVGltZW91dERvY3VtZW50T3B0aW9uLCBOU1Rl
eHRFbmNvZGluZ05hbWVEb2N1bWVudE9wdGlvbiwKKyBhbmQgTlNDaGFyYWN0ZXJFbmNvZGluZ0Rv
Y3VtZW50T3B0aW9uIGFyZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBhcmFtIGNvbXBsZXRp
b25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdoZW4gdGhlIG9wZXJhdGlvbiBjb21wbGV0ZXMg
b3IgZmFpbHMuCisgQGRpc2N1c3Npb24gVGhlIGNvbXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0
aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2
ZWwgYXR0cmlidXRlcywgb3IgYW4gZXJyb3IuIElmIG5laXRoZXIgTlNUZXh0RW5jb2RpbmdOYW1l
RG9jdW1lbnRPcHRpb24gbm9yCisgTlNDaGFyYWN0ZXJFbmNvZGluZ0RvY3VtZW50T3B0aW9uIGlz
IHN1cHBsaWVkLCBhIGJlc3QtZ3Vlc3MgZW5jb2RpbmcgaXMgdXNlZC4KKyovCisrICh2b2lkKWF0
dHJpYnV0ZWRTdHJpbmdGcm9tSFRNTFdpdGhEYXRhOihOU0RhdGEgKilkYXRhIG9wdGlvbnM6KE5T
RGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlk
PiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRp
b25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRfTkFNRShmcm9tSFRNTChk
YXRhOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5V
TExfRU5ECisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI3ZDdiZjBkOTI0NDIz
MzEwMWQ1NGZmZDk4ZWFmZDQwNjkwNTUxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTAsMCArMSwz
MTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiTlNBdHRy
aWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIgorCisjaW1wb3J0ICJXS0Vycm9ySW50ZXJuYWwuaCIKKyNp
bXBvcnQgIldLTmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaCIKKyNpbXBvcnQgIldLTmF2aWdhdGlv
bkRlbGVnYXRlLmgiCisjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCisjaW1wb3J0ICJXS1dl
YlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJzaXRlRGF0YVN0b3Jl
LmgiCisjaW1wb3J0ICJXS1Byb2Nlc3NQb29sUHJpdmF0ZS5oIgorI2ltcG9ydCAiX1dLUHJvY2Vz
c1Bvb2xDb25maWd1cmF0aW9uLmgiCisjaW1wb3J0IDx3dGYvRGVxdWUuaD4KKyNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCitOU1N0cmlu
ZyAqIGNvbnN0IE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uID0gQCJSZWFkQWNjZXNzVVJM
IjsKKworc3RhdGljIGNvbnN0IE5TUmVjdCB3ZWJWaWV3UmVjdCA9IHt7MCwgMH0sIHs4MDAsIDYw
MH19Oworc3RhdGljIGNvbnN0IE5TVGltZUludGVydmFsIGRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwg
PSA2MDsKK3N0YXRpYyBjb25zdCBOU1RpbWVJbnRlcnZhbCBwdXJnZVdlYlZpZXdDYWNoZURlbGF5
ID0gMzA7CitzdGF0aWMgY29uc3QgTlNVSW50ZWdlciBtYXhpbXVtV2ViVmlld0NhY2hlU2l6ZSA9
IDM7CisKK0BpbnRlcmZhY2UgX1dLQXR0cmlidXRlZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZSA6
IE5TT2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZT4KKworQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHkpIHZvaWQgKF53ZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZSkoV0tXZWJWaWV3ICop
OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKShXS05hdmlnYXRpb25BY3Rpb24gKiwgdm9pZCAoXikoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZEZh
aWxQcm92aXNpb25hbE5hdmlnYXRpb24pKFdLV2ViVmlldyAqLCBXS05hdmlnYXRpb24gKiwgTlNF
cnJvciAqKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGlkRmFpbE5hdmln
YXRpb24pKFdLV2ViVmlldyAqLCBXS05hdmlnYXRpb24gKiwgTlNFcnJvciAqKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGlkRmluaXNoTmF2aWdhdGlvbikoV0tXZWJWaWV3
ICosIFdLTmF2aWdhdGlvbiAqKTsKKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gX1dLQXR0cmli
dXRlZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXdXZWJDb250ZW50
UHJvY2Vzc0RpZFRlcm1pbmF0ZTooV0tXZWJWaWV3ICopd2ViVmlldworeworICAgIGlmIChfd2Vi
Q29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUpCisgICAgICAgIF93ZWJDb250ZW50UHJvY2Vzc0Rp
ZFRlcm1pbmF0ZSh3ZWJWaWV3KTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlv
biAqKW5hdmlnYXRpb25BY3Rpb24gZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRp
b25BY3Rpb25Qb2xpY3kpKWRlY2lzaW9uSGFuZGxlcgoreworICAgIGlmIChfZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbikKKyAgICAgICAgcmV0dXJuIF9kZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKG5hdmlnYXRpb25BY3Rpb24sIGRlY2lzaW9uSGFuZGxlcik7CisgICAgZGVj
aXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93KTsKK30KKworLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRp
b246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24gd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IK
K3sKKyAgICBpZiAoX2RpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24pCisgICAgICAgIF9kaWRG
YWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKHdlYlZpZXcsIG5hdmlnYXRpb24sIGVycm9yKTsKK30K
KworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEZhaWxOYXZpZ2F0aW9u
OihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uIHdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCit7
CisgICAgaWYgKF9kaWRGYWlsTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZhaWxOYXZpZ2F0aW9u
KHdlYlZpZXcsIG5hdmlnYXRpb24sIGVycm9yKTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGRpZEZpbmlzaE5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5hdmln
YXRpb24KK3sKKyAgICBpZiAoX2RpZEZpbmlzaE5hdmlnYXRpb24pCisgICAgICAgIF9kaWRGaW5p
c2hOYXZpZ2F0aW9uKHdlYlZpZXcsIG5hdmlnYXRpb24pOworfQorCitAZW5kCisKK0BpbnRlcmZh
Y2UgX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZpZXdDYWNoZSA6IE5TT2JqZWN0CisKKysgKFJldGFp
blB0cjxXS1dlYlZpZXc+KXJldHJpZXZlT3JDcmVhdGVXZWJWaWV3OworKyAodm9pZCljYWNoZVdl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXc7CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIF9X
S0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUKKworKyAoTlNNdXRhYmxlQXJyYXk8V0tXZWJW
aWV3ICo+ICopY2FjaGUKK3sKKyAgICBzdGF0aWMgYXV0byogY2FjaGUgPSBbW05TTXV0YWJsZUFy
cmF5PFdLV2ViVmlldyAqPiBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTptYXhpbXVtV2ViVmlld0Nh
Y2hlU2l6ZV07CisgICAgcmV0dXJuIGNhY2hlOworfQorCisrIChSZXRhaW5QdHI8V0tXZWJWaWV3
PilyZXRyaWV2ZU9yQ3JlYXRlV2ViVmlldworeworICAgIFtzZWxmIHJlc2V0UHVyZ2VEZWxheV07
CisKKyAgICBhdXRvKiBjYWNoZSA9IFtzZWxmIGNhY2hlXTsKKyAgICBpZiAoY2FjaGUuY291bnQp
IHsKKyAgICAgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGNhY2hlLmxhc3RPYmpl
Y3Q7CisgICAgICAgIFtjYWNoZSByZW1vdmVMYXN0T2JqZWN0XTsKKyAgICAgICAgcmV0dXJuIHdl
YlZpZXc7CisgICAgfQorCisgICAgc3RhdGljIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZp
Z3VyYXRpb247CisgICAgaWYgKCFjb25maWd1cmF0aW9uKSB7CisgICAgICAgIGNvbmZpZ3VyYXRp
b24gPSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgICAgICBjb25m
aWd1cmF0aW9uLnByb2Nlc3NQb29sID0gW1tbV0tQcm9jZXNzUG9vbCBhbGxvY10gaW5pdF0gYXV0
b3JlbGVhc2VdOworICAgICAgICBjb25maWd1cmF0aW9uLndlYnNpdGVEYXRhU3RvcmUgPSBbV0tX
ZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRhU3RvcmVdOworI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgICAgIGNvbmZpZ3VyYXRpb24uX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eSA9IFlFUzsKKyNlbmRpZgorICAgIH0KKworICAgIHJldHVybiBhZG9wdE5TKFtbV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOndlYlZpZXdSZWN0IGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pOworfQorCisrICh2b2lkKWNhY2hlV2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldworeworICAgIGF1dG8qIGNhY2hlID0gW3NlbGYgY2FjaGVdOworICAgIGlmIChjYWNoZS5j
b3VudCA+PSBtYXhpbXVtV2ViVmlld0NhY2hlU2l6ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
W2NhY2hlIGFkZE9iamVjdDp3ZWJWaWV3XTsKKworICAgIC8vIExvYWQgYSBibGFuayBwYWdlIHRv
IGNsZWFyIGFueXRoaW5nIGxvYWRlZCB3aGlsZSBpbiB0aGUgY2FjaGUuCisgICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAImFib3V0OmJsYW5rIl1dXTsKK30KKworKyAodm9pZClyZXNldFB1cmdlRGVsYXkKK3sK
KyAgICBzdGF0aWMgY29uc3QgYXV0byBwdXJnZVNlbGVjdG9yID0gQHNlbGVjdG9yKHB1cmdlU2lu
Z2xlV2ViVmlldyk7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3Rz
V2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOnB1cmdlU2VsZWN0b3Igb2JqZWN0Om5pbF07CisgICAg
W3NlbGYgcGVyZm9ybVNlbGVjdG9yOnB1cmdlU2VsZWN0b3Igd2l0aE9iamVjdDpuaWwgYWZ0ZXJE
ZWxheTpwdXJnZVdlYlZpZXdDYWNoZURlbGF5XTsKK30KKworKyAodm9pZClwdXJnZVNpbmdsZVdl
YlZpZXcKK3sKKyAgICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNXaXRo
VGFyZ2V0OnNlbGYgc2VsZWN0b3I6X2NtZCBvYmplY3Q6bmlsXTsKKworICAgIGF1dG8qIGNhY2hl
ID0gW3NlbGYgY2FjaGVdOworICAgIGlmICghY2FjaGUuY291bnQpCisgICAgICAgIHJldHVybjsK
KworICAgIFtjYWNoZSByZW1vdmVMYXN0T2JqZWN0XTsKKworICAgIGlmICghY2FjaGUuY291bnQp
CisgICAgICAgIHJldHVybjsKKworICAgIC8vIEtlZXAgZ29pbmcgdW50aWwgZXZlcnkgdmlldyBp
cyByZW1vdmVkLCBvciB0aGUgZGVsYXkgaXMgcmVzZXQuCisgICAgW3NlbGYgcGVyZm9ybVNlbGVj
dG9yOl9jbWQgd2l0aE9iamVjdDpuaWwgYWZ0ZXJEZWxheTpwdXJnZVdlYlZpZXdDYWNoZURlbGF5
XTsKK30KKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gTlNBdHRyaWJ1dGVkU3RyaW5nIChXS1By
aXZhdGUpCisKKysgKHZvaWQpX2F0dHJpYnV0ZWRTdHJpbmdXaXRoT3B0aW9uczooTlNEaWN0aW9u
YXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0
aW9ucyBjb250ZW50TG9hZGVyOihXS05hdmlnYXRpb24gKiheKShXS1dlYlZpZXcgKikpbG9hZFdl
YkNvbnRlbnQgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25I
YW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgaWYgKG9wdGlvbnNbTlNXZWJQcmVmZXJl
bmNlc0RvY3VtZW50T3B0aW9uXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxp
ZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIk5TV2ViUHJlZmVyZW5jZXNEb2N1bWVudE9wdGlv
biBvcHRpb24gaXMgbm90IHN1cHBvcnRlZCJdOworICAgIGlmIChvcHRpb25zW05TV2ViUmVzb3Vy
Y2VMb2FkRGVsZWdhdGVEb2N1bWVudE9wdGlvbl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlz
ZTpOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJOU1dlYlJlc291cmNlTG9hZERl
bGVnYXRlRG9jdW1lbnRPcHRpb24gb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiXTsKKyAgICBpZiAo
b3B0aW9uc1tAIldlYlBvbGljeURlbGVnYXRlIl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlz
ZTpOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJXZWJQb2xpY3lEZWxlZ2F0ZSBv
cHRpb24gaXMgbm90IHN1cHBvcnRlZCJdOworCisgICAgYXV0byBydW5Db252ZXJzaW9uID0gXnsK
KyAgICAgICAgX19ibG9jayBhdXRvIGZpbmlzaGVkID0gTk87CisgICAgICAgIF9fYmxvY2sgYXV0
byB3ZWJWaWV3ID0gW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmlldmVPckNy
ZWF0ZVdlYlZpZXddOworICAgICAgICBfX2Jsb2NrIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0g
YWRvcHROUyhbW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKworICAgICAgICBfX2Jsb2NrIFJldGFpblB0cjxXS05hdmlnYXRpb24+IGNvbnRlbnRO
YXZpZ2F0aW9uOworCisgICAgICAgIHdlYlZpZXcuZ2V0KCkubmF2aWdhdGlvbkRlbGVnYXRlID0g
bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpOworCisgICAgICAgIGlmIChhdXRvKiB0ZXh0Wm9vbUZh
Y3RvciA9IGR5bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TVGV4dFNpemVNdWx0
aXBsaWVyRG9jdW1lbnRPcHRpb25dKSkKKyAgICAgICAgICAgIHdlYlZpZXcuZ2V0KCkuX3RleHRa
b29tRmFjdG9yID0gdGV4dFpvb21GYWN0b3IuZG91YmxlVmFsdWU7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHdlYlZpZXcuZ2V0KCkuX3RleHRab29tRmFjdG9yID0gMTsKKworICAgICAgICBh
dXRvIGZpbmlzaCA9IF4oTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nLCBOU0Rp
Y3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqYXR0
cmlidXRlcywgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGlmIChmaW5pc2hlZCkKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGZpbmlzaGVkID0gWUVTOworCisg
ICAgICAgICAgICB3ZWJWaWV3LmdldCgpLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5pbDsKKyAgICAg
ICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5pbDsKKyAgICAgICAgICAgIGNvbnRlbnROYXZp
Z2F0aW9uID0gbmlsOworCisgICAgICAgICAgICBpZiAoIWVycm9yKQorICAgICAgICAgICAgICAg
IFtfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNhY2hlV2ViVmlldzp3ZWJWaWV3Lmdl
dCgpXTsKKyAgICAgICAgICAgIHdlYlZpZXcgPSBuaWw7CisKKyAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKGF0dHJpYnV0ZWRTdHJpbmcsIGF0dHJpYnV0ZXMsIGVycm9yKTsKKyAgICAgICAg
fTsKKworICAgICAgICBhdXRvIGNhbmNlbCA9IF4oV0tFcnJvckNvZGUgZXJyb3JDb2RlLCBOU0Vy
cm9yKiB1bmRlcmx5aW5nRXJyb3IpIHsKKyAgICAgICAgICAgIGZpbmlzaChuaWwsIG5pbCwgY3Jl
YXRlTlNFcnJvcihlcnJvckNvZGUsIHVuZGVybHlpbmdFcnJvcikuZ2V0KCkpOworICAgICAgICB9
OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uID0gXihXS05hdmlnYXRpb25BY3Rpb24gKmFjdGlvbiwgdm9pZCAoXmRlY2lz
aW9uSGFuZGxlcikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSkgeworICAgICAgICAgICAgaWYg
KFthY3Rpb24uX21haW5GcmFtZU5hdmlnYXRpb24gaXNFcXVhbDpjb250ZW50TmF2aWdhdGlvbi5n
ZXQoKV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRp
b25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZp
Z2F0aW9uQWN0aW9uUG9saWN5Q2FuY2VsKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0
aW9uRGVsZWdhdGUuZ2V0KCkud2ViQ29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUgPSBeKFdLV2Vi
VmlldyAqKSB7CisgICAgICAgICAgICBjYW5jZWwoV0tFcnJvcldlYkNvbnRlbnRQcm9jZXNzVGVy
bWluYXRlZCwgbmlsKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUu
Z2V0KCkuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3ICosIFdLTmF2
aWdhdGlvbiAqLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgY2FuY2VsKFdLRXJyb3JD
b250ZW50RmFpbGVkVG9Mb2FkLCBlcnJvcik7CisgICAgICAgIH07CisKKyAgICAgICAgbmF2aWdh
dGlvbkRlbGVnYXRlLmdldCgpLmRpZEZhaWxOYXZpZ2F0aW9uID0gXihXS1dlYlZpZXcgKiwgV0tO
YXZpZ2F0aW9uICosIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgICAgICBjYW5jZWwoV0tFcnJv
ckNvbnRlbnRGYWlsZWRUb0xvYWQsIGVycm9yKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZp
Z2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmluaXNoTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3ICos
IFdLTmF2aWdhdGlvbiAqKSB7CisgICAgICAgICAgICBpZiAoZmluaXNoZWQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBuaWw7CisK
KyAgICAgICAgICAgIFt3ZWJWaWV3IF9nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpeKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywg
TlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4g
KmRvY3VtZW50QXR0cmlidXRlcywgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYW5jZWwoV0tFcnJvclVua25v
d24sIGVycm9yKTsKKyAgICAgICAgICAgICAgICBmaW5pc2goW1thdHRyaWJ1dGVkU3RyaW5nIHJl
dGFpbl0gYXV0b3JlbGVhc2VdLCBbW2RvY3VtZW50QXR0cmlidXRlcyByZXRhaW5dIGF1dG9yZWxl
YXNlXSwgbmlsKTsKKyAgICAgICAgICAgIH1dOworICAgICAgICB9OworCisgICAgICAgIGF1dG8g
dGltZW91dEludGVydmFsID0gZGVmYXVsdFRpbWVvdXRJbnRlcnZhbDsKKyAgICAgICAgaWYgKGF1
dG8qIHRpbWVvdXRPcHRpb24gPSBkeW5hbWljX29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tO
U1RpbWVvdXREb2N1bWVudE9wdGlvbl0pKSB7CisgICAgICAgICAgICBpZiAodGltZW91dE9wdGlv
bi5kb3VibGVWYWx1ZSA+PSAwKQorICAgICAgICAgICAgICAgIHRpbWVvdXRJbnRlcnZhbCA9IHRp
bWVvdXRPcHRpb24uZG91YmxlVmFsdWU7CisgICAgICAgIH0KKworICAgICAgICBkaXNwYXRjaF9h
ZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCB0aW1lb3V0SW50ZXJ2YWwgKiBO
U0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAg
aWYgKGZpbmlzaGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGNhbmNl
bChXS0Vycm9yQWN0aW9uVGltZWRPdXQsIG5pbCk7CisgICAgICAgIH0pOworCisgICAgICAgIGNv
bnRlbnROYXZpZ2F0aW9uID0gbG9hZFdlYkNvbnRlbnQod2ViVmlldy5nZXQoKSk7CisKKyAgICAg
ICAgQVNTRVJUKGNvbnRlbnROYXZpZ2F0aW9uKTsKKyAgICAgICAgQVNTRVJUKHdlYlZpZXcuZ2V0
KCkubG9hZGluZyk7CisgICAgfTsKKworICAgIGlmIChbTlNUaHJlYWQgaXNNYWluVGhyZWFkXSkK
KyAgICAgICAgcnVuQ29udmVyc2lvbigpOworICAgIGVsc2UKKyAgICAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgcnVuQ29udmVyc2lvbik7Cit9CisKK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIE5TQXR0cmlidXRlZFN0cmluZyAoTlNBdHRyaWJ1dGVkU3RyaW5n
V2ViS2l0QWRkaXRpb25zKQorCisrICh2b2lkKWF0dHJpYnV0ZWRTdHJpbmdGcm9tSFRNTFdpdGhS
ZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0
dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29t
cGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBs
ZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2F0dHJpYnV0ZWRTdHJpbmdXaXRoT3B0aW9uczpv
cHRpb25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykg
eworICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgfSBj
b21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKKysgKHZvaWQpYXR0cmli
dXRlZFN0cmluZ0Zyb21IVE1MV2l0aEZpbGVVUkw6KE5TVVJMICopZmlsZVVSTCBvcHRpb25zOihO
U0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBp
ZD4gKilvcHRpb25zIGNvbXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0
aW9uSGFuZGxlciljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxmIF9hdHRyaWJ1dGVkU3Ry
aW5nV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dl
YlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAgYXV0byogcmVhZEFjY2Vzc1VSTCA9IGR5bmFtaWNf
b2JqY19jYXN0PE5TVVJMPihvcHRpb25zW05TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uXSk7
CisgICAgICAgIHJldHVybiBbd2ViVmlldyBsb2FkRmlsZVVSTDpmaWxlVVJMIGFsbG93aW5nUmVh
ZEFjY2Vzc1RvVVJMOnJlYWRBY2Nlc3NVUkxdOworICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29t
cGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lkKWF0dHJpYnV0ZWRTdHJpbmdGcm9tSFRNTFdp
dGhTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJp
YnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxl
dGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRp
b25IYW5kbGVyCit7CisgICAgW3NlbGYgX2F0dHJpYnV0ZWRTdHJpbmdXaXRoT3B0aW9uczpvcHRp
b25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykgewor
ICAgICAgICBhdXRvKiBiYXNlVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+KG9wdGlvbnNb
TlNCYXNlVVJMRG9jdW1lbnRPcHRpb25dKTsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IGxvYWRI
VE1MU3RyaW5nOnN0cmluZyBiYXNlVVJMOmJhc2VVUkxdOworICAgIH0gY29tcGxldGlvbkhhbmRs
ZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lkKWF0dHJpYnV0ZWRTdHJpbmdGcm9t
SFRNTFdpdGhEYXRhOihOU0RhdGEgKilkYXRhIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJp
YnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxl
dGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRp
b25IYW5kbGVyCit7CisgICAgW3NlbGYgX2F0dHJpYnV0ZWRTdHJpbmdXaXRoT3B0aW9uczpvcHRp
b25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykgewor
ICAgICAgICBhdXRvKiB0ZXh0RW5jb2RpbmdOYW1lID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJp
bmc+KG9wdGlvbnNbTlNUZXh0RW5jb2RpbmdOYW1lRG9jdW1lbnRPcHRpb25dKTsKKyAgICAgICAg
YXV0byBjaGFyYWN0ZXJFbmNvZGluZyA9IHN0YXRpY19jYXN0PE5TU3RyaW5nRW5jb2Rpbmc+KGR5
bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TQ2hhcmFjdGVyRW5jb2RpbmdEb2N1
bWVudE9wdGlvbl0pLnVuc2lnbmVkSW50ZWdlclZhbHVlKTsKKyAgICAgICAgYXV0byogYmFzZVVS
TCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TVVJMPihvcHRpb25zW05TQmFzZVVSTERvY3VtZW50T3B0
aW9uXSk7CisKKyAgICAgICAgaWYgKGNoYXJhY3RlckVuY29kaW5nICYmICF0ZXh0RW5jb2RpbmdO
YW1lKSB7CisgICAgICAgICAgICBhdXRvIHN0cmluZ0VuY29kaW5nID0gQ0ZTdHJpbmdDb252ZXJ0
TlNTdHJpbmdFbmNvZGluZ1RvRW5jb2RpbmcoY2hhcmFjdGVyRW5jb2RpbmcpOworICAgICAgICAg
ICAgaWYgKHN0cmluZ0VuY29kaW5nICE9IGtDRlN0cmluZ0VuY29kaW5nSW52YWxpZElkKQorICAg
ICAgICAgICAgICAgIHRleHRFbmNvZGluZ05hbWUgPSAoX19icmlkZ2UgTlNTdHJpbmcgKilDRlN0
cmluZ0NvbnZlcnRFbmNvZGluZ1RvSUFOQUNoYXJTZXROYW1lKHN0cmluZ0VuY29kaW5nKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJldHVybiBbd2ViVmlldyBsb2FkRGF0YTpkYXRhIE1JTUVUeXBl
OkAidGV4dC9odG1sIiBjaGFyYWN0ZXJFbmNvZGluZ05hbWU6dGV4dEVuY29kaW5nTmFtZSBiYXNl
VVJMOmJhc2VVUkxdOworICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJd
OworfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDNkYTdm
MDc1MTZmMTYyM2NiOGE0NWU3ZjgyMDE4NjQ3MjBkYmJkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUu
aApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L05TQXR0cmli
dXRlZFN0cmluZy5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworQGNsYXNzIFdLTmF2aWdhdGlv
bjsKK0BjbGFzcyBXS1dlYlZpZXc7CisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKKy8qIQor
IEBkaXNjdXNzaW9uIFByaXZhdGUgZXh0ZW5zaW9uIG9mIEBsaW5rIC8vYXBwbGVfcmVmL29jYy9O
U0F0dHJpYnV0ZWRTdHJpbmcgTlNBdHRyaWJ1dGVkU3RyaW5nIEAvbGluayB0bworIHRyYW5zbGF0
ZSBIVE1MIGNvbnRlbnQgaW50byBhdHRyaWJ1dGVkIHN0cmluZ3MgdXNpbmcgV2ViS2l0LgorICov
CitAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoV0tQcml2YXRlKQorCisvKiEKKyBAYWJz
dHJhY3QgQ29udmVydHMgdGhlIGNvbnRlbnRzIGxvYWRlZCBieSBhIGNvbnRlbnQgbG9hZGVyIGJs
b2NrIGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQg
YXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1Rl
eHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0aW9uLCBhbmQgTlNUaW1lb3V0RG9jdW1lbnRPcHRp
b24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29udGVudExvYWRlciBBIGJs
b2NrIHRvIGludm9rZSB3aGVuIGNvbnRlbnQgbmVlZHMgdG8gYmUgbG9hZGVkIGluIHRoZSBzdXBw
bGllZAorIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsuIEEgQGxpbmsgV0tOYXZpZ2F0aW9uIEAvbGlu
ayBmb3IgdGhlIG1haW4gZnJhbWUgbXVzdCBiZSByZXR1cm5lZC4KKyBAcGFyYW0gY29tcGxldGlv
bkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgdHJhbnNsYXRpb24gY29tcGxldGVz
IG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQg
dGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3VsdCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxl
dmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9yLgorICovCisrICh2b2lkKV9hdHRyaWJ1dGVkU3Ry
aW5nV2l0aE9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJl
YWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29udGVudExvYWRlcjooV0tOYXZpZ2F0aW9u
ICooXikoV0tXZWJWaWV3ICopKWxvYWRXZWJDb250ZW50IGNvbXBsZXRpb25IYW5kbGVyOihOU0F0
dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9uSGFuZGxlcjsKKworQGVu
ZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaAppbmRleCAwZTM4NTc4NTZhYzYyZWI5YzllMjVkZGRk
MjdmNDZlNjdkMzQwZTk2Li4xNTcwMTk1ZmQ0YmRlMDk2ZTQxZmFhMGY5NmRmYmJiMTdmNWM1YTI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgKQEAgLTQ1
LDYgKzQ1LDggQEAgV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgV0tFcnJvckRvbWFpbiBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyg4LjAKICBAY29uc3RhbnQgV0tFcnJvckNv
bnRlbnRSdWxlTGlzdFN0b3JlTG9va1VwRmFpbGVkICAgICBJbmRpY2F0ZXMgdGhhdCBsb29raW5n
IHVwIGEgV0tVc2VyQ29udGVudFJ1bGVMaXN0IGZhaWxlZC4KICBAY29uc3RhbnQgV0tFcnJvckNv
bnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkICAgICBJbmRpY2F0ZXMgdGhhdCByZW1vdmlu
ZyBhIFdLVXNlckNvbnRlbnRSdWxlTGlzdCBmYWlsZWQuCiAgQGNvbnN0YW50IFdLRXJyb3JDb250
ZW50UnVsZUxpc3RTdG9yZVZlcnNpb25NaXNtYXRjaCAgSW5kaWNhdGVzIHRoYXQgdGhlIFdLVXNl
ckNvbnRlbnRSdWxlTGlzdCB2ZXJzaW9uIGRpZCBub3QgbWF0Y2ggdGhlIGxhdGVzdC4KKyBAY29u
c3RhbnQgV0tFcnJvckNvbnRlbnRGYWlsZWRUb0xvYWQgICAgICAgICAgICAgICAgICBJbmRpY2F0
ZXMgdGhhdCB0aGUgY29udGVudCBmYWlsZWQgdG8gbG9hZCBhcyBleHBlY3RlZC4KKyBAY29uc3Rh
bnQgV0tFcnJvckFjdGlvblRpbWVkT3V0ICAgICAgICAgICAgICAgICAgICAgICBJbmRpY2F0ZXMg
dGhhdCB0aGUgYWN0aW9uIGhhcyBlbmRlZCB3aXRob3V0IGNvbXBsZXRpbmcuCiAgKi8KIHR5cGVk
ZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRXJyb3JDb2RlKSB7CiAgICAgV0tFcnJvclVua25vd24g
PSAxLApAQCAtNTYsNiArNTgsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Vycm9y
Q29kZSkgewogICAgIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tVcEZhaWxlZCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSksCiAgICAgV0tFcnJvckNvbnRl
bnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKSwKICAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVWZXJzaW9uTWlz
bWF0Y2ggV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpLAorICAgIFdL
RXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpLAorICAgIFdLRXJyb3JBY3Rpb25UaW1lZE91dCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKIH0gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wKSk7CiAKIE5TX0FTU1VNRV9OT05OVUxM
X0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJy
b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQppbmRl
eCAzNmM4NWRlZjE0ZGI2MGI2ZjUyNmIzNTQzOGFmMmFjMmUxNWU4OTc2Li5hZDM0YjE2OWQ4Mjg0
MGVjMzIxNzZjNTg3ZDgwYjUwMGMyMDk5MTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tFcnJvci5tbQpAQCAtNjksMTQgKzY5LDI0IEBAIE5TU3RyaW5nICpsb2Nh
bGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSBlcnJvckNvZGUpCiAKICAg
ICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZDoKICAgICAgICAg
cmV0dXJuIFdFQl9VSV9TVFJJTkcoIlJlbW92aW5nIGEgV0tDb250ZW50UnVsZUxpc3QgZmFpbGVk
IiwgIldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCBkZXNjcmlwdGlvbiIp
OworCisgICAgY2FzZSBXS0Vycm9yQ29udGVudEZhaWxlZFRvTG9hZDoKKyAgICAgICAgcmV0dXJu
IFdFQl9VSV9TVFJJTkcoIkNvbnRlbnQgZmFpbGVkIHRvIGxvYWQgYXMgZXhwZWN0ZWQiLCAiV0tF
cnJvckNvbnRlbnRGYWlsZWRUb0xvYWQgZGVzY3JpcHRpb24iKTsKKworICAgIGNhc2UgV0tFcnJv
ckFjdGlvblRpbWVkT3V0OgorICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiQW4gYWN0aW9u
IGVuZGVkIHdpdGhvdXQgY29tcGxldGluZyIsICJXS0Vycm9yQWN0aW9uVGltZWRPdXQgZGVzY3Jp
cHRpb24iKTsKICAgICB9CiB9CiAKLVJldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9yKFdL
RXJyb3JDb2RlIGVycm9yQ29kZSkKK1JldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9yKFdL
RXJyb3JDb2RlIGVycm9yQ29kZSwgTlNFcnJvciogdW5kZXJseWluZ0Vycm9yKQogewotICAgIGF1
dG8gdXNlckluZm8gPSBhZG9wdE5TKFtbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVj
dHNBbmRLZXlzOmxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKGVycm9yQ29kZSksIE5T
TG9jYWxpemVkRGVzY3JpcHRpb25LZXksIG5pbF0pOworICAgIE5TRGljdGlvbmFyeSAqdXNlcklu
Zm8gPSBuaWw7CisgICAgaWYgKHVuZGVybHlpbmdFcnJvcikKKyAgICAgICAgdXNlckluZm8gPSBA
eyBOU0xvY2FsaXplZERlc2NyaXB0aW9uS2V5OiBsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9y
Q29kZShlcnJvckNvZGUpLCBOU1VuZGVybHlpbmdFcnJvcktleTogdW5kZXJseWluZ0Vycm9yIH07
CisgICAgZWxzZQorICAgICAgICB1c2VySW5mbyA9IEB7IE5TTG9jYWxpemVkRGVzY3JpcHRpb25L
ZXk6IGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKGVycm9yQ29kZSkgfTsKIAotICAg
IHJldHVybiBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46V0tFcnJvckRv
bWFpbiBjb2RlOmVycm9yQ29kZSB1c2VySW5mbzp1c2VySW5mby5nZXQoKV0pOworICAgIHJldHVy
biBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBj
b2RlOmVycm9yQ29kZSB1c2VySW5mbzp1c2VySW5mb10pOwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaAppbmRl
eCAzMzIzN2Q1OThhNzk0MTBjZmI4M2ExMmY1MmYzOTNmOGFlNmMyZjMxLi5mNmE1NWVkMmM5Yzkz
NzAyMjFiOTkyNDFmMTk2NWI5YWI5ZmEwNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oCkBAIC0zMCw3ICszMCw3IEBACiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0ICJHZW5lcmljQ2FsbGJhY2suaCIKIAot
UmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUpOworUmV0YWluUHRy
PE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUsIE5TRXJyb3IqID0gbmlsKTsKIE5T
U3RyaW5nICpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSk7CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMTdlNGY4ZDAyODVjZmQ2MTRlOTcyNGI3NThjNTlkMzUyNmQ1MjMwNy4uODlkZDdl
ZjFlN2YxMjVjYzgzNjQ1NDAwNTI0MDc0ZDE5OWVmNmIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zODcsNiArMzg3LDggQEAKIAkJ
MUMwQTE5NTcxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDMEExOTU1MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CiAJCTFDMEExOTU4MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRv
bWF0aW9uU2Vzc2lvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzBBMTk1NjFDOTAwNjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNl
c3Npb25NZXNzYWdlcy5oICovOyB9OwogCQkxQzBBMTk1QzFDOTE2RTFCMDBGRTBFQkIgLyogV2Vi
QXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NUIxQzkxNkUxQjAwRkUwRUJCIC8qIFdl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaCAqLzsgfTsKKwkJMUMyMDkzNjAy
MjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8q
IE5TQXR0cmlidXRlZFN0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTFDMjE4NDAyMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRT
dHJpbmdQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzIxODQwMTIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFD
ODkxRDY2MTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4OTFENjMxOUIxMjRGRjAwQkE3OURE
IC8qIFdlYkluc3BlY3RvclVJLmggKi87IH07CiAJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAv
KiBXZWJJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDOEUyODFFMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuaCAqLzsgfTsK
IAkJMUM4RTI4MzQxMjc1RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjgzMjEyNzVENzM4
MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yUHJveHkuaCAqLzsgfTsKQEAgLTIzODUsNiArMjM4Nyw5
IEBACiAJCTFDMEExOTU5MUM5MDA2RUEwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5t
ZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMwQTE5NUExQzkxNjY5NTAwRkUwRUJCIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBXZWJBdXRvbWF0
aW9uU2Vzc2lvblByb3h5LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzBBMTk1
QjFDOTE2RTFCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJj
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5U2NyaXB0U291cmNlLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKKwkJMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRl
ZFN0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJpbmcuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMyMDkzNUYyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmli
dXRlZFN0cmluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5TQXR0cmlidXRlZFN0cmluZy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMyMTg0MDEyMjMzODcyODAwQkFDNzAw
IC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQzc3QzE5NTEyODhBODcyMDA2QTc0MkYgLyogV2ViSW5zcGVjdG9yUHJveHku
bWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSW5zcGVjdG9yUHJveHkubWVz
c2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODkxRDYyMTlCMTI0RkYw
MEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJJbnNwZWN0b3JVSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDODkxRDYzMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JVSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTk4OSw2ICs1OTk0LDkgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJMUE0M0U4MjYxODhGMzhFMjAwOUU0RDMwIC8qIERlcHJlY2F0
ZWQgKi8sCisJCQkJMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmlu
Zy5oICovLAorCQkJCTFDMjE4NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRTdHJp
bmdQcml2YXRlLmggKi8sCisJCQkJMUMyMDkzNUYyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmli
dXRlZFN0cmluZy5tbSAqLywKIAkJCQkzN0E1RTAxMjE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0
aXZhdGVkRWxlbWVudEluZm8uaCAqLywKIAkJCQkzN0E1RTAxMTE4QkJGOTM3MDAwQTA4MUUgLyog
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0gKi8sCiAJCQkJMzc5QTg3MzUxOEJCRkE0MzAwNTg4
QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLywKQEAgLTkxNjksNiAr
OTE3Nyw3IEBACiAJCQkJRTQyRTA2MTIxQUE3NUFCRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0MTNGNTlEMUFDMUFEQzQwMDM0NTM2MCAvKiBOZXR3
b3JrQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0QjI1MEYxQTgzMUE4RDAwQ0ZC
MTUwIC8qIE5ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTFDMjA5
MzYwMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0MkUwNjEwMUFBNzUyM0IwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDM2RUNFMUEwRDA0MEIwMEVBRDIwNCAvKiBOZXR3b3Jr
Q2FjaGVLZXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzMUVFQkJEMUJEODVDNDMwMEJCNjRDMyAv
KiBOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCBpbiBIZWFkZXJzICovLApAQCAtOTkxNCw2
ICs5OTIzLDcgQEAKIAkJCQk1MUQxMjQzNDFFNkRGNjQzMDAyQjI4MjAgLyogV0tVUkxTY2hlbWVI
YW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUQxMjQzNTFFNkRGNjUyMDAyQjI4MjAgLyog
V0tVUkxTY2hlbWVUYXNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYyRkRGOTFFRkMyNzFDMDBD
RTA3MkUgLyogV0tVUkxTY2hlbWVUYXNrUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUMy
MTg0MDIyMjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRkEzQUM5MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA4QTQxOTI2ODJEQTAwQjYzOTBD
IC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDODlEMkI2MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZh
dGUuaCBpbiBIZWFkZXJzICovLApAQCAtMTA3ODYsNyArMTA3OTYsNiBAQAogCQkJCTJEOTEzNDQ0
MjEyQ0Y5RjAwMDEyOEFGRCAvKiBOZXRzY2FwZVBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NDUyMTJDRjlGMDAwMTI4QUZEIC8qIE5ldHNjYXBlUGx1
Z2luU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTZCRDA1ODY2MjIwQ0U4QzIwMDBCRUQ1
QyAvKiBOZXR3b3JrQWRDbGlja0F0dHJpYnV0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUx
REQ5RjI4MTYzNjdEQTIwMDE1NzhFOSAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkYwNjBFMTE2NTQzMTg1MDBG
MzI4MUIgLyogTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODNGIC8qIE5ldHdvcmtN
RE5TUmVnaXN0ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364438</attachid>
            <date>2019-03-12 13:45:09 -0700</date>
            <delta_ts>2019-03-12 15:42:55 -0700</delta_ts>
            <desc>Patch 1 / 4</desc>
            <filename>bug-195636-20190312134508.patch</filename>
            <type>text/plain</type>
            <size>7216</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmMyMDI2NzU3NDQ1ODFk
Njc4NGVlN2E0N2VmNDY5ODQyNTI2ZWY1Mi4uNGYzOTNiMWZhNTNmOWQzYjdiZDdkNzcxNTlmN2Jj
MzkyMGQ3YmJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgZG9jdW1l
bnQgYXR0cmlidXRlcyBhbmQgYm9keSBiYWNrZ3JvdW5kIGNvbG9yIHRocm91Z2ggSFRNTENvbnZl
cnRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
NTYzNgorICAgICAgICByZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIu
aDoKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW06CisgICAgICAgIChI
VE1MQ29udmVydGVyOjpjb252ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OmF0dHJpYnV0ZWRTdHJp
bmdGcm9tUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6YXR0cmlidXRlZFN0cmluZ0Zyb21TZWxl
Y3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6YXR0cmlidXRlZFN0cmluZ0JldHdlZW5TdGFydEFu
ZEVuZCk6CisKIDIwMTktMDItMjggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBJbnRyb2R1Y2Ugb2JzZXJ2ZXIgc3ViY2xh
c3NlcyB0byBzY29wZSBjb250ZW50IGNoYW5nZSBvYnNlcnZpbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpp
bmRleCA4YzNkZDhiZWRmMmFhZmNiZTAyYzQ5NTdkODYwNWRiNjliZWMxN2E5Li5iOWI0MGVjZTAz
NzYzMTZiZjU1MzA2NTlkNmQwMjlmMGRkMzc2MDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOS0wMy0xMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CisKKyAgICAgICAgRXhwb3NlIGRvY3VtZW50IGF0dHJpYnV0ZXMgYW5kIGJvZHkgYmFja2dy
b3VuZCBjb2xvciB0aHJvdWdoIEhUTUxDb252ZXJ0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2MzYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0v
NDUwNTU2OTcKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICog
cGFsL3NwaS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEkuaDoKKyAgICAgICAgKE5TQmFja2dy
b3VuZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUpOiBBZGRlZC4KKwogMjAxOS0wMi0yOCAgSnVzdGlu
IEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgR1BVXSBFbmFibGUg
V2ViIEdQVSBvbmx5IG9uIDY0LWJpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEkuaAppbmRleCA5MjY1MDY0ODJjMzli
YzcxODk5ZGIxNDkxODNmZTg0ODhjZGMxNGMyLi5jODc2Mjk4MTM2OTZkNWJkMzY5NzE1N2UwYWM5
NDYxNGE1YjNjZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEkuaApAQCAtOTEsNiArOTEsOCBAQCBTT0ZUX0xJ
TktfQ09OU1RBTlQoVUlGb3VuZGF0aW9uLCBOU0NvbnZlcnRlZERvY3VtZW50QXR0cmlidXRlLCBO
U1N0cmluZyAqKQogI2RlZmluZSBOU0NvbnZlcnRlZERvY3VtZW50QXR0cmlidXRlIGdldE5TQ29u
dmVydGVkRG9jdW1lbnRBdHRyaWJ1dGUoKQogU09GVF9MSU5LX0NPTlNUQU5UKFVJRm91bmRhdGlv
biwgTlNDb2NvYVZlcnNpb25Eb2N1bWVudEF0dHJpYnV0ZSwgTlNTdHJpbmcgKikKICNkZWZpbmUg
TlNDb2NvYVZlcnNpb25Eb2N1bWVudEF0dHJpYnV0ZSBnZXROU0NvY29hVmVyc2lvbkRvY3VtZW50
QXR0cmlidXRlKCkKK1NPRlRfTElOS19DT05TVEFOVChVSUZvdW5kYXRpb24sIE5TQmFja2dyb3Vu
ZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUsIE5TU3RyaW5nICopCisjZGVmaW5lIE5TQmFja2dyb3Vu
ZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUgZ2V0TlNCYWNrZ3JvdW5kQ29sb3JEb2N1bWVudEF0dHJp
YnV0ZSgpCiAKIC8vIFdlIGRvbid0IHNvZnRsaW5rIE5TU3VwZXJzY3JpcHRBdHRyaWJ1dGVOYW1l
IGJlY2F1c2UgVUlGb3VuZGF0aW9uIHN0b3BwZWQgZXhwb3J0aW5nIGl0LgogLy8gVGhpcyBhdHRy
aWJ1dGUgaXMgYmVpbmcgZGVwcmVjYXRlZCBhdCB0aGUgQVBJIGxldmVsLCBidXQgaW50ZXJuYWxs
eSBVSUZvdW5kYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2Ev
SFRNTENvbnZlcnRlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVy
dGVyLmgKaW5kZXggMmQ1NWE0M2Y1ODg0NTA1NGQzMWYwZjM4YTU3MmJmNzkzYzAzNTliNS4uYWFi
NDljNDc2YTU5NjQ0MTVlOTliMzFlMjRlZmI3Yjc0M2Y3NmQ1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLmgKQEAgLTM1LDEyICszNSwxMiBAQCBjbGFz
cyBWaXNpYmxlU2VsZWN0aW9uOwogCiBlbnVtIGNsYXNzIEluY2x1ZGVJbWFnZXNJbkF0dHJpYnV0
ZWRTdHJpbmcgeyBZZXMsIE5vIH07CiAKLU5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0
cmluZ0Zyb21TZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOworTlNBdHRyaWJ1dGVk
U3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiwgTlNEaWN0aW9uYXJ5KiogZG9jdW1lbnRBdHRyaWJ1dGVzID0gbnVsbHB0cik7CiAKIC8v
IEZvciB0ZXN0aW5nIHB1cnBvc2Ugb25seQotV0VCQ09SRV9FWFBPUlQgTlNBdHRyaWJ1dGVkU3Ry
aW5nICphdHRyaWJ1dGVkU3RyaW5nQmV0d2VlblN0YXJ0QW5kRW5kKGNvbnN0IFBvc2l0aW9uJiwg
Y29uc3QgUG9zaXRpb24mKTsKK1dFQkNPUkVfRVhQT1JUIE5TQXR0cmlidXRlZFN0cmluZyAqYXR0
cmlidXRlZFN0cmluZ0JldHdlZW5TdGFydEFuZEVuZChjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBv
c2l0aW9uJiwgTlNEaWN0aW9uYXJ5KiogZG9jdW1lbnRBdHRyaWJ1dGVzID0gbnVsbHB0cik7CiAK
LVdFQkNPUkVfRVhQT1JUIE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZ0Zyb21S
YW5nZShSYW5nZSYpOworV0VCQ09SRV9FWFBPUlQgTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1
dGVkU3RyaW5nRnJvbVJhbmdlKFJhbmdlJiwgTlNEaWN0aW9uYXJ5KiogZG9jdW1lbnRBdHRyaWJ1
dGVzID0gbnVsbHB0cik7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiBXRUJDT1JFX0VYUE9S
VCBOU0F0dHJpYnV0ZWRTdHJpbmcgKmVkaXRpbmdBdHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKFJh
bmdlJiwgSW5jbHVkZUltYWdlc0luQXR0cmlidXRlZFN0cmluZyA9IEluY2x1ZGVJbWFnZXNJbkF0
dHJpYnV0ZWRTdHJpbmc6Olllcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Y29jb2EvSFRNTENvbnZlcnRlci5tbQppbmRleCBlYWQ1ZGNhMjY2ODg3ZWMxZTQyMTQyZWQ0MTA3
OGZmZTQ0ZjNmZjgyLi5lOTRkOTc4YWIwMWY1MDNmMGJhNWMxYjJjZGMyMGFkYTQxYzVkOTI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tCkBAIC0y
NzYsOSArMjc2LDkgQEAgY2xhc3MgSFRNTENvbnZlcnRlciB7CiBwdWJsaWM6CiAgICAgSFRNTENv
bnZlcnRlcihjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7CiAgICAgfkhUTUxDb252
ZXJ0ZXIoKTsKLSAgICAKLSAgICBOU0F0dHJpYnV0ZWRTdHJpbmcqIGNvbnZlcnQoKTsKLSAgICAK
KworICAgIE5TQXR0cmlidXRlZFN0cmluZyogY29udmVydChOU0RpY3Rpb25hcnkqKiBkb2N1bWVu
dEF0dHJpYnV0ZXMgPSBudWxscHRyKTsKKwogcHJpdmF0ZToKICAgICBQb3NpdGlvbiBtX3N0YXJ0
OwogICAgIFBvc2l0aW9uIG1fZW5kOwpAQCAtMzk2LDcgKzM5Niw3IEBAIEhUTUxDb252ZXJ0ZXI6
On5IVE1MQ29udmVydGVyKCkKICAgICBbX3dyaXRpbmdEaXJlY3Rpb25BcnJheSByZWxlYXNlXTsK
IH0KIAotTlNBdHRyaWJ1dGVkU3RyaW5nICpIVE1MQ29udmVydGVyOjpjb252ZXJ0KCkKK05TQXR0
cmlidXRlZFN0cmluZyAqSFRNTENvbnZlcnRlcjo6Y29udmVydChOU0RpY3Rpb25hcnkqKiBkb2N1
bWVudEF0dHJpYnV0ZXMpCiB7CiAgICAgaWYgKGNvbXBhcmVQb3NpdGlvbnMobV9zdGFydCwgbV9l
bmQpID4gMCkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTQwOCwxMSArNDA4LDIwIEBAIE5TQXR0
cmlidXRlZFN0cmluZyAqSFRNTENvbnZlcnRlcjo6Y29udmVydCgpCiAgICAgaWYgKCFtX2RhdGFT
b3VyY2UpCiAgICAgICAgIHJldHVybiBuaWw7CiAKKyAgICBEb2N1bWVudCYgZG9jdW1lbnQgPSBj
b21tb25BbmNlc3RvckNvbnRhaW5lci0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoYXV0byogYm9keSA9
IGRvY3VtZW50LmJvZHlPckZyYW1lc2V0KCkpIHsKKyAgICAgICAgaWYgKFBsYXRmb3JtQ29sb3Ig
KmJhY2tncm91bmRDb2xvciA9IF9jb2xvckZvckVsZW1lbnQoKmJvZHksIENTU1Byb3BlcnR5QmFj
a2dyb3VuZENvbG9yKSkKKyAgICAgICAgICAgIFtfZG9jdW1lbnRBdHRycyBzZXRPYmplY3Q6YmFj
a2dyb3VuZENvbG9yIGZvcktleTpOU0JhY2tncm91bmRDb2xvckRvY3VtZW50QXR0cmlidXRlXTsK
KyAgICB9CisKICAgICBfZG9tUmFuZ2VTdGFydEluZGV4ID0gMDsKICAgICBfdHJhdmVyc2VOb2Rl
KCpjb21tb25BbmNlc3RvckNvbnRhaW5lciwgMCwgZmFsc2UgLyogZW1iZWRkZWQgKi8pOwogICAg
IGlmIChfZG9tUmFuZ2VTdGFydEluZGV4ID4gMCAmJiBfZG9tUmFuZ2VTdGFydEluZGV4IDw9IFtf
YXR0clN0ciBsZW5ndGhdKQogICAgICAgICBbX2F0dHJTdHIgZGVsZXRlQ2hhcmFjdGVyc0luUmFu
Z2U6TlNNYWtlUmFuZ2UoMCwgX2RvbVJhbmdlU3RhcnRJbmRleCldOwogCisgICAgaWYgKGRvY3Vt
ZW50QXR0cmlidXRlcykKKyAgICAgICAgKmRvY3VtZW50QXR0cmlidXRlcyA9IFtbX2RvY3VtZW50
QXR0cnMgcmV0YWluXSBhdXRvcmVsZWFzZV07CisKICAgICByZXR1cm4gW1tfYXR0clN0ciByZXRh
aW5dIGF1dG9yZWxlYXNlXTsKIH0KIApAQCAtMjM3NSwyMyArMjM4NCwyMyBAQCBzdGF0aWMgUmV0
YWluUHRyPE5TRmlsZVdyYXBwZXI+IGZpbGVXcmFwcGVyRm9yRWxlbWVudChIVE1MSW1hZ2VFbGVt
ZW50JiBlbGVtZW50KQogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogLy8g
VGhpcyBmdW5jdGlvbiBzdXBwb3J0cyBtb3JlIEhUTUwgZmVhdHVyZXMgdGhhbiB0aGUgZWRpdGlu
ZyB2YXJpYW50IGJlbG93LCBzdWNoIGFzIHRhYmxlcy4KLU5TQXR0cmlidXRlZFN0cmluZyAqYXR0
cmlidXRlZFN0cmluZ0Zyb21SYW5nZShSYW5nZSYgcmFuZ2UpCitOU0F0dHJpYnV0ZWRTdHJpbmcg
KmF0dHJpYnV0ZWRTdHJpbmdGcm9tUmFuZ2UoUmFuZ2UmIHJhbmdlLCBOU0RpY3Rpb25hcnkqKiBk
b2N1bWVudEF0dHJpYnV0ZXMpCiB7Ci0gICAgcmV0dXJuIEhUTUxDb252ZXJ0ZXIgeyByYW5nZS5z
dGFydFBvc2l0aW9uKCksIHJhbmdlLmVuZFBvc2l0aW9uKCkgfS5jb252ZXJ0KCk7CisgICAgcmV0
dXJuIEhUTUxDb252ZXJ0ZXIgeyByYW5nZS5zdGFydFBvc2l0aW9uKCksIHJhbmdlLmVuZFBvc2l0
aW9uKCkgfS5jb252ZXJ0KGRvY3VtZW50QXR0cmlidXRlcyk7CiB9CiAKLU5TQXR0cmlidXRlZFN0
cmluZyAqYXR0cmlidXRlZFN0cmluZ0Zyb21TZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlv
biYgc2VsZWN0aW9uKQorTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nRnJvbVNl
bGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE5TRGljdGlvbmFyeSoq
IGRvY3VtZW50QXR0cmlidXRlcykKIHsKLSAgICByZXR1cm4gYXR0cmlidXRlZFN0cmluZ0JldHdl
ZW5TdGFydEFuZEVuZChzZWxlY3Rpb24uc3RhcnQoKSwgc2VsZWN0aW9uLmVuZCgpKTsKKyAgICBy
ZXR1cm4gYXR0cmlidXRlZFN0cmluZ0JldHdlZW5TdGFydEFuZEVuZChzZWxlY3Rpb24uc3RhcnQo
KSwgc2VsZWN0aW9uLmVuZCgpLCBkb2N1bWVudEF0dHJpYnV0ZXMpOwogfQogCi1OU0F0dHJpYnV0
ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmdCZXR3ZWVuU3RhcnRBbmRFbmQoY29uc3QgUG9zaXRp
b24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKQorTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRy
aWJ1dGVkU3RyaW5nQmV0d2VlblN0YXJ0QW5kRW5kKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29u
c3QgUG9zaXRpb24mIGVuZCwgTlNEaWN0aW9uYXJ5KiogZG9jdW1lbnRBdHRyaWJ1dGVzKQogewot
ICAgIHJldHVybiBIVE1MQ29udmVydGVyIHsgc3RhcnQsIGVuZCB9LmNvbnZlcnQoKTsKKyAgICBy
ZXR1cm4gSFRNTENvbnZlcnRlciB7IHN0YXJ0LCBlbmQgfS5jb252ZXJ0KGRvY3VtZW50QXR0cmli
dXRlcyk7CiB9Ci0gICAgCisKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogLy8gVGhpcyBm
dW5jdGlvbiB1c2VzIFRleHRJdGVyYXRvciwgd2hpY2ggbWFrZXMgb2Zmc2V0cyBpbiBpdHMgcmVz
dWx0IGNvbXBhdGlibGUgd2l0aCBIVE1MIGVkaXRpbmcuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364476</attachid>
            <date>2019-03-12 17:04:35 -0700</date>
            <delta_ts>2019-03-12 20:30:08 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312170434.patch</filename>
            <type>text/plain</type>
            <size>56816</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uYmFkMzMzM2I3YzM5MzhmOWQzODJiZTNiYWEwZmVm
ZTk2ZGQ3NGQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmg6CisgICAgICAgIChXZWJD
b3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9Gb250QXR0cmlidXRlcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM6OmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEg
Y29uc3QpOiBBZGRlZC4KKwogMjAxOS0wMy0xMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIGRvY3VtZW50IGF0dHJpYnV0ZXMgYW5kIGJvZHkg
YmFja2dyb3VuZCBjb2xvciB0aHJvdWdoIEhUTUxDb252ZXJ0ZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZiZWNj
ZTEyY2EwZmMxYWM0YmVkZjU2MWM3MzBiNjk5YzJjYzU0ZTEuLmQ5ZjBkMmI3ZjlmNjhmNjM5Njhk
MjY3YTJmZDgwNzJiMjgyNzBlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMDMt
MTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIENvbnNv
bGlkYXRlIEFyZ3VtZW50Q29kZXJzTWFjIGFuZCBBcmd1bWVudENvZGVyc0NvY29hLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTWVyZ2UgdGhlIHR3byBzaW1pbGFyIGVuY29kZXJzIGFuZCBkZWNv
ZGVycy4gVGhpcyBhdm9pZHMgaXNzdWVzIHdoZXJlCisgICAgICAgIG9uZSBlbmNvZGVyIGNvdWxk
IGJlIHVzZWQgYW5kIHRoZSBvdGhlciBkZWNvZGVyLCB3aGljaCBjYXVzZWQgYSBjcmFzaC4KKyAg
ICAgICAgSXQgYWxzbyBzdG9wcyBoYW5kbGluZyBOU0F0dHJpYnV0ZWRTdHJpbmcgc3BlY2l1Zmlj
YWxseSBhbmQganVzdCB1c2VzCisgICAgICAgIHRoZSBOU1NlY3VyZUNvZGluZyBwYXRoIHRvIGhh
bmRsZSBtb3JlIGNvbXBsZXggYXR0cmlidXRlcy4KKworICAgICAgICBTb21lIFdlYkNvcmUgZW5j
b2RlcnMgY29kZSBuZWVkZWQgdG8gbW92ZSB0byBwbGF0Zm9ybSBmaWxlcywgc2luY2UKKyAgICAg
ICAgQXJndW1lbnRDb2RlcnNDb2NvYS5oIHJlcXVpcmVzIGFuIE9iamVjdGl2ZUMrKyBpbXBsZW1l
bnRhdGlvbiB0byB3b3JrLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJz
Q29jb2EuaDoKKyAgICAgICAgKElQQzo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6ZGVjb2RlKToK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+OjplbmNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj46OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OnR5
cGVGcm9tT2JqZWN0KToKKyAgICAgICAgKElQQzo6aXNTZXJpYWxpemFibGVGb250KToKKyAgICAg
ICAgKElQQzo6aXNTZXJpYWxpemFibGVWYWx1ZSk6CisgICAgICAgIChJUEM6OmVuY29kZU9iamVj
dCk6CisgICAgICAgIChJUEM6OmRlY29kZU9iamVjdCk6CisgICAgICAgICogU2hhcmVkL0NvY29h
L0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAo
SVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGVQ
bGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAg
ICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFy
Z3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBD
OjpBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVu
dENvZGVyc01hYy5oOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9tYWMvQXJndW1lbnRDb2Rl
cnNNYWMubW06IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5n
Lm1tOgorICAgICAgICAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nOjplbmNvZGUgY29uc3QpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tOgorICAgICAgICAqIFNvdXJj
ZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTktMDMtMTIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW9yZSBhdHRlbXB0cyBhdCBidWlsZCBmaXhpbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oCmluZGV4IGYxYzY1YTQ4ZDYwYTBhOGM1ZWFm
ZTNlNjNjM2U3NGMwOTk0N2E2ZmEuLjE1MDZiMzZiZDkzN2EzMjVkYzQxOGNlYmIxZWNiMTY0ZmU1
YWEwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVw
SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgRGljdGlvbmFyeVBvcHVwSW5mbyB7CiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gb3B0aW9uczsKICAgICBS
ZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBhdHRyaWJ1dGVkU3RyaW5nOworCisgICAgYm9v
bCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
I2Vsc2UKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRy
aWJ1dGVzLmgKaW5kZXggODNmMjY0ZTA5YjFkYTNhNmQwZGMyZGIwYWQ0M2M1YzM1NzIzOTVkNy4u
NjJhYjE2NWU5ZmE0ZWFjYzY4ZWFmZDNkMTA2MWZlZWFmNTkzMTdmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaApAQCAtNzksNyArNzksMTEgQEAgc3RydWN0IEZvbnRB
dHRyaWJ1dGVzIHsKICAgICBlbnVtIGNsYXNzIEhvcml6b250YWxBbGlnbm1lbnQgOiB1aW50OF90
IHsgTGVmdCwgQ2VudGVyLCBSaWdodCwgSnVzdGlmeSwgTmF0dXJhbCB9OwogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPE5TRGljdGlv
bmFyeT4gY3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0OworI2Vsc2UKKyAgICBib29sIGVuY29kaW5n
UmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Bcmd1bWVudENvZGVyc0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1
bWVudENvZGVyc0NvY29hLmgKaW5kZXggOTc2ZDM4MTIyODVkZWVmYmUzMDIyMWViZWIzNDVlZmRl
MTFjYzJmMC4uZjA4MTgxZDA3NWY0Mjc0ZTJhZjhmZjNmY2EyMzY1YTFkN2YwZGExOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LCAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEs
MTcgKzMxLDE1IEBACiAKIG5hbWVzcGFjZSBJUEMgewogCi12b2lkIGVuY29kZU9iamVjdChFbmNv
ZGVyJiwgaWQgPE5TU2VjdXJlQ29kaW5nPik7Ci1PcHRpb25hbDxSZXRhaW5QdHI8aWQgPE5TU2Vj
dXJlQ29kaW5nPj4+IGRlY29kZU9iamVjdChEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93
ZWRDbGFzc2VzKTsKK3ZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImLCBpZCk7CitPcHRpb25hbDxS
ZXRhaW5QdHI8aWQ+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYsIE5TQXJyYXk8Q2xhc3M+ICphbGxv
d2VkQ2xhc3Nlcyk7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IE9wdGlvbmFsPFJldGFpblB0cjxU
Pj4gZGVjb2RlKERlY29kZXImLCBDbGFzcyBhbGxvd2VkQ2xhc3MpOwotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gT3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYsIE5TQXJyYXk8Q2xh
c3M+ICphbGxvd2VkQ2xhc3NlcyA9IEBbIFtUIGNsYXNzXSBdKTsKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IHVzaW5nIElzT2JqQ09iamVjdCA9IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19jb252ZXJ0
aWJsZTxUICosIGlkPjo6dmFsdWUsIFQgKj47CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1PcHRp
b25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBDbGFzcyBhbGxvd2Vk
Q2xhc3MpCi17Ci0gICAgcmV0dXJuIGRlY29kZTxUPihkZWNvZGVyLCBAWyBhbGxvd2VkQ2xhc3Mg
XSk7Ci19Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxUPj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYsIFQgKik7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSA9IElzT2JqQ09iamVjdDxUPj4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxUPiYp
OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxUPj4gT3B0
aW9uYWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYsIE5TQXJyYXk8Q2xhc3M+ICphbGxv
d2VkQ2xhc3NlcyA9IEBbIFtUIGNsYXNzXSBdKTsKIAogI2lmbmRlZiBOREVCVUcKIApAQCAtNTYs
NyArNTQsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzT2JqZWN0Q2xhc3NBbGxvd2VkKGlkIG9i
amVjdCwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2UKIAogI2VuZGlmCiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4KK3ZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIFQgKm9iamVjdCkKK3sKKyAgICBlbmNvZGVPYmplY3QoZW5jb2Rl
ciwgb2JqZWN0KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWU+Citib29sIGRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8VD4mIHJlc3VsdCkKK3sKKyAgICBhdXRv
IG9iamVjdCA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBAWyBbVCBjbGFzc10gXSk7CisgICAgaWYg
KCFvYmplY3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQgPSBvYmplY3QudmFs
dWUoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWU+CiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBOU0Fy
cmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCiB7CiAgICAgYXV0byByZXN1bHQgPSBkZWNvZGVP
YmplY3QoZGVjb2RlciwgYWxsb3dlZENsYXNzZXMpOwpAQCAtNzEsMTAgKzg1LDggQEAgT3B0aW9u
YWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4g
KmFsbG93ZWRDbGFzc2VzKQogICAgIHJldHVybiB7IGFkb3B0TlMoc3RhdGljX2Nhc3Q8VCAqPihv
YmplY3QpKSB9OwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiB1c2luZyBDb25mb3Jtc1RvU2Vj
dXJlQ29kaW5nID0gc3RkOjppc19jb252ZXJ0aWJsZTxUICosIGlkIDxOU1NlY3VyZUNvZGluZz4+
OwotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxUICo+IHsKLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxDb25mb3Jtc1RvU2Vj
dXJlQ29kaW5nPFU+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBV
ID0gVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CiAgICAgc3RhdGljIHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIFUgKm9iamVjdCkKICAgICB7CiAgICAgICAgIGVuY29kZU9iamVj
dChlbmNvZGVyLCBvYmplY3QpOwpAQCAtODIsMTYgKzk0LDE2IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPFQgKj4gewogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+PiB7Ci0gICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9pZl90PENvbmZvcm1zVG9TZWN1cmVDb2Rpbmc8VT46
OnZhbHVlPiogPSBudWxscHRyPgotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBSZXRhaW5QdHI8VT4mIG9iamVjdCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBV
ID0gVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CisgICAgc3RhdGljIHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJldGFpblB0cjxUPiYgb2JqZWN0KQogICAgIHsKLSAg
ICAgICAgQXJndW1lbnRDb2RlcjxVICo+OjplbmNvZGUoZW5jb2Rlciwgb2JqZWN0LmdldCgpKTsK
KyAgICAgICAgQXJndW1lbnRDb2RlcjxUICo+OjplbmNvZGUoZW5jb2Rlciwgb2JqZWN0LmdldCgp
KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lm
X3Q8Q29uZm9ybXNUb1NlY3VyZUNvZGluZzxVPjo6dmFsdWU+KiA9IG51bGxwdHI+Ci0gICAgc3Rh
dGljIE9wdGlvbmFsPFJldGFpblB0cjxVPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFU+PgorICAg
IHN0YXRpYyBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIElQQzo6ZGVjb2RlPFU+KGRlY29kZXIpOworICAgICAgICBy
ZXR1cm4gSVBDOjpkZWNvZGU8VD4oZGVjb2Rlcik7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggY2M0YmNk
MzNmMmRhZmYwNGY2NjJjMDhiYTBlOTFhNDdkZGQ2MmZhNy4uYTExNGYyYTM2M2UxNGRhNWZiNjAx
Y2FlZDY0OTY3YzM0ZGRiNzYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTgsIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwzNiArMzEsNDk0IEBACiAjaW1wb3J0ICJBcmd1
bWVudENvZGVyc0NGLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TS2V5ZWRBcmNoaXZlclNQ
SS5oPgogCisjaWYgVVNFKEFQUEtJVCkKKyNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KKyNl
bmRpZgorCiBuYW1lc3BhY2UgSVBDIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitlbnVt
IGNsYXNzIE5TVHlwZSB7CisgICAgQXJyYXksCisjaWYgVVNFKEFQUEtJVCkKKyAgICBDb2xvciwK
KyNlbmRpZgorICAgIERhdGEsCisgICAgRGF0ZSwKKyAgICBEaWN0aW9uYXJ5LAorICAgIEZvbnQs
CisgICAgTnVtYmVyLAorICAgIFNlY3VyZUNvZGluZywKKyAgICBTdHJpbmcsCisgICAgVVJMLAor
ICAgIFVua25vd24sCit9OworCitzdGF0aWMgTlNUeXBlIHR5cGVGcm9tT2JqZWN0KGlkIG9iamVj
dCkKK3sKKyAgICBBU1NFUlQob2JqZWN0KTsKKworI2lmIFVTRShBUFBLSVQpCisgICAgYXV0byBm
b250Q2xhc3MgPSBbTlNGb250IGNsYXNzXTsKKyNlbHNlCisgICAgYXV0byBmb250Q2xhc3MgPSBb
VUlGb250IGNsYXNzXTsKKyNlbmRpZgorCisgICAgLy8gU3BlY2lmaWMgY2xhc3NlcyBoYW5kbGVk
LgorICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkKKyAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6QXJyYXk7CisjaWYgVVNFKEFQUEtJVCkKKyAgICBpZiAoW29iamVj
dCBpc0tpbmRPZkNsYXNzOltOU0NvbG9yIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6
OkNvbG9yOworI2VuZGlmCisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNs
YXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGE7CisgICAgaWYgKFtvYmplY3QgaXNL
aW5kT2ZDbGFzczpbTlNEYXRlIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGU7
CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pCisg
ICAgICAgIHJldHVybiBOU1R5cGU6OkRpY3Rpb25hcnk7CisgICAgaWYgKFtvYmplY3QgaXNLaW5k
T2ZDbGFzczpmb250Q2xhc3NdKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpGb250OworICAgIGlm
IChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0pCisgICAgICAgIHJldHVy
biBOU1R5cGU6Ok51bWJlcjsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1N0cmlu
ZyBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpTdHJpbmc7CisgICAgaWYgKFtvYmpl
Y3QgaXNLaW5kT2ZDbGFzczpbTlNVUkwgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6
VVJMOworCisgICAgLy8gU2VjdXJlIGNvZGluZyBjaGVjayBpcyBhZnRlciBzcGVjaWZpYyBjYXNl
cy4KKyAgICBpZiAoW29iamVjdCBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29sKE5TU2VjdXJl
Q29kaW5nKV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OlNlY3VyZUNvZGluZzsKKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBOU1R5cGU6OlVua25vd247Cit9CisKK3N0
YXRpYyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6YWJsZUZvbnQoQ1RGb250UmVmIGZvbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUF0dHJpYnV0ZShmb250LCBrQ1RGb250VVJMQXR0
cmlidXRlKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6YWJsZVZhbHVlKGlk
IHZhbHVlKQoreworI2lmIFVTRShBUFBLSVQpCisgICAgYXV0byBmb250Q2xhc3MgPSBbTlNGb250
IGNsYXNzXTsKKyNlbHNlCisgICAgYXV0byBmb250Q2xhc3MgPSBbVUlGb250IGNsYXNzXTsKKyNl
bmRpZgorICAgIGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpmb250Q2xhc3NdKQorICAgICAgICBy
ZXR1cm4gaXNTZXJpYWxpemFibGVGb250KChfX2JyaWRnZSBDVEZvbnRSZWYpdmFsdWUpOworICAg
IHJldHVybiB0eXBlRnJvbU9iamVjdCh2YWx1ZSkgIT0gTlNUeXBlOjpVbmtub3duOworfQorCitz
dGF0aWMgdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgTlNBcnJheSAqYXJyYXkp
Cit7CisgICAgLy8gRXZlbiB0aG91Z2ggTlNBcnJheSBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3aXRo
IENGQXJyYXlSZWYsIHZhbHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3VsZCBzdGF5
IHdpdGhpbiB0aGlzIGZpbGUncyBjb2RlLgorCisgICAgTlNVSW50ZWdlciBzaXplID0gYXJyYXku
Y291bnQ7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oc2l6ZSk7CisKKyAg
ICBmb3IgKGlkIHZhbHVlIGluIGFycmF5KSB7CisgICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2Ug
ZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUp
KTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7CisgICAgfQorfQor
CitzdGF0aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5T
QXJyYXk+JiByZXN1bHQpCit7CisgICAgdWludDY0X3Qgc2l6ZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHNpemUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8TlNN
dXRhYmxlQXJyYXk+IGFycmF5ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0
V2l0aENhcGFjaXR5OnNpemVdKTsKKyAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKSB7CisgICAgICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IHZhbHVlID0gZGVjb2RlT2Jq
ZWN0KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIFthcnJheSBhZGRPYmplY3Q6dmFsdWUudmFsdWUoKS5nZXQoKV07
CisgICAgfQorCisgICAgcmVzdWx0ID0gYWRvcHROUyhhcnJheS5sZWFrUmVmKCkpOworICAgIHJl
dHVybiB0cnVlOworfQorCisjaWYgVVNFKEFQUEtJVCkKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVj
dChFbmNvZGVyJiBlbmNvZGVyLCBOU0NvbG9yICpjb2xvcikKK3sKKyAgICBlbmNvZGVyIDw8IGNv
bG9yRnJvbU5TQ29sb3IoY29sb3IpOworfQorCitzdGF0aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVj
b2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQ29sb3I+JiByZXN1bHQpCit7CisgICAgQ29sb3Ig
Y29sb3I7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjb2xvcikpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIHJlc3VsdCA9IG5zQ29sb3IoY29sb3IpOworICAgIHJldHVybiB0cnVlOwor
fQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVyLCBO
U0RhdGEgKmRhdGEpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYp
ZGF0YSk7Cit9CisKK3N0YXRpYyBib29sIGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBS
ZXRhaW5QdHI8TlNEYXRhPiYgcmVzdWx0KQoreworICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRh
dGE7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0YSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TRGF0YSAqKWRhdGEubGVha1JlZigpKTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVu
Y29kZXIsIE5TRGF0ZSAqZGF0ZSkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENG
RGF0ZVJlZilkYXRlKTsKK30KKworc3RhdGljIGJvb2wgZGVjb2RlT2JqZWN0KERlY29kZXImIGRl
Y29kZXIsIFJldGFpblB0cjxOU0RhdGU+JiByZXN1bHQpCit7CisgICAgUmV0YWluUHRyPENGRGF0
ZVJlZj4gZGF0ZTsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRlICopZGF0ZS5sZWFrUmVm
KCkpOworICAgIHJldHVybiB0cnVlOworfQogCi12b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBl
bmNvZGVyLCBpZCA8TlNTZWN1cmVDb2Rpbmc+IG9iamVjdCkKK3N0YXRpYyB2b2lkIGVuY29kZU9i
amVjdChFbmNvZGVyJiBlbmNvZGVyLCBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCit7CisgICAg
Ly8gRXZlbiB0aG91Z2ggTlNEaWN0aW9uYXJ5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZE
aWN0aW9uYXJ5UmVmLCBrZXlzL3ZhbHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3Vs
ZCBzdGF5IHdpdGhpbiB0aGlzIGZpbGUncyBjb2RlLgorCisgICAgTlNVSW50ZWdlciBzaXplID0g
ZGljdGlvbmFyeS5jb3VudDsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihz
aXplKTsKKworICAgIGZvciAoaWQga2V5IGluIGRpY3Rpb25hcnkpIHsKKyAgICAgICAgaWQgdmFs
dWUgPSBkaWN0aW9uYXJ5W2tleV07CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisKKyAgICAgICAg
Ly8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBBU1NFUlQoaXNTZXJp
YWxpemFibGVWYWx1ZShrZXkpKTsKKyAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUo
dmFsdWUpKTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKGtleSkgfHwgIWlzU2Vy
aWFsaXphYmxlVmFsdWUodmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ZW5jb2RlKGVuY29kZXIsIGtleSk7CisgICAgICAgIGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7Cisg
ICAgfQorfQorCitzdGF0aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgUmV0
YWluUHRyPE5TRGljdGlvbmFyeT4mIHJlc3VsdCkKK3sKKyAgICB1aW50NjRfdCBzaXplOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBkaWN0aW9uYXJ5ID0gYWRvcHROUyhbW05T
TXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOworICAgIGZv
ciAodWludDY0X3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgT3B0aW9uYWw8UmV0
YWluUHRyPGlkPj4ga2V5ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlm
ICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIE9wdGlvbmFsPFJl
dGFpblB0cjxpZD4+IHZhbHVlID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIG5pbCk7CisgICAgICAg
IGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgW2RpY3Rp
b25hcnkgc2V0T2JqZWN0OnZhbHVlLnZhbHVlKCkuZ2V0KCkgZm9yS2V5OmtleS52YWx1ZSgpLmdl
dCgpXTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBhZG9wdE5TKGRpY3Rpb25hcnkubGVha1JlZigp
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2lmIFVTRShBUFBLSVQpCitzdGF0aWMgdm9pZCBl
bmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgTlNGb250ICpmb250KQoreworICAgIGVuY29k
ZShlbmNvZGVyLCBmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKK30KKworc3Rh
dGljIGJvb2wgZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0ZvbnQ+
JiByZXN1bHQpCit7CisgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7
CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBOU0ZvbnREZXNjcmlwdG9yICpmb250RGVzY3JpcHRvciA9IFtOU0Zv
bnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmZvbnRBdHRyaWJ1
dGVzLmdldCgpXTsKKyAgICByZXN1bHQgPSBbTlNGb250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250
RGVzY3JpcHRvciBzaXplOjBdOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbHNlCit2b2lk
IGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVyLCBVSUZvbnQgKmZvbnQpCit7CisgICAgZW5j
b2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMpOworfQorCiti
b29sIGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8VUlGb250PiYgcmVz
dWx0KQoreworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRyaWJ1dGVzOworICAg
IGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVUlGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbVUlGb250RGVz
Y3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250QXR0cmlidXRlcy5n
ZXQoKV07CisgICAgcmVzdWx0ID0gW1VJRm9udCBmb250V2l0aERlc2NyaXB0b3I6Zm9udERlc2Ny
aXB0b3Igc2l6ZTowXTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYgLy8gVVNFKEFQ
UEtJVCkKKworc3RhdGljIHZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIE5TTnVt
YmVyICpudW1iZXIpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRk51bWJlclJl
ZiludW1iZXIpOworfQorCitzdGF0aWMgYm9vbCBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2Rl
ciwgUmV0YWluUHRyPE5TTnVtYmVyPiYgcmVzdWx0KQoreworICAgIFJldGFpblB0cjxDRk51bWJl
clJlZj4gbnVtYmVyOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIG51bWJlcikpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVy
LmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGVuY29kZU9i
amVjdChFbmNvZGVyJiBlbmNvZGVyLCBpZCA8TlNPYmplY3QsIE5TU2VjdXJlQ29kaW5nPiBvYmpl
Y3QpCiB7CiAgICAgYXV0byBhcmNoaXZlciA9IHNlY3VyZUFyY2hpdmVyKCk7CiAgICAgW2FyY2hp
dmVyIGVuY29kZU9iamVjdDpvYmplY3QgZm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtl
eV07CiAgICAgW2FyY2hpdmVyIGZpbmlzaEVuY29kaW5nXTsKIAotICAgIElQQzo6ZW5jb2RlKGVu
Y29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYpW2FyY2hpdmVyIGVuY29kZWREYXRhXSk7CisgICAg
ZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYpW2FyY2hpdmVyIGVuY29kZWREYXRh
XSk7CiB9CiAKLU9wdGlvbmFsPFJldGFpblB0cjxpZCA8TlNTZWN1cmVDb2Rpbmc+Pj4gZGVjb2Rl
T2JqZWN0KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykK
K3N0YXRpYyBib29sIGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8aWQg
PE5TT2JqZWN0LCBOU1NlY3VyZUNvZGluZz4+JiByZXN1bHQsIE5TQXJyYXk8Q2xhc3M+ICphbGxv
d2VkQ2xhc3NlcykKIHsKKyAgICBBU1NFUlQoYWxsb3dlZENsYXNzZXMgJiYgYWxsb3dlZENsYXNz
ZXMuY291bnQpOworICAgIGlmICghYWxsb3dlZENsYXNzZXMgfHwgIWFsbG93ZWRDbGFzc2VzLmNv
dW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBk
YXRhOwogICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQotICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvIHVuYXJjaGl2ZXIg
PSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoKF9fYnJpZGdlIE5TRGF0YSAqKWRhdGEuZ2V0KCkp
OwogICAgIEB0cnkgewotICAgICAgICBpZCByZXN1bHQgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmpl
Y3RPZkNsYXNzZXM6W05TU2V0IHNldFdpdGhBcnJheTphbGxvd2VkQ2xhc3Nlc10gZm9yS2V5Ok5T
S2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CisgICAgICAgIHJlc3VsdCA9IFt1bmFyY2hpdmVy
IGRlY29kZU9iamVjdE9mQ2xhc3NlczpbTlNTZXQgc2V0V2l0aEFycmF5OmFsbG93ZWRDbGFzc2Vz
XSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKICAgICAgICAgQVNTRVJUKCFy
ZXN1bHQgfHwgW3Jlc3VsdCBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29sKE5TU2VjdXJlQ29k
aW5nKV0pOwotICAgICAgICByZXR1cm4geyByZXN1bHQgfTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAgICAgTE9HX0VS
Uk9SKCJGYWlsZWQgdG8gZGVjb2RlIG9iamVjdCBvZiBjbGFzc2VzICVAOiAlQCIsIGFsbG93ZWRD
bGFzc2VzLCBleGNlcHRpb24pOwotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfSBAZmluYWxseSB7CiAgICAgICAgIFt1bmFyY2hpdmVyIGZp
bmlzaERlY29kaW5nXTsKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIGVuY29kZU9iamVjdChFbmNv
ZGVyJiBlbmNvZGVyLCBOU1N0cmluZyAqc3RyaW5nKQoreworICAgIGVuY29kZShlbmNvZGVyLCAo
X19icmlkZ2UgQ0ZTdHJpbmdSZWYpc3RyaW5nKTsKK30KKworc3RhdGljIGJvb2wgZGVjb2RlT2Jq
ZWN0KERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU1N0cmluZz4mIHJlc3VsdCkKK3sKKyAg
ICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZzsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVy
LCBzdHJpbmcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXN1bHQgPSBhZG9wdE5T
KChOU1N0cmluZyAqKXN0cmluZy5sZWFrUmVmKCkpOworICAgIHJldHVybiB0cnVlOworfQorCitz
dGF0aWMgdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgTlNVUkwgKlVSTCkKK3sK
KyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGVVJMUmVmKVVSTCk7Cit9CisKK3N0YXRp
YyBib29sIGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNVUkw+JiBy
ZXN1bHQpCit7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiBVUkw7CisgICAgaWYgKCFkZWNvZGUo
ZGVjb2RlciwgVVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gYWRv
cHROUygoTlNVUkwgKilVUkwubGVha1JlZigpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgaWQgb2JqZWN0KQoreworICAgIGVuY29k
ZXIgPDwgc3RhdGljX2Nhc3Q8Ym9vbD4oIW9iamVjdCk7CisgICAgaWYgKCFvYmplY3QpCisgICAg
ICAgIHJldHVybjsKKworICAgIE5TVHlwZSB0eXBlID0gdHlwZUZyb21PYmplY3Qob2JqZWN0KTsK
KyAgICBlbmNvZGVyIDw8IHR5cGU7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE5T
VHlwZTo6QXJyYXk6CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBzdGF0aWNfY2FzdDxO
U0FycmF5ICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisjaWYgVVNFKEFQUEtJVCkKKyAg
ICBjYXNlIE5TVHlwZTo6Q29sb3I6CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBzdGF0
aWNfY2FzdDxOU0NvbG9yICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisjZW5kaWYKKyAg
ICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIs
IHN0YXRpY19jYXN0PE5TRGljdGlvbmFyeSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOwor
I2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkZvbnQ6CisgICAgICAgIGVuY29kZU9i
amVjdChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0ZvbnQgKj4ob2JqZWN0KSk7CisgICAgICAgIHJl
dHVybjsKKyNlbHNlCisgICAgY2FzZSBOU1R5cGU6OkZvbnQ6CisgICAgICAgIGVuY29kZU9iamVj
dChlbmNvZGVyLCBzdGF0aWNfY2FzdDxVSUZvbnQgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6CisgICAgICAgIGVuY29kZU9iamVj
dChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU051bWJlciAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgTlNUeXBlOjpTZWN1cmVDb2Rpbmc6CisgICAgICAgIGVuY29kZU9iamVj
dChlbmNvZGVyLCBzdGF0aWNfY2FzdDxpZCA8TlNPYmplY3QsIE5TU2VjdXJlQ29kaW5nPj4ob2Jq
ZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6U3RyaW5nOgorICAgICAg
ICBlbmNvZGVPYmplY3QoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNTdHJpbmcgKj4ob2JqZWN0KSk7
CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6RGF0ZToKKyAgICAgICAgZW5jb2Rl
T2JqZWN0KGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGF0ZSAqPihvYmplY3QpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpEYXRhOgorICAgICAgICBlbmNvZGVPYmplY3QoZW5j
b2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRhICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBOU1R5cGU6OlVSTDoKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIHN0YXRp
Y19jYXN0PE5TVVJMICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5
cGU6OlVua25vd246CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKworT3B0aW9uYWw8UmV0YWlu
UHRyPGlkPj4gZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICph
bGxvd2VkQ2xhc3NlcykKK3sKKyAgICBib29sIGlzTnVsbDsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGlzTnVsbCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKGlzTnVs
bCkKKyAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciB9OworCisgICAgTlNUeXBlIHR5cGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZUVudW0odHlwZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE5TVHlwZTo6QXJyYXk6IHsKKyAg
ICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IGFycmF5OworICAgICAgICBpZiAoIWRlY29kZU9iamVj
dChkZWNvZGVyLCBhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAg
ICAgICByZXR1cm4geyBhcnJheSB9OworICAgIH0KKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2Ug
TlNUeXBlOjpDb2xvcjogeworICAgICAgICBSZXRhaW5QdHI8TlNDb2xvcj4gY29sb3I7CisgICAg
ICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIsIGNvbG9yKSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiB7IGNvbG9yIH07CisgICAgfQorI2VuZGlm
CisgICAgY2FzZSBOU1R5cGU6OkRpY3Rpb25hcnk6IHsKKyAgICAgICAgUmV0YWluUHRyPE5TRGlj
dGlvbmFyeT4gZGljdGlvbmFyeTsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVjb2Rlciwg
ZGljdGlvbmFyeSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBy
ZXR1cm4geyBkaWN0aW9uYXJ5IH07CisgICAgfQorI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBO
U1R5cGU6OkZvbnQ6IHsKKyAgICAgICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKKyAgICAgICAg
aWYgKCFkZWNvZGVPYmplY3QoZGVjb2RlciwgZm9udCkpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgICAgICByZXR1cm4geyBmb250IH07CisgICAgfQorI2Vsc2UKKyAgICBj
YXNlIE5TVHlwZTo6Rm9udDogeworICAgICAgICBSZXRhaW5QdHI8VUlGb250PiBmb250OworICAg
ICAgICBpZiAoIWRlY29kZU9iamVjdChkZWNvZGVyLCBmb250KSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiB7IGZvbnQgfTsKKyAgICB9CisjZW5kaWYK
KyAgICBjYXNlIE5TVHlwZTo6TnVtYmVyOiB7CisgICAgICAgIFJldGFpblB0cjxOU051bWJlcj4g
bnVtYmVyOworICAgICAgICBpZiAoIWRlY29kZU9iamVjdChkZWNvZGVyLCBudW1iZXIpKQorICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgbnVtYmVyIH07
CisgICAgfQorICAgIGNhc2UgTlNUeXBlOjpTZWN1cmVDb2Rpbmc6IHsKKyAgICAgICAgUmV0YWlu
UHRyPGlkIDxOU09iamVjdCwgTlNTZWN1cmVDb2Rpbmc+PiBvYmplY3Q7CisgICAgICAgIGlmICgh
ZGVjb2RlT2JqZWN0KGRlY29kZXIsIG9iamVjdCwgYWxsb3dlZENsYXNzZXMpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgb2JqZWN0IH07CisgICAg
fQorICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6IHsKKyAgICAgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBzdHJpbmc7CisgICAgICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIsIHN0cmluZykpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4geyBzdHJpbmcg
fTsKKyAgICB9CisgICAgY2FzZSBOU1R5cGU6OkRhdGU6IHsKKyAgICAgICAgUmV0YWluUHRyPE5T
RGF0ZT4gZGF0ZTsKKyAgICAgICAgaWYgKCFkZWNvZGVPYmplY3QoZGVjb2RlciwgZGF0ZSkpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4geyBkYXRlIH07
CisgICAgfQorICAgIGNhc2UgTlNUeXBlOjpEYXRhOiB7CisgICAgICAgIFJldGFpblB0cjxOU0Rh
dGE+IGRhdGE7CisgICAgICAgIGlmICghZGVjb2RlT2JqZWN0KGRlY29kZXIsIGRhdGEpKQorICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgZGF0YSB9Owor
ICAgIH0KKyAgICBjYXNlIE5TVHlwZTo6VVJMOiB7CisgICAgICAgIFJldGFpblB0cjxOU1VSTD4g
dXJsOworICAgICAgICBpZiAoIWRlY29kZU9iamVjdChkZWNvZGVyLCB1cmwpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgdXJsIH07CisgICAgfQor
ICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICB9CisKKyAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworfQorCiB9IC8vIG5hbWVzcGFjZSBJUEMKIAorbmFtZXNwYWNlIFdURiB7Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPElQQzo6TlNUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgSVBDOjpOU1R5cGUsCisgICAgICAgIElQQzo6TlNUeXBl
OjpBcnJheSwKKyAgICAjaWYgVVNFKEFQUEtJVCkKKyAgICAgICAgSVBDOjpOU1R5cGU6OkNvbG9y
LAorICAgICNlbmRpZgorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0YSwKKyAgICAgICAgSVBDOjpO
U1R5cGU6OkRhdGUsCisgICAgICAgIElQQzo6TlNUeXBlOjpEaWN0aW9uYXJ5LAorICAgICAgICBJ
UEM6Ok5TVHlwZTo6Rm9udCwKKyAgICAgICAgSVBDOjpOU1R5cGU6Ok51bWJlciwKKyAgICAgICAg
SVBDOjpOU1R5cGU6OlNlY3VyZUNvZGluZywKKyAgICAgICAgSVBDOjpOU1R5cGU6OlN0cmluZywK
KyAgICAgICAgSVBDOjpOU1R5cGU6OlVSTCwKKyAgICAgICAgSVBDOjpOU1R5cGU6OlVua25vd24K
KyAgICA+OworfTsKK30KKwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0KaW5kZXggODE3MGYy
MjFlNzI3NmMwYjE3OGUzNGYwYzJjZGNmODQ5MTdiOTVlMC4uNmExNWM5Yjg1ZmY5MzQ2YzNhZWM4
MWRlNDdhZDkzMzA5ZDI2NmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBQTEFURk9S
TShDT0NPQSkKIAotI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCisjaW5jbHVkZSAiQXJn
dW1lbnRDb2RlcnNDb2NvYS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggOTYwOTI4ZmJiMjEyOGJm
OTUwYWI5ZGUwZjE2Y2M4N2VhOTU5YmNlZS4uMmQ4YjA2ZDZmZTNlZTkxOWIzMTQxMzcxMzU5NGI3
ZGE1OThhZDE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
V2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTI2LDE3ICsyNiwyNCBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAorI2ltcG9y
dCAiQXJndW1lbnRDb2RlcnNDb2NvYS5oIgorI2ltcG9ydCA8V2ViQ29yZS9EaWN0aW9uYXJ5UG9w
dXBJbmZvLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CisKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgiCiAjaW1wb3J0
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzLmg+CiAjaW1wb3J0IDxwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjZW5kaWYKKwogbmFtZXNw
YWNlIElQQyB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCisKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50Pjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnQmIHBheW1lbnQpCiB7CiAgICAgZW5j
b2RlciA8PCBwYXltZW50LnBrUGF5bWVudCgpOwpAQCAtNDA4LDUgKzQxNSwzMyBAQCBPcHRpb25h
bDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpT
aGlwcGluZ01ldGhvZFVwZAogICAgIHJldHVybiB7eyBXVEZNb3ZlKCpuZXdUb3RhbEFuZExpbmVJ
dGVtcykgfX07CiB9CiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVQQVkpCisKK3ZvaWQgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRh
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mIGlu
Zm8pCit7CisgICAgZW5jb2RlciA8PCBpbmZvLm9wdGlvbnM7CisgICAgZW5jb2RlciA8PCBpbmZv
LmF0dHJpYnV0ZWRTdHJpbmc7CiB9Ci0jZW5kaWYKKworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVj
b2RlciwgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYgcmVzdWx0KQoreworICAgIGlmICgh
SVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCByZXN1bHQuYXR0cmlidXRlZFN0cmlu
ZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRh
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1
dGVzKQoreworICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OworfQorCitPcHRpb25hbDxG
b250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRl
Y29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpGb250QXR0cmlidXRl
cyYgYXR0cmlidXRlcykKK3sKKyAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0
ZXMuZm9udCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIGF0dHJp
YnV0ZXM7Cit9CisKK30gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggZjdlYmIwZTlmZGFhMWJmOGMyN2JmZGUx
ZmI5M2NhOTQ1MmQ3NDljMC4uYzgyZGEwMjUxMjgyZmZmMmZhYWQ0ODJlMGI4ODEwMjc3ZDYyZDEx
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CkBAIC05MCw3ICs5MCw2IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJBcmd1
bWVudENvZGVyc0NGLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNNYWMuaCIKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTI1OTksMTcgKzI1OTgsMTMgQEAgdm9pZCBB
cmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBEaWMKICAgICBlbmNvZGVyIDw8IGluZm8ub3JpZ2luOwogICAgIGVuY29k
ZXIgPDwgaW5mby50ZXh0SW5kaWNhdG9yOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9v
bCBoYWRPcHRpb25zID0gaW5mby5vcHRpb25zOwotICAgIGVuY29kZXIgPDwgaGFkT3B0aW9uczsK
LSAgICBpZiAoaGFkT3B0aW9ucykKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgaW5mby5v
cHRpb25zLmdldCgpKTsKLQotICAgIGJvb2wgaGFkQXR0cmlidXRlZFN0cmluZyA9IGluZm8uYXR0
cmlidXRlZFN0cmluZzsKLSAgICBlbmNvZGVyIDw8IGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAg
aWYgKGhhZEF0dHJpYnV0ZWRTdHJpbmcpCi0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGlu
Zm8uYXR0cmlidXRlZFN0cmluZy5nZXQoKSk7Ci0jZW5kaWYKKyAgICBpZiAoaW5mby5lbmNvZGlu
Z1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAg
ICAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgaW5mbyk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBlbmNvZGVyIDw8IGZhbHNlOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8
RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIERpY3Rp
b25hcnlQb3B1cEluZm8mIHJlc3VsdCkKQEAgLTI2MjMsMjUgKzI2MTgsMTEgQEAgYm9vbCBBcmd1
bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBEaWN0aW9uYXIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc3VsdC50ZXh0SW5k
aWNhdG9yID0gV1RGTW92ZSgqdGV4dEluZGljYXRvcik7CiAKLSNpZiBQTEFURk9STShDT0NPQSkK
LSAgICBib29sIGhhZE9wdGlvbnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRPcHRpb25z
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChoYWRPcHRpb25zKSB7Ci0gICAgICAg
IGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQub3B0aW9ucyA9IG51bGxw
dHI7Ci0KLSAgICBib29sIGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShoYWRBdHRyaWJ1dGVkU3RyaW5nKSkKKyAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBpZiAoaGFkQXR0cmlidXRlZFN0cmluZykgewotICAgICAgICBpZiAoIUlQQzo6
ZGVjb2RlKGRlY29kZXIsIHJlc3VsdC5hdHRyaWJ1dGVkU3RyaW5nKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9IGVsc2UKLSAgICAgICAgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcg
PSBudWxscHRyOwotI2VuZGlmCisgICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKKyAgICAgICAgcmV0
dXJuIGRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCByZXN1bHQpOwogICAgIHJldHVybiB0cnVl
OwogfQogCkBAIC0zMDQ1LDEyICszMDI2LDEyIEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0
cmlidXRlcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAg
ICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZv
cmVncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNV
bmRlcmxpbmUgPDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4
dExpc3RzOwogICAgIGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLmhvcml6b250YWxBbGln
bm1lbnQpOwogICAgIGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3Vw
ZXJzY3JpcHQpOwotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgaGFzRm9udCA9IGF0dHJp
YnV0ZXMuZm9udDsKLSAgICBlbmNvZGVyIDw8IGhhc0ZvbnQ7Ci0gICAgaWYgKGhhc0ZvbnQpCi0g
ICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGF0dHJpYnV0ZXMuZm9udC5nZXQoKSk7Ci0jZW5k
aWYKKworICAgIGlmIChhdHRyaWJ1dGVzLmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkg
eworICAgICAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShl
bmNvZGVyLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIH0KIAogT3B0aW9u
YWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcikKQEAgLTMwODEsMTQgKzMwNjIsMTEgQEAgT3B0aW9uYWw8Rm9udEF0
dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlw
dE9yU3VwZXJzY3JpcHQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0jaWYgUExB
VEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYXNGb250ID0gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZShoYXNGb250KSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIGlm
IChoYXNGb250ICYmICFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQorICAg
IGJvb2wgaGFzUGxhdGZvcm1EYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzUGxhdGZv
cm1EYXRhKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSNlbmRpZgorICAgIGlmICho
YXNQbGF0Zm9ybURhdGEpCisgICAgICAgIHJldHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rl
ciwgYXR0cmlidXRlcyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMmVmNWU0M2FkYjQ4OTUx
ODE5YzlhNzEzZDY5ZTAxM2QyMGRkNmU5Yi4uZDcxMTQwYWU5N2M3OTkzNGI2OGRlNzcxYzE4Y2Ni
MzhhNmJiODNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKQEAgLTU4Miw2ICs1ODIsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+IHsKICAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKICAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cElu
Zm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0
IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQ
bGF0Zm9ybURhdGEoRGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKIH07
CiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtNzQ0LDYgKzc0Niw4
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VmVjdG9yPFJlZlB0cjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4+PiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOwogICAgIHN0YXRpYyBPcHRpb25hbDxX
ZWJDb3JlOjpGb250QXR0cmlidXRlcz4gZGVjb2RlKERlY29kZXImKTsKKyAgICBzdGF0aWMgdm9p
ZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1
dGVzJik7CisgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNv
ZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9Owog
CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL0FyZ3VtZW50Q29kZXJzTWFjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQy
YWJiN2Y5NjY0M2FhZGRiNTA3MzBjOWI1NThhM2M5MDcxMjk4YTEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0Fy
Z3VtZW50Q29kZXJzTWFjLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8b2JqYy9vYmpjLmg+Ci0jaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgotCi1PQkpDX0NMQVNTIE5TQXJyYXk7Ci1PQkpDX0NMQVNTIE5TQXR0
cmlidXRlZFN0cmluZzsKLU9CSkNfQ0xBU1MgTlNDb2xvcjsKLU9CSkNfQ0xBU1MgTlNEYXRhOwot
T0JKQ19DTEFTUyBOU0RhdGU7Ci1PQkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1Mg
TlNGb250OwotT0JKQ19DTEFTUyBOU051bWJlcjsKLU9CSkNfQ0xBU1MgTlNTdHJpbmc7Ci1PQkpD
X0NMQVNTIE5TVVJMOwotT0JKQ19DTEFTUyBVSUZvbnQ7Ci0KLW5hbWVzcGFjZSBJUEMgewotCi1j
bGFzcyBFbmNvZGVyOwotY2xhc3MgRGVjb2RlcjsKLQotLy8gaWQKLXZvaWQgZW5jb2RlKEVuY29k
ZXImLCBpZCk7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPGlkPiYpOwotCi0vLyBO
U0F0dHJpYnV0ZWRTdHJpbmcKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0F0dHJpYnV0ZWRTdHJp
bmcgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmlu
Zz4mKTsKLQotI2lmIFVTRShBUFBLSVQpCi0vLyBOU0NvbG9yCi12b2lkIGVuY29kZShFbmNvZGVy
JiwgTlNDb2xvciAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNDb2xvcj4m
KTsKLSNlbmRpZgotCi0vLyBOU0RpY3Rpb25hcnkKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0Rp
Y3Rpb25hcnkgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TRGljdGlvbmFy
eT4mKTsKLQotLy8gTlNBcnJheQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TQXJyYXkgKik7Ci1i
b29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TQXJyYXk+Jik7Ci0KLSNpZiBVU0UoQVBQ
S0lUKQotLy8gTlNGb250Ci12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNGb250ICopOwotYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0ZvbnQ+Jik7Ci0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi12b2lkIGVuY29kZShFbmNvZGVyJiwgVUlGb250ICopOwotYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxVSUZvbnQ+Jik7Ci0jZW5kaWYKLQotLy8gTlNOdW1i
ZXIKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU051bWJlciAqKTsKLWJvb2wgZGVjb2RlKERlY29k
ZXImLCBSZXRhaW5QdHI8TlNOdW1iZXI+Jik7Ci0KLS8vIE5TU3RyaW5nCi12b2lkIGVuY29kZShF
bmNvZGVyJiwgTlNTdHJpbmcgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5T
U3RyaW5nPiYpOwotCi0vLyBOU0RhdGUKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0RhdGUgKik7
Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TRGF0ZT4mKTsKLQotLy8gTlNEYXRh
Ci12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNEYXRhICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYs
IFJldGFpblB0cjxOU0RhdGE+Jik7Ci0KLS8vIE5TVVJMCi12b2lkIGVuY29kZShFbmNvZGVyJiwg
TlNVUkwgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TVVJMPiYpOwotCi19
IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9B
cmd1bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9Bcmd1bWVudENv
ZGVyc01hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJhMDI5NWZlZjhhNWU5
OTQzNWViNzM4MWIxYTEwNzY3ZjI3M2EwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNN
YWMubW0KKysrIC9kZXYvbnVsbApAQCAtMSw1ODIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMuaCIKLQotI2ltcG9ydCA8
Q29yZVRleHQvQ29yZVRleHQuaD4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCA8
VUlLaXQvVUlLaXQuaD4KLSNlbmRpZgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJEZWNvZGVyLmgiCi0jaW1wb3J0ICJFbmNvZGVyLmgiCi0jaW1wb3J0ICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKLSNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KLQotbmFtZXNw
YWNlIElQQyB7Ci0KLWVudW0gY2xhc3MgTlNUeXBlIHsKLSAgICBBdHRyaWJ1dGVkU3RyaW5nLAot
I2lmIFVTRShBUFBLSVQpCi0gICAgQ29sb3IsCi0jZW5kaWYKLSAgICBEaWN0aW9uYXJ5LAotICAg
IEFycmF5LAotI2lmIFVTRShBUFBLSVQpCi0gICAgRm9udCwKLSNlbmRpZgotICAgIE51bWJlciwK
LSAgICBTdHJpbmcsCi0gICAgRGF0ZSwKLSAgICBEYXRhLAotICAgIFVSTCwKLSAgICBVbmtub3du
LAotfTsKLQotfQotCi1uYW1lc3BhY2UgSVBDIHsKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1zdGF0aWMgTlNUeXBlIHR5cGVGcm9tT2JqZWN0KGlkIG9iamVjdCkKLXsKLSAgICBBU1NFUlQo
b2JqZWN0KTsKLQotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXR0cmlidXRlZFN0
cmluZyBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpBdHRyaWJ1dGVkU3RyaW5nOwot
I2lmIFVTRShBUFBLSVQpCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNDb2xvciBj
bGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpDb2xvcjsKLSNlbmRpZgotICAgIGlmIChb
b2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKQotICAgICAgICByZXR1
cm4gTlNUeXBlOjpEaWN0aW9uYXJ5OwotI2lmIFVTRShBUFBLSVQpCi0gICAgaWYgKFtvYmplY3Qg
aXNLaW5kT2ZDbGFzczpbTlNGb250IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkZv
bnQ7Ci0jZW5kaWYKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFz
c11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpOdW1iZXI7Ci0gICAgaWYgKFtvYmplY3QgaXNL
aW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6U3Ry
aW5nOwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkKLSAg
ICAgICAgcmV0dXJuIE5TVHlwZTo6QXJyYXk7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFz
czpbTlNEYXRlIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGU7Ci0gICAgaWYg
KFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBO
U1R5cGU6OkRhdGE7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNVUkwgY2xhc3Nd
XSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6VVJMOwotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIE5TVHlwZTo6VW5rbm93bjsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlciwgaWQgb2JqZWN0KQotewotICAgIE5TVHlwZSB0eXBlID0gdHlwZUZyb21PYmpl
Y3Qob2JqZWN0KTsKLSAgICBlbmNvZGVyIDw8IHR5cGU7Ci0KLSAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICBjYXNlIE5TVHlwZTo6QXR0cmlidXRlZFN0cmluZzoKLSAgICAgICAgZW5jb2RlKGVuY29k
ZXIsIHN0YXRpY19jYXN0PE5TQXR0cmlidXRlZFN0cmluZyAqPihvYmplY3QpKTsKLSAgICAgICAg
cmV0dXJuOwotI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU1R5cGU6OkNvbG9yOgotICAgICAg
ICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNDb2xvciAqPihvYmplY3QpKTsKLSAgICAg
ICAgcmV0dXJuOwotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6OkRpY3Rpb25hcnk6Ci0gICAgICAg
IGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RpY3Rpb25hcnkgKj4ob2JqZWN0KSk7Ci0g
ICAgICAgIHJldHVybjsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpGb250Ogot
ICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNGb250ICo+KG9iamVjdCkpOwot
ICAgICAgICByZXR1cm47Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6TnVtYmVyOgotICAgICAg
ICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNOdW1iZXIgKj4ob2JqZWN0KSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6U3RyaW5nOgotICAgICAgICBlbmNvZGUoZW5j
b2Rlciwgc3RhdGljX2Nhc3Q8TlNTdHJpbmcgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICBjYXNlIE5TVHlwZTo6QXJyYXk6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNf
Y2FzdDxOU0FycmF5ICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5
cGU6OkRhdGU6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGUgKj4o
b2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6RGF0YToKLSAgICAg
ICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGF0YSAqPihvYmplY3QpKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIGNhc2UgTlNUeXBlOjpVUkw6Ci0gICAgICAgIGVuY29kZShlbmNvZGVy
LCBzdGF0aWNfY2FzdDxOU1VSTCAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNh
c2UgTlNUeXBlOjpVbmtub3duOgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWlu
UHRyPGlkPiYgcmVzdWx0KQotewotICAgIE5TVHlwZSB0eXBlOwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVFbnVtKHR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBzd2l0Y2ggKHR5
cGUpIHsKLSAgICBjYXNlIE5TVHlwZTo6QXR0cmlidXRlZFN0cmluZzogewotICAgICAgICBSZXRh
aW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmc7Ci0gICAgICAgIGlmICghZGVjb2RlKGRl
Y29kZXIsIHN0cmluZykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3Vs
dCA9IHN0cmluZzsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2lmIFVTRShBUFBLSVQp
Ci0gICAgY2FzZSBOU1R5cGU6OkNvbG9yOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0NvbG9yPiBj
b2xvcjsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgY29sb3IpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBjb2xvcjsKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6OkRpY3Rpb25hcnk6IHsKLSAgICAg
ICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZGljdGlvbmFyeTsKLSAgICAgICAgaWYgKCFkZWNv
ZGUoZGVjb2RlciwgZGljdGlvbmFyeSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIHJlc3VsdCA9IGRpY3Rpb25hcnk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNp
ZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpGb250OiB7Ci0gICAgICAgIFJldGFpblB0
cjxOU0ZvbnQ+IGZvbnQ7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnQpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBmb250OwotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6TnVtYmVyOiB7Ci0g
ICAgICAgIFJldGFpblB0cjxOU051bWJlcj4gbnVtYmVyOwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBudW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1
bHQgPSBudW1iZXI7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlw
ZTo6U3RyaW5nOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gc3RyaW5nOwotICAgICAg
ICBpZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICByZXN1bHQgPSBzdHJpbmc7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICBjYXNlIE5TVHlwZTo6QXJyYXk6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IGFy
cmF5OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBhcnJheSkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGFycmF5OwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGU6IHsKLSAgICAgICAgUmV0YWluUHRyPE5T
RGF0ZT4gZGF0ZTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGRhdGU7Ci0gICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6RGF0YTogewotICAgICAgICBSZXRhaW5Q
dHI8TlNEYXRhPiBkYXRhOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZGF0YTsKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpVUkw6IHsKLSAgICAgICAgUmV0
YWluUHRyPE5TVVJMPiBVUkw7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVSTCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IFVSTDsKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgotICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIGlzU2VyaWFsaXphYmxlRm9u
dChDVEZvbnRSZWYgZm9udCkKLXsKLSAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5QXR0cmli
dXRlKGZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKTsKLX0KLQotc3RhdGljIGlubGluZSBib29s
IGlzU2VyaWFsaXphYmxlVmFsdWUoaWQgdmFsdWUpCi17Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBh
dXRvIGZvbnRDbGFzcyA9IFtOU0ZvbnQgY2xhc3NdOwotI2Vsc2UKLSAgICBhdXRvIGZvbnRDbGFz
cyA9IFtVSUZvbnQgY2xhc3NdOwotI2VuZGlmCi0gICAgcmV0dXJuICFbdmFsdWUgaXNLaW5kT2ZD
bGFzczpmb250Q2xhc3NdIHx8IGlzU2VyaWFsaXphYmxlRm9udCgoX19icmlkZ2UgQ1RGb250UmVm
KXZhbHVlKTsKLX0KLQotc3RhdGljIGlubGluZSBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBmaWx0
ZXJVbnNlcmlhbGl6YWJsZVZhbHVlcyhOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCi17Ci0gICAg
X19ibG9jayBib29sIG1vZGlmaWNhdGlvbk5lY2Vzc2FyeSA9IGZhbHNlOwotICAgIFtkaWN0aW9u
YXJ5IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIGtleSwgaWQgb2JqZWN0
LCBCT09MICpzdG9wKSB7Ci0gICAgICAgIGlmICghaXNTZXJpYWxpemFibGVWYWx1ZShvYmplY3Qp
KSB7Ci0gICAgICAgICAgICBtb2RpZmljYXRpb25OZWNlc3NhcnkgPSB0cnVlOwotICAgICAgICAg
ICAgKnN0b3AgPSBZRVM7Ci0gICAgICAgIH0KLSAgICB9XTsKLSAgICBpZiAoIW1vZGlmaWNhdGlv
bk5lY2Vzc2FyeSkKLSAgICAgICAgcmV0dXJuIGRpY3Rpb25hcnk7Ci0KLSAgICBhdXRvIHJlc3Vs
dCA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7Ci0gICAgW2Rp
Y3Rpb25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4oaWQga2V5LCBpZCBv
YmplY3QsIEJPT0wgKnN0b3ApIHsKLSAgICAgICAgaWYgKGlzU2VyaWFsaXphYmxlVmFsdWUob2Jq
ZWN0KSkKLSAgICAgICAgICAgIFtyZXN1bHQgc2V0T2JqZWN0Om9iamVjdCBmb3JLZXk6a2V5XTsK
LSAgICB9XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykKLXsKLSAgICAvLyBFdmVuIHRob3Vn
aCBOU0F0dHJpYnV0ZWRTdHJpbmcgaXMgdG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkF0dHJpYnV0
ZWRTdHJpbmdSZWYsIGF0dHJpYnV0ZXMnIHZhbHVlcyBtYXkgYmUgbm90LCBzbyB3ZSBzaG91bGQg
c3RheSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KLQotICAgIE5TU3RyaW5nICpwbGFpblN0cmlu
ZyA9IFtzdHJpbmcgc3RyaW5nXTsKLSAgICBOU1VJbnRlZ2VyIGxlbmd0aCA9IFtwbGFpblN0cmlu
ZyBsZW5ndGhdOwotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHBsYWluU3RyaW5nKTsKLQotICAg
IFZlY3RvcjxzdGQ6OnBhaXI8TlNSYW5nZSwgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4+PiByYW5n
ZXM7Ci0KLSAgICBOU1VJbnRlZ2VyIHBvc2l0aW9uID0gMDsKLSAgICB3aGlsZSAocG9zaXRpb24g
PCBsZW5ndGgpIHsKLSAgICAgICAgLy8gQ29sbGVjdCByYW5nZXMgaW4gYSB2ZWN0b3IsIGJlY2Fz
dWUgdGhlIHRvdGFsIGNvdW50IHNob3VsZCBiZSBlbmNvZGVkIGZpcnN0LgotICAgICAgICBOU1Jh
bmdlIGVmZmVjdGl2ZVJhbmdlOwotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhdHRy
aWJ1dGVzQXRJbmRleCA9IFtzdHJpbmcgYXR0cmlidXRlc0F0SW5kZXg6cG9zaXRpb24gZWZmZWN0
aXZlUmFuZ2U6JmVmZmVjdGl2ZVJhbmdlXTsKLSAgICAgICAgQVNTRVJUKGVmZmVjdGl2ZVJhbmdl
LmxvY2F0aW9uID09IHBvc2l0aW9uKTsKLSAgICAgICAgQVNTRVJUKGVmZmVjdGl2ZVJhbmdlLmxl
bmd0aCk7Ci0gICAgICAgIEFTU0VSVChOU01heFJhbmdlKGVmZmVjdGl2ZVJhbmdlKSA8PSBsZW5n
dGgpOwotCi0gICAgICAgIHJhbmdlcy5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZWZmZWN0aXZlUmFu
Z2UsIGZpbHRlclVuc2VyaWFsaXphYmxlVmFsdWVzKGF0dHJpYnV0ZXNBdEluZGV4LmdldCgpKSkp
OwotCi0gICAgICAgIHBvc2l0aW9uID0gTlNNYXhSYW5nZShlZmZlY3RpdmVSYW5nZSk7Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFuZ2VzLnNpemUoKSk7
Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJhbmdlcy5zaXplKCk7ICsraSkgewotICAg
ICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihyYW5nZXNbaV0uZmlyc3QubG9j
YXRpb24pOwotICAgICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihyYW5nZXNb
aV0uZmlyc3QubGVuZ3RoKTsKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcmFuZ2VzW2ld
LnNlY29uZC5nZXQoKSk7Ci0gICAgfQotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0
cjxOU1N0cmluZz4gcGxhaW5TdHJpbmc7Ci0gICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBw
bGFpblN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE5TVUludGVnZXIgc3Ry
aW5nTGVuZ3RoID0gW3BsYWluU3RyaW5nIGxlbmd0aF07Ci0KLSAgICBSZXRhaW5QdHI8TlNNdXRh
YmxlQXR0cmlidXRlZFN0cmluZz4gcmVzdWx0U3RyaW5nID0gYWRvcHROUyhbW05TTXV0YWJsZUF0
dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnBsYWluU3RyaW5nLmdldCgpXSk7
Ci0KLSAgICB1aW50NjRfdCByYW5nZUNvdW50OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFu
Z2VDb3VudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHdoaWxlIChyYW5nZUNvdW50
LS0pIHsKLSAgICAgICAgdWludDY0X3QgcmFuZ2VMb2NhdGlvbjsKLSAgICAgICAgdWludDY0X3Qg
cmFuZ2VMZW5ndGg7Ci0gICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGF0dHJpYnV0ZXM7
Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFuZ2VMb2NhdGlvbikpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFuZ2VMZW5ndGgp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIEFTU0VSVChyYW5nZUxvY2F0
aW9uICsgcmFuZ2VMZW5ndGggPiByYW5nZUxvY2F0aW9uKTsKLSAgICAgICAgQVNTRVJUKHJhbmdl
TG9jYXRpb24gKyByYW5nZUxlbmd0aCA8PSBzdHJpbmdMZW5ndGgpOwotICAgICAgICBpZiAocmFu
Z2VMb2NhdGlvbiArIHJhbmdlTGVuZ3RoIDw9IHJhbmdlTG9jYXRpb24gfHwgcmFuZ2VMb2NhdGlv
biArIHJhbmdlTGVuZ3RoID4gc3RyaW5nTGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlcykpCi0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIFtyZXN1bHRTdHJpbmcgYWRkQXR0cmlidXRl
czphdHRyaWJ1dGVzLmdldCgpIHJhbmdlOk5TTWFrZVJhbmdlKHJhbmdlTG9jYXRpb24sIHJhbmdl
TGVuZ3RoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0gYWRvcHROUyhyZXN1bHRTdHJpbmcubGVh
a1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmIFVTRShBUFBLSVQpCi12b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0NvbG9yICpjb2xvcikKLXsKLSAgICBlbmNvZGVyIDw8
IGNvbG9yRnJvbU5TQ29sb3IoY29sb3IpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyLCBSZXRhaW5QdHI8TlNDb2xvcj4mIHJlc3VsdCkKLXsKLSAgICBDb2xvciBjb2xvcjsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGNvbG9yKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgcmVzdWx0ID0gbnNDb2xvcihjb2xvcik7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0jZW5kaWYK
LQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5
KQotewotICAgIC8vIEV2ZW4gdGhvdWdoIE5TRGljdGlvbmFyeSBpcyB0b2xsIGZyZWUgYnJpZGdl
ZCB3aXRoIENGRGljdGlvbmFyeVJlZiwgdmFsdWVzIG1heSBiZSBub3QsIHNvIHdlIHNob3VsZCBz
dGF5IHdpdGhpbiB0aGlzIGZpbGUncyBjb2RlLgotCi0gICAgTlNVSW50ZWdlciBzaXplID0gW2Rp
Y3Rpb25hcnkgY291bnRdOwotICAgIE5TQXJyYXkgKmtleXMgPSBbZGljdGlvbmFyeSBhbGxLZXlz
XTsKLSAgICBOU0FycmF5ICp2YWx1ZXMgPSBbZGljdGlvbmFyeSBhbGxWYWx1ZXNdOwotCi0gICAg
ZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oc2l6ZSk7Ci0KLSAgICBmb3IgKE5TVUlu
dGVnZXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgaWQga2V5ID0gW2tleXMgb2Jq
ZWN0QXRJbmRleDppXTsKLSAgICAgICAgaWQgdmFsdWUgPSBbdmFsdWVzIG9iamVjdEF0SW5kZXg6
aV07Ci0gICAgICAgIEFTU0VSVChrZXkpOwotICAgICAgICBBU1NFUlQodmFsdWUpOwotICAgICAg
ICBBU1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOwotCi0gICAgICAgIC8vIElnbm9y
ZSB2YWx1ZXMgd2UgZG9uJ3QgcmVjb2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3Qo
dmFsdWUpID09IE5TVHlwZTo6VW5rbm93bikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAg
ICAgIGVuY29kZShlbmNvZGVyLCBrZXkpOwotICAgICAgICBlbmNvZGUoZW5jb2RlciwgdmFsdWUp
OwotICAgIH0KLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5T
RGljdGlvbmFyeT4mIHJlc3VsdCkKLXsKLSAgICB1aW50NjRfdCBzaXplOwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoc2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJldGFpblB0
cjxOU011dGFibGVEaWN0aW9uYXJ5PiBkaWN0aW9uYXJ5ID0gYWRvcHROUyhbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOwotICAgIGZvciAodWludDY0
X3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgLy8gVHJ5IHRvIGRlY29kZSB0aGUg
a2V5IG5hbWUuCi0gICAgICAgIFJldGFpblB0cjxpZD4ga2V5OwotICAgICAgICBpZiAoIWRlY29k
ZShkZWNvZGVyLCBrZXkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIFJl
dGFpblB0cjxpZD4gdmFsdWU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHZhbHVlKSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBbZGljdGlvbmFyeSBzZXRPYmpl
Y3Q6dmFsdWUuZ2V0KCkgZm9yS2V5OmtleS5nZXQoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0g
YWRvcHROUyhkaWN0aW9uYXJ5LmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNp
ZiBVU0UoQVBQS0lUKQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNGb250ICpmb250
KQotewotICAgIC8vIE5TRm9udCBjb3VsZCB1c2UgQ1RGb250UmVmIGNvZGUgaWYgd2UgaGFkIGl0
IGluIEFyZ3VtZW50Q29kZXJzQ0YuCi0gICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2Ny
aXB0b3IuZm9udEF0dHJpYnV0ZXMpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXRhaW5QdHI8TlNGb250PiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxOU0RpY3Rpb25h
cnk+IGZvbnRBdHRyaWJ1dGVzOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1
dGVzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTlNGb250RGVzY3JpcHRvciAqZm9u
dERlc2NyaXB0b3IgPSBbTlNGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0
cmlidXRlczpmb250QXR0cmlidXRlcy5nZXQoKV07Ci0gICAgcmVzdWx0ID0gW05TRm9udCBmb250
V2l0aERlc2NyaXB0b3I6Zm9udERlc2NyaXB0b3Igc2l6ZTowXTsKLQotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0jZW5kaWYgLy8gVVNFKEFQUEtJVCkKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIFVJRm9udCAqZm9udCkKLXsKLSAgICBl
bmNvZGUoZW5jb2RlciwgZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0cmlidXRlcyk7Ci19Ci0K
LWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxVSUZvbnQ+JiByZXN1bHQp
Ci17Ci0gICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7Ci0gICAgaWYg
KCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBVSUZvbnREZXNjcmlwdG9yICpmb250RGVzY3JpcHRvciA9IFtVSUZvbnREZXNjcmlw
dG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmZvbnRBdHRyaWJ1dGVzLmdldCgp
XTsKLSAgICByZXN1bHQgPSBbVUlGb250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRv
ciBzaXplOjBdOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotI2VuZGlmIC8vIFBMQVRGT1JN
KElPU19GQU1JTFkpCi0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TTnVtYmVyICpu
dW1iZXIpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRk51bWJlclJlZiludW1i
ZXIpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNOdW1i
ZXI+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGTnVtYmVyUmVmPiBudW1iZXI7Ci0gICAg
aWYgKCFkZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgcmVzdWx0ID0gYWRvcHROUygoTlNOdW1iZXIgKiludW1iZXIubGVha1JlZigpKTsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNTdHJpbmcg
KnN0cmluZykKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKXN0
cmluZyk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU1N0
cmluZz4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZzsKLSAg
ICBpZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICByZXN1bHQgPSBhZG9wdE5TKChOU1N0cmluZyAqKXN0cmluZy5sZWFrUmVmKCkpOwotICAg
IHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0FycmF5
ICphcnJheSkKLXsKLSAgICBOU1VJbnRlZ2VyIHNpemUgPSBbYXJyYXkgY291bnRdOwotICAgIGVu
Y29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHNpemUpOwotCi0gICAgZm9yIChOU1VJbnRl
Z2VyIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIGlkIHZhbHVlID0gW2FycmF5IG9i
amVjdEF0SW5kZXg6aV07Ci0KLSAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCByZWNv
Z25pemUuCi0gICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0gTlNUeXBlOjpVbmtu
b3duKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXph
YmxlVmFsdWUodmFsdWUpKTsKLQotICAgICAgICBlbmNvZGUoZW5jb2RlciwgdmFsdWUpOwotICAg
IH0KLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQXJyYXk+
JiByZXN1bHQpCi17Ci0gICAgdWludDY0X3Qgc2l6ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxl
QXJyYXk+IGFycmF5ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENh
cGFjaXR5OnNpemVdKTsKLSAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7
Ci0gICAgICAgIFJldGFpblB0cjxpZD4gdmFsdWU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29k
ZXIsIHZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBbYXJyYXkg
YWRkT2JqZWN0OnZhbHVlLmdldCgpXTsKLSAgICB9Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKGFy
cmF5LmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIE5TRGF0ZSAqZGF0ZSkKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJp
ZGdlIENGRGF0ZVJlZilkYXRlKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rlciwg
UmV0YWluUHRyPE5TRGF0ZT4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZEYXRlUmVmPiBk
YXRlOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKChOU0RhdGUgKilkYXRlLmxlYWtSZWYoKSk7Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRGF0
YSAqZGF0YSkKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilkYXRh
KTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TRGF0YT4m
IHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOwotICAgIGlmICghZGVj
b2RlKGRlY29kZXIsIGRhdGEpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQg
PSBhZG9wdE5TKChOU0RhdGEgKilkYXRhLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TVVJMICpVUkwpCi17Ci0gICAgZW5j
b2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlVSTFJlZilVUkwpOwotfQotCi1ib29sIGRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNVUkw+JiByZXN1bHQpCi17Ci0gICAgUmV0YWlu
UHRyPENGVVJMUmVmPiBVUkw7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgVVJMKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNVUkwgKilVUkwubGVh
a1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgSVBDCi0KLW5h
bWVzcGFjZSBXVEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxJUEM6Ok5TVHlwZT4g
ewotICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIElQQzo6TlNUeXBlLAot
ICAgICAgICBJUEM6Ok5TVHlwZTo6QXR0cmlidXRlZFN0cmluZywKLSAgICAjaWYgVVNFKEFQUEtJ
VCkKLSAgICAgICAgSVBDOjpOU1R5cGU6OkNvbG9yLAotICAgICNlbmRpZgotICAgICAgICBJUEM6
Ok5TVHlwZTo6RGljdGlvbmFyeSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OkFycmF5LAotICAgICNp
ZiBVU0UoQVBQS0lUKQotICAgICAgICBJUEM6Ok5TVHlwZTo6Rm9udCwKLSAgICAjZW5kaWYKLSAg
ICAgICAgSVBDOjpOU1R5cGU6Ok51bWJlciwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlN0cmluZywK
LSAgICAgICAgSVBDOjpOU1R5cGU6OkRhdGUsCi0gICAgICAgIElQQzo6TlNUeXBlOjpEYXRhLAot
ICAgICAgICBJUEM6Ok5TVHlwZTo6VVJMLAotICAgICAgICBJUEM6Ok5TVHlwZTo6VW5rbm93bgot
ICAgID47Ci19OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJp
YnV0ZWRTdHJpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmlu
Zy5tbQppbmRleCAyNzVhNGYxMDA5ZDA0MzljMWNhYjcwY2Y2M2IzNjZmYmJiYjM4ZDZhLi5hZTA4
NTg0NTQ3YjYxYjUzNDJjZGE3Y2NlY2Q0MTYxNGQ0ODdlN2UzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQpAQCAtMjcsMzIgKzI3LDIxIEBACiAjaW1w
b3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2Eu
aCIKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL0Zv
dW5kYXRpb24uaD4KKyNpbXBvcnQgIkRlY29kZXIuaCIKKyNpbXBvcnQgIkVuY29kZXIuaCIKIAog
bmFtZXNwYWNlIElQQyB7CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRT
dHJpbmc+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViS2l0OjpBdHRyaWJ1dGVk
U3RyaW5nJiBhdHRyaWJ1dGVkU3RyaW5nKQogewotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8
Ym9vbD4oIWF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nKTsKLSAgICBpZiAoIWF0dHJpYnV0ZWRTdHJp
bmcuc3RyaW5nKQotICAgICAgICByZXR1cm47Ci0gICAgSVBDOjplbmNvZGUoZW5jb2RlciwgYXR0
cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkpOworICAgIGVuY29kZXIgPDwgYXR0cmlidXRlZFN0
cmluZy5zdHJpbmc7CiB9CiAKIE9wdGlvbmFsPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz4gQXJn
dW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlcikKIHsKLSAgICBib29sIGlzTnVsbDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzTnVs
bCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKGlzTnVsbCkKLSAgICAg
ICAgcmV0dXJuIFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyB7IH07Ci0KICAgICBSZXRhaW5QdHI8
TlNBdHRyaWJ1dGVkU3RyaW5nPiBhdHRyaWJ1dGVkU3RyaW5nOwotICAgIElQQzo6ZGVjb2RlKGRl
Y29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcpOwotICAgIGlmICghYXR0cmlidXRlZFN0cmluZykKKyAg
ICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcpKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgcmV0dXJuIFdlYktpdDo6QXR0cmlidXRlZFN0cmlu
ZyB7IGF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9PYmpDT2JqZWN0R3JhcGgubW0KaW5kZXggYmMwNGYyMmE0YzllYjFlOWQxYjBjMGNmMDEx
YWU1MGMwZTI0N2M4NS4uYzY1NDg0ZjU1MTIyMGRkYmM4Yjg0Yjc5NmFjYjA1OTg4NzI2Yjg3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIk9iakNPYmplY3RHcmFwaC5o
IgogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgorI2ltcG9ydCAiQXJndW1lbnRDb2Rl
cnNDb2NvYS5oIgogI2ltcG9ydCAiRGVjb2Rlci5oIgogI2ltcG9ydCAiRW5jb2Rlci5oIgogI2lt
cG9ydCAiVXNlckRhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA0NmMzNTcwMjcxYWQ0
MGFiNmEzNjM4Y2I3Y2Y4ZTUwNTk3ZGViMGRmLi5iNTYwYjRhNzY1OTMyZmM4YjYxODU4ZGQ5NWMx
MGI4YmUxMTc0YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0xNzQsNyArMTc0LDYgQEAg
U2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KIFNoYXJlZC9pb3MvV2ViUGxhdGZvcm1U
b3VjaFBvaW50SU9TLmNwcAogU2hhcmVkL2lvcy9XZWJUb3VjaEV2ZW50SU9TLmNwcAogCi1TaGFy
ZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcu
bW0KIFNoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQogU2hhcmVkL21hYy9Db2RlU2ln
bmluZy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYjc3ZWNmMTZkOTBjY2Q2NWRhMTY0NWI4YjExNzk5MGI1OWY1NGI5Mi4uMzdiM2Fk
Yjc1NTE0ODAyMmI1ODcwN2ZiYTg4NzkxZTJiMDc0ODYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTk3LDcgKzE1OTcsNiBAQAog
CQlFMTY0QTJGMjE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNh
bmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxNjRBMkYwMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VX
aXRoU2FuZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQlFMTcwODc2QzE2RDZDQTY5MDBGOTkyMjYg
LyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxNzA4NzZBMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94
eS5oICovOyB9OwogCQlFMTc5MDg4RjE2OUJBQTZBMDA2OTA0QzcgLyogU2VjSXRlbVNoaW0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEU2OTQ4MTY5
Qjc3QzgwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbS5oICovOyB9OwotCQlFMTc5RkQ5QzEzNEQzODA2
MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVu
dENvZGVyc01hYy5oICovOyB9OwogCQlFMTdBRTJDMzE2QjlDNjNBMDAxQzQyRjEgLyogY29tLmFw
cGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi87IH07CiAJCUUxOEU2OTBDMTY5QjU2M0YwMDlC
NjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkwQTE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Q
cm94eS5oICovOyB9OwogCQlFMThFNjkxNzE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Q
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMThFNjkxMzE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC00NDY4LDggKzQ0NjcsNiBAQAogCQlFMTcw
ODc2OTE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYlJlZ2lzdHJ5UHJveHkuY3BwOyBwYXRoID0g
V2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTE3MDg3NkExNkQ2Q0E2OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2JSZWdpc3RyeVByb3h5
Lmg7IHBhdGggPSBXZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3OThDNzcxNkU2ODE4ODAwMjQwMTM5IC8qIE5ldHdv
cmtCbG9iUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TmV0d29ya0Jsb2JSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUx
NzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcmd1bWVudENvZGVyc01hYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlFMTc5RkQ5RTEzNEQzODI1MDAxNUI4ODMgLyogQXJndW1lbnRDb2Rl
cnNNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBcmd1bWVu
dENvZGVyc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3QUUyQzExNkI5
QzEzOTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJL
aXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldl
YktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvY29t
LmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKIAkJRTE4QzkyRjMxMkRCOUU3MTAwQ0YyQUVCIC8qIFByaW50SW5mby5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmludEluZm8uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzg1NSw4ICs3ODUyLDYgQEAKIAkJQkMxMTFCNUEx
MTJGNjI4MjAwMzM3QkFCIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCi0JCQkJRTE3OUZEOUIxMzREMzgwNjAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJz
TWFjLmggKi8sCi0JCQkJRTE3OUZEOUUxMzREMzgyNTAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJz
TWFjLm1tICovLAogCQkJCUUxQTMxNzMxMTM0Q0VBNkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3Ry
aW5nLmggKi8sCiAJCQkJRTFBMzE3MzQxMzRDRUE4MDAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJp
bmcubW0gKi8sCiAJCQkJOUY1NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8qIEF1eGlsaWFyeVByb2Nl
c3NNYWMubW0gKi8sCkBAIC05MDU1LDcgKzkwNTAsNiBAQAogCQkJCTFBRUZEMkY3MTFEMTgwN0Iw
MDgyMTlEMyAvKiBBcmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjBDNEEx
MkIxNjMzNDAwOEU0OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFMTc5RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNN
YWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3Nl
cnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAw
MDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQxMTJG
QUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAo=
</data>
<flag name="review"
          id="380993"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="380994"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364477</attachid>
            <date>2019-03-12 17:05:33 -0700</date>
            <delta_ts>2019-03-12 20:44:13 -0700</delta_ts>
            <desc>Patch 3 / 4</desc>
            <filename>bug-195636-20190312170532.patch</filename>
            <type>text/plain</type>
            <size>14121</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5ZjBkMmI3ZjlmNjhmNjM5
NjhkMjY3YTJmZDgwNzJiMjgyNzBlYWYuLmZkYmZiNWJkYzFhYWJmNTg2Mjc5MzBlMGQ2MzUyOTZk
ZTZkYTA0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMDMtMTIgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdl
YlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaDoK
KyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06CisgICAgICAgIChXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkF0
dHJpYnV0ZWRTdHJpbmc6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZ2V0Q29udGVudHNBc0F0dHJpYnV0
ZWRTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0Q29udGVudHNBc0F0
dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmF0dHJpYnV0
ZWRTdHJpbmdDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRp
bW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIEFyZ3VtZW50Q29kZXJzTWFj
IGFuZCBBcmd1bWVudENvZGVyc0NvY29hLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRy
aWJ1dGVkU3RyaW5nLmgKaW5kZXggZWExY2QzZWY0Yzk5NTE3ZDkyYzI2YjNjODMzODc3ODAwZmZm
N2JlNi4uODUzMGY4MThiYWMxZjU5YjlmZWNiNmEyNjc1MzAxMjIyYTJhM2Y0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5oCkBAIC0zOCw4ICszOCw5IEBA
IHN0cnVjdCBBdHRyaWJ1dGVkU3RyaW5nIHsKICAgICB9CiAKICNpZiBkZWZpbmVkKF9fT0JKQ19f
KQotICAgIEF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3Ry
aW5nKQorICAgIEF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVk
U3RyaW5nLCBOU0RpY3Rpb25hcnkgKmRvY3VtZW50QXR0cmlidXRlcyA9IG5pbCkKICAgICAgICAg
OiBzdHJpbmcoYXR0cmlidXRlZFN0cmluZykKKyAgICAgICAgLCBkb2N1bWVudEF0dHJpYnV0ZXMo
ZG9jdW1lbnRBdHRyaWJ1dGVzKQogICAgIHsKICAgICB9CiAKQEAgLTQ4LDggKzQ5LDkgQEAgc3Ry
dWN0IEF0dHJpYnV0ZWRTdHJpbmcgewogICAgICAgICByZXR1cm4gc3RyaW5nLmdldCgpOwogICAg
IH0KICNlbmRpZgotICAgIAorCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gc3Ry
aW5nOworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRvY3VtZW50QXR0cmlidXRlczsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3Ry
aW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KaW5k
ZXggYWUwODU4NDU0N2I2MWI1MzQyY2RhN2NjZWNkNDE2MTRkNDg3ZTdlMy4uYjgzZjNlNTJjZTI3
ZDIzZjhmZjBjNTQ5YmEwNjEzNTJiZjkxZmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIElQQyB7
CiB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIsIGNvbnN0IFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyYgYXR0cmlidXRl
ZFN0cmluZykKIHsKICAgICBlbmNvZGVyIDw8IGF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nOworICAg
IGVuY29kZXIgPDwgYXR0cmlidXRlZFN0cmluZy5kb2N1bWVudEF0dHJpYnV0ZXM7CiB9CiAKIE9w
dGlvbmFsPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0
dHJpYnV0ZWRTdHJpbmc+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTQyLDcgKzQzLDEw
IEBAIE9wdGlvbmFsPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmc+OjpkZWNvCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0
cmluZz4gYXR0cmlidXRlZFN0cmluZzsKICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0
dHJpYnV0ZWRTdHJpbmcpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIHJldHVy
biBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgpIH07Cisg
ICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZG9jdW1lbnRBdHRyaWJ1dGVzOworICAgIGlmICgh
SVBDOjpkZWNvZGUoZGVjb2RlciwgZG9jdW1lbnRBdHRyaWJ1dGVzKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4gV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHsgYXR0
cmlidXRlZFN0cmluZy5nZXQoKSwgZG9jdW1lbnRBdHRyaWJ1dGVzLmdldCgpIH07CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4
IGY5ZGFjNGE0YTNlMmE5NWJhNDJlZjJlNGI4MDliOGU0ZDU0MmM3MDQuLmQ2ZDQzM2M1NTNkOGE0
N2NkZWNhYjQzYzA3M2U1YzU1MWYyMTQ1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiQVBJ
Rm9ybUNsaWVudC5oIgogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbXBvcnQg
IkFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5o
IgogI2ltcG9ydCAiQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oIgogI2ltcG9ydCAiRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCIKICNpbXBvcnQgIkR5bmFtaWNWaWV3cG9ydFNpemVVcGRh
dGUuaCIKQEAgLTUyNTMsNiArNTI1NCwxOSBAQCAtICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5n
V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU1N0cmluZyAqLCBOU0Vycm9yCiAgICAg
fSk7CiB9CiAKKy0gKHZvaWQpX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShOU0F0dHJpYnV0ZWRTdHJpbmcgKiwgTlNEaWN0aW9uYXJ5
PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKiwgTlNFcnJvciAq
KSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIGF1dG8gaGFuZGxlciA9IG1ha2VCbG9ja1B0cihj
b21wbGV0aW9uSGFuZGxlcik7CisKKyAgICBfcGFnZS0+Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRT
dHJpbmcoW2hhbmRsZXJdKGNvbnN0IFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyYgc3RyaW5nLCBX
ZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKGVycm9yICE9
IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkgeworICAgICAgICAgICAgLy8gRklY
TUU6IFBpcGUgYSBwcm9wZXIgZXJyb3IgaW4gZnJvbSB0aGUgV2ViUGFnZVByb3h5LgorICAgICAg
ICAgICAgaGFuZGxlcihuaWwsIG5pbCwgW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JE
b21haW4gY29kZTpzdGF0aWNfY2FzdDxpbnQ+KGVycm9yKSB1c2VySW5mbzpuaWxdKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBoYW5kbGVyKFtbc3RyaW5nLnN0cmluZy5nZXQoKSByZXRh
aW5dIGF1dG9yZWxlYXNlXSwgW1tzdHJpbmcuZG9jdW1lbnRBdHRyaWJ1dGVzLmdldCgpIHJldGFp
bl0gYXV0b3JlbGVhc2VdLCBuaWwpOworICAgIH0pOworfQorCiAtICh2b2lkKV9nZXRBcHBsaWNh
dGlvbk1hbmlmZXN0V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShfV0tBcHBsaWNhdGlv
bk1hbmlmZXN0ICopKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlLmgKaW5kZXggZWM2OTFjNjE4ZTcxZWRjNDE3MjRiNzA2ZGIxYTFmNjA3
ODY2OGNhOS4uNzYzODQ3NzQ5OGVkZGU1ODcwM2MxNDhlMzIwNjdhN2JmOWY0NjM4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCkBAIC0zNjQsNiArMzY0LDcgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9X
S1JlY3RFZGdlKSB7CiAtICh2b2lkKV9nZXRNYWluUmVzb3VyY2VEYXRhV2l0aENvbXBsZXRpb25I
YW5kbGVyOih2b2lkICheKShOU0RhdGEgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsK
IC0gKHZvaWQpX2dldFdlYkFyY2hpdmVEYXRhV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KShOU0RhdGEgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpX2dldENv
bnRlbnRzQXNTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICos
IE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClfZ2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmdX
aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXR0cmlidXRlZFN0cmluZyAqLCBOU0Rp
Y3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqLCBO
U0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfTUFDX1RCQSkpOwogCiAtICh2b2lkKV9nZXRBcHBsaWNhdGlvbk1hbmlm
ZXN0V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBp
b3MoMTEuMykpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA3ODU2NWI2MGU2OWE2MjdlYWRlYWIyMGM1MGNiMjIyNGYxZjQwNTdjLi4zYTg2Y2Y5YzE3ZDU3
YzM1MDhlYTJhNjY4YWJiNGIyNDViOTk1YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTE4Nyw2ICsxODcsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKKyNpbmNsdWRlICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZVNj
cm9sbGluZ1BlcmZvcm1hbmNlRGF0YS5oIgogI2luY2x1ZGUgIlRvdWNoQmFyTWVudURhdGEuaCIK
QEAgLTM2MDAsNiArMzYwMSwyMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0Q29udGVudHNBc1N0
cmluZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYQogICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R2V0Q29udGVudHNBc1N0cmluZyhjYWxsYmFj
a0lEKSwgbV9wYWdlSUQpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChj
b25zdCBBdHRyaWJ1dGVkU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tG
dW5jdGlvbikKK3sKKyAgICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAgICBjYWxsYmFja0Z1bmN0
aW9uKEF0dHJpYnV0ZWRTdHJpbmcoKSwgQ2FsbGJhY2tCYXNlOjpFcnJvcjo6VW5rbm93bik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNr
cy5wdXQoV1RGTW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5i
YWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpKTsKKyAgICBtX2xvYWREZXBlbmRlbnRTdHJpbmdDYWxs
YmFja0lEcy5hZGQoY2FsbGJhY2tJRCk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpHZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhjYWxsYmFja0lEKSwgbV9wYWdl
SUQpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRCeXRlY29kZVByb2ZpbGUo
V1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4m
JiBjYWxsYmFja0Z1bmN0aW9uKQogewogICAgIGlmICghaXNWYWxpZCgpKSB7CkBAIC02MzU0LDYg
KzYzNjksMjIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludmFsaWRhdGVTdHJpbmdDYWxsYmFjayhD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgY2FsbGJhY2stPmludmFsaWRhdGUoKTsKIH0KIAor
I2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBXZWJQYWdlUHJveHk6OmF0dHJpYnV0ZWRTdHJpbmdD
YWxsYmFjayhjb25zdCBBdHRyaWJ1dGVkU3RyaW5nJiByZXN1bHRTdHJpbmcsIENhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKK3sKKyAgICBhdXRvIGNhbGxiYWNrID0gbV9jYWxsYmFja3MudGFrZTxBdHRy
aWJ1dGVkU3RyaW5nQ2FsbGJhY2s+KGNhbGxiYWNrSUQpOworICAgIGlmICghY2FsbGJhY2spIHsK
KyAgICAgICAgLy8gRklYTUU6IExvZyBlcnJvciBvciBhc3NlcnQuCisgICAgICAgIC8vIHRoaXMg
Y2FuIHZhbGlkbHkgaGFwcGVuIGlmIGEgbG9hZCBpbnZhbGlkYXRlZCB0aGUgY2FsbGJhY2ssIHRo
b3VnaAorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9sb2FkRGVwZW5kZW50U3RyaW5n
Q2FsbGJhY2tJRHMucmVtb3ZlKGNhbGxiYWNrSUQpOworCisgICAgY2FsbGJhY2stPnBlcmZvcm1D
YWxsYmFja1dpdGhSZXR1cm5WYWx1ZShyZXN1bHRTdHJpbmcpOworfQorI2VuZGlmCisKIHZvaWQg
V2ViUGFnZVByb3h5OjpzY3JpcHRWYWx1ZUNhbGxiYWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYgZGF0YVJlZmVyZW5jZSwgYm9vbCBoYWRFeGNlcHRpb24sIGNvbnN0IEV4Y2VwdGlvbkRldGFp
bHMmIGRldGFpbHMsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIHsKICAgICBhdXRvIGNhbGxiYWNr
ID0gbV9jYWxsYmFja3MudGFrZTxTY3JpcHRWYWx1ZUNhbGxiYWNrPihjYWxsYmFja0lEKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYWRkMjJkNjU5MzY3NDU4MGMw
M2I2Y2I0OTEzZTMzYTg4NjBhYTEzMS4uNjRiMTg4NzY2MDdjZDJjMTlmMTZmYTA5MmJkN2JlOThm
ZjJmMmJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI5Niw2
ICsyOTYsMTAgQEAgdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgU3RyaW5nJj4gU3RyaW5n
Q2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxBUEk6OlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSosIGJvb2wsIGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHMmPiBTY3JpcHRWYWx1
ZUNhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgV2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXMmPiBGb250QXR0cmlidXRlc0NhbGxiYWNrOwogCisjaWYgUExBVEZPUk0oQ09DT0Ep
Cit0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBBdHRyaWJ1dGVkU3RyaW5nJj4gQXR0cmli
dXRlZFN0cmluZ0NhbGxiYWNrOworI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspCiB0eXBlZGVm
IEdlbmVyaWNDYWxsYmFjazxBUEk6OkVycm9yKj4gUHJpbnRGaW5pc2hlZENhbGxiYWNrOwogI2Vu
ZGlmCkBAIC05NjcsNiArOTcxLDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluZFN0cmluZ01h
dGNoZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgVmVjdG9yPFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
Pj4mIG1hdGNoUmVjdHMsIGludDMyX3QgZmlyc3RJbmRleEFmdGVyU2VsZWN0aW9uKTsKIAogICAg
IHZvaWQgZ2V0Q29udGVudHNBc1N0cmluZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmlu
ZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2
b2lkIGdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFdURjo6RnVuY3Rpb248dm9pZCAoY29u
c3QgQXR0cmlidXRlZFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKKyNlbmRpZgog
ICAgIHZvaWQgZ2V0Qnl0ZWNvZGVQcm9maWxlKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3Ry
aW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwogICAgIHZvaWQgZ2V0U2FtcGxpbmdQcm9m
aWxlck91dHB1dChXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiYmKTsKIApAQCAtMTc4Myw2ICsxNzkwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGltYWdlQ2FsbGJhY2soY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBDYWxsYmFja0lE
KTsKICAgICB2b2lkIHN0cmluZ0NhbGxiYWNrKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrSUQpOwog
ICAgIHZvaWQgaW52YWxpZGF0ZVN0cmluZ0NhbGxiYWNrKENhbGxiYWNrSUQpOworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIHZvaWQgYXR0cmlidXRlZFN0cmluZ0NhbGxiYWNrKGNvbnN0IEF0dHJp
YnV0ZWRTdHJpbmcmLCBDYWxsYmFja0lEKTsKKyNlbmRpZgogICAgIHZvaWQgc2NyaXB0VmFsdWVD
YWxsYmFjayhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBib29sIGhhZEV4Y2VwdGlvbiwgY29u
c3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscyYsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgY29t
cHV0ZWRQYWdlc0NhbGxiYWNrKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0PiYsIGRvdWJs
ZSB0b3RhbFNjYWxlRmFjdG9yRm9yUHJpbnRpbmcsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgdmFs
aWRhdGVDb21tYW5kQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBDYWxsYmFja0lE
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCAzNDY1ZTc2ZjkzZTQ2YjVhNDJiMzlhNDg5ODYwNTg5MzRhMDFhMzAyLi4xYmYzYmI1
NDIyZjM3YmVhZWY5ZjE0YzBmZjMzOWZmYWIyMjNiZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNjYsNiArMTY2LDkgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEYXRhQ2FsbGJhY2soSVBDOjpTaGFyZWRC
dWZmZXJEYXRhUmVmZXJlbmNlIHJlc3VsdERhdGEsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogICAgIEltYWdlQ2FsbGJhY2soV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBi
aXRtYXBIYW5kbGUsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFN0cmluZ0Nh
bGxiYWNrKFN0cmluZyByZXN1bHRTdHJpbmcsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIEF0dHJpYnV0ZWRTdHJpbmdDYWxsYmFjayhzdHJ1
Y3QgV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHJlc3VsdFN0cmluZywgV2ViS2l0OjpDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpCisjZW5kaWYKICAgICBJbnZhbGlkYXRlU3RyaW5nQ2FsbGJhY2soV2Vi
S2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgU2NyaXB0VmFsdWVDYWxsYmFjayhJUEM6
OkRhdGFSZWZlcmVuY2UgcmVzdWx0RGF0YSwgYm9vbCBoYWRFeGNlcHRpb24sIHN0cnVjdCBXZWJD
b3JlOjpFeGNlcHRpb25EZXRhaWxzIGRldGFpbHMsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogICAgIENvbXB1dGVkUGFnZXNDYWxsYmFjayhWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4g
cGFnZVJlY3RzLCBkb3VibGUgdG90YWxTY2FsZUZhY3RvckZvclByaW50aW5nLCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCBkNjMwNjcwN2JjYmZjOWQ3Yzgz
ZGE2MzVkNjI3NTY2MTBhMTlmZGI1Li5lY2QzYWJjYmQ1ZmFlOTc2ZDExMDkyNzg3MDA1Mjc0NDc2
ZGE3M2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC0yNyw2ICsyNyw3IEBACiAjaW1wb3J0ICJXZWJQYWdl
LmgiCiAKIAorI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiTG9hZFBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIlBsdWdpblZpZXcuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJFbGVtZW50Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1JlbmRlck9iamVjdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9UZXh0SXRl
cmF0b3IuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCkBAIC0yMDEsNiArMjAzLDIxIEBAIFdl
YlBheW1lbnRDb29yZGluYXRvciogV2ViUGFnZTo6cGF5bWVudENvb3JkaW5hdG9yKCkKIH0KICNl
bmRpZgogCit2b2lkIFdlYlBhZ2U6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKENhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKK3sKKyAgICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFt
ZSgpOworCisgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9t
TG9jYXRpb25BbmRMZW5ndGgoZnJhbWUuZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCksIDAs
IElOVF9NQVgpOworCisgICAgTlNEaWN0aW9uYXJ5KiBkb2N1bWVudEF0dHJpYnV0ZXMgPSBuaWw7
CisKKyAgICBBdHRyaWJ1dGVkU3RyaW5nIHJlc3VsdDsKKyAgICByZXN1bHQuc3RyaW5nID0gYXR0
cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgqcmFuZ2UsICZkb2N1bWVudEF0dHJpYnV0ZXMpOworICAg
IHJlc3VsdC5kb2N1bWVudEF0dHJpYnV0ZXMgPSBkb2N1bWVudEF0dHJpYnV0ZXM7CisKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkF0dHJpYnV0ZWRTdHJpbmdDYWxsYmFjayhyZXN1
bHQsIGNhbGxiYWNrSUQpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCBkZGY2YjViMDM4NDg2NGEyMTZiM2UyZjQ4ZTM1MjNlZjRhNWYwZDg0Li42ZWMz
NmFlYTRkMjk2YTdjNzgxZmM5N2NmMjQ4ZTJkNmU2NTBkZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMzEzLDYgKzEzMTMsOSBAQCBwcml2YXRl
OgogICAgIHZvaWQgdmlld1dpbGxFbmRMaXZlUmVzaXplKCk7CiAKICAgICB2b2lkIGdldENvbnRl
bnRzQXNTdHJpbmcoQ2FsbGJhY2tJRCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBn
ZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhDYWxsYmFja0lEIGNhbGxiYWNrSUQpOworI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIHZvaWQgZ2V0Q29udGVudHNBc01IVE1MRGF0YShD
YWxsYmFja0lEKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggYzJjNTllZjA3YWJjNTI0MzJmMjMxMTI3
NmJjNGUxMGRiODY4YzI5OS4uOTJjNDM5MjIxMWI0NWVlMTJjYTE2YTRkNDE4NDJlMDcyOTBiZWYy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCkBAIC0xODAsNiArMTgwLDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdh
Y3lSZWNlaXZlciB7CiAKICAgICAjIENhbGxiYWNrcy4KICAgICBHZXRDb250ZW50c0FzU3RyaW5n
KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IEdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQorI2VuZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIEdldENvbnRlbnRzQXNNSFRNTERh
dGEoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>364482</attachid>
            <date>2019-03-12 17:38:08 -0700</date>
            <delta_ts>2019-03-12 20:29:15 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews105 for mac-highsierra-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>585744</size>
            <attacher name="EWS Watchlist">ews-watchlist</attacher>
            
              <data encoding="base64">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
zMa8uTrmpHI5VyGWtiEOsR3LkduFmp+iVLmZyGyfNDvInk5ZFh8/bgClB4NWTrI4Scnqg+yLt/RI
Dsc9noSZ5qSIj68prpgkxdsmrx7clKUr4vx9CXZnedgkN0Q73yt7+3INf4u0dzNPi2Ve1Pe7gv9n
9vClVSqogVIehtMQw8rkQTOY/0YkVZSXGXlMXzvViys7F7vtB8H15Phk/53UWwRuSLQv4u0tZXTi
zAi48psk3RW32v2V9uWa5D/jwyFNlvtTsQRUp13pXYCw5EJxBUr15Vr5dtwU8WqbAgMU3rB1JuYd
+QlPYTytmI4IqW51BCGPixxSlnzsepk+Rs/iAT49BnfTxZwol//R778GQ0RP0z/KZ97ieR6Rq91+
p6738TbN12lyTZTb5pKS18+qD4pYF5sfePBKBEYBNffzZVjsvv5MlHM62U127huyC8zPJ4rnKdmU
h27izIOERO9Q+JfZRQIxJfSnUykrbxNQPtFmLYqvT+TrNCKvuFIFGwMok54cfaLd1eREuS8ddSKw
+chit05lReFtVDPx8LDwRpoU0+OxCpWp1RSvp/iYkAMW//NFaxm6DhRphsfNRfErMagxIMZoo3qK
hHdP7p7Foz8Ay2KtunKAoojX76O6qbfKgRQvs2VZEhENaiYxmxY0ifItXQmwHtkKunN2LlP/98ZE
vxunuDoH7KjaZU3ZE6fVgtVV/YiASYmTBJe0EVAfTNTf6p3XKADTx8/KW/JiQ3Q6azXGcumLSIxV
lMEmfFZ1EwspwsU8+hsy2m6+5fJhOr8PfFDeARFgVpwaVUkRBb9FY6B0q25w6LxI8Tyfegt/uPEw
j2gbVVYauoHOWl4QydSoLOhOeXke20BbX0iMpuTOfzFW0SIqDebwxfVaRRijF4pfSAY2JO8oyllB
UPNobRZKCuUvUEsDBAoAAAAAAI+JbE4AAAAAAAAAAAAAAAAkABwAYWNjZXNzaWJpbGl0eS9tYWMv
YXR0cmlidXRlZC1zdHJpbmcvVVQJAAPtSohcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADD
iWxOGVoaAvZBAAD54AAAcQAcAGFjY2Vzc2liaWxpdHkvbWFjL2F0dHJpYnV0ZWQtc3RyaW5nL2F0
dHJpYnV0ZWQtc3RyaW5nLWRvZXMtbm90LWluY2x1ZGVzLW1pc3NwZWxsZWQtZm9yLW5vbi1lZGl0
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
Kp7HlcG8XITZqIiD8qggfiE52JCipygnBUHNY41ZqCC0vwBQSwMECgAAAAAAqolsTgAAAAAAAAAA
AAAAABoAHABhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL1VUCQADIEuIXFFLiFx1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAeYlsTn8KvWNDAAAARgAAAFkAHABhY2Nlc3NpYmlsaXR5L3RleHQtbWFy
a2VyL2NoYXJhY3Rlci1vZmZzZXQtdmlzaWJsZS1wb3NpdGlvbi1jb252ZXJzaW9uLWhhbmctY3Jh
c2gtbG9nLnR4dFVUCQADxUqIXMVKiFx1eAsAAQT1AQAABBQAAADzy1dILkoszlDIyU9XSMsvzUsB
kkUKyfm5eokFBTmpeuGpSd6ZJSDKOT+vJDWvRM8ltSw1J78gF8i2Mja0NDLQ4wIAUEsDBBQAAgAI
AKqJbE553077QwAAAEYAAABBABwAYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtl
ci1wcmV2aW91cy1uZXh0LWNyYXNoLWxvZy50eHRVVAkAAyBLiFwgS4hcdXgLAAEE9QEAAAQUAAAA
88tXSC5KLM5QyMlPV0jLL81LAZJFCsn5uXqJBQU5qXrhqUnemSUgyjk/ryQ1r0TPJbUsNSe/IBfI
tjI2MjA01OMCAFBLAwQKAAAAAACriWxOAAAAAAAAAAAAAAAACwAcAGFuaW1hdGlvbnMvVVQJAAMh
S4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACPiWxOAAAAAAAAAAAAAAAADgAcAGFuaW1h
dGlvbnMvM2QvVVQJAAPtSohcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAB5iWxOGm0B20MA
AABGAAAAOQAcAGFuaW1hdGlvbnMvM2QvY2hhbmdlLXRyYW5zZm9ybS1pbi1lbmQtZXZlbnQtY3Jh
c2gtbG9nLnR4dFVUCQADxkqIXMZKiFx1eAsAAQT1AQAABBQAAADzy1dILkoszlDIyU9XSMsvzUsB
kkUKyfm5eokFBTmpeuGpSd6ZJSDKOT+vJDWvRM8ltSw1J78gF8i2Mja0NDbQ4wIAUEsDBBQAAgAI
AI+JbE7w0XTmogAAACwBAAA7ABwAYW5pbWF0aW9ucy8zZC9tYXRyaXgtdHJhbnNmb3JtLXR5cGUt
YW5pbWF0aW9uLWNyYXNoLWxvZy50eHRVVAkAA+1KiFztSohcdXgLAAEE9QEAAAQUAAAAxc6xDoIw
EIDh3ae4zYm2QBxgFVwkmjQxDsaQUk5oAhy5Fg1vLz6F0/+PX6n1VedwMm7AFgIBo2lhL28e2ctm
cUPbUJCVa9jwKivqvCyc6SbywVmNM3Hw0tIozDwPKO7YnF345UhTwCmIAt840DxuXycqziKVRiqL
4lSpJKnx42N1EJaN7/c5PErmiSB5woXAL7aH1wYDYmgdow3Ea/4v3e4LUEsDBBQAAgAIAHmJbE7H
W65tQwAAAEYAAAAzABwAYW5pbWF0aW9ucy9DU1NLZXlmcmFtZXNSdWxlLW5hbWUtbnVsbC1jcmFz
aC1sb2cudHh0VVQJAAPGSohcxkqIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dIyy/NSwGS
RQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNrQ0stDjAgBQSwMEFAACAAgA
q4lsTvzJAf5DAAAARgAAADQAHABhbmltYXRpb25zL0NTU0tleWZyYW1lc1J1bGUtcGFyYW1ldGVy
cy1jcmFzaC1sb2cudHh0VVQJAAMhS4hcIUuIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dI
yy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNjIwNNPjAgBQSwME
CgAAAAAAj4lsTgAAAAAAAAAAAAAAABsAHABhbmltYXRpb25zL2ZvbnQtdmFyaWF0aW9ucy9VVAkA
A+1KiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAHmJbE50uYXYQwAAAEYAAAA1ABwAYW5p
bWF0aW9ucy9mb250LXZhcmlhdGlvbnMvZm9udC1zdHJldGNoLWNyYXNoLWxvZy50eHRVVAkAA8ZK
iFzGSohcdXgLAAEE9QEAAAQUAAAA88tXSC5KLM5QyMlPV0jLL81LAZJFCsn5uXqJBQU5qXrhqUne
mSUgyjk/ryQ1r0TPJbUsNSe/IBfItjI2tDQ20uMCAFBLAwQUAAIACACPiWxO8NF05qIAAAAsAQAA
MwAcAGFuaW1hdGlvbnMvZm9udC12YXJpYXRpb25zL2ZvbnQtc3R5bGUtY3Jhc2gtbG9nLnR4dFVU
CQAD7UqIXO1KiFx1eAsAAQT1AQAABBQAAADFzrEOgjAQgOHdp7jNibZAHGAVXCSaNDEOxpBSTmgC
HLkWDW8vPoXT/49fqfVV53AybsAWAgGjaWEvbx7Zy2ZxQ9tQkJVr2PAqK+q8LJzpJvLBWY0zcfDS
0ijMPA8o7ticXfjlSFPAKYgC3zjQPG5fJyrOIpVGKoviVKkkqfHjY3UQlo3v9zk8SuaJIHnChcAv
tofXBgNiaB2jDcRr/i/d7gtQSwMECgAAAAAAq4lsTgAAAAAAAAAAAAAAABQAHABhcHBsaWNhdGlv
bm1hbmlmZXN0L1VUCQADIkuIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAeYlsTsbFCNxD
AAAARgAAADQAHABhcHBsaWNhdGlvbm1hbmlmZXN0L2RldmVsb3Blci13YXJuaW5ncy1jcmFzaC1s
b2cudHh0VVQJAAPGSohcxkqIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dIyy/NSwGSRQrJ
+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNrQ0NtHjAgBQSwMEFAACAAgAq4ls
TsV9hVBDAAAARgAAADoAHABhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1uby1tYW5p
ZmVzdC1jcmFzaC1sb2cudHh0VVQJAAMiS4hcIkuIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJ
T1dIyy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNjIwNtDjAgBQ
SwMECgAAAAAAeYlsTgAAAAAAAAAAAAAAAAcAHABjYW52YXMvVVQJAAPGSohcUUuIXHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAAB5iWxOAAAAAAAAAAAAAAAADgAcAGNhbnZhcy9waGlsaXAvVVQJAAPG
SohcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACsiWxOAAAAAAAAAAAAAAAAFAAcAGNhbnZh
cy9waGlsaXAvdGVzdHMvVVQJAAMjS4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAB5iWxO
qBGM30MAAABGAAAANAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2FudmFzLnJlYWRvbmx5LWNy
YXNoLWxvZy50eHRVVAkAA8ZKiFzGSohcdXgLAAEE9QEAAAQUAAAA88tXSC5KLM5QyMlPV0jLL81L
AZJFCsn5uXqJBQU5qXrhqUnemSUgyjk/ryQ1r0TPJbUsNSe/IBfItjI2tDQ20+MCAFBLAwQUAAIA
CACsiWxOGdWMV0MAAABGAAAANQAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2FudmFzLnJlZmVy
ZW5jZS1jcmFzaC1sb2cudHh0VVQJAAMjS4hcI0uIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJ
T1dIyy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNjIwNtHjAgBQ
SwMEFAACAAgAw4lsTkQ1+AD8QQAA+eAAADsAHABjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
RGV2ZWxvcG1lbnQtMzIwNTctY3Jhc2gtbG9nLnR4dFVUCQADTkuIXE5LiFx1eAsAAQT1AQAABBQA
AADsW2tz4zaW/bz8FfyUkdNNGQCJB1Vd6eIz44nbdiw7yVYqpaJI0OZEEhWKcrf31+8FqQdJUd2t
jOOZql25ypQJ8OKci4v7AOibIo/lajXS2584nw+j5XImhz/L6Q9ZqS5evijlohz68knO8uUcvuu/
mgRR/pt2E5WPXRnwOf8pn63ncnX+0/Xl/Yfg/NvzrxSsXSTwO0szWYz+BC7tJ1mssnzRhcSQeKMP
4PcQD+03Z5qXJ1K/e17KdsdfBDOYpQ+uojJ7kmfArlBkbzq6ev/+vf4r/k27latlvlhl01lLTo3w
Tq7K2/ViIYtKWZb4TbtfwR8XfhccRVjT/KiU53fZvIOIIGwbyDQw0TEfYTIy8RBjpBuII6Rdj/U+
wh+iWIemX3SMhtgcMn2A+feMngHgZV6UB89gojmLfPE8z9cr/f6+gTAQCHs2wYbrENPgwjWNwLZd
g3CMOAZwPmWapincuvMx+l3q42wRS93N83KkmwIhfSXjfJGsNG38vCrlXL+ASXsosvJZqbWUcVkh
kYsItJhomldEq0eZ6HePhYySHRCk6362WkZl/Kj/sZZrUNPeJOZRtjDK6gFNCz7FcqmEtuc3+MWb
uLeB88PN9cXVnT4YX3x/d+vcnDX6K6PYTTL6hNof8vbwHmo8fQVkWqN517c342BydX13Ef436EgW
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
3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNjIwNtbjAgBQSwMECgAAAAAArIlsTgAAAAAAAAAAAAAA
ABYAHABjb21wb3NpdGluZy9hbmltYXRpb24vVVQJAAMjS4hcUUuIXHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACAB5iWxOo1XWRkMAAABGAAAARQAcAGNvbXBvc2l0aW5nL2FuaW1hdGlvbi9hbmltYXRl
ZC1jb21wb3NpdGVkLWluc2lkZS1oaWRkZW4tY3Jhc2gtbG9nLnR4dFVUCQADxkqIXMZKiFx1eAsA
AQT1AQAABBQAAADzy1dILkoszlDIyU9XSMsvzUsBkkUKyfm5eokFBTmpeuGpSd6ZJSDKOT+vJDWv
RM8ltSw1J78gF8i2Mja0NDHQ4wIAUEsDBBQAAgAIAKyJbE4SkdbOQwAAAEYAAAA1ABwAY29tcG9z
aXRpbmcvYW5pbWF0aW9uL2FuaW1hdGlvbi1iYWNraW5nLWNyYXNoLWxvZy50eHRVVAkAAyNLiFwj
S4hcdXgLAAEE9QEAAAQUAAAA88tXSC5KLM5QyMlPV0jLL81LAZJFCsn5uXqJBQU5qXrhqUnemSUg
yjk/ryQ1r0TPJbUsNSe/IBfItjI2MjAx0uMCAFBLAwQKAAAAAACsiWxOAAAAAAAAAAAAAAAAIAAc
AGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvVVQJAAMjS4hcUUuIXHV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAB5iWxOzYFSRUMAAABGAAAARAAcAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZp
c2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS0zZC1jcmFzaC1sb2cudHh0VVQJAAPGSohcxkqI
XHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dIyy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5
P68kNa9EzyW1LDUnvyAXyLYyNrQ0MdLjAgBQSwMEFAACAAgArIlsTkBrylVDAAAARgAAAFgAHABj
b21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFy
Y2hpY2FsLXRyYW5zZm9ybS1jcmFzaC1sb2cudHh0VVQJAAMjS4hcI0uIXHV4CwABBPUBAAAEFAAA
APPLV0guSizOUMjJT1dIyy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAX
yLYyNjIwNtfjAgBQSwMECgAAAAAAj4lsTgAAAAAAAAAAAAAAAB0AHABjb21wb3NpdGluZy9iYWNr
Z3JvdW5kLWNvbG9yL1VUCQAD7UqIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAj4lsTn/9
30FDAAAARgAAAE4AHABjb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yL2JhY2tncm91bmQtY29s
b3ItYWxwaGEtd2l0aC1vcGFjaXR5LWNyYXNoLWxvZy50eHRVVAkAA+1KiFztSohcdXgLAAEE9QEA
AAQUAAAA88tXSC5KLM5QyMlPV0jLL81LAZJFCsn5uXqJBQU5qXrhqUnemSUgyjk/ryQ1r0TPJbUs
NSe/IBfItjI2tDQx0eMCAFBLAwQKAAAAAACsiWxOAAAAAAAAAAAAAAAAGAAcAGNvbXBvc2l0aW5n
L2JhY2tncm91bmRzL1VUCQADI0uIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgArIlsThEp
W0JDAAAARgAAAEQAHABjb21wb3NpdGluZy9iYWNrZ3JvdW5kcy9maXhlZC1iYWNrZ3JvdW5kLW9u
LWRlc2NlbmRhbnQtY3Jhc2gtbG9nLnR4dFVUCQADI0uIXCNLiFx1eAsAAQT1AQAABBQAAADzy1dI
LkoszlDIyU9XSMsvzUsBkkUKyfm5eokFBTmpeuGpSd6ZJSDKOT+vJDWvRM8ltSw1J78gF8i2Mja0
NDHT4wIAUEsDBAoAAAAAAKyJbE4AAAAAAAAAAAAAAAAUABwAY29tcG9zaXRpbmcvYmFja2luZy9V
VAkAAyNLiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAKyJbE5LL5DMQwAAAEYAAAAzABwA
Y29tcG9zaXRpbmcvYmFja2luZy9hbmltYXRlLWludG8tdmlldy1jcmFzaC1sb2cudHh0VVQJAAMj
S4hcI0uIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dIyy/NSwGSRQrJ+bl6iQUFOal64alJ
3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNjIwMdTjAgBQSwMEFAACAAgAeYlsThsExUhDAAAARgAA
AEMAHABjb21wb3NpdGluZy9iYWNraW5nL2FuaW1hdGUtaW50by12aWV3LXdpdGgtZGVzY2VuZGFu
dC1jcmFzaC1sb2cudHh0VVQJAAPGSohcxkqIXHV4CwABBPUBAAAEFAAAAPPLV0guSizOUMjJT1dI
yy/NSwGSRQrJ+bl6iQUFOal64alJ3pklIMo5P68kNa9EzyW1LDUnvyAXyLYyNrQ0sdDjAgBQSwME
CgAAAAAAoYlsTgAAAAAAAAAAAAAAABMAHABjb21wb3NpdGluZy9jYW52YXMvVVQJAAMNS4hcUUuI
XHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAChiWxOk4MjTEMAAABGAAAAPwAcAGNvbXBvc2l0aW5n
L2NhbnZhcy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmctY3Jhc2gtbG9nLnR4dFVUCQAD
DUuIXA1LiFx1eAsAAQT1AQAABBQAAADzy1dILkoszlDIyU9XSMsvzUsBkkUKyfm5eokFBTmpeuGp
Sd6ZJSDKOT+vJDWvRM8ltSw1J78gF8i2MjYyMLDQ4wIAUEsDBBQAAgAIAG+JbE4SiegE0gAAANwF
AABKABwAY29tcG9zaXRpbmcvY2FudmFzL2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3NpdGluZy1z
aXplLWxpbWl0LWNyYXNoLWxvZy50eHRVVAkAA7JKiFyySohcdXgLAAEE9QEAAAQUAAAAzdCxjoJA
FIXh3qe4nRXMDCArtIqNRhMSY2E2ZhiuOglyyZ1xN7692u7aD9U55Z+vqutdXcJK2w5b8ASMuoWp
2DtkJ5q77dqGvNjYhjU/xIYuTiytvvTkvDU1DsTeCUO3WA9Dh/EBm7X171lQ77H38RJ/sKPh9vqn
RKoikmkki0glWZapE/46JWexYe2u0xKOFXNPkHzDlsDdzRXOrzAghtYyGk/8KEPVTapQVnIu81kx
VqtPdQGt8nSu0tFafagLapXJrxFb/asLbJWP2upP3eQJUEsDBAoAAAAAALWEbE4AAAAAAAAAAAAA
AAAHABwAY3J5cHRvL1VUCQADxkKIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAtoRsTgAA
AAAAAAAAAAAAAA4AHABjcnlwdG8vc3VidGxlL1VUCQADx0KIXFFLiFx1eAsAAQT1AQAABBQAAABQ
SwMECgACAAAAtYRsTiXg0wgsAAAALAAAAD4AHABjcnlwdG8vc3VidGxlL3JzYS1nZW5lcmF0ZS1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUCQADxkKIXMZCiFx1eAsAAQT1AQAA
BBQAAABDb3VsZCBub3QgZ2VuZXJhdGUgYSBrZXkgcGFpciwgc3RhdHVzIC00MzA0ClBLAwQUAAIA
CAC2hGxOMDu4sUsAAABoAAAAPAAcAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUCQADx0KIXMdCiFx1eAsAAQT1AQAABBQAAABty7EN
gDAMRNGeKW4fGlawZEuxgDhyLkRsDw0d9X9/S7+Eht3ujuksMQhRdXpUOaBCgaShBtFHa5E0XdaP
44w3skgFZ6Cln9Z/hgdQSwMECgAAAAAAsoRsTgAAAAAAAAAAAAAAAA8AHABjcnlwdG8vd29ya2Vy
cy9VVAkAA79CiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAALKEbE4AAAAAAAAAAAAAAAAW
ABwAY3J5cHRvL3dvcmtlcnMvc3VidGxlL1VUCQADv0KIXFFLiFx1eAsAAQT1AQAABBQAAABQSwME
CgACAAAAsoRsTiXg0wgsAAAALAAAADEAHABjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVy
YXRlLWtleS1zdGRlcnIudHh0VVQJAAO/Qohcv0KIXHV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBn
ZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMgLTQzMDQKUEsDBAoAAAAAALiEbE4AAAAAAAAAAAAA
AAANABwAZGlzcGxheWxpc3RzL1VUCQADzEKIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA
uIRsTgFpy9lWAAAAlAAAADIAHABkaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9y
bXMtc3RkZXJyLnR4dFVUCQADzEKIXMxCiFx1eAsAAQT1AQAABBQAAABzL0osyMhMLnbOzytJrSix
skpPLXEO8dXQVMgsVsjLL1GoTC1RSM7PLUgsyUzKSVUozyzJUHDJLC7ISaz0ySwGaghKTc4vSkkt
0uNyRzerGM0sIs0BAFBLAwQUAAIACAC4hGxOfI0up1AAAACYAAAAKQAcAGRpc3BsYXlsaXN0cy9s
YXllci1kaXNwYXktbGlzdC1zdGRlcnIudHh0VVQJAAPMQohczEKIXHV4CwABBPUBAAAEFAAAAHMv
SizIyEwuds7PK0mtKLGySk8tcQ7x1dBUyCxWyMsvUahMLVFIzs8tSCzJTMpJVSjPLMlQcMksLshJ
rPTJLAZqCEpNzi9KSS3S43KnolkAUEsDBAoAAAAAAMCEbE4AAAAAAAAAAAAAAAAIABwAZWRpdGlu
Zy9VVAkAA9dCiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAMSEbE4AAAAAAAAAAAAAAAAU
ABwAZWRpdGluZy9leGVjQ29tbWFuZC9VVAkAA+BCiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAL2EbE6F869WQwAAAIYAAABBABwAZWRpdGluZy9leGVjQ29tbWFuZC9jbGlwYm9hcmQtYWNj
ZXNzLXdpdGgtdXNlci1nZXN0dXJlLXN0ZGVyci50eHRVVAkAA9ZCiFzWQohcdXgLAAEE9QEAAAQU
AAAAy80vLU71zS9LDclXSEvMzElNUSgBsjLzUhQSFUoSi9JTSxTKMlPLFRJLFIwN9QzAQEfX0NDc
FMrhyiXBCHMTrEYAAFBLAwQUAAIACADEhGxO3g8WjrMAAABbAgAAOgAcAGVkaXRpbmcvZXhlY0Nv
bW1hbmQvcGFzdGUtYW5kLW1hdGNoLXN0eWxlLWV2ZW50LXN0ZGVyci50eHRVVAkAA+BCiFzgQohc
dXgLAAEE9QEAAAQUAAAAzc7NDsFAFMXxvac4OytNp02p7kQixEeEERKxuPTSSWrazFwNby8svAAL
6/NPzi8KVb8Txh0VQXWzOM3CNEh6MbZ8nBrR7GV1s5bdPur2lMqSNFXJAe1BXZf8ijBwp8I0jJq8
8LEil0MeNbdhPGwlIDRUmhwbPYEXZ+wlAIZkX5tnQU5COFcOZGHspw1a0TeysZ7P/oa04J3GypwK
aL4LRpW7kqBRQfg/xPX6/bJ8W/RPKE9QSwMECgAAAAAAvIRsTgAAAAAAAAAAAAAAAAwAHABlZGl0
aW5nL21hYy9VVAkAA9RCiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAALyEbE4AAAAAAAAA
AAAAAAAXABwAZWRpdGluZy9tYWMvcGFzdGVib2FyZC9VVAkAA9RCiFxRS4hcdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIALyEbE4ithrZewAAAIsAAAAyABwAZWRpdGluZy9tYWMvcGFzdGVib2FyZC90
ZXh0LXByZWNvbXBvc2VkLXN0ZGVyci50eHRVVAkAA9RCiFzUQohcdXgLAAEE9QEAAAQUAAAAPcqx
CsIwFAXQ3a+4W6eGJqVJk9VJBBEbcRCHVxolIC+SRMG/Fx2cz1GdtG3Xt1JBatcbN2ghjcUpzNtY
fSj18GQO+ay06awbRmPHC5rdNNUc+bafE+XFvx+hQSzgVEF40T0uOPoNyi8JYE38tRIqFqqEa8og
RuT/FasPUEsDBAoAAAAAAMqEbE4AAAAAAAAAAAAAAAATABwAZWRpdGluZy9wYXN0ZWJvYXJkL1VU
CQAD60KIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAwIRsTm79chepAAAA0AEAACUAHABl
ZGl0aW5nL3Bhc3RlYm9hcmQvMzk3Njg3Mi1zdGRlcnIudHh0VVQJAAPXQohc10KIXHV4CwABBPUB
AAAEFAAAAM3OvQrCMBSG4d2r+DanlqRVa7uJIIo/g0QUxOHUHjWgaUmORe9eXLwBHZzfd3gSpfNI
pZFOoAdFmhX9PNaqhy2XcyuGg6zvzrHfJ4NM5UV/mOXDA7qjprnye8LIHy+2ZTQUhMuafAV5NtyF
DXC1gNDS1VbYmBmCeOvOMTAm926BBRUJ4VR7kIN1nzfuJN/Ipma5+BvSincGa3u8wPBDMKn9jQSt
jtXviS9QSwMEFAACAAgAwoRsTs9URl6CAAAAkgAAADYAHABlZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1pbWFnZS13aXRoLWFsdC10ZXh0LXN0ZGVyci50eHRVVAkAA9xCiFzcQohcdXgLAAEE9QEAAAQU
AAAAPcq9CsIwFAbQ3af4tk4taVr7k1URRHAoEQVxuKVXCchtSa6Cby8uzudYU/a5qfLSomxc1TlT
F3VlcebxENRz0uElwvFqm9b0bt21fXdDduSLx+B3WyyUlMeZ4gT9LJwhJMisILzpGSac/B5JY5BH
AWxIfpZYMZES7nMECYL8b7H6AlBLAwQUAAIACADFhGxOnm0nGYAAAACSAAAASQAcAGVkaXRpbmcv
cGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWdldC1kYXRhLW5vbi1ub3JtYWxpemVkLXR5cGVzLXN0
ZGVyci50eHRVVAkAA+FCiFzhQohcdXgLAAEE9QEAAAQUAAAAPcqxDoIwEAbg3af4NyZIAQXazTgZ
nQjEwTgc4TBNyNG0p4lvb1ycv68ypc1NnZcVysbVnTO2qO0eN54uXgdO2r9EON6rpjXWHbrWdg9k
xxBWxthfESgpTxvFGfoJnMEnyKYgvGn1M8bhjKTRy7MATiQ/S6yYSQnLFkECL/9b7L5QSwMEFAAC
AAgAyoRsTjKGYmyiAAAAKwEAAEIAHABlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtaW1hZ2UtZG9l
cy1ub3QtcmV2ZWFsLWZpbGUtdXJsLXN0ZGVyci50eHRVVAkAA+tCiFzrQohcdXgLAAEE9QEAAAQU
AAAArc4/C4JAHIfxvVfx3ZyU8yz1XANBigg5MYiGE686kFPufgm9+/4MTUFL8/MMH85iEbIkjDni
tEjyIhYRSzO0utsYktpTfbNWuyNPMyaKVZ6J/ITgmZt661tDV2lo0H7fjcr18j7pAMbDjgSFWQ2m
RyMreHLGXiJgreyreU3oFSmcRwdlYeznjRb8qyn/Zdrpg4SsyhLzMmKYlCf9VoH+wnoAUEsDBBQA
AgAIAK2JbE6fCaoHywsAACVPAAANABwAZXJyb3JfbG9nLnR4dFVUCQADJUuIXKFCiFx1eAsAAQT1
AQAABBQAAADtXOtv4zYS/35/BS+4dhOgelCiJErAokgdXzfXbTaXZLsfFouFLNM2N7KoinQed7j/
/YaSnciJJNt5NU2DALKlUDPD+c2TlPX5ZMbQr3GBsIOwH7lBZHtmSKlvU+TYOPyCPkuZRudxkcHX
nA+R4/uO/wXtvoP/2n4ENwamDX84IsSNbCRZccYKlLBC8RFPYsUQlyhGvd2la9s/xZInPZFJVcQ8
UzLSI96+RSdHH/vo7z/u/O1zi2hh6K4jWriWaEPBJDr4cIJ4lqSzIUNxhvb30PmEJxM0jVUygf+r
CVvcm8VT1iSZb9phSHy7Q7KgkowGboT2M64idMyk5CJDvRjYaC1lQqFEZCM+nhVsiD5PQDEw7Pj9
fGQ58Eszf2zbto9X839y0CrR6FqiPTVo2MbEJgvJpvn0a16wkShOI4CCJ+yWjDb2Ab7dXANhOSYx
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
AAEE9QEAAAQUAAAAUEsDBAoAAAAAANGEbE4AAAAAAAAAAAAAAAAJABwAZmFzdC9jc3MvVVQJAAP5
QohcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADRhGxO2wjTQjsAAAA/AAAAKQAcAGZhc3Qv
Y3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQJAAP5Qohc+UKIXHV4CwABBPUB
AAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCory
k1OLi1NT9LgAUEsDBAoAAAAAAOuEbE4AAAAAAAAAAAAAAAAMABwAZmFzdC9ldmVudHMvVVQJAAMp
Q4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADbhGxOWCpndTkAAABDAAAAMgAcAGZhc3Qv
ZXZlbnRzL2Rpc3BsYXktbm9uZS1vbi1mb2N1cy1jcmFzaC1zdGRlcnIudHh0VVQJAAMNQ4hcDUOI
XHV4CwABBPUBAAAEFAAAAMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUS
SxQMDQwM9AzAQMcUzuQCAFBLAwQUAAIACADrhGxOMLVt4zkAAABDAAAAKwAcAGZhc3QvZXZlbnRz
L21vdXNlLWZvY3VzLWltYWdlbWFwLXN0ZGVyci50eHRVVAkAAylDiFwpQ4hcdXgLAAEE9QEAAAQU
AAAAy80vLU71zS9LDclXSEvMzElNUSgBsjLzUhQSFUoSi9JTSxTKMlPLFRJLFMwNDPQMwEBH1xDO
5gIAUEsDBAoAAAAAAOCEbE4AAAAAAAAAAAAAAAAMABwAZmFzdC9mcmFtZXMvVVQJAAMTQ4hcUUuI
XHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADghGxO2wjTQjsAAAA/AAAALwAcAGZhc3QvZnJhbWVz
L2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQJAAMTQ4hcE0OIXHV4CwABBPUB
AAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCory
k1OLi1NT9LgAUEsDBAoAAAAAAOWEbE4AAAAAAAAAAAAAAAAMABwAZmFzdC9pbWFnZXMvVVQJAAMe
Q4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADlhGxOIY+9ODIAAAAzAAAALAAcAGZhc3Qv
aW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQJAAMeQ4hcHkOIXHV4CwAB
BPUBAAAEFAAAAHPLSSxJdUlNzk9JtVJIAdGZeekKqUVF+UVWCpl5yflFRanJJQopiSWJCskZqcnZ
elwAUEsDBAoAAAAAAOSEbE4AAAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJAAMbQ4hcUUuI
XHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADahGxO2wjTQjsAAAA/AAAAUgAcAGZhc3QvbG9hZGVy
L2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBs
YWNlLXN0ZGVyci50eHRVVAkAAwxDiFwMQ4hcdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSss
TS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMEFAACAAgA3IRs
TtsI00I7AAAAPwAAAFMAHABmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxv
Y2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQADEEOIXBBDiFx1
eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJS
M/PSFQqK8pNTi4tTU/S4AFBLAwQUAAIACADkhGxO2wjTQjsAAAA/AAAALQAcAGZhc3QvbG9hZGVy
L3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUCQADG0OIXBtDiFx1eAsAAQT1AQAA
BBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNT
i4tTU/S4AFBLAwQKAAAAAADxhGxOAAAAAAAAAAAAAAAACQAcAGZhc3QveHNsL1VUCQADNUOIXFFL
iFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA8IRsTk77IPiIAAAA5wAAACUAHABmYXN0L3hzbC90
cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQJAAMzQ4hcM0OIXHV4CwABBPUBAAAEFAAAAKWO
sQ7CMAxE936Ff6B4YMsME2wgOrutKyI5ceU4Uvl7AuUPWE4n38nvJk1rFPKoGdhMLcAShb8SEPGh
UhMXPJETnocbDjxeouOVXlr9zsULLlQctyJoXLTa1Orb0/pZp0O7gsTMcAQWTpwdYlrVvGtJ2C0E
qJnGBnUFUZp/8P/Q/f6c58+G7g1QSwMEFAACAAgA8IRsTv2iLmSPAAAA7gAAACcAHABmYXN0L3hz
bC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAAzNDiFwzQ4hcdXgLAAEE9QEAAAQU
AAAAnY4xDsIwDEX3nsIXKB7YMsMEG4jObuuKSE5cOY5Ubk+gnIDly/9/23qTpjUKedQMbKYWYInC
XwmI+FCpiQueyAnPww0HHi/R8UovrX7n4gUXKo5bETQuWm1q6815P9Lcx7SqeV8tHloGEjPDEVg4
cXbY2641YR8hQM00NgBXEKX5B/InRtZSp+fnRbsT6d5QSwMEFAACAAgA8IRsTrK7xmeHAAAANAEA
ACQAHABmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAkAAzNDiFwzQ4hcdXgL
AAEE9QEAAAQUAAAAzY4xDsIwDEX3nsIXAIu1M0ywUdE5pK5qyYmjxEHt7Uk4BcP/w5e+3vMaEosz
1giUs+YRVhb61YiIL5UaqODVmcPb/MSZ3nc2fLhDq01UrODqiuFepMdOXqNRtOlIdN4sCAhHgguQ
UGg7tFuqNnD8OOEFWteG0wyBbNOl8VUH/39ae39hl/sCUEsDBBQAAgAIAPCEbE5kVeJbLwEAABwC
AAAiABwAZmFzdC94c2wveHNsdC1tYXgtZGVwdGgtc3RkZXJyLnR4dFVUCQADNEOIXDRDiFx1eAsA
AQT1AQAABBQAAABNkMtuwjAQRff5ipHYQKXgpPSZHRJdla5A0C4n8US48iOyxy38fR1U5CxsHc3Y
994ZHy0rQ0DeO99ArzRdr0YIcXA6Ggpig4zi7bgTR2rfFYstXlzkPQUOosfA4hz0eLg0eC4lDXxa
ntho0MoSrIA0GbIMOAz6UiozOM+hGD+sx8rnbrvfkxk0MjWwhsFxeq1Qg7K9sooJ+L8Nnrrog3IW
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
1nT10AU0SUbktzO4xfxCLuRCYWhbr/p/+8ekLzolKxw9tPOwa7qLvohP5tQp1W62dSPXdrumaZRO
ySwrlVHilA2KshGlCpErzK5wzTOTiZO3JJ1o9ADLQH75AFBLAwQUAAIACAD7hGxOKXVBfpQAAACO
AQAAQwAcAGh0dHAvdGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1y
YWlzaW5nLXN0ZGVyci50eHRVVAkAA0pDiFxKQ4hcdXgLAAEE9QEAAAQUAAAA1Y9BCsIwEEX3nuIf
QIpIV92VUtyoFbJwPSa/NFiTkKSe34ibIl7AxcAw//Me0w1nNRx7nHql2kPfYLaO2DdoQ5itlmy9
60RPhE0wDJHlRlPhMlMSsZRRjE+refXxzphgXcoUU226b/aKiQ/0Ic6OTBnaL7OB8xk3YmQuodmW
XcvbkNfVSQwE9a5GZAreJf5Q/ecbL1BLAwQUAAIACAD7hGxOXeyF7pQAAACOAQAASQAcAGh0dHAv
dGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXRpbWVy
LXN0ZGVyci50eHRVVAkAA0pDiFxKQ4hcdXgLAAEE9QEAAAQUAAAA1Y9BCsIwEEX3nuIfQIpCV92V
UtyoFbJwPSa/NFiTkKSe34ibIl7AxcAw//Me0w1nNRx7nHql2kPfYLaO2DdoQ5itlmy960RPhE0w
DJHlRlPhMlMSsZRRjE+refXxzphgXcoUU226b/aKiQ/0Ic6OTBnaL7OB8xk3YmQuodmWXcvbkNfV
SQwE9a5GZAreJf5Q/ecbL1BLAwQUAAIACAD9hGxO62qeSpkAAADqAQAALwAcAGh0dHAvdGVzdHMv
YXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi1zdGRlcnIudHh0VVQJAANOQ4hcTkOIXHV4CwABBPUB
AAAEFAAAAO2PQQrCMBBF957iH0CKSlfdlVLcqBWycB2TXwzGJCSp5zfqwiIewcXAMH94n9cNBzHs
eux7Idpt38AaR2watCFYo2Q23nVSXQiToBkiy426wtFSJmIqIxjvRvHk45UxwbiUKXW16L7ZMybe
0Jt0ZmTKUH6yGs5nnImRuYR6WXYlnw15/nqRGhL1qkZkCt4l/qh6aaz/Gh+NB1BLAwQUAAIACAAA
hWxOBTW8oFgAAABcAAAALQAcAGh0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtc3Rk
ZXJyLnR4dFVUCQADT0OIXE9DiFx1eAsAAQT1AQAABBQAAAANyL0KgCAYBdC9p7hP4NDYFiEt/YFD
s+iFPhITtZ4/h7Ocad/Mvmis2phx1gOCRKIfMKYUxNkqT5ysuwgp8EyZ7egVjkBbiLcxzJ84nk++
mQsklkrrVfcDUEsDBAoAAAAAAAGFbE4AAAAAAAAAAAAAAAARABwAaHR0cC90ZXN0cy9jYWNoZS9V
VAkAA1JDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAAGFbE4AAAAAAAAAAAAAAAAcABwA
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL1VUCQADUkOIXFFLiFx1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAAYVsTqXQMSrHAAAA/QAAADwAHABodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
cmVkaXJlY3QtY2hhaW4tbGltaXRzLXN0ZGVyci50eHRVVAkAA1JDiFxSQ4hcdXgLAAEE9QEAAAQU
AAAAXY7BasMwEETv+Yo95RZrbSexYzAlBNMWnAbqS69C2lYiitaRZPr7VSm5lL0MA/Peni5v02Uc
4DxM0/F56GBkqUFJ7znBJzvH33DjQJCM9FAhBNI2kEqWfVyd/q8/zuNLSvM73ReK6cFxv0yT+06I
smoKzFd2LSIKJZUhoW28bv5ioMhLUBTFw7RRRlpfzGZ+cuS/kukrXC/eZsWr7g/1tsZd2bT7ul0H
6TXf+nJ/aNot7hD0kj9nkCoDIyj2KbCD7FHXWKx+AFBLAwQKAAAAAAD5hGxOAAAAAAAAAAAAAAAA
HQAcAGh0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvVVQJAANFQ4hcUUuIXHV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAD4hGxOfu8TNnEAAAB1AAAAQAAcAGh0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvaW5qZWN0ZWQtc2NyaXB0LWNhbGxiYWNrLXN0ZGVyci50eHRVVAkAA0RDiFxEQ4hcdXgL
AAEE9QEAAAQUAAAAHcVBCsIwEAXQvaf4F2hp0jYmOYALBYVWcCEuoo46EJOSTO8v+DZPd8o1Xd8o
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
d0QqcDjDZel1R2B6qntmFC+Wcz8E1Mkczld5UFORAUrneqDOI7NpbsymYqPZFKjZpC6ah2ZTaMym
uDWbWrOpNZtas+mbmk1PJ9uxpoG45qDP9RTZBXfbNJMnuDjdH9/KXp3JHDxKsqPLUDERkuzW7m2u
dPK3crD+FnaHtq22rbattq22rbattq22rbattq22rbatP2pbLVtg217bXtte217bXtte217bXtte
217b3rNs74vOD3S2Pz/Qcho/eLHbdA+uVc/BhV6NS+NuvTTdxg/ddO3Ge3DqWZlOjSvjbb0yL5uf
N7fxHrx6Vma3xpXxt1+Z5t+Z5nvo1LIytlXnSbWd7c8QbvyEX7f5HnZrWhrnv3964jjJJs6S3eLU
yBcvdmQUNzj2GzfspCez8593Hp7j+1N0c3F+h5MYn3iyJs6BffHiz45lBogDXuVi+YFB6uGZnx/o
FnMS3txLG2sHoe/c3uz8mN7e3J/IxXdPHYtuW00cBVsOae1gdPnj9oYnBbvVoTVwWLptf91pr+cY
duW49LPb9ON7LFN2fh9en+PXV3l0Jg+4fICGTkD9IoH4cmuB6DaOvN1uTeKqTmC8uz0wtpqeOK/5
HuyalqZOZNzdHn91Gp+4xt8az61paWqExrvW9virxqis7f++h0l/8dhqWD7b+i1DWqKKzdvLkSXA
t6aScn5+Or28X2nn9OLkJoNuXJ5cL6v2k9t1Ot2X3Zd+V/5Zu75WUVJx3pycXssgf76/+yjarDyc
fagnst+dp+eXn853TnY+19EOB/MEMLGdRk9sH5aHtJuhym8nBCfO5gHLF/K1DnrrI+y5TDvLma6c
Y5/dncvj3e3cS6c71lPT4zU6PRwhIGw5xkfn2puR4hoZq/yw6poXMxsXJ7KBsN2emoXO7zILyyfH
mOQHR7X1066QZmUD4HV66oF3G33gvSpaX19vDmyLZx6d3AmM/nnn0+XZ+e2P/P/zj+lYDTymjkAf
lP2LJcKfWzzV4O4yu7w5ub+9+3nn7PLTyuh64tmaEGyrcejzyViqdlZDZkrNujW6mX2Q8d3eLadj
7/YOzx3d7N3JowiE2IBKqjfiYtGFsw8n9+kFBzS6LYc0wxYwk/iCpt752Wq//+eHv+8sVe9f//FD
jQbarv0cYiOe13gPdcEhp8a1cZ5BcMRr3pR5WdPS1Gie77rPIDri7TbeQ02eE7tG83y3hsBV4+LG
b9xz4tfkObHrNM/9ZxAe8RvXZn5NnhOnxsjV7vaRq07jwVi/+feyJhjgCAwIF5f366GPJ4MdThNG
sxnDWqyjobiG83Xm7rmMsBLW+NYBi93tAxZ+45jLbxxz+TVhLqdOzLV9SMTu/P85UJ3Ot3Kger7V
8d2OBQfqrutscqCa16t+D6qz23pQn5ge12o9qDILzvfmQeUlTz2x961cqDqy38uH6na+Xx+qu9v6
UL+9D3WBzKXfx4XafQ4uVL9xZ5BfkzPIqdHj0LWegQu107gzqFOTM8it0ePQtZ+BC7XT+HvZqckZ
5NYYeOg6zyDDvNO4M6hTk4Xn1mgEd91n4ELtNO6f6NTkn3BrDDx0vWfgQu00DgM6NcEAV2BAevv+
w/X5/Tlg3V/++nnI7W1pLq/3841dkN3toyROTUrFE33/P1BLAwQKAAAAAAAjhWxOAAAAAAAAAAAA
AAAAEAAcAGh0dHAvdGVzdHMvbWlzYy9VVAkAA5JDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIACOFbE4VNTWSegAAALwAAAAqABwAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1z
dGRlcnIudHh0VVQJAAOSQ4hckkOIXHV4CwABBPUBAAAEFAAAAI2OQQ7DIAwE73mFP0Ag7aEVvyHE
VSwZjIyR+vwS5QPVXlY7h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5P
h6PSRM0NpXVuwFQRnoCMBavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAAAAiF
bE4AAAAAAAAAAAAAAAAWABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUCQADX0OIXFFLiFx1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAAYVsTvmcp/toAAAAagAAAC4AHABodHRwL3Rlc3RzL25hdmln
YXRpb24vYW5jaG9yLWdvYmFjay1zdGRlcnIudHh0VVQJAANSQ4hcUkOIXHV4CwABBPUBAAAEFAAA
ADMyMLTUNTDWNTRSMDSzMjGwMjDSMzM0UUjOz9VLLCjISdULT03yziwBUc75eSWpeSV6LqllqTn5
BblAdrSRuYGhoZWZmamJYayCX7BTaUlJfp5jXmZuYklmfl6xa15iUk5qiq2fPxcAUEsDBBQAAgAI
AAiFbE7bCNNCOwAAAD8AAAA3ABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFuY2hv
ci1yZWxvYWQtc3RkZXJyLnR4dFVUCQADX0OIXF9DiFx1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJ
V0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAA
AABBhWxOAAAAAAAAAAAAAAAAFAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAPKQ4hcUUuIXHV4
CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAEhWxOAAAAAAAAAAAAAAAAHgAcAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY2xpcGJvYXJkL1VUCQADWEOIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgABIVs
TtIpwEeAAAAAkgAAAFMAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jb3B5LXBhc3Rl
LXVybC1hY3Jvc3Mtb3JpZ2luLXNhbml0aXplcy11cmwtc3RkZXJyLnR4dFVUCQADWEOIXFhDiFx1
eAsAAQT1AQAABBQAAAA9yrEOgjAQBuDdp/g3JkgLAtLNOBmdCMTBOBzhME3I0bSniW9vXJy/rzS2
y02V2xK2cXvjzKGoqwY3ni5eB07av0Q43sumrStXd8a2D2THEFbG2F8RKClPG8UZ+gmcwSfIpiC8
afUzxuGMpNHLswBOJD9LrJhJCcsWQQIv/1vsvlBLAwQKAAAAAAAbhWxOAAAAAAAAAAAAAAAAKgAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUCQADhUOIXFFLiFx1
eAsAAQT1AQAABBQAAABQSwMECgAAAAAABYVsTgAAAAAAAAAAAAAAAEIAHABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ibG9jay1hbGwtbWl4ZWQtY29udGVudC9VVAkA
A1lDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAWFbE5GujankgAAAGIBAABnABwAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvY2stYWxsLW1peGVkLWNv
bnRlbnQvaW5zZWN1cmUtY3NzLWluLW1haW4tZnJhbWUtc3RkZXJyLnR4dFVUCQADWUOIXFlDiFx1
eAsAAQT1AQAABBQAAADVjsEOgjAQRO9+xd44QYsXDTclxIuKSb+grJvQWCjpLon9exH5CTPJnGbm
Td3eTXtt4NYYc7o0FZx9wBc9YXDvxTGMQqNALzJVSpX7Q6EXldVRa62YcI5OklrD9S+rInGYIxIr
luSpQGboCO3MBFn3nc+t9/nayTdABnaayEYGN4L0BNsYmA0Bj+AdpmJX/9vhD1BLAwQKAAAAAAAG
hWxOAAAAAAAAAAAAAAAARAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvVVQJAANcQ4hcUUuIXHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAAGhWxOnFtNe5AAAACcAAAAfgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1yZWRpcmVj
dC1odHRwcy10by1odHRwLXNjcmlwdC1pbi1pZnJhbWUtc3RkZXJyLnR4dFVUCQADXEOIXFxDiFx1
eAsAAQT1AQAABBQAAAAdx00LgjAYAOB7v+I9FuTaprn0qkWQSLSiQ3RY+hbDfcgc9feLntvDKSsS
miaMA8vLjJaMEyFS6LwlahwNkis+DjqSFuPHh0G7F6nxjcaPFl288VzwrBS5yNd3aOXl1EicJu3d
6p/KO4dd/B325/MRjFc9PJU22MN8qHYyBlR2G4IPtbdKOymbJSTFhvLF7AtQSwMEFAACAAgAG4Vs
TmOqrGyCAAAAqAAAAEAAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAOFQ4hchUOIXHV4CwABBPUBAAAEFAAAAC2NQQrD
MAwE73mFXhA7vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLu
McZgyJcW7yFLdVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2v
MUSbguxqTdTxmr5QSwMEFAACAAgAG4VsTmOqrGyCAAAAqAAAAFIAHABodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1z
dGRlcnIudHh0VVQJAAOFQ4hchUOIXHV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+
ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtD
uOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwME
FAACAAgADoVsTig8kqPLAAAAKgIAAEIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jYWNoZWQtaW1hZ2VzLXBhcmFsbGVsLXN0ZGVyci50eHRVVAkAA2xDiFxsQ4hcdXgLAAEE9QEA
AAQUAAAAxZAxD4IwEIV3f8UtupUWHCQkxpAGXVQGfkEtVRorR9oSw7+3QHQw7uZuepf73svj5bkq
jwWciqrKD0UGpdU33ULjfZdRalAK06DzWcpSBtpBix6EMfhUNVwGyKVUzhGOrbdoSD5eyMyIFvwb
zkU7/hsUNeiHuKm3T5xsIhYmDj6MUadkb7UfqFUOexss6ORJ9JXgDO+abjdpXMhGrWZ1O+KW63yZ
7MN+wgdlxK5qZcSwTRiDulfgEcSUHuScHgJI3t2P3P8vJf17KS9QSwMECgACAAAAFYVsTnZvmFJF
AAAARQAAAE8AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50
LXdyaXRlLWFzeW5jLWRlbGVnYXRlcy1zdGRlcnIudHh0VVQJAAN6Q4hcekOIXHV4CwABBPUBAAAE
FAAAAENPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJl
c291cmNlOiBhYmUucG5nClBLAwQKAAIAAAAWhWxOwa55yEYAAABGAAAAPwAcAGh0dHAvdGVzdHMv
c2VjdXJpdHkvZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUtc3RkZXJyLnR4dFVUCQAD
e0OIXHtDiFx1eAsAAQT1AQAABBQAAABDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTY6IE5vdCBhbGxv
d2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6IGFiZS5wbmcKUEsDBAoAAgAAABqFbE5Vsnd0RgAA
AEYAAAAyABwAaHR0cC90ZXN0cy9zZWN1cml0eS9wYXN0ZWJvYXJkLWZpbGUtdXJsLXN0ZGVyci50
eHRVVAkAA4NDiFyDQ4hcdXgLAAEE9QEAAAQUAAAAUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBVUkwg
ZnJvbSB0aGUgd2ViIHByb2Nlc3M6ICdmaWxlOi8vL2V0Yy9wYXNzd2QnClBLAwQUAAIACABBhWxO
YEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1l
bnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADykOIXMpDiFx1eAsAAQT1AQAABBQAAADt
jjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXi
re36S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/Pp
X8hyuj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBAoAAAAAADmFbE4AAAAAAAAAAAAAAAAa
ABwAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9VVAkAA75DiFxRS4hcdXgLAAEE9QEAAAQUAAAA
UEsDBBQAAgAIADmFbE7jzWuD5AAAAJMBAABGABwAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9y
ZWRpcmVjdC1jcm9zcy1vcmlnaW4tc3luYy1kb3VibGUtc3RkZXJyLnR4dFVUCQADvkOIXL5DiFx1
eAsAAQT1AQAABBQAAACNkMFqwzAQRO/5iv0By04uKYJSjDHtIakhvvSqykskutW6kkzrv68c6dBL
oOgimGXezHTD6zicejj349g+9xLIOoTDUULnOYSKvb1aBx4n61FHyw4ig4lxlnVNrBUZDlE+NE1T
/3zSJnj8WjDE2mPgxWsM6TfTKpIMEzqLE7yvxX7I9pdyCqNR3rorzExWrxKKXnj7w1E06e1vPLAB
HEdQRPydTVudcKHq2EXPVLWbUhhi192t+nY+vSTCJQcHrdzmS6ymO03/VsvDiNnMT4unx3+tsOC2
orqlBZ3TgjaoP4LY/QJQSwMECgAAAAAAE4VsTgAAAAAAAAAAAAAAAAkAHABodHRwL3dwdC9VVAkA
A3ZDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAABOFbE4AAAAAAAAAAAAAAAAQABwAaHR0
cC93cHQvYmVhY29uL1VUCQADdkOIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAE4VsTgAA
AAAAAAAAAAAAABUAHABodHRwL3dwdC9iZWFjb24vY29ycy9VVAkAA3ZDiFxRS4hcdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIABOFbE45/7nzWQEAADYDAAA1ABwAaHR0cC93cHQvYmVhY29uL2NvcnMv
Y29ycy1yZWRpcmVjdC1mYWlsdXJlLXN0ZGVyci50eHRVVAkAA3ZDiFx2Q4hcdXgLAAEE9QEAAAQU
AAAA1ZKxboMwEIb3PoUX2AAbkpAioYjSpKrahioMHStjnGCJ+pBtVOXtawJh6tB2q+zh1518/3d3
zot9WTxv0cu2LLOHbYLuOGUgUfb6iBiVEgxqgdaoMaZLgoCEsY/tIcl6jXHwxqsnYYLq8iZQXEOv
GNdW1UJxZvzuvLnqd22o6XUa4dithaZtC585KF3IA9cdSM33YF4VP7bi1Bi3BUaNAJkOzk6UOeHO
3tnfRgYCGxoZrBgprJg55qDXXetaIifazeZOdE+ccMU+aqu63pZZiUEyUi05PsYeJQviLVbx2rtd
YuyFmNcYRyTEZOmjXIHWHihxEhJd+7TMyMAvB/YN5maGTIlrAVOL54o6/Qma+7ehp/9g6i6DXpqU
oJpLwWtUnac1FOMaDhMGKhuqhDyhDlrBzgma8tNehkbbBrS57AUJjYavfiEci2bMtqK9HKRR0HrZ
kJk8/JsvUEsDBBQAAgAIAEOJbE7bQHYFvgUAALsQAAAKABwAaHR0cGQuY29uZlVUCQADXkqIXCVL
iFx1eAsAAQT1AQAABBQAAACtV21v2zYQ/jz9Cs6Fga2Y5MRNWq8IDKSO02RJ6sx2GmBJatASLbGW
SI6kEttb99t3pPwiS44aYHOASDw+z93p7kgeB0Q+EtnnXKNaI1Wy5jhXqSYzNKExed/QiWjckvEF
1c41DU5BBrCNsBFpLQJP0KDmDHwuyQeO5bMwZRBjgwArQ5oQnmr0Zm/PuSBEHMf0kaAec67wbD3u
kz9TorRC+3nUirp/CM5SNhBYkoH9DgAa/pbk0BloLPUWYKn3lsuplR3uGWmHM0Z8TTlT10R2IhoH
xjD8HOeS4+CKByl8GU41pywgs1GSCWI6JjPiN7DAfkSaDRCP1iBP8Tw5ZXQWVBEtoEDCvk+UGvk8
EVhXWs0Di0pSHbGRScF3/F6idtAXL6IvnqdHXOnv0w2qQKfMj9Og0vQSUiDGPAR32ISGVdwNqkCP
CA6gQqq4S0iBqFRcRYLpAiGBoq5imPliTBWt9MzMFyh+SKsYMF0gMBJyTbFZFFXEHMwoeJVPXYJD
kmBRmbslplT3djFWV7yFFIkxxdU0AyiQJHmSVFcmYQkpEEUk3q1Yy1+RDGODMkTn6HyyJP6YiGQk
JJnAPrRU0HZ+yBdFaX53bWxgxsJRY2Wh7TjZvvcJJwTtN995e/C3Dz6cUAlbHZdz1Gg7xuOesIFE
52bTIgqd8jjmT4N5cknZVKGrNNb0MyVPCnXBfOfjOSDtglOWfmzQPbAkaUDMKFMqYWlANmDul4Cw
+QaKJpInZga8XfsC7h7bHcycINZlL9LZngYuG6FC/6Dal3vvp7uz6OFuqB/+vjsJHu4G6mFk/v1c
az9v9wReNmaNZAAFqyZz6+5Rw+oHF24U6WDGGfVxbJ2AQ+kMtiQG75ecT1OhUG8yMWdCeEkeSYye
sGSO05WSS5BtH33ESM0G4+mZrlnSKZcJhvO2HqF6jOopqmt0X6vL+xqqtxWqj83orz6ZEEnkNwpi
Mwa3pHscEqaNqIZgkx9TRoKXaayfWEbC2RZ+YwW5bVS/qcEqsIJtlLWNM9s1ZF9WlTWgIcM6lTZM
udrerDK/vV2R2xi7r/lZ2o6D4BKzMAUDKMDIC6YlMYuRx+KSmDDkEVYWaxCTkngikTeRZZNQb0EZ
DQn2SNlkZKpzje5EWCowdz7oua3W4a9uC3lU8ey1xKXgF7RURfFX+OaveJfK5l6z6f52DdNUlWhT
+JypfJZ20beuuNPyFzMIGyuHjXEQ85JYQCAEf/aLm5kZUQ6VgM8VeofYHUszA4/SZKwXyIvTktyH
GPm4nCQFSSqHRj0iTz2WlQDaB/1+mSFT5Mmy2UXkDm+RBw/9VIzABxoerjZ+5K1G3hheitDb808n
vduBu9883Afzwr4UQZ3r1tu3a32+gNGzQTembNg3Pq8wF73zlttfqZly2nJLRXLTGUDeVpjUV81d
iIM84qCEGJ5Cta8RetJyLGR7nec7hOVyN79VgK8l5XC0zs1KhqUPyxw0wzoN7PqD9QJrA+ocKhOq
EOopqx1IlqkTqAnIP+R6mZut7Wbp7XAuoC8QIoZt3TjRmLlwLUCeDhdrTJf5PKAsRDPXtNASzh3k
/bFjNlxQgbxwsU0/wyyI4dyBLspVvqSm7OEdKjzedgPuV+ZOlMB6UuZRVKDszuoKE99ghSmDWOBi
5VJlG8GqPda2Hps9dkco7AXNBRw4G4mXAcdYvwToKp5Kn1jFaldlBFTmK2LdDdhOBGWXKBus7HXl
XynJMDGaxDi0Pb89dhXibHtKRVzqEReEjTQMYboibKtub+lcPxt2WQjHrjntckK4OgYITtPu7zfd
wXB01R2e9U6+oS/D/nGnmwf2jXLvNXLR3elDwfhnKnWKY9NroNfvWwcHbzLDO1s4OzG43Hhz1Mjx
Qd0r5xU6hpQQVwni0wn17Z1ezZUmCRKS6+yu6wFy2VvVpJL+/9FC5dpL07B5r++9e8/0T4HpUf+L
hVyv+C9QSwMECgAAAAAAOYVsTgAAAAAAAAAAAAAAAAkAHABpbXBvcnRlZC9VVAkAA71DiFxRS4hc
dXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAABuFbE4AAAAAAAAAAAAAAAAPABwAaW1wb3J0ZWQvYmxp
bmsvVVQJAAOGQ4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAbhWxOAAAAAAAAAAAAAAAA
FAAcAGltcG9ydGVkL2JsaW5rL2Zhc3QvVVQJAAOGQ4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAAAchWxOAAAAAAAAAAAAAAAAGgAcAGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvVVQJAAOH
Q4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAbhWxOAAAAAAAAAAAAAAAAIQAcAGltcG9y
dGVkL2JsaW5rL2Zhc3QvZm9ybXMvYnV0dG9uL1VUCQADhkOIXFFLiFx1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAG4VsTsch79s3AAAAQAAAAEcAHABpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2J1
dHRvbi9idXR0b24tcmVzZXQtZm9jdXMtYnktbW91c2Utc3RkZXJyLnR4dFVUCQADhkOIXIZDiFx1
eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksU
LAwM9AzAQAfG4AIAUEsDBAoAAAAAABuFbE4AAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvYmxpbmsv
ZmFzdC9mb3Jtcy9yYW5nZS9VVAkAA4ZDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIABuF
bE7HIe/bNwAAAEAAAAA/ABwAaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS1m
b2N1cy1ieS1tb3VzZS1zdGRlcnIudHh0VVQJAAOGQ4hchkOIXHV4CwABBPUBAAAEFAAAAMvNLy1O
9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxQsDAz0DMBAB8bgAgBQSwMECgAA
AAAAHIVsTgAAAAAAAAAAAAAAACEAHABpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL3N1Ym1pdC9V
VAkAA4dDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAByFbE7HIe/bNwAAAEAAAABBABwA
aW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9zdWJtaXQvc3VibWl0LWZvY3VzLWJ5LW1vdXNlLXN0
ZGVyci50eHRVVAkAA4dDiFyHQ4hcdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvMzElNUSgB
sjLzUhQSFUoSi9JTSxTKMlPLFRJLFCwMDPQMwEAHxuACAFBLAwQKAAAAAAA5hWxOAAAAAAAAAAAA
AAAADQAcAGltcG9ydGVkL3czYy9VVAkAA71DiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
AMmFbE4AAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAkA
A8lEiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAADmFbE4AAAAAAAAAAAAAAAAtABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQJAAO9Q4hcUUuIXHV4
CwABBPUBAAAEFAAAAFBLAwQKAAAAAABFhWxOAAAAAAAAAAAAAAAAOQAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUCQAD0UOIXFFLiFx1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAOYVsTo80GnBEAAAAoAkAAF8AHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0Et
T0FFUC5odHRwcy5hbnktc3RkZXJyLnR4dFVUCQADvUOIXL1DiFx1eAsAAQT1AQAABBQAAABzzi/N
SVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdlTtqNpRtaNqR9WO
qh1VS3O1AFBLAwQUAAIACAA7hWxOjzQacEQAAACgCQAAZgAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQS1PQUVQLmh0
dHBzLmFueS53b3JrZXItc3RkZXJyLnR4dFVUCQADwkOIXMJDiFx1eAsAAQT1AQAABBQAAABzzi/N
SVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdlTtqNpRtaNqR9WO
qh1VS3O1AFBLAwQUAAIACAA9hWxOVALJsjYAAADAAgAAXgAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQS1QU1MuaHR0
cHMuYW55LXN0ZGVyci50eHRVVAkAA8ZDiFzGQ4hcdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhP
zUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnaQqQUAUEsDBBQAAgAIAEGFbE5U
AsmyNgAAAMACAABlABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9B
UEkvZ2VuZXJhdGVLZXkvZmFpbHVyZXNfUlNBLVBTUy5odHRwcy5hbnkud29ya2VyLXN0ZGVyci50
eHRVVAkAA8pDiFzKQ4hcdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhPzUstSixJVUhUyE6tVChI
zCzSUSguSSwpLVbQNTE2MOFyHlU7qnaQqQUAUEsDBBQAAgAIAEOFbE5UAsmyNgAAAMACAABoABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkv
ZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUuaHR0cHMuYW55LXN0ZGVyci50eHRVVAkAA85DiFzO
Q4hcdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhPzUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQ
NTE2MOFyHlU7qnaQqQUAUEsDBBQAAgAIAEWFbE5UAsmyNgAAAMACAABvABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvZmFpbHVyZXNfUlNB
U1NBLVBLQ1MxLXYxXzUuaHR0cHMuYW55Lndvcmtlci1zdGRlcnIudHh0VVQJAAPRQ4hc0UOIXHV4
CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDh
ch5VO6p2kKkFAFBLAwQKAAAAAABPhWxOAAAAAAAAAAAAAAAAJwAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL1VUCQAD5kOIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAT4VsTgAAAAAAAAAAAAAAAC8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9oZWFkZXJzL1VUCQAD5kOIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAT4VsTgAA
AAAAAAAAAAAAAE0AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9oZWFk
ZXJzL2hlYWRlci1jb250ZW50LXR5cGUtYWN0dWFsLnR4dFVUCQAD5kOIXOZDiFx1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAT4VsTqRBrTGUAAAAgwEAAE8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9oZWFkZXJzL2hlYWRlci1jb250ZW50LXR5cGUtZXhwZWN0ZWQudHh0
VVQJAAPmQ4hc5kOIXHV4CwABBPUBAAAEFAAAAJ3MSw6CQBAE0P2copaa6BFcSMRoomBwcN9A80lg
xvQ0MdxeEj2AuK2qV+ZE4jgExCJesLLna5zmdr3BMKfUMHZwY98b821gOShK75SdbnV6MlqmigX1
7AmFryYElc41n6l2A1fwo5oktVme/HSwF6EpGuua5dHxC3/aRS7qfbEIHL0MB1JahPLscmeSsr2R
0BBgzBtQSwMECgAAAAAAYIVsTgAAAAAAAAAAAAAAACYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL1VUCQADBESIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAV4Vs
TgAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9VVAkAA/ZDiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFuFbE4AAAAAAAAAAAAAAAAw
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvVVQJAAP+
Q4hcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABVhWxOBgF4PSkBAAAaDwAATwAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL2Jsb2NrLW1pbWUtYXMt
c2NyaXB0LXN0ZGVyci50eHRVVAkAA/FDiFzxQ4hcdXgLAAEE9QEAAAQUAAAA1ZbBasMwEETv/Yo9
9eYovQVDKCWYUqgbqL9AldbxBlsS1tqJ/76JQ1swceiplc4zQm9Aq9nN9q3YvmaQZ0Xx9Jyl8I5l
51EDW8Ajqo4RKmaXClFbJevKek5Xq+VSlMiqEtKRaNHbrlXohVctOU4OxFVSodTYLtzwqKxhNLw2
1iTYOB7uG2pwzXhkoXwP0sPlIHygkqfb4VsiD8YyyC9D/pJnwIPDxd3m/8hlp8mKQyUZe2yv8E8M
IaeQVJazCUYxZPqGNM3Sj2KY9D1pvPmCJoaQU8ieZgOctZDZy3qe/ayFyU6N3KHY0bXB/dFCZt87
3M3Cj2LI9DfmdmIIJEWcrRtvV8XbU/FvObH2U6zdFO/fHmujxr9H/lGj1mQQHlIoLtbanjj0b22f
UEsDBBQAAgAIAFqFbE69F8vxGQEAAFsEAABPABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvYmFzaWMvbW9kZS1zYW1lLW9yaWdpbi5hbnktc3RkZXJyLnR4dFVUCQAD
+0OIXPtDiFx1eAsAAQT1AQAABBQAAADVktFKwzAUhu/3FOdmXkmzdgNnYUiZnQjTiWUPENLUBtOc
kJyCj28ytSLCoEMRSUjCSfL9+fmz3t1Xu20Jd2VVFTdlDloZCWmWw0aSaKF4uAXBjUECjbyGlsj6
nDGNgusWPeWXi8WcNfEw41YxJz32TkjPCG1CL5RM1idoBIk0u0hmoaX5cjmbjZTYG88bCZxIdpaA
8A29f9yeYOEqHiWFZnW4O50X02wT+kAIlcgIpQMlzIETxoEU1u+sM4G9oVUKjcMO0KknZT4cf74o
Ok7gGjuujD8H65BQoPbATQ0WHXnoek/Q8SCXTL77/6n0fsV63cuYCBdh24NAQw41iFaKZz8+y1Ff
5aufwc4ACJWI+BdJ/rnx4zm+AlBLAwQUAAIACABbhWxOZvSNlp8AAADnAwAASwAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL3NjaGVtZS1hYm91dC5hbnkt
c3RkZXJyLnR4dFVUCQAD/kOIXP5DiFx1eAsAAQT1AQAABBQAAADtzksKwkAQRdG5q3grcCpkFkL8
gBohbqBTXSZN2qrYH8Hdmw2oUwU3cO+pmmPb7Gsc6rYtN3UB74SxKlAFjREaXO8EgW+ZY4owgaHi
H4h5mjQktrhowPZ8Pi0X1avWmhMNKE87kBHRBK/GwnSaU9F5IyNsZiSFIeL5SiopqAcNTGN8E/4j
fw3p5G68s0vS67dTZ9DF9d+uzOJIg3xgPgFQSwMECgAAAAAAY4VsTgAAAAAAAAAAAAAAAC8AHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL1VUCQADCkSIXFFL
iFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAV4VsTlRnAjsVAgAAcwsAAEkAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtb3JpZ2luLmFueS1zdGRl
cnIudHh0VVQJAAP2Q4hc9kOIXHV4CwABBPUBAAAEFAAAAN2WW2vbQBCF3/sr9iV+G2tnL9KuwRTh
OmmhrQNun8NeLRPFMpZCm3/flU3Tuhji1JRiI6GHlZiz8zFHZyezz/PZxyn5NJ3Py5vpiMw2y8Vy
RaquW4+yrG6cqaum7UZKUUqWLVk1HTF13XwLntgnUjoX2hYmzarbNDWU/RvY1Ri+mfxZ/Dp0riLl
7QfizKqvVDfG/9RCVgxpunCrlcX+28ysl9kmtM3jJulk602I9XJRdcP109uuuQ+rsZbUSWdzUBo9
iFhQsJQFiA65zr3i6N3gwXy/M4swpoNmu7VxL3nFyyt2ne5n4bTSSw+2/d09hK5qfDu+mX4h/jGQ
riFm2y1xu26Jq4K7bw/0+f8g7mnhsRB51DH6KEFwmYPQxoHJvQDKqLLeGOtVeAHis/AOIp4zxL1J
PBpiIX1AJylgHhkIgzlo6yJwrq0U6EQU+LpJPF+I7R5FLQQ/lqLU1IrcIUSOmChqAQZtehQ+p4WQ
tgj8MMX2IMZe+6wx/hJ7DUbFKUqlPNBk5ORor0BHiyCDKlig1BeRvoTxd0ufNca/DhcRFGNRpF8i
Opso5gIs9xa4j7n1ljMM4rRwuZ3NL56iwYQJmQNrY9GnSx/RmkNa5EEH9CleTqP4flq+u3SKSqXR
Q6PBR5YcbaQD5bgEdMnpWltL+amz+PXiR9FT5Zhkycvcp9OOsxZMoBGoliznuWIW6b8+Lf4AUEsD
BBQAAgAIAGGFbE7AudGc+wIAADAWAABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMuYW55LXN0ZGVyci50eHRVVAkA
AwZEiFwGRIhcdXgLAAEE9QEAAAQUAAAA1ZhNi9xGEIbv+RU67a12+qP6a2EJxmxCwLEN+wOW6upq
z+LJaBhpiP3vUzLYh+SQQ18sdOlDqxs9VL3vW3r74f3zh3dP059Pz89vfn96mD5epZ9ePx3X6SrL
ZT4vMr0u03lep+XGLMvSb6df3v77rd9k5eP05uMfE9N523yaqU3Hdb08HA7WpXujj33I2ZhD3/Ye
6PJ60Bvm21UPPVy+33p/+frrOn+W8yMLl2xLBkSxgJ4M1GoTpGo4sZGKLd/9RV9e6JM8mjs6nea/
X45CTa7L4xfosx4MP869+7F6WVZab8ujN2ZqN5nWeaJvHzbxfF6v82nio/Dn5f6/X/nTsIlS2GUO
YIwXwIgCVHwFrGirV0LJtTE2drdskJNhbAGycbLVDUOOrgLFGDF0I80OsnG7ZWNDKjFECylv1RKN
V0qUwcdkc0HfS5cxNn63bLw0Q4IJOm09VUyE2gwCS3XSLRexPMYGd8smiDGxswMOmQBNTJCpJLBS
YiKqPaIfYxP2qzcmZtUVgVqMsimBgZIWT8YcaiHrXHVjbOJu2TjbrEPO4Ch1QOuUDatZhVQt1mQr
NRxjk3bLpqNgdFHdyWW/9RSqRalZNcJEnrO4Msgm75ZNyskmax30xBsbW6B0bTGhHhsiSR3TYtxx
9mvZOusaQ7dVc3EPHajWDC365IprmTONsdlv9lOt1ewXCBKrDKPX4qHURM2Kuybj0Dn0MTb7zX5Y
MvVu1afUo7SnTNGVKk9OwVHPXrNPGGOz3+yXkoudJIIr0gBdIZ01VZBTCFRsIOzixtjsN/v5yD5p
CAZ17AiooxWQqQjlW/DrlGORMTY7zn4BdQp3BbSFik7f28wQqULB2KqvnU0uI2zCjrU4mx5yTwGY
fNJcXDQSJ+lgouTmUZe1jrHZrxaTBhn0FEA4aN3kWIFE841pNTjWscHWNsZmv1osauDMHEBHp+3n
n9d2Eudh0+dgoteJIoyx2a8WW/Q+Oq5QQxVlEwPU1pVSitYIS+LOY2z+T4v/AVBLAwQUAAIACABi
hWxOxd11KLEBAAAgBwAATAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAkAAwdEiFwHRIhcdXgLAAEE
9QEAAAQUAAAA3ZRNj9MwEIbv/AqfuE1jO7ZjV1qhqAQWab9EiziisT3eVBuS0Lhi++9Jt5wQhxWL
UIV8G4/H7/POaFa3N+vbq4ZdN+t1/b5ZsmvK7RDZ2+aq2TRsO7F+yAy7bvhOkfkDq0OgaYLV0Ofd
0EF9vIHTo2nxavVruXeUQ8vquw8sYH8s1Q0YWZvzuCwKIasFn49YWst5kY65BY7bYkfTsN/NHxXj
jlK3vW/zYjy8ycMD9RclCZGEN2BKY0Bp7cFpL0FZLS0mT6Gi11/x8Qve0wVncU8sDwyfdLNw0s1C
S+Hhd4J/8t992pwlvPeJu8pIkKgcqDJV4MukIAptiCcXglYvh683q8uzxBcUTXRooURt544TAjrL
QXlJVeJcKF29GP+m+Xyeg59EJVEb4DYJUI48eK4QpLAmqChktPbP4T/Stz1NmbWEkXYsbamL7BHy
HINTTDzXlcun9H/kCve+jN5z8EbMriRuwCFV81xEitJaskb/ZVeOtNRn2BxGOktPJDcBU6xAV55A
kTKAKDVwraJTMqnS4H+7IoOyynOuIepy3hHJEjhjSghIkeblWXrlnw3/A1BLAwQUAAIACABjhWxO
8CrOxukCAABxFgAAVQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2NvcnMvY29ycy1yZWRpcmVjdC1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAkAAwpEiFwKRIhc
dXgLAAEE9QEAAAQUAAAA7ZjbattAEEDf+xX7Er+NvfdLwBQTkrbQNqX5gLCX2djEtVJLJsnfd5TQ
tBRjiu1CaYWNZNayPJzRnBnp7PLj1eX7c/bh/Opq9ub8lH3GrxtsOzbHWHDN6gKXhT3Avcps0bJV
07G4XDb3WFh6ZLOcsW3hrFl162YJs/4bePv0y3b86uzXc19gl+ds9ukdy3HVn2rZxMLmXXd3OpkI
6cacXuLUe84ntT92Eu8WkzW2zWZNfzS5W2NdLm7m3fju8fWX+HAdb3DKR11zi6tpleiFtg5yQQ86
GQMxGw05uFhclAKrG62xLNaYu+u2i92mnSouRssmx27RrKZ9ICdqdiIv6P0SDq30AdHSU0i0p6Bo
m5t1S7vxmDYvIdLnn4Mc5Waz6qaClQ2yrmHxiRfLz7xYnmO+3Qbqb07Cd4R9Dp7Jc1109FggYlag
ORoIlAqIxeSiAxYRzOhHun4/B/3qct603SE5+LfZK2sKXdoerENinySHlE0Ahzx5iUJUk47BXvz3
7HfKp0irg9cZEFWkEgiW5IMOuOOl6hKdSWoLfDnI59ACQIGCO+chBdpoKSrJJwTgGo33SmASfmcB
yEE+e7OXzlXSDwgXDGiUGnzwtrd/CkEnykw6BvtBPjvlo4vHpAKCkD5TD3A0+TjnQFSZlPXWBrtN
PmqQz6EFYLNxktOoU/vxR0tXIQZPLsqVmm8l+0u5swDUIJ992VepTEpag7KWrvrqMnhhA5jCreLZ
V+nFMdgP8tkpH56sFVYpCAp7+WQBkRuEXEviSH2BGsQW+G6Qz6EFQBe6MDxp6r61gvaJ942Xg+Gq
aMcjQVY7C8AN8tmbfSXpxCJBoE2gVZZAwrHAJdLNsOfBKXEM9oN8dsrHm/7pApk/R/UkH5p8ahFA
Y7+TyeiqXN4C3w/yObQAgnLFVpOp+0oJOlSEKKoG65TGQNN/dWFnAfhBPvuy1zT4RKMV3fL2z3y0
IflESy4qqabkhXbyKOz/iHy+AVBLAwQKAAAAAABdhWxOAAAAAAAAAAAAAAAAMwAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvY29udGVudC10eXBlL1VUCQADAUSIXFFLiFx1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAXYVsTmzXwSBlAQAAug0AAEsAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2NvbnRlbnQtdHlwZS9zY3JpcHQud2luZG93LXN0ZGVy
ci50eHRVVAkAAwFEiFwBRIhcdXgLAAEE9QEAAAQUAAAA7ZVRa8IwEMff9ykOoX3TdhFBCjK0q2Mw
J6x72NvI0qvt6JKSpFq//eKs2IJjuofBIC8hOf4cdz/+dwmXj/HyIYJFFMfTuyiAJ0wrhQloAVgj
qzRCpnUZeF4hGC0yoXQwHvu+l6JmmccE18h1X29L9CQqUUmGqhMelNubNS0qnDiEaKy1Q+bvdE0V
k3lpHsR1G/lEYZEOlJY5X82l+Ij2BSRxo/Sd4e3uJMSJiDMmzjQ0d6AK9rngDRk11UPvpR82FTyb
CgLgQvE8TXuwMeJVvkYOlCeQawVtIeTKSDXQQ8LF/SKCryauwr8k1WAyzR5JWUzfYPI7hrKYWpiU
6b3A1wxpgtLdQ6sNrtrt+MzSu4yeM5yxjEqF2lDY5DwRG9W/JiNisV664lo/wXC2+wzaJrXUfqTW
8LKozpzbrsW2u8goPAZPufL0qHdy2YH/vXVRSiEtr7MW5BlW7NjZrtHLvPiPeH0CUEsDBAoAAAAA
AGCFbE4AAAAAAAAAAAAAAAAuABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9ub3NuaWZmL1VUCQADBESIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAYIVsTv84C9oD
AQAA8AUAAE8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYv
cGFyc2luZy1ub3NuaWZmLndpbmRvdy1zdGRlcnIudHh0VVQJAAMERIhcBESIXHV4CwABBPUBAAAE
FAAAAOWRUUvDMBCA3/0V5yCwCV2zbpNREKm1k4Jtxe7B15pdbWAkpbnq9u+tXQb6ssc9WDiOkHy5
3HcJszTPniNIojwPniIfXrFsDW6BNOAeRUsIFVHtu+5Oi2JXaUP+asW5WyKJylXaKFmWboNGt41A
c9qZ1od7u7x7c0KtCBU5m0ONTlaT1MqwecA8nmZ5Gq/XUBgwopE1wTuKomsBRn+v+WDLjeCrgz/k
Jyoo1BYkGfgNgjQdSlCcCiZxEgF1J9Or8BK6e0fYdqjXfdnE3bNHXcv8J91zv2sZ5oU/seDMmzNv
0edlH7dsGR3zzXgynsxm10MbDX9kPDgPDm4kD4MzDi9k/A1QSwMEFAACAAgAYIVsTvCJWo/AAAAA
rgQAAD8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc2Ny
aXB0LXN0ZGVyci50eHRVVAkAAwREiFwERIhcdXgLAAEE9QEAAAQUAAAA3ZHBisJAEETvfkUh7FEn
7EkCIhKiLGwUjAev49gxI3EmpDsa/94RFPwBPeTc1Y96VLJe5ev/FFma5/NlGmNDRct0gHhQR6YV
QilSx0pV3uiq9CzxZBJFqiAxpXKenS0K1RD7tjHE6sTj+gbNYNPYWrAnowMRw90o8U7IyWh7qynG
83WIawgf7YUctDvACuM9CMshKtAvYPaXpZBwGQ+Sz7SfPejTPjh0fZAQ6uTnd1HKuerFJsGlT7uc
2Lsv6dwBUEsDBBQAAgAIAGCFbE5vx6LSzwAAABQJAABDABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUCQADBESIXARE
iFx1eAsAAQT1AQAABBQAAADtzz9vwkAMh+G9n8JLlQkOdUKRqqpKU1SJwHAMrNfD6aU67Cg2f/Lt
SRFrWcNwu/Xz8xbrlV0vS6hKa98XZQ4fzQ6IFVrXCYJoH1ECooJTyIJqmxsT2bsYWDSfz2czU6P6
YIiFmro2HQofOo9ivMi07TP4Ru8OwxgxQWEtVF9VCdq3KOA6vH5zMfIJd3AKSJBtJwWTIulkM1zl
cJvOoBH4aY5I06ciuf9xv/0JX5N+PP058cfkP798poSxExTPOlQE3ccU8kghv8KUQu6GXABQSwME
CgAAAAAAh4VsTgAAAAAAAAAAAAAAACUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvVVQJAANORIhcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABqhWxOAAAAAAAAAAAA
AAAALgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9VVAkA
AxhEiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGqFbE4AAAAAAAAAAAAAAAA2ABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvVVQJAAMY
RIhcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABrhWxOAAAAAAAAAAAAAAAATQAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2Nh
dGlvbi1pbnRlcmZhY2UvVVQJAAMZRIhcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABrhWxO
Of5Iz04AAAB/AAAAewAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wtc2V0
dGVyLW5vbi1icm9rZW4tc3RkZXJyLnR4dFVUCQADGUSIXBlEiFx1eAsAAQT1AQAABBQAAABz9vcL
9vdxVfB1DQ52dHe1UvDLL1FIzMnJL09NUSjJV8jJT0wBEsmJOQpFqcX5pUXJqVYKxclFmQUlqsau
XM7kaE/KSczL1ssoyc3hAgBQSwMECgACAAAAaoVsTiDAbBxAAAAAQAAAAIEAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24t
aW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvY29sLXNldHRlci1ub24tYnJva2VuLXdlaXJkLXN0ZGVy
ci50eHRVVAkAAxhEiFwYRIhcdXgLAAEE9QEAAAQUAAAAQ09OU09MRSBNRVNTQUdFOiBOb3QgYWxs
b3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiBibGFuay5odG1sClBLAwQKAAAAAACHhWxOAAAA
AAAAAAAAAAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvVVQJAANORIhcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACHhWxOAAAAAAAAAAAAAAAA
QAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9VVAkAA05EiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIeFbE4AAAAA
AAAAAAAAAABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9VVAkAA05EiFxRS4hcdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAIeFbE51vKmiTgEAAMICAAB8ABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUt
ZWxlbWVudC9zYW5kYm94LWFzY2lpLWNhc2UtaW5zZW5zaXRpdmUtc3RkZXJyLnR4dFVUCQADTkSI
XE5EiFx1eAsAAQT1AQAABBQAAACdkbFOwzAQhvc+xSlLpiQtYijZoIpYgA5hrxz72lh17Mh3aftY
vAELvBeOmw6IIiQmS/b9/r//v9X6pV4/VfBc1fX9Y1WC0RZhsSih8t55OLbaIPTCk7Y74BYhJWFV
404pCGavm4GxhFQY444ZiQ4z5z/edtqmoAmEBW0PwmgFkwy2Ruzy2eqq783d/3w/36XXPdN/PBe3
y+BaT5NCSiSCg3ZGsHa2hAfj5B4VCNj6EC+4Q9Iy92VRhBdhWkdcLpfzeRIGXDf9MFL/rcgBXkO0
81iDURTlwS8kmfBHc6vACLmnWEXyrW0dyk5+i3ihp1gQ4AnlMOYKFUF6FapouTMFYScsa0kFdg0q
hSqTzjJaLgJBpiNyhga78YqGvnc+nGfgTeTbnD3z8b80pJNiIIz8yslh1KU0Rf+RNS58SnlZbY++
06HZEZ7AOgZCzmdfUEsDBAoAAAAAAMmFbE4AAAAAAAAAAAAAAAAwABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvVVQJAAPJRIhcUUuIXHV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAAD1hWxOAAAAAAAAAAAAAAAAPwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1VUCQADHkWIXFFLiFx1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAyYVsTuwom3btAAAAvwIAAGQAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1mcmFt
ZS1yZXNvdXJjZS5odHRwcy1zdGRlcnIudHh0VVQJAAPJRIhcyUSIXHV4CwABBPUBAAAEFAAAAN2Q
TWrDMBCF9z2FNunOVvMDpYZQglGyaZOFC10LaYJNFY0zGtvk9p3UpAvnAIUigeY9Rvqepjzsq8Ob
Ue+mqjY7U6gtsKtND5FzgtRi9J8N14rAQdODVzYqIEIq1MelBTOWe2RlQ8BBGhil+dxBYjkTduTg
oZxSShuj3AlovaqZ21RoHdDZUGPi4mW1WuoE1DcOsgHpCyhNtL69nfTxmjg7kj1BdnP1KLG1kuT1
hB7WETOHlB47Cusf5Gy5mS22sueL5/xJ1lycK1qsCfzOEeM3gNRjBOtEJaFEJgx5e8nvP/5Pxjs0
0ePw9/P9BlBLAwQUAAIACADKhWxOcgV4dMMAAADYBQAAaAAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qt
Y3NzLWltYWdlcy5odHRwcy1zdGRlcnIudHh0VVQJAAPMRIhczESIXHV4CwABBPUBAAAEFAAAANXQ
vw6CMBAG8N2n6AtIKQUpLMYQdPHPwOBM2jMQsTXXA+Pby4yrDr2bbrnvy6+6nJvLsWanuml2h7pk
eyDd1RNYihD801lz7aljCBr6CQxrLQNEhyUbrYFbb8GsquWTqrXWERtca1hH9PQl54PT7dA5T2WR
ppJ7wKnXsH45vAP6xc3nbDeiBs/N+Hi8twSeRJYlqUxlXighou/Uv1UXSR7F84rwqv9SvShUqOrz
hKmuYpHLMNXn6uGqS5WFqi7VJlp9AFBLAwQUAAIACADMhWxOIDKHq3QBAAAtKwAAZwAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QtcmVzb3VyY2VzLmh0dHBzLXN0ZGVyci50eHRVVAkAA89EiFzPRIhcdXgL
AAEE9QEAAAQUAAAA1dq9asMwFIbhvVehG2hsSZb8s5QQ3FLoH2TobGwVmyZSkJWU3n1Dx3Rrm5YX
T16sh4Pg45zj1ePD+vGuFffter28aRtx7VI/tgfn0yK6eRf88DylUUTXu+ngBtF54WIMsRF7P7iX
ybvhYnX6kVXnfUhiE7pBjCnt5ibLNqHvNmOYU1MXhc5mFw9T7y7fQnx1cT55z45nh33s3ZwN++32
/Sq5OcnF15POxpWqXOTHR36bq/6S+/PqalZ1C1Z1DYtrWZehZHErFrdm3V2Zw7wS5lWs6ythySYL
mBeWbdLCvCXMC4s3WcP6ihzmheWbguWb0rD6wlo3Bcs3Bcs3Bcs3VcG8sP5Nw/o3Dcs3TRtMwvJN
w/JNny3fPj8ilk+3oj+P3GLlJVZeYeU1VV7kWLnEyhVWrrHy4n/kv7CNNFi5xcpLrLzCymuq3MC6
SgPrKg2sqzSwraCBbQWNgXlhU1MDm5oa2NTUwLaCFrYVtLC/Oe0x3z4AUEsDBBQAAgAIAM6FbE5N
TouQIAIAAJsyAABkABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMtc3RkZXJyLnR4
dFVUCQAD00SIXNNEiFx1eAsAAQT1AQAABBQAAADtmtFq2zAUhu/3FOcmuSg4bpOyMUMoxnPGYFtG
M+i1Jp/GoorkSXJC3n6yVby0a1YyAs3cQ3IhH8nS/3+JjhBSNv+6mH/O4Uu+WKQf8wSkUAjj8wRm
6HgJ6bdPwJlS2oHUrIDSucomcXwxfjc695+L5P3l5SS2aNaCY7TR5g6NffQcG7S6NhxtfNv0GjHu
yzbiWjmj5ajaXo3eZKTkeSWtgHyNyo38+5VWxY1wJRjkKNZYAFOAxmiTwPdthXkozo1YCtXJlJoz
WWrrWpkgLDROmJR643v4sYU0KMmCkihtaqLQyT5JxISY9JJJFrTWFmEjZMGZKcAz+ot12JSogBss
/EiCSQu3ki0bfM7U+OJg0iwNOqdnR8t0V7WR07ZuMEkH45n/dn8eH2na+NAj6X9EfKCT78t7DAwm
s+FKFzi1bIWRbq0Md2hP9Uq4IVkja6dibTdODnvp8N+WFqOthdCpb/qzRussMIMP1tl2NamtUEvY
EQGtEWg0H7yiPFzXn+Lc/RInkwYIMAEmwASYABNgAkyACTABfo2Aj7aVImtk7dXNeAJMgAkwASbA
BJgAnxDg65aqRWhGDYfL9+NDGL85PtUV8xBf+vwUihrBaQg1cF8DvER+Z8kaWSNrZO341v6jLaTS
Pmps33bGZItSB1mjrHjwPOtu3A0mH87CpOtXIiGDfTL43JWrt75x9tu4f6O517qHilBc1gUSGAJz
MJhfUEsDBBQAAgAIAOGFbE6ZZ8/1ewAAAIsAAABmABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0ZXItY2xvc2VkLXdp
bmRvdy5odHRwcy1zdGRlcnIudHh0VVQJAAP1RIhc9USIXHV4CwABBPUBAAAEFAAAABXMsQ6CMBQF
0N2vuKMuJqzdjGlcUAhInGu5kaelJa8V498bzwecY3Ppm9ribPv+cLIGQSJRVQZDnFwcA0e0mmbJ
RMcnfZEUDa7fhVY1qUGmruJ5S/qi7pUPyYW63WF+54I74V34Lx8pExxWF2SEMrgiK5G9ylIwdPXm
B1BLAwQUAAIACADmhWxO5uQxzq8AAAB0AQAAawAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zZWN1cml0
eS1lcnJvci5odHRwcy1zdGRlcnIudHh0VVQJAAMARYhcAEWIXHV4CwABBPUBAAAEFAAAAMWQTQoC
MQxG93OKbFw6BXXjgIgMoxt/wDlBaeO0TmkkqQ7eXivqwgu4e4GPLy+pD/v2sG1g17TtatNUsKcE
OgQa0EIiOFFm0MBoPaNJniIMzgeEQNr62IFL6SKVUoGMDo4kVfPZbKoE+eYNjgfiHll+ZsUodGWD
oj7N5eW+PL55MZqsv4kXd14S67z+3VCepah/7Wsd4/OArPZHL7BXzM/T5pkSMBQTUwDj0PRSFg9Q
SwMEFAACAAgA9YVsTomB8EdyAAAAdAAAAGsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJzb2NrZXQtaW4tc2VydmljZS13
b3JrZXIuaHR0cHMtc3RkZXJyLnR4dFVUCQADHkWIXB5FiFx1eAsAAQT1AQAABBQAAAAzMjC01DUw
1jU0UjA0szIxtzIx0jM2MVNIzs/VSywoyEnVC09N8s4sAVHO+XklqXklei6pZak5+QW5QHa0kaWZ
gYWVoZGRuZF5rIKzm19qSXl+UbZCcLCPR2JeSnFGYnaqQlpiZk5qioKGrqWFgbkmFwBQSwMECgAA
AAAApIVsTgAAAAAAAAAAAAAAACkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YmF1ZGlvL1VUCQADhESIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAApIVsTgAAAAAAAAAA
AAAAADcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRp
by1hcGkvVVQJAAOERIhcUUuIXHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACkhWxOAAAAAAAAAAAA
AAAAVwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlv
LWFwaS90aGUtY2hhbm5lbG1lcmdlcm5vZGUtaW50ZXJmYWNlL1VUCQADhESIXFFLiFx1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgApIVsTjMPKsRvAAAAegAAAH8AHABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWNoYW5uZWxtZXJnZXJub2Rl
LWludGVyZmFjZS9hdWRpb2NoYW5uZWxtZXJnZXItZGlzY29ubmVjdC1zdGRlcnIudHh0VVQJAAOE
RIhchESIXHV4CwABBPUBAAAEFAAAAHP29wv293FV8HUNDnZ0d7VSyMnMS1UwNbJSCKksSHUtKsov
slIozUtJTQOKpyhkFivk5ZcoJOYp5CdlpSaXKGikliXmlCaWZOalK6gn5+eVpFaU6BWXJBaVBKUC
dRUBxTU0uRSQgF5JRmqeuiYXAFBLAwQKAAAAAACxhWxOAAAAAAAAAAAAAAAAJAAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL1VUCQADnkSIXFFLiFx1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAsIVsTmBI9aqrAAAA7gAAAGMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFk
ZXJzLXN0ZGVyci50eHRVVAkAA5tEiFybRIhcdXgLAAEE9QEAAAQUAAAAdY2xDoIwFEV3v+L9QCmw
SNgMITqAGFlca3nYxqbFvjbRv7eKq7nTvck5txmO49C10LfjuNu3NRhtEcqyhpPH2eibCuCRFmcJ
QRNYF4CilEg0R7Np/uKXvjuEsJzxEZECSGE/qHFiApX2mvOi3GZ5SlFXVZ7zp/I8Pbnok5yL7wWT
zgbvDLsK0jI1T4zEjEZTwIn5Vc4Uigk9ZcsLpogQHKw4/HCQCuWdss0bUEsDBBQAAgAIALCFbE57
JdGLqAAAAOQAAABXABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBsZS1zdGRlcnIudHh0VVQJAAObRIhcm0SI
XHV4CwABBPUBAAAEFAAAAHWOOw7CMBBEe06xF3Cc0BClQ1EEBT+RhjY4C7GwvMa7luD2mE+Lphvp
vZl2v+v3mw62Xd8vV10DznqEedXAIeLF2eskEJEDeUawDJ4EOBmDzJfkZu1f/LTdrEXCEe8JWcAM
/o06GkaYct9oXc0XRZlTNXVdlvoxRZ2XKMUs18NnQhnyEsmp88DWKApi8xGVTYpTCBQFxyI8YUwI
QvCF4AeBmdDcuJi9AFBLAwQUAAIACACwhWxORQ9YtagAAADkAAAAbgAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBvc3Qtd2l0aC1ub24t
Y29ycy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS1zdGRlcnIudHh0VVQJAAObRIhcm0SIXHV4CwAB
BPUBAAAEFAAAAHWOOw7CMBBEe06xF3AcoAClQyiCghBEGtrgLMTC8hrvWoLbYz4tmm6k92bW7b5r
dzU0ddetNnUFznqE+ayCQ8SLs9dRICIH8oxgGTwJcDIGmS/JTdZ/8VOz24qEI94TsoDp/Rt11A8w
5r7SejpbFGXOtFouy1I/xqjzEqWY5br/TChDXiI5de7ZGkVBbD6isklxCoGi4FCEJwwJQQi+EPwg
MCOaGxeTF1BLAwQUAAIACACxhWxO7b785G4AAAB2AAAARAAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1zdGRlcnIudHh0VVQJAAOeRIhc
nkSIXHV4CwABBPUBAAAEFAAAAA3IsQrCMBAG4N2n+J+gqbiUbCJBh9aCWVzD9SDFcFe9K/j4+o3f
Zb7neUyYUs7na4poqzBOx4jnNN7ctwe/dzYHFRF1NC0L6v9jCKLC39WcxbumVFpV8zgMfR+w7AxX
FCI2A6n4RxuoMr2sO/wAUEsDBAoAAAAAALiFbE4AAAAAAAAAAAAAAAAKABwAaW5zcGVjdG9yL1VU
CQADrESIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAsIVsTgAAAAAAAAAAAAAAABIAHABp
bnNwZWN0b3IvY29uc29sZS9VVAkAA5xEiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAK6F
bE5g5/ADZAMAAN0gAAA/ABwAaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1nZXRF
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
BBQAAgAIANaFbE7uXXJFhgAAAPYAAAA7ABwAcGx1Z2lucy9ucHAtc2V0LXdpbmRvdy1jYWxsZWQt
ZHVyaW5nLWRlc3RydWN0aW9uLXN0ZGVyci50eHRVVAkAA+NEiFzjRIhcdXgLAAEE9QEAAAQUAAAA
nY7BCsIwEETvfsV8Rz+gIkgpFPEo6WZtI3FXkk3z+6YHL+LJ6zDz3vQuRPYwRWJLgTcGqWSNDJ0f
TIa6tgaiLkuQpcN4vhxPQ4e+DTsM43ib2K5BvFaQizvsqYlhqxOoEGPm+x68YmkEeM6WCllQOfT/
yqdCxDl/+6vLELXPD19SW/0SvwFQSwMECgAAAAAARIlsTgAAAAAAAAAAAAAAABoAHABweXdlYnNv
Y2tldC53cy5sb2ctZXJyLnR4dFVUCQADYEqIXGBKiFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
RIlsTgAAAAAAAAAAAAAAABoAHABweXdlYnNvY2tldC53cy5sb2ctb3V0LnR4dFVUCQADYEqIXGBK
iFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAARYlsTgAAAAAAAAAAAAAAABsAHABweXdlYnNvY2tl
dC53c3MubG9nLWVyci50eHRVVAkAA2FKiFxhSohcdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAEWJ
bE4AAAAAAAAAAAAAAAAbABwAcHl3ZWJzb2NrZXQud3NzLmxvZy1vdXQudHh0VVQJAANhSohcYUqI
XHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADEiWxORR4ntQQyAACf7wAADAAcAHJlc3VsdHMuaHRt
bFVUCQADUEuIXFdGiFx1eAsAAQT1AQAABBQAAADMPGlz28aS3/UrxvImIFckSPnIIVpKybL8rIpl
uyx687YcrwokhiQiEMBiQFNKov++3XMAc4Gi7Lhq45RIYqZ7evruOfDswYu3J+P/fndKFtUyPdp5
xqqblB7tTPL4hvy1Q+C/ZVTOk+yADEf85yzPqv4sWibpzQF5RdPPtEqmUY+wKGN9RstkpvVjyZ/0
gOzvF9Vo53ZHYD0i/2lg7qd0Vh2QJ8X1SH9a5YV8CICLfQmiY32CWG2I/fApXXKYwhxlkldVvoRp
hI9lhyicpsn0KpqkVHad5mleHpBJuqIC83RVMnxS5ElW0XLkkj0MH0l0VXmQ5VUnLClbpRXrl/m6
S6pYol4vkor2WRFNgfQsX5dRsQnqYJaUrOrns351U1A/jnIZpQJHzHGYMF0JVNHrql+VIJ0ZQByQ
NF/TchoxKkAXvYbGIorjJJsDE4vrRh6faYkSTvtRmsxBD4DN9ajVoj9dJGnc2YfhCBHsAd6sk7ha
HJDHShbwgy6L6gYHE9/sIYeyn3zeX9PJVVL1V6BRoFUpnVY45UzKpb/M//S1AYq4Ag1jKyV9i3rB
DZyBqU0/Pv2OQyPgEYl03sV0mpdRleSZNko4BVAK0PgZJRktlbbB7Bc0mS8qNacQZGMp2LyMbhwr
YSDOFHUMYTR1kKCTaHo1L/NVFvclFq4ObvdkVkZL2iPmw+VcKZEQzU/DoRKwIvcH8cjC9zGOqqhP
r4soi2l8uDuLUkZ3P0lsccKKNLrROPOwyvN0Eil+FDlLBO9myTWNxYjcUh+p8UsxfP2bc10qG28T
NM3SHKSQzftACU1t/flBQbt8KueTqPPo6dMeaf4Mw5+7sn9exrQUOs/yNIkJS8CplXprv4ziZMUa
fxQKfvQnK3Aq2V0S0tgOrtDi+n49b5eSRk9qPidZCtrWn6T59Gpk+mfyGACHyk83jC9pCoz7bLm0
mM4ikLHU5lVZgjabWlqiuPRW/6wFh2wYo2sfReooRDSBWa4Ug7hO9KV3xgfCv+5Ljlc8doASRPNW
1eN9eJc5jf19BfsEiQyGLGjcL1dZhnpFozK96S8pY9GcGrM74KwVMnkYD/VIuJZinORpfKeoam19
bBqa40U24NikJUoVnrSit5yD3lJ7CDXCcLP/D1MaXTHwlpUWQS0Kmj5WjJHR85HyOA/zApWCbeHs
VFeQVLaySPYxxWfCTtagHtYSeqSHwEl+3WeLKM7XokE2Cs8yBG8i/g9/kD6Fh1up5TmE6wTiXfiI
ue4NuTDaaBbSOT5pd29tnEmjSe0ma32SioTiWyRxTDOdizLL6dPPYO1Mj7dyEnVI03GbEn2sCG2x
Djvgtc1KOWEcrYDIkfb/zPOlYyjt4WWoe5Gh4YR//uE70172h478m0c171ROAtpgt2A6Uj9uZ2P7
ND2K+mi4TWDQVRN8P3nqUcsfn3Y3MLLJx7UJ9mcpvYYRtXTLeeqSNUkjOyrVipvDPCGEA5lC8e5W
Zz+5IQNfBF47WYKX3qAPZtTzj66C8nD4nRmUnzSpUMtwR5rD3BjSfHookEFMBf5xbVOcRwNegnHw
gcqIifD8UIY0CKOs2s4EVLXzxEqy6t9y6k/VzLWs/UmTGm6bTCkNa6P0iCwe2eUk/EMfOnQBmVMc
oFqPfNWoEtiPKmtQgu6DWbJpmae8RHo2kHWtqG9JAonsKoMcBWoHGJQ/3D2qe0G3aZkU1dFOMiOd
dZKBeYVI2XtIFWjZlX5c/Q7j1bI4ZmNw7B3gw840jRgjH6okZTtiJqwCXZwC8dV0QdkFr1nyspPl
McRiJn8KtAKAawmMjT1CCdatW7hAabUqM6J36NSYgAgHi1Cxc5OEdpze7ptHAC+xNXq3r44be9/u
6KwrIkxB387GUNrewTfwICBi3okcitEE9Bv42tU6KuK5pMI7hGNOxZrOqG683bGbVyrImRNiFWjY
6TUUkQyMt4Pa9AZSM3sygwEZQ8EMFWh5gwbeI1B/5ZAXkjHUWWxwwRWVDYS4ipsBBKR8VV1yOxqA
BcI4OdaVbICPLkXed7kuwcuWYQEVOSaY5OenoT7ky7N/n58ekPdQI+DkwZOR6HMOHh4QzlYMjBKm
N6PA1CnFRnA3C24QBJJ+UpT5FLJoksF8WLjjshrCZlJ55v5x/xNkjNkckB2Rp17lUX1HNp/vwDz8
5BVCS3dLCCmtgOMxvQZ9Un0gB2LVGT58O+sEYdAdGROV3Q9Jf99WOUnwR4WpR4Lg0wYNqjuGbDVB
tcnmGN35CN0e8bSKwffIftc761lenkbTBdfw1wmremQBYkupY0nHJeQZIYizynFJKZSAIYTE1APt
G6vKOZK6tz2EnKM9EkuTKTXH8aMvk2VHzLoFs2iEegdStSntDP7n4+/s9+to+Gnv7/rbfwzmKATv
CBG7yaad2SqbgumVc2YPw2g1TpYUbK7T6ZLDI/IXwc5hVBQpTBusX8KNyG0P4q1/EChEs/jV+Py1
dDu4GtsaD5KMQU12HP8BE8oqhDJNpaVTJ5hQkCA9zeJAjtBoHU0Z9SGB8IawZO+QQ0jib+soN8Yo
yH3Kjlo8QJez4i40yWZ5j7sBey7VImEhNqCHNsyZtyAgtODHSPNHy+iK8g7gYpLPUUVDnZcJexkl
6QomKON6x2fH4NBWUYqGrAYKxaMR9jC6qvzA6Fw//PtvErw7vrgIrFAoB3hwSIKLX8/eBbb565i5
2gN69Vv4r05AdHdiUq5AxK9WABA06TRQ/xWlK0rymY7EJkxNwCAuTKSL0/B0hV8j33/f1jl4eXz2
OlD9gFM6OGfN+PTf4wAx2A1n58f/Ot1rbT7+8OLsbdD1hGPN5vkapcmP23b/CtpKlVHWOpCw84Rh
oDtOU6HfrNPiYWxFwlkH52cXF2dv/hU4iBeRwizQbou14a1C3UWG9Pc9pL9MwVBuOrx+QgNlpxmu
0cTt9jDOryAGeqzCq2AIV4D10/i3pFqcYTXzNktvpPmdZe9pVTY6KnBDBOaMsSQrG/dFIxd+MPLY
U9MPQNt5ww1SMobr3QOHCYjgTuK7/uSj1hTDV7haZ0jjHQx2L92RXsVwbVhcSBLvrzGc55a6SLx8
/l+MWMjLj/l4FSf5F2OWdu7BDAb0mkZX90f5+vT41xZaT6DWXtxLRifvjy9eBR5pq2TgPsjGZ+en
bz+Mfeg+1FUqV6M7TRotpl2pTOOpQ9kD1e6rjlr6C9FzG3NNDJ4KMAYlBLZ0uu0FlGlVt/e2r3oI
P8cfPGhmAEULr4Iwx7RUAJwyrwDvwGZPy+Sojr9RvAeHLWp3/o0GPDzcEBxk9BGrFXcpacIul6L/
Ja5buzzDJu5D7oWLL4D5kXG3cS9kEUL44uxFFZ+W5d24oOslq2JalgqLL79lngRX7pN6s1tZamNQ
ld+0RJH3mKLX4XYDfT5+Gnla31YLWvpal3oO4YWfgevlcm7Bz1cIMARe8Kl7uwhf1opiZTin1m4z
SEdu7B5mFxDBq6oqVAcrgVNd9GC1oZsWK7VelnT49J/fvJE1CF2TczySYfWSFS83PUOqgn1a1WjA
cLHxoEKZBZdj0+VUtHUdtY2hqtmosTUi7GmYkFj54Sx8kZTbIdFXiy7jpHToWTHKRD3Fj0Cwl0m6
JX0IeUk10MsZwDoDiO4v81LwuGUFxjfC8xsEqVdHPjmo16AxuBNTrgpfNeilOmkA7KzjHQBUoMfg
s7fDhX6l4ECXBUL5fNRvL5LZbHt06xi6O3iQBWjJyIbtWKhpfzinGt+NSV/Klbz3jozEE7/f03Ez
qvfnFb9YsZIINIPDooIvIR4SC8KsB7RGzceb2YXPwYXFCnI8/9iuD/pbUNHE1AU0DURJO7QqfuEL
vYZikdWQnrBTbXVBf+4sYngqDosPVnng4YXrFUXW1Y7RLAz8KG1/fBdOT0ltZ5zWYg8DzDBcVKGH
xpMaaqdM7BOxIoG/4MFIlJG+TPir64qgq+FrIKLfGrSAyLpZRePQnZIZVD0K42aveuLaPnFZkJv2
zNNm6XqpzOZtdnji5z9IlqhMvUm/3s2qQbaYhZPqt6UL/+BkZA3n5WCTaf2DA9aVnndIPXe696CG
sTvZXAs6DczMW0oKThcC0Sy5tj12vUwI6ombStjXt2AJ1veOIwArF5jIL1D4iW97JBgE8BdwdMkB
fowchQqEcQZqkI/Q65NvBVKFgbeTP0BVZGrWZOGdGrjXEGXxswlFrfFLYLfgbt1V8JZMcDMNt0YM
ddJBZPEXimFLxqAgRi1WwGlpNMhhxK2tS2qrLC8rEdQ5nFvzcM3EXnyzBGMg6UQ9MsGTwTL3iHg4
D9Mcz1Sc5Evclu1M+MMuufXujECUadyPmqlvfG1/EMkAMhsy8KFGxgMR2esIPNLG9lZ+J3gag++i
7vxlxGK9FqxPO5ymdEmzSs9z/BWiDQEytR95aram5NN+2bkMW+SrNB7n83lKeZRuwrOVrGEXVcPz
bPkz3x1ptq1dX3S5KrD4eAcQ46TCNMcefrJKUiktNsaYwDp2mbRIYvomz46LIk2m2OXDmdMHssdV
cQEqhZua3sa34sRbx3WBPhLa1so0RoZ20eAzw7pIgLHP5XnRQxLn0xXKDOyMAnukBDtBYe/NeMBD
XF05EWfKCa4IAkW4y06vE0wR+dHU4G4sXHNxszSM4rgTbDzhGnhdhKV/odiZPOGH/D0jdttDpc1Y
LQaLPf7uPYdvNOttRi8ot+1Nw0Bxzn+IXLHPj6kG3e5oGzqFl/zmdPJhgE6+KND/EmqNvOBb0qsP
BBSrGwLb0mml1t+SUnMooFU+2JpWI3X7lpTqAwGd8uc9NcAuc78pweZYQLNYN91eXc1S5psqrDEU
kMof3JO5/qq+XoM3unqqm285P894MEm+s7n9/PQ1D1+kw1WP+HiKSfTrfP46ya7uE+hcaO1ECUQ5
3k4i3oGk+fyAPIvIAtLpw13x8BIeYj2/e2T+fjaIjvRzFwa5p2WZl19KrQ7sI5Ziu0Urf9aQavyU
lOrj3FMbXCbeO3A7M+tu3G8TxTrP8VAxUsgnTvJVVmlpllEZCA19jgoLZQ6mIFhqoQaevehU4tPO
vXjmTBJIUXW486gAVptq6AniUGTyakrFowuDgp4J3hZbAYlel23EYUY7gHypRcONkGbsAcixcqHG
KZDNSHyBAVHB4/itjB8bERheWidCLJ9uhHXdJs7fcK4b4Q2PBKAfXL/VBn/rnPL0KMxHqWHu+r9Z
PnjOvpRaeaB7ijmtpBk9vzmDPNpKdsz16Ac6lu7GhR3PEdtzXOWM0hSMjoqbVIyX2vgthNabCSUm
e4io7UiBq56Ej4pzhAYodWk0XQg0oca6hj6sC07xXgoWCRTcRSfgl6CDno4pFCc6T7ClJ/bPtEnr
HZHUkzxdLbPO0K3BvDWee8BZsiLOxdk+wY0yX80XhN/641WN5zDxA18405e5/Uso16r7KxrFfHe1
VfD8rpaS/oJ3d4o5vixo4fQsgNpd7IovaK2kvNM0lt69NSp22Hqi6kbKXTN1sbpTdft45mpAibPb
xhH/dpHwNQ1xH4cFXUh5+GW0oBvyyxuhvJSFw+DFq2DTypaxgvAt9XKbzaH7MEG7uyJltjUnpHI5
6aXIH1uitbYWFjoLgR7/hgroSQuAFO+qWrhdCjHagF+uh3oQWVPrcWF2nchiQor028p3/CnRnXqj
dAY9PF6mJ8s8pmmPZHlltL14ex4aM8yz9OZika+biKnvtaGOtffQl8uEZqlT/7VS/e+Kljfqustx
mnYCrrN9nFx/irNDpeJf+Ll2x8U097sOfdrLIbFEFJz1HWnG8U4UFua6m/b5+TysjktfS/XMlF8V
F2/eUJi7NoH+zYB7jxJ0LW/H+WK5RBOtrBs119W1fRfel8MxhKvmOb0nwankeRquLJ8TloAJ8Iyr
45FXg0oXWqseKbMSQ/j0QyQqL/Eavr34rFj5JvqczCPgF7+tX2/PAN4GuOvhg7DHDIE6+MdfXhgE
2IeF/KN7+IJtuDojhOmhTJJj8DcvqstaNXyi0Y3H6IyHJ5WNjtzqfZPJew8tf40ZOCawLU7rLk3j
FLlHhP/ri2Qh1BJJwR0goxmDZJjfNxWecNNk/fs/9wqZ4XRBp1fWSR9Z1fItbcySRQrTqXCnwyfI
hZNcWQsNi32dpaK7sbTAUeMuKuk8Y0WUicTi0HLGeD0VGo+62srDw13ZF3W0jwlKnvF8/nB32kRX
5St44Ns94u/FgL7W0oRkoKDP4AgSMs4/vH+t7Tn39ONm7yK1yGVb4DIqChAyc6r6XX6eRtxSZCwd
7B6IR+xgMNh/9GM4hH/7Bz89efJYNPdaoRWkCTgcDv1A66LSQfhe5CJn1cFPADP4jU5+TSoHMsEb
mKA6g/XjKV617ENiVeH7lPoODRbCXb2Ybd3vVWy64ygG3z0F/SxF8d7Bfd7WY9UKJ98TBu1y8NTX
BaGDWqnUaHTuyezioRqY4S4gs4QPT3b5c+/JLed8oqlKrdtywtF+YHRcRlOMS20ujvfWSHoeMYpk
dbo+krwn4vw63o6423b0suni8RUT2TjacrKeoFpSjDNQ6h+6S9CqzYyzalC1iAkirGAMecM7zMt5
0AKwd9gM9wvpBANwoWAH/LCHasATH8FgUuZrBiVjO6IABl1lV4PXDasGenHmxhqNbmem9llXcQbF
la3JcCktcE34Uptx3tCCUnsv3xiBSjBbpSl8+lRTNul2GEjLCLwSW5VpfXam7omK2apcbiLsGbRG
2+4Caqja1GugxuC3uHgh0JhR0qOuLfcv7hYeZDwP0G9ixhlW+YWgtdscvqz5K49f6sLEEH5BS5Do
GXsvNro7/NUrX+1XrMOpwDu8qomoQxADJBghRmHTlqGTLqTaZ941gEBblPzzhXg3l64IM4rHjgF7
j/zFC0iIOFkOmUHJdiEtDiF/ytQFZGMk+fYKxV6YASDRpN4jPqgI8oaqs/tqPH4HaRkyF9IbqDux
ZmWULvmlf0rkwYIeKVIK2ounxXkmpx3UFNsm4n0au0Yq7+QYKIoNcUHqUwDZj5EgZVferGeDYuzK
9MljhVZoQr+yexS4YQQbMIHSEzaeWPlIkYWKzL/I76tHP/y8L9M599KXeHXac/7mtAv42mllhDa2
+Wo2HxFi4UxfhVIEteLh72072pOUthIsM2aRVtdCFH4GyqXVjH/KNyayO8UqX03GBavJqUYJPwRO
Lhy+pNIXJxE9PaX01OBKbCSwtE+tzgp34D8sKXYYl2nrMpbGgULOPujXd7ur6yqAB+o3OLM9w+bu
gbM56YwY5dHKr8CHtwoUNvwebLNxbNyH6FpbqcClvXuxSVyUEJQgOJIinpGtKZKXKb6alrVBxdoZ
X5VKzQsRdtSizBVUxYy9iNhikkdlDO5EHjtl2nFL1r5o+MdKVE38RSp/5AkWZCUNnVUdrEytbYO6
qEgIBkn4eKYdGK0XlcjeXuKcWFYY9w51kI/JJztnrjcC8H6hi530yb5/aU6hD3r+nQ7lBmSGqh3z
V/W6lrAOYsVgNqiZflk/5KJ7CGF+jVcNVhmEinJFv+e12iG6A5pNIYR+eH+Gh1DzDMt0RaN1A8Y5
6ujxCdhD5Cy+VFXc6DLXrkXF375kwNuNm2X4wN5GEekrV2yiToXOynxJcIoNUQ2Wejgs8s0jJ3x1
w/HsoJdyf0S85EWs18j7Gfln/u6fCBKCIiphOOG/f9HWyoH9bfsrWy9Km281TLJixdel+RfxvhX+
NYSYBzTiRVQnt+CRTxJyDli8UuToN2yR6WToosHf4uClvEvYsZ9g3dW8bBH89C9gt1g26U+t22a4
/yqO70Ke+oau8S1NLhPFnH4TL3Ni0WdD0cwVTiGQl+I1a8IhdT1j2oet2Ylk6r1G1k4Jn7ZsTMhR
Rb4BgjYSE598RE8en5WZXcol19OmyciZlUMUOeJMR+HbexOv+uGduV5pyZOANGjEfl3Mnz8K/J+6
VpGZplHB6P/7qSlC7zM5DzsaArwnLfK1f5OoAcMl9tJ9ywj2HfPt1kPEor3KbWTxMOFHpqXavucD
auCmZ+kE+juu1ajW4iXNMI6jp4WMfbj/WAtcDdmWUxYwZk3okua9MdQYDH/V9kWFgcOF7fGtlO3v
LamMQXon5CG4tuMKYgNk+bQT8ASaB1qM9bYEmlDmC27+m6dW4ZzRtRCHPwW75HutatrQ071o2kOy
NcJ0uephTIzkXEfwclb0rbnpheCnLMbyigQetyo7fivf0hRa1SbYC7ZQ5zvtR2y9bKPqG3TzKzRT
PypkBF+TPyKsbvaEaEv2HRj5dirFwibE4gtJ3Mo1MKdi4m7Q2NzyIbKKjzY5ckF6GLjZX27Yb5Nn
OzcrmS9jNWVVonD4hSf+0CnBwScw1yeol/4HBuzoyyxFT2nEjaSvzSzG+tWl/2vv2pvbOHL8//oU
Yya3I0YSJaXurq5CSS6vH4l3YydlO7ebU3SuETmyaFMkd4a0rHP5u18D6CcaPTMkldvdqqvaysqc
bjQa/UKjgR+4XiGenymD4Npvqg3qqvSkmiXmVNsza5OrRpoif8f0xZSwbFgbzHjyMbTC2JfeM+9b
j/C/0QcL/O0AOld9PTsBTGQqUszUV9V3bDW20Sw8+8zJoaqmKeTSXOYDLcXSiQFvXZ3I3DuwcCM3
L9bwuqoNEt7j9evJzWI6ubobpMzMPkv82O98B0LfJZxUXwUOxf3MTbfzG41gpDGBLvpZcQ7/+Pq0
N1jM3vUu4NqUOILtk4iR9Q+E6WmDKM3EESJ29eRZ09xUW/uKGQUWjNtnP/zewlKT8LyuRltJK1E+
WIJ+v+jVa9NZYYfXEyjxXZqA0jNhvNo69XI+4/0yJzYfog1HaBDsDl0ELfDkRRlr1PXQ4rz2VNWQ
Bs8xRQYjam3OTbP0y4ZKZPKmHFsJv6/mdQ1WF+NceHkHbqwYK4pen/V1qZ2cB9kv4E3juao+iA1B
DV4ySE7tjcxRre28BOOGQ4r7zNK0ZF/Q8JFzfbsp2iS2ZaTbJ51iLAeqdL5oCIqpvcMkTXbB3ZWK
B2ah3NfCh5z443I6baI+ZtShPCiG8ECkb3XCTqhqWV9C4Wi7mbxDu93NvEJwWDCKwuQihG/v5gfm
BhQe/n5dZkY1NA8rAyGuwtgzZN4G3jMPv3OCG39w5sfue5EBxGtTdpuoMdsRt2NPJR3enEjCDiKx
Frs2urCL9K031MuQD+FeTodm3u8GVdHWZrDDYZNwgvRFd3wfk5rm276m3w+hktMYKRaqk+FT6+nr
39wTDAMIEJCooYL/MOvzrBcbMwRADeHRhgqn3jDTDba4cKYWrlJq/dntHCeFrcFLmIF5k/KEZz1p
353bxOJhexQowIuEO30PxdCTePcljVW5xQfZj8Kq+J7Go6mExa3owOL2cXcAsRHpS8scPnTZp2Ws
bKhdjulFC6wr4JoHvyVxaq6bGrrORVwaJmbe5lBuadz5cBDDTEMfFmjznDd84SOt316Xs+y2hExW
ow80nBkGUgIYl7uY1uQiBwfJ9RKdQy5B5QCfo7jnY9bzwAbd6pGlOO936SOOPwun7g+7FRz3U6Dh
UWNuhoergcg2u1UlFpKlGAen2BqiWhPs6uoKk35dBv8chEvNlsW7Gic+Ai2TF/9DtstYL63nOveF
ou3BKbvv/PyOQfsiYg+kzBjm7FeTjrfGPRYDfNvgxcC42hlCDzNe+XAwGBwaPTQ4mGh7tMYJ4MD5
zkV92MvywJtR8KmT7nck3HoJDwW+ZIOEItofQorBY3VRkPH8bm2Ak9ad5332yUBGkfQbQ/HOPIBG
jcGN2qQDwBsC5SHEMVD3bp5CwZB6cEqfw+4p6uhI8BAcsIvlKfitDDc1ZeHxhS5CzqsLTVnoSaT5
ANd81SqZrrB5sluxMpENK7bDlQkblo3YDMxW7TfnYUwBDHJtVGzBvJ/yH9lXFOFmQVxZ5xFwKlF/
qz/29pJhp7ba+eRiKEbgmhLIbFTKxNRGirnFzNTdF87luF6WPyIYdKo0lANWBzCumqsmRRwG2vhf
wayW9PKObLHe3Adj1tlMYC2BT5c2Ukjub0X9n2RYfxQYeFPTLXx84rmE4eLUu8jSkxqjaRNt8sEf
qQO0Mghmuw3oZhJ8RkcctA4QkQ+aWmYsN90My/BZoxu3dbm0EuhAfD/79ujoqAP431s174iWDVLE
VESJdwRKU2QPBMwW8D36vQgvmJTwKI8y0uYQWeCSqzGdJ2mCDUTzTNsIE3xa4/ZMyAzn1OV0d/AD
rE/ilPmD+z7haGzeDRfo17ngup8YttQAKLGBI9auELsate12ra/jSAVfd5OfmvVApR6ZrTd2aDMc
bt1DpWC5UDlpdE1WuTCjHqJK9tv2wGimN5mcNVb5lpPKaqg4ZRp29OHOfYktZFxyTobzgjknp2t5
x5/nfhxvIw5Mk0GYfN4RITR5pH7Fu9sAOK6DqOsI4FJbIcKNPMAwdvRdrgb3m0jw+RNoj/6KcRV2
u+InOPZbUBQabv9CeL3+qYuBjUe5ErImVtcOr/2+EK0GyC5/uS5nYIVXCyTyGoSMStzsZ7hiIJVu
ysU5Gta1IHnVBhObt02PU+RHoJrH+7buOzdiaQ8CKzTEQTDRR4HC7FnKwVjljaoEQKOd2TQkL3QI
uXg1v01DRPsdC0wWQKzfgC/mqSTRzG5+x4EcPhJefXxk7e0Jomq0gJipkDhDHP4EU5kb25FmvSe3
JORH6NCVHBAJXkEPZXJ++qHwIoa4LFSs17ROxK2iWuN9KuHx47wA93nAk794Ir+7KnS6810O13rY
IqjzyRSzSTEL/H5AkvUlGPOwmPAytTlPr2z98NHQ/tzAV1AovFWpQZ5Xd5otb2P4wX2Q9waYUF5t
5qzEGPALCmHQMKoihFf7Rp+I/HwThufEQN7R+ee1zHdnrw0fByU1WUZWHJ+F4Bn0AaTQP/X35ApT
yeCZDGp9ar+UghSV6t+crgRoQXT0o0o7o0Gn4thu4DdEhUgwEYcH6pg34KzzVTVuLqBgApqapz2X
sTcujfNXMiwES6DbyvTqhFCdFh/DBngKcmwO1jp37F7oKFDdHMJmRKFgjpU4O49RPxoT8oS6pEuP
FM+cBBkpi2k0udvr7nhHqdYAHXJ+ng8Dtd6oC0y9L+ESNm7S+hsWd2dclSWUiFwHKD4zP1len8EQ
nhyqP9Q/sgnYm2I4v96Z/ndQUILD652RbdMvn0tBiYmNYx0sOBOziN3QSRyvSNaGzzPrY+N/8BkK
iNzDkgj0Wr4i0uKw0x8tJwIIM3ufAvcSnF1gn/px9aF8kBaN7no8GALKjovWbFKoqWJ8Gv2T6oVS
CqYwzaXUQqgZMlfJHAN1VmUe6VZ/b/1T1Ir/Xw/tpoeunVKMSHqlyMk+yU66pTBTcLIpv1hLW+J1
OHZOYom40y3jDgyqbtc+Spm1mQ9LkF/78Ld671C6QlnkGNHGmV4jHALWpvZ2v8V98WEbWO5u/igT
0GbZvE0s+BmPBV+boVzpHdWkrA9DXId9njycS85vaK1FxisGJ4j/Mb28OIn+vekIYJIR5CwZmajY
Wl1HtcxWE/Ap48k7bLxuOmItWWI2U5iEXpujcO1++xXTPY93DBPJzcVj6DULyG817Vfxj2ccIA2+
ffuXruDs3rl32nDZDjFZOm2Aghmhw9mRshUsNtx8405ughdzW3z0n2TIcYv5wuxtgBqj6eprxdZU
fewYGDMgahBT5LFoOE3veySSKUgpy3i/yQSz3rAx4aKTHRXM+x1yolI69vvnRw+M48Rbwp11AaqN
h046jQJDo4GOevWcJ9/zF4++f2r891JJDu3YuiEHPSk95EoJEFBqWq4+YoQQ9qWLrFMbVxMQ5c/R
Mj8w16uB0XFsJ3HcrjJTQHLyXYfdoPm2J9xGZ6ZYtA1Xyr+bZFMCLatyNiojL/A2lUQI59y6nwHf
XaIirW/H5/ttO+0HMLzfhrrMO6YEBVBLSkaCOorCegsf3y7KaiS6nWw1LoZhbH8X8ZXgr70s/5cI
N/5L08tn6yUUc4sJBwSFCUXh6PcyDOr/svCEkGBA/RAqbgSWcyFZQ3DCTvy52dhMmdgx+zcY+pQK
BPrFIWacPqQTFhWNYZS3tTXB0v1xdl2Ms9nc3iCMeRiSI88vi8vpHUQc9ZHH9Qz6XsBbIO2GzEtb
9gpJa0D/XSPx6zK7mlT1EjA9EZQO8zmNIdkQXM7v+kz8remdml8HWkRuxbyc45zILldLzZET8e/y
uCBYlKNHBtkmDx+spZzs1Jtaodd8j0s+9KXvqvc0SxsTjG01A+yio5xmmVIIABFuqMXU7b3aUSX+
N3zvFOXbuhN3usLAJk09NCo8/SuXMlWn88BtL2rIPTcGKefbSMk98YDPUTaZjaYriDWmxHba7nSI
Z6rZQAH3Eo7L21J/VvXqxWQJvNhC4IJliFDq7521H9S3MzS4YWhISbj9MGD+Qn+T+8eaqpReUee8
zE3mZciTmctacjcrQ/elUtwsACBTLxX8l7RU0hkfNxwiJKhHp7a70D/P4AjOb92cNkw49WoaYuB2
dDlInBs/g273X/P5jZW87x+cQv65/Wn2pKRUZ1KO+/9R9J4VQEEV+PfIy5RE+pfJGMN5/+PoSHYT
/qHEIFdFwS/Biurbx19DR9Hg26/0LcbiiFMz3sxXNbr35xRnG+dibKsM+7ZU1wT/gGjM2YgSaPZS
8UX1TSTdSF0JyJP8utDXku7aAN6MnPe7DRT+vYL1oU2CjvKCVfjTnQb4deEXh78d7J7/928HF9/0
f4N71yGZrP7Pgvt99ZLRBtsjAGpqFOB+15D/iPdJMBLdOxHWC3tTjwp1DxHkLbeu8wDq2zJrQofS
BQkQ9AfMmHir9wA379jagAv/4lMu1742G0Rc3cz9xvqX84ruJPnx4lNWz6eTcXY5LUYf8qSkonfH
1rELCfBBbAw3f0uD6FZa2eT7ImFV6rQZLohoKDiQLCW01hgZFjsCeO/NMDMRBJowce5va0DTxAFu
EI1T1XipSd+CECftqRr1LQ3+xd4+OLHGgKSodPfoJHm2uZXANmmH/xeaHvv3RtazcPWj0KQ0jFA4
rfrbMOPwdfrScR85MY3YqnSaw7gqAMmew4bBz3xBp+LKjfvCYzlz3y7F2Q/ldfFHyMhXxyTU7MBP
aso8nk5Up14pYsKui9vbtLyCzXGXUdWb7mH2bXbAlahv0jtx81a6nC+kpvQOLbT1q9iW2bbDxnzx
46hsimw/kLaLbJA48Risnzc1LDyfB3zvHPgxdhF1w3RaJJ3UCCBvwEnT6Z0yUDXRfAGlXkDwKdFd
K0xaahGU1dYGf1otO7bnj5VIICmICnBnyvEbPK3AIC/8PPBBKp4/e/XoxdO8JcfT4WH2/CorGflJ
jZeo/ey2zD8CFtuqJoMLxZKVbsdoP7R4PJV4HrEjgmUpjTe7MMJYkKg3B1IIu29vTME3ZK0Ro/f1
t1QVKSSOFwovXmzSSTqJl84LotBliXXIDrb1eEj+oR7NgFOWXUIInX8YJCrLvss69D0mw5z+OFeQ
t439Jh4rUlrLxLRrmnpdwe6xQz+6hGeB5FrPrOgir+U0wtJ/hZMjaAAPtr46VNjPeK412AACsr/G
ZNUZJlClI4w5lDxwwpQSiDIriYiaklpMdbk0q1LKExfWjy4Iwj6tk879a4A7kRpZ4SW4e0vyidCm
WnlmdXj3eA15X6udzwFGgDrbb4tq/KhSenlDdraPGpP1tIdz4bvjo8WnIQ0g/t07O1nMp3fv1CRd
zCezZX3aO9o/yo7hP/+2f3zUM9XBnPjdV6PRCECHFFkGk23hTdVd8Xfj6xgZOwbO1masxuS52qey
1q9b+1lRCWCrmk38hsBL8NhOm5e6h9zoyr6TZt8Ww0oiBwRyQw+Cj83eWQNMJP0m6c3A9Q/ROyHf
0l0pvl26L9Kq9KmjzUIuapX4+tFUzfnx3Ss11SvQEE49Br2YEL0V1Lt5pUtK7hWYwouTlC31Yit6
Y25sQ0QoTVLEWJYUuaQnkkcqdNuVPwx31uqdPLZbCeaLdGrZ0efyiBmIkpTbvhEWAKbhGM2nq5sU
PokplsALPqfKF7HYhEWtyHiLCBwF/ZkUB97GmKAcgNrE3EXQDu7VvrbWpeVcbXXF3a4jLXXqOjAA
mJX9GLsJcWFE1DoouqUYxzet2zRZuQJ/akUE9wyHrF/sZ5d82UPitRn6jpCvQ71aQOZlxcenyWj+
rioW12oMgA6aMGZqOOMYgDcEtOadY4NgwqiGnST6MVDbZRuBywQB3pVndF4Sv+XfwEP4YzFdlQhf
DhJE1KGBuEfqcYIQE2LnlPhKbZTFG5frqKnnR30ZafWyS/1LuT7w7LV/6oilXAVxRR6lFCGvMyce
Yw+zg2Ol0R836knkf5va2B19JdITPdIPMyDLQTUTQNNifc7Xl76U9B5OdkDsVkuhH6WhFEBVXXRf
uAW56bFLm9bL1c2lfJbbRb3G3pPYS879tjzgwmCy4Ar3d5KYe7pAP4Y8vbIl3efZmM5DDcOdG5De
eWrNEcBmoyq8Lq+8DIc38sm1qlriddcqNdJZ2KzTmB0d1V5EcNLEHoaMMfVYzdTgc6jUD4XDOXid
5xL09FvvQLR88V5H9ZNHqR4PrO05MnhZkrLgdkIpk4T5pBNYNkOD6sw+lGVzyNOcFqry5y8CAhLR
hlWtWwnnH1Q9py+DyfhCUdH/iBPvLKs7/kQBc/u1YhDtu+Xy+bK82Q2yRL39UN7tZ396/dPLAeHW
Tq7udqHNMNfKCB5i1b27EhVycLWa6RXUe12OVor23VM1dlVPyGh7DXNNVUkYHPVYqF1MgEcBgb2v
5956jDsN3wGp2+/7u1Tfu/VyzU6KXQzNDsBkZMjz0p5HOWDXsuPo+YbDuijUWtjF9iTA2jEgteOA
S5C0lCk2ue9PxgLIMlaKx51SzepZCzRhYqsZLaFddZBEOFvAUAfDmby6V6vZgZcYuT7Qiy33jRch
IFk93LGJch49efL21dPXv/z45rXp3+cdc+66sFx4P/ecj3TR4c6XHXXHH1WTxfJsZ+eE/iJY5KvV
dGoc6wYwSGgOYEXPfN9Qm8tlR/Dy4R4+apZiusdSI0pnIfI3BcZ7iW3ZJtXgI6OEvVB81wkfma0e
USxt8UmDKP65vPOJrvGiIdZPMnVTLgtVFgy29EN9PblaBr+MltVU/dBi6a5vJ7i7UGbpAWSbfnxd
VI/Be0TT0f+MAY4KdYPPJ/l3CeOjmiVqsbyZPwNvcwokivXiy6osGMgR0X3fSvelUlHXJvuhlezP
6qCezFf12qSnraR/LDYQRJkkS8BRj91iWovuKEnXpKfclPIySZmwijele9Wdrk6L3YF8+KwozNnk
C5jSXPyeHElwE5ag0Gfeppsdgnox1U4x3hmksROD1N+NHCINg+VwkB1vy7BbgCkZxRt9nNygw2Zh
wY/Fbskt7W3fv3AnuL8+StvAJl3cYgg9Wuh6vOWU0/oM1jgXmb1Itu8Suja7kkYsd8zz6zcr7Jjc
a7sxRXzEic88F7G0i6ZbE3MCr9OesLemWxOSOG/Vlt1vOwA0xiMpqH42jR9lwn5g/hSNCFpXzBmb
LkblDZkktYqaUeTvLF9mH2bqSlTM7pYQ55EVl/BGitQwF+zzpS6a2di/EWSNxeCUeeY6XmVAda60
MqAzYK3/ES9whmy2W3ycqwsOXSGe+WquUunLQhWFzvaJSiALzI++r3mCmilxa3OnrdOI7Y5WELD3
MYsGGmxdU1zptbTZE4cdDMG7w1fqzw2jYD04bkmxI7VmXmYSDY5Vb5dlU7vpRJ/x2LANVCogjIXX
Lgj4cv6pyVypS9NVMPLViGlJd2Ov1AZ+22bGcQqEvR0wGPnDNtYPnGqvpvMCEpweqP0lcGxPNx8E
aV5/e6YlT2GJJ4fql5MFRJeN1d3Vl2LP5LN8Op6gFVjdY1XBM9Zo2odTYidKN3c/o8ysJewCTHnd
BuoSqrdq/7tvQ/F+pncpblktF0VVUOxMOm1sXR7MytspgEe6dNqAjvTbDJM8ZbnYpO5/MGABR+/n
k9muZUEKfGmSl+/KpD1DdTpa3o7WcjWcUw65apm3J1exjKZyH9q3VdFOsiODu04/nJ1mvhouJqPX
oVShN5pjNTvtoGhZryz3mbkDug/Cnqq/xhD+gunGds4ruwm7Mkd4pkjspKBuZfVXOijJEaujZkK4
+7ZKBwfCan4LrmiYV8JUa/dWU2qDqQhp6mcZ+ZOpqTevxnW2OxmUg6zSeRRBC/k4KW/hKbkPjxMQ
XPt+pYR+W8xQR1HiyyYQczpfwD8Ri5U6mZGcssW8nqDpPl6KVEKxqhfkwIh2AQgVmk3wawsGoEMy
ZymcK5gxSe8cbyaEDnOpeZ5w2p2vqqDJy3IEp9P1ZDwuZwiQhOlAy4xP2EHka9sl98If/pCY3k6J
dQgtm92PI38DNTjzm8XK6EC8I3EKw+6bXNN2QNubcb7wx0XOJ2Ot2Z4D8pP57QzeUKlPOMDN4Udf
acP5gZo0qxzlbb6C7gJvqKYEab3t505IMdRgaJrQJ7Cj77SFbY5Vh/J93kVnnt4xHscmRQ2G8bjY
2eGOU+31LcYX3TtoSul1P2OQnBZb0omZ9/RGlTjQepLdYkd+Dh32guDCl53Xr4/va/QRrwOaiBcO
bOZT0CmvLfubzeMSPJPplziU/q2abYB+GMleKZpjJXZfPJ7M3ZPGCeh9Z+764+WT7GnBONWjd2Yn
D5ZDIPL5fHpZVD1TKVRxeQ1daDZflr2zXzRE9mQ/e7+ffUBIlmkGeh5s2PrSqthW/xvBL2SWwGLG
ZrCP/7pCDBWlBFHWStdkYbsCvgmgBffUJo3/oO4FBo9H02lgF+j3zkyT0ykgg69P2PApkDafuhFX
ovaXsdgY2Sb0u9wLtUKhGV0rbMEMnr/S7Qh6S9wbPqxHKUZP6BkSCKzslm8g5nsZPBspvkBxVgqx
IqtVaMUynoIBz7QvRNgmdF4C/+g75ppxmPXESwt/JBIKQNqMNR8lzXFFv+rUoA28UPT0aQ+murlV
KNVGrdJiDC4G9aIYlTjd9c2gNMo8eRD1AmF7V5Mt+qJ4eampQFcYa7Z9yF0U9cxbYPrPHTuZ/M20
d2Y/H9IO879QSwMECgAAAAAAdoZsTgAAAAAAAAAAAAAAAAgAHAByZXRyaWVzL1VUCQADEEaIXFFL
iFx1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA14VsTgAAAAAAAAAAAAAAAAsAHABzY3JvbGxiYXJz
L1VUCQAD5kSIXFFLiFx1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA14VsTm69I2E5AAAAQgAAADsA
HABzY3JvbGxiYXJzL3Njcm9sbGV2ZW50LWlmcmFtZS1uby1zY3JvbGxpbmctd2hlZWwtc3RkZXJy
LnR4dFVUCQAD5kSIXOZEiFx1eAsAAQT1AQAABBQAAADLzS8tTg1OLsrPyXGqVEhLzMxJTVEoyVdI
y8wD0hmpCiWJRempJQplmanlCoklCgZ6BmCgA2NwAQBQSwMEFAACAAgAxIlsTk1oGNgbBAAAOQwA
AAoAHABzdGF0cy5qc29uVVQJAANPS4hcV0aIXHV4CwABBPUBAAAEFAAAALVWy27cNhT9FcNrcyCS
enZnpJsiKAokiy6KWXAkyiJCiQJJjT0N8u+9vNTQk1gK6kWMgY+GI577PuTX+1ZMZ+Huf7v7ej8P
SqsZH710Pi6y7hBfOVgpOjPpy2Hwo8bfrHSLxvf+odnDHXw4bcJTk+c8QlEev8Hfw929mNQovDJT
5P3w+fNHeemtGKX7tGhJZhGevbRu00D5cEeBn2WUATGlRYFQVsdA3pvJk7Ow6sYCrjl/0XKTsE6E
OUBdNixAlbFXQuet9O2wtz3Gm+UYaF4ilM0Ro30T3gRPZFq03osO2eqmDjSsQlKeZegM7/D9dhDT
kyTeisn1xo5ETUROHZFnOflN2io5idXgRYTgJNBCOax6ueHzl1mSVKc9xjVrPKSrbsoATYZlDlVu
W+mcOkEn+Qtufvz0xyOxstey3WW9Nk9dA1RFljEEWq9+trjhLPQiSczCmwWyOGkhI70hXr54Ad26
aSpPpiDTVV6yDIFHUz9h7JXU3R4lxSw30JNFjR0BQPPYCsJDmk+Ll11oKDU94f43qwRKQCwaflZ+
IGbGVt60yJJFjqbqaLjhx02DpDPSkcl4iKbVSwdfRuXcLLWGd4LdyUArdcqL0860sJS2POSrqilC
s7a7k6G8mCfcefOdsE1CnkIAKKBBawQaW/N2P93bvzpUYgGLWMeyjg49/vVnnAty7UgtnfRY320B
S3yh9/Im9DcAi/qS6BwROyNMU0Cx/GWNUJXHt4NBWivcAJlvocdggLUcg6ux7/YmZGVnscfK2GMl
uod5GoX9Iu1VKaxoQUuJ6XsIm5wVZoDMxqnQVqQ10xmkNjwGo5s2iyRKQY14HirV8IKyH22S2cqz
Mgv0GCzucUXdyBogyUA4AjRBbWN65lmrFnVnBAXq4fxBik65WYsLGU0H8mnI9cdNI00SJ5CphlGW
I/ACHe6ggNrM4O6zsBOMhdsjWTUzKnpeIFRFrGNrxkNwVh7+lqePygf4AIdFkODfowWsJXhR0R+5
CbgXzoDr/6B7x3eylr+Etah+CWvzHtbYnKs+3txLwuhoaUUQtLhMbt7eHsYqzUuoIq2CvACsJ8rP
GYlT/0qi1aj8LnlsERa0h7OSItTrqJ9E+yXJPJ6mEoTXG5hC+RzFHSS4haNb7JzbtEwWcPQanBre
5Nnx+7vUrY0uxQCPanIKJmZQXSe3z1zK0o0tXjZWyKPiJRNkDWeXJI5cnLUy5whF8ZqKXrQyCtDr
pWBjnfDt05Xy5CcOJK05XpGyeFJsMQ0KamvbAQRFv15vdtnXABh6XqJ0lNV6joiTM3rBAmJCzeJB
U2Mle/Uid3ymyWeGSWUxtwVPPj9Zs0yhZNrYlJLbRTho5kFc7wKihcC2bcUbTRwnyHwWdItyVoRC
vleyyvr/Dey3/wBQSwMECgAAAAAA4oVsTgAAAAAAAAAAAAAAAAQAHABzdmcvVVQJAAP3RIhcUUuI
XHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADihWxOAAAAAAAAAAAAAAAADQAcAHN2Zy9hcy1pbWFn
ZS9VVAkAA/dEiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOKFbE7bCNNCOwAAAD8AAAA/
ABwAc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS13aXRoLWRhdGEtdXJpLWltYWdlcy1kaXNhYmxlZC1z
dGRlcnIudHh0VVQJAAP3RIhc90SIXHV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVI
VCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAPaFbE4AAAAA
AAAAAAAAAAALABwAd2ViYXJjaGl2ZS9VVAkAAyBFiFxRS4hcdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAPaFbE7bCNNCOwAAAD8AAAA6ABwAd2ViYXJjaGl2ZS90ZXN0LWxpbmstcmVsLXN1YnJlc291
cmNlLWJlZm9yZWxvYWQtc3RkZXJyLnR4dFVUCQADIEWIXCBFiFx1eAsAAQT1AQAABBQAAABzLClJ
zS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBL
AwQUAAIACADDiWxO1gFRYnUCAACiFgAAGQAcAHdwdHdrX3Byb2Nlc3NfbG9nLm91dC50eHRVVAkA
A05LiFylQohcdXgLAAEE9QEAAAQUAAAAxVjfb9owEH7nr/DDJMpGgRSmQtZ1YltXVdXY1K3ioaHI
JEfxFuzIvoyhav/7bFC1VYC22CZ9QUm4H999d/ou8bB/NbgYnIcLmBxmKcWpkPNDBIUqnDCejGdC
IadzIIyTWPApuyNMkQQyCTFFSF6RXAFZmdIkkaCUtlQINKkM9xf6/dnb662BucD+FEG+7meSBAE5
aoft4zBok6NW0CPnH79WKheDD5+2uV4rxu8I/GQKzYVBR2KQWDhZUDzZu/4/Uq3tMyH1taZoSvMU
ExbjwQkuMyDVVAeqntbJfXWGmFVDctPttlp1on+DUZ1UF0qZhy+73ePu+t7cdnqt9d/GafWk1+m0
R79qu4FciRyBZBR13Twkt82DxvPas2L2USNbFvehiqmiXhZZ+DJqLIT8DjJqfFMllWaSKpA/WAwP
uWc4T8sh6SH/jEpIHNO7srcK4JDbC4kLLTli4YbDA5keWlHYVausyGUMqmkMdBFcy64EIzymoeVR
uRVI1IiVKpXHQvZDmFwyLEURPfbpD+qSdNlPa/+G7aB6lmJl2epHoL1opavgOXR/oxg/G8yDfDrN
xmZZvhajWx2u42ItxRso3CP4WdM+xsMfKx5n1jrIntaCXddNk8GoytMuB/u3uTefT1QG8enNbXP0
otZEIVJV1kuBl3FwRVx4JVi13DfPFpofjc3nd/GkdlDXXjLnHGQzzxKKEI3nlLOpti/Knq8d8QiU
83uNq8DbNsS3Ku+3VW5wnCTFx9qzZvUJZcLOy00fPI3PlubvOl78glSuTzERM7KiWxLBSSpimpqT
zdAcD7q5B//nrrb6m3PG3f6zHFf+ekR55TdQSwECHgMUAAIACABPhWxO/VtWEGdMAABTCgEAIQAY
AAAAAAABAAAApIEAAAAAV2ViS2l0VGVzdFJ1bm5lci0yNjcxMy1zYW1wbGUudHh0VVQFAAPmQ4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARYlsTgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1B
wkwAAF93cHRfY2VydHMvVVQFAANiSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApoRsTqAp
VqUSCQAAOhEAABUAGAAAAAAAAQAAAKSBB00AAF93cHRfY2VydHMvMEJFQzgxLnBlbVVUBQADp0KI
XHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKeEbE7fT2jtiAoAABgUAAAVABgAAAAAAAEAAACk
gWhWAABfd3B0X2NlcnRzLzBCRUM4Mi5wZW1VVAUAA6lCiFx1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACmhGxOhhKZi4sFAABCBwAAFQAYAAAAAAABAAAApIE/YQAAX3dwdF9jZXJ0cy9jYWNlcnQu
a2V5VVQFAAOnQohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApoRsTqApVqUSCQAAOhEAABUA
GAAAAAAAAQAAAKSBGWcAAF93cHRfY2VydHMvY2FjZXJ0LnBlbVVUBQADp0KIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAEWJbE4AAAAAAAAAAAAAAAAUABgAAAAAAAAAAACkgXpwAABfd3B0X2Nl
cnRzL2luZGV4LnR4dFVUBQADYkqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAKeEbE6YXHl/
FQAAABUAAAAZABgAAAAAAAEAAACkgchwAABfd3B0X2NlcnRzL2luZGV4LnR4dC5hdHRyVVQFAAOp
QohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAApoRsTphceX8VAAAAFQAAAB0AGAAAAAAAAQAA
AKSBMHEAAF93cHRfY2VydHMvaW5kZXgudHh0LmF0dHIub2xkVVQFAAOnQohcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgACAAAApoRsTlPkSZo3AAAANwAAABgAGAAAAAAAAQAAAKSBnHEAAF93cHRfY2Vy
dHMvaW5kZXgudHh0Lm9sZFVUBQADp0KIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKeEbE64
uN0xIgUAAKgGAAAYABgAAAAAAAEAAACkgSVyAABfd3B0X2NlcnRzL2xvY2FsaG9zdC5rZXlVVAUA
A6lCiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACnhGxO309o7YgKAAAYFAAAGAAYAAAAAAAB
AAAApIGZdwAAX3dwdF9jZXJ0cy9sb2NhbGhvc3QucGVtVVQFAAOpQohcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgACAAAARYlsTtVLAOAGAAAABgAAABEAGAAAAAAAAQAAAKSBc4IAAF93cHRfY2VydHMv
c2VyaWFsVVQFAANiSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAApoRsTub48EkHAAAABwAA
ABUAGAAAAAAAAQAAAKSBxIIAAF93cHRfY2VydHMvc2VyaWFsLm9sZFVUBQADp0KIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAImFbE4Vamuf0kECAItWFwAOABgAAAAAAAEAAACkgRqDAABhY2Nl
c3NfbG9nLnR4dFVUBQADUUSIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAI+JbE4AAAAAAAAA
AAAAAAAOABgAAAAAAAAAEADtQTTFAgBhY2Nlc3NpYmlsaXR5L1VUBQAD7UqIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAMOJbE5hSBvu80EAAPjgAAArABgAAAAAAAEAAACkgXzFAgBhY2Nlc3Np
YmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1jcmFzaC1sb2cudHh0VVQFAANOS4hcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAw4lsTk1L1zz0QQAAl+EAAEYAGAAAAAAAAQAAAKSB1AcDAGFjY2Vzc2li
aWxpdHkvYWNjZXNzaWJpbGl0eS1jcmFzaC1mb2N1c2VkLWVsZW1lbnQtY2hhbmdlLWNyYXNoLWxv
Zy50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACPiWxOAAAAAAAAAAAAAAAA
EgAYAAAAAAAAABAA7UFISgMAYWNjZXNzaWJpbGl0eS9tYWMvVVQFAAPtSohcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAw4lsTiWwnCbkQQAAl+EAADwAGAAAAAAAAQAAAKSBlEoDAGFjY2Vzc2li
aWxpdHkvbWFjL0FPTS1ldmVudC1hY2Nlc3NpYmxlc2V0dmFsdWUtY3Jhc2gtbG9nLnR4dFVUBQAD
TkuIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMOJbE4oMSZ570EAAPngAAAuABgAAAAAAAEA
AACkge6MAwBhY2Nlc3NpYmlsaXR5L21hYy9BT00tZXZlbnRzLWFsbC1jcmFzaC1sb2cudHh0VVQF
AANOS4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAj4lsTgAAAAAAAAAAAAAAACQAGAAAAAAA
AAAQAO1BRc8DAGFjY2Vzc2liaWxpdHkvbWFjL2F0dHJpYnV0ZWQtc3RyaW5nL1VUBQAD7UqIXHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMOJbE4ZWhoC9kEAAPngAABxABgAAAAAAAEAAACkgaPP
AwBhY2Nlc3NpYmlsaXR5L21hYy9hdHRyaWJ1dGVkLXN0cmluZy9hdHRyaWJ1dGVkLXN0cmluZy1k
b2VzLW5vdC1pbmNsdWRlcy1taXNzcGVsbGVkLWZvci1ub24tZWRpdGFibGUtY3Jhc2gtbG9nLnR4
dFVUBQADTkuIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMOJbE5xpWiJ+kEAAJfhAABaABgA
AAAAAAEAAACkgUQSBABhY2Nlc3NpYmlsaXR5L21hYy9hdHRyaWJ1dGVkLXN0cmluZy9hdHRyaWJ1
dGVkLXN0cmluZy1mb3ItcmFuZ2Utd2l0aC1vcHRpb25zLWNyYXNoLWxvZy50eHRVVAUAA05LiFx1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACPiWxOAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UHS
VAQAYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LXRleHQvVVQFAAPtSohcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAw4lsThNrJV/0QQAAl+EAADkAGAAAAAAAAQAAAKSBKlUEAGFjY2Vzc2liaWxp
dHkvbWFjL3NlbGVjdC10ZXh0L3NlbGVjdC10ZXh0LTEtY3Jhc2gtbG9nLnR4dFVUBQADTkuIXHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMOJbE5lD9SN80EAAJbhAAA5ABgAAAAAAAEAAACkgZGX
BABhY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3QtdGV4dC9zZWxlY3QtdGV4dC0yLWNyYXNoLWxvZy50
eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACPiWxOAAAAAAAAAAAAAAAAHwAY
AAAAAAAAABAA7UH32QQAYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL1VUBQAD7UqIXHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMOJbE4a5+Lf90EAAPngAABMABgAAAAAAAEAAACkgVDa
BABhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10
ZXh0YXJlYS1jcmFzaC1sb2cudHh0VVQFAANOS4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
w4lsTgwe36DvQQAAl+EAAE0AGAAAAAAAAQAAAKSBzRwFAGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVl
LWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC1jcmFzaC1sb2cudHh0VVQF
AANOS4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAqolsTgAAAAAAAAAAAAAAABoAGAAAAAAA
AAAQAO1BQ18FAGFjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvVVQFAAMgS4hcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAeYlsTn8KvWNDAAAARgAAAFkAGAAAAAAAAQAAAKSBl18FAGFjY2Vzc2li
aWxpdHkvdGV4dC1tYXJrZXIvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxlLXBvc2l0aW9uLWNvbnZl
cnNpb24taGFuZy1jcmFzaC1sb2cudHh0VVQFAAPFSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAqolsTnnfTvtDAAAARgAAAEEAGAAAAAAAAQAAAKSBbWAFAGFjY2Vzc2liaWxpdHkvdGV4dC1t
YXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC1jcmFzaC1sb2cudHh0VVQFAAMgS4hcdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAq4lsTgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BK2EF
AGFuaW1hdGlvbnMvVVQFAAMhS4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAj4lsTgAAAAAA
AAAAAAAAAA4AGAAAAAAAAAAQAO1BcGEFAGFuaW1hdGlvbnMvM2QvVVQFAAPtSohcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAeYlsThptAdtDAAAARgAAADkAGAAAAAAAAQAAAKSBuGEFAGFuaW1h
dGlvbnMvM2QvY2hhbmdlLXRyYW5zZm9ybS1pbi1lbmQtZXZlbnQtY3Jhc2gtbG9nLnR4dFVUBQAD
xkqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI+JbE7w0XTmogAAACwBAAA7ABgAAAAAAAEA
AACkgW5iBQBhbmltYXRpb25zLzNkL21hdHJpeC10cmFuc2Zvcm0tdHlwZS1hbmltYXRpb24tY3Jh
c2gtbG9nLnR4dFVUBQAD7UqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHmJbE7HW65tQwAA
AEYAAAAzABgAAAAAAAEAAACkgYVjBQBhbmltYXRpb25zL0NTU0tleWZyYW1lc1J1bGUtbmFtZS1u
dWxsLWNyYXNoLWxvZy50eHRVVAUAA8ZKiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACriWxO
/MkB/kMAAABGAAAANAAYAAAAAAABAAAApIE1ZAUAYW5pbWF0aW9ucy9DU1NLZXlmcmFtZXNSdWxl
LXBhcmFtZXRlcnMtY3Jhc2gtbG9nLnR4dFVUBQADIUuIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAI+JbE4AAAAAAAAAAAAAAAAbABgAAAAAAAAAEADtQeZkBQBhbmltYXRpb25zL2ZvbnQtdmFy
aWF0aW9ucy9VVAUAA+1KiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5iWxOdLmF2EMAAABG
AAAANQAYAAAAAAABAAAApIE7ZQUAYW5pbWF0aW9ucy9mb250LXZhcmlhdGlvbnMvZm9udC1zdHJl
dGNoLWNyYXNoLWxvZy50eHRVVAUAA8ZKiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACPiWxO
8NF05qIAAAAsAQAAMwAYAAAAAAABAAAApIHtZQUAYW5pbWF0aW9ucy9mb250LXZhcmlhdGlvbnMv
Zm9udC1zdHlsZS1jcmFzaC1sb2cudHh0VVQFAAPtSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAq4lsTgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B/GYFAGFwcGxpY2F0aW9ubWFuaWZlc3Qv
VVQFAAMiS4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeYlsTsbFCNxDAAAARgAAADQAGAAA
AAAAAQAAAKSBSmcFAGFwcGxpY2F0aW9ubWFuaWZlc3QvZGV2ZWxvcGVyLXdhcm5pbmdzLWNyYXNo
LWxvZy50eHRVVAUAA8ZKiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACriWxOxX2FUEMAAABG
AAAAOgAYAAAAAAABAAAApIH7ZwUAYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtbm8t
bWFuaWZlc3QtY3Jhc2gtbG9nLnR4dFVUBQADIkuIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AHmJbE4AAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQbJoBQBjYW52YXMvVVQFAAPGSohcdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAeYlsTgAAAAAAAAAAAAAAAA4AGAAAAAAAAAAQAO1B82gFAGNh
bnZhcy9waGlsaXAvVVQFAAPGSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAArIlsTgAAAAAA
AAAAAAAAABQAGAAAAAAAAAAQAO1BO2kFAGNhbnZhcy9waGlsaXAvdGVzdHMvVVQFAAMjS4hcdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeYlsTqgRjN9DAAAARgAAADQAGAAAAAAAAQAAAKSBiWkF
AGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2FudmFzLnJlYWRvbmx5LWNyYXNoLWxvZy50eHRVVAUA
A8ZKiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACsiWxOGdWMV0MAAABGAAAANQAYAAAAAAAB
AAAApIE6agUAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jYW52YXMucmVmZXJlbmNlLWNyYXNoLWxv
Zy50eHRVVAUAAyNLiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDiWxORDX4APxBAAD54AAA
OwAYAAAAAAABAAAApIHsagUAY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LkRldmVsb3BtZW50
LTMyMDU3LWNyYXNoLWxvZy50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADD
iWxO87uFofVBAACX4QAAOwAYAAAAAAABAAAApIFdrQUAY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LkRldmVsb3BtZW50LTMyMDU5LWNyYXNoLWxvZy50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADDiWxOyj7naPBBAACX4QAAOwAYAAAAAAABAAAApIHH7wUAY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LkRldmVsb3BtZW50LTMyMDYxLWNyYXNoLWxvZy50eHRVVAUAA05L
iFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDiWxOz76vmwRCAABU4AAAOwAYAAAAAAABAAAA
pIEsMgYAY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LkRldmVsb3BtZW50LTMyMDY4LWNyYXNo
LWxvZy50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDiWxOn3Sy5vRBAACX
4QAAOwAYAAAAAAABAAAApIGldAYAY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LkRldmVsb3Bt
ZW50LTMyMDcxLWNyYXNoLWxvZy50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AACsiWxOAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UEOtwYAY29tcG9zaXRpbmcvVVQFAAMjS4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeYlsTqI8EtVDAAAARgAAADsAGAAAAAAAAQAAAKSB
VLcGAGNvbXBvc2l0aW5nL2Fic29sdXRlLWluc2lkZS1vdXQtb2Ytdmlldy1maXhlZC1jcmFzaC1s
b2cudHh0VVQFAAPGSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArIlsTpzDw1JDAAAARgAA
AEcAGAAAAAAAAQAAAKSBDLgGAGNvbXBvc2l0aW5nL2Fic29sdXRlLXBvc2l0aW9uLWNoYW5nZWQt
aW4tY29tcG9zaXRlZC1sYXllci1jcmFzaC1sb2cudHh0VVQFAAMjS4hcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAArIlsTgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1B0LgGAGNvbXBvc2l0aW5n
L2FuaW1hdGlvbi9VVAUAAyNLiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5iWxOo1XWRkMA
AABGAAAARQAYAAAAAAABAAAApIEguQYAY29tcG9zaXRpbmcvYW5pbWF0aW9uL2FuaW1hdGVkLWNv
bXBvc2l0ZWQtaW5zaWRlLWhpZGRlbi1jcmFzaC1sb2cudHh0VVQFAAPGSohcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgArIlsThKR1s5DAAAARgAAADUAGAAAAAAAAQAAAKSB4rkGAGNvbXBvc2l0
aW5nL2FuaW1hdGlvbi9hbmltYXRpb24tYmFja2luZy1jcmFzaC1sb2cudHh0VVQFAAMjS4hcdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAArIlsTgAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BlLoG
AGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvVVQFAAMjS4hcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAeYlsTs2BUkVDAAAARgAAAEQAGAAAAAAAAQAAAKSB7roGAGNvbXBvc2l0aW5n
L2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS0zZC1jcmFzaC1sb2cudHh0
VVQFAAPGSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArIlsTkBrylVDAAAARgAAAFgAGAAA
AAAAAQAAAKSBr7sGAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2Utdmlz
aWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLWNyYXNoLWxvZy50eHRVVAUAAyNLiFx1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAACPiWxOAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UGEvAYA
Y29tcG9zaXRpbmcvYmFja2dyb3VuZC1jb2xvci9VVAUAA+1KiFx1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACPiWxOf/3fQUMAAABGAAAATgAYAAAAAAABAAAApIHbvAYAY29tcG9zaXRpbmcvYmFj
a2dyb3VuZC1jb2xvci9iYWNrZ3JvdW5kLWNvbG9yLWFscGhhLXdpdGgtb3BhY2l0eS1jcmFzaC1s
b2cudHh0VVQFAAPtSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAArIlsTgAAAAAAAAAAAAAA
ABgAGAAAAAAAAAAQAO1Bpr0GAGNvbXBvc2l0aW5nL2JhY2tncm91bmRzL1VUBQADI0uIXHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAKyJbE4RKVtCQwAAAEYAAABEABgAAAAAAAEAAACkgfi9BgBj
b21wb3NpdGluZy9iYWNrZ3JvdW5kcy9maXhlZC1iYWNrZ3JvdW5kLW9uLWRlc2NlbmRhbnQtY3Jh
c2gtbG9nLnR4dFVUBQADI0uIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKyJbE4AAAAAAAAA
AAAAAAAUABgAAAAAAAAAEADtQbm+BgBjb21wb3NpdGluZy9iYWNraW5nL1VUBQADI0uIXHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAKyJbE5LL5DMQwAAAEYAAAAzABgAAAAAAAEAAACkgQe/BgBj
b21wb3NpdGluZy9iYWNraW5nL2FuaW1hdGUtaW50by12aWV3LWNyYXNoLWxvZy50eHRVVAUAAyNL
iFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5iWxOGwTFSEMAAABGAAAAQwAYAAAAAAABAAAA
pIG3vwYAY29tcG9zaXRpbmcvYmFja2luZy9hbmltYXRlLWludG8tdmlldy13aXRoLWRlc2NlbmRh
bnQtY3Jhc2gtbG9nLnR4dFVUBQADxkqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKGJbE4A
AAAAAAAAAAAAAAATABgAAAAAAAAAEADtQXfABgBjb21wb3NpdGluZy9jYW52YXMvVVQFAAMNS4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoYlsTpODI0xDAAAARgAAAD8AGAAAAAAAAQAAAKSB
xMAGAGNvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmctY3Jh
c2gtbG9nLnR4dFVUBQADDUuIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG+JbE4SiegE0gAA
ANwFAABKABgAAAAAAAEAAACkgYDBBgBjb21wb3NpdGluZy9jYW52YXMvYWNjZWxlcmF0ZWQtY2Fu
dmFzLWNvbXBvc2l0aW5nLXNpemUtbGltaXQtY3Jhc2gtbG9nLnR4dFVUBQADskqIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAALWEbE4AAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQdbCBgBjcnlw
dG8vVVQFAAPGQohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtoRsTgAAAAAAAAAAAAAAAA4A
GAAAAAAAAAAQAO1BF8MGAGNyeXB0by9zdWJ0bGUvVVQFAAPHQohcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgACAAAAtYRsTiXg0wgsAAAALAAAAD4AGAAAAAAAAQAAAKSBX8MGAGNyeXB0by9zdWJ0bGUv
cnNhLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQFAAPGQohc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtoRsTjA7uLFLAAAAaAAAADwAGAAAAAAAAQAAAKSB
A8QGAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3Rk
ZXJyLnR4dFVUBQADx0KIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALKEbE4AAAAAAAAAAAAA
AAAPABgAAAAAAAAAEADtQcTEBgBjcnlwdG8vd29ya2Vycy9VVAUAA79CiFx1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAACyhGxOAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UENxQYAY3J5cHRvL3dv
cmtlcnMvc3VidGxlL1VUBQADv0KIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAALKEbE4l4NMI
LAAAACwAAAAxABgAAAAAAAEAAACkgV3FBgBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVy
YXRlLWtleS1zdGRlcnIudHh0VVQFAAO/QohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAuIRs
TgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B9MUGAGRpc3BsYXlsaXN0cy9VVAUAA8xCiFx1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC4hGxOAWnL2VYAAACUAAAAMgAYAAAAAAABAAAApIE7xgYA
ZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLXN0ZGVyci50eHRVVAUAA8xC
iFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4hGxOfI0up1AAAACYAAAAKQAYAAAAAAABAAAA
pIH9xgYAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0LXN0ZGVyci50eHRVVAUAA8xCiFx1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADAhGxOAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UGw
xwYAZWRpdGluZy9VVAUAA9dCiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADEhGxOAAAAAAAA
AAAAAAAAFAAYAAAAAAAAABAA7UHyxwYAZWRpdGluZy9leGVjQ29tbWFuZC9VVAUAA+BCiFx1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC9hGxOhfOvVkMAAACGAAAAQQAYAAAAAAABAAAApIFAyAYA
ZWRpdGluZy9leGVjQ29tbWFuZC9jbGlwYm9hcmQtYWNjZXNzLXdpdGgtdXNlci1nZXN0dXJlLXN0
ZGVyci50eHRVVAUAA9ZCiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADEhGxO3g8WjrMAAABb
AgAAOgAYAAAAAAABAAAApIH+yAYAZWRpdGluZy9leGVjQ29tbWFuZC9wYXN0ZS1hbmQtbWF0Y2gt
c3R5bGUtZXZlbnQtc3RkZXJyLnR4dFVUBQAD4EKIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ALyEbE4AAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQSXKBgBlZGl0aW5nL21hYy9VVAUAA9RCiFx1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC8hGxOAAAAAAAAAAAAAAAAFwAYAAAAAAAAABAA7UFr
ygYAZWRpdGluZy9tYWMvcGFzdGVib2FyZC9VVAUAA9RCiFx1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC8hGxOIrYa2XsAAACLAAAAMgAYAAAAAAABAAAApIG8ygYAZWRpdGluZy9tYWMvcGFzdGVi
b2FyZC90ZXh0LXByZWNvbXBvc2VkLXN0ZGVyci50eHRVVAUAA9RCiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADKhGxOAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UGjywYAZWRpdGluZy9wYXN0
ZWJvYXJkL1VUBQAD60KIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCEbE5u/XIXqQAAANAB
AAAlABgAAAAAAAEAAACkgfDLBgBlZGl0aW5nL3Bhc3RlYm9hcmQvMzk3Njg3Mi1zdGRlcnIudHh0
VVQFAAPXQohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwoRsTs9URl6CAAAAkgAAADYAGAAA
AAAAAQAAAKSB+MwGAGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWltYWdlLXdpdGgtYWx0LXRleHQt
c3RkZXJyLnR4dFVUBQAD3EKIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMWEbE6ebScZgAAA
AJIAAABJABgAAAAAAAEAAACkgerNBgBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1n
ZXQtZGF0YS1ub24tbm9ybWFsaXplZC10eXBlcy1zdGRlcnIudHh0VVQFAAPhQohcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAyoRsTjKGYmyiAAAAKwEAAEIAGAAAAAAAAQAAAKSB7c4GAGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1pbWFnZS1kb2VzLW5vdC1yZXZlYWwtZmlsZS11cmwtc3RkZXJy
LnR4dFVUBQAD60KIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK2JbE6fCaoHywsAACVPAAAN
ABgAAAAAAAEAAACkgQvQBgBlcnJvcl9sb2cudHh0VVQFAAMlS4hcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAA8IRsTgAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BHdwGAGZhc3QvVVQFAAMzQ4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA0YRsTgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1B
XNwGAGZhc3QvY3NzL1VUBQAD+UKIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANGEbE7bCNNC
OwAAAD8AAAApABgAAAAAAAEAAACkgZ/cBgBmYXN0L2Nzcy9jb21wYXJlLWNvbnRlbnQtc3R5bGUt
c3RkZXJyLnR4dFVUBQAD+UKIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOuEbE4AAAAAAAAA
AAAAAAAMABgAAAAAAAAAEADtQT3dBgBmYXN0L2V2ZW50cy9VVAUAAylDiFx1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADbhGxOWCpndTkAAABDAAAAMgAYAAAAAAABAAAApIGD3QYAZmFzdC9ldmVu
dHMvZGlzcGxheS1ub25lLW9uLWZvY3VzLWNyYXNoLXN0ZGVyci50eHRVVAUAAw1DiFx1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADrhGxOMLVt4zkAAABDAAAAKwAYAAAAAAABAAAApIEo3gYAZmFz
dC9ldmVudHMvbW91c2UtZm9jdXMtaW1hZ2VtYXAtc3RkZXJyLnR4dFVUBQADKUOIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAOCEbE4AAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQcbeBgBmYXN0
L2ZyYW1lcy9VVAUAAxNDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADghGxO2wjTQjsAAAA/
AAAALwAYAAAAAAABAAAApIEM3wYAZmFzdC9mcmFtZXMvZnJhbWUtZGlzcGxheS1ub25lLWZvY3Vz
LXN0ZGVyci50eHRVVAUAAxNDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADlhGxOAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UGw3wYAZmFzdC9pbWFnZXMvVVQFAAMeQ4hcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA5YRsTiGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSB9t8GAGZhc3QvaW1h
Z2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAAMeQ4hcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAA5IRsTgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BjuAGAGZhc3QvbG9h
ZGVyL1VUBQADG0OIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANqEbE7bCNNCOwAAAD8AAABS
ABgAAAAAAAEAAACkgdTgBgBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9j
ay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAMMQ4hcdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA3IRsTtsI00I7AAAAPwAAAFMAGAAAAAAAAQAAAKSBm+EGAGZh
c3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJl
bG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAMQQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA5IRsTtsI00I7AAAAPwAAAC0AGAAAAAAAAQAAAKSBY+IGAGZhc3QvbG9hZGVyL3JlbG9hZC1w
b2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUBQADG0OIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAPGEbE4AAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQQXjBgBmYXN0L3hzbC9VVAUAAzVDiFx1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADwhGxOTvsg+IgAAADnAAAAJQAYAAAAAAABAAAApIFI
4wYAZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADM0OIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAPCEbE79oi5kjwAAAO4AAAAnABgAAAAAAAEAAACkgS/kBgBmYXN0
L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAAzNDiFx1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADwhGxOsrvGZ4cAAAA0AQAAJAAYAAAAAAABAAAApIEf5QYAZmFzdC94c2wv
eHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQFAAMzQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA8IRsTmRV4lsvAQAAHAIAACIAGAAAAAAAAQAAAKSBBOYGAGZhc3QveHNsL3hzbHQtbWF4
LWRlcHRoLXN0ZGVyci50eHRVVAUAAzRDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADxhGxO
wuv1xowAAABgAQAANAAYAAAAAAABAAAApIGP5wYAZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8t
ZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUBQADNUOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAMSJbE6La86frgMAAL0OAAARABgAAAAAAAEAAACkgYnoBgBmdWxsX3Jlc3VsdHMuanNvblVU
BQADT0uIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABOFbE4AAAAAAAAAAAAAAAAFABgAAAAA
AAAAEADtQYLsBgBodHRwL1VUBQADdkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADmFbE4A
AAAAAAAAAAAAAAALABgAAAAAAAAAEADtQcHsBgBodHRwL3Rlc3RzL1VUBQADvkOIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAACFbE4AAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQQbtBgBodHRw
L3Rlc3RzL2FwcGNhY2hlL1VUBQADT0OIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPKEbE4D
JAxrqgAAAOgAAABDABgAAAAAAAEAAACkgVTtBgBodHRwL3Rlc3RzL2FwcGNhY2hlLzQwNC1yZXNv
dXJjZS13aXRoLXNsb3ctbWFpbi1yZXNvdXJjZS1zdGRlcnIudHh0VVQFAAM4Q4hcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA+4RsTil1QX6UAAAAjgEAAEMAGAAAAAAAAQAAAKSBe+4GAGh0dHAv
dGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXN0ZGVy
ci50eHRVVAUAA0pDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD7hGxOXeyF7pQAAACOAQAA
SQAYAAAAAAABAAAApIGM7wYAaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZGVs
ZXRlLXdoaWxlLXJhaXNpbmctdGltZXItc3RkZXJyLnR4dFVUBQADSkOIXHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAP2EbE7rap5KmQAAAOoBAAAvABgAAAAAAAEAAACkgaPwBgBodHRwL3Rlc3Rz
L2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTItc3RkZXJyLnR4dFVUBQADTkOIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAACFbE4FNbygWAAAAFwAAAAtABgAAAAAAAEAAACkgaXxBgBodHRwL3Rl
c3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLXN0ZGVyci50eHRVVAUAA09DiFx1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAABhWxOAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UFk8gYAaHR0cC90
ZXN0cy9jYWNoZS9VVAUAA1JDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAABhWxOAAAAAAAA
AAAAAAAAHAAYAAAAAAAAABAA7UGv8gYAaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL1VUBQAD
UkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAGFbE6l0DEqxwAAAP0AAAA8ABgAAAAAAAEA
AACkgQXzBgBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVkaXJlY3QtY2hhaW4tbGltaXRz
LXN0ZGVyci50eHRVVAUAA1JDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD5hGxOAAAAAAAA
AAAAAAAAHQAYAAAAAAAAABAA7UFC9AYAaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9VVAUA
A0VDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD4hGxOfu8TNnEAAAB1AAAAQAAYAAAAAAAB
AAAApIGZ9AYAaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9pbmplY3RlZC1zY3JpcHQtY2Fs
bGJhY2stc3RkZXJyLnR4dFVUBQADREOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPmEbE5R
+WqXrAAAAHACAAAyABgAAAAAAAEAAACkgYT1BgBodHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25z
L21ha2UtaHR0cHMtc3RkZXJyLnR4dFVUBQADRUOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AAGFbE4AAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQZz2BgBodHRwL3Rlc3RzL2luc3BlY3Rvci9V
VAUAA1JDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAABhWxOAAAAAAAAAAAAAAAAGQAYAAAA
AAAAABAA7UHr9gYAaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL1VUBQADUkOIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAGFbE4ydsgw51cAAG62AQAwABgAAAAAAAEAAACkgT73BgBodHRwL3Rl
c3RzL2luc3BlY3Rvci9kb20vZGlkRmlyZUV2ZW50LXN0ZGVyci50eHRVVAUAA1JDiFx1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAjhWxOAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGPTwcAaHR0
cC90ZXN0cy9taXNjL1VUBQADkkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACOFbE4VNTWS
egAAALwAAAAqABgAAAAAAAEAAACkgdlPBwBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0
LXN0ZGVyci50eHRVVAUAA5JDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAIhWxOAAAAAAAA
AAAAAAAAFgAYAAAAAAAAABAA7UG3UAcAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUBQADX0OIXHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAGFbE75nKf7aAAAAGoAAAAuABgAAAAAAAEAAACkgQdR
BwBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWdvYmFjay1zdGRlcnIudHh0VVQFAANSQ4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACIVsTtsI00I7AAAAPwAAADcAGAAAAAAAAQAAAKSB
11EHAGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9mYWxsYmFjay1hbmNob3ItcmVsb2FkLXN0ZGVyci50
eHRVVAUAA19DiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABBhWxOAAAAAAAAAAAAAAAAFAAY
AAAAAAAAABAA7UGDUgcAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAA8pDiFx1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAAEhWxOAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UHRUgcAaHR0cC90ZXN0
cy9zZWN1cml0eS9jbGlwYm9hcmQvVVQFAANYQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
BIVsTtIpwEeAAAAAkgAAAFMAGAAAAAAAAQAAAKSBKVMHAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xp
cGJvYXJkL2NvcHktcGFzdGUtdXJsLWFjcm9zcy1vcmlnaW4tc2FuaXRpemVzLXVybC1zdGRlcnIu
dHh0VVQFAANYQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAG4VsTgAAAAAAAAAAAAAAACoA
GAAAAAAAAAAQAO1BNlQHAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L1VUBQADhUOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAWFbE4AAAAAAAAAAAAAAABCABgA
AAAAAAAAEADtQZpUBwBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9i
bG9jay1hbGwtbWl4ZWQtY29udGVudC9VVAUAA1lDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAFhWxORro2p5IAAABiAQAAZwAYAAAAAAABAAAApIEWVQcAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvYmxvY2stYWxsLW1peGVkLWNvbnRlbnQvaW5zZWN1cmUtY3Nz
LWluLW1haW4tZnJhbWUtc3RkZXJyLnR4dFVUBQADWUOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAAaFbE4AAAAAAAAAAAAAAABEABgAAAAAAAAAEADtQUlWBwBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL1VUBQADXEOI
XHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAaFbE6cW017kAAAAJwAAAB+ABgAAAAAAAEAAACk
gcdWBwBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtcmVkaXJlY3QtaHR0cHMtdG8taHR0cC1zY3JpcHQtaW4t
aWZyYW1lLXN0ZGVyci50eHRVVAUAA1xDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAbhWxO
Y6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIEPWAcAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADhUOIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABuFbE5jqqxsggAAAKgAAABSABgAAAAAAAEAAACkgQtZBwBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHls
ZS1zcmMtMi1zdGRlcnIudHh0VVQFAAOFQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADoVs
Tig8kqPLAAAAKgIAAEIAGAAAAAAAAQAAAKSBGVoHAGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLWNhY2hlZC1pbWFnZXMtcGFyYWxsZWwtc3RkZXJyLnR4dFVUBQADbEOIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAgAAABWFbE52b5hSRQAAAEUAAABPABgAAAAAAAEAAACkgWBbBwBodHRw
L3Rlc3RzL3NlY3VyaXR5L2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50LXdyaXRlLWFzeW5jLWRl
bGVnYXRlcy1zdGRlcnIudHh0VVQFAAN6Q4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAFoVs
TsGuechGAAAARgAAAD8AGAAAAAAAAQAAAKSBLlwHAGh0dHAvdGVzdHMvc2VjdXJpdHkvZnJhbWUt
bG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUtc3RkZXJyLnR4dFVUBQADe0OIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAgAAABqFbE5Vsnd0RgAAAEYAAAAyABgAAAAAAAEAAACkge1cBwBodHRwL3Rl
c3RzL3NlY3VyaXR5L3Bhc3RlYm9hcmQtZmlsZS11cmwtc3RkZXJyLnR4dFVUBQADg0OIXHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAEGFbE5gS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgZ9dBwBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2lu
LXN0ZGVyci50eHRVVAUAA8pDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA5hWxOAAAAAAAA
AAAAAAAAGgAYAAAAAAAAABAA7UGvXgcAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9VVAUAA75D
iFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA5hWxO481rg+QAAACTAQAARgAYAAAAAAABAAAA
pIEDXwcAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tc3lu
Yy1kb3VibGUtc3RkZXJyLnR4dFVUBQADvkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABOF
bE4AAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQWdgBwBodHRwL3dwdC9VVAUAA3ZDiFx1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAThWxOAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGqYAcAaHR0
cC93cHQvYmVhY29uL1VUBQADdkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABOFbE4AAAAA
AAAAAAAAAAAVABgAAAAAAAAAEADtQfRgBwBodHRwL3dwdC9iZWFjb24vY29ycy9VVAUAA3ZDiFx1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAThWxOOf+581kBAAA2AwAANQAYAAAAAAABAAAApIFD
YQcAaHR0cC93cHQvYmVhY29uL2NvcnMvY29ycy1yZWRpcmVjdC1mYWlsdXJlLXN0ZGVyci50eHRV
VAUAA3ZDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABDiWxO20B2Bb4FAAC7EAAACgAYAAAA
AAABAAAApIELYwcAaHR0cGQuY29uZlVUBQADXkqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ADmFbE4AAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQQ1pBwBpbXBvcnRlZC9VVAUAA71DiFx1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAAbhWxOAAAAAAAAAAAAAAAADwAYAAAAAAAAABAA7UFQaQcA
aW1wb3J0ZWQvYmxpbmsvVVQFAAOGQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAG4VsTgAA
AAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BmWkHAGltcG9ydGVkL2JsaW5rL2Zhc3QvVVQFAAOGQ4hc
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAHIVsTgAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1B
52kHAGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvVVQFAAOHQ4hcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAG4VsTgAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BO2oHAGltcG9ydGVkL2JsaW5r
L2Zhc3QvZm9ybXMvYnV0dG9uL1VUBQADhkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABuF
bE7HIe/bNwAAAEAAAABHABgAAAAAAAEAAACkgZZqBwBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1z
L2J1dHRvbi9idXR0b24tcmVzZXQtZm9jdXMtYnktbW91c2Utc3RkZXJyLnR4dFVUBQADhkOIXHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABuFbE4AAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQU5r
BwBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL3JhbmdlL1VUBQADhkOIXHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABuFbE7HIe/bNwAAAEAAAAA/ABgAAAAAAAEAAACkgahrBwBpbXBvcnRlZC9i
bGluay9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLWZvY3VzLWJ5LW1vdXNlLXN0ZGVyci50eHRVVAUA
A4ZDiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAchWxOAAAAAAAAAAAAAAAAIQAYAAAAAAAA
ABAA7UFYbAcAaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9zdWJtaXQvVVQFAAOHQ4hcdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAHIVsTsch79s3AAAAQAAAAEEAGAAAAAAAAQAAAKSBs2wHAGlt
cG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvc3VibWl0L3N1Ym1pdC1mb2N1cy1ieS1tb3VzZS1zdGRl
cnIudHh0VVQFAAOHQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAOYVsTgAAAAAAAAAAAAAA
AA0AGAAAAAAAAAAQAO1BZW0HAGltcG9ydGVkL3czYy9VVAUAA71DiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADJhWxOAAAAAAAAAAAAAAAAIAAYAAAAAAAAABAA7UGsbQcAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAUAA8lEiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA5
hWxOAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UEGbgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAAO9Q4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
RYVsTgAAAAAAAAAAAAAAADkAGAAAAAAAAAAQAO1BbW4HAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUBQAD0UOIXHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADmFbE6PNBpwRAAAAKAJAABfABgAAAAAAAEAAACkgeBuBwBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19S
U0EtT0FFUC5odHRwcy5hbnktc3RkZXJyLnR4dFVUBQADvUOIXHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIADuFbE6PNBpwRAAAAKAJAABmABgAAAAAAAEAAACkgb1vBwBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FF
UC5odHRwcy5hbnkud29ya2VyLXN0ZGVyci50eHRVVAUAA8JDiFx1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAA9hWxOVALJsjYAAADAAgAAXgAYAAAAAAABAAAApIGhcAcAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvZmFpbHVyZXNfUlNBLVBT
Uy5odHRwcy5hbnktc3RkZXJyLnR4dFVUBQADxkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AEGFbE5UAsmyNgAAAMACAABlABgAAAAAAAEAAACkgW9xBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtUFNTLmh0dHBz
LmFueS53b3JrZXItc3RkZXJyLnR4dFVUBQADykOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AEOFbE5UAsmyNgAAAMACAABoABgAAAAAAAEAAACkgURyBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEt
djFfNS5odHRwcy5hbnktc3RkZXJyLnR4dFVUBQADzkOIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAEWFbE5UAsmyNgAAAMACAABvABgAAAAAAAEAAACkgRxzBwBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtD
UzEtdjFfNS5odHRwcy5hbnkud29ya2VyLXN0ZGVyci50eHRVVAUAA9FDiFx1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABPhWxOAAAAAAAAAAAAAAAAJwAYAAAAAAAAABAA7UH7cwcAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vVVQFAAPmQ4hcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAT4VsTgAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1BXHQHAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2hlYWRlcnMvVVQFAAPmQ4hcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAT4VsTgAAAAAAAAAAAAAAAE0AGAAAAAAAAAAAAKSBxXQHAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2hlYWRlcnMvaGVhZGVyLWNvbnRlbnQtdHlwZS1h
Y3R1YWwudHh0VVQFAAPmQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAT4VsTqRBrTGUAAAA
gwEAAE8AGAAAAAAAAQAAAKSBTHUHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVh
Y29uL2hlYWRlcnMvaGVhZGVyLWNvbnRlbnQtdHlwZS1leHBlY3RlZC50eHRVVAUAA+ZDiFx1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAABghWxOAAAAAAAAAAAAAAAAJgAYAAAAAAAAABAA7UFpdgcA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9VVAUAAwREiFx1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAABXhWxOAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHJdgcAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvVVQFAAP2Q4hcdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAW4VsTgAAAAAAAAAAAAAAADAAGAAAAAAAAAAQAO1BLXcHAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL1VUBQAD/kOIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFWFbE4GAXg9KQEAABoPAABPABgAAAAAAAEAAACkgZd3BwBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9ibG9jay1taW1lLWFz
LXNjcmlwdC1zdGRlcnIudHh0VVQFAAPxQ4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWoVs
Tr0Xy/EZAQAAWwQAAE8AGAAAAAAAAQAAAKSBSXkHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL21vZGUtc2FtZS1vcmlnaW4uYW55LXN0ZGVyci50eHRVVAUA
A/tDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABbhWxOZvSNlp8AAADnAwAASwAYAAAAAAAB
AAAApIHregcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMv
c2NoZW1lLWFib3V0LmFueS1zdGRlcnIudHh0VVQFAAP+Q4hcdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAY4VsTgAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1BD3wHAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvVVQFAAMKRIhcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAV4VsTlRnAjsVAgAAcwsAAEkAGAAAAAAAAQAAAKSBeHwHAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1vcmlnaW4uYW55LXN0ZGVyci50
eHRVVAUAA/ZDiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABhhWxOwLnRnPsCAAAwFgAAUwAY
AAAAAAABAAAApIEQfwcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
Y29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMuYW55LXN0ZGVyci50eHRVVAUAAwZEiFx1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABihWxOxd11KLEBAAAgBwAATAAYAAAAAAABAAAApIGYggcAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdo
dC5hbnktc3RkZXJyLnR4dFVUBQADB0SIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGOFbE7w
Ks7G6QIAAHEWAABVABgAAAAAAAEAAACkgc+EBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcmVkaXJlY3QtcHJlZmxpZ2h0LmFueS1zdGRlcnIudHh0
VVQFAAMKRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAXYVsTgAAAAAAAAAAAAAAADMAGAAA
AAAAAAAQAO1BR4gHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvY29udGVu
dC10eXBlL1VUBQADAUSIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAF2FbE5s18EgZQEAALoN
AABLABgAAAAAAAEAAACkgbSIBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2NvbnRlbnQtdHlwZS9zY3JpcHQud2luZG93LXN0ZGVyci50eHRVVAUAAwFEiFx1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAABghWxOAAAAAAAAAAAAAAAALgAYAAAAAAAAABAA7UGeigcAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL1VUBQADBESIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAGCFbE7/OAvaAwEAAPAFAABPABgAAAAAAAEAAACkgQaLBwBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvcGFyc2luZy1ub3NuaWZm
LndpbmRvdy1zdGRlcnIudHh0VVQFAAMERIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYIVs
TvCJWo/AAAAArgQAAD8AGAAAAAAAAQAAAKSBkowHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvbm9zbmlmZi9zY3JpcHQtc3RkZXJyLnR4dFVUBQADBESIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAGCFbE5vx6LSzwAAABQJAABDABgAAAAAAAEAAACkgcuNBwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc3R5bGVzaGVldC1zdGRlcnIu
dHh0VVQFAAMERIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAh4VsTgAAAAAAAAAAAAAAACUA
GAAAAAAAAAAQAO1BF48HAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9VVAUA
A05EiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABqhWxOAAAAAAAAAAAAAAAALgAYAAAAAAAA
ABAA7UF2jwcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL1VU
BQADGESIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGqFbE4AAAAAAAAAAAAAAAA2ABgAAAAA
AAAAEADtQd6PBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
aGlzdG9yeS9VVAUAAxhEiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABrhWxOAAAAAAAAAAAA
AAAATQAYAAAAAAAAABAA7UFOkAcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9VVAUAAxlEiFx1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABrhWxOOf5Iz04AAAB/AAAAewAYAAAAAAABAAAApIHVkAcAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxv
Y2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9uLWJyb2tlbi1zdGRl
cnIudHh0VVQFAAMZRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAaoVsTiDAbBxAAAAAQAAA
AIEAGAAAAAAAAQAAAKSB2JEHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wt
c2V0dGVyLW5vbi1icm9rZW4td2VpcmQtc3RkZXJyLnR4dFVUBQADGESIXHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAIeFbE4AAAAAAAAAAAAAAAAvABgAAAAAAAAAEADtQdOSBwBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL1VUBQADTkSIXHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAIeFbE4AAAAAAAAAAAAAAABAABgAAAAAAAAAEADtQTyTBwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
VVQFAANORIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAh4VsTgAAAAAAAAAAAAAAAFMAGAAA
AAAAAAAQAO1BtpMHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvVVQFAANORIhcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAh4VsTnW8qaJOAQAAwgIAAHwAGAAAAAAAAQAAAKSBQ5QHAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC90aGUtaWZyYW1lLWVsZW1lbnQvc2FuZGJveC1hc2NpaS1jYXNlLWluc2Vuc2l0aXZlLXN0ZGVy
ci50eHRVVAUAA05EiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADJhWxOAAAAAAAAAAAAAAAA
MAAYAAAAAAAAABAA7UFHlgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvVVQFAAPJRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9YVsTgAAAAAAAAAA
AAAAAD8AGAAAAAAAAAAQAO1BsZYHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1VUBQADHkWIXHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMmFbE7sKJt27QAAAL8CAABkABgAAAAAAAEAAACkgSqXBwBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1mcmFt
ZS1yZXNvdXJjZS5odHRwcy1zdGRlcnIudHh0VVQFAAPJRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAyoVsTnIFeHTDAAAA2AUAAGgAGAAAAAAAAQAAAKSBtZgHAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVl
c3QtY3NzLWltYWdlcy5odHRwcy1zdGRlcnIudHh0VVQFAAPMRIhcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAzIVsTiAyh6t0AQAALSsAAGcAGAAAAAAAAQAAAKSBGpoHAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJl
cXVlc3QtcmVzb3VyY2VzLmh0dHBzLXN0ZGVyci50eHRVVAUAA89EiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADOhWxOTU6LkCACAACbMgAAZAAYAAAAAAABAAAApIEvnAcAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
cmVzcG9uc2UtdGFpbnQuaHR0cHMtc3RkZXJyLnR4dFVUBQAD00SIXHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAOGFbE6ZZ8/1ewAAAIsAAABmABgAAAAAAAEAAACkge2eBwBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Rl
ci1jbG9zZWQtd2luZG93Lmh0dHBzLXN0ZGVyci50eHRVVAUAA/VEiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADmhWxO5uQxzq8AAAB0AQAAawAYAAAAAAABAAAApIEIoAcAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0
cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBzLXN0ZGVyci50eHRVVAUAAwBFiFx1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAD1hWxOiYHwR3IAAAB0AAAAawAYAAAAAAABAAAApIFcoQcAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d2Vic29ja2V0LWluLXNlcnZpY2Utd29ya2VyLmh0dHBzLXN0ZGVyci50eHRVVAUAAx5FiFx1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAACkhWxOAAAAAAAAAAAAAAAAKQAYAAAAAAAAABAA7UFzogcA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9VVAUAA4REiFx1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACkhWxOAAAAAAAAAAAAAAAANwAYAAAAAAAAABAA7UHWogcAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL1VUBQAD
hESIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKSFbE4AAAAAAAAAAAAAAABXABgAAAAAAAAA
EADtQUejBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRp
by1hcGkvdGhlLWNoYW5uZWxtZXJnZXJub2RlLWludGVyZmFjZS9VVAUAA4REiFx1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACkhWxOMw8qxG8AAAB6AAAAfwAYAAAAAAABAAAApIHYowcAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1jaGFu
bmVsbWVyZ2Vybm9kZS1pbnRlcmZhY2UvYXVkaW9jaGFubmVsbWVyZ2VyLWRpc2Nvbm5lY3Qtc3Rk
ZXJyLnR4dFVUBQADhESIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALGFbE4AAAAAAAAAAAAA
AAAkABgAAAAAAAAAEADtQQClBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9V
VAUAA55EiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACwhWxOYEj1qqsAAADuAAAAYwAYAAAA
AAABAAAApIFepQcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtY29ycy1zYWZlbGlzdGVkLXJlcXVlc3QtaGVhZGVycy1zdGRlcnIudHh0VVQF
AAObRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsIVsTnsl0YuoAAAA5AAAAFcAGAAAAAAA
AQAAAKSBpqYHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250
cm9sLWJhc2ljLWdldC1mYWlsLW5vbi1zaW1wbGUtc3RkZXJyLnR4dFVUBQADm0SIXHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALCFbE5FD1i1qAAAAOQAAABuABgAAAAAAAEAAACkgd+nBwBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0
LXdpdGgtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUtc3RkZXJyLnR4dFVUBQADm0SI
XHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALGFbE7tvvzkbgAAAHYAAABEABgAAAAAAAEAAACk
gS+pBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRl
ci5zdWItc3RkZXJyLnR4dFVUBQADnkSIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALiFbE4A
AAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQRuqBwBpbnNwZWN0b3IvVVQFAAOsRIhcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAsIVsTgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BX6oHAGluc3Bl
Y3Rvci9jb25zb2xlL1VUBQADnESIXHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK6FbE5g5/AD
ZAMAAN0gAAA/ABgAAAAAAAEAAACkgauqBwBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUt
YXBpLWdldEV2ZW50TGlzdGVuZXJzLXN0ZGVyci50eHRVVAUAA5hEiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACwhWxOfRt3wRICAABSCgAALAAYAAAAAAABAAAApIGIrgcAaW5zcGVjdG9yL2Nv
bnNvbGUvd2ViY29yZS1sb2dnaW5nLXN0ZGVyci50eHRVVAUAA5xEiFx1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACwhWxOAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA7UEAsQcAaW5zcGVjdG9yL2Nz
cy9VVAUAA5xEiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACwhWxOxHN+vwEFAADWIwAAKAAY
AAAAAAABAAAApIFIsQcAaW5zcGVjdG9yL2Nzcy9wc2V1ZG8tY3JlYXRpb24tc3RkZXJyLnR4dFVU
BQADnESIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALiFbE4AAAAAAAAAAAAAAAATABgAAAAA
AAAAEADtQau2BwBpbnNwZWN0b3IvZGVidWdnZXIvVVQFAAOsRIhcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAuIVsTqFPO+7iBQAAI0YAADsAGAAAAAAAAQAAAKSB+LYHAGluc3BlY3Rvci9kZWJ1
Z2dlci9ldmFsdWF0ZU9uQ2FsbEZyYW1lLWV4Y2VwdGlvbi1zdGRlcnIudHh0VVQFAAOsRIhcdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxIlsTl+oMj2KegAAdgIEAB0AGAAAAAAAAQAAAKSBT70H
AGxheW91dF90ZXN0X3BlcmZfbWV0cmljcy5qc29uVVQFAANPS4hcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAA0YVsTgAAAAAAAAAAAAAAAAYAGAAAAAAAAAAQAO1BMDgIAG1lZGlhL1VUBQAD2USI
XHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANGFbE6J47trXwAAAGYAAAAiABgAAAAAAAEAAACk
gXA4CABtZWRpYS9ldmVudC1xdWV1ZS1jcmFzaC1zdGRlcnIudHh0VVQFAAPZRIhcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAA1oVsTgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BKzkIAHBsdWdp
bnMvVVQFAAPjRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1oVsTu5dckWGAAAA9gAAADsA
GAAAAAAAAQAAAKSBbTkIAHBsdWdpbnMvbnBwLXNldC13aW5kb3ctY2FsbGVkLWR1cmluZy1kZXN0
cnVjdGlvbi1zdGRlcnIudHh0VVQFAAPjRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARIls
TgAAAAAAAAAAAAAAABoAGAAAAAAAAAAAAKSBaDoIAHB5d2Vic29ja2V0LndzLmxvZy1lcnIudHh0
VVQFAANgSohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARIlsTgAAAAAAAAAAAAAAABoAGAAA
AAAAAAAAAKSBvDoIAHB5d2Vic29ja2V0LndzLmxvZy1vdXQudHh0VVQFAANgSohcdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAARYlsTgAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBEDsIAHB5d2Vi
c29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADYUqIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AEWJbE4AAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgWU7CABweXdlYnNvY2tldC53c3MubG9nLW91
dC50eHRVVAUAA2FKiFx1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADEiWxORR4ntQQyAACf7wAA
DAAYAAAAAAABAAAApIG6OwgAcmVzdWx0cy5odG1sVVQFAANQS4hcdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAdoZsTgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BBG4IAHJldHJpZXMvVVQFAAMQ
RohcdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA14VsTgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQ
AO1BRm4IAHNjcm9sbGJhcnMvVVQFAAPmRIhcdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA14Vs
Tm69I2E5AAAAQgAAADsAGAAAAAAAAQAAAKSBi24IAHNjcm9sbGJhcnMvc2Nyb2xsZXZlbnQtaWZy
YW1lLW5vLXNjcm9sbGluZy13aGVlbC1zdGRlcnIudHh0VVQFAAPmRIhcdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAxIlsTk1oGNgbBAAAOQwAAAoAGAAAAAAAAQAAAKSBOW8IAHN0YXRzLmpzb25V
VAUAA09LiFx1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADihWxOAAAAAAAAAAAAAAAABAAYAAAA
AAAAABAA7UGYcwgAc3ZnL1VUBQAD90SIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOKFbE4A
AAAAAAAAAAAAAAANABgAAAAAAAAAEADtQdZzCABzdmcvYXMtaW1hZ2UvVVQFAAP3RIhcdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA4oVsTtsI00I7AAAAPwAAAD8AGAAAAAAAAQAAAKSBHXQIAHN2
Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0aC1kYXRhLXVyaS1pbWFnZXMtZGlzYWJsZWQtc3RkZXJy
LnR4dFVUBQAD90SIXHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPaFbE4AAAAAAAAAAAAAAAAL
ABgAAAAAAAAAEADtQdF0CAB3ZWJhcmNoaXZlL1VUBQADIEWIXHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPaFbE7bCNNCOwAAAD8AAAA6ABgAAAAAAAEAAACkgRZ1CAB3ZWJhcmNoaXZlL3Rlc3Qt
bGluay1yZWwtc3VicmVzb3VyY2UtYmVmb3JlbG9hZC1zdGRlcnIudHh0VVQFAAMgRYhcdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAw4lsTtYBUWJ1AgAAohYAABkAGAAAAAAAAQAAAKSBxXUIAHdw
dHdrX3Byb2Nlc3NfbG9nLm91dC50eHRVVAUAA05LiFx1eAsAAQT1AQAABBQAAABQSwUGAAAAAAMB
AwFtdwAAjXgIAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364503</attachid>
            <date>2019-03-12 20:29:58 -0700</date>
            <delta_ts>2019-03-12 20:43:46 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312202957.patch</filename>
            <type>text/plain</type>
            <size>57516</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uN2IyNzkxMDIzZTc1ZmRiNjhhNDAzNTVlYmU3ZjQ3
ZDQ3OWY1NTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIGVkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbzo6ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25z
dCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGFuZCBib2R5IGJh
Y2tncm91bmQgY29sb3IgdGhyb3VnaCBIVE1MQ29udmVydGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YmVjY2Ux
MmNhMGZjMWFjNGJlZGY1NjFjNzMwYjY5OWMyY2M1NGUxLi45OGY4ZmQ3ZTBiNGYzNWRiOGNkZDJl
ZWNjYjI2ZTA2YmM2ZDRlNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTEy
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xp
ZGF0ZSBBcmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBNZXJnZSB0aGUgdHdvIHNpbWlsYXIgZW5jb2RlcnMgYW5kIGRlY29kZXJz
LiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2hlcmUKKyAgICAgICAgb25lIGVuY29kZXIgY291bGQgYmUg
dXNlZCBhbmQgdGhlIG90aGVyIGRlY29kZXIsIHdoaWNoIGNhdXNlZCBhIGNyYXNoLgorICAgICAg
ICBJdCBhbHNvIHN0b3BzIGhhbmRsaW5nIE5TQXR0cmlidXRlZFN0cmluZyBzcGVjaXVmaWNhbGx5
IGFuZCBqdXN0IHVzZXMKKyAgICAgICAgdGhlIE5TU2VjdXJlQ29kaW5nIHBhdGggdG8gaGFuZGxl
IG1vcmUgY29tcGxleCBhdHRyaWJ1dGVzLgorCisgICAgICAgIFNvbWUgV2ViQ29yZSBlbmNvZGVy
cyBjb2RlIG5lZWRlZCB0byBtb3ZlIHRvIHBsYXRmb3JtIGZpbGVzLCBzaW5jZQorICAgICAgICBB
cmd1bWVudENvZGVyc0NvY29hLmggcmVxdWlyZXMgYW4gT2JqZWN0aXZlQysrIGltcGxlbWVudGF0
aW9uIHRvIHdvcmsuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2Nv
YS5oOgorICAgICAgICAoSVBDOjplbmNvZGUpOgorICAgICAgICAoSVBDOjpkZWNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+Pjo6ZGVjb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6dHlwZUZy
b21PYmplY3QpOgorICAgICAgICAoSVBDOjppc1NlcmlhbGl6YWJsZUZvbnQpOgorICAgICAgICAo
SVBDOjppc1NlcmlhbGl6YWJsZVZhbHVlKToKKyAgICAgICAgKElQQzo6ZW5jb2RlT2JqZWN0KToK
KyAgICAgICAgKElQQzo6ZGVjb2RlT2JqZWN0KToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvTG9h
ZFBhcmFtZXRlcnNDb2NvYS5tbToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFy
Z3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL0FyZ3VtZW50Q29k
ZXJzTWFjLmg6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01h
Yy5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06
CisgICAgICAgIChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgICogU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW06CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAxOS0wMy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3JlIGF0dGVtcHRzIGF0IGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKaW5kZXggZjFjNjVhNDhkNjBhMGE4YzVlYWZlM2U2
M2MzZTc0YzA5OTQ3YTZmYS4uMTUwNmIzNmJkOTM3YTMyNWRjNDE4Y2ViYjFlY2IxNjRmZTVhYTA4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKQEAg
LTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBEaWN0aW9uYXJ5UG9wdXBJbmZvIHsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBvcHRpb25zOwogICAgIFJldGFp
blB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGF0dHJpYnV0ZWRTdHJpbmc7CisKKyAgICBib29sIGVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisjZWxz
ZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0
ZXMuaAppbmRleCA4M2YyNjRlMDliMWRhM2E2ZDBkYzJkYjBhZDQzYzVjMzU3MjM5NWQ3Li42MmFi
MTY1ZTlmYTRlYWNjNjhlYWZkM2QxMDYxZmVlYWY1OTMxN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC03OSw3ICs3OSwxMSBAQCBzdHJ1Y3QgRm9udEF0dHJp
YnV0ZXMgewogICAgIGVudW0gY2xhc3MgSG9yaXpvbnRhbEFsaWdubWVudCA6IHVpbnQ4X3QgeyBM
ZWZ0LCBDZW50ZXIsIFJpZ2h0LCBKdXN0aWZ5LCBOYXR1cmFsIH07CiAKICNpZiBQTEFURk9STShD
T0NPQSkKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBjcmVhdGVEaWN0aW9uYXJ5KCkgY29uc3Q7CisjZWxzZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1
aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EuaAppbmRleCA5NzZkMzgxMjI4NWRlZWZiZTMwMjIxZWJlYjM0NWVmZGUxMWNj
MmYwLi5mMDgxODFkMDc1ZjQyNzRlMmFmOGZmM2ZjYTIzNjVhMWQ3ZjBkYTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgsIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwxNyAr
MzEsMTUgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXIm
LCBpZCA8TlNTZWN1cmVDb2Rpbmc+KTsKLU9wdGlvbmFsPFJldGFpblB0cjxpZCA8TlNTZWN1cmVD
b2Rpbmc+Pj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMpOwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYsIGlkKTsKK09wdGlvbmFsPFJldGFp
blB0cjxpZD4+IGRlY29kZU9iamVjdChEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzKTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gT3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBk
ZWNvZGUoRGVjb2RlciYsIENsYXNzIGFsbG93ZWRDbGFzcyk7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4g
KmFsbG93ZWRDbGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
dXNpbmcgSXNPYmpDT2JqZWN0ID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2NvbnZlcnRpYmxl
PFQgKiwgaWQ+Ojp2YWx1ZSwgVCAqPjsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLU9wdGlvbmFs
PFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIENsYXNzIGFsbG93ZWRDbGFz
cykKLXsKLSAgICByZXR1cm4gZGVjb2RlPFQ+KGRlY29kZXIsIEBbIGFsbG93ZWRDbGFzcyBdKTsK
LX0KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiB2b2lk
IGVuY29kZShFbmNvZGVyJiwgVCAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0g
SXNPYmpDT2JqZWN0PFQ+PiBib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPFQ+Jik7CisK
K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiBPcHRpb25h
bDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwogCiAjaWZuZGVmIE5ERUJVRwogCkBAIC01Niw3ICs1
NCwyMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNPYmplY3RDbGFzc0FsbG93ZWQoaWQgb2JqZWN0
LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZQogCiAjZW5kaWYKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgordm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVCAqb2JqZWN0KQoreworICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBv
YmplY3QpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4KK2Jvb2wgZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxUPiYgcmVzdWx0KQoreworICAgIGF1dG8gb2Jq
ZWN0ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIEBbIFtUIGNsYXNzXSBdKTsKKyAgICBpZiAoIW9i
amVjdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdCA9IG9iamVjdC52YWx1ZSgp
OworICAgIHJldHVybiB0cnVlOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4K
IE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8
Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKICAgICBhdXRvIHJlc3VsdCA9IGRlY29kZU9iamVj
dChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CkBAIC03MSwxMCArODUsOCBAQCBPcHRpb25hbDxS
ZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxs
b3dlZENsYXNzZXMpCiAgICAgcmV0dXJuIHsgYWRvcHROUyhzdGF0aWNfY2FzdDxUICo+KG9iamVj
dCkpIH07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHVzaW5nIENvbmZvcm1zVG9TZWN1cmVD
b2RpbmcgPSBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQgKiwgaWQgPE5TU2VjdXJlQ29kaW5nPj47Ci0K
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPFQgKj4gewotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9pZl90PENvbmZvcm1zVG9TZWN1cmVD
b2Rpbmc8VT46OnZhbHVlPiogPSBudWxscHRyPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVSAqb2JqZWN0KQogICAgIHsKICAgICAgICAgZW5jb2RlT2JqZWN0KGVu
Y29kZXIsIG9iamVjdCk7CkBAIC04MiwxNiArOTQsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+IHsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9ybXNUb1NlY3VyZUNvZGluZzxVPjo6dmFs
dWU+KiA9IG51bGxwdHI+Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFJldGFpblB0cjxVPiYgb2JqZWN0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmV0YWluUHRyPFQ+JiBvYmplY3QpCiAgICAgewotICAgICAg
ICBBcmd1bWVudENvZGVyPFUgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOworICAg
ICAgICBBcmd1bWVudENvZGVyPFQgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOwog
ICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxD
b25mb3Jtc1RvU2VjdXJlQ29kaW5nPFU+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KLSAgICBzdGF0aWMg
T3B0aW9uYWw8UmV0YWluUHRyPFU+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBVID0gVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CisgICAgc3Rh
dGljIE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gSVBDOjpkZWNvZGU8VT4oZGVjb2Rlcik7CisgICAgICAgIHJldHVy
biBJUEM6OmRlY29kZTxUPihkZWNvZGVyKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBjYzRiY2QzM2Yy
ZGFmZjA0ZjY2MmMwOGJhMGU5MWE0N2RkZDYyZmE3Li5kZDI3OGRlMzFmNTE2YzZjYmMxNjQ5MWVl
MjUyYjcwMjg1ZDc3YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9B
cmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDIxICsyOSwyNzEgQEAKICNpZiBQTEFURk9STShDT0NP
QSkKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgorI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250Lmg+CisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL2NvY29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjaWYgVVNFKEFQUEtJVCkKKyNp
bXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KKyNlbmRpZgorCisjaWYgVVNFKEFQUEtJVCkKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250IE5TRm9udAorI2RlZmluZSBQbGF0Zm9ybUZvbnREZXNjcmlwdG9y
IE5TRm9udERlc2NyaXB0b3IKKyNlbHNlCisjZGVmaW5lIFBsYXRmb3JtRm9udCBVSUZvbnQKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250RGVzY3JpcHRvciBVSUZvbnREZXNjcmlwdG9yCisjZW5kaWYKKwog
bmFtZXNwYWNlIElQQyB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworZW51bSBjbGFzcyBO
U1R5cGUgeworICAgIEFycmF5LAorI2lmIFVTRShBUFBLSVQpCisgICAgQ29sb3IsCisjZW5kaWYK
KyAgICBEYXRhLAorICAgIERhdGUsCisgICAgRGljdGlvbmFyeSwKKyAgICBGb250LAorICAgIE51
bWJlciwKKyAgICBTZWN1cmVDb2RpbmcsCisgICAgU3RyaW5nLAorICAgIFVSTCwKKyAgICBVbmtu
b3duLAorfTsKKworc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3QpCit7Cisg
ICAgQVNTRVJUKG9iamVjdCk7CisKKyAgICAvLyBTcGVjaWZpYyBjbGFzc2VzIGhhbmRsZWQuCisg
ICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQorICAgICAgICBy
ZXR1cm4gTlNUeXBlOjpBcnJheTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29s
b3I7CisjZW5kaWYKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGEgY2xhc3Nd
XSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0YTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRP
ZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0ZTsKKyAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSkKKyAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNs
YXNzOltQbGF0Zm9ybUZvbnQgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsK
KyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKQorICAgICAg
ICByZXR1cm4gTlNUeXBlOjpOdW1iZXI7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpb
TlNTdHJpbmcgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6U3RyaW5nOworICAgIGlm
IChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TVVJMIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBO
U1R5cGU6OlVSTDsKKworICAgIC8vIFNlY3VyZSBjb2RpbmcgY2hlY2sgaXMgYWZ0ZXIgc3BlY2lm
aWMgY2FzZXMuCisgICAgaWYgKFtvYmplY3QgY29uZm9ybXNUb1Byb3RvY29sOkBwcm90b2NvbChO
U1NlY3VyZUNvZGluZyldKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpTZWN1cmVDb2Rpbmc7CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gTlNUeXBlOjpVbmtub3duOwor
fQorCitzdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVGb250KENURm9udFJlZiBmb250
KQoreworICAgIHJldHVybiBhZG9wdENGKENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9u
dFVSTEF0dHJpYnV0ZSkpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVW
YWx1ZShpZCB2YWx1ZSkKK3sKKyAgICBpZiAoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W1BsYXRmb3Jt
Rm9udCBjbGFzc11dKQorICAgICAgICByZXR1cm4gaXNTZXJpYWxpemFibGVGb250KChfX2JyaWRn
ZSBDVEZvbnRSZWYpdmFsdWUpOworICAgIHJldHVybiB0eXBlRnJvbU9iamVjdCh2YWx1ZSkgIT0g
TlNUeXBlOjpVbmtub3duOworfQorCitzdGF0aWMgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVy
JiBlbmNvZGVyLCBOU0FycmF5ICphcnJheSkKK3sKKyAgICAvLyBFdmVuIHRob3VnaCBOU0FycmF5
IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZBcnJheVJlZiwgdmFsdWVzIG1heSBub3QgYmUs
CisgICAgLy8gc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCisKKyAg
ICBpZiAoIWFycmF5LmNvdW50KSB7CisgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWlu
dDY0X3Q+KDApOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmV0YWluUHRyPE5TTXV0
YWJsZUluZGV4U2V0PiB2YWxpZEluZGljaWVzID0gYWRvcHROUyhbW05TTXV0YWJsZUluZGV4U2V0
IGFsbG9jXSBpbml0XSk7CisgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwOyBpIDwgYXJyYXkuY291
bnQ7ICsraSkgeworICAgICAgICBpZCB2YWx1ZSA9IGFycmF5W2ldOworCisgICAgICAgIC8vIEln
bm9yZSB2YWx1ZXMgd2UgZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXph
YmxlVmFsdWUodmFsdWUpKTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVl
KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIFt2YWxpZEluZGljaWVzIGFkZElu
ZGV4OmldOworICAgIH0KKworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHZh
bGlkSW5kaWNpZXMuZ2V0KCkuY291bnQpOworCisgICAgW3ZhbGlkSW5kaWNpZXMuZ2V0KCkgZW51
bWVyYXRlSW5kZXhlc1VzaW5nQmxvY2s6XihOU1VJbnRlZ2VyIGksIEJPT0wgKnN0b3ApIHsKKyAg
ICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIGFycmF5W2ldKTsKKyAgICB9XTsKK30KKworc3Rh
dGljIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZUFycmF5SW50ZXJuYWwoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICB1aW50NjRfdCBzaXplOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
c2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBSZXRhaW5QdHI8TlNN
dXRhYmxlQXJyYXk+IGFycmF5ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0
V2l0aENhcGFjaXR5OnNpemVdKTsKKyAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKSB7CisgICAgICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IHZhbHVlID0gZGVjb2RlT2Jq
ZWN0KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworICAgICAgICBbYXJyYXkgYWRkT2JqZWN0OnZhbHVlLnZhbHVlKCku
Z2V0KCldOworICAgIH0KKworICAgIHJldHVybiB7IGFycmF5IH07Cit9CisKKyNpZiBVU0UoQVBQ
S0lUKQorc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIs
IE5TQ29sb3IgKmNvbG9yKQoreworICAgIGVuY29kZXIgPDwgY29sb3JGcm9tTlNDb2xvcihjb2xv
cik7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlQ29s
b3JJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIENvbG9yIGNvbG9yOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoY29sb3IpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgIHJldHVybiB7IG5zQ29sb3IoY29sb3IpIH07Cit9CisjZW5kaWYKKworc3RhdGljIGlubGlu
ZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5TRGF0YSAqZGF0YSkKK3sK
KyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilkYXRhKTsKK30KKworc3Rh
dGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVEYXRhSW50ZXJuYWwoRGVj
b2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOworICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgIHJldHVybiB7IGFkb3B0TlMoKE5TRGF0YSAqKWRhdGEubGVha1JlZigpKSB9OworfQorCitz
dGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRl
ICpkYXRlKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRlUmVmKWRhdGUp
OworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZURhdGVJ
bnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxDRkRhdGVSZWY+IGRh
dGU7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNEYXRlICopZGF0ZS5sZWFrUmVmKCkp
IH07Cit9CisKK3N0YXRpYyB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5T
RGljdGlvbmFyeSAqZGljdGlvbmFyeSkKK3sKKyAgICAvLyBFdmVuIHRob3VnaCBOU0RpY3Rpb25h
cnkgaXMgdG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkRpY3Rpb25hcnlSZWYsIGtleXMvdmFsdWVz
IG1heSBub3QgYmUsCisgICAgLy8gc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdz
IGNvZGUuCisKKyAgICBpZiAoIWRpY3Rpb25hcnkuY291bnQpIHsKKyAgICAgICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlT3JkZXJlZFNldD4gdmFsaWRLZXlzID0gYWRvcHROUyhbW05T
TXV0YWJsZU9yZGVyZWRTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6ZGljdGlvbmFyeS5jb3Vu
dF0pOworICAgIGZvciAoaWQga2V5IGluIGRpY3Rpb25hcnkpIHsKKyAgICAgICAgaWQgdmFsdWUg
PSBkaWN0aW9uYXJ5W2tleV07CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisKKyAgICAgICAgLy8g
SWdub3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBBU1NFUlQoaXNTZXJpYWxp
emFibGVWYWx1ZShrZXkpKTsKKyAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFs
dWUpKTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKGtleSkgfHwgIWlzU2VyaWFs
aXphYmxlVmFsdWUodmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgW3Zh
bGlkS2V5cyBhZGRPYmplY3Q6a2V5XTsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pih2YWxpZEtleXMuZ2V0KCkuY291bnQpOworCisgICAgZm9yIChpZCBrZXkg
aW4gdmFsaWRLZXlzLmdldCgpKSB7CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBrZXkp
OworICAgICAgICBlbmNvZGVPYmplY3QoZW5jb2RlciwgZGljdGlvbmFyeVtrZXldKTsKKyAgICB9
Cit9CisKK3N0YXRpYyBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVEaWN0aW9uYXJ5SW50
ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICB1aW50NjRfdCBzaXplOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IGFkb3B0TlMoW1tO
U011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsKKyAgICBm
b3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIE9wdGlvbmFsPFJl
dGFpblB0cjxpZD4+IGtleSA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBuaWwpOworICAgICAgICBp
ZiAoIWtleSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0
aW9uYWw8UmV0YWluUHRyPGlkPj4gdmFsdWUgPSBkZWNvZGVPYmplY3QoZGVjb2RlciwgbmlsKTsK
KyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICAgICAgW2RpY3Rpb25hcnkgc2V0T2JqZWN0OnZhbHVlLnZhbHVlKCkuZ2V0KCkgZm9yS2V5
OmtleS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXR1cm4geyBkaWN0aW9uYXJ5IH07
Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVy
LCBQbGF0Zm9ybUZvbnQgKmZvbnQpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERl
c2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMpOworfQorCitzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRy
PGlkPj4gZGVjb2RlRm9udEludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWlu
UHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7CisgICAgaWYgKCFkZWNvZGUoZGVjb2Rl
ciwgZm9udEF0dHJpYnV0ZXMpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
UGxhdGZvcm1Gb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbUGxhdGZvcm1Gb250RGVz
Y3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250QXR0cmlidXRlcy5n
ZXQoKV07CisgICAgcmV0dXJuIHsgW1BsYXRmb3JtRm9udCBmb250V2l0aERlc2NyaXB0b3I6Zm9u
dERlc2NyaXB0b3Igc2l6ZTowXSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50
ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51bWJlcikKK3sKKyAgICBlbmNvZGUo
ZW5jb2RlciwgKF9fYnJpZGdlIENGTnVtYmVyUmVmKW51bWJlcik7Cit9CisKK3N0YXRpYyBpbmxp
bmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlTnVtYmVySW50ZXJuYWwoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJSZWY+IG51bWJlcjsKKyAgICBpZiAo
IWRlY29kZShkZWNvZGVyLCBudW1iZXIpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgIHJldHVybiB7IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVyLmxlYWtSZWYoKSkgfTsKK30K
IAotdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgaWQgPE5TU2VjdXJlQ29kaW5n
PiBvYmplY3QpCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJuYWwoRW5jb2RlciYgZW5j
b2RlciwgaWQgPE5TT2JqZWN0LCBOU1NlY3VyZUNvZGluZz4gb2JqZWN0KQogewogICAgIGF1dG8g
YXJjaGl2ZXIgPSBzZWN1cmVBcmNoaXZlcigpOwogICAgIFthcmNoaXZlciBlbmNvZGVPYmplY3Q6
b2JqZWN0IGZvcktleTpOU0tleWVkQXJjaGl2ZVJvb3RPYmplY3RLZXldOwogICAgIFthcmNoaXZl
ciBmaW5pc2hFbmNvZGluZ107CiAKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCAoX19icmlkZ2Ug
Q0ZEYXRhUmVmKVthcmNoaXZlciBlbmNvZGVkRGF0YV0pOworICAgIGVuY29kZShlbmNvZGVyLCAo
X19icmlkZ2UgQ0ZEYXRhUmVmKVthcmNoaXZlciBlbmNvZGVkRGF0YV0pOwogfQogCi1PcHRpb25h
bDxSZXRhaW5QdHI8aWQgPE5TU2VjdXJlQ29kaW5nPj4+IGRlY29kZU9iamVjdChEZWNvZGVyJiBk
ZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCitzdGF0aWMgT3B0aW9uYWw8
UmV0YWluUHRyPGlkPj4gZGVjb2RlU2VjdXJlQ29kaW5nSW50ZXJuYWwoRGVjb2RlciYgZGVjb2Rl
ciwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQogeworICAgIEFTU0VSVChhbGxvd2Vk
Q2xhc3NlcyAmJiBhbGxvd2VkQ2xhc3Nlcy5jb3VudCk7CisgICAgaWYgKCFhbGxvd2VkQ2xhc3Nl
cyB8fCAhYWxsb3dlZENsYXNzZXMuY291bnQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOwogICAgIGlmICghZGVjb2RlKGRlY29k
ZXIsIGRhdGEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpAQCAtNjEsNiArMzExLDE0
OSBAQCBPcHRpb25hbDxSZXRhaW5QdHI8aWQgPE5TU2VjdXJlQ29kaW5nPj4+IGRlY29kZU9iamVj
dChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PAogICAgIH0KIH0KIAorc3RhdGljIGlubGluZSB2
b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5TU3RyaW5nICpzdHJpbmcpCit7
CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilzdHJpbmcpOworfQor
CitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVN0cmluZ0ludGVy
bmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdHJp
bmc7CisgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU1N0cmluZyAqKXN0cmluZy5sZWFr
UmVmKCkpIH07Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVy
JiBlbmNvZGVyLCBOU1VSTCAqVVJMKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2Ug
Q0ZVUkxSZWYpVVJMKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+
PiBkZWNvZGVVUkxJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxD
RlVSTFJlZj4gVVJMOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVSTCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNVUkwgKilVUkwubGVh
a1JlZigpKSB9OworfQorCit2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiBlbmNvZGVyLCBpZCBv
YmplY3QpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxib29sPighb2JqZWN0KTsKKyAg
ICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTlNUeXBlIHR5cGUgPSB0eXBl
RnJvbU9iamVjdChvYmplY3QpOworICAgIGVuY29kZXIgPDwgdHlwZTsKKworICAgIHN3aXRjaCAo
dHlwZSkgeworICAgIGNhc2UgTlNUeXBlOjpBcnJheToKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNBcnJheSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJu
OworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkNvbG9yOgorICAgICAgICBlbmNv
ZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0NvbG9yICo+KG9iamVjdCkpOworICAg
ICAgICByZXR1cm47CisjZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKKyAgICAg
ICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5ICo+KG9i
amVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OkZvbnQ6CisgICAgICAg
IGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PFBsYXRmb3JtRm9udCAqPihvYmpl
Y3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6CisgICAgICAg
IGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVtYmVyICo+KG9iamVjdCkp
OworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OlNlY3VyZUNvZGluZzoKKyAgICAg
ICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8aWQgPE5TT2JqZWN0LCBOU1Nl
Y3VyZUNvZGluZz4+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6
OlN0cmluZzoKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNT
dHJpbmcgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6RGF0
ZToKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRlICo+
KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6CisgICAg
ICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGF0YSAqPihvYmplY3Qp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpVUkw6CisgICAgICAgIGVuY29k
ZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TVVJMICo+KG9iamVjdCkpOworICAgICAg
ICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CisgICAgICAgIGJyZWFrOworICAg
IH0KK30KKworT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlT2JqZWN0KERlY29kZXImIGRl
Y29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKK3sKKyAgICBib29sIGlzTnVs
bDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzTnVsbCkpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgaWYgKGlzTnVsbCkKKyAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciB9Owor
CisgICAgTlNUeXBlIHR5cGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odHlwZSkpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBj
YXNlIE5TVHlwZTo6QXJyYXk6CisgICAgICAgIHJldHVybiBkZWNvZGVBcnJheUludGVybmFsKGRl
Y29kZXIpOworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkNvbG9yOgorICAgICAg
ICByZXR1cm4gZGVjb2RlQ29sb3JJbnRlcm5hbChkZWNvZGVyKTsKKyNlbmRpZgorICAgIGNhc2Ug
TlNUeXBlOjpEaWN0aW9uYXJ5OgorICAgICAgICByZXR1cm4gZGVjb2RlRGljdGlvbmFyeUludGVy
bmFsKGRlY29kZXIpOworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkZvbnQ6Cisg
ICAgICAgIHJldHVybiBkZWNvZGVGb250SW50ZXJuYWwoZGVjb2Rlcik7CisjZWxzZQorICAgIGNh
c2UgTlNUeXBlOjpGb250OgorICAgICAgICByZXR1cm4gZGVjb2RlRm9udEludGVybmFsKGRlY29k
ZXIpOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6Ok51bWJlcjoKKyAgICAgICAgcmV0dXJuIGRl
Y29kZU51bWJlckludGVybmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNUeXBlOjpTZWN1cmVDb2Rp
bmc6CisgICAgICAgIHJldHVybiBkZWNvZGVTZWN1cmVDb2RpbmdJbnRlcm5hbChkZWNvZGVyLCBh
bGxvd2VkQ2xhc3Nlcyk7CisgICAgY2FzZSBOU1R5cGU6OlN0cmluZzoKKyAgICAgICAgcmV0dXJu
IGRlY29kZVN0cmluZ0ludGVybmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNUeXBlOjpEYXRlOgor
ICAgICAgICByZXR1cm4gZGVjb2RlRGF0ZUludGVybmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNU
eXBlOjpEYXRhOgorICAgICAgICByZXR1cm4gZGVjb2RlRGF0YUludGVybmFsKGRlY29kZXIpOwor
ICAgIGNhc2UgTlNUeXBlOjpVUkw6CisgICAgICAgIHJldHVybiBkZWNvZGVVUkxJbnRlcm5hbChk
ZWNvZGVyKTsKKyAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgSVBDCiAKK25hbWVzcGFjZSBXVEYgewordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxJUEM6Ok5TVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIElQQzo6TlNUeXBlLAorICAgICAgICBJUEM6Ok5TVHlwZTo6QXJyYXksCisgICAgI2lmIFVT
RShBUFBLSVQpCisgICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKKyAgICAjZW5kaWYKKyAgICAg
ICAgSVBDOjpOU1R5cGU6OkRhdGEsCisgICAgICAgIElQQzo6TlNUeXBlOjpEYXRlLAorICAgICAg
ICBJUEM6Ok5TVHlwZTo6RGljdGlvbmFyeSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkZvbnQsCisg
ICAgICAgIElQQzo6TlNUeXBlOjpOdW1iZXIsCisgICAgICAgIElQQzo6TlNUeXBlOjpTZWN1cmVD
b2RpbmcsCisgICAgICAgIElQQzo6TlNUeXBlOjpTdHJpbmcsCisgICAgICAgIElQQzo6TlNUeXBl
OjpVUkwsCisgICAgICAgIElQQzo6TlNUeXBlOjpVbmtub3duCisgICAgPjsKK307Cit9CisKICNl
bmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCmluZGV4IDgxNzBmMjIxZTcyNzZjMGIxNzhlMzRmMGMy
Y2RjZjg0OTE3Yjk1ZTAuLjZhMTVjOWI4NWZmOTM0NmMzYWVjODFkZTQ3YWQ5MzMwOWQyNjZlMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2Nv
YS5tbQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKLSNpbmNsdWRl
ICJBcmd1bWVudENvZGVyc01hYy5oIgorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRD
b2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVu
dENvZGVyc0NvY29hLm1tCmluZGV4IDk2MDkyOGZiYjIxMjhiZjk1MGFiOWRlMGYxNmNjODdlYTk1
OWJjZWUuLjJkOGIwNmQ2ZmUzZWU5MTliMzE0MTM3MTM1OTRiN2RhNTk4YWQxOTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVy
c0NvY29hLm1tCkBAIC0yNiwxNyArMjYsMjQgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29j
b2EuaCIKKyNpbXBvcnQgPFdlYkNvcmUvRGljdGlvbmFyeVBvcHVwSW5mby5oPgorI2ltcG9ydCA8
V2ViQ29yZS9Gb250QXR0cmlidXRlcy5oPgorCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAotI2lt
cG9ydCAiQXJndW1lbnRDb2RlcnNDb2NvYS5oIgogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgog
I2ltcG9ydCA8V2ViQ29yZS9QYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oPgogI2ltcG9ydCA8
cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0tl
eWVkQXJjaGl2ZXJTUEkuaD4KIAorI2VuZGlmCisKIG5hbWVzcGFjZSBJUEMgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGF5bWVudD46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBX
ZWJDb3JlOjpQYXltZW50JiBwYXltZW50KQogewogICAgIGVuY29kZXIgPDwgcGF5bWVudC5wa1Bh
eW1lbnQoKTsKQEAgLTQwOCw1ICs0MTUsMzMgQEAgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdN
ZXRob2RVcGRhdGU+IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGQKICAg
ICByZXR1cm4ge3sgV1RGTW92ZSgqbmV3VG90YWxBbmRMaW5lSXRlbXMpIH19OwogfQogCisjZW5k
aWYgLy8gRU5BQkxFKEFQUExFUEFZKQorCit2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGlj
dGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvJiBpbmZvKQoreworICAgIGVuY29kZXIg
PDwgaW5mby5vcHRpb25zOworICAgIGVuY29kZXIgPDwgaW5mby5hdHRyaWJ1dGVkU3RyaW5nOwog
fQotI2VuZGlmCisKK2Jvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJ
bmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6OkRpY3Rp
b25hcnlQb3B1cEluZm8mIHJlc3VsdCkKK3sKKyAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIs
IHJlc3VsdC5vcHRpb25zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghSVBDOjpk
ZWNvZGUoZGVjb2RlciwgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYgYXR0cmlidXRlcykKK3sKKyAgICBlbmNvZGVy
IDw8IGF0dHJpYnV0ZXMuZm9udDsKK30KKworT3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVj
b2RlciYgZGVjb2RlciwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCit7Cisg
ICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiBhdHRyaWJ1dGVzOworfQorCit9IC8vIG5h
bWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCmluZGV4IGY3ZWJiMGU5ZmRhYTFiZjhjMjdiZmRlMWZiOTNjYTk0NTJkNzQ5YzAuLjgy
YTc5YzViOTFmNTIxM2Q1NzhkYzM5YTM2YjhmODdmY2ExMGIzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtOTAsNyArOTAsNiBAQAog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2lu
Y2x1ZGUgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC0xMDk2LDcgKzEwOTUsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlv
blNwYWNlPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFByb3RlY3Rpb25TcGFjZSYgcwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoaGFzUGxhdGZvcm1EYXRhKQotICAgICAgICBy
ZXR1cm4gZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIHNwYWNlKTsKKyAgICAgICAgcmV0dXJu
IGRlY29kZXIsIHNwYWNlKTsKIAogICAgIFN0cmluZyBob3N0OwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoaG9zdCkpCkBAIC0yNTk5LDE3ICsyNTk4LDEzIEBAIHZvaWQgQXJndW1lbnRDb2RlcjxE
aWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
RGljCiAgICAgZW5jb2RlciA8PCBpbmZvLm9yaWdpbjsKICAgICBlbmNvZGVyIDw8IGluZm8udGV4
dEluZGljYXRvcjsKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgaGFkT3B0aW9ucyA9
IGluZm8ub3B0aW9uczsKLSAgICBlbmNvZGVyIDw8IGhhZE9wdGlvbnM7Ci0gICAgaWYgKGhhZE9w
dGlvbnMpCi0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGluZm8ub3B0aW9ucy5nZXQoKSk7
Ci0KLSAgICBib29sIGhhZEF0dHJpYnV0ZWRTdHJpbmcgPSBpbmZvLmF0dHJpYnV0ZWRTdHJpbmc7
Ci0gICAgZW5jb2RlciA8PCBoYWRBdHRyaWJ1dGVkU3RyaW5nOwotICAgIGlmIChoYWRBdHRyaWJ1
dGVkU3RyaW5nKQotICAgICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBpbmZvLmF0dHJpYnV0ZWRT
dHJpbmcuZ2V0KCkpOwotI2VuZGlmCisgICAgaWYgKGluZm8uZW5jb2RpbmdSZXF1aXJlc1BsYXRm
b3JtRGF0YSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICAgICAgZW5jb2RlUGxh
dGZvcm1EYXRhKGVuY29kZXIsIGluZm8pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
ZW5jb2RlciA8PCBmYWxzZTsKIH0KIAogYm9vbCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1
cEluZm8+OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBEaWN0aW9uYXJ5UG9wdXBJbmZv
JiByZXN1bHQpCkBAIC0yNjIzLDI1ICsyNjE4LDExIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxEaWN0
aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgRGljdGlvbmFy
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXN1bHQudGV4dEluZGljYXRvciA9IFdURk1v
dmUoKnRleHRJbmRpY2F0b3IpOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYWRP
cHRpb25zOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFkT3B0aW9ucykpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBpZiAoaGFkT3B0aW9ucykgewotICAgICAgICBpZiAoIUlQQzo6ZGVj
b2RlKGRlY29kZXIsIHJlc3VsdC5vcHRpb25zKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9IGVsc2UKLSAgICAgICAgcmVzdWx0Lm9wdGlvbnMgPSBudWxscHRyOwotCi0gICAgYm9v
bCBoYWRBdHRyaWJ1dGVkU3RyaW5nOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFkQXR0cmli
dXRlZFN0cmluZykpCisgICAgYm9vbCBoYXNQbGF0Zm9ybURhdGE7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYg
KGhhZEF0dHJpYnV0ZWRTdHJpbmcpIHsKLSAgICAgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVy
LCByZXN1bHQuYXR0cmlidXRlZFN0cmluZykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfSBlbHNlCi0gICAgICAgIHJlc3VsdC5hdHRyaWJ1dGVkU3RyaW5nID0gbnVsbHB0cjsKLSNl
bmRpZgorICAgIGlmIChoYXNQbGF0Zm9ybURhdGEpCisgICAgICAgIHJldHVybiBkZWNvZGVQbGF0
Zm9ybURhdGEoZGVjb2RlciwgcmVzdWx0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMzA0
NSwxMiArMzAyNiwxMiBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgRm9udEF0dHJpYnV0ZQogICAgIGVuY29kZXIgPDwg
YXR0cmlidXRlcy5iYWNrZ3JvdW5kQ29sb3IgPDwgYXR0cmlidXRlcy5mb3JlZ3JvdW5kQ29sb3Ig
PDwgYXR0cmlidXRlcy5mb250U2hhZG93IDw8IGF0dHJpYnV0ZXMuaGFzVW5kZXJsaW5lIDw8IGF0
dHJpYnV0ZXMuaGFzU3RyaWtlVGhyb3VnaCA8PCBhdHRyaWJ1dGVzLnRleHRMaXN0czsKICAgICBl
bmNvZGVyLmVuY29kZUVudW0oYXR0cmlidXRlcy5ob3Jpem9udGFsQWxpZ25tZW50KTsKICAgICBl
bmNvZGVyLmVuY29kZUVudW0oYXR0cmlidXRlcy5zdWJzY3JpcHRPclN1cGVyc2NyaXB0KTsKLSNp
ZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGhhc0ZvbnQgPSBhdHRyaWJ1dGVzLmZvbnQ7Ci0g
ICAgZW5jb2RlciA8PCBoYXNGb250OwotICAgIGlmIChoYXNGb250KQotICAgICAgICBJUEM6OmVu
Y29kZShlbmNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQuZ2V0KCkpOwotI2VuZGlmCisKKyAgICBpZiAo
YXR0cmlidXRlcy5lbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkpIHsKKyAgICAgICAgZW5j
b2RlciA8PCB0cnVlOworICAgICAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgYXR0cmli
dXRlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiB9CiAKIE9wdGlvbmFsPEZvbnRBdHRyaWJ1
dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIpCkBAIC0zMDgxLDE0ICszMDYyLDExIEBAIE9wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBBcmd1
bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZUVudW0oYXR0cmlidXRlcy5zdWJzY3JpcHRPclN1cGVyc2NyaXB0
KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotI2lmIFBMQVRGT1JNKENPQ09BKQot
ICAgIGJvb2wgaGFzRm9udCA9IGZhbHNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzRm9u
dCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBpZiAoaGFzRm9udCAmJiAh
SVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlcy5mb250KSkKKyAgICBib29sIGhhc1BsYXRm
b3JtRGF0YTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0jZW5kaWYKKyAgICBpZiAoaGFzUGxhdGZvcm1EYXRh
KQorICAgICAgICByZXR1cm4gZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGF0dHJpYnV0ZXMp
OwogCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDJlZjVlNDNhZGI0ODk1MTgxOWM5YTcxM2Q2OWUw
MTNkMjBkZDZlOWIuLmQ3MTE0MGFlOTdjNzk5MzRiNjhkZTc3MWMxOGNjYjM4YTZiYjgzZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC01ODIs
NiArNTgyLDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUZXh0
SW5kaWNhdG9yRGF0YT4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpEaWN0aW9uYXJ5UG9wdXBJbmZvPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvJik7CiAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvJik7CisgICAgc3Rh
dGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpEaWN0
aW9uYXJ5UG9wdXBJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKERl
Y29kZXImLCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvJik7CiB9OwogCiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKQEAgLTc0NCw2ICs3NDYsOCBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+Pj4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0
cmlidXRlcz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6Rm9udEF0dHJpYnV0ZXMmKTsKICAgICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+IGRlY29kZShEZWNvZGVyJik7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZv
cm1EYXRhKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOworICAgIHN0
YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gZGVjb2RlUGxhdGZvcm1EYXRh
KERlY29kZXImLCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOwogfTsKIAogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jdXJs
L1dlYkNvcmVBcmd1bWVudENvZGVyc0N1cmwuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY3Vy
bC9XZWJDb3JlQXJndW1lbnRDb2RlcnNDdXJsLmNwcAppbmRleCAwMjczODVkYTE2ZGI2N2U4MDMz
NWZlMWI3Njg4YjVhZjEwZWJjZmI2Li5lYmNhOTg4ZTRhNWVkNzQ3NTNkOGEzOGQ1NTQ4MDA2NDIx
Njc5ZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jdXJsL1dlYkNvcmVBcmd1
bWVudENvZGVyc0N1cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ3VybC5jcHAKQEAgLTIxMCw0ICsyMTAsMjYgQEAgT3B0aW9uYWw8Q3Vy
bFByb3h5U2V0dGluZ3M+IEFyZ3VtZW50Q29kZXI8Q3VybFByb3h5U2V0dGluZ3M+OjpkZWNvZGUo
RGVjb2RlciYgZGUKICAgICByZXR1cm4gQ3VybFByb3h5U2V0dGluZ3MgeyBXVEZNb3ZlKHVybCks
IFdURk1vdmUoaWdub3JlSG9zdHMpIH07CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0
cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRm9udEF0dHJpYnV0
ZXMmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitib29sIEFyZ3VtZW50Q29k
ZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIEZvbnRBdHRy
aWJ1dGVzJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxh
dGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBEaWN0aW9uYXJ5UG9wdXBJbmZvJikKK3sKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQ
b3B1cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIERpY3Rpb25hcnlQb3B1cElu
Zm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxzZTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJz
TWFjLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDJhYmI3Zjk2NjQzYWFkZGI1MDczMGM5YjU1OGEz
YzkwNzEyOThhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNs
dWRlIDxvYmpjL29iamMuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLU9CSkNfQ0xB
U1MgTlNBcnJheTsKLU9CSkNfQ0xBU1MgTlNBdHRyaWJ1dGVkU3RyaW5nOwotT0JKQ19DTEFTUyBO
U0NvbG9yOwotT0JKQ19DTEFTUyBOU0RhdGE7Ci1PQkpDX0NMQVNTIE5TRGF0ZTsKLU9CSkNfQ0xB
U1MgTlNEaWN0aW9uYXJ5OwotT0JKQ19DTEFTUyBOU0ZvbnQ7Ci1PQkpDX0NMQVNTIE5TTnVtYmVy
OwotT0JKQ19DTEFTUyBOU1N0cmluZzsKLU9CSkNfQ0xBU1MgTlNVUkw7Ci1PQkpDX0NMQVNTIFVJ
Rm9udDsKLQotbmFtZXNwYWNlIElQQyB7Ci0KLWNsYXNzIEVuY29kZXI7Ci1jbGFzcyBEZWNvZGVy
OwotCi0vLyBpZAotdm9pZCBlbmNvZGUoRW5jb2RlciYsIGlkKTsKLWJvb2wgZGVjb2RlKERlY29k
ZXImLCBSZXRhaW5QdHI8aWQ+Jik7Ci0KLS8vIE5TQXR0cmlidXRlZFN0cmluZwotdm9pZCBlbmNv
ZGUoRW5jb2RlciYsIE5TQXR0cmlidXRlZFN0cmluZyAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXIm
LCBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiYpOwotCi0jaWYgVVNFKEFQUEtJVCkKLS8v
IE5TQ29sb3IKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0NvbG9yICopOwotYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFJldGFpblB0cjxOU0NvbG9yPiYpOwotI2VuZGlmCi0KLS8vIE5TRGljdGlvbmFy
eQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGljdGlvbmFyeSAqKTsKLWJvb2wgZGVjb2RlKERl
Y29kZXImLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiYpOwotCi0vLyBOU0FycmF5Ci12b2lkIGVu
Y29kZShFbmNvZGVyJiwgTlNBcnJheSAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5Q
dHI8TlNBcnJheT4mKTsKLQotI2lmIFVTRShBUFBLSVQpCi0vLyBOU0ZvbnQKLXZvaWQgZW5jb2Rl
KEVuY29kZXImLCBOU0ZvbnQgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5T
Rm9udD4mKTsKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgZW5jb2Rl
KEVuY29kZXImLCBVSUZvbnQgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPFVJ
Rm9udD4mKTsKLSNlbmRpZgotCi0vLyBOU051bWJlcgotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5T
TnVtYmVyICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU051bWJlcj4mKTsK
LQotLy8gTlNTdHJpbmcKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU1N0cmluZyAqKTsKLWJvb2wg
ZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNTdHJpbmc+Jik7Ci0KLS8vIE5TRGF0ZQotdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIE5TRGF0ZSAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRh
aW5QdHI8TlNEYXRlPiYpOwotCi0vLyBOU0RhdGEKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0Rh
dGEgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TRGF0YT4mKTsKLQotLy8g
TlNVUkwKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU1VSTCAqKTsKLWJvb2wgZGVjb2RlKERlY29k
ZXImLCBSZXRhaW5QdHI8TlNVUkw+Jik7Ci0KLX0gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMmEwMjk1ZmVmOGE1ZTk5NDM1ZWI3MzgxYjFhMTA3NjdmMjczYTA5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDU4
MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJBcmd1
bWVudENvZGVyc01hYy5oIgotCi0jaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgotI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCi0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgotI2VuZGlmCi0KLSNp
bXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkRlY29kZXIuaCIKLSNpbXBvcnQg
IkVuY29kZXIuaCIKLSNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2ltcG9ydCA8
V2ViQ29yZS9Db2xvck1hYy5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLQotZW51bSBjbGFzcyBOU1R5
cGUgewotICAgIEF0dHJpYnV0ZWRTdHJpbmcsCi0jaWYgVVNFKEFQUEtJVCkKLSAgICBDb2xvciwK
LSNlbmRpZgotICAgIERpY3Rpb25hcnksCi0gICAgQXJyYXksCi0jaWYgVVNFKEFQUEtJVCkKLSAg
ICBGb250LAotI2VuZGlmCi0gICAgTnVtYmVyLAotICAgIFN0cmluZywKLSAgICBEYXRlLAotICAg
IERhdGEsCi0gICAgVVJMLAotICAgIFVua25vd24sCi19OwotCi19Ci0KLW5hbWVzcGFjZSBJUEMg
ewotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXN0YXRpYyBOU1R5cGUgdHlwZUZyb21PYmpl
Y3QoaWQgb2JqZWN0KQotewotICAgIEFTU0VSVChvYmplY3QpOwotCi0gICAgaWYgKFtvYmplY3Qg
aXNLaW5kT2ZDbGFzczpbTlNBdHRyaWJ1dGVkU3RyaW5nIGNsYXNzXV0pCi0gICAgICAgIHJldHVy
biBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc7Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBpZiAoW29i
amVjdCBpc0tpbmRPZkNsYXNzOltOU0NvbG9yIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5
cGU6OkNvbG9yOwotI2VuZGlmCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEaWN0
aW9uYXJ5IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkRpY3Rpb25hcnk7Ci0jaWYg
VVNFKEFQUEtJVCkKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0ZvbnQgY2xhc3Nd
XSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsKLSNlbmRpZgotICAgIGlmIChbb2JqZWN0
IGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6
Ok51bWJlcjsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11d
KQotICAgICAgICByZXR1cm4gTlNUeXBlOjpTdHJpbmc7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5k
T2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpBcnJheTsK
LSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkKLSAgICAgICAg
cmV0dXJuIE5TVHlwZTo6RGF0ZTsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0Rh
dGEgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0YTsKLSAgICBpZiAoW29iamVj
dCBpc0tpbmRPZkNsYXNzOltOU1VSTCBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpV
Ukw7Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gTlNUeXBlOjpVbmtu
b3duOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBpZCBvYmplY3QpCi17Ci0g
ICAgTlNUeXBlIHR5cGUgPSB0eXBlRnJvbU9iamVjdChvYmplY3QpOwotICAgIGVuY29kZXIgPDwg
dHlwZTsKLQotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgTlNUeXBlOjpBdHRyaWJ1dGVk
U3RyaW5nOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNBdHRyaWJ1dGVk
U3RyaW5nICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0jaWYgVVNFKEFQUEtJVCkKLSAg
ICBjYXNlIE5TVHlwZTo6Q29sb3I6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2Fz
dDxOU0NvbG9yICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0jZW5kaWYKLSAgICBjYXNl
IE5TVHlwZTo6RGljdGlvbmFyeToKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0
PE5TRGljdGlvbmFyeSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotI2lmIFVTRShBUFBL
SVQpCi0gICAgY2FzZSBOU1R5cGU6OkZvbnQ6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0
aWNfY2FzdDxOU0ZvbnQgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSNlbmRpZgotICAg
IGNhc2UgTlNUeXBlOjpOdW1iZXI6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2Fz
dDxOU051bWJlciAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTlNUeXBl
OjpTdHJpbmc6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1N0cmluZyAq
PihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTlNUeXBlOjpBcnJheToKLSAg
ICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6RGF0ZToKLSAgICAgICAgZW5jb2RlKGVu
Y29kZXIsIHN0YXRpY19jYXN0PE5TRGF0ZSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgTlNUeXBlOjpEYXRhOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nh
c3Q8TlNEYXRhICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6
OlVSTDoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TVVJMICo+KG9iamVj
dCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OlVua25vd246Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1ib29sIGRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8aWQ+JiByZXN1bHQpCi17Ci0gICAgTlNU
eXBlIHR5cGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odHlwZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgTlNUeXBlOjpBdHRy
aWJ1dGVkU3RyaW5nOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IHN0
cmluZzsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5nOwotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Q29sb3I6IHsK
LSAgICAgICAgUmV0YWluUHRyPE5TQ29sb3I+IGNvbG9yOwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBjb2xvcikpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3Vs
dCA9IGNvbG9yOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0jZW5kaWYKLSAgICBjYXNl
IE5TVHlwZTo6RGljdGlvbmFyeTogewotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBk
aWN0aW9uYXJ5OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkaWN0aW9uYXJ5KSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZGljdGlvbmFyeTsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU1R5
cGU6OkZvbnQ6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKLSAgICAgICAgaWYg
KCFkZWNvZGUoZGVjb2RlciwgZm9udCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIHJlc3VsdCA9IGZvbnQ7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNlbmRpZgot
ICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TTnVtYmVyPiBu
dW1iZXI7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIG51bWJlcikpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IG51bWJlcjsKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6IHsKLSAgICAgICAgUmV0YWlu
UHRyPE5TU3RyaW5nPiBzdHJpbmc7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHN0cmlu
ZykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IHN0cmluZzsK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpBcnJheTogewot
ICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYXJyYXk7Ci0gICAgICAgIGlmICghZGVjb2RlKGRl
Y29kZXIsIGFycmF5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0
ID0gYXJyYXk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6
RGF0ZTogewotICAgICAgICBSZXRhaW5QdHI8TlNEYXRlPiBkYXRlOwotICAgICAgICBpZiAoIWRl
Y29kZShkZWNvZGVyLCBkYXRlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
cmVzdWx0ID0gZGF0ZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNU
eXBlOjpEYXRhOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0RhdGE+IGRhdGE7Ci0gICAgICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICByZXN1bHQgPSBkYXRhOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2Fz
ZSBOU1R5cGU6OlVSTDogewotICAgICAgICBSZXRhaW5QdHI8TlNVUkw+IFVSTDsKLSAgICAgICAg
aWYgKCFkZWNvZGUoZGVjb2RlciwgVVJMKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgcmVzdWx0ID0gVVJMOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2Fz
ZSBOU1R5cGU6OlVua25vd246Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMg
aW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVGb250KENURm9udFJlZiBmb250KQotewotICAgIHJl
dHVybiBhZG9wdENGKENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udFVSTEF0dHJpYnV0
ZSkpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVWYWx1ZShpZCB2YWx1
ZSkKLXsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGF1dG8gZm9udENsYXNzID0gW05TRm9udCBjbGFz
c107Ci0jZWxzZQotICAgIGF1dG8gZm9udENsYXNzID0gW1VJRm9udCBjbGFzc107Ci0jZW5kaWYK
LSAgICByZXR1cm4gIVt2YWx1ZSBpc0tpbmRPZkNsYXNzOmZvbnRDbGFzc10gfHwgaXNTZXJpYWxp
emFibGVGb250KChfX2JyaWRnZSBDVEZvbnRSZWYpdmFsdWUpOwotfQotCi1zdGF0aWMgaW5saW5l
IFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZpbHRlclVuc2VyaWFsaXphYmxlVmFsdWVzKE5TRGlj
dGlvbmFyeSAqZGljdGlvbmFyeSkKLXsKLSAgICBfX2Jsb2NrIGJvb2wgbW9kaWZpY2F0aW9uTmVj
ZXNzYXJ5ID0gZmFsc2U7Ci0gICAgW2RpY3Rpb25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNV
c2luZ0Jsb2NrOl4oaWQga2V5LCBpZCBvYmplY3QsIEJPT0wgKnN0b3ApIHsKLSAgICAgICAgaWYg
KCFpc1NlcmlhbGl6YWJsZVZhbHVlKG9iamVjdCkpIHsKLSAgICAgICAgICAgIG1vZGlmaWNhdGlv
bk5lY2Vzc2FyeSA9IHRydWU7Ci0gICAgICAgICAgICAqc3RvcCA9IFlFUzsKLSAgICAgICAgfQot
ICAgIH1dOwotICAgIGlmICghbW9kaWZpY2F0aW9uTmVjZXNzYXJ5KQotICAgICAgICByZXR1cm4g
ZGljdGlvbmFyeTsKLQotICAgIGF1dG8gcmVzdWx0ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rp
b25hcnkgYWxsb2NdIGluaXRdKTsKLSAgICBbZGljdGlvbmFyeSBlbnVtZXJhdGVLZXlzQW5kT2Jq
ZWN0c1VzaW5nQmxvY2s6XihpZCBrZXksIGlkIG9iamVjdCwgQk9PTCAqc3RvcCkgewotICAgICAg
ICBpZiAoaXNTZXJpYWxpemFibGVWYWx1ZShvYmplY3QpKQotICAgICAgICAgICAgW3Jlc3VsdCBz
ZXRPYmplY3Q6b2JqZWN0IGZvcktleTprZXldOwotICAgIH1dOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TQXR0cmlidXRlZFN0cmluZyAq
c3RyaW5nKQotewotICAgIC8vIEV2ZW4gdGhvdWdoIE5TQXR0cmlidXRlZFN0cmluZyBpcyB0b2xs
IGZyZWUgYnJpZGdlZCB3aXRoIENGQXR0cmlidXRlZFN0cmluZ1JlZiwgYXR0cmlidXRlcycgdmFs
dWVzIG1heSBiZSBub3QsIHNvIHdlIHNob3VsZCBzdGF5IHdpdGhpbiB0aGlzIGZpbGUncyBjb2Rl
LgotCi0gICAgTlNTdHJpbmcgKnBsYWluU3RyaW5nID0gW3N0cmluZyBzdHJpbmddOwotICAgIE5T
VUludGVnZXIgbGVuZ3RoID0gW3BsYWluU3RyaW5nIGxlbmd0aF07Ci0gICAgSVBDOjplbmNvZGUo
ZW5jb2RlciwgcGxhaW5TdHJpbmcpOwotCi0gICAgVmVjdG9yPHN0ZDo6cGFpcjxOU1JhbmdlLCBS
ZXRhaW5QdHI8TlNEaWN0aW9uYXJ5Pj4+IHJhbmdlczsKLQotICAgIE5TVUludGVnZXIgcG9zaXRp
b24gPSAwOwotICAgIHdoaWxlIChwb3NpdGlvbiA8IGxlbmd0aCkgewotICAgICAgICAvLyBDb2xs
ZWN0IHJhbmdlcyBpbiBhIHZlY3RvciwgYmVjYXN1ZSB0aGUgdG90YWwgY291bnQgc2hvdWxkIGJl
IGVuY29kZWQgZmlyc3QuCi0gICAgICAgIE5TUmFuZ2UgZWZmZWN0aXZlUmFuZ2U7Ci0gICAgICAg
IFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGF0dHJpYnV0ZXNBdEluZGV4ID0gW3N0cmluZyBhdHRy
aWJ1dGVzQXRJbmRleDpwb3NpdGlvbiBlZmZlY3RpdmVSYW5nZTomZWZmZWN0aXZlUmFuZ2VdOwot
ICAgICAgICBBU1NFUlQoZWZmZWN0aXZlUmFuZ2UubG9jYXRpb24gPT0gcG9zaXRpb24pOwotICAg
ICAgICBBU1NFUlQoZWZmZWN0aXZlUmFuZ2UubGVuZ3RoKTsKLSAgICAgICAgQVNTRVJUKE5TTWF4
UmFuZ2UoZWZmZWN0aXZlUmFuZ2UpIDw9IGxlbmd0aCk7Ci0KLSAgICAgICAgcmFuZ2VzLmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihlZmZlY3RpdmVSYW5nZSwgZmlsdGVyVW5zZXJpYWxpemFibGVWYWx1
ZXMoYXR0cmlidXRlc0F0SW5kZXguZ2V0KCkpKSk7Ci0KLSAgICAgICAgcG9zaXRpb24gPSBOU01h
eFJhbmdlKGVmZmVjdGl2ZVJhbmdlKTsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQ2NF90PihyYW5nZXMuc2l6ZSgpKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcmFuZ2VzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8
dWludDY0X3Q+KHJhbmdlc1tpXS5maXJzdC5sb2NhdGlvbik7Ci0gICAgICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhbmdlc1tpXS5maXJzdC5sZW5ndGgpOwotICAgICAgICBJ
UEM6OmVuY29kZShlbmNvZGVyLCByYW5nZXNbaV0uc2Vjb25kLmdldCgpKTsKLSAgICB9Ci19Ci0K
LWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJp
bmc+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPE5TU3RyaW5nPiBwbGFpblN0cmluZzsKLSAg
ICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHBsYWluU3RyaW5nKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgTlNVSW50ZWdlciBzdHJpbmdMZW5ndGggPSBbcGxhaW5TdHJpbmcgbGVu
Z3RoXTsKLQotICAgIFJldGFpblB0cjxOU011dGFibGVBdHRyaWJ1dGVkU3RyaW5nPiByZXN1bHRT
dHJpbmcgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXR0cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdp
dGhTdHJpbmc6cGxhaW5TdHJpbmcuZ2V0KCldKTsKLQotICAgIHVpbnQ2NF90IHJhbmdlQ291bnQ7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyYW5nZUNvdW50KSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgd2hpbGUgKHJhbmdlQ291bnQtLSkgewotICAgICAgICB1aW50NjRfdCByYW5n
ZUxvY2F0aW9uOwotICAgICAgICB1aW50NjRfdCByYW5nZUxlbmd0aDsKLSAgICAgICAgUmV0YWlu
UHRyPE5TRGljdGlvbmFyeT4gYXR0cmlidXRlczsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyYW5nZUxvY2F0aW9uKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyYW5nZUxlbmd0aCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgQVNTRVJUKHJhbmdlTG9jYXRpb24gKyByYW5nZUxlbmd0aCA+IHJhbmdlTG9j
YXRpb24pOwotICAgICAgICBBU1NFUlQocmFuZ2VMb2NhdGlvbiArIHJhbmdlTGVuZ3RoIDw9IHN0
cmluZ0xlbmd0aCk7Ci0gICAgICAgIGlmIChyYW5nZUxvY2F0aW9uICsgcmFuZ2VMZW5ndGggPD0g
cmFuZ2VMb2NhdGlvbiB8fCByYW5nZUxvY2F0aW9uICsgcmFuZ2VMZW5ndGggPiBzdHJpbmdMZW5n
dGgpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaWYgKCFJUEM6OmRlY29k
ZShkZWNvZGVyLCBhdHRyaWJ1dGVzKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgW3Jlc3VsdFN0cmluZyBhZGRBdHRyaWJ1dGVzOmF0dHJpYnV0ZXMuZ2V0KCkgcmFuZ2U6TlNN
YWtlUmFuZ2UocmFuZ2VMb2NhdGlvbiwgcmFuZ2VMZW5ndGgpXTsKLSAgICB9Ci0KLSAgICByZXN1
bHQgPSBhZG9wdE5TKHJlc3VsdFN0cmluZy5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwot
fQotCi0jaWYgVVNFKEFQUEtJVCkKLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TQ29s
b3IgKmNvbG9yKQotewotICAgIGVuY29kZXIgPDwgY29sb3JGcm9tTlNDb2xvcihjb2xvcik7Ci19
Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0NvbG9yPiYgcmVz
dWx0KQotewotICAgIENvbG9yIGNvbG9yOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY29sb3Ip
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBuc0NvbG9yKGNvbG9yKTsK
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLSNlbmRpZgotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCi17Ci0gICAgLy8gRXZlbiB0aG91Z2ggTlNE
aWN0aW9uYXJ5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZEaWN0aW9uYXJ5UmVmLCB2YWx1
ZXMgbWF5IGJlIG5vdCwgc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUu
Ci0KLSAgICBOU1VJbnRlZ2VyIHNpemUgPSBbZGljdGlvbmFyeSBjb3VudF07Ci0gICAgTlNBcnJh
eSAqa2V5cyA9IFtkaWN0aW9uYXJ5IGFsbEtleXNdOwotICAgIE5TQXJyYXkgKnZhbHVlcyA9IFtk
aWN0aW9uYXJ5IGFsbFZhbHVlc107Ci0KLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2
NF90PihzaXplKTsKLQotICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsgaSA8IHNpemU7ICsraSkg
ewotICAgICAgICBpZCBrZXkgPSBba2V5cyBvYmplY3RBdEluZGV4OmldOwotICAgICAgICBpZCB2
YWx1ZSA9IFt2YWx1ZXMgb2JqZWN0QXRJbmRleDppXTsKLSAgICAgICAgQVNTRVJUKGtleSk7Ci0g
ICAgICAgIEFTU0VSVCh2YWx1ZSk7Ci0gICAgICAgIEFTU0VSVChpc1NlcmlhbGl6YWJsZVZhbHVl
KHZhbHVlKSk7Ci0KLSAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCByZWNvZ25pemUu
Ci0gICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0gTlNUeXBlOjpVbmtub3duKQot
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIGtleSk7Ci0g
ICAgICAgIGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7Ci0gICAgfQotfQotCi1ib29sIGRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiYgcmVzdWx0KQotewotICAg
IHVpbnQ2NF90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGRpY3Rp
b25hcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhDYXBh
Y2l0eTpzaXplXSk7Ci0gICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewot
ICAgICAgICAvLyBUcnkgdG8gZGVjb2RlIHRoZSBrZXkgbmFtZS4KLSAgICAgICAgUmV0YWluUHRy
PGlkPiBrZXk7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGtleSkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgUmV0YWluUHRyPGlkPiB2YWx1ZTsKLSAgICAgICAg
aWYgKCFkZWNvZGUoZGVjb2RlciwgdmFsdWUpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgICAgIFtkaWN0aW9uYXJ5IHNldE9iamVjdDp2YWx1ZS5nZXQoKSBmb3JLZXk6a2V5Lmdl
dCgpXTsKLSAgICB9Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKGRpY3Rpb25hcnkubGVha1JlZigp
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmIFVTRShBUFBLSVQpCi12b2lkIGVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBOU0ZvbnQgKmZvbnQpCi17Ci0gICAgLy8gTlNGb250IGNvdWxkIHVz
ZSBDVEZvbnRSZWYgY29kZSBpZiB3ZSBoYWQgaXQgaW4gQXJndW1lbnRDb2RlcnNDRi4KLSAgICBl
bmNvZGUoZW5jb2RlciwgZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0cmlidXRlcyk7Ci19Ci0K
LWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0ZvbnQ+JiByZXN1bHQp
Ci17Ci0gICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7Ci0gICAgaWYg
KCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBOU0ZvbnREZXNjcmlwdG9yICpmb250RGVzY3JpcHRvciA9IFtOU0ZvbnREZXNjcmlw
dG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmZvbnRBdHRyaWJ1dGVzLmdldCgp
XTsKLSAgICByZXN1bHQgPSBbTlNGb250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRv
ciBzaXplOjBdOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRpZiAvLyBVU0UoQVBQS0lU
KQotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgVUlGb250ICpmb250KQotewotICAgIGVuY29kZShlbmNvZGVyLCBmb250LmZvbnREZXNj
cmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgUmV0YWluUHRyPFVJRm9udD4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBmb250QXR0cmlidXRlczsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250QXR0cmli
dXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVJRm9udERlc2NyaXB0b3IgKmZv
bnREZXNjcmlwdG9yID0gW1VJRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0
dHJpYnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOwotICAgIHJlc3VsdCA9IFtVSUZvbnQgZm9u
dFdpdGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07Ci0KLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotdm9pZCBlbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51bWJlcikKLXsKLSAgICBlbmNvZGUoZW5jb2Rl
ciwgKF9fYnJpZGdlIENGTnVtYmVyUmVmKW51bWJlcik7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIFJldGFpblB0cjxOU051bWJlcj4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5Q
dHI8Q0ZOdW1iZXJSZWY+IG51bWJlcjsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBudW1iZXIp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKChOU051bWJl
ciAqKW51bWJlci5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyLCBOU1N0cmluZyAqc3RyaW5nKQotewotICAgIGVuY29kZShlbmNv
ZGVyLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpc3RyaW5nKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVj
b2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TU3RyaW5nPiYgcmVzdWx0KQotewotICAgIFJldGFp
blB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHN0cmlu
ZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TU3Ry
aW5nICopc3RyaW5nLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIsIE5TQXJyYXkgKmFycmF5KQotewotICAgIE5TVUludGVnZXIg
c2l6ZSA9IFthcnJheSBjb3VudF07Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRf
dD4oc2l6ZSk7Ci0KLSAgICBmb3IgKE5TVUludGVnZXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsK
LSAgICAgICAgaWQgdmFsdWUgPSBbYXJyYXkgb2JqZWN0QXRJbmRleDppXTsKLQotICAgICAgICAv
LyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHJlY29nbml6ZS4KLSAgICAgICAgaWYgKHR5cGVGcm9t
T2JqZWN0KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBBU1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOwotCi0gICAgICAg
IGVuY29kZShlbmNvZGVyLCB2YWx1ZSk7Ci0gICAgfQotfQotCi1ib29sIGRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNBcnJheT4mIHJlc3VsdCkKLXsKLSAgICB1aW50NjRfdCBz
aXplOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gYXJyYXkgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOwotICAgIGZvciAodWlu
dDY0X3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgUmV0YWluUHRyPGlkPiB2YWx1
ZTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgdmFsdWUpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgICAgIFthcnJheSBhZGRPYmplY3Q6dmFsdWUuZ2V0KCldOwotICAg
IH0KLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoYXJyYXkubGVha1JlZigpKTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRlICpkYXRlKQot
ewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRlUmVmKWRhdGUpOwotfQotCi1i
b29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEYXRlPiYgcmVzdWx0KQot
ewotICAgIFJldGFpblB0cjxDRkRhdGVSZWY+IGRhdGU7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2Rl
ciwgZGF0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMo
KE5TRGF0ZSAqKWRhdGUubGVha1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRhICpkYXRhKQotewotICAgIGVuY29kZShlbmNv
ZGVyLCAoX19icmlkZ2UgQ0ZEYXRhUmVmKWRhdGEpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNEYXRhPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxD
RkRhdGFSZWY+IGRhdGE7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0YSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TRGF0YSAqKWRhdGEubGVh
a1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgTlNVUkwgKlVSTCkKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGVVJM
UmVmKVVSTCk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxO
U1VSTD4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IFVSTDsKLSAgICBpZiAo
IWRlY29kZShkZWNvZGVyLCBVUkwpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1
bHQgPSBhZG9wdE5TKChOU1VSTCAqKVVSTC5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwot
fQotCi19IC8vIG5hbWVzcGFjZSBJUEMKLQotbmFtZXNwYWNlIFdURiB7Ci10ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPElQQzo6TlNUeXBlPiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKLSAgICAgICAgSVBDOjpOU1R5cGUsCi0gICAgICAgIElQQzo6TlNUeXBlOjpBdHRyaWJ1
dGVkU3RyaW5nLAotICAgICNpZiBVU0UoQVBQS0lUKQotICAgICAgICBJUEM6Ok5TVHlwZTo6Q29s
b3IsCi0gICAgI2VuZGlmCi0gICAgICAgIElQQzo6TlNUeXBlOjpEaWN0aW9uYXJ5LAotICAgICAg
ICBJUEM6Ok5TVHlwZTo6QXJyYXksCi0gICAgI2lmIFVTRShBUFBLSVQpCi0gICAgICAgIElQQzo6
TlNUeXBlOjpGb250LAotICAgICNlbmRpZgotICAgICAgICBJUEM6Ok5TVHlwZTo6TnVtYmVyLAot
ICAgICAgICBJUEM6Ok5TVHlwZTo6U3RyaW5nLAotICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0ZSwK
LSAgICAgICAgSVBDOjpOU1R5cGU6OkRhdGEsCi0gICAgICAgIElQQzo6TlNUeXBlOjpVUkwsCi0g
ICAgICAgIElQQzo6TlNUeXBlOjpVbmtub3duCi0gICAgPjsKLX07Ci19CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCmluZGV4IDI3NWE0ZjEwMDlkMDQzOWMx
Y2FiNzBjZjYzYjM2NmZiYmJiMzhkNmEuLmFlMDg1ODQ1NDdiNjFiNTM0MmNkYTdjY2VjZDQxNjE0
ZDQ4N2U3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVk
U3RyaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5n
Lm1tCkBAIC0yNywzMiArMjcsMjEgQEAKICNpbXBvcnQgIkF0dHJpYnV0ZWRTdHJpbmcuaCIKIAog
I2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDb2NvYS5oIgotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNN
YWMuaCIKLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCAiRGVjb2Rl
ci5oIgorI2ltcG9ydCAiRW5jb2Rlci5oIgogCiBuYW1lc3BhY2UgSVBDIHsKIAogdm9pZCBBcmd1
bWVudENvZGVyPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcmIGF0dHJpYnV0ZWRTdHJpbmcpCiB7
Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxib29sPighYXR0cmlidXRlZFN0cmluZy5zdHJp
bmcpOwotICAgIGlmICghYXR0cmlidXRlZFN0cmluZy5zdHJpbmcpCi0gICAgICAgIHJldHVybjsK
LSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZy5nZXQoKSk7
CisgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZzsKIH0KIAogT3B0aW9uYWw8
V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPiBBcmd1bWVudENvZGVyPFdlYktpdDo6QXR0cmlidXRl
ZFN0cmluZz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIGJvb2wgaXNOdWxsOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaXNOdWxsKSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKLSAgICBpZiAoaXNOdWxsKQotICAgICAgICByZXR1cm4gV2ViS2l0OjpBdHRyaWJ1dGVk
U3RyaW5nIHsgfTsKLQogICAgIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGF0dHJpYnV0
ZWRTdHJpbmc7Ci0gICAgSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlZFN0cmluZyk7Ci0g
ICAgaWYgKCFhdHRyaWJ1dGVkU3RyaW5nKQorICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rlciwg
YXR0cmlidXRlZFN0cmluZykpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KICAgICBy
ZXR1cm4gV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHsgYXR0cmlidXRlZFN0cmluZy5nZXQoKSB9
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdy
YXBoLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbQppbmRl
eCBiYzA0ZjIyYTRjOWViMWU5ZDFiMGMwY2YwMTFhZTUwYzBlMjQ3Yzg1Li5jNjU0ODRmNTUxMjIw
ZGRiYzhiODRiNzk2YWNiMDU5ODg3MjZiODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9PYmpDT2JqZWN0R3JhcGgubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiT2JqQ09iamVjdEdyYXBoLmgiCiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJz
TWFjLmgiCisjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgiCiAjaW1wb3J0ICJEZWNvZGVy
LmgiCiAjaW1wb3J0ICJFbmNvZGVyLmgiCiAjaW1wb3J0ICJVc2VyRGF0YS5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5j
cHAKaW5kZXggMTNiYzI5MjUzZWRiYTE1NzU4Yzg1NjBhOTFjYjY0NWRkOGFhY2Q5NC4uYjYzYTRj
ZWE5ODRlNzc4ZTFiMmIwMzA2NTdmYmYwNTU2MmIxYjQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0y
MjcsNSArMjI3LDI3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxDcmVkZW50aWFsPjo6ZGVjb2RlUGxh
dGZvcm1EYXRhKERlY29kZXImLCBDcmVkZW50aWFsJikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K3ZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShF
bmNvZGVyJiwgY29uc3QgRm9udEF0dHJpYnV0ZXMmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0
Zm9ybURhdGEoRGVjb2RlciYsIEZvbnRBdHRyaWJ1dGVzJikKK3sKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxEaWN0
aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBEaWN0
aW9uYXJ5UG9wdXBJbmZvJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworYm9v
bCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
RGVjb2RlciYsIERpY3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggNDZjMzU3MDI3MWFkNDBhYjZhMzYzOGNiN2NmOGU1MDU5N2RlYjBkZi4uYjU2MGI0YTc2NTkz
MmZjOGI2MTg1OGRkOTVjMTBiOGJlMTE3NGJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAt
MTc0LDcgKzE3NCw2IEBAIFNoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tCiBTaGFyZWQv
aW9zL1dlYlBsYXRmb3JtVG91Y2hQb2ludElPUy5jcHAKIFNoYXJlZC9pb3MvV2ViVG91Y2hFdmVu
dElPUy5jcHAKIAotU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5tbQogU2hhcmVkL21hYy9B
dHRyaWJ1dGVkU3RyaW5nLm1tCiBTaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KIFNo
YXJlZC9tYWMvQ29kZVNpZ25pbmcubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI3N2VjZjE2ZDkwY2NkNjVkYTE2NDViOGIxMTc5OTBi
NTlmNTRiOTIuLjM3YjNhZGI3NTUxNDgwMjJiNTg3MDdmYmE4ODc5MWUyYjA3NDg2MmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU5
Nyw3ICsxNTk3LDYgQEAKIAkJRTE2NEEyRjIxOTFBRjE0RTAwMTA3MzdEIC8qIEJsb2JEYXRhRmls
ZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTY0QTJGMDE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCAqLzsgfTsKIAkJRTE3MDg3NkMx
NkQ2Q0E2OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTcwODc2QTE2RDZDQTY5MDBGOTkyMjYgLyog
QmxvYlJlZ2lzdHJ5UHJveHkuaCAqLzsgfTsKIAkJRTE3OTA4OEYxNjlCQUE2QTAwNjkwNEM3IC8q
IFNlY0l0ZW1TaGltLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMThFNjk0ODE2OUI3N0M4MDA5QjY2NzAgLyogU2VjSXRlbVNoaW0uaCAqLzsgfTsKLQkJ
RTE3OUZEOUMxMzREMzgwNjAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc5RkQ5QjEzNEQzODA2MDAx
NUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCAqLzsgfTsKIAkJRTE3QUUyQzMxNkI5QzYzQTAw
MUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxN0FFMkMyMTZCOUM2M0EwMDFD
NDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiICovOyB9OwogCQlFMThF
NjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTY5MEExNjlCNTYzRjAwOUI2Njcw
IC8qIFNlY0l0ZW1TaGltUHJveHkuaCAqLzsgfTsKIAkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2Njcw
IC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTY5MTMxNjlCNjY3QjAwOUI2NjcwIC8q
IFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtNDQ2OCw4ICs0
NDY3LDYgQEAKIAkJRTE3MDg3NjkxNkQ2Q0E2OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJsb2JSZWdpc3RyeVBy
b3h5LmNwcDsgcGF0aCA9IFdlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNzA4NzZBMTZENkNBNjkwMEY5OTIyNiAv
KiBCbG9iUmVnaXN0cnlQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBC
bG9iUmVnaXN0cnlQcm94eS5oOyBwYXRoID0gV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3Ry
eVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNzk4Qzc3MTZFNjgxODgw
MDI0MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlFMTc5RkQ5QjEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJndW1lbnRDb2RlcnNNYWMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE3OUZEOUUxMzREMzgyNTAwMTVCODgz
IC8qIEFyZ3VtZW50Q29kZXJzTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQXJndW1lbnRDb2RlcnNNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxN0FFMkMxMTZCOUMxMzkwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxN0FFMkMyMTZCOUM2M0EwMDFDNDJGMSAv
KiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2I7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2I7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUUxOEM5MkYzMTJEQjlFNzEwMENGMkFFQiAv
KiBQcmludEluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJp
bnRJbmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4NTUsOCArNzg1Miw2
IEBACiAJCUJDMTExQjVBMTEyRjYyODIwMDMzN0JBQiAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAv
KiBBcmd1bWVudENvZGVyc01hYy5oICovLAotCQkJCUUxNzlGRDlFMTM0RDM4MjUwMDE1Qjg4MyAv
KiBBcmd1bWVudENvZGVyc01hYy5tbSAqLywKIAkJCQlFMUEzMTczMTEzNENFQTZDMDA3QzlBNEYg
LyogQXR0cmlidXRlZFN0cmluZy5oICovLAogCQkJCUUxQTMxNzM0MTM0Q0VBODAwMDdDOUE0RiAv
KiBBdHRyaWJ1dGVkU3RyaW5nLm1tICovLAogCQkJCTlGNTRGODhFMTY0ODhFODcwMDdERjgxQSAv
KiBBdXhpbGlhcnlQcm9jZXNzTWFjLm1tICovLApAQCAtOTA1NSw3ICs5MDUwLDYgQEAKIAkJCQkx
QUVGRDJGNzExRDE4MDdCMDA4MjE5RDMgLyogQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQUYwQzRBMTJCMTYzMzQwMDhFNDlFMiAvKiBBcmd1bWVudENvZGVyc0NGLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTc1QzQ0QTIxQUEzMTcxMDAwMDM3RDAgLyogQXJndW1lbnRDb2Rl
cnNDb2NvYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTE3OUZEOUMxMzREMzgwNjAwMTVCODgzIC8q
IEFyZ3VtZW50Q29kZXJzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTFBMEJEMjFBNDhFNkM2
MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRUU5NjZEMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAq
LywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364505</attachid>
            <date>2019-03-12 20:43:38 -0700</date>
            <delta_ts>2019-03-12 20:49:57 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312204337.patch</filename>
            <type>text/plain</type>
            <size>57692</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uN2IyNzkxMDIzZTc1ZmRiNjhhNDAzNTVlYmU3ZjQ3
ZDQ3OWY1NTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIGVkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbzo6ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25z
dCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGFuZCBib2R5IGJh
Y2tncm91bmQgY29sb3IgdGhyb3VnaCBIVE1MQ29udmVydGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YmVjY2Ux
MmNhMGZjMWFjNGJlZGY1NjFjNzMwYjY5OWMyY2M1NGUxLi45OGY4ZmQ3ZTBiNGYzNWRiOGNkZDJl
ZWNjYjI2ZTA2YmM2ZDRlNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTEy
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xp
ZGF0ZSBBcmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBNZXJnZSB0aGUgdHdvIHNpbWlsYXIgZW5jb2RlcnMgYW5kIGRlY29kZXJz
LiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2hlcmUKKyAgICAgICAgb25lIGVuY29kZXIgY291bGQgYmUg
dXNlZCBhbmQgdGhlIG90aGVyIGRlY29kZXIsIHdoaWNoIGNhdXNlZCBhIGNyYXNoLgorICAgICAg
ICBJdCBhbHNvIHN0b3BzIGhhbmRsaW5nIE5TQXR0cmlidXRlZFN0cmluZyBzcGVjaXVmaWNhbGx5
IGFuZCBqdXN0IHVzZXMKKyAgICAgICAgdGhlIE5TU2VjdXJlQ29kaW5nIHBhdGggdG8gaGFuZGxl
IG1vcmUgY29tcGxleCBhdHRyaWJ1dGVzLgorCisgICAgICAgIFNvbWUgV2ViQ29yZSBlbmNvZGVy
cyBjb2RlIG5lZWRlZCB0byBtb3ZlIHRvIHBsYXRmb3JtIGZpbGVzLCBzaW5jZQorICAgICAgICBB
cmd1bWVudENvZGVyc0NvY29hLmggcmVxdWlyZXMgYW4gT2JqZWN0aXZlQysrIGltcGxlbWVudGF0
aW9uIHRvIHdvcmsuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2Nv
YS5oOgorICAgICAgICAoSVBDOjplbmNvZGUpOgorICAgICAgICAoSVBDOjpkZWNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+Pjo6ZGVjb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6dHlwZUZy
b21PYmplY3QpOgorICAgICAgICAoSVBDOjppc1NlcmlhbGl6YWJsZUZvbnQpOgorICAgICAgICAo
SVBDOjppc1NlcmlhbGl6YWJsZVZhbHVlKToKKyAgICAgICAgKElQQzo6ZW5jb2RlT2JqZWN0KToK
KyAgICAgICAgKElQQzo6ZGVjb2RlT2JqZWN0KToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvTG9h
ZFBhcmFtZXRlcnNDb2NvYS5tbToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFy
Z3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL0FyZ3VtZW50Q29k
ZXJzTWFjLmg6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01h
Yy5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06
CisgICAgICAgIChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgICogU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW06CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAxOS0wMy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3JlIGF0dGVtcHRzIGF0IGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKaW5kZXggZjFjNjVhNDhkNjBhMGE4YzVlYWZlM2U2
M2MzZTc0YzA5OTQ3YTZmYS4uMTUwNmIzNmJkOTM3YTMyNWRjNDE4Y2ViYjFlY2IxNjRmZTVhYTA4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKQEAg
LTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBEaWN0aW9uYXJ5UG9wdXBJbmZvIHsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBvcHRpb25zOwogICAgIFJldGFp
blB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGF0dHJpYnV0ZWRTdHJpbmc7CisKKyAgICBib29sIGVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisjZWxz
ZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0
ZXMuaAppbmRleCA4M2YyNjRlMDliMWRhM2E2ZDBkYzJkYjBhZDQzYzVjMzU3MjM5NWQ3Li42MmFi
MTY1ZTlmYTRlYWNjNjhlYWZkM2QxMDYxZmVlYWY1OTMxN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC03OSw3ICs3OSwxMSBAQCBzdHJ1Y3QgRm9udEF0dHJp
YnV0ZXMgewogICAgIGVudW0gY2xhc3MgSG9yaXpvbnRhbEFsaWdubWVudCA6IHVpbnQ4X3QgeyBM
ZWZ0LCBDZW50ZXIsIFJpZ2h0LCBKdXN0aWZ5LCBOYXR1cmFsIH07CiAKICNpZiBQTEFURk9STShD
T0NPQSkKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBjcmVhdGVEaWN0aW9uYXJ5KCkgY29uc3Q7CisjZWxzZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1
aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EuaAppbmRleCA5NzZkMzgxMjI4NWRlZWZiZTMwMjIxZWJlYjM0NWVmZGUxMWNj
MmYwLi5mMDgxODFkMDc1ZjQyNzRlMmFmOGZmM2ZjYTIzNjVhMWQ3ZjBkYTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgsIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwxNyAr
MzEsMTUgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXIm
LCBpZCA8TlNTZWN1cmVDb2Rpbmc+KTsKLU9wdGlvbmFsPFJldGFpblB0cjxpZCA8TlNTZWN1cmVD
b2Rpbmc+Pj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMpOwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYsIGlkKTsKK09wdGlvbmFsPFJldGFp
blB0cjxpZD4+IGRlY29kZU9iamVjdChEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzKTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gT3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBk
ZWNvZGUoRGVjb2RlciYsIENsYXNzIGFsbG93ZWRDbGFzcyk7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4g
KmFsbG93ZWRDbGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
dXNpbmcgSXNPYmpDT2JqZWN0ID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2NvbnZlcnRpYmxl
PFQgKiwgaWQ+Ojp2YWx1ZSwgVCAqPjsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLU9wdGlvbmFs
PFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIENsYXNzIGFsbG93ZWRDbGFz
cykKLXsKLSAgICByZXR1cm4gZGVjb2RlPFQ+KGRlY29kZXIsIEBbIGFsbG93ZWRDbGFzcyBdKTsK
LX0KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiB2b2lk
IGVuY29kZShFbmNvZGVyJiwgVCAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0g
SXNPYmpDT2JqZWN0PFQ+PiBib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPFQ+Jik7CisK
K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiBPcHRpb25h
bDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwogCiAjaWZuZGVmIE5ERUJVRwogCkBAIC01Niw3ICs1
NCwyMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNPYmplY3RDbGFzc0FsbG93ZWQoaWQgb2JqZWN0
LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZQogCiAjZW5kaWYKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgordm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVCAqb2JqZWN0KQoreworICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBv
YmplY3QpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4KK2Jvb2wgZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxUPiYgcmVzdWx0KQoreworICAgIGF1dG8gb2Jq
ZWN0ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIEBbIFtUIGNsYXNzXSBdKTsKKyAgICBpZiAoIW9i
amVjdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdCA9IG9iamVjdC52YWx1ZSgp
OworICAgIHJldHVybiB0cnVlOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4K
IE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8
Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKICAgICBhdXRvIHJlc3VsdCA9IGRlY29kZU9iamVj
dChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CkBAIC03MSwxMCArODUsOCBAQCBPcHRpb25hbDxS
ZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxs
b3dlZENsYXNzZXMpCiAgICAgcmV0dXJuIHsgYWRvcHROUyhzdGF0aWNfY2FzdDxUICo+KG9iamVj
dCkpIH07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHVzaW5nIENvbmZvcm1zVG9TZWN1cmVD
b2RpbmcgPSBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQgKiwgaWQgPE5TU2VjdXJlQ29kaW5nPj47Ci0K
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPFQgKj4gewotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9pZl90PENvbmZvcm1zVG9TZWN1cmVD
b2Rpbmc8VT46OnZhbHVlPiogPSBudWxscHRyPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVSAqb2JqZWN0KQogICAgIHsKICAgICAgICAgZW5jb2RlT2JqZWN0KGVu
Y29kZXIsIG9iamVjdCk7CkBAIC04MiwxNiArOTQsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+IHsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9ybXNUb1NlY3VyZUNvZGluZzxVPjo6dmFs
dWU+KiA9IG51bGxwdHI+Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFJldGFpblB0cjxVPiYgb2JqZWN0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmV0YWluUHRyPFQ+JiBvYmplY3QpCiAgICAgewotICAgICAg
ICBBcmd1bWVudENvZGVyPFUgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOworICAg
ICAgICBBcmd1bWVudENvZGVyPFQgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOwog
ICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxD
b25mb3Jtc1RvU2VjdXJlQ29kaW5nPFU+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KLSAgICBzdGF0aWMg
T3B0aW9uYWw8UmV0YWluUHRyPFU+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBVID0gVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CisgICAgc3Rh
dGljIE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gSVBDOjpkZWNvZGU8VT4oZGVjb2Rlcik7CisgICAgICAgIHJldHVy
biBJUEM6OmRlY29kZTxUPihkZWNvZGVyKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBjYzRiY2QzM2Yy
ZGFmZjA0ZjY2MmMwOGJhMGU5MWE0N2RkZDYyZmE3Li5lMjc2MTIxZDUwMzMyOGNlNDkxZTMzYzdm
M2EzNDhlM2E3YmFmNWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9B
cmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDIxICsyOSwyNzMgQEAKICNpZiBQTEFURk9STShDT0NP
QSkKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgorI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250Lmg+CisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL2NvY29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjaWYgVVNFKEFQUEtJVCkKKyNp
bXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KKyNlbmRpZgorCisjaWYgVVNFKEFQUEtJVCkKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250IE5TRm9udAorI2RlZmluZSBQbGF0Zm9ybUZvbnREZXNjcmlwdG9y
IE5TRm9udERlc2NyaXB0b3IKKyNlbHNlCisjZGVmaW5lIFBsYXRmb3JtRm9udCBVSUZvbnQKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250RGVzY3JpcHRvciBVSUZvbnREZXNjcmlwdG9yCisjZW5kaWYKKwog
bmFtZXNwYWNlIElQQyB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworZW51bSBjbGFzcyBO
U1R5cGUgeworICAgIEFycmF5LAorI2lmIFVTRShBUFBLSVQpCisgICAgQ29sb3IsCisjZW5kaWYK
KyAgICBEYXRhLAorICAgIERhdGUsCisgICAgRGljdGlvbmFyeSwKKyAgICBGb250LAorICAgIE51
bWJlciwKKyAgICBTZWN1cmVDb2RpbmcsCisgICAgU3RyaW5nLAorICAgIFVSTCwKKyAgICBVbmtu
b3duLAorfTsKKworc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3QpCit7Cisg
ICAgQVNTRVJUKG9iamVjdCk7CisKKyAgICAvLyBTcGVjaWZpYyBjbGFzc2VzIGhhbmRsZWQuCisg
ICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQorICAgICAgICBy
ZXR1cm4gTlNUeXBlOjpBcnJheTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29s
b3I7CisjZW5kaWYKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGEgY2xhc3Nd
XSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0YTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRP
ZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0ZTsKKyAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSkKKyAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNs
YXNzOltQbGF0Zm9ybUZvbnQgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsK
KyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKQorICAgICAg
ICByZXR1cm4gTlNUeXBlOjpOdW1iZXI7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpb
TlNTdHJpbmcgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6U3RyaW5nOworICAgIGlm
IChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TVVJMIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBO
U1R5cGU6OlVSTDsKKworICAgIC8vIENoZWNrIE5TU2VjdXJlQ29kaW5nIGFmdGVyIHRoZSBzcGVj
aWZpYyBjYXNlcyBzaW5jZQorICAgIC8vIG1vc3Qgb2YgdGhlIGNsYXNzZXMgYWJvdmUgY29uZm9y
bSB0byBOU1NlY3VyZUNvZGluZywKKyAgICAvLyBhbmQgd2Ugd2FudCBvdXIgc3BlY2lhbCBjYXNl
IGNvZGVycyBmb3IgdGhlbSBpbnN0ZWFkLgorICAgIGlmIChbb2JqZWN0IGNvbmZvcm1zVG9Qcm90
b2NvbDpAcHJvdG9jb2woTlNTZWN1cmVDb2RpbmcpXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6
U2VjdXJlQ29kaW5nOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIE5T
VHlwZTo6VW5rbm93bjsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzU2VyaWFsaXphYmxlRm9u
dChDVEZvbnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5QXR0cmli
dXRlKGZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IGlzU2VyaWFsaXphYmxlVmFsdWUoaWQgdmFsdWUpCit7CisgICAgaWYgKFt2YWx1ZSBpc0tpbmRP
ZkNsYXNzOltQbGF0Zm9ybUZvbnQgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIGlzU2VyaWFsaXph
YmxlRm9udCgoX19icmlkZ2UgQ1RGb250UmVmKXZhbHVlKTsKKyAgICByZXR1cm4gdHlwZUZyb21P
YmplY3QodmFsdWUpICE9IE5TVHlwZTo6VW5rbm93bjsKK30KKworc3RhdGljIHZvaWQgZW5jb2Rl
SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNBcnJheSAqYXJyYXkpCit7CisgICAgLy8gRXZl
biB0aG91Z2ggTlNBcnJheSBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3aXRoIENGQXJyYXlSZWYsIHZh
bHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3VsZCBzdGF5IHdpdGhpbiB0aGlzIGZp
bGUncyBjb2RlLgorCisgICAgaWYgKCFhcnJheS5jb3VudCkgeworICAgICAgICBlbmNvZGVyIDw8
IHN0YXRpY19jYXN0PHVpbnQ2NF90PigwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IFJldGFpblB0cjxOU011dGFibGVJbmRleFNldD4gdmFsaWRJbmRpY2llcyA9IGFkb3B0TlMoW1tO
U011dGFibGVJbmRleFNldCBhbGxvY10gaW5pdF0pOworICAgIGZvciAoTlNVSW50ZWdlciBpID0g
MDsgaSA8IGFycmF5LmNvdW50OyArK2kpIHsKKyAgICAgICAgaWQgdmFsdWUgPSBhcnJheVtpXTsK
KworICAgICAgICAvLyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHN1cHBvcnQuCisgICAgICAgIEFT
U0VSVChpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSk7CisgICAgICAgIGlmICghaXNTZXJpYWxp
emFibGVWYWx1ZSh2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBbdmFs
aWRJbmRpY2llcyBhZGRJbmRleDppXTsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pih2YWxpZEluZGljaWVzLmdldCgpLmNvdW50KTsKKworICAgIFt2YWxpZElu
ZGljaWVzLmdldCgpIGVudW1lcmF0ZUluZGV4ZXNVc2luZ0Jsb2NrOl4oTlNVSW50ZWdlciBpLCBC
T09MICpzdG9wKSB7CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBhcnJheVtpXSk7Cisg
ICAgfV07Cit9CisKK3N0YXRpYyBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVBcnJheUlu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgdWludDY0X3Qgc2l6ZTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBhcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVB
cnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzaXplXSk7CisgICAgZm9yICh1aW50NjRfdCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiB2
YWx1ZSA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBuaWwpOworICAgICAgICBpZiAoIXZhbHVlKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgW2FycmF5IGFkZE9iamVj
dDp2YWx1ZS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXR1cm4geyBhcnJheSB9Owor
fQorCisjaWYgVVNFKEFQUEtJVCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChF
bmNvZGVyJiBlbmNvZGVyLCBOU0NvbG9yICpjb2xvcikKK3sKKyAgICBlbmNvZGVyIDw8IGNvbG9y
RnJvbU5TQ29sb3IoY29sb3IpOworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0
cjxpZD4+IGRlY29kZUNvbG9ySW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBDb2xv
ciBjb2xvcjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNvbG9yKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBuc0NvbG9yKGNvbG9yKSB9OworfQorI2VuZGlm
CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBO
U0RhdGEgKmRhdGEpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYp
ZGF0YSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2Rl
RGF0YUludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGRGF0YVJl
Zj4gZGF0YTsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU0RhdGEgKilkYXRhLmxlYWtS
ZWYoKSkgfTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXIm
IGVuY29kZXIsIE5TRGF0ZSAqZGF0ZSkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdl
IENGRGF0ZVJlZilkYXRlKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8
aWQ+PiBkZWNvZGVEYXRlSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5Q
dHI8Q0ZEYXRlUmVmPiBkYXRlOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMoKE5TRGF0ZSAq
KWRhdGUubGVha1JlZigpKSB9OworfQorCitzdGF0aWMgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNv
ZGVyJiBlbmNvZGVyLCBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCit7CisgICAgLy8gRXZlbiB0
aG91Z2ggTlNEaWN0aW9uYXJ5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZEaWN0aW9uYXJ5
UmVmLCBrZXlzL3ZhbHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3VsZCBzdGF5IHdp
dGhpbiB0aGlzIGZpbGUncyBjb2RlLgorCisgICAgaWYgKCFkaWN0aW9uYXJ5LmNvdW50KSB7Cisg
ICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KDApOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZU9yZGVyZWRTZXQ+IHZhbGlkS2V5
cyA9IGFkb3B0TlMoW1tOU011dGFibGVPcmRlcmVkU2V0IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5
OmRpY3Rpb25hcnkuY291bnRdKTsKKyAgICBmb3IgKGlkIGtleSBpbiBkaWN0aW9uYXJ5KSB7Cisg
ICAgICAgIGlkIHZhbHVlID0gZGljdGlvbmFyeVtrZXldOworICAgICAgICBBU1NFUlQodmFsdWUp
OworCisgICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2UgZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAg
QVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUoa2V5KSk7CisgICAgICAgIEFTU0VSVChpc1Nlcmlh
bGl6YWJsZVZhbHVlKHZhbHVlKSk7CisgICAgICAgIGlmICghaXNTZXJpYWxpemFibGVWYWx1ZShr
ZXkpIHx8ICFpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIFt2YWxpZEtleXMgYWRkT2JqZWN0OmtleV07CisgICAgfQorCisgICAgZW5j
b2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4odmFsaWRLZXlzLmdldCgpLmNvdW50KTsKKwor
ICAgIGZvciAoaWQga2V5IGluIHZhbGlkS2V5cy5nZXQoKSkgeworICAgICAgICBlbmNvZGVPYmpl
Y3QoZW5jb2Rlciwga2V5KTsKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIGRpY3Rpb25h
cnlba2V5XSk7CisgICAgfQorfQorCitzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVj
b2RlRGljdGlvbmFyeUludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgdWludDY0X3Qg
c2l6ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGRpY3Rpb25h
cnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0
eTpzaXplXSk7CisgICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAg
ICAgICBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBrZXkgPSBkZWNvZGVPYmplY3QoZGVjb2Rlciwg
bmlsKTsKKyAgICAgICAgaWYgKCFrZXkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IHZhbHVlID0gZGVjb2RlT2JqZWN0
KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgICAgIFtkaWN0aW9uYXJ5IHNldE9iamVjdDp2YWx1ZS52YWx1
ZSgpLmdldCgpIGZvcktleTprZXkudmFsdWUoKS5nZXQoKV07CisgICAgfQorCisgICAgcmV0dXJu
IHsgZGljdGlvbmFyeSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJuYWwo
RW5jb2RlciYgZW5jb2RlciwgUGxhdGZvcm1Gb250ICpmb250KQoreworICAgIGVuY29kZShlbmNv
ZGVyLCBmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKK30KKworc3RhdGljIE9w
dGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZUZvbnRJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVy
KQoreworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRyaWJ1dGVzOworICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIFBsYXRmb3JtRm9udERlc2NyaXB0b3IgKmZvbnREZXNjcmlwdG9yID0g
W1BsYXRmb3JtRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6
Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOworICAgIHJldHVybiB7IFtQbGF0Zm9ybUZvbnQgZm9udFdp
dGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF0gfTsKK30KKworc3RhdGljIGlubGlu
ZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5TTnVtYmVyICpudW1iZXIp
Cit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRk51bWJlclJlZiludW1iZXIpOwor
fQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU51bWJlcklu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGTnVtYmVyUmVmPiBu
dW1iZXI7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU051bWJlciAqKW51bWJlci5s
ZWFrUmVmKCkpIH07Cit9CiAKLXZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIGlk
IDxOU1NlY3VyZUNvZGluZz4gb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVy
bmFsKEVuY29kZXImIGVuY29kZXIsIGlkIDxOU09iamVjdCwgTlNTZWN1cmVDb2Rpbmc+IG9iamVj
dCkKIHsKICAgICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKICAgICBbYXJjaGl2
ZXIgZW5jb2RlT2JqZWN0Om9iamVjdCBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5
XTsKICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0gICAgSVBDOjplbmNvZGUoZW5j
b2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJjaGl2ZXIgZW5jb2RlZERhdGFdKTsKKyAgICBl
bmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJjaGl2ZXIgZW5jb2RlZERhdGFd
KTsKIH0KIAotT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNvZGluZz4+PiBkZWNvZGVP
YmplY3QoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQor
c3RhdGljIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVNlY3VyZUNvZGluZ0ludGVybmFs
KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKKyAg
ICBBU1NFUlQoYWxsb3dlZENsYXNzZXMgJiYgYWxsb3dlZENsYXNzZXMuY291bnQpOworICAgIGlm
ICghYWxsb3dlZENsYXNzZXMgfHwgIWFsbG93ZWRDbGFzc2VzLmNvdW50KQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0YTsKICAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
QEAgLTYxLDYgKzMxMywxNDkgQEAgT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNvZGlu
Zz4+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTwKICAgICB9CiB9CiAK
K3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBOU1N0
cmluZyAqc3RyaW5nKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZTdHJpbmdS
ZWYpc3RyaW5nKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBk
ZWNvZGVTdHJpbmdJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gc3RyaW5nOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHN0cmluZykpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNTdHJp
bmcgKilzdHJpbmcubGVha1JlZigpKSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2Rl
SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNVUkwgKlVSTCkKK3sKKyAgICBlbmNvZGUoZW5j
b2RlciwgKF9fYnJpZGdlIENGVVJMUmVmKVVSTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9u
YWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlVVJMSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sK
KyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IFVSTDsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBV
UkwpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMo
KE5TVVJMICopVVJMLmxlYWtSZWYoKSkgfTsKK30KKwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2Rl
ciYgZW5jb2RlciwgaWQgb2JqZWN0KQoreworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Ym9v
bD4oIW9iamVjdCk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybjsKKworICAgIE5T
VHlwZSB0eXBlID0gdHlwZUZyb21PYmplY3Qob2JqZWN0KTsKKyAgICBlbmNvZGVyIDw8IHR5cGU7
CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE5TVHlwZTo6QXJyYXk6CisgICAgICAg
IGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7
CisgICAgICAgIHJldHVybjsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBlOjpDb2xv
cjoKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNDb2xvciAq
PihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6OkRp
Y3Rpb25hcnk6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5T
RGljdGlvbmFyeSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBl
OjpGb250OgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxQbGF0
Zm9ybUZvbnQgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6
TnVtYmVyOgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU051
bWJlciAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpTZWN1
cmVDb2Rpbmc6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PGlk
IDxOU09iamVjdCwgTlNTZWN1cmVDb2Rpbmc+PihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIs
IHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBOU1R5cGU6OkRhdGU6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRp
Y19jYXN0PE5TRGF0ZSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNU
eXBlOjpEYXRhOgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxO
U0RhdGEgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6VVJM
OgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1VSTCAqPihv
YmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgorICAg
ICAgICBicmVhazsKKyAgICB9Cit9CisKK09wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU9i
amVjdChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCit7
CisgICAgYm9vbCBpc051bGw7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc051bGwpKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGlmIChpc051bGwpCisgICAgICAgIHJldHVy
biB7IG51bGxwdHIgfTsKKworICAgIE5TVHlwZSB0eXBlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVFbnVtKHR5cGUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgc3dpdGNo
ICh0eXBlKSB7CisgICAgY2FzZSBOU1R5cGU6OkFycmF5OgorICAgICAgICByZXR1cm4gZGVjb2Rl
QXJyYXlJbnRlcm5hbChkZWNvZGVyKTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBl
OjpDb2xvcjoKKyAgICAgICAgcmV0dXJuIGRlY29kZUNvbG9ySW50ZXJuYWwoZGVjb2Rlcik7Cisj
ZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKKyAgICAgICAgcmV0dXJuIGRlY29k
ZURpY3Rpb25hcnlJbnRlcm5hbChkZWNvZGVyKTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2Ug
TlNUeXBlOjpGb250OgorICAgICAgICByZXR1cm4gZGVjb2RlRm9udEludGVybmFsKGRlY29kZXIp
OworI2Vsc2UKKyAgICBjYXNlIE5TVHlwZTo6Rm9udDoKKyAgICAgICAgcmV0dXJuIGRlY29kZUZv
bnRJbnRlcm5hbChkZWNvZGVyKTsKKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6Cisg
ICAgICAgIHJldHVybiBkZWNvZGVOdW1iZXJJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5T
VHlwZTo6U2VjdXJlQ29kaW5nOgorICAgICAgICByZXR1cm4gZGVjb2RlU2VjdXJlQ29kaW5nSW50
ZXJuYWwoZGVjb2RlciwgYWxsb3dlZENsYXNzZXMpOworICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6
CisgICAgICAgIHJldHVybiBkZWNvZGVTdHJpbmdJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNl
IE5TVHlwZTo6RGF0ZToKKyAgICAgICAgcmV0dXJuIGRlY29kZURhdGVJbnRlcm5hbChkZWNvZGVy
KTsKKyAgICBjYXNlIE5TVHlwZTo6RGF0YToKKyAgICAgICAgcmV0dXJuIGRlY29kZURhdGFJbnRl
cm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5TVHlwZTo6VVJMOgorICAgICAgICByZXR1cm4gZGVj
b2RlVVJMSW50ZXJuYWwoZGVjb2Rlcik7CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElQQwogCituYW1lc3BhY2UgV1RGIHsKK3RlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpOU1R5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBJUEM6Ok5TVHlwZSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkFy
cmF5LAorI2lmIFVTRShBUFBLSVQpCisgICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKKyNlbmRp
ZgorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0YSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkRhdGUs
CisgICAgICAgIElQQzo6TlNUeXBlOjpEaWN0aW9uYXJ5LAorICAgICAgICBJUEM6Ok5TVHlwZTo6
Rm9udCwKKyAgICAgICAgSVBDOjpOU1R5cGU6Ok51bWJlciwKKyAgICAgICAgSVBDOjpOU1R5cGU6
OlNlY3VyZUNvZGluZywKKyAgICAgICAgSVBDOjpOU1R5cGU6OlN0cmluZywKKyAgICAgICAgSVBD
OjpOU1R5cGU6OlVSTCwKKyAgICAgICAgSVBDOjpOU1R5cGU6OlVua25vd24KKyAgICA+OworfTsK
K30KKwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0KaW5kZXggODE3MGYyMjFlNzI3NmMwYjE3
OGUzNGYwYzJjZGNmODQ5MTdiOTVlMC4uNmExNWM5Yjg1ZmY5MzQ2YzNhZWM4MWRlNDdhZDkzMzA5
ZDI2NmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFt
ZXRlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1l
dGVyc0NvY29hLm1tCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKIAot
I2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnND
b2NvYS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggOTYwOTI4ZmJiMjEyOGJmOTUwYWI5ZGUwZjE2
Y2M4N2VhOTU5YmNlZS4uMmQ4YjA2ZDZmZTNlZTkxOWIzMTQxMzcxMzU5NGI3ZGE1OThhZDE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KQEAgLTI2LDE3ICsyNiwyNCBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAorI2ltcG9ydCAiQXJndW1lbnRD
b2RlcnNDb2NvYS5oIgorI2ltcG9ydCA8V2ViQ29yZS9EaWN0aW9uYXJ5UG9wdXBJbmZvLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CisKICNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmg+CiAj
aW1wb3J0IDxwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjZW5kaWYKKwogbmFtZXNwYWNlIElQQyB7CiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKIHZvaWQg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFdlYkNvcmU6OlBheW1lbnQmIHBheW1lbnQpCiB7CiAgICAgZW5jb2RlciA8PCBwYXlt
ZW50LnBrUGF5bWVudCgpOwpAQCAtNDA4LDUgKzQxNSwzMyBAQCBPcHRpb25hbDxXZWJDb3JlOjpT
aGlwcGluZ01ldGhvZFVwZGF0ZT4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTaGlwcGluZ01ldGhv
ZFVwZAogICAgIHJldHVybiB7eyBXVEZNb3ZlKCpuZXdUb3RhbEFuZExpbmVJdGVtcykgfX07CiB9
CiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVQQVkpCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mIGluZm8pCit7CisgICAg
ZW5jb2RlciA8PCBpbmZvLm9wdGlvbnM7CisgICAgZW5jb2RlciA8PCBpbmZvLmF0dHJpYnV0ZWRT
dHJpbmc7CiB9Ci0jZW5kaWYKKworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25h
cnlQb3B1cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYgcmVzdWx0KQoreworICAgIGlmICghSVBDOjpkZWNvZGUo
ZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCFJUEM6OmRlY29kZShkZWNvZGVyLCByZXN1bHQuYXR0cmlidXRlZFN0cmluZykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQoreworICAg
IGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OworfQorCitPcHRpb25hbDxGb250QXR0cmlidXRl
cz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3Jt
RGF0YShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYgYXR0cmlidXRl
cykKK3sKKyAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMuZm9udCkpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIGF0dHJpYnV0ZXM7Cit9CisK
K30gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAKaW5kZXggZjdlYmIwZTlmZGFhMWJmOGMyN2JmZGUxZmI5M2NhOTQ1MmQ3
NDljMC4uODJhNzljNWI5MWY1MjEzZDU3OGRjMzlhMzZiOGY4N2ZjYTEwYjMzZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC05MCw3ICs5
MCw2IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NG
LmgiCi0jaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNNYWMuaCIKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTEwOTYsNyArMTA5NSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxQ
cm90ZWN0aW9uU3BhY2U+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUHJvdGVjdGlvblNwYWNl
JiBzCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChoYXNQbGF0Zm9ybURhdGEpCi0g
ICAgICAgIHJldHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rlciwgc3BhY2UpOworICAgICAg
ICByZXR1cm4gZGVjb2Rlciwgc3BhY2UpOwogCiAgICAgU3RyaW5nIGhvc3Q7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShob3N0KSkKQEAgLTI1OTksMTcgKzI1OTgsMTMgQEAgdm9pZCBBcmd1bWVu
dENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVy
LCBjb25zdCBEaWMKICAgICBlbmNvZGVyIDw8IGluZm8ub3JpZ2luOwogICAgIGVuY29kZXIgPDwg
aW5mby50ZXh0SW5kaWNhdG9yOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYWRP
cHRpb25zID0gaW5mby5vcHRpb25zOwotICAgIGVuY29kZXIgPDwgaGFkT3B0aW9uczsKLSAgICBp
ZiAoaGFkT3B0aW9ucykKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgaW5mby5vcHRpb25z
LmdldCgpKTsKLQotICAgIGJvb2wgaGFkQXR0cmlidXRlZFN0cmluZyA9IGluZm8uYXR0cmlidXRl
ZFN0cmluZzsKLSAgICBlbmNvZGVyIDw8IGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKGhh
ZEF0dHJpYnV0ZWRTdHJpbmcpCi0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGluZm8uYXR0
cmlidXRlZFN0cmluZy5nZXQoKSk7Ci0jZW5kaWYKKyAgICBpZiAoaW5mby5lbmNvZGluZ1JlcXVp
cmVzUGxhdGZvcm1EYXRhKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAgICAgICBl
bmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgaW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBlbmNvZGVyIDw8IGZhbHNlOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8RGljdGlv
bmFyeVBvcHVwSW5mbz46OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIERpY3Rpb25hcnlQ
b3B1cEluZm8mIHJlc3VsdCkKQEAgLTI2MjMsMjUgKzI2MTgsMTEgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBE
aWN0aW9uYXIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc3VsdC50ZXh0SW5kaWNhdG9y
ID0gV1RGTW92ZSgqdGV4dEluZGljYXRvcik7CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBi
b29sIGhhZE9wdGlvbnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRPcHRpb25zKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChoYWRPcHRpb25zKSB7Ci0gICAgICAgIGlmICgh
SVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQub3B0aW9ucyA9IG51bGxwdHI7Ci0K
LSAgICBib29sIGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSho
YWRBdHRyaWJ1dGVkU3RyaW5nKSkKKyAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoaGFkQXR0cmlidXRlZFN0cmluZykgewotICAgICAgICBpZiAoIUlQQzo6ZGVjb2Rl
KGRlY29kZXIsIHJlc3VsdC5hdHRyaWJ1dGVkU3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9IGVsc2UKLSAgICAgICAgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcgPSBudWxs
cHRyOwotI2VuZGlmCisgICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKKyAgICAgICAgcmV0dXJuIGRl
Y29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCByZXN1bHQpOwogICAgIHJldHVybiB0cnVlOwogfQog
CkBAIC0zMDQ1LDEyICszMDI2LDEyIEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRl
cz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAgZW5j
b2RlciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91
bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxp
bmUgPDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3Rz
OwogICAgIGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLmhvcml6b250YWxBbGlnbm1lbnQp
OwogICAgIGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3Jp
cHQpOwotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgaGFzRm9udCA9IGF0dHJpYnV0ZXMu
Zm9udDsKLSAgICBlbmNvZGVyIDw8IGhhc0ZvbnQ7Ci0gICAgaWYgKGhhc0ZvbnQpCi0gICAgICAg
IElQQzo6ZW5jb2RlKGVuY29kZXIsIGF0dHJpYnV0ZXMuZm9udC5nZXQoKSk7Ci0jZW5kaWYKKwor
ICAgIGlmIChhdHRyaWJ1dGVzLmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgeworICAg
ICAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVy
LCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIH0KIAogT3B0aW9uYWw8Rm9u
dEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKQEAgLTMwODEsMTQgKzMwNjIsMTEgQEAgT3B0aW9uYWw8Rm9udEF0dHJpYnV0
ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3Vw
ZXJzY3JpcHQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0jaWYgUExBVEZPUk0o
Q09DT0EpCi0gICAgYm9vbCBoYXNGb250ID0gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNGb250KSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIGlmIChoYXNG
b250ICYmICFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQorICAgIGJvb2wg
aGFzUGxhdGZvcm1EYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzUGxhdGZvcm1EYXRh
KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSNlbmRpZgorICAgIGlmIChoYXNQbGF0
Zm9ybURhdGEpCisgICAgICAgIHJldHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgYXR0
cmlidXRlcyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMmVmNWU0M2FkYjQ4OTUxODE5Yzlh
NzEzZDY5ZTAxM2QyMGRkNmU5Yi4uZDcxMTQwYWU5N2M3OTkzNGI2OGRlNzcxYzE4Y2NiMzhhNmJi
ODNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
QEAgLTU4Miw2ICs1ODIsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlRleHRJbmRpY2F0b3JEYXRhPiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKICAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsK
KyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9y
bURhdGEoRGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKIH07CiAKICNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtNzQ0LDYgKzc0Niw4IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4+PiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25z
dCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJDb3Jl
OjpGb250QXR0cmlidXRlcz4gZGVjb2RlKERlY29kZXImKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7
CisgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGVQbGF0
Zm9ybURhdGEoRGVjb2RlciYsIFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9OwogCiAjaWYg
RU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL2N1cmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9jdXJsL1dlYkNvcmVBcmd1bWVudENvZGVyc0N1cmwuY3BwCmluZGV4IDAyNzM4NWRhMTZk
YjY3ZTgwMzM1ZmUxYjc2ODhiNWFmMTBlYmNmYjYuLmQ5ZDczZGEzZDIzNDFiMTc2MGI0ZDExODU5
OWM2OGYyM2QzM2Q0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY3Vy
bC9XZWJDb3JlQXJndW1lbnRDb2RlcnNDdXJsLmNwcApAQCAtMjEwLDQgKzIxMCwyNiBAQCBPcHRp
b25hbDxDdXJsUHJveHlTZXR0aW5ncz4gQXJndW1lbnRDb2RlcjxDdXJsUHJveHlTZXR0aW5ncz46
OmRlY29kZShEZWNvZGVyJiBkZQogICAgIHJldHVybiBDdXJsUHJveHlTZXR0aW5ncyB7IFdURk1v
dmUodXJsKSwgV1RGTW92ZShpZ25vcmVIb3N0cykgfTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVy
PEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250
QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK09wdGlvbmFs
PEZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxh
dGZvcm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBBcmd1bWVudENv
ZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNv
bnN0IERpY3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRm
b3JtRGF0YShEZWNvZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkMmFiYjdmOTY2NDNhYWRkYjUwNzMwYzliNTU4YTNjOTA3MTI5OGExLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9Bcmd1bWVudENvZGVyc01hYy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPG9iamMvb2JqYy5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotT0JKQ19DTEFTUyBOU0FycmF5OwotT0JKQ19DTEFT
UyBOU0F0dHJpYnV0ZWRTdHJpbmc7Ci1PQkpDX0NMQVNTIE5TQ29sb3I7Ci1PQkpDX0NMQVNTIE5T
RGF0YTsKLU9CSkNfQ0xBU1MgTlNEYXRlOwotT0JKQ19DTEFTUyBOU0RpY3Rpb25hcnk7Ci1PQkpD
X0NMQVNTIE5TRm9udDsKLU9CSkNfQ0xBU1MgTlNOdW1iZXI7Ci1PQkpDX0NMQVNTIE5TU3RyaW5n
OwotT0JKQ19DTEFTUyBOU1VSTDsKLU9CSkNfQ0xBU1MgVUlGb250OwotCi1uYW1lc3BhY2UgSVBD
IHsKLQotY2xhc3MgRW5jb2RlcjsKLWNsYXNzIERlY29kZXI7Ci0KLS8vIGlkCi12b2lkIGVuY29k
ZShFbmNvZGVyJiwgaWQpOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxpZD4mKTsK
LQotLy8gTlNBdHRyaWJ1dGVkU3RyaW5nCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNBdHRyaWJ1
dGVkU3RyaW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0F0dHJpYnV0
ZWRTdHJpbmc+Jik7Ci0KLSNpZiBVU0UoQVBQS0lUKQotLy8gTlNDb2xvcgotdm9pZCBlbmNvZGUo
RW5jb2RlciYsIE5TQ29sb3IgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5T
Q29sb3I+Jik7Ci0jZW5kaWYKLQotLy8gTlNEaWN0aW9uYXJ5Ci12b2lkIGVuY29kZShFbmNvZGVy
JiwgTlNEaWN0aW9uYXJ5ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0Rp
Y3Rpb25hcnk+Jik7Ci0KLS8vIE5TQXJyYXkKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0FycmF5
ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0FycmF5PiYpOwotCi0jaWYg
VVNFKEFQUEtJVCkKLS8vIE5TRm9udAotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRm9udCAqKTsK
LWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNGb250PiYpOwotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIFVJRm9udCAqKTsK
LWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8VUlGb250PiYpOwotI2VuZGlmCi0KLS8v
IE5TTnVtYmVyCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNOdW1iZXIgKik7Ci1ib29sIGRlY29k
ZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TTnVtYmVyPiYpOwotCi0vLyBOU1N0cmluZwotdm9pZCBl
bmNvZGUoRW5jb2RlciYsIE5TU3RyaW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFp
blB0cjxOU1N0cmluZz4mKTsKLQotLy8gTlNEYXRlCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNE
YXRlICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0RhdGU+Jik7Ci0KLS8v
IE5TRGF0YQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGF0YSAqKTsKLWJvb2wgZGVjb2RlKERl
Y29kZXImLCBSZXRhaW5QdHI8TlNEYXRhPiYpOwotCi0vLyBOU1VSTAotdm9pZCBlbmNvZGUoRW5j
b2RlciYsIE5TVVJMICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU1VSTD4m
KTsKLQotfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJn
dW1lbnRDb2RlcnNNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyYTAyOTVm
ZWY4YTVlOTk0MzVlYjczODFiMWExMDc2N2YyNzNhMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50
Q29kZXJzTWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTgyICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCi0KLSNp
bXBvcnQgPENvcmVUZXh0L0NvcmVUZXh0Lmg+Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNp
bXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0jZW5kaWYKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnND
Ri5oIgotI2ltcG9ydCAiRGVjb2Rlci5oIgotI2ltcG9ydCAiRW5jb2Rlci5oIgotI2ltcG9ydCAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0jaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+Ci0K
LW5hbWVzcGFjZSBJUEMgewotCi1lbnVtIGNsYXNzIE5TVHlwZSB7Ci0gICAgQXR0cmlidXRlZFN0
cmluZywKLSNpZiBVU0UoQVBQS0lUKQotICAgIENvbG9yLAotI2VuZGlmCi0gICAgRGljdGlvbmFy
eSwKLSAgICBBcnJheSwKLSNpZiBVU0UoQVBQS0lUKQotICAgIEZvbnQsCi0jZW5kaWYKLSAgICBO
dW1iZXIsCi0gICAgU3RyaW5nLAotICAgIERhdGUsCi0gICAgRGF0YSwKLSAgICBVUkwsCi0gICAg
VW5rbm93biwKLX07Ci0KLX0KLQotbmFtZXNwYWNlIElQQyB7Ci11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQotc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3QpCi17Ci0gICAg
QVNTRVJUKG9iamVjdCk7Ci0KLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0F0dHJp
YnV0ZWRTdHJpbmcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6QXR0cmlidXRlZFN0
cmluZzsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05T
Q29sb3IgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29sb3I7Ci0jZW5kaWYKLSAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSkKLSAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGlmIChb
b2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRm9udCBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNU
eXBlOjpGb250OwotI2VuZGlmCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNOdW1i
ZXIgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6TnVtYmVyOwotICAgIGlmIChbb2Jq
ZWN0IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5
cGU6OlN0cmluZzsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNz
XV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkFycmF5OwotICAgIGlmIChbb2JqZWN0IGlzS2lu
ZE9mQ2xhc3M6W05TRGF0ZSBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpEYXRlOwot
ICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11dKQotICAgICAgICBy
ZXR1cm4gTlNUeXBlOjpEYXRhOwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TVVJM
IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OlVSTDsKLQotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBOU1R5cGU6OlVua25vd247Ci19Ci0KLXZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGlkIG9iamVjdCkKLXsKLSAgICBOU1R5cGUgdHlwZSA9IHR5cGVG
cm9tT2JqZWN0KG9iamVjdCk7Ci0gICAgZW5jb2RlciA8PCB0eXBlOwotCi0gICAgc3dpdGNoICh0
eXBlKSB7Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6Ci0gICAgICAgIGVuY29k
ZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0F0dHJpYnV0ZWRTdHJpbmcgKj4ob2JqZWN0KSk7Ci0g
ICAgICAgIHJldHVybjsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpDb2xvcjoK
LSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQ29sb3IgKj4ob2JqZWN0KSk7
Ci0gICAgICAgIHJldHVybjsKLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5Ogot
ICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5ICo+KG9iamVj
dCkpOwotICAgICAgICByZXR1cm47Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6
Rm9udDoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRm9udCAqPihvYmpl
Y3QpKTsKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6Ok51bWJlcjoK
LSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVtYmVyICo+KG9iamVjdCkp
OwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OlN0cmluZzoKLSAgICAgICAgZW5j
b2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9iamVjdCkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwg
c3RhdGljX2Nhc3Q8TlNBcnJheSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNh
c2UgTlNUeXBlOjpEYXRlOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNE
YXRlICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGE6
Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2JqZWN0KSk7
Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6VVJMOgotICAgICAgICBlbmNvZGUo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNVUkwgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIs
IFJldGFpblB0cjxpZD4mIHJlc3VsdCkKLXsKLSAgICBOU1R5cGUgdHlwZTsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlRW51bSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc3dp
dGNoICh0eXBlKSB7Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6IHsKLSAgICAg
ICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gc3RyaW5nOwotICAgICAgICBpZiAoIWRl
Y29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICByZXN1bHQgPSBzdHJpbmc7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNpZiBVU0Uo
QVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpDb2xvcjogewotICAgICAgICBSZXRhaW5QdHI8TlND
b2xvcj4gY29sb3I7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGNvbG9yKSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gY29sb3I7Ci0gICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OiB7
Ci0gICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRpY3Rpb25hcnk7Ci0gICAgICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGRpY3Rpb25hcnkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICByZXN1bHQgPSBkaWN0aW9uYXJ5OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Rm9udDogewotICAgICAgICBS
ZXRhaW5QdHI8TlNGb250PiBmb250OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZm9udDsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6Ok51bWJl
cjogewotICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IG51bWJlcjsKLSAgICAgICAgaWYgKCFk
ZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgcmVzdWx0ID0gbnVtYmVyOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2Fz
ZSBOU1R5cGU6OlN0cmluZzogewotICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IHN0cmluZzsK
LSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5nOwotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0Fy
cmF5PiBhcnJheTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgYXJyYXkpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBhcnJheTsKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpEYXRlOiB7Ci0gICAgICAgIFJldGFp
blB0cjxOU0RhdGU+IGRhdGU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBkYXRlOwotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGE6IHsKLSAgICAgICAg
UmV0YWluUHRyPE5TRGF0YT4gZGF0YTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0
YSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGRhdGE7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VVJMOiB7Ci0gICAg
ICAgIFJldGFpblB0cjxOU1VSTD4gVVJMOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBV
UkwpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBVUkw7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKLSAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6
YWJsZUZvbnQoQ1RGb250UmVmIGZvbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29w
eUF0dHJpYnV0ZShmb250LCBrQ1RGb250VVJMQXR0cmlidXRlKSk7Ci19Ci0KLXN0YXRpYyBpbmxp
bmUgYm9vbCBpc1NlcmlhbGl6YWJsZVZhbHVlKGlkIHZhbHVlKQotewotI2lmIFVTRShBUFBLSVQp
Ci0gICAgYXV0byBmb250Q2xhc3MgPSBbTlNGb250IGNsYXNzXTsKLSNlbHNlCi0gICAgYXV0byBm
b250Q2xhc3MgPSBbVUlGb250IGNsYXNzXTsKLSNlbmRpZgotICAgIHJldHVybiAhW3ZhbHVlIGlz
S2luZE9mQ2xhc3M6Zm9udENsYXNzXSB8fCBpc1NlcmlhbGl6YWJsZUZvbnQoKF9fYnJpZGdlIENU
Rm9udFJlZil2YWx1ZSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgUmV0YWluUHRyPE5TRGljdGlvbmFy
eT4gZmlsdGVyVW5zZXJpYWxpemFibGVWYWx1ZXMoTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5KQot
ewotICAgIF9fYmxvY2sgYm9vbCBtb2RpZmljYXRpb25OZWNlc3NhcnkgPSBmYWxzZTsKLSAgICBb
ZGljdGlvbmFyeSBlbnVtZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxvY2s6XihpZCBrZXksIGlk
IG9iamVjdCwgQk9PTCAqc3RvcCkgewotICAgICAgICBpZiAoIWlzU2VyaWFsaXphYmxlVmFsdWUo
b2JqZWN0KSkgewotICAgICAgICAgICAgbW9kaWZpY2F0aW9uTmVjZXNzYXJ5ID0gdHJ1ZTsKLSAg
ICAgICAgICAgICpzdG9wID0gWUVTOwotICAgICAgICB9Ci0gICAgfV07Ci0gICAgaWYgKCFtb2Rp
ZmljYXRpb25OZWNlc3NhcnkpCi0gICAgICAgIHJldHVybiBkaWN0aW9uYXJ5OwotCi0gICAgYXV0
byByZXN1bHQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwot
ICAgIFtkaWN0aW9uYXJ5IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIGtl
eSwgaWQgb2JqZWN0LCBCT09MICpzdG9wKSB7Ci0gICAgICAgIGlmIChpc1NlcmlhbGl6YWJsZVZh
bHVlKG9iamVjdCkpCi0gICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpvYmplY3QgZm9yS2V5
OmtleV07Ci0gICAgfV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcpCi17Ci0gICAgLy8gRXZl
biB0aG91Z2ggTlNBdHRyaWJ1dGVkU3RyaW5nIGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZB
dHRyaWJ1dGVkU3RyaW5nUmVmLCBhdHRyaWJ1dGVzJyB2YWx1ZXMgbWF5IGJlIG5vdCwgc28gd2Ug
c2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCi0KLSAgICBOU1N0cmluZyAqcGxh
aW5TdHJpbmcgPSBbc3RyaW5nIHN0cmluZ107Ci0gICAgTlNVSW50ZWdlciBsZW5ndGggPSBbcGxh
aW5TdHJpbmcgbGVuZ3RoXTsKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBwbGFpblN0cmluZyk7
Ci0KLSAgICBWZWN0b3I8c3RkOjpwYWlyPE5TUmFuZ2UsIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+
Pj4gcmFuZ2VzOwotCi0gICAgTlNVSW50ZWdlciBwb3NpdGlvbiA9IDA7Ci0gICAgd2hpbGUgKHBv
c2l0aW9uIDwgbGVuZ3RoKSB7Ci0gICAgICAgIC8vIENvbGxlY3QgcmFuZ2VzIGluIGEgdmVjdG9y
LCBiZWNhc3VlIHRoZSB0b3RhbCBjb3VudCBzaG91bGQgYmUgZW5jb2RlZCBmaXJzdC4KLSAgICAg
ICAgTlNSYW5nZSBlZmZlY3RpdmVSYW5nZTsKLSAgICAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFy
eT4gYXR0cmlidXRlc0F0SW5kZXggPSBbc3RyaW5nIGF0dHJpYnV0ZXNBdEluZGV4OnBvc2l0aW9u
IGVmZmVjdGl2ZVJhbmdlOiZlZmZlY3RpdmVSYW5nZV07Ci0gICAgICAgIEFTU0VSVChlZmZlY3Rp
dmVSYW5nZS5sb2NhdGlvbiA9PSBwb3NpdGlvbik7Ci0gICAgICAgIEFTU0VSVChlZmZlY3RpdmVS
YW5nZS5sZW5ndGgpOwotICAgICAgICBBU1NFUlQoTlNNYXhSYW5nZShlZmZlY3RpdmVSYW5nZSkg
PD0gbGVuZ3RoKTsKLQotICAgICAgICByYW5nZXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGVmZmVj
dGl2ZVJhbmdlLCBmaWx0ZXJVbnNlcmlhbGl6YWJsZVZhbHVlcyhhdHRyaWJ1dGVzQXRJbmRleC5n
ZXQoKSkpKTsKLQotICAgICAgICBwb3NpdGlvbiA9IE5TTWF4UmFuZ2UoZWZmZWN0aXZlUmFuZ2Up
OwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhbmdlcy5z
aXplKCkpOwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByYW5nZXMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFuZ2VzW2ldLmZp
cnN0LmxvY2F0aW9uKTsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4o
cmFuZ2VzW2ldLmZpcnN0Lmxlbmd0aCk7Ci0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHJh
bmdlc1tpXS5zZWNvbmQuZ2V0KCkpOwotICAgIH0KLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4mIHJlc3VsdCkKLXsKLSAgICBS
ZXRhaW5QdHI8TlNTdHJpbmc+IHBsYWluU3RyaW5nOwotICAgIGlmICghSVBDOjpkZWNvZGUoZGVj
b2RlciwgcGxhaW5TdHJpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBOU1VJbnRl
Z2VyIHN0cmluZ0xlbmd0aCA9IFtwbGFpblN0cmluZyBsZW5ndGhdOwotCi0gICAgUmV0YWluUHRy
PE5TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmc+IHJlc3VsdFN0cmluZyA9IGFkb3B0TlMoW1tOU011
dGFibGVBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzpwbGFpblN0cmluZy5n
ZXQoKV0pOwotCi0gICAgdWludDY0X3QgcmFuZ2VDb3VudDsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJhbmdlQ291bnQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB3aGlsZSAocmFu
Z2VDb3VudC0tKSB7Ci0gICAgICAgIHVpbnQ2NF90IHJhbmdlTG9jYXRpb247Ci0gICAgICAgIHVp
bnQ2NF90IHJhbmdlTGVuZ3RoOwotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhdHRy
aWJ1dGVzOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhbmdlTG9jYXRpb24pKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhbmdl
TGVuZ3RoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBBU1NFUlQocmFu
Z2VMb2NhdGlvbiArIHJhbmdlTGVuZ3RoID4gcmFuZ2VMb2NhdGlvbik7Ci0gICAgICAgIEFTU0VS
VChyYW5nZUxvY2F0aW9uICsgcmFuZ2VMZW5ndGggPD0gc3RyaW5nTGVuZ3RoKTsKLSAgICAgICAg
aWYgKHJhbmdlTG9jYXRpb24gKyByYW5nZUxlbmd0aCA8PSByYW5nZUxvY2F0aW9uIHx8IHJhbmdl
TG9jYXRpb24gKyByYW5nZUxlbmd0aCA+IHN0cmluZ0xlbmd0aCkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBbcmVzdWx0U3RyaW5nIGFkZEF0
dHJpYnV0ZXM6YXR0cmlidXRlcy5nZXQoKSByYW5nZTpOU01ha2VSYW5nZShyYW5nZUxvY2F0aW9u
LCByYW5nZUxlbmd0aCldOwotICAgIH0KLQotICAgIHJlc3VsdCA9IGFkb3B0TlMocmVzdWx0U3Ry
aW5nLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZiBVU0UoQVBQS0lUKQot
dm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNDb2xvciAqY29sb3IpCi17Ci0gICAgZW5j
b2RlciA8PCBjb2xvckZyb21OU0NvbG9yKGNvbG9yKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQ29sb3I+JiByZXN1bHQpCi17Ci0gICAgQ29sb3IgY29s
b3I7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShjb2xvcikpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHJlc3VsdCA9IG5zQ29sb3IoY29sb3IpOwotICAgIHJldHVybiB0cnVlOwotfQot
I2VuZGlmCi0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRGljdGlvbmFyeSAqZGlj
dGlvbmFyeSkKLXsKLSAgICAvLyBFdmVuIHRob3VnaCBOU0RpY3Rpb25hcnkgaXMgdG9sbCBmcmVl
IGJyaWRnZWQgd2l0aCBDRkRpY3Rpb25hcnlSZWYsIHZhbHVlcyBtYXkgYmUgbm90LCBzbyB3ZSBz
aG91bGQgc3RheSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KLQotICAgIE5TVUludGVnZXIgc2l6
ZSA9IFtkaWN0aW9uYXJ5IGNvdW50XTsKLSAgICBOU0FycmF5ICprZXlzID0gW2RpY3Rpb25hcnkg
YWxsS2V5c107Ci0gICAgTlNBcnJheSAqdmFsdWVzID0gW2RpY3Rpb25hcnkgYWxsVmFsdWVzXTsK
LQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHNpemUpOwotCi0gICAgZm9y
IChOU1VJbnRlZ2VyIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIGlkIGtleSA9IFtr
ZXlzIG9iamVjdEF0SW5kZXg6aV07Ci0gICAgICAgIGlkIHZhbHVlID0gW3ZhbHVlcyBvYmplY3RB
dEluZGV4OmldOwotICAgICAgICBBU1NFUlQoa2V5KTsKLSAgICAgICAgQVNTRVJUKHZhbHVlKTsK
LSAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUpKTsKLQotICAgICAgICAv
LyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHJlY29nbml6ZS4KLSAgICAgICAgaWYgKHR5cGVGcm9t
T2JqZWN0KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBlbmNvZGUoZW5jb2Rlciwga2V5KTsKLSAgICAgICAgZW5jb2RlKGVuY29kZXIs
IHZhbHVlKTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFp
blB0cjxOU0RpY3Rpb25hcnk+JiByZXN1bHQpCi17Ci0gICAgdWludDY0X3Qgc2l6ZTsKLSAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBS
ZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IGFkb3B0TlMoW1tOU011
dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsKLSAgICBmb3Ig
KHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIC8vIFRyeSB0byBkZWNv
ZGUgdGhlIGtleSBuYW1lLgotICAgICAgICBSZXRhaW5QdHI8aWQ+IGtleTsKLSAgICAgICAgaWYg
KCFkZWNvZGUoZGVjb2Rlciwga2V5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
ICAgICBSZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCB2
YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgW2RpY3Rpb25hcnkg
c2V0T2JqZWN0OnZhbHVlLmdldCgpIGZvcktleTprZXkuZ2V0KCldOwotICAgIH0KLQotICAgIHJl
c3VsdCA9IGFkb3B0TlMoZGljdGlvbmFyeS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwot
fQotCi0jaWYgVVNFKEFQUEtJVCkKLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRm9u
dCAqZm9udCkKLXsKLSAgICAvLyBOU0ZvbnQgY291bGQgdXNlIENURm9udFJlZiBjb2RlIGlmIHdl
IGhhZCBpdCBpbiBBcmd1bWVudENvZGVyc0NGLgotICAgIGVuY29kZShlbmNvZGVyLCBmb250LmZv
bnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgUmV0YWluUHRyPE5TRm9udD4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8TlNE
aWN0aW9uYXJ5PiBmb250QXR0cmlidXRlczsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250
QXR0cmlidXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE5TRm9udERlc2NyaXB0
b3IgKmZvbnREZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRo
Rm9udEF0dHJpYnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOwotICAgIHJlc3VsdCA9IFtOU0Zv
bnQgZm9udFdpdGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07Ci0KLSAgICByZXR1
cm4gcmVzdWx0OwotfQotI2VuZGlmIC8vIFVTRShBUFBLSVQpCi0KLSNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBVSUZvbnQgKmZvbnQpCi17
Ci0gICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMp
OwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8VUlGb250PiYg
cmVzdWx0KQotewotICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRyaWJ1dGVzOwot
ICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgVUlGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbVUlGb250
RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250QXR0cmlidXRl
cy5nZXQoKV07Ci0gICAgcmVzdWx0ID0gW1VJRm9udCBmb250V2l0aERlc2NyaXB0b3I6Zm9udERl
c2NyaXB0b3Igc2l6ZTowXTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLSNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU051
bWJlciAqbnVtYmVyKQotewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZOdW1iZXJS
ZWYpbnVtYmVyKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRy
PE5TTnVtYmVyPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gbnVtYmVy
OwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIG51bWJlcikpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVyLmxlYWtSZWYoKSk7
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5T
U3RyaW5nICpzdHJpbmcpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlN0cmlu
Z1JlZilzdHJpbmcpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5Q
dHI8TlNTdHJpbmc+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdHJp
bmc7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNTdHJpbmcgKilzdHJpbmcubGVha1JlZigp
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
TlNBcnJheSAqYXJyYXkpCi17Ci0gICAgTlNVSW50ZWdlciBzaXplID0gW2FycmF5IGNvdW50XTsK
LSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaXplKTsKLQotICAgIGZvciAo
TlNVSW50ZWdlciBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBpZCB2YWx1ZSA9IFth
cnJheSBvYmplY3RBdEluZGV4OmldOwotCi0gICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2UgZG9u
J3QgcmVjb2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3QodmFsdWUpID09IE5TVHlw
ZTo6VW5rbm93bikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIEFTU0VSVChpc1Nl
cmlhbGl6YWJsZVZhbHVlKHZhbHVlKSk7Ci0KLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHZhbHVl
KTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxO
U0FycmF5PiYgcmVzdWx0KQotewotICAgIHVpbnQ2NF90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZShzaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUmV0YWluUHRyPE5T
TXV0YWJsZUFycmF5PiBhcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5p
dFdpdGhDYXBhY2l0eTpzaXplXSk7Ci0gICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7
ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBpZiAoIWRlY29k
ZShkZWNvZGVyLCB2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAg
W2FycmF5IGFkZE9iamVjdDp2YWx1ZS5nZXQoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0gYWRv
cHROUyhhcnJheS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyLCBOU0RhdGUgKmRhdGUpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIs
IChfX2JyaWRnZSBDRkRhdGVSZWYpZGF0ZSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFJldGFpblB0cjxOU0RhdGU+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGRGF0
ZVJlZj4gZGF0ZTsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRlICopZGF0ZS5sZWFrUmVm
KCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVy
LCBOU0RhdGEgKmRhdGEpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFS
ZWYpZGF0YSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxO
U0RhdGE+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0YTsKLSAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
cmVzdWx0ID0gYWRvcHROUygoTlNEYXRhICopZGF0YS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0
cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU1VSTCAqVVJMKQotewot
ICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMKTsKLX0KLQotYm9vbCBk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TVVJMPiYgcmVzdWx0KQotewotICAg
IFJldGFpblB0cjxDRlVSTFJlZj4gVVJMOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVSTCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TVVJMICop
VVJMLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIElQ
QwotCi1uYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpO
U1R5cGU+IHsKLSAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBJUEM6Ok5T
VHlwZSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmcsCi0gICAgI2lmIFVT
RShBUFBLSVQpCi0gICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKLSAgICAjZW5kaWYKLSAgICAg
ICAgSVBDOjpOU1R5cGU6OkRpY3Rpb25hcnksCi0gICAgICAgIElQQzo6TlNUeXBlOjpBcnJheSwK
LSAgICAjaWYgVVNFKEFQUEtJVCkKLSAgICAgICAgSVBDOjpOU1R5cGU6OkZvbnQsCi0gICAgI2Vu
ZGlmCi0gICAgICAgIElQQzo6TlNUeXBlOjpOdW1iZXIsCi0gICAgICAgIElQQzo6TlNUeXBlOjpT
dHJpbmcsCi0gICAgICAgIElQQzo6TlNUeXBlOjpEYXRlLAotICAgICAgICBJUEM6Ok5TVHlwZTo6
RGF0YSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlVSTCwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlVu
a25vd24KLSAgICA+OwotfTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9BdHRyaWJ1dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0
ZWRTdHJpbmcubW0KaW5kZXggMjc1YTRmMTAwOWQwNDM5YzFjYWI3MGNmNjNiMzY2ZmJiYmIzOGQ2
YS4uYWUwODU4NDU0N2I2MWI1MzQyY2RhN2NjZWNkNDE2MTRkNDg3ZTdlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTI3LDMyICsyNywyMSBA
QAogI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVy
c0NvY29hLmgiCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgotI2ltcG9ydCA8Rm91bmRh
dGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0ICJEZWNvZGVyLmgiCisjaW1wb3J0ICJFbmNvZGVy
LmgiCiAKIG5hbWVzcGFjZSBJUEMgewogCiB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRy
aWJ1dGVkU3RyaW5nPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYktpdDo6QXR0
cmlidXRlZFN0cmluZyYgYXR0cmlidXRlZFN0cmluZykKIHsKLSAgICBlbmNvZGVyIDw8IHN0YXRp
Y19jYXN0PGJvb2w+KCFhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZyk7Ci0gICAgaWYgKCFhdHRyaWJ1
dGVkU3RyaW5nLnN0cmluZykKLSAgICAgICAgcmV0dXJuOwotICAgIElQQzo6ZW5jb2RlKGVuY29k
ZXIsIGF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpKTsKKyAgICBlbmNvZGVyIDw8IGF0dHJp
YnV0ZWRTdHJpbmcuc3RyaW5nOwogfQogCiBPcHRpb25hbDxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJp
bmc+IEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCiB7Ci0gICAgYm9vbCBpc051bGw7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShpc051bGwpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmIChpc051bGwp
Ci0gICAgICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyB9OwotCiAgICAgUmV0
YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFN0cmluZzsKLSAgICBJUEM6OmRl
Y29kZShkZWNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nKTsKLSAgICBpZiAoIWF0dHJpYnV0ZWRTdHJp
bmcpCisgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nKSkKICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0
ZWRTdHJpbmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgpIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW0gYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCmluZGV4IGJjMDRmMjJhNGM5ZWIxZTlkMWIw
YzBjZjAxMWFlNTBjMGUyNDdjODUuLmM2NTQ4NGY1NTEyMjBkZGJjOGI4NGI3OTZhY2IwNTk4ODcy
NmI4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3Jh
cGgubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbQpA
QCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJPYmpDT2JqZWN0
R3JhcGguaCIKIAotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMuaCIKKyNpbXBvcnQgIkFyZ3Vt
ZW50Q29kZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRlY29kZXIuaCIKICNpbXBvcnQgIkVuY29kZXIu
aCIKICNpbXBvcnQgIlVzZXJEYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCAxM2JjMjkyNTNlZGJh
MTU3NThjODU2MGE5MWNiNjQ1ZGQ4YWFjZDk0Li44MmRiYWMxMDY3OWJlYmYyMDNiOTI2ZWY0ZTE4
NDFmOWNhM2RiNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTIyNyw1ICsyMjcsMjcgQEAgYm9vbCBB
cmd1bWVudENvZGVyPENyZWRlbnRpYWw+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIENy
ZWRlbnRpYWwmKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPEZv
bnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0
cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK09wdGlvbmFsPEZv
bnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBBcmd1bWVudENvZGVy
PERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0
IERpY3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3Jt
RGF0YShEZWNvZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAppbmRleCA0NmMzNTcwMjcxYWQ0MGFiNmEzNjM4Y2I3Y2Y4ZTUwNTk3ZGViMGRmLi5iNTYwYjRh
NzY1OTMyZmM4YjYxODU4ZGQ5NWMxMGI4YmUxMTc0YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CkBAIC0xNzQsNyArMTc0LDYgQEAgU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KIFNo
YXJlZC9pb3MvV2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcAogU2hhcmVkL2lvcy9XZWJUb3Vj
aEV2ZW50SU9TLmNwcAogCi1TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCiBTaGFyZWQv
bWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KIFNoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5t
bQogU2hhcmVkL21hYy9Db2RlU2lnbmluZy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjc3ZWNmMTZkOTBjY2Q2NWRhMTY0NWI4YjEx
Nzk5MGI1OWY1NGI5Mi4uMzdiM2FkYjc1NTE0ODAyMmI1ODcwN2ZiYTg4NzkxZTJiMDc0ODYyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xNTk3LDcgKzE1OTcsNiBAQAogCQlFMTY0QTJGMjE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNjRBMkYwMTkxQUYxNEUwMDEwNzM3RCAvKiBC
bG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQlFMTcw
ODc2QzE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzA4NzZBMTZENkNBNjkwMEY5OTIy
NiAvKiBCbG9iUmVnaXN0cnlQcm94eS5oICovOyB9OwogCQlFMTc5MDg4RjE2OUJBQTZBMDA2OTA0
QzcgLyogU2VjSXRlbVNoaW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxOEU2OTQ4MTY5Qjc3QzgwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbS5oICovOyB9
OwotCQlFMTc5RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzlGRDlCMTM0RDM4
MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5oICovOyB9OwogCQlFMTdBRTJDMzE2QjlD
NjNBMDAxQzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3QUUyQzIxNkI5QzYz
QTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi87IH07CiAJ
CUUxOEU2OTBDMTY5QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkwQTE2OUI1NjNGMDA5
QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oICovOyB9OwogCQlFMThFNjkxNzE2OUI2NjdCMDA5
QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkxMzE2OUI2NjdCMDA5QjY2
NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC00NDY4
LDggKzQ0NjcsNiBAQAogCQlFMTcwODc2OTE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5
UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYlJlZ2lz
dHJ5UHJveHkuY3BwOyBwYXRoID0gV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3MDg3NkExNkQ2Q0E2OTAwRjk5
MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEJsb2JSZWdpc3RyeVByb3h5Lmg7IHBhdGggPSBXZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJl
Z2lzdHJ5UHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3OThDNzcxNkU2
ODE4ODAwMjQwMTM5IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0Jsb2JSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENv
ZGVyc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmd1bWVudENvZGVy
c01hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMTc5RkQ5RTEzNEQzODI1MDAx
NUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBBcmd1bWVudENvZGVyc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE3QUUyQzExNkI5QzEzOTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0
d29ya1Byb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5z
Yi5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0
MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYktpdDIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRTE4QzkyRjMxMkRCOUU3MTAwQ0Yy
QUVCIC8qIFByaW50SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQcmludEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzg1NSw4ICs3
ODUyLDYgQEAKIAkJQkMxMTFCNUExMTJGNjI4MjAwMzM3QkFCIC8qIG1hYyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJRTE3OUZEOUIxMzREMzgwNjAwMTVC
ODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLmggKi8sCi0JCQkJRTE3OUZEOUUxMzREMzgyNTAwMTVC
ODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLm1tICovLAogCQkJCUUxQTMxNzMxMTM0Q0VBNkMwMDdD
OUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLmggKi8sCiAJCQkJRTFBMzE3MzQxMzRDRUE4MDAwN0M5
QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gKi8sCiAJCQkJOUY1NEY4OEUxNjQ4OEU4NzAwN0RG
ODFBIC8qIEF1eGlsaWFyeVByb2Nlc3NNYWMubW0gKi8sCkBAIC05MDU1LDcgKzkwNTAsNiBAQAog
CQkJCTFBRUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1bWVudENvZGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0Yu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVu
dENvZGVyc0NvY29hLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMTc5RkQ5QzEzNEQzODA2MDAxNUI4
ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0
OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364507</attachid>
            <date>2019-03-12 20:49:46 -0700</date>
            <delta_ts>2019-03-12 21:00:45 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312204945.patch</filename>
            <type>text/plain</type>
            <size>57401</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uN2IyNzkxMDIzZTc1ZmRiNjhhNDAzNTVlYmU3ZjQ3
ZDQ3OWY1NTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIGVkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbzo6ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25z
dCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGFuZCBib2R5IGJh
Y2tncm91bmQgY29sb3IgdGhyb3VnaCBIVE1MQ29udmVydGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YmVjY2Ux
MmNhMGZjMWFjNGJlZGY1NjFjNzMwYjY5OWMyY2M1NGUxLi45OGY4ZmQ3ZTBiNGYzNWRiOGNkZDJl
ZWNjYjI2ZTA2YmM2ZDRlNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTEy
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xp
ZGF0ZSBBcmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBNZXJnZSB0aGUgdHdvIHNpbWlsYXIgZW5jb2RlcnMgYW5kIGRlY29kZXJz
LiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2hlcmUKKyAgICAgICAgb25lIGVuY29kZXIgY291bGQgYmUg
dXNlZCBhbmQgdGhlIG90aGVyIGRlY29kZXIsIHdoaWNoIGNhdXNlZCBhIGNyYXNoLgorICAgICAg
ICBJdCBhbHNvIHN0b3BzIGhhbmRsaW5nIE5TQXR0cmlidXRlZFN0cmluZyBzcGVjaXVmaWNhbGx5
IGFuZCBqdXN0IHVzZXMKKyAgICAgICAgdGhlIE5TU2VjdXJlQ29kaW5nIHBhdGggdG8gaGFuZGxl
IG1vcmUgY29tcGxleCBhdHRyaWJ1dGVzLgorCisgICAgICAgIFNvbWUgV2ViQ29yZSBlbmNvZGVy
cyBjb2RlIG5lZWRlZCB0byBtb3ZlIHRvIHBsYXRmb3JtIGZpbGVzLCBzaW5jZQorICAgICAgICBB
cmd1bWVudENvZGVyc0NvY29hLmggcmVxdWlyZXMgYW4gT2JqZWN0aXZlQysrIGltcGxlbWVudGF0
aW9uIHRvIHdvcmsuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2Nv
YS5oOgorICAgICAgICAoSVBDOjplbmNvZGUpOgorICAgICAgICAoSVBDOjpkZWNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+Pjo6ZGVjb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6dHlwZUZy
b21PYmplY3QpOgorICAgICAgICAoSVBDOjppc1NlcmlhbGl6YWJsZUZvbnQpOgorICAgICAgICAo
SVBDOjppc1NlcmlhbGl6YWJsZVZhbHVlKToKKyAgICAgICAgKElQQzo6ZW5jb2RlT2JqZWN0KToK
KyAgICAgICAgKElQQzo6ZGVjb2RlT2JqZWN0KToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvTG9h
ZFBhcmFtZXRlcnNDb2NvYS5tbToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFy
Z3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL0FyZ3VtZW50Q29k
ZXJzTWFjLmg6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01h
Yy5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06
CisgICAgICAgIChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgICogU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW06CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAxOS0wMy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3JlIGF0dGVtcHRzIGF0IGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKaW5kZXggZjFjNjVhNDhkNjBhMGE4YzVlYWZlM2U2
M2MzZTc0YzA5OTQ3YTZmYS4uMTUwNmIzNmJkOTM3YTMyNWRjNDE4Y2ViYjFlY2IxNjRmZTVhYTA4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgKQEAg
LTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBEaWN0aW9uYXJ5UG9wdXBJbmZvIHsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBvcHRpb25zOwogICAgIFJldGFp
blB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGF0dHJpYnV0ZWRTdHJpbmc7CisKKyAgICBib29sIGVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisjZWxz
ZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0
ZXMuaAppbmRleCA4M2YyNjRlMDliMWRhM2E2ZDBkYzJkYjBhZDQzYzVjMzU3MjM5NWQ3Li42MmFi
MTY1ZTlmYTRlYWNjNjhlYWZkM2QxMDYxZmVlYWY1OTMxN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC03OSw3ICs3OSwxMSBAQCBzdHJ1Y3QgRm9udEF0dHJp
YnV0ZXMgewogICAgIGVudW0gY2xhc3MgSG9yaXpvbnRhbEFsaWdubWVudCA6IHVpbnQ4X3QgeyBM
ZWZ0LCBDZW50ZXIsIFJpZ2h0LCBKdXN0aWZ5LCBOYXR1cmFsIH07CiAKICNpZiBQTEFURk9STShD
T0NPQSkKKyAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBjcmVhdGVEaWN0aW9uYXJ5KCkgY29uc3Q7CisjZWxzZQorICAgIGJvb2wgZW5jb2RpbmdSZXF1
aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EuaAppbmRleCA5NzZkMzgxMjI4NWRlZWZiZTMwMjIxZWJlYjM0NWVmZGUxMWNj
MmYwLi5mMDgxODFkMDc1ZjQyNzRlMmFmOGZmM2ZjYTIzNjVhMWQ3ZjBkYTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgsIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwxNyAr
MzEsMTUgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXIm
LCBpZCA8TlNTZWN1cmVDb2Rpbmc+KTsKLU9wdGlvbmFsPFJldGFpblB0cjxpZCA8TlNTZWN1cmVD
b2Rpbmc+Pj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMpOwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYsIGlkKTsKK09wdGlvbmFsPFJldGFp
blB0cjxpZD4+IGRlY29kZU9iamVjdChEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzKTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gT3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBk
ZWNvZGUoRGVjb2RlciYsIENsYXNzIGFsbG93ZWRDbGFzcyk7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4g
KmFsbG93ZWRDbGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
dXNpbmcgSXNPYmpDT2JqZWN0ID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2NvbnZlcnRpYmxl
PFQgKiwgaWQ+Ojp2YWx1ZSwgVCAqPjsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLU9wdGlvbmFs
PFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIENsYXNzIGFsbG93ZWRDbGFz
cykKLXsKLSAgICByZXR1cm4gZGVjb2RlPFQ+KGRlY29kZXIsIEBbIGFsbG93ZWRDbGFzcyBdKTsK
LX0KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiB2b2lk
IGVuY29kZShFbmNvZGVyJiwgVCAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0g
SXNPYmpDT2JqZWN0PFQ+PiBib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPFQ+Jik7CisK
K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFQ+PiBPcHRpb25h
bDxSZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRD
bGFzc2VzID0gQFsgW1QgY2xhc3NdIF0pOwogCiAjaWZuZGVmIE5ERUJVRwogCkBAIC01Niw3ICs1
NCwyMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNPYmplY3RDbGFzc0FsbG93ZWQoaWQgb2JqZWN0
LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZQogCiAjZW5kaWYKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgordm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVCAqb2JqZWN0KQoreworICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBv
YmplY3QpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4KK2Jvb2wgZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxUPiYgcmVzdWx0KQoreworICAgIGF1dG8gb2Jq
ZWN0ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIEBbIFtUIGNsYXNzXSBdKTsKKyAgICBpZiAoIW9i
amVjdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdCA9IG9iamVjdC52YWx1ZSgp
OworICAgIHJldHVybiB0cnVlOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZT4K
IE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8
Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKICAgICBhdXRvIHJlc3VsdCA9IGRlY29kZU9iamVj
dChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CkBAIC03MSwxMCArODUsOCBAQCBPcHRpb25hbDxS
ZXRhaW5QdHI8VD4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxs
b3dlZENsYXNzZXMpCiAgICAgcmV0dXJuIHsgYWRvcHROUyhzdGF0aWNfY2FzdDxUICo+KG9iamVj
dCkpIH07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHVzaW5nIENvbmZvcm1zVG9TZWN1cmVD
b2RpbmcgPSBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQgKiwgaWQgPE5TU2VjdXJlQ29kaW5nPj47Ci0K
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPFQgKj4gewotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9pZl90PENvbmZvcm1zVG9TZWN1cmVD
b2Rpbmc8VT46OnZhbHVlPiogPSBudWxscHRyPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgVSAqb2JqZWN0KQogICAgIHsKICAgICAgICAgZW5jb2RlT2JqZWN0KGVu
Y29kZXIsIG9iamVjdCk7CkBAIC04MiwxNiArOTQsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+IHsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9ybXNUb1NlY3VyZUNvZGluZzxVPjo6dmFs
dWU+KiA9IG51bGxwdHI+Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFJldGFpblB0cjxVPiYgb2JqZWN0KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
LCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmV0YWluUHRyPFQ+JiBvYmplY3QpCiAgICAgewotICAgICAg
ICBBcmd1bWVudENvZGVyPFUgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOworICAg
ICAgICBBcmd1bWVudENvZGVyPFQgKj46OmVuY29kZShlbmNvZGVyLCBvYmplY3QuZ2V0KCkpOwog
ICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxD
b25mb3Jtc1RvU2VjdXJlQ29kaW5nPFU+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KLSAgICBzdGF0aWMg
T3B0aW9uYWw8UmV0YWluUHRyPFU+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBVID0gVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CisgICAgc3Rh
dGljIE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gSVBDOjpkZWNvZGU8VT4oZGVjb2Rlcik7CisgICAgICAgIHJldHVy
biBJUEM6OmRlY29kZTxUPihkZWNvZGVyKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBjYzRiY2QzM2Yy
ZGFmZjA0ZjY2MmMwOGJhMGU5MWE0N2RkZDYyZmE3Li5lMjc2MTIxZDUwMzMyOGNlNDkxZTMzYzdm
M2EzNDhlM2E3YmFmNWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9B
cmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDIxICsyOSwyNzMgQEAKICNpZiBQTEFURk9STShDT0NP
QSkKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgorI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250Lmg+CisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL2NvY29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjaWYgVVNFKEFQUEtJVCkKKyNp
bXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KKyNlbmRpZgorCisjaWYgVVNFKEFQUEtJVCkKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250IE5TRm9udAorI2RlZmluZSBQbGF0Zm9ybUZvbnREZXNjcmlwdG9y
IE5TRm9udERlc2NyaXB0b3IKKyNlbHNlCisjZGVmaW5lIFBsYXRmb3JtRm9udCBVSUZvbnQKKyNk
ZWZpbmUgUGxhdGZvcm1Gb250RGVzY3JpcHRvciBVSUZvbnREZXNjcmlwdG9yCisjZW5kaWYKKwog
bmFtZXNwYWNlIElQQyB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworZW51bSBjbGFzcyBO
U1R5cGUgeworICAgIEFycmF5LAorI2lmIFVTRShBUFBLSVQpCisgICAgQ29sb3IsCisjZW5kaWYK
KyAgICBEYXRhLAorICAgIERhdGUsCisgICAgRGljdGlvbmFyeSwKKyAgICBGb250LAorICAgIE51
bWJlciwKKyAgICBTZWN1cmVDb2RpbmcsCisgICAgU3RyaW5nLAorICAgIFVSTCwKKyAgICBVbmtu
b3duLAorfTsKKworc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3QpCit7Cisg
ICAgQVNTRVJUKG9iamVjdCk7CisKKyAgICAvLyBTcGVjaWZpYyBjbGFzc2VzIGhhbmRsZWQuCisg
ICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQorICAgICAgICBy
ZXR1cm4gTlNUeXBlOjpBcnJheTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29s
b3I7CisjZW5kaWYKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGEgY2xhc3Nd
XSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0YTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRP
ZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0ZTsKKyAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSkKKyAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNs
YXNzOltQbGF0Zm9ybUZvbnQgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsK
KyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKQorICAgICAg
ICByZXR1cm4gTlNUeXBlOjpOdW1iZXI7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpb
TlNTdHJpbmcgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6U3RyaW5nOworICAgIGlm
IChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TVVJMIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBO
U1R5cGU6OlVSTDsKKworICAgIC8vIENoZWNrIE5TU2VjdXJlQ29kaW5nIGFmdGVyIHRoZSBzcGVj
aWZpYyBjYXNlcyBzaW5jZQorICAgIC8vIG1vc3Qgb2YgdGhlIGNsYXNzZXMgYWJvdmUgY29uZm9y
bSB0byBOU1NlY3VyZUNvZGluZywKKyAgICAvLyBhbmQgd2Ugd2FudCBvdXIgc3BlY2lhbCBjYXNl
IGNvZGVycyBmb3IgdGhlbSBpbnN0ZWFkLgorICAgIGlmIChbb2JqZWN0IGNvbmZvcm1zVG9Qcm90
b2NvbDpAcHJvdG9jb2woTlNTZWN1cmVDb2RpbmcpXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6
U2VjdXJlQ29kaW5nOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIE5T
VHlwZTo6VW5rbm93bjsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzU2VyaWFsaXphYmxlRm9u
dChDVEZvbnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5QXR0cmli
dXRlKGZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IGlzU2VyaWFsaXphYmxlVmFsdWUoaWQgdmFsdWUpCit7CisgICAgaWYgKFt2YWx1ZSBpc0tpbmRP
ZkNsYXNzOltQbGF0Zm9ybUZvbnQgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIGlzU2VyaWFsaXph
YmxlRm9udCgoX19icmlkZ2UgQ1RGb250UmVmKXZhbHVlKTsKKyAgICByZXR1cm4gdHlwZUZyb21P
YmplY3QodmFsdWUpICE9IE5TVHlwZTo6VW5rbm93bjsKK30KKworc3RhdGljIHZvaWQgZW5jb2Rl
SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNBcnJheSAqYXJyYXkpCit7CisgICAgLy8gRXZl
biB0aG91Z2ggTlNBcnJheSBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3aXRoIENGQXJyYXlSZWYsIHZh
bHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3VsZCBzdGF5IHdpdGhpbiB0aGlzIGZp
bGUncyBjb2RlLgorCisgICAgaWYgKCFhcnJheS5jb3VudCkgeworICAgICAgICBlbmNvZGVyIDw8
IHN0YXRpY19jYXN0PHVpbnQ2NF90PigwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IFJldGFpblB0cjxOU011dGFibGVJbmRleFNldD4gdmFsaWRJbmRpY2llcyA9IGFkb3B0TlMoW1tO
U011dGFibGVJbmRleFNldCBhbGxvY10gaW5pdF0pOworICAgIGZvciAoTlNVSW50ZWdlciBpID0g
MDsgaSA8IGFycmF5LmNvdW50OyArK2kpIHsKKyAgICAgICAgaWQgdmFsdWUgPSBhcnJheVtpXTsK
KworICAgICAgICAvLyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHN1cHBvcnQuCisgICAgICAgIEFT
U0VSVChpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSk7CisgICAgICAgIGlmICghaXNTZXJpYWxp
emFibGVWYWx1ZSh2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBbdmFs
aWRJbmRpY2llcyBhZGRJbmRleDppXTsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pih2YWxpZEluZGljaWVzLmdldCgpLmNvdW50KTsKKworICAgIFt2YWxpZElu
ZGljaWVzLmdldCgpIGVudW1lcmF0ZUluZGV4ZXNVc2luZ0Jsb2NrOl4oTlNVSW50ZWdlciBpLCBC
T09MICpzdG9wKSB7CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBhcnJheVtpXSk7Cisg
ICAgfV07Cit9CisKK3N0YXRpYyBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVBcnJheUlu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgdWludDY0X3Qgc2l6ZTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBhcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVB
cnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzaXplXSk7CisgICAgZm9yICh1aW50NjRfdCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiB2
YWx1ZSA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBuaWwpOworICAgICAgICBpZiAoIXZhbHVlKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgW2FycmF5IGFkZE9iamVj
dDp2YWx1ZS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXR1cm4geyBhcnJheSB9Owor
fQorCisjaWYgVVNFKEFQUEtJVCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChF
bmNvZGVyJiBlbmNvZGVyLCBOU0NvbG9yICpjb2xvcikKK3sKKyAgICBlbmNvZGVyIDw8IGNvbG9y
RnJvbU5TQ29sb3IoY29sb3IpOworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0
cjxpZD4+IGRlY29kZUNvbG9ySW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBDb2xv
ciBjb2xvcjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNvbG9yKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBuc0NvbG9yKGNvbG9yKSB9OworfQorI2VuZGlm
CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBO
U0RhdGEgKmRhdGEpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYp
ZGF0YSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2Rl
RGF0YUludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGRGF0YVJl
Zj4gZGF0YTsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU0RhdGEgKilkYXRhLmxlYWtS
ZWYoKSkgfTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXIm
IGVuY29kZXIsIE5TRGF0ZSAqZGF0ZSkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdl
IENGRGF0ZVJlZilkYXRlKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8
aWQ+PiBkZWNvZGVEYXRlSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5Q
dHI8Q0ZEYXRlUmVmPiBkYXRlOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMoKE5TRGF0ZSAq
KWRhdGUubGVha1JlZigpKSB9OworfQorCitzdGF0aWMgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNv
ZGVyJiBlbmNvZGVyLCBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCit7CisgICAgLy8gRXZlbiB0
aG91Z2ggTlNEaWN0aW9uYXJ5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZEaWN0aW9uYXJ5
UmVmLCBrZXlzL3ZhbHVlcyBtYXkgbm90IGJlLAorICAgIC8vIHNvIHdlIHNob3VsZCBzdGF5IHdp
dGhpbiB0aGlzIGZpbGUncyBjb2RlLgorCisgICAgaWYgKCFkaWN0aW9uYXJ5LmNvdW50KSB7Cisg
ICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KDApOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZU9yZGVyZWRTZXQ+IHZhbGlkS2V5
cyA9IGFkb3B0TlMoW1tOU011dGFibGVPcmRlcmVkU2V0IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5
OmRpY3Rpb25hcnkuY291bnRdKTsKKyAgICBmb3IgKGlkIGtleSBpbiBkaWN0aW9uYXJ5KSB7Cisg
ICAgICAgIGlkIHZhbHVlID0gZGljdGlvbmFyeVtrZXldOworICAgICAgICBBU1NFUlQodmFsdWUp
OworCisgICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2UgZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAg
QVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUoa2V5KSk7CisgICAgICAgIEFTU0VSVChpc1Nlcmlh
bGl6YWJsZVZhbHVlKHZhbHVlKSk7CisgICAgICAgIGlmICghaXNTZXJpYWxpemFibGVWYWx1ZShr
ZXkpIHx8ICFpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIFt2YWxpZEtleXMgYWRkT2JqZWN0OmtleV07CisgICAgfQorCisgICAgZW5j
b2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4odmFsaWRLZXlzLmdldCgpLmNvdW50KTsKKwor
ICAgIGZvciAoaWQga2V5IGluIHZhbGlkS2V5cy5nZXQoKSkgeworICAgICAgICBlbmNvZGVPYmpl
Y3QoZW5jb2Rlciwga2V5KTsKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIGRpY3Rpb25h
cnlba2V5XSk7CisgICAgfQorfQorCitzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVj
b2RlRGljdGlvbmFyeUludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgdWludDY0X3Qg
c2l6ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGRpY3Rpb25h
cnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0
eTpzaXplXSk7CisgICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAg
ICAgICBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBrZXkgPSBkZWNvZGVPYmplY3QoZGVjb2Rlciwg
bmlsKTsKKyAgICAgICAgaWYgKCFrZXkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IHZhbHVlID0gZGVjb2RlT2JqZWN0
KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgICAgIFtkaWN0aW9uYXJ5IHNldE9iamVjdDp2YWx1ZS52YWx1
ZSgpLmdldCgpIGZvcktleTprZXkudmFsdWUoKS5nZXQoKV07CisgICAgfQorCisgICAgcmV0dXJu
IHsgZGljdGlvbmFyeSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJuYWwo
RW5jb2RlciYgZW5jb2RlciwgUGxhdGZvcm1Gb250ICpmb250KQoreworICAgIGVuY29kZShlbmNv
ZGVyLCBmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKK30KKworc3RhdGljIE9w
dGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZUZvbnRJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVy
KQoreworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRyaWJ1dGVzOworICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIFBsYXRmb3JtRm9udERlc2NyaXB0b3IgKmZvbnREZXNjcmlwdG9yID0g
W1BsYXRmb3JtRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6
Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOworICAgIHJldHVybiB7IFtQbGF0Zm9ybUZvbnQgZm9udFdp
dGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF0gfTsKK30KKworc3RhdGljIGlubGlu
ZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5TTnVtYmVyICpudW1iZXIp
Cit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRk51bWJlclJlZiludW1iZXIpOwor
fQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU51bWJlcklu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGTnVtYmVyUmVmPiBu
dW1iZXI7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU051bWJlciAqKW51bWJlci5s
ZWFrUmVmKCkpIH07Cit9CiAKLXZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIGlk
IDxOU1NlY3VyZUNvZGluZz4gb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVy
bmFsKEVuY29kZXImIGVuY29kZXIsIGlkIDxOU09iamVjdCwgTlNTZWN1cmVDb2Rpbmc+IG9iamVj
dCkKIHsKICAgICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKICAgICBbYXJjaGl2
ZXIgZW5jb2RlT2JqZWN0Om9iamVjdCBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5
XTsKICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0gICAgSVBDOjplbmNvZGUoZW5j
b2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJjaGl2ZXIgZW5jb2RlZERhdGFdKTsKKyAgICBl
bmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilbYXJjaGl2ZXIgZW5jb2RlZERhdGFd
KTsKIH0KIAotT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNvZGluZz4+PiBkZWNvZGVP
YmplY3QoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQor
c3RhdGljIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVNlY3VyZUNvZGluZ0ludGVybmFs
KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKIHsKKyAg
ICBBU1NFUlQoYWxsb3dlZENsYXNzZXMgJiYgYWxsb3dlZENsYXNzZXMuY291bnQpOworICAgIGlm
ICghYWxsb3dlZENsYXNzZXMgfHwgIWFsbG93ZWRDbGFzc2VzLmNvdW50KQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0YTsKICAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
QEAgLTYxLDYgKzMxMywxNDkgQEAgT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNvZGlu
Zz4+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTwKICAgICB9CiB9CiAK
K3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBOU1N0
cmluZyAqc3RyaW5nKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZTdHJpbmdS
ZWYpc3RyaW5nKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBk
ZWNvZGVTdHJpbmdJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gc3RyaW5nOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHN0cmluZykpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNTdHJp
bmcgKilzdHJpbmcubGVha1JlZigpKSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2Rl
SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNVUkwgKlVSTCkKK3sKKyAgICBlbmNvZGUoZW5j
b2RlciwgKF9fYnJpZGdlIENGVVJMUmVmKVVSTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9u
YWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlVVJMSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sK
KyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IFVSTDsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBV
UkwpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMo
KE5TVVJMICopVVJMLmxlYWtSZWYoKSkgfTsKK30KKwordm9pZCBlbmNvZGVPYmplY3QoRW5jb2Rl
ciYgZW5jb2RlciwgaWQgb2JqZWN0KQoreworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Ym9v
bD4oIW9iamVjdCk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybjsKKworICAgIE5T
VHlwZSB0eXBlID0gdHlwZUZyb21PYmplY3Qob2JqZWN0KTsKKyAgICBlbmNvZGVyIDw8IHR5cGU7
CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE5TVHlwZTo6QXJyYXk6CisgICAgICAg
IGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7
CisgICAgICAgIHJldHVybjsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBlOjpDb2xv
cjoKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNDb2xvciAq
PihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6OkRp
Y3Rpb25hcnk6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5T
RGljdGlvbmFyeSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBl
OjpGb250OgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxQbGF0
Zm9ybUZvbnQgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6
TnVtYmVyOgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU051
bWJlciAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpTZWN1
cmVDb2Rpbmc6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PGlk
IDxOU09iamVjdCwgTlNTZWN1cmVDb2Rpbmc+PihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIs
IHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBOU1R5cGU6OkRhdGU6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRp
Y19jYXN0PE5TRGF0ZSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNU
eXBlOjpEYXRhOgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxO
U0RhdGEgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6VVJM
OgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1VSTCAqPihv
YmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgorICAg
ICAgICBicmVhazsKKyAgICB9Cit9CisKK09wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU9i
amVjdChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCit7
CisgICAgYm9vbCBpc051bGw7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc051bGwpKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGlmIChpc051bGwpCisgICAgICAgIHJldHVy
biB7IG51bGxwdHIgfTsKKworICAgIE5TVHlwZSB0eXBlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVFbnVtKHR5cGUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgc3dpdGNo
ICh0eXBlKSB7CisgICAgY2FzZSBOU1R5cGU6OkFycmF5OgorICAgICAgICByZXR1cm4gZGVjb2Rl
QXJyYXlJbnRlcm5hbChkZWNvZGVyKTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBl
OjpDb2xvcjoKKyAgICAgICAgcmV0dXJuIGRlY29kZUNvbG9ySW50ZXJuYWwoZGVjb2Rlcik7Cisj
ZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKKyAgICAgICAgcmV0dXJuIGRlY29k
ZURpY3Rpb25hcnlJbnRlcm5hbChkZWNvZGVyKTsKKyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2Ug
TlNUeXBlOjpGb250OgorICAgICAgICByZXR1cm4gZGVjb2RlRm9udEludGVybmFsKGRlY29kZXIp
OworI2Vsc2UKKyAgICBjYXNlIE5TVHlwZTo6Rm9udDoKKyAgICAgICAgcmV0dXJuIGRlY29kZUZv
bnRJbnRlcm5hbChkZWNvZGVyKTsKKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6Cisg
ICAgICAgIHJldHVybiBkZWNvZGVOdW1iZXJJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5T
VHlwZTo6U2VjdXJlQ29kaW5nOgorICAgICAgICByZXR1cm4gZGVjb2RlU2VjdXJlQ29kaW5nSW50
ZXJuYWwoZGVjb2RlciwgYWxsb3dlZENsYXNzZXMpOworICAgIGNhc2UgTlNUeXBlOjpTdHJpbmc6
CisgICAgICAgIHJldHVybiBkZWNvZGVTdHJpbmdJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNl
IE5TVHlwZTo6RGF0ZToKKyAgICAgICAgcmV0dXJuIGRlY29kZURhdGVJbnRlcm5hbChkZWNvZGVy
KTsKKyAgICBjYXNlIE5TVHlwZTo6RGF0YToKKyAgICAgICAgcmV0dXJuIGRlY29kZURhdGFJbnRl
cm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5TVHlwZTo6VVJMOgorICAgICAgICByZXR1cm4gZGVj
b2RlVVJMSW50ZXJuYWwoZGVjb2Rlcik7CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElQQwogCituYW1lc3BhY2UgV1RGIHsKK3RlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpOU1R5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBJUEM6Ok5TVHlwZSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkFy
cmF5LAorI2lmIFVTRShBUFBLSVQpCisgICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKKyNlbmRp
ZgorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0YSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkRhdGUs
CisgICAgICAgIElQQzo6TlNUeXBlOjpEaWN0aW9uYXJ5LAorICAgICAgICBJUEM6Ok5TVHlwZTo6
Rm9udCwKKyAgICAgICAgSVBDOjpOU1R5cGU6Ok51bWJlciwKKyAgICAgICAgSVBDOjpOU1R5cGU6
OlNlY3VyZUNvZGluZywKKyAgICAgICAgSVBDOjpOU1R5cGU6OlN0cmluZywKKyAgICAgICAgSVBD
OjpOU1R5cGU6OlVSTCwKKyAgICAgICAgSVBDOjpOU1R5cGU6OlVua25vd24KKyAgICA+OworfTsK
K30KKwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0KaW5kZXggODE3MGYyMjFlNzI3NmMwYjE3
OGUzNGYwYzJjZGNmODQ5MTdiOTVlMC4uNmExNWM5Yjg1ZmY5MzQ2YzNhZWM4MWRlNDdhZDkzMzA5
ZDI2NmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFt
ZXRlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1l
dGVyc0NvY29hLm1tCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKIAot
I2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnND
b2NvYS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggOTYwOTI4ZmJiMjEyOGJmOTUwYWI5ZGUwZjE2
Y2M4N2VhOTU5YmNlZS4uMmQ4YjA2ZDZmZTNlZTkxOWIzMTQxMzcxMzU5NGI3ZGE1OThhZDE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KQEAgLTI2LDE3ICsyNiwyNCBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAorI2ltcG9ydCAiQXJndW1lbnRD
b2RlcnNDb2NvYS5oIgorI2ltcG9ydCA8V2ViQ29yZS9EaWN0aW9uYXJ5UG9wdXBJbmZvLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CisKICNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmg+CiAj
aW1wb3J0IDxwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL05TS2V5ZWRBcmNoaXZlclNQSS5oPgogCisjZW5kaWYKKwogbmFtZXNwYWNlIElQQyB7CiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKIHZvaWQg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFdlYkNvcmU6OlBheW1lbnQmIHBheW1lbnQpCiB7CiAgICAgZW5jb2RlciA8PCBwYXlt
ZW50LnBrUGF5bWVudCgpOwpAQCAtNDA4LDUgKzQxNSwzMyBAQCBPcHRpb25hbDxXZWJDb3JlOjpT
aGlwcGluZ01ldGhvZFVwZGF0ZT4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTaGlwcGluZ01ldGhv
ZFVwZAogICAgIHJldHVybiB7eyBXVEZNb3ZlKCpuZXdUb3RhbEFuZExpbmVJdGVtcykgfX07CiB9
CiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVQQVkpCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mIGluZm8pCit7CisgICAg
ZW5jb2RlciA8PCBpbmZvLm9wdGlvbnM7CisgICAgZW5jb2RlciA8PCBpbmZvLmF0dHJpYnV0ZWRT
dHJpbmc7CiB9Ci0jZW5kaWYKKworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25h
cnlQb3B1cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYgcmVzdWx0KQoreworICAgIGlmICghSVBDOjpkZWNvZGUo
ZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCFJUEM6OmRlY29kZShkZWNvZGVyLCByZXN1bHQuYXR0cmlidXRlZFN0cmluZykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQoreworICAg
IGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OworfQorCitPcHRpb25hbDxGb250QXR0cmlidXRl
cz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3Jt
RGF0YShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYgYXR0cmlidXRl
cykKK3sKKyAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMuZm9udCkpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIGF0dHJpYnV0ZXM7Cit9CisK
K30gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAKaW5kZXggZjdlYmIwZTlmZGFhMWJmOGMyN2JmZGUxZmI5M2NhOTQ1MmQ3
NDljMC4uYzgyZGEwMjUxMjgyZmZmMmZhYWQ0ODJlMGI4ODEwMjc3ZDYyZDExOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC05MCw3ICs5
MCw2IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NG
LmgiCi0jaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNNYWMuaCIKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTI1OTksMTcgKzI1OTgsMTMgQEAgdm9pZCBBcmd1bWVudENvZGVy
PERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBEaWMKICAgICBlbmNvZGVyIDw8IGluZm8ub3JpZ2luOwogICAgIGVuY29kZXIgPDwgaW5mby50
ZXh0SW5kaWNhdG9yOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYWRPcHRpb25z
ID0gaW5mby5vcHRpb25zOwotICAgIGVuY29kZXIgPDwgaGFkT3B0aW9uczsKLSAgICBpZiAoaGFk
T3B0aW9ucykKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgaW5mby5vcHRpb25zLmdldCgp
KTsKLQotICAgIGJvb2wgaGFkQXR0cmlidXRlZFN0cmluZyA9IGluZm8uYXR0cmlidXRlZFN0cmlu
ZzsKLSAgICBlbmNvZGVyIDw8IGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKGhhZEF0dHJp
YnV0ZWRTdHJpbmcpCi0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGluZm8uYXR0cmlidXRl
ZFN0cmluZy5nZXQoKSk7Ci0jZW5kaWYKKyAgICBpZiAoaW5mby5lbmNvZGluZ1JlcXVpcmVzUGxh
dGZvcm1EYXRhKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAgICAgICBlbmNvZGVQ
bGF0Zm9ybURhdGEoZW5jb2RlciwgaW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBlbmNvZGVyIDw8IGZhbHNlOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBv
cHVwSW5mbz46OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIERpY3Rpb25hcnlQb3B1cElu
Zm8mIHJlc3VsdCkKQEAgLTI2MjMsMjUgKzI2MTgsMTEgQEAgYm9vbCBBcmd1bWVudENvZGVyPERp
Y3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBEaWN0aW9u
YXIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc3VsdC50ZXh0SW5kaWNhdG9yID0gV1RG
TW92ZSgqdGV4dEluZGljYXRvcik7CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGhh
ZE9wdGlvbnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRPcHRpb25zKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmIChoYWRPcHRpb25zKSB7Ci0gICAgICAgIGlmICghSVBDOjpk
ZWNvZGUoZGVjb2RlciwgcmVzdWx0Lm9wdGlvbnMpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQub3B0aW9ucyA9IG51bGxwdHI7Ci0KLSAgICBi
b29sIGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRBdHRy
aWJ1dGVkU3RyaW5nKSkKKyAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBp
ZiAoaGFkQXR0cmlidXRlZFN0cmluZykgewotICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29k
ZXIsIHJlc3VsdC5hdHRyaWJ1dGVkU3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9IGVsc2UKLSAgICAgICAgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcgPSBudWxscHRyOwot
I2VuZGlmCisgICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKKyAgICAgICAgcmV0dXJuIGRlY29kZVBs
YXRmb3JtRGF0YShkZWNvZGVyLCByZXN1bHQpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0z
MDQ1LDEyICszMDI2LDEyIEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAgZW5jb2RlciA8
PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRDb2xv
ciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUgPDwg
YXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwogICAg
IGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLmhvcml6b250YWxBbGlnbm1lbnQpOwogICAg
IGVuY29kZXIuZW5jb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3JpcHQpOwot
I2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgaGFzRm9udCA9IGF0dHJpYnV0ZXMuZm9udDsK
LSAgICBlbmNvZGVyIDw8IGhhc0ZvbnQ7Ci0gICAgaWYgKGhhc0ZvbnQpCi0gICAgICAgIElQQzo6
ZW5jb2RlKGVuY29kZXIsIGF0dHJpYnV0ZXMuZm9udC5nZXQoKSk7Ci0jZW5kaWYKKworICAgIGlm
IChhdHRyaWJ1dGVzLmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgeworICAgICAgICBl
bmNvZGVyIDw8IHRydWU7CisgICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBhdHRy
aWJ1dGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIH0KIAogT3B0aW9uYWw8Rm9udEF0dHJp
YnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlcikKQEAgLTMwODEsMTQgKzMwNjIsMTEgQEAgT3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFy
Z3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3Jp
cHQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0jaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgYm9vbCBoYXNGb250ID0gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNG
b250KSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIGlmIChoYXNGb250ICYm
ICFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQorICAgIGJvb2wgaGFzUGxh
dGZvcm1EYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzUGxhdGZvcm1EYXRhKSkKICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSNlbmRpZgorICAgIGlmIChoYXNQbGF0Zm9ybURh
dGEpCisgICAgICAgIHJldHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgYXR0cmlidXRl
cyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMmVmNWU0M2FkYjQ4OTUxODE5YzlhNzEzZDY5
ZTAxM2QyMGRkNmU5Yi4uZDcxMTQwYWU5N2M3OTkzNGI2OGRlNzcxYzE4Y2NiMzhhNmJiODNkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTU4
Miw2ICs1ODIsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRl
eHRJbmRpY2F0b3JEYXRhPiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKKyAgICBz
dGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRp
Y3Rpb25hcnlQb3B1cEluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEo
RGVjb2RlciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKIH07CiAKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtNzQ0LDYgKzc0Niw4IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbj4+PiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJD
b3JlOjpGb250QXR0cmlidXRlcyYpOwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpGb250
QXR0cmlidXRlcz4gZGVjb2RlKERlY29kZXImKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0
Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CisgICAg
c3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGVQbGF0Zm9ybURh
dGEoRGVjb2RlciYsIFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9OwogCiAjaWYgRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1
cmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9j
dXJsL1dlYkNvcmVBcmd1bWVudENvZGVyc0N1cmwuY3BwCmluZGV4IDAyNzM4NWRhMTZkYjY3ZTgw
MzM1ZmUxYjc2ODhiNWFmMTBlYmNmYjYuLmQ5ZDczZGEzZDIzNDFiMTc2MGI0ZDExODU5OWM2OGYy
M2QzM2Q0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY3VybC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNDdXJsLmNwcApAQCAtMjEwLDQgKzIxMCwyNiBAQCBPcHRpb25hbDxD
dXJsUHJveHlTZXR0aW5ncz4gQXJndW1lbnRDb2RlcjxDdXJsUHJveHlTZXR0aW5ncz46OmRlY29k
ZShEZWNvZGVyJiBkZQogICAgIHJldHVybiBDdXJsUHJveHlTZXR0aW5ncyB7IFdURk1vdmUodXJs
KSwgV1RGTW92ZShpZ25vcmVIb3N0cykgfTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPEZvbnRB
dHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0cmli
dXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK09wdGlvbmFsPEZvbnRB
dHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPERp
Y3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IERp
Y3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiti
b29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0
YShEZWNvZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9Bcmd1bWVudENvZGVyc01hYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
MmFiYjdmOTY2NDNhYWRkYjUwNzMwYzliNTU4YTNjOTA3MTI5OGExLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9B
cmd1bWVudENvZGVyc01hYy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPG9iamMvb2JqYy5oPgotI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KLQotT0JKQ19DTEFTUyBOU0FycmF5OwotT0JKQ19DTEFTUyBOU0F0
dHJpYnV0ZWRTdHJpbmc7Ci1PQkpDX0NMQVNTIE5TQ29sb3I7Ci1PQkpDX0NMQVNTIE5TRGF0YTsK
LU9CSkNfQ0xBU1MgTlNEYXRlOwotT0JKQ19DTEFTUyBOU0RpY3Rpb25hcnk7Ci1PQkpDX0NMQVNT
IE5TRm9udDsKLU9CSkNfQ0xBU1MgTlNOdW1iZXI7Ci1PQkpDX0NMQVNTIE5TU3RyaW5nOwotT0JK
Q19DTEFTUyBOU1VSTDsKLU9CSkNfQ0xBU1MgVUlGb250OwotCi1uYW1lc3BhY2UgSVBDIHsKLQot
Y2xhc3MgRW5jb2RlcjsKLWNsYXNzIERlY29kZXI7Ci0KLS8vIGlkCi12b2lkIGVuY29kZShFbmNv
ZGVyJiwgaWQpOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxpZD4mKTsKLQotLy8g
TlNBdHRyaWJ1dGVkU3RyaW5nCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNBdHRyaWJ1dGVkU3Ry
aW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJp
bmc+Jik7Ci0KLSNpZiBVU0UoQVBQS0lUKQotLy8gTlNDb2xvcgotdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIE5TQ29sb3IgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TQ29sb3I+
Jik7Ci0jZW5kaWYKLQotLy8gTlNEaWN0aW9uYXJ5Ci12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNE
aWN0aW9uYXJ5ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0RpY3Rpb25h
cnk+Jik7Ci0KLS8vIE5TQXJyYXkKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0FycmF5ICopOwot
Ym9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0FycmF5PiYpOwotCi0jaWYgVVNFKEFQ
UEtJVCkKLS8vIE5TRm9udAotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRm9udCAqKTsKLWJvb2wg
ZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNGb250PiYpOwotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIFVJRm9udCAqKTsKLWJvb2wg
ZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8VUlGb250PiYpOwotI2VuZGlmCi0KLS8vIE5TTnVt
YmVyCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNOdW1iZXIgKik7Ci1ib29sIGRlY29kZShEZWNv
ZGVyJiwgUmV0YWluUHRyPE5TTnVtYmVyPiYpOwotCi0vLyBOU1N0cmluZwotdm9pZCBlbmNvZGUo
RW5jb2RlciYsIE5TU3RyaW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxO
U1N0cmluZz4mKTsKLQotLy8gTlNEYXRlCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNEYXRlICop
OwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0RhdGU+Jik7Ci0KLS8vIE5TRGF0
YQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGF0YSAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXIm
LCBSZXRhaW5QdHI8TlNEYXRhPiYpOwotCi0vLyBOU1VSTAotdm9pZCBlbmNvZGUoRW5jb2RlciYs
IE5TVVJMICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU1VSTD4mKTsKLQot
fSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
QXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRD
b2RlcnNNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyYTAyOTVmZWY4YTVl
OTk0MzVlYjczODFiMWExMDc2N2YyNzNhMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJz
TWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTgyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1w
b3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCi0KLSNpbXBvcnQg
PENvcmVUZXh0L0NvcmVUZXh0Lmg+Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNpbXBvcnQg
PFVJS2l0L1VJS2l0Lmg+Ci0jZW5kaWYKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgot
I2ltcG9ydCAiRGVjb2Rlci5oIgotI2ltcG9ydCAiRW5jb2Rlci5oIgotI2ltcG9ydCAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCi0jaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+Ci0KLW5hbWVz
cGFjZSBJUEMgewotCi1lbnVtIGNsYXNzIE5TVHlwZSB7Ci0gICAgQXR0cmlidXRlZFN0cmluZywK
LSNpZiBVU0UoQVBQS0lUKQotICAgIENvbG9yLAotI2VuZGlmCi0gICAgRGljdGlvbmFyeSwKLSAg
ICBBcnJheSwKLSNpZiBVU0UoQVBQS0lUKQotICAgIEZvbnQsCi0jZW5kaWYKLSAgICBOdW1iZXIs
Ci0gICAgU3RyaW5nLAotICAgIERhdGUsCi0gICAgRGF0YSwKLSAgICBVUkwsCi0gICAgVW5rbm93
biwKLX07Ci0KLX0KLQotbmFtZXNwYWNlIElQQyB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQotc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3QpCi17Ci0gICAgQVNTRVJU
KG9iamVjdCk7Ci0KLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0F0dHJpYnV0ZWRT
dHJpbmcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6QXR0cmlidXRlZFN0cmluZzsK
LSNpZiBVU0UoQVBQS0lUKQotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQ29sb3Ig
Y2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29sb3I7Ci0jZW5kaWYKLSAgICBpZiAo
W29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSkKLSAgICAgICAgcmV0
dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGlmIChbb2JqZWN0
IGlzS2luZE9mQ2xhc3M6W05TRm9udCBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpG
b250OwotI2VuZGlmCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIgY2xh
c3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6TnVtYmVyOwotICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OlN0
cmluZzsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0pCi0g
ICAgICAgIHJldHVybiBOU1R5cGU6OkFycmF5OwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xh
c3M6W05TRGF0ZSBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpEYXRlOwotICAgIGlm
IChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11dKQotICAgICAgICByZXR1cm4g
TlNUeXBlOjpEYXRhOwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TVVJMIGNsYXNz
XV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OlVSTDsKLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBOU1R5cGU6OlVua25vd247Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGlkIG9iamVjdCkKLXsKLSAgICBOU1R5cGUgdHlwZSA9IHR5cGVGcm9tT2Jq
ZWN0KG9iamVjdCk7Ci0gICAgZW5jb2RlciA8PCB0eXBlOwotCi0gICAgc3dpdGNoICh0eXBlKSB7
Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6Ci0gICAgICAgIGVuY29kZShlbmNv
ZGVyLCBzdGF0aWNfY2FzdDxOU0F0dHJpYnV0ZWRTdHJpbmcgKj4ob2JqZWN0KSk7Ci0gICAgICAg
IHJldHVybjsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpDb2xvcjoKLSAgICAg
ICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQ29sb3IgKj4ob2JqZWN0KSk7Ci0gICAg
ICAgIHJldHVybjsKLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OgotICAgICAg
ICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5ICo+KG9iamVjdCkpOwot
ICAgICAgICByZXR1cm47Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Rm9udDoK
LSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRm9udCAqPihvYmplY3QpKTsK
LSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6Ok51bWJlcjoKLSAgICAg
ICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVtYmVyICo+KG9iamVjdCkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OlN0cmluZzoKLSAgICAgICAgZW5jb2RlKGVu
Y29kZXIsIHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47
Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGlj
X2Nhc3Q8TlNBcnJheSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTlNU
eXBlOjpEYXRlOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRlICo+
KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGE6Ci0gICAg
ICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2JqZWN0KSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6VVJMOgotICAgICAgICBlbmNvZGUoZW5jb2Rl
ciwgc3RhdGljX2Nhc3Q8TlNVUkwgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBj
YXNlIE5TVHlwZTo6VW5rbm93bjoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFp
blB0cjxpZD4mIHJlc3VsdCkKLXsKLSAgICBOU1R5cGUgdHlwZTsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlRW51bSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc3dpdGNoICh0
eXBlKSB7Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6IHsKLSAgICAgICAgUmV0
YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gc3RyaW5nOwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1
bHQgPSBzdHJpbmc7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNpZiBVU0UoQVBQS0lU
KQotICAgIGNhc2UgTlNUeXBlOjpDb2xvcjogewotICAgICAgICBSZXRhaW5QdHI8TlNDb2xvcj4g
Y29sb3I7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGNvbG9yKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gY29sb3I7Ci0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OiB7Ci0gICAg
ICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRpY3Rpb25hcnk7Ci0gICAgICAgIGlmICghZGVj
b2RlKGRlY29kZXIsIGRpY3Rpb25hcnkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICByZXN1bHQgPSBkaWN0aW9uYXJ5OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0j
aWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Rm9udDogewotICAgICAgICBSZXRhaW5Q
dHI8TlNGb250PiBmb250OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250KSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZm9udDsKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6Ok51bWJlcjogewot
ICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IG51bWJlcjsKLSAgICAgICAgaWYgKCFkZWNvZGUo
ZGVjb2RlciwgbnVtYmVyKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVz
dWx0ID0gbnVtYmVyOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5
cGU6OlN0cmluZzogewotICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IHN0cmluZzsKLSAgICAg
ICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5nOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0FycmF5PiBh
cnJheTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgYXJyYXkpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBhcnJheTsKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpEYXRlOiB7Ci0gICAgICAgIFJldGFpblB0cjxO
U0RhdGU+IGRhdGU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBkYXRlOwotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGE6IHsKLSAgICAgICAgUmV0YWlu
UHRyPE5TRGF0YT4gZGF0YTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0YSkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGRhdGE7Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VVJMOiB7Ci0gICAgICAgIFJl
dGFpblB0cjxOU1VSTD4gVVJMOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBVUkwpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBVUkw7Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6YWJsZUZv
bnQoQ1RGb250UmVmIGZvbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUF0dHJp
YnV0ZShmb250LCBrQ1RGb250VVJMQXR0cmlidXRlKSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9v
bCBpc1NlcmlhbGl6YWJsZVZhbHVlKGlkIHZhbHVlKQotewotI2lmIFVTRShBUFBLSVQpCi0gICAg
YXV0byBmb250Q2xhc3MgPSBbTlNGb250IGNsYXNzXTsKLSNlbHNlCi0gICAgYXV0byBmb250Q2xh
c3MgPSBbVUlGb250IGNsYXNzXTsKLSNlbmRpZgotICAgIHJldHVybiAhW3ZhbHVlIGlzS2luZE9m
Q2xhc3M6Zm9udENsYXNzXSB8fCBpc1NlcmlhbGl6YWJsZUZvbnQoKF9fYnJpZGdlIENURm9udFJl
Zil2YWx1ZSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZmls
dGVyVW5zZXJpYWxpemFibGVWYWx1ZXMoTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5KQotewotICAg
IF9fYmxvY2sgYm9vbCBtb2RpZmljYXRpb25OZWNlc3NhcnkgPSBmYWxzZTsKLSAgICBbZGljdGlv
bmFyeSBlbnVtZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxvY2s6XihpZCBrZXksIGlkIG9iamVj
dCwgQk9PTCAqc3RvcCkgewotICAgICAgICBpZiAoIWlzU2VyaWFsaXphYmxlVmFsdWUob2JqZWN0
KSkgewotICAgICAgICAgICAgbW9kaWZpY2F0aW9uTmVjZXNzYXJ5ID0gdHJ1ZTsKLSAgICAgICAg
ICAgICpzdG9wID0gWUVTOwotICAgICAgICB9Ci0gICAgfV07Ci0gICAgaWYgKCFtb2RpZmljYXRp
b25OZWNlc3NhcnkpCi0gICAgICAgIHJldHVybiBkaWN0aW9uYXJ5OwotCi0gICAgYXV0byByZXN1
bHQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwotICAgIFtk
aWN0aW9uYXJ5IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIGtleSwgaWQg
b2JqZWN0LCBCT09MICpzdG9wKSB7Ci0gICAgICAgIGlmIChpc1NlcmlhbGl6YWJsZVZhbHVlKG9i
amVjdCkpCi0gICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpvYmplY3QgZm9yS2V5OmtleV07
Ci0gICAgfV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlciwgTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcpCi17Ci0gICAgLy8gRXZlbiB0aG91
Z2ggTlNBdHRyaWJ1dGVkU3RyaW5nIGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZBdHRyaWJ1
dGVkU3RyaW5nUmVmLCBhdHRyaWJ1dGVzJyB2YWx1ZXMgbWF5IGJlIG5vdCwgc28gd2Ugc2hvdWxk
IHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCi0KLSAgICBOU1N0cmluZyAqcGxhaW5TdHJp
bmcgPSBbc3RyaW5nIHN0cmluZ107Ci0gICAgTlNVSW50ZWdlciBsZW5ndGggPSBbcGxhaW5TdHJp
bmcgbGVuZ3RoXTsKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBwbGFpblN0cmluZyk7Ci0KLSAg
ICBWZWN0b3I8c3RkOjpwYWlyPE5TUmFuZ2UsIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+Pj4gcmFu
Z2VzOwotCi0gICAgTlNVSW50ZWdlciBwb3NpdGlvbiA9IDA7Ci0gICAgd2hpbGUgKHBvc2l0aW9u
IDwgbGVuZ3RoKSB7Ci0gICAgICAgIC8vIENvbGxlY3QgcmFuZ2VzIGluIGEgdmVjdG9yLCBiZWNh
c3VlIHRoZSB0b3RhbCBjb3VudCBzaG91bGQgYmUgZW5jb2RlZCBmaXJzdC4KLSAgICAgICAgTlNS
YW5nZSBlZmZlY3RpdmVSYW5nZTsKLSAgICAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYXR0
cmlidXRlc0F0SW5kZXggPSBbc3RyaW5nIGF0dHJpYnV0ZXNBdEluZGV4OnBvc2l0aW9uIGVmZmVj
dGl2ZVJhbmdlOiZlZmZlY3RpdmVSYW5nZV07Ci0gICAgICAgIEFTU0VSVChlZmZlY3RpdmVSYW5n
ZS5sb2NhdGlvbiA9PSBwb3NpdGlvbik7Ci0gICAgICAgIEFTU0VSVChlZmZlY3RpdmVSYW5nZS5s
ZW5ndGgpOwotICAgICAgICBBU1NFUlQoTlNNYXhSYW5nZShlZmZlY3RpdmVSYW5nZSkgPD0gbGVu
Z3RoKTsKLQotICAgICAgICByYW5nZXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGVmZmVjdGl2ZVJh
bmdlLCBmaWx0ZXJVbnNlcmlhbGl6YWJsZVZhbHVlcyhhdHRyaWJ1dGVzQXRJbmRleC5nZXQoKSkp
KTsKLQotICAgICAgICBwb3NpdGlvbiA9IE5TTWF4UmFuZ2UoZWZmZWN0aXZlUmFuZ2UpOwotICAg
IH0KLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhbmdlcy5zaXplKCkp
OwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByYW5nZXMuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFuZ2VzW2ldLmZpcnN0Lmxv
Y2F0aW9uKTsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFuZ2Vz
W2ldLmZpcnN0Lmxlbmd0aCk7Ci0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHJhbmdlc1tp
XS5zZWNvbmQuZ2V0KCkpOwotICAgIH0KLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5Q
dHI8TlNTdHJpbmc+IHBsYWluU3RyaW5nOwotICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rlciwg
cGxhaW5TdHJpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBOU1VJbnRlZ2VyIHN0
cmluZ0xlbmd0aCA9IFtwbGFpblN0cmluZyBsZW5ndGhdOwotCi0gICAgUmV0YWluUHRyPE5TTXV0
YWJsZUF0dHJpYnV0ZWRTdHJpbmc+IHJlc3VsdFN0cmluZyA9IGFkb3B0TlMoW1tOU011dGFibGVB
dHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzpwbGFpblN0cmluZy5nZXQoKV0p
OwotCi0gICAgdWludDY0X3QgcmFuZ2VDb3VudDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJh
bmdlQ291bnQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB3aGlsZSAocmFuZ2VDb3Vu
dC0tKSB7Ci0gICAgICAgIHVpbnQ2NF90IHJhbmdlTG9jYXRpb247Ci0gICAgICAgIHVpbnQ2NF90
IHJhbmdlTGVuZ3RoOwotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhdHRyaWJ1dGVz
OwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhbmdlTG9jYXRpb24pKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhbmdlTGVuZ3Ro
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBBU1NFUlQocmFuZ2VMb2Nh
dGlvbiArIHJhbmdlTGVuZ3RoID4gcmFuZ2VMb2NhdGlvbik7Ci0gICAgICAgIEFTU0VSVChyYW5n
ZUxvY2F0aW9uICsgcmFuZ2VMZW5ndGggPD0gc3RyaW5nTGVuZ3RoKTsKLSAgICAgICAgaWYgKHJh
bmdlTG9jYXRpb24gKyByYW5nZUxlbmd0aCA8PSByYW5nZUxvY2F0aW9uIHx8IHJhbmdlTG9jYXRp
b24gKyByYW5nZUxlbmd0aCA+IHN0cmluZ0xlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBbcmVzdWx0U3RyaW5nIGFkZEF0dHJpYnV0
ZXM6YXR0cmlidXRlcy5nZXQoKSByYW5nZTpOU01ha2VSYW5nZShyYW5nZUxvY2F0aW9uLCByYW5n
ZUxlbmd0aCldOwotICAgIH0KLQotICAgIHJlc3VsdCA9IGFkb3B0TlMocmVzdWx0U3RyaW5nLmxl
YWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZiBVU0UoQVBQS0lUKQotdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNDb2xvciAqY29sb3IpCi17Ci0gICAgZW5jb2RlciA8
PCBjb2xvckZyb21OU0NvbG9yKGNvbG9yKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVj
b2RlciwgUmV0YWluUHRyPE5TQ29sb3I+JiByZXN1bHQpCi17Ci0gICAgQ29sb3IgY29sb3I7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShjb2xvcikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHJlc3VsdCA9IG5zQ29sb3IoY29sb3IpOwotICAgIHJldHVybiB0cnVlOwotfQotI2VuZGlm
Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRGljdGlvbmFyeSAqZGljdGlvbmFy
eSkKLXsKLSAgICAvLyBFdmVuIHRob3VnaCBOU0RpY3Rpb25hcnkgaXMgdG9sbCBmcmVlIGJyaWRn
ZWQgd2l0aCBDRkRpY3Rpb25hcnlSZWYsIHZhbHVlcyBtYXkgYmUgbm90LCBzbyB3ZSBzaG91bGQg
c3RheSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KLQotICAgIE5TVUludGVnZXIgc2l6ZSA9IFtk
aWN0aW9uYXJ5IGNvdW50XTsKLSAgICBOU0FycmF5ICprZXlzID0gW2RpY3Rpb25hcnkgYWxsS2V5
c107Ci0gICAgTlNBcnJheSAqdmFsdWVzID0gW2RpY3Rpb25hcnkgYWxsVmFsdWVzXTsKLQotICAg
IGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHNpemUpOwotCi0gICAgZm9yIChOU1VJ
bnRlZ2VyIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIGlkIGtleSA9IFtrZXlzIG9i
amVjdEF0SW5kZXg6aV07Ci0gICAgICAgIGlkIHZhbHVlID0gW3ZhbHVlcyBvYmplY3RBdEluZGV4
OmldOwotICAgICAgICBBU1NFUlQoa2V5KTsKLSAgICAgICAgQVNTRVJUKHZhbHVlKTsKLSAgICAg
ICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUpKTsKLQotICAgICAgICAvLyBJZ25v
cmUgdmFsdWVzIHdlIGRvbid0IHJlY29nbml6ZS4KLSAgICAgICAgaWYgKHR5cGVGcm9tT2JqZWN0
KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAg
ICAgICBlbmNvZGUoZW5jb2Rlciwga2V5KTsKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHZhbHVl
KTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxO
U0RpY3Rpb25hcnk+JiByZXN1bHQpCi17Ci0gICAgdWludDY0X3Qgc2l6ZTsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBSZXRhaW5Q
dHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IGFkb3B0TlMoW1tOU011dGFibGVE
aWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsKLSAgICBmb3IgKHVpbnQ2
NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIC8vIFRyeSB0byBkZWNvZGUgdGhl
IGtleSBuYW1lLgotICAgICAgICBSZXRhaW5QdHI8aWQ+IGtleTsKLSAgICAgICAgaWYgKCFkZWNv
ZGUoZGVjb2Rlciwga2V5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBS
ZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCB2YWx1ZSkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgW2RpY3Rpb25hcnkgc2V0T2Jq
ZWN0OnZhbHVlLmdldCgpIGZvcktleTprZXkuZ2V0KCldOwotICAgIH0KLQotICAgIHJlc3VsdCA9
IGFkb3B0TlMoZGljdGlvbmFyeS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi0j
aWYgVVNFKEFQUEtJVCkKLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRm9udCAqZm9u
dCkKLXsKLSAgICAvLyBOU0ZvbnQgY291bGQgdXNlIENURm9udFJlZiBjb2RlIGlmIHdlIGhhZCBp
dCBpbiBBcmd1bWVudENvZGVyc0NGLgotICAgIGVuY29kZShlbmNvZGVyLCBmb250LmZvbnREZXNj
cmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgUmV0YWluUHRyPE5TRm9udD4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBmb250QXR0cmlidXRlczsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBmb250QXR0cmli
dXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE5TRm9udERlc2NyaXB0b3IgKmZv
bnREZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0
dHJpYnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOwotICAgIHJlc3VsdCA9IFtOU0ZvbnQgZm9u
dFdpdGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07Ci0KLSAgICByZXR1cm4gcmVz
dWx0OwotfQotI2VuZGlmIC8vIFVTRShBUFBLSVQpCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBVSUZvbnQgKmZvbnQpCi17Ci0gICAg
ZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMpOwotfQot
Ci1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8VUlGb250PiYgcmVzdWx0
KQotewotICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRyaWJ1dGVzOwotICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgVUlGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbVUlGb250RGVzY3Jp
cHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250QXR0cmlidXRlcy5nZXQo
KV07Ci0gICAgcmVzdWx0ID0gW1VJRm9udCBmb250V2l0aERlc2NyaXB0b3I6Zm9udERlc2NyaXB0
b3Igc2l6ZTowXTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLSNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU051bWJlciAq
bnVtYmVyKQotewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZOdW1iZXJSZWYpbnVt
YmVyKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TTnVt
YmVyPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gbnVtYmVyOwotICAg
IGlmICghZGVjb2RlKGRlY29kZXIsIG51bWJlcikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVyLmxlYWtSZWYoKSk7Ci0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TU3RyaW5n
ICpzdHJpbmcpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilz
dHJpbmcpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNT
dHJpbmc+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdHJpbmc7Ci0g
ICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNTdHJpbmcgKilzdHJpbmcubGVha1JlZigpKTsKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNBcnJh
eSAqYXJyYXkpCi17Ci0gICAgTlNVSW50ZWdlciBzaXplID0gW2FycmF5IGNvdW50XTsKLSAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaXplKTsKLQotICAgIGZvciAoTlNVSW50
ZWdlciBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBpZCB2YWx1ZSA9IFthcnJheSBv
YmplY3RBdEluZGV4OmldOwotCi0gICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2UgZG9uJ3QgcmVj
b2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3QodmFsdWUpID09IE5TVHlwZTo6VW5r
bm93bikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIEFTU0VSVChpc1NlcmlhbGl6
YWJsZVZhbHVlKHZhbHVlKSk7Ci0KLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHZhbHVlKTsKLSAg
ICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0FycmF5
PiYgcmVzdWx0KQotewotICAgIHVpbnQ2NF90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShzaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUmV0YWluUHRyPE5TTXV0YWJs
ZUFycmF5PiBhcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhD
YXBhY2l0eTpzaXplXSk7Ci0gICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNpemU7ICsraSkg
ewotICAgICAgICBSZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBpZiAoIWRlY29kZShkZWNv
ZGVyLCB2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgW2FycmF5
IGFkZE9iamVjdDp2YWx1ZS5nZXQoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0gYWRvcHROUyhh
cnJheS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBOU0RhdGUgKmRhdGUpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2Jy
aWRnZSBDRkRhdGVSZWYpZGF0ZSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIs
IFJldGFpblB0cjxOU0RhdGU+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGRGF0ZVJlZj4g
ZGF0ZTsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRlICopZGF0ZS5sZWFrUmVmKCkpOwot
ICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0Rh
dGEgKmRhdGEpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFSZWYpZGF0
YSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0RhdGE+
JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0YTsKLSAgICBpZiAoIWRl
Y29kZShkZWNvZGVyLCBkYXRhKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0
ID0gYWRvcHROUygoTlNEYXRhICopZGF0YS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwot
fQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU1VSTCAqVVJMKQotewotICAgIGVu
Y29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMKTsKLX0KLQotYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TVVJMPiYgcmVzdWx0KQotewotICAgIFJldGFp
blB0cjxDRlVSTFJlZj4gVVJMOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVSTCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TVVJMICopVVJMLmxl
YWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIElQQwotCi1u
YW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpOU1R5cGU+
IHsKLSAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBJUEM6Ok5TVHlwZSwK
LSAgICAgICAgSVBDOjpOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmcsCi0gICAgI2lmIFVTRShBUFBL
SVQpCi0gICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKLSAgICAjZW5kaWYKLSAgICAgICAgSVBD
OjpOU1R5cGU6OkRpY3Rpb25hcnksCi0gICAgICAgIElQQzo6TlNUeXBlOjpBcnJheSwKLSAgICAj
aWYgVVNFKEFQUEtJVCkKLSAgICAgICAgSVBDOjpOU1R5cGU6OkZvbnQsCi0gICAgI2VuZGlmCi0g
ICAgICAgIElQQzo6TlNUeXBlOjpOdW1iZXIsCi0gICAgICAgIElQQzo6TlNUeXBlOjpTdHJpbmcs
Ci0gICAgICAgIElQQzo6TlNUeXBlOjpEYXRlLAotICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0YSwK
LSAgICAgICAgSVBDOjpOU1R5cGU6OlVSTCwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlVua25vd24K
LSAgICA+OwotfTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRy
aWJ1dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJp
bmcubW0KaW5kZXggMjc1YTRmMTAwOWQwNDM5YzFjYWI3MGNmNjNiMzY2ZmJiYmIzOGQ2YS4uYWUw
ODU4NDU0N2I2MWI1MzQyY2RhN2NjZWNkNDE2MTRkNDg3ZTdlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTI3LDMyICsyNywyMSBAQAogI2lt
cG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29h
LmgiCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgotI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+CisjaW1wb3J0ICJEZWNvZGVyLmgiCisjaW1wb3J0ICJFbmNvZGVyLmgiCiAK
IG5hbWVzcGFjZSBJUEMgewogCiB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVk
U3RyaW5nPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYktpdDo6QXR0cmlidXRl
ZFN0cmluZyYgYXR0cmlidXRlZFN0cmluZykKIHsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0
PGJvb2w+KCFhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZyk7Ci0gICAgaWYgKCFhdHRyaWJ1dGVkU3Ry
aW5nLnN0cmluZykKLSAgICAgICAgcmV0dXJuOwotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGF0
dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpKTsKKyAgICBlbmNvZGVyIDw8IGF0dHJpYnV0ZWRT
dHJpbmcuc3RyaW5nOwogfQogCiBPcHRpb25hbDxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+IEFy
Z3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiB7Ci0gICAgYm9vbCBpc051bGw7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc051
bGwpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmIChpc051bGwpCi0gICAg
ICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyB9OwotCiAgICAgUmV0YWluUHRy
PE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFN0cmluZzsKLSAgICBJUEM6OmRlY29kZShk
ZWNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nKTsKLSAgICBpZiAoIWF0dHJpYnV0ZWRTdHJpbmcpCisg
ICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nKSkKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJp
bmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgpIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCmluZGV4IGJjMDRmMjJhNGM5ZWIxZTlkMWIwYzBjZjAx
MWFlNTBjMGUyNDdjODUuLmM2NTQ4NGY1NTEyMjBkZGJjOGI4NGI3OTZhY2IwNTk4ODcyNmI4NzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW0K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbQpAQCAtMjYs
NyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJPYmpDT2JqZWN0R3JhcGgu
aCIKIAotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMuaCIKKyNpbXBvcnQgIkFyZ3VtZW50Q29k
ZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRlY29kZXIuaCIKICNpbXBvcnQgIkVuY29kZXIuaCIKICNp
bXBvcnQgIlVzZXJEYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCAxM2JjMjkyNTNlZGJhMTU3NThj
ODU2MGE5MWNiNjQ1ZGQ4YWFjZDk0Li44MmRiYWMxMDY3OWJlYmYyMDNiOTI2ZWY0ZTE4NDFmOWNh
M2RiNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTIyNyw1ICsyMjcsMjcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPENyZWRlbnRpYWw+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIENyZWRlbnRp
YWwmKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPEZvbnRBdHRy
aWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0cmlidXRl
cyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK09wdGlvbmFsPEZvbnRBdHRy
aWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPERpY3Rp
b25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IERpY3Rp
b25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitib29s
IEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShE
ZWNvZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCA0NmMzNTcwMjcxYWQ0MGFiNmEzNjM4Y2I3Y2Y4ZTUwNTk3ZGViMGRmLi5iNTYwYjRhNzY1OTMy
ZmM4YjYxODU4ZGQ5NWMxMGI4YmUxMTc0YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0x
NzQsNyArMTc0LDYgQEAgU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KIFNoYXJlZC9p
b3MvV2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcAogU2hhcmVkL2lvcy9XZWJUb3VjaEV2ZW50
SU9TLmNwcAogCi1TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCiBTaGFyZWQvbWFjL0F0
dHJpYnV0ZWRTdHJpbmcubW0KIFNoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQogU2hh
cmVkL21hYy9Db2RlU2lnbmluZy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjc3ZWNmMTZkOTBjY2Q2NWRhMTY0NWI4YjExNzk5MGI1
OWY1NGI5Mi4uMzdiM2FkYjc1NTE0ODAyMmI1ODcwN2ZiYTg4NzkxZTJiMDc0ODYyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTk3
LDcgKzE1OTcsNiBAQAogCQlFMTY0QTJGMjE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxl
UmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNjRBMkYwMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0
YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQlFMTcwODc2QzE2
RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzA4NzZBMTZENkNBNjkwMEY5OTIyNiAvKiBC
bG9iUmVnaXN0cnlQcm94eS5oICovOyB9OwogCQlFMTc5MDg4RjE2OUJBQTZBMDA2OTA0QzcgLyog
U2VjSXRlbVNoaW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxOEU2OTQ4MTY5Qjc3QzgwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbS5oICovOyB9OwotCQlF
MTc5RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzlGRDlCMTM0RDM4MDYwMDE1
Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5oICovOyB9OwogCQlFMTdBRTJDMzE2QjlDNjNBMDAx
QzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3QUUyQzIxNkI5QzYzQTAwMUM0
MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi87IH07CiAJCUUxOEU2
OTBDMTY5QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkwQTE2OUI1NjNGMDA5QjY2NzAg
LyogU2VjSXRlbVNoaW1Qcm94eS5oICovOyB9OwogCQlFMThFNjkxNzE2OUI2NjdCMDA5QjY2NzAg
LyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkxMzE2OUI2NjdCMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC00NDY4LDggKzQ0
NjcsNiBAQAogCQlFMTcwODc2OTE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYlJlZ2lzdHJ5UHJv
eHkuY3BwOyBwYXRoID0gV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3MDg3NkExNkQ2Q0E2OTAwRjk5MjI2IC8q
IEJsb2JSZWdpc3RyeVByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJs
b2JSZWdpc3RyeVByb3h5Lmg7IHBhdGggPSBXZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5
UHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3OThDNzcxNkU2ODE4ODAw
MjQwMTM5IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTmV0d29ya0Jsb2JSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01h
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmd1bWVudENvZGVyc01hYy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMTc5RkQ5RTEzNEQzODI1MDAxNUI4ODMg
LyogQXJndW1lbnRDb2RlcnNNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBBcmd1bWVudENvZGVyc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTE3QUUyQzExNkI5QzEzOTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1By
b2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8q
IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1l
ID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRTE4QzkyRjMxMkRCOUU3MTAwQ0YyQUVCIC8q
IFByaW50SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmlu
dEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzg1NSw4ICs3ODUyLDYg
QEAKIAkJQkMxMTFCNUExMTJGNjI4MjAwMzM3QkFCIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJRTE3OUZEOUIxMzREMzgwNjAwMTVCODgzIC8q
IEFyZ3VtZW50Q29kZXJzTWFjLmggKi8sCi0JCQkJRTE3OUZEOUUxMzREMzgyNTAwMTVCODgzIC8q
IEFyZ3VtZW50Q29kZXJzTWFjLm1tICovLAogCQkJCUUxQTMxNzMxMTM0Q0VBNkMwMDdDOUE0RiAv
KiBBdHRyaWJ1dGVkU3RyaW5nLmggKi8sCiAJCQkJRTFBMzE3MzQxMzRDRUE4MDAwN0M5QTRGIC8q
IEF0dHJpYnV0ZWRTdHJpbmcubW0gKi8sCiAJCQkJOUY1NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8q
IEF1eGlsaWFyeVByb2Nlc3NNYWMubW0gKi8sCkBAIC05MDU1LDcgKzkwNTAsNiBAQAogCQkJCTFB
RUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVy
c0NvY29hLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMTc5RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyog
QXJndW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYw
MDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1
RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICov
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364508</attachid>
            <date>2019-03-12 21:00:33 -0700</date>
            <delta_ts>2019-03-13 13:27:15 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190312210033.patch</filename>
            <type>text/plain</type>
            <size>57987</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uN2IyNzkxMDIzZTc1ZmRiNjhhNDAzNTVlYmU3ZjQ3
ZDQ3OWY1NTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIGVkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbzo6ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25z
dCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGFuZCBib2R5IGJh
Y2tncm91bmQgY29sb3IgdGhyb3VnaCBIVE1MQ29udmVydGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YmVjY2Ux
MmNhMGZjMWFjNGJlZGY1NjFjNzMwYjY5OWMyY2M1NGUxLi43NzFjYjNmZGRhYmM2Y2ZhNWU5ZWRl
NmE5MGU5ZWVkODZmNzBmMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTEy
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xp
ZGF0ZSBBcmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBNZXJnZSB0aGUgdHdvIHNpbWlsYXIgZW5jb2RlcnMgYW5kIGRlY29kZXJz
LiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2hlcmUKKyAgICAgICAgb25lIGVuY29kZXIgY291bGQgYmUg
dXNlZCBhbmQgdGhlIG90aGVyIGRlY29kZXIsIHdoaWNoIGNhdXNlZCBhIGNyYXNoLgorICAgICAg
ICBJdCBhbHNvIHN0b3BzIGhhbmRsaW5nIE5TQXR0cmlidXRlZFN0cmluZyBzcGVjaWZpY2FsbHkg
YW5kIGp1c3QgdXNlcworICAgICAgICB0aGUgTlNTZWN1cmVDb2RpbmcgcGF0aCB0byBoYW5kbGUg
bW9yZSBjb21wbGV4IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgU29tZSBXZWJDb3JlIGVuY29kZXJz
IGNvZGUgbmVlZGVkIHRvIG1vdmUgdG8gcGxhdGZvcm0gZmlsZXMsIHNpbmNlCisgICAgICAgIEFy
Z3VtZW50Q29kZXJzQ29jb2EuaCByZXF1aXJlcyBhbiBPYmplY3RpdmVDKysgaW1wbGVtZW50YXRp
b24gdG8gd29yay4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29h
Lmg6CisgICAgICAgIChJUEM6OmVuY29kZSk6CisgICAgICAgIChJUEM6OmRlY29kZSk6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+Pjo6ZW5jb2RlKToKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+OjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjp0eXBlRnJv
bU9iamVjdCk6CisgICAgICAgIChJUEM6OmlzU2VyaWFsaXphYmxlRm9udCk6CisgICAgICAgIChJ
UEM6OmlzU2VyaWFsaXphYmxlVmFsdWUpOgorICAgICAgICAoSVBDOjplbmNvZGVPYmplY3QpOgor
ICAgICAgICAoSVBDOjpkZWNvZGVPYmplY3QpOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Mb2Fk
UGFyYW1ldGVyc0NvY29hLm1tOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1l
bnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpE
aWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmli
dXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvQXJndW1lbnRDb2Rl
cnNNYWMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFj
Lm1tOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbToK
KyAgICAgICAgKFdlYktpdDo6QXR0cmlidXRlZFN0cmluZzo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKiBTaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE5LTAzLTEyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1vcmUgYXR0ZW1wdHMgYXQgYnVpbGQgZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8uaAppbmRleCBmMWM2NWE0OGQ2MGEwYThjNWVhZmUzZTYz
YzNlNzRjMDk5NDdhNmZhLi4xNTA2YjM2YmQ5MzdhMzI1ZGM0MThjZWJiMWVjYjE2NGZlNWFhMDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8uaApAQCAt
NDAsNiArNDAsMTAgQEAgc3RydWN0IERpY3Rpb25hcnlQb3B1cEluZm8gewogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IG9wdGlvbnM7CiAgICAgUmV0YWlu
UHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFN0cmluZzsKKworICAgIGJvb2wgZW5j
b2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbHNl
CisgICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9Gb250QXR0cmlidXRlcy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRl
cy5oCmluZGV4IDgzZjI2NGUwOWIxZGEzYTZkMGRjMmRiMGFkNDNjNWMzNTcyMzk1ZDcuLjYyYWIx
NjVlOWZhNGVhY2M2OGVhZmQzZDEwNjFmZWVhZjU5MzE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKQEAgLTc5LDcgKzc5LDExIEBAIHN0cnVjdCBGb250QXR0cmli
dXRlcyB7CiAgICAgZW51bSBjbGFzcyBIb3Jpem9udGFsQWxpZ25tZW50IDogdWludDhfdCB7IExl
ZnQsIENlbnRlciwgUmlnaHQsIEp1c3RpZnksIE5hdHVyYWwgfTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKwogICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+
IGNyZWF0ZURpY3Rpb25hcnkoKSBjb25zdDsKKyNlbHNlCisgICAgYm9vbCBlbmNvZGluZ1JlcXVp
cmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJn
dW1lbnRDb2RlcnNDb2NvYS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRD
b2RlcnNDb2NvYS5oCmluZGV4IDk3NmQzODEyMjg1ZGVlZmJlMzAyMjFlYmViMzQ1ZWZkZTExY2My
ZjAuLmYwODE4MWQwNzVmNDI3NGUyYWY4ZmYzZmNhMjM2NWExZDdmMGRhMTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDE3ICsz
MSwxNSBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYs
IGlkIDxOU1NlY3VyZUNvZGluZz4pOwotT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNv
ZGluZz4+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xh
c3Nlcyk7Cit2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiwgaWQpOworT3B0aW9uYWw8UmV0YWlu
UHRyPGlkPj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMpOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRl
Y29kZShEZWNvZGVyJiwgQ2xhc3MgYWxsb3dlZENsYXNzKTsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImLCBOU0FycmF5PENsYXNzPiAq
YWxsb3dlZENsYXNzZXMgPSBAWyBbVCBjbGFzc10gXSk7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB1
c2luZyBJc09iakNPYmplY3QgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfY29udmVydGlibGU8
VCAqLCBpZD46OnZhbHVlLCBUICo+OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgotT3B0aW9uYWw8
UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQ2xhc3MgYWxsb3dlZENsYXNz
KQotewotICAgIHJldHVybiBkZWNvZGU8VD4oZGVjb2RlciwgQFsgYWxsb3dlZENsYXNzIF0pOwot
fQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VD4+IHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBUICopOwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBJ
c09iakNPYmplY3Q8VD4+IGJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8VD4mKTsKKwor
dGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VD4+IE9wdGlvbmFs
PFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMgPSBAWyBbVCBjbGFzc10gXSk7CiAKICNpZm5kZWYgTkRFQlVHCiAKQEAgLTU2LDcgKzU0
LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc09iamVjdENsYXNzQWxsb3dlZChpZCBvYmplY3Qs
IE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlCiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWU+Cit2b2lkIGVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBUICpvYmplY3QpCit7CisgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIG9i
amVjdCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgorYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPFQ+JiByZXN1bHQpCit7CisgICAgYXV0byBvYmpl
Y3QgPSBkZWNvZGVPYmplY3QoZGVjb2RlciwgQFsgW1QgY2xhc3NdIF0pOworICAgIGlmICghb2Jq
ZWN0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0ID0gb2JqZWN0LnZhbHVlKCk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgog
T3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxD
bGFzcz4gKmFsbG93ZWRDbGFzc2VzKQogewogICAgIGF1dG8gcmVzdWx0ID0gZGVjb2RlT2JqZWN0
KGRlY29kZXIsIGFsbG93ZWRDbGFzc2VzKTsKQEAgLTcxLDEwICs4NSw4IEBAIE9wdGlvbmFsPFJl
dGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxv
d2VkQ2xhc3NlcykKICAgICByZXR1cm4geyBhZG9wdE5TKHN0YXRpY19jYXN0PFQgKj4ob2JqZWN0
KSkgfTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gdXNpbmcgQ29uZm9ybXNUb1NlY3VyZUNv
ZGluZyA9IHN0ZDo6aXNfY29udmVydGlibGU8VCAqLCBpZCA8TlNTZWN1cmVDb2Rpbmc+PjsKLQog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9ybXNUb1NlY3VyZUNv
ZGluZzxVPjo6dmFsdWU+KiA9IG51bGxwdHI+CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQs
IHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFU+PgogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBVICpvYmplY3QpCiAgICAgewogICAgICAgICBlbmNvZGVPYmplY3QoZW5j
b2Rlciwgb2JqZWN0KTsKQEAgLTgyLDE2ICs5NCwxNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxUICo+IHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj4gewotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxDb25mb3Jtc1RvU2VjdXJlQ29kaW5nPFU+Ojp2YWx1
ZT4qID0gbnVsbHB0cj4KLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUmV0YWluUHRyPFU+JiBvYmplY3QpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQs
IHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFU+PgorICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBSZXRhaW5QdHI8VD4mIG9iamVjdCkKICAgICB7Ci0gICAgICAg
IEFyZ3VtZW50Q29kZXI8VSAqPjo6ZW5jb2RlKGVuY29kZXIsIG9iamVjdC5nZXQoKSk7CisgICAg
ICAgIEFyZ3VtZW50Q29kZXI8VCAqPjo6ZW5jb2RlKGVuY29kZXIsIG9iamVjdC5nZXQoKSk7CiAg
ICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUgPSBULCBzdGQ6OmVuYWJsZV9pZl90PENv
bmZvcm1zVG9TZWN1cmVDb2Rpbmc8VT46OnZhbHVlPiogPSBudWxscHRyPgotICAgIHN0YXRpYyBP
cHRpb25hbDxSZXRhaW5QdHI8VT4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFUgPSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxVPj4KKyAgICBzdGF0
aWMgT3B0aW9uYWw8UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICB7
Ci0gICAgICAgIHJldHVybiBJUEM6OmRlY29kZTxVPihkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJu
IElQQzo6ZGVjb2RlPFQ+KGRlY29kZXIpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IGNjNGJjZDMzZjJk
YWZmMDRmNjYyYzA4YmEwZTkxYTQ3ZGRkNjJmYTcuLmUyNzYxMjFkNTAzMzI4Y2U0OTFlMzNjN2Yz
YTM0OGUzYTdiYWY1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJn
dW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE4LCAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjksMjEgKzI5LDI3MyBAQAogI2lmIFBMQVRGT1JNKENPQ09B
KQogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCisjaW1wb3J0IDxDb3JlVGV4dC9DVEZv
bnQuaD4KKyNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3IuaD4KICNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvTlNLZXllZEFyY2hpdmVyU1BJLmg+CiAKKyNpZiBVU0UoQVBQS0lUKQorI2lt
cG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgorI2VuZGlmCisKKyNpZiBVU0UoQVBQS0lUKQorI2Rl
ZmluZSBQbGF0Zm9ybUZvbnQgTlNGb250CisjZGVmaW5lIFBsYXRmb3JtRm9udERlc2NyaXB0b3Ig
TlNGb250RGVzY3JpcHRvcgorI2Vsc2UKKyNkZWZpbmUgUGxhdGZvcm1Gb250IFVJRm9udAorI2Rl
ZmluZSBQbGF0Zm9ybUZvbnREZXNjcmlwdG9yIFVJRm9udERlc2NyaXB0b3IKKyNlbmRpZgorCiBu
YW1lc3BhY2UgSVBDIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitlbnVtIGNsYXNzIE5T
VHlwZSB7CisgICAgQXJyYXksCisjaWYgVVNFKEFQUEtJVCkKKyAgICBDb2xvciwKKyNlbmRpZgor
ICAgIERhdGEsCisgICAgRGF0ZSwKKyAgICBEaWN0aW9uYXJ5LAorICAgIEZvbnQsCisgICAgTnVt
YmVyLAorICAgIFNlY3VyZUNvZGluZywKKyAgICBTdHJpbmcsCisgICAgVVJMLAorICAgIFVua25v
d24sCit9OworCitzdGF0aWMgTlNUeXBlIHR5cGVGcm9tT2JqZWN0KGlkIG9iamVjdCkKK3sKKyAg
ICBBU1NFUlQob2JqZWN0KTsKKworICAgIC8vIFNwZWNpZmljIGNsYXNzZXMgaGFuZGxlZC4KKyAg
ICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0pCisgICAgICAgIHJl
dHVybiBOU1R5cGU6OkFycmF5OworI2lmIFVTRShBUFBLSVQpCisgICAgaWYgKFtvYmplY3QgaXNL
aW5kT2ZDbGFzczpbTlNDb2xvciBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpDb2xv
cjsKKyNlbmRpZgorICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11d
KQorICAgICAgICByZXR1cm4gTlNUeXBlOjpEYXRhOworICAgIGlmIChbb2JqZWN0IGlzS2luZE9m
Q2xhc3M6W05TRGF0ZSBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpEYXRlOworICAg
IGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKQorICAgICAg
ICByZXR1cm4gTlNUeXBlOjpEaWN0aW9uYXJ5OworICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xh
c3M6W1BsYXRmb3JtRm9udCBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpGb250Owor
ICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0pCisgICAgICAg
IHJldHVybiBOU1R5cGU6Ok51bWJlcjsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltO
U1N0cmluZyBjbGFzc11dKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpTdHJpbmc7CisgICAgaWYg
KFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNVUkwgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIE5T
VHlwZTo6VVJMOworCisgICAgLy8gQ2hlY2sgTlNTZWN1cmVDb2RpbmcgYWZ0ZXIgdGhlIHNwZWNp
ZmljIGNhc2VzIHNpbmNlCisgICAgLy8gbW9zdCBvZiB0aGUgY2xhc3NlcyBhYm92ZSBjb25mb3Jt
IHRvIE5TU2VjdXJlQ29kaW5nLAorICAgIC8vIGFuZCB3ZSB3YW50IG91ciBzcGVjaWFsIGNhc2Ug
Y29kZXJzIGZvciB0aGVtIGluc3RlYWQuCisgICAgaWYgKFtvYmplY3QgY29uZm9ybXNUb1Byb3Rv
Y29sOkBwcm90b2NvbChOU1NlY3VyZUNvZGluZyldKQorICAgICAgICByZXR1cm4gTlNUeXBlOjpT
ZWN1cmVDb2Rpbmc7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gTlNU
eXBlOjpVbmtub3duOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaXNTZXJpYWxpemFibGVGb250
KENURm9udFJlZiBmb250KQoreworICAgIHJldHVybiBhZG9wdENGKENURm9udENvcHlBdHRyaWJ1
dGUoZm9udCwga0NURm9udFVSTEF0dHJpYnV0ZSkpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wg
aXNTZXJpYWxpemFibGVWYWx1ZShpZCB2YWx1ZSkKK3sKKyAgICBpZiAoW3ZhbHVlIGlzS2luZE9m
Q2xhc3M6W1BsYXRmb3JtRm9udCBjbGFzc11dKQorICAgICAgICByZXR1cm4gaXNTZXJpYWxpemFi
bGVGb250KChfX2JyaWRnZSBDVEZvbnRSZWYpdmFsdWUpOworICAgIHJldHVybiB0eXBlRnJvbU9i
amVjdCh2YWx1ZSkgIT0gTlNUeXBlOjpVbmtub3duOworfQorCitzdGF0aWMgdm9pZCBlbmNvZGVJ
bnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBOU0FycmF5ICphcnJheSkKK3sKKyAgICAvLyBFdmVu
IHRob3VnaCBOU0FycmF5IGlzIHRvbGwgZnJlZSBicmlkZ2VkIHdpdGggQ0ZBcnJheVJlZiwgdmFs
dWVzIG1heSBub3QgYmUsCisgICAgLy8gc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmls
ZSdzIGNvZGUuCisKKyAgICBpZiAoIWFycmF5LmNvdW50KSB7CisgICAgICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KDApOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
UmV0YWluUHRyPE5TTXV0YWJsZUluZGV4U2V0PiB2YWxpZEluZGljaWVzID0gYWRvcHROUyhbW05T
TXV0YWJsZUluZGV4U2V0IGFsbG9jXSBpbml0XSk7CisgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAw
OyBpIDwgYXJyYXkuY291bnQ7ICsraSkgeworICAgICAgICBpZCB2YWx1ZSA9IGFycmF5W2ldOwor
CisgICAgICAgIC8vIElnbm9yZSB2YWx1ZXMgd2UgZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAgQVNT
RVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUpKTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6
YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIFt2YWxp
ZEluZGljaWVzIGFkZEluZGV4OmldOworICAgIH0KKworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nh
c3Q8dWludDY0X3Q+KHZhbGlkSW5kaWNpZXMuZ2V0KCkuY291bnQpOworCisgICAgW3ZhbGlkSW5k
aWNpZXMuZ2V0KCkgZW51bWVyYXRlSW5kZXhlc1VzaW5nQmxvY2s6XihOU1VJbnRlZ2VyIGksIEJP
T0wgKnN0b3ApIHsKKyAgICAgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIGFycmF5W2ldKTsKKyAg
ICB9XTsKK30KKworc3RhdGljIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZUFycmF5SW50
ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICB1aW50NjRfdCBzaXplOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IGFycmF5ID0gYWRvcHROUyhbW05TTXV0YWJsZUFy
cmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsKKyAgICBmb3IgKHVpbnQ2NF90IGkg
PSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IHZh
bHVlID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBbYXJyYXkgYWRkT2JqZWN0
OnZhbHVlLnZhbHVlKCkuZ2V0KCldOworICAgIH0KKworICAgIHJldHVybiB7IGFycmF5IH07Cit9
CisKKyNpZiBVU0UoQVBQS0lUKQorc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVu
Y29kZXImIGVuY29kZXIsIE5TQ29sb3IgKmNvbG9yKQoreworICAgIGVuY29kZXIgPDwgY29sb3JG
cm9tTlNDb2xvcihjb2xvcik7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRy
PGlkPj4gZGVjb2RlQ29sb3JJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIENvbG9y
IGNvbG9yOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY29sb3IpKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IG5zQ29sb3IoY29sb3IpIH07Cit9CisjZW5kaWYK
Kworc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5T
RGF0YSAqZGF0YSkKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilk
YXRhKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVE
YXRhSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVm
PiBkYXRhOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMoKE5TRGF0YSAqKWRhdGEubGVha1Jl
ZigpKSB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJuYWwoRW5jb2RlciYg
ZW5jb2RlciwgTlNEYXRlICpkYXRlKQoreworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2Ug
Q0ZEYXRlUmVmKWRhdGUpOworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxp
ZD4+IGRlY29kZURhdGVJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0
cjxDRkRhdGVSZWY+IGRhdGU7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNEYXRlICop
ZGF0ZS5sZWFrUmVmKCkpIH07Cit9CisKK3N0YXRpYyB2b2lkIGVuY29kZUludGVybmFsKEVuY29k
ZXImIGVuY29kZXIsIE5TRGljdGlvbmFyeSAqZGljdGlvbmFyeSkKK3sKKyAgICAvLyBFdmVuIHRo
b3VnaCBOU0RpY3Rpb25hcnkgaXMgdG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkRpY3Rpb25hcnlS
ZWYsIGtleXMvdmFsdWVzIG1heSBub3QgYmUsCisgICAgLy8gc28gd2Ugc2hvdWxkIHN0YXkgd2l0
aGluIHRoaXMgZmlsZSdzIGNvZGUuCisKKyAgICBpZiAoIWRpY3Rpb25hcnkuY291bnQpIHsKKyAg
ICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oMCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBSZXRhaW5QdHI8TlNNdXRhYmxlT3JkZXJlZFNldD4gdmFsaWRLZXlz
ID0gYWRvcHROUyhbW05TTXV0YWJsZU9yZGVyZWRTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6
ZGljdGlvbmFyeS5jb3VudF0pOworICAgIGZvciAoaWQga2V5IGluIGRpY3Rpb25hcnkpIHsKKyAg
ICAgICAgaWQgdmFsdWUgPSBkaWN0aW9uYXJ5W2tleV07CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7
CisKKyAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBB
U1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZShrZXkpKTsKKyAgICAgICAgQVNTRVJUKGlzU2VyaWFs
aXphYmxlVmFsdWUodmFsdWUpKTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKGtl
eSkgfHwgIWlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgW3ZhbGlkS2V5cyBhZGRPYmplY3Q6a2V5XTsKKyAgICB9CisKKyAgICBlbmNv
ZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90Pih2YWxpZEtleXMuZ2V0KCkuY291bnQpOworCisg
ICAgZm9yIChpZCBrZXkgaW4gdmFsaWRLZXlzLmdldCgpKSB7CisgICAgICAgIGVuY29kZU9iamVj
dChlbmNvZGVyLCBrZXkpOworICAgICAgICBlbmNvZGVPYmplY3QoZW5jb2RlciwgZGljdGlvbmFy
eVtrZXldKTsKKyAgICB9Cit9CisKK3N0YXRpYyBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNv
ZGVEaWN0aW9uYXJ5SW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICB1aW50NjRfdCBz
aXplOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFy
eSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5
OnNpemVdKTsKKyAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAg
ICAgIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGtleSA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBu
aWwpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gdmFsdWUgPSBkZWNvZGVPYmplY3Qo
ZGVjb2RlciwgbmlsKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICAgICAgW2RpY3Rpb25hcnkgc2V0T2JqZWN0OnZhbHVlLnZhbHVl
KCkuZ2V0KCkgZm9yS2V5OmtleS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXR1cm4g
eyBkaWN0aW9uYXJ5IH07Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJbnRlcm5hbChF
bmNvZGVyJiBlbmNvZGVyLCBQbGF0Zm9ybUZvbnQgKmZvbnQpCit7CisgICAgZW5jb2RlKGVuY29k
ZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMpOworfQorCitzdGF0aWMgT3B0
aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlRm9udEludGVybmFsKERlY29kZXImIGRlY29kZXIp
Cit7CisgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7CisgICAgaWYg
KCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgUGxhdGZvcm1Gb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBb
UGxhdGZvcm1Gb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpm
b250QXR0cmlidXRlcy5nZXQoKV07CisgICAgcmV0dXJuIHsgW1BsYXRmb3JtRm9udCBmb250V2l0
aERlc2NyaXB0b3I6Zm9udERlc2NyaXB0b3Igc2l6ZTowXSB9OworfQorCitzdGF0aWMgaW5saW5l
IHZvaWQgZW5jb2RlSW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51bWJlcikK
K3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGTnVtYmVyUmVmKW51bWJlcik7Cit9
CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlTnVtYmVySW50
ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJSZWY+IG51
bWJlcjsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBudW1iZXIpKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVyLmxl
YWtSZWYoKSkgfTsKK30KIAotdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2RlciwgaWQg
PE5TU2VjdXJlQ29kaW5nPiBvYmplY3QpCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlSW50ZXJu
YWwoRW5jb2RlciYgZW5jb2RlciwgaWQgPE5TT2JqZWN0LCBOU1NlY3VyZUNvZGluZz4gb2JqZWN0
KQogewogICAgIGF1dG8gYXJjaGl2ZXIgPSBzZWN1cmVBcmNoaXZlcigpOwogICAgIFthcmNoaXZl
ciBlbmNvZGVPYmplY3Q6b2JqZWN0IGZvcktleTpOU0tleWVkQXJjaGl2ZVJvb3RPYmplY3RLZXld
OwogICAgIFthcmNoaXZlciBmaW5pc2hFbmNvZGluZ107CiAKLSAgICBJUEM6OmVuY29kZShlbmNv
ZGVyLCAoX19icmlkZ2UgQ0ZEYXRhUmVmKVthcmNoaXZlciBlbmNvZGVkRGF0YV0pOworICAgIGVu
Y29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRhUmVmKVthcmNoaXZlciBlbmNvZGVkRGF0YV0p
OwogfQogCi1PcHRpb25hbDxSZXRhaW5QdHI8aWQgPE5TU2VjdXJlQ29kaW5nPj4+IGRlY29kZU9i
amVjdChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCitz
dGF0aWMgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlU2VjdXJlQ29kaW5nSW50ZXJuYWwo
RGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFzc2VzKQogeworICAg
IEFTU0VSVChhbGxvd2VkQ2xhc3NlcyAmJiBhbGxvd2VkQ2xhc3Nlcy5jb3VudCk7CisgICAgaWYg
KCFhbGxvd2VkQ2xhc3NlcyB8fCAhYWxsb3dlZENsYXNzZXMuY291bnQpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOwogICAgIGlm
ICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpA
QCAtNjEsNiArMzEzLDE0OSBAQCBPcHRpb25hbDxSZXRhaW5QdHI8aWQgPE5TU2VjdXJlQ29kaW5n
Pj4+IGRlY29kZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PAogICAgIH0KIH0KIAor
c3RhdGljIGlubGluZSB2b2lkIGVuY29kZUludGVybmFsKEVuY29kZXImIGVuY29kZXIsIE5TU3Ry
aW5nICpzdHJpbmcpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRlN0cmluZ1Jl
ZilzdHJpbmcpOworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRl
Y29kZVN0cmluZ0ludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBzdHJpbmc7CisgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU1N0cmlu
ZyAqKXN0cmluZy5sZWFrUmVmKCkpIH07Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVJ
bnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBOU1VSTCAqVVJMKQoreworICAgIGVuY29kZShlbmNv
ZGVyLCAoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMKTsKK30KKworc3RhdGljIGlubGluZSBPcHRpb25h
bDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVVUkxJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQorewor
ICAgIFJldGFpblB0cjxDRlVSTFJlZj4gVVJMOworICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVS
TCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgYWRvcHROUygo
TlNVUkwgKilVUkwubGVha1JlZigpKSB9OworfQorCit2b2lkIGVuY29kZU9iamVjdChFbmNvZGVy
JiBlbmNvZGVyLCBpZCBvYmplY3QpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxib29s
Pighb2JqZWN0KTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTlNU
eXBlIHR5cGUgPSB0eXBlRnJvbU9iamVjdChvYmplY3QpOworICAgIGVuY29kZXIgPDwgdHlwZTsK
KworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgTlNUeXBlOjpBcnJheToKKyAgICAgICAg
ZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNBcnJheSAqPihvYmplY3QpKTsK
KyAgICAgICAgcmV0dXJuOworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6OkNvbG9y
OgorICAgICAgICBlbmNvZGVJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0NvbG9yICo+
KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisjZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGlj
dGlvbmFyeToKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNE
aWN0aW9uYXJ5ICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6
OkZvbnQ6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PFBsYXRm
b3JtRm9udCAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpO
dW1iZXI6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVt
YmVyICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OlNlY3Vy
ZUNvZGluZzoKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8aWQg
PE5TT2JqZWN0LCBOU1NlY3VyZUNvZGluZz4+KG9iamVjdCkpOworICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBOU1R5cGU6OlN0cmluZzoKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwg
c3RhdGljX2Nhc3Q8TlNTdHJpbmcgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBj
YXNlIE5TVHlwZTo6RGF0ZToKKyAgICAgICAgZW5jb2RlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGlj
X2Nhc3Q8TlNEYXRlICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5
cGU6OkRhdGE6CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5T
RGF0YSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpVUkw6
CisgICAgICAgIGVuY29kZUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TVVJMICo+KG9i
amVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CisgICAg
ICAgIGJyZWFrOworICAgIH0KK30KKworT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlT2Jq
ZWN0KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKK3sK
KyAgICBib29sIGlzTnVsbDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzTnVsbCkpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKGlzTnVsbCkKKyAgICAgICAgcmV0dXJu
IHsgbnVsbHB0ciB9OworCisgICAgTlNUeXBlIHR5cGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZUVudW0odHlwZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBzd2l0Y2gg
KHR5cGUpIHsKKyAgICBjYXNlIE5TVHlwZTo6QXJyYXk6CisgICAgICAgIHJldHVybiBkZWNvZGVB
cnJheUludGVybmFsKGRlY29kZXIpOworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBOU1R5cGU6
OkNvbG9yOgorICAgICAgICByZXR1cm4gZGVjb2RlQ29sb3JJbnRlcm5hbChkZWNvZGVyKTsKKyNl
bmRpZgorICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OgorICAgICAgICByZXR1cm4gZGVjb2Rl
RGljdGlvbmFyeUludGVybmFsKGRlY29kZXIpOworI2lmIFVTRShBUFBLSVQpCisgICAgY2FzZSBO
U1R5cGU6OkZvbnQ6CisgICAgICAgIHJldHVybiBkZWNvZGVGb250SW50ZXJuYWwoZGVjb2Rlcik7
CisjZWxzZQorICAgIGNhc2UgTlNUeXBlOjpGb250OgorICAgICAgICByZXR1cm4gZGVjb2RlRm9u
dEludGVybmFsKGRlY29kZXIpOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6Ok51bWJlcjoKKyAg
ICAgICAgcmV0dXJuIGRlY29kZU51bWJlckludGVybmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNU
eXBlOjpTZWN1cmVDb2Rpbmc6CisgICAgICAgIHJldHVybiBkZWNvZGVTZWN1cmVDb2RpbmdJbnRl
cm5hbChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CisgICAgY2FzZSBOU1R5cGU6OlN0cmluZzoK
KyAgICAgICAgcmV0dXJuIGRlY29kZVN0cmluZ0ludGVybmFsKGRlY29kZXIpOworICAgIGNhc2Ug
TlNUeXBlOjpEYXRlOgorICAgICAgICByZXR1cm4gZGVjb2RlRGF0ZUludGVybmFsKGRlY29kZXIp
OworICAgIGNhc2UgTlNUeXBlOjpEYXRhOgorICAgICAgICByZXR1cm4gZGVjb2RlRGF0YUludGVy
bmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNUeXBlOjpVUkw6CisgICAgICAgIHJldHVybiBkZWNv
ZGVVUkxJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cisg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKK30KKwogfSAvLyBuYW1lc3BhY2UgSVBDCiAKK25hbWVzcGFjZSBXVEYgewordGVtcGxhdGU8
PiBzdHJ1Y3QgRW51bVRyYWl0czxJUEM6Ok5TVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgICAgIElQQzo6TlNUeXBlLAorICAgICAgICBJUEM6Ok5TVHlwZTo6QXJy
YXksCisjaWYgVVNFKEFQUEtJVCkKKyAgICAgICAgSVBDOjpOU1R5cGU6OkNvbG9yLAorI2VuZGlm
CisgICAgICAgIElQQzo6TlNUeXBlOjpEYXRhLAorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0ZSwK
KyAgICAgICAgSVBDOjpOU1R5cGU6OkRpY3Rpb25hcnksCisgICAgICAgIElQQzo6TlNUeXBlOjpG
b250LAorICAgICAgICBJUEM6Ok5TVHlwZTo6TnVtYmVyLAorICAgICAgICBJUEM6Ok5TVHlwZTo6
U2VjdXJlQ29kaW5nLAorICAgICAgICBJUEM6Ok5TVHlwZTo6U3RyaW5nLAorICAgICAgICBJUEM6
Ok5TVHlwZTo6VVJMLAorICAgICAgICBJUEM6Ok5TVHlwZTo6VW5rbm93bgorICAgID47Cit9Owor
fQorCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbQppbmRleCA4MTcwZjIyMWU3Mjc2YzBiMTc4
ZTM0ZjBjMmNkY2Y4NDkxN2I5NWUwLi42YTE1YzliODVmZjkzNDZjM2FlYzgxZGU0N2FkOTMzMDlk
MjY2ZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1l
dGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0
ZXJzQ29jb2EubW0KQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi0j
aW5jbHVkZSAiQXJndW1lbnRDb2RlcnNNYWMuaCIKKyNpbmNsdWRlICJBcmd1bWVudENvZGVyc0Nv
Y29hLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCA5NjA5MjhmYmIyMTI4YmY5NTBhYjlkZTBmMTZj
Yzg3ZWE5NTliY2VlLi40MDNkMzRlZmI5MWNmMGNhYjJiNGFiMjhmMDIyZTU4NTJiMWM1YjM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1l
bnRDb2RlcnNDb2NvYS5tbQpAQCAtMjYsMTcgKzI2LDI0IEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCisjaW1wb3J0ICJBcmd1bWVudENv
ZGVyc0NvY29hLmgiCisjaW1wb3J0IDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KKyNp
bXBvcnQgPFdlYkNvcmUvRm9udEF0dHJpYnV0ZXMuaD4KKwogI2lmIEVOQUJMRShBUFBMRV9QQVkp
CiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaD4KICNp
bXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvTlNLZXllZEFyY2hpdmVyU1BJLmg+CiAKKyNlbmRpZgorCiBuYW1lc3BhY2UgSVBDIHsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKwogdm9pZCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnQ+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgV2ViQ29yZTo6UGF5bWVudCYgcGF5bWVudCkKIHsKICAgICBlbmNvZGVyIDw8IHBheW1l
bnQucGtQYXltZW50KCk7CkBAIC00MDgsNSArNDE1LDMyIEBAIE9wdGlvbmFsPFdlYkNvcmU6OlNo
aXBwaW5nTWV0aG9kVXBkYXRlPiBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9k
VXBkCiAgICAgcmV0dXJuIHt7IFdURk1vdmUoKm5ld1RvdGFsQW5kTGluZUl0ZW1zKSB9fTsKIH0K
IAorI2VuZGlmIC8vIEVOQUJMRShBUFBMRVBBWSkKKwordm9pZCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5j
b2RlciwgY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYgaW5mbykKK3sKKyAgICBl
bmNvZGVyIDw8IGluZm8ub3B0aW9ucyA8PCBpbmZvLmF0dHJpYnV0ZWRTdHJpbmc7CiB9Ci0jZW5k
aWYKKworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8+Ojpk
ZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6RGljdGlvbmFyeVBv
cHVwSW5mbyYgcmVzdWx0KQoreworICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0
Lm9wdGlvbnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFJUEM6OmRlY29kZShk
ZWNvZGVyLCByZXN1bHQuYXR0cmlidXRlZFN0cmluZykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdl
YkNvcmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQoreworICAgIGVuY29kZXIgPDwgYXR0
cmlidXRlcy5mb250OworfQorCitPcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBk
ZWNvZGVyLCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYgYXR0cmlidXRlcykKK3sKKyAgICBpZiAo
IUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMuZm9udCkpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIGF0dHJpYnV0ZXM7Cit9CisKK30gLy8gbmFtZXNwYWNl
IElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAK
aW5kZXggZjdlYmIwZTlmZGFhMWJmOGMyN2JmZGUxZmI5M2NhOTQ1MmQ3NDljMC4uYzgyZGEwMjUx
MjgyZmZmMmZhYWQ0ODJlMGI4ODEwMjc3ZDYyZDExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC05MCw3ICs5MCw2IEBACiAKICNpZiBQ
TEFURk9STShDT0NPQSkKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW5jbHVkZSAi
QXJndW1lbnRDb2RlcnNNYWMuaCIKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
QEAgLTI1OTksMTcgKzI1OTgsMTMgQEAgdm9pZCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1
cEluZm8+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBEaWMKICAgICBlbmNv
ZGVyIDw8IGluZm8ub3JpZ2luOwogICAgIGVuY29kZXIgPDwgaW5mby50ZXh0SW5kaWNhdG9yOwog
Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYWRPcHRpb25zID0gaW5mby5vcHRpb25z
OwotICAgIGVuY29kZXIgPDwgaGFkT3B0aW9uczsKLSAgICBpZiAoaGFkT3B0aW9ucykKLSAgICAg
ICAgSVBDOjplbmNvZGUoZW5jb2RlciwgaW5mby5vcHRpb25zLmdldCgpKTsKLQotICAgIGJvb2wg
aGFkQXR0cmlidXRlZFN0cmluZyA9IGluZm8uYXR0cmlidXRlZFN0cmluZzsKLSAgICBlbmNvZGVy
IDw8IGhhZEF0dHJpYnV0ZWRTdHJpbmc7Ci0gICAgaWYgKGhhZEF0dHJpYnV0ZWRTdHJpbmcpCi0g
ICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGluZm8uYXR0cmlidXRlZFN0cmluZy5nZXQoKSk7
Ci0jZW5kaWYKKyAgICBpZiAoaW5mby5lbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkpIHsK
KyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAgICAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5j
b2RlciwgaW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IGZh
bHNlOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIERpY3Rpb25hcnlQb3B1cEluZm8mIHJlc3VsdCkKQEAg
LTI2MjMsMjUgKzI2MTgsMTEgQEAgYm9vbCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cElu
Zm8+OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBEaWN0aW9uYXIKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIHJlc3VsdC50ZXh0SW5kaWNhdG9yID0gV1RGTW92ZSgqdGV4dEluZGlj
YXRvcik7CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGhhZE9wdGlvbnM7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYWRPcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGlmIChoYWRPcHRpb25zKSB7Ci0gICAgICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rlciwg
cmVzdWx0Lm9wdGlvbnMpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0gZWxzZQot
ICAgICAgICByZXN1bHQub3B0aW9ucyA9IG51bGxwdHI7Ci0KLSAgICBib29sIGhhZEF0dHJpYnV0
ZWRTdHJpbmc7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYWRBdHRyaWJ1dGVkU3RyaW5nKSkK
KyAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1Bs
YXRmb3JtRGF0YSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoaGFkQXR0cmlidXRl
ZFN0cmluZykgewotICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdC5hdHRy
aWJ1dGVkU3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcgPSBudWxscHRyOwotI2VuZGlmCisgICAgaWYg
KGhhc1BsYXRmb3JtRGF0YSkKKyAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3JtRGF0YShkZWNv
ZGVyLCByZXN1bHQpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0zMDQ1LDEyICszMDI2LDEy
IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmJh
Y2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVz
LmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUgPDwgYXR0cmlidXRlcy5oYXNT
dHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwogICAgIGVuY29kZXIuZW5jb2Rl
RW51bShhdHRyaWJ1dGVzLmhvcml6b250YWxBbGlnbm1lbnQpOwogICAgIGVuY29kZXIuZW5jb2Rl
RW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3JpcHQpOwotI2lmIFBMQVRGT1JNKENP
Q09BKQotICAgIGJvb2wgaGFzRm9udCA9IGF0dHJpYnV0ZXMuZm9udDsKLSAgICBlbmNvZGVyIDw8
IGhhc0ZvbnQ7Ci0gICAgaWYgKGhhc0ZvbnQpCi0gICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIs
IGF0dHJpYnV0ZXMuZm9udC5nZXQoKSk7Ci0jZW5kaWYKKworICAgIGlmIChhdHRyaWJ1dGVzLmVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgeworICAgICAgICBlbmNvZGVyIDw8IHRydWU7
CisgICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBhdHRyaWJ1dGVzKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIH0KIAogT3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTMwODEs
MTQgKzMwNjIsMTEgQEAgT3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9u
dEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlRW51bShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3JpcHQpKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYXNG
b250ID0gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNGb250KSkKLSAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIGlmIChoYXNGb250ICYmICFJUEM6OmRlY29kZShk
ZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQorICAgIGJvb2wgaGFzUGxhdGZvcm1EYXRhOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzUGxhdGZvcm1EYXRhKSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKLSNlbmRpZgorICAgIGlmIChoYXNQbGF0Zm9ybURhdGEpCisgICAgICAgIHJl
dHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgYXR0cmlidXRlcyk7CiAKICAgICByZXR1
cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKaW5kZXggMmVmNWU0M2FkYjQ4OTUxODE5YzlhNzEzZDY5ZTAxM2QyMGRkNmU5Yi4u
ZDcxMTQwYWU5N2M3OTkzNGI2OGRlNzcxYzE4Y2NiMzhhNmJiODNkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTU4Miw2ICs1ODIsOCBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRh
PiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQ
b3B1cEluZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cElu
Zm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIFdlYkNv
cmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKTsKIH07CiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKQpAQCAtNzQ0LDYgKzc0Niw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+PiB7CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiB7CiAg
ICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGb250QXR0cmli
dXRlcyYpOwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gZGVj
b2RlKERlY29kZXImKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CisgICAgc3RhdGljIE9wdGlvbmFs
PFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIFdl
YkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9OwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jdXJsL1dlYkNvcmVBcmd1
bWVudENvZGVyc0N1cmwuY3BwCmluZGV4IDAyNzM4NWRhMTZkYjY3ZTgwMzM1ZmUxYjc2ODhiNWFm
MTBlYmNmYjYuLmVjMzQwOGQ0ODAwNjkyYTlhZGQ1ZjljZDc0YmZmNzk3ZTE0YjgxOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ3Vy
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY3VybC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNDdXJsLmNwcApAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Q3VybFByb3h5U2V0dGluZ3MuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cElu
Zm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgpAQCAtMjEwLDQgKzIxMiwy
NiBAQCBPcHRpb25hbDxDdXJsUHJveHlTZXR0aW5ncz4gQXJndW1lbnRDb2RlcjxDdXJsUHJveHlT
ZXR0aW5ncz46OmRlY29kZShEZWNvZGVyJiBkZQogICAgIHJldHVybiBDdXJsUHJveHlTZXR0aW5n
cyB7IFdURk1vdmUodXJsKSwgV1RGTW92ZShpZ25vcmVIb3N0cykgfTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBj
b25zdCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisK
K09wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBB
cmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5j
b2RlciYsIGNvbnN0IERpY3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRl
Y29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkMmFiYjdmOTY2NDNhYWRkYjUwNzMwYzliNTU4YTNjOTA3MTI5OGExLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPG9iamMvb2Jq
Yy5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotT0JKQ19DTEFTUyBOU0FycmF5Owot
T0JKQ19DTEFTUyBOU0F0dHJpYnV0ZWRTdHJpbmc7Ci1PQkpDX0NMQVNTIE5TQ29sb3I7Ci1PQkpD
X0NMQVNTIE5TRGF0YTsKLU9CSkNfQ0xBU1MgTlNEYXRlOwotT0JKQ19DTEFTUyBOU0RpY3Rpb25h
cnk7Ci1PQkpDX0NMQVNTIE5TRm9udDsKLU9CSkNfQ0xBU1MgTlNOdW1iZXI7Ci1PQkpDX0NMQVNT
IE5TU3RyaW5nOwotT0JKQ19DTEFTUyBOU1VSTDsKLU9CSkNfQ0xBU1MgVUlGb250OwotCi1uYW1l
c3BhY2UgSVBDIHsKLQotY2xhc3MgRW5jb2RlcjsKLWNsYXNzIERlY29kZXI7Ci0KLS8vIGlkCi12
b2lkIGVuY29kZShFbmNvZGVyJiwgaWQpOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0
cjxpZD4mKTsKLQotLy8gTlNBdHRyaWJ1dGVkU3RyaW5nCi12b2lkIGVuY29kZShFbmNvZGVyJiwg
TlNBdHRyaWJ1dGVkU3RyaW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxO
U0F0dHJpYnV0ZWRTdHJpbmc+Jik7Ci0KLSNpZiBVU0UoQVBQS0lUKQotLy8gTlNDb2xvcgotdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIE5TQ29sb3IgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0
YWluUHRyPE5TQ29sb3I+Jik7Ci0jZW5kaWYKLQotLy8gTlNEaWN0aW9uYXJ5Ci12b2lkIGVuY29k
ZShFbmNvZGVyJiwgTlNEaWN0aW9uYXJ5ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFp
blB0cjxOU0RpY3Rpb25hcnk+Jik7Ci0KLS8vIE5TQXJyYXkKLXZvaWQgZW5jb2RlKEVuY29kZXIm
LCBOU0FycmF5ICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0FycmF5PiYp
OwotCi0jaWYgVVNFKEFQUEtJVCkKLS8vIE5TRm9udAotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5T
Rm9udCAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNGb250PiYpOwotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIFVJ
Rm9udCAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8VUlGb250PiYpOwotI2Vu
ZGlmCi0KLS8vIE5TTnVtYmVyCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNOdW1iZXIgKik7Ci1i
b29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TTnVtYmVyPiYpOwotCi0vLyBOU1N0cmlu
Zwotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TU3RyaW5nICopOwotYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIFJldGFpblB0cjxOU1N0cmluZz4mKTsKLQotLy8gTlNEYXRlCi12b2lkIGVuY29kZShFbmNv
ZGVyJiwgTlNEYXRlICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0RhdGU+
Jik7Ci0KLS8vIE5TRGF0YQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TRGF0YSAqKTsKLWJvb2wg
ZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNEYXRhPiYpOwotCi0vLyBOU1VSTAotdm9pZCBl
bmNvZGUoRW5jb2RlciYsIE5TVVJMICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJldGFpblB0
cjxOU1VSTD4mKTsKLQotfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAyYTAyOTVmZWY4YTVlOTk0MzVlYjczODFiMWExMDc2N2YyNzNhMDkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L0FyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTgyICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFj
LmgiCi0KLSNpbXBvcnQgPENvcmVUZXh0L0NvcmVUZXh0Lmg+Ci0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0jZW5kaWYKLQotI2ltcG9ydCAiQXJndW1l
bnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiRGVjb2Rlci5oIgotI2ltcG9ydCAiRW5jb2Rlci5oIgot
I2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0jaW1wb3J0IDxXZWJDb3JlL0NvbG9y
TWFjLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotCi1lbnVtIGNsYXNzIE5TVHlwZSB7Ci0gICAgQXR0
cmlidXRlZFN0cmluZywKLSNpZiBVU0UoQVBQS0lUKQotICAgIENvbG9yLAotI2VuZGlmCi0gICAg
RGljdGlvbmFyeSwKLSAgICBBcnJheSwKLSNpZiBVU0UoQVBQS0lUKQotICAgIEZvbnQsCi0jZW5k
aWYKLSAgICBOdW1iZXIsCi0gICAgU3RyaW5nLAotICAgIERhdGUsCi0gICAgRGF0YSwKLSAgICBV
UkwsCi0gICAgVW5rbm93biwKLX07Ci0KLX0KLQotbmFtZXNwYWNlIElQQyB7Ci11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQotc3RhdGljIE5TVHlwZSB0eXBlRnJvbU9iamVjdChpZCBvYmplY3Qp
Ci17Ci0gICAgQVNTRVJUKG9iamVjdCk7Ci0KLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNz
OltOU0F0dHJpYnV0ZWRTdHJpbmcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6QXR0
cmlidXRlZFN0cmluZzsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGlmIChbb2JqZWN0IGlzS2luZE9m
Q2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6Q29sb3I7Ci0j
ZW5kaWYKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3Nd
XSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKLSNpZiBVU0UoQVBQS0lUKQot
ICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRm9udCBjbGFzc11dKQotICAgICAgICBy
ZXR1cm4gTlNUeXBlOjpGb250OwotI2VuZGlmCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFz
czpbTlNOdW1iZXIgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6TnVtYmVyOwotICAg
IGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCi0gICAgICAgIHJl
dHVybiBOU1R5cGU6OlN0cmluZzsKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0Fy
cmF5IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkFycmF5OwotICAgIGlmIChbb2Jq
ZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0ZSBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBl
OjpEYXRlOwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11dKQot
ICAgICAgICByZXR1cm4gTlNUeXBlOjpEYXRhOwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xh
c3M6W05TVVJMIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OlVSTDsKLQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBOU1R5cGU6OlVua25vd247Ci19Ci0KLXZv
aWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGlkIG9iamVjdCkKLXsKLSAgICBOU1R5cGUgdHlw
ZSA9IHR5cGVGcm9tT2JqZWN0KG9iamVjdCk7Ci0gICAgZW5jb2RlciA8PCB0eXBlOwotCi0gICAg
c3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6Ci0gICAg
ICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0F0dHJpYnV0ZWRTdHJpbmcgKj4ob2Jq
ZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBl
OjpDb2xvcjoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQ29sb3IgKj4o
b2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0
aW9uYXJ5OgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5
ICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNl
IE5TVHlwZTo6Rm9udDoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRm9u
dCAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6
Ok51bWJlcjoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TTnVtYmVyICo+
KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OlN0cmluZzoKLSAg
ICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9iamVjdCkpOwot
ICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OgotICAgICAgICBlbmNvZGUo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNBcnJheSAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIGNhc2UgTlNUeXBlOjpEYXRlOgotICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGlj
X2Nhc3Q8TlNEYXRlICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5
cGU6OkRhdGE6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4o
b2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6VVJMOgotICAgICAg
ICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNVUkwgKj4ob2JqZWN0KSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6VW5rbm93bjoKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFJldGFpblB0cjxpZD4mIHJlc3VsdCkKLXsKLSAgICBOU1R5cGUgdHlwZTsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6
IHsKLSAgICAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gc3RyaW5nOwotICAgICAg
ICBpZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICByZXN1bHQgPSBzdHJpbmc7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpDb2xvcjogewotICAgICAgICBSZXRh
aW5QdHI8TlNDb2xvcj4gY29sb3I7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGNvbG9y
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gY29sb3I7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNlbmRpZgotICAgIGNhc2UgTlNUeXBlOjpEaWN0
aW9uYXJ5OiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRpY3Rpb25hcnk7Ci0g
ICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRpY3Rpb25hcnkpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBkaWN0aW9uYXJ5OwotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBjYXNlIE5TVHlwZTo6Rm9udDogewot
ICAgICAgICBSZXRhaW5QdHI8TlNGb250PiBmb250OwotICAgICAgICBpZiAoIWRlY29kZShkZWNv
ZGVyLCBmb250KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0g
Zm9udDsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2VuZGlmCi0gICAgY2FzZSBOU1R5
cGU6Ok51bWJlcjogewotICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IG51bWJlcjsKLSAgICAg
ICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgcmVzdWx0ID0gbnVtYmVyOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgY2FzZSBOU1R5cGU6OlN0cmluZzogewotICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+
IHN0cmluZzsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5nOwotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkFycmF5OiB7Ci0gICAgICAgIFJldGFp
blB0cjxOU0FycmF5PiBhcnJheTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgYXJyYXkp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBhcnJheTsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpEYXRlOiB7Ci0gICAg
ICAgIFJldGFpblB0cjxOU0RhdGU+IGRhdGU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIs
IGRhdGUpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBkYXRl
OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGE6IHsK
LSAgICAgICAgUmV0YWluUHRyPE5TRGF0YT4gZGF0YTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVj
b2RlciwgZGF0YSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9
IGRhdGE7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VVJM
OiB7Ci0gICAgICAgIFJldGFpblB0cjxOU1VSTD4gVVJMOwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBVUkwpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQg
PSBVUkw7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6VW5r
bm93bjoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBp
c1NlcmlhbGl6YWJsZUZvbnQoQ1RGb250UmVmIGZvbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0Q0Yo
Q1RGb250Q29weUF0dHJpYnV0ZShmb250LCBrQ1RGb250VVJMQXR0cmlidXRlKSk7Ci19Ci0KLXN0
YXRpYyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6YWJsZVZhbHVlKGlkIHZhbHVlKQotewotI2lmIFVT
RShBUFBLSVQpCi0gICAgYXV0byBmb250Q2xhc3MgPSBbTlNGb250IGNsYXNzXTsKLSNlbHNlCi0g
ICAgYXV0byBmb250Q2xhc3MgPSBbVUlGb250IGNsYXNzXTsKLSNlbmRpZgotICAgIHJldHVybiAh
W3ZhbHVlIGlzS2luZE9mQ2xhc3M6Zm9udENsYXNzXSB8fCBpc1NlcmlhbGl6YWJsZUZvbnQoKF9f
YnJpZGdlIENURm9udFJlZil2YWx1ZSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgUmV0YWluUHRyPE5T
RGljdGlvbmFyeT4gZmlsdGVyVW5zZXJpYWxpemFibGVWYWx1ZXMoTlNEaWN0aW9uYXJ5ICpkaWN0
aW9uYXJ5KQotewotICAgIF9fYmxvY2sgYm9vbCBtb2RpZmljYXRpb25OZWNlc3NhcnkgPSBmYWxz
ZTsKLSAgICBbZGljdGlvbmFyeSBlbnVtZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxvY2s6Xihp
ZCBrZXksIGlkIG9iamVjdCwgQk9PTCAqc3RvcCkgewotICAgICAgICBpZiAoIWlzU2VyaWFsaXph
YmxlVmFsdWUob2JqZWN0KSkgewotICAgICAgICAgICAgbW9kaWZpY2F0aW9uTmVjZXNzYXJ5ID0g
dHJ1ZTsKLSAgICAgICAgICAgICpzdG9wID0gWUVTOwotICAgICAgICB9Ci0gICAgfV07Ci0gICAg
aWYgKCFtb2RpZmljYXRpb25OZWNlc3NhcnkpCi0gICAgICAgIHJldHVybiBkaWN0aW9uYXJ5Owot
Ci0gICAgYXV0byByZXN1bHQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10g
aW5pdF0pOwotICAgIFtkaWN0aW9uYXJ5IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9j
azpeKGlkIGtleSwgaWQgb2JqZWN0LCBCT09MICpzdG9wKSB7Ci0gICAgICAgIGlmIChpc1Nlcmlh
bGl6YWJsZVZhbHVlKG9iamVjdCkpCi0gICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpvYmpl
Y3QgZm9yS2V5OmtleV07Ci0gICAgfV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcpCi17Ci0g
ICAgLy8gRXZlbiB0aG91Z2ggTlNBdHRyaWJ1dGVkU3RyaW5nIGlzIHRvbGwgZnJlZSBicmlkZ2Vk
IHdpdGggQ0ZBdHRyaWJ1dGVkU3RyaW5nUmVmLCBhdHRyaWJ1dGVzJyB2YWx1ZXMgbWF5IGJlIG5v
dCwgc28gd2Ugc2hvdWxkIHN0YXkgd2l0aGluIHRoaXMgZmlsZSdzIGNvZGUuCi0KLSAgICBOU1N0
cmluZyAqcGxhaW5TdHJpbmcgPSBbc3RyaW5nIHN0cmluZ107Ci0gICAgTlNVSW50ZWdlciBsZW5n
dGggPSBbcGxhaW5TdHJpbmcgbGVuZ3RoXTsKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBwbGFp
blN0cmluZyk7Ci0KLSAgICBWZWN0b3I8c3RkOjpwYWlyPE5TUmFuZ2UsIFJldGFpblB0cjxOU0Rp
Y3Rpb25hcnk+Pj4gcmFuZ2VzOwotCi0gICAgTlNVSW50ZWdlciBwb3NpdGlvbiA9IDA7Ci0gICAg
d2hpbGUgKHBvc2l0aW9uIDwgbGVuZ3RoKSB7Ci0gICAgICAgIC8vIENvbGxlY3QgcmFuZ2VzIGlu
IGEgdmVjdG9yLCBiZWNhc3VlIHRoZSB0b3RhbCBjb3VudCBzaG91bGQgYmUgZW5jb2RlZCBmaXJz
dC4KLSAgICAgICAgTlNSYW5nZSBlZmZlY3RpdmVSYW5nZTsKLSAgICAgICAgUmV0YWluUHRyPE5T
RGljdGlvbmFyeT4gYXR0cmlidXRlc0F0SW5kZXggPSBbc3RyaW5nIGF0dHJpYnV0ZXNBdEluZGV4
OnBvc2l0aW9uIGVmZmVjdGl2ZVJhbmdlOiZlZmZlY3RpdmVSYW5nZV07Ci0gICAgICAgIEFTU0VS
VChlZmZlY3RpdmVSYW5nZS5sb2NhdGlvbiA9PSBwb3NpdGlvbik7Ci0gICAgICAgIEFTU0VSVChl
ZmZlY3RpdmVSYW5nZS5sZW5ndGgpOwotICAgICAgICBBU1NFUlQoTlNNYXhSYW5nZShlZmZlY3Rp
dmVSYW5nZSkgPD0gbGVuZ3RoKTsKLQotICAgICAgICByYW5nZXMuYXBwZW5kKHN0ZDo6bWFrZV9w
YWlyKGVmZmVjdGl2ZVJhbmdlLCBmaWx0ZXJVbnNlcmlhbGl6YWJsZVZhbHVlcyhhdHRyaWJ1dGVz
QXRJbmRleC5nZXQoKSkpKTsKLQotICAgICAgICBwb3NpdGlvbiA9IE5TTWF4UmFuZ2UoZWZmZWN0
aXZlUmFuZ2UpOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KHJhbmdlcy5zaXplKCkpOwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByYW5nZXMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFu
Z2VzW2ldLmZpcnN0LmxvY2F0aW9uKTsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1
aW50NjRfdD4ocmFuZ2VzW2ldLmZpcnN0Lmxlbmd0aCk7Ci0gICAgICAgIElQQzo6ZW5jb2RlKGVu
Y29kZXIsIHJhbmdlc1tpXS5zZWNvbmQuZ2V0KCkpOwotICAgIH0KLX0KLQotYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4mIHJlc3VsdCkK
LXsKLSAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IHBsYWluU3RyaW5nOwotICAgIGlmICghSVBDOjpk
ZWNvZGUoZGVjb2RlciwgcGxhaW5TdHJpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBOU1VJbnRlZ2VyIHN0cmluZ0xlbmd0aCA9IFtwbGFpblN0cmluZyBsZW5ndGhdOwotCi0gICAg
UmV0YWluUHRyPE5TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmc+IHJlc3VsdFN0cmluZyA9IGFkb3B0
TlMoW1tOU011dGFibGVBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzpwbGFp
blN0cmluZy5nZXQoKV0pOwotCi0gICAgdWludDY0X3QgcmFuZ2VDb3VudDsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJhbmdlQ291bnQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB3
aGlsZSAocmFuZ2VDb3VudC0tKSB7Ci0gICAgICAgIHVpbnQ2NF90IHJhbmdlTG9jYXRpb247Ci0g
ICAgICAgIHVpbnQ2NF90IHJhbmdlTGVuZ3RoOwotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBhdHRyaWJ1dGVzOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhbmdlTG9jYXRp
b24pKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJhbmdlTGVuZ3RoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBB
U1NFUlQocmFuZ2VMb2NhdGlvbiArIHJhbmdlTGVuZ3RoID4gcmFuZ2VMb2NhdGlvbik7Ci0gICAg
ICAgIEFTU0VSVChyYW5nZUxvY2F0aW9uICsgcmFuZ2VMZW5ndGggPD0gc3RyaW5nTGVuZ3RoKTsK
LSAgICAgICAgaWYgKHJhbmdlTG9jYXRpb24gKyByYW5nZUxlbmd0aCA8PSByYW5nZUxvY2F0aW9u
IHx8IHJhbmdlTG9jYXRpb24gKyByYW5nZUxlbmd0aCA+IHN0cmluZ0xlbmd0aCkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0
dHJpYnV0ZXMpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBbcmVzdWx0U3Ry
aW5nIGFkZEF0dHJpYnV0ZXM6YXR0cmlidXRlcy5nZXQoKSByYW5nZTpOU01ha2VSYW5nZShyYW5n
ZUxvY2F0aW9uLCByYW5nZUxlbmd0aCldOwotICAgIH0KLQotICAgIHJlc3VsdCA9IGFkb3B0TlMo
cmVzdWx0U3RyaW5nLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZiBVU0Uo
QVBQS0lUKQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNDb2xvciAqY29sb3IpCi17
Ci0gICAgZW5jb2RlciA8PCBjb2xvckZyb21OU0NvbG9yKGNvbG9yKTsKLX0KLQotYm9vbCBkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQ29sb3I+JiByZXN1bHQpCi17Ci0gICAg
Q29sb3IgY29sb3I7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShjb2xvcikpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IG5zQ29sb3IoY29sb3IpOwotICAgIHJldHVybiB0
cnVlOwotfQotI2VuZGlmCi0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRGljdGlv
bmFyeSAqZGljdGlvbmFyeSkKLXsKLSAgICAvLyBFdmVuIHRob3VnaCBOU0RpY3Rpb25hcnkgaXMg
dG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkRpY3Rpb25hcnlSZWYsIHZhbHVlcyBtYXkgYmUgbm90
LCBzbyB3ZSBzaG91bGQgc3RheSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KLQotICAgIE5TVUlu
dGVnZXIgc2l6ZSA9IFtkaWN0aW9uYXJ5IGNvdW50XTsKLSAgICBOU0FycmF5ICprZXlzID0gW2Rp
Y3Rpb25hcnkgYWxsS2V5c107Ci0gICAgTlNBcnJheSAqdmFsdWVzID0gW2RpY3Rpb25hcnkgYWxs
VmFsdWVzXTsKLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHNpemUpOwot
Ci0gICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIGlk
IGtleSA9IFtrZXlzIG9iamVjdEF0SW5kZXg6aV07Ci0gICAgICAgIGlkIHZhbHVlID0gW3ZhbHVl
cyBvYmplY3RBdEluZGV4OmldOwotICAgICAgICBBU1NFUlQoa2V5KTsKLSAgICAgICAgQVNTRVJU
KHZhbHVlKTsKLSAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUpKTsKLQot
ICAgICAgICAvLyBJZ25vcmUgdmFsdWVzIHdlIGRvbid0IHJlY29nbml6ZS4KLSAgICAgICAgaWYg
KHR5cGVGcm9tT2JqZWN0KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCi0gICAgICAgICAgICBj
b250aW51ZTsKLQotICAgICAgICBlbmNvZGUoZW5jb2Rlciwga2V5KTsKLSAgICAgICAgZW5jb2Rl
KGVuY29kZXIsIHZhbHVlKTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+JiByZXN1bHQpCi17Ci0gICAgdWludDY0X3Qgc2l6
ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IGFkb3B0
TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsK
LSAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIC8vIFRy
eSB0byBkZWNvZGUgdGhlIGtleSBuYW1lLgotICAgICAgICBSZXRhaW5QdHI8aWQ+IGtleTsKLSAg
ICAgICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwga2V5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgICAgICBSZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCB2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgW2Rp
Y3Rpb25hcnkgc2V0T2JqZWN0OnZhbHVlLmdldCgpIGZvcktleTprZXkuZ2V0KCldOwotICAgIH0K
LQotICAgIHJlc3VsdCA9IGFkb3B0TlMoZGljdGlvbmFyeS5sZWFrUmVmKCkpOwotICAgIHJldHVy
biB0cnVlOwotfQotCi0jaWYgVVNFKEFQUEtJVCkKLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIsIE5TRm9udCAqZm9udCkKLXsKLSAgICAvLyBOU0ZvbnQgY291bGQgdXNlIENURm9udFJlZiBj
b2RlIGlmIHdlIGhhZCBpdCBpbiBBcmd1bWVudENvZGVyc0NGLgotICAgIGVuY29kZShlbmNvZGVy
LCBmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzKTsKLX0KLQotYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TRm9udD4mIHJlc3VsdCkKLXsKLSAgICBSZXRh
aW5QdHI8TlNEaWN0aW9uYXJ5PiBmb250QXR0cmlidXRlczsKLSAgICBpZiAoIWRlY29kZShkZWNv
ZGVyLCBmb250QXR0cmlidXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE5TRm9u
dERlc2NyaXB0b3IgKmZvbnREZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2Ny
aXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6Zm9udEF0dHJpYnV0ZXMuZ2V0KCldOwotICAgIHJlc3Vs
dCA9IFtOU0ZvbnQgZm9udFdpdGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6MF07Ci0K
LSAgICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmIC8vIFVTRShBUFBLSVQpCi0KLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBVSUZvbnQg
KmZvbnQpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0
dHJpYnV0ZXMpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8
VUlGb250PiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGZvbnRBdHRy
aWJ1dGVzOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVzKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgVUlGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3Ig
PSBbVUlGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250
QXR0cmlidXRlcy5nZXQoKV07Ci0gICAgcmVzdWx0ID0gW1VJRm9udCBmb250V2l0aERlc2NyaXB0
b3I6Zm9udERlc2NyaXB0b3Igc2l6ZTowXTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLSNl
bmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBOU051bWJlciAqbnVtYmVyKQotewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2Ug
Q0ZOdW1iZXJSZWYpbnVtYmVyKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rlciwg
UmV0YWluUHRyPE5TTnVtYmVyPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxDRk51bWJlclJl
Zj4gbnVtYmVyOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIG51bWJlcikpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMoKE5TTnVtYmVyICopbnVtYmVyLmxl
YWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIE5TU3RyaW5nICpzdHJpbmcpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRn
ZSBDRlN0cmluZ1JlZilzdHJpbmcpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXRhaW5QdHI8TlNTdHJpbmc+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGU3RyaW5n
UmVmPiBzdHJpbmc7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2Rlciwgc3RyaW5nKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNTdHJpbmcgKilzdHJpbmcu
bGVha1JlZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlciwgTlNBcnJheSAqYXJyYXkpCi17Ci0gICAgTlNVSW50ZWdlciBzaXplID0gW2FycmF5
IGNvdW50XTsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaXplKTsKLQot
ICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBpZCB2
YWx1ZSA9IFthcnJheSBvYmplY3RBdEluZGV4OmldOwotCi0gICAgICAgIC8vIElnbm9yZSB2YWx1
ZXMgd2UgZG9uJ3QgcmVjb2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3QodmFsdWUp
ID09IE5TVHlwZTo6VW5rbm93bikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIEFT
U0VSVChpc1NlcmlhbGl6YWJsZVZhbHVlKHZhbHVlKSk7Ci0KLSAgICAgICAgZW5jb2RlKGVuY29k
ZXIsIHZhbHVlKTsKLSAgICB9Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJl
dGFpblB0cjxOU0FycmF5PiYgcmVzdWx0KQotewotICAgIHVpbnQ2NF90IHNpemU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShzaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PiBhcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBh
bGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzaXplXSk7Ci0gICAgZm9yICh1aW50NjRfdCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8aWQ+IHZhbHVlOwotICAgICAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCB2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICAgICAgW2FycmF5IGFkZE9iamVjdDp2YWx1ZS5nZXQoKV07Ci0gICAgfQotCi0gICAgcmVz
dWx0ID0gYWRvcHROUyhhcnJheS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12
b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0RhdGUgKmRhdGUpCi17Ci0gICAgZW5jb2Rl
KGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGVSZWYpZGF0ZSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU0RhdGU+JiByZXN1bHQpCi17Ci0gICAgUmV0YWlu
UHRyPENGRGF0ZVJlZj4gZGF0ZTsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRlKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRlICopZGF0
ZS5sZWFrUmVmKCkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBOU0RhdGEgKmRhdGEpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRn
ZSBDRkRhdGFSZWYpZGF0YSk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJl
dGFpblB0cjxOU0RhdGE+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0
YTsKLSAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNEYXRhICopZGF0YS5sZWFrUmVmKCkpOwotICAg
IHJldHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU1VSTCAq
VVJMKQotewotICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMKTsKLX0K
LQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TVVJMPiYgcmVzdWx0
KQotewotICAgIFJldGFpblB0cjxDRlVSTFJlZj4gVVJMOwotICAgIGlmICghZGVjb2RlKGRlY29k
ZXIsIFVSTCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGFkb3B0TlMo
KE5TVVJMICopVVJMLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIElQQwotCi1uYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8SVBDOjpOU1R5cGU+IHsKLSAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAg
ICBJUEM6Ok5TVHlwZSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmcsCi0g
ICAgI2lmIFVTRShBUFBLSVQpCi0gICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKLSAgICAjZW5k
aWYKLSAgICAgICAgSVBDOjpOU1R5cGU6OkRpY3Rpb25hcnksCi0gICAgICAgIElQQzo6TlNUeXBl
OjpBcnJheSwKLSAgICAjaWYgVVNFKEFQUEtJVCkKLSAgICAgICAgSVBDOjpOU1R5cGU6OkZvbnQs
Ci0gICAgI2VuZGlmCi0gICAgICAgIElQQzo6TlNUeXBlOjpOdW1iZXIsCi0gICAgICAgIElQQzo6
TlNUeXBlOjpTdHJpbmcsCi0gICAgICAgIElQQzo6TlNUeXBlOjpEYXRlLAotICAgICAgICBJUEM6
Ok5TVHlwZTo6RGF0YSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlVSTCwKLSAgICAgICAgSVBDOjpO
U1R5cGU6OlVua25vd24KLSAgICA+OwotfTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L0F0dHJpYnV0ZWRTdHJpbmcubW0KaW5kZXggMjc1YTRmMTAwOWQwNDM5YzFjYWI3MGNmNjNiMzY2
ZmJiYmIzOGQ2YS4uYWUwODU4NDU0N2I2MWI1MzQyY2RhN2NjZWNkNDE2MTRkNDg3ZTdlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTI3LDMy
ICsyNywyMSBAQAogI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogCiAjaW1wb3J0ICJBcmd1
bWVudENvZGVyc0NvY29hLmgiCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgotI2ltcG9y
dCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0ICJEZWNvZGVyLmgiCisjaW1wb3J0
ICJFbmNvZGVyLmgiCiAKIG5hbWVzcGFjZSBJUEMgewogCiB2b2lkIEFyZ3VtZW50Q29kZXI8V2Vi
S2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdl
YktpdDo6QXR0cmlidXRlZFN0cmluZyYgYXR0cmlidXRlZFN0cmluZykKIHsKLSAgICBlbmNvZGVy
IDw8IHN0YXRpY19jYXN0PGJvb2w+KCFhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZyk7Ci0gICAgaWYg
KCFhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZykKLSAgICAgICAgcmV0dXJuOwotICAgIElQQzo6ZW5j
b2RlKGVuY29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpKTsKKyAgICBlbmNvZGVy
IDw8IGF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nOwogfQogCiBPcHRpb25hbDxXZWJLaXQ6OkF0dHJp
YnV0ZWRTdHJpbmc+IEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgYm9vbCBpc051bGw7Ci0gICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShpc051bGwpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlm
IChpc051bGwpCi0gICAgICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyB9Owot
CiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFN0cmluZzsKLSAg
ICBJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVkU3RyaW5nKTsKLSAgICBpZiAoIWF0dHJp
YnV0ZWRTdHJpbmcpCisgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVkU3Ry
aW5nKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgIHJldHVybiBXZWJLaXQ6
OkF0dHJpYnV0ZWRTdHJpbmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgpIH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpDT2JqZWN0R3JhcGgubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCmluZGV4IGJjMDRmMjJhNGM5
ZWIxZTlkMWIwYzBjZjAxMWFlNTBjMGUyNDdjODUuLmM2NTQ4NGY1NTEyMjBkZGJjOGI4NGI3OTZh
Y2IwNTk4ODcyNmI4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9PYmpD
T2JqZWN0R3JhcGgubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RH
cmFwaC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJP
YmpDT2JqZWN0R3JhcGguaCIKIAotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMuaCIKKyNpbXBv
cnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKICNpbXBvcnQgIkRlY29kZXIuaCIKICNpbXBvcnQg
IkVuY29kZXIuaCIKICNpbXBvcnQgIlVzZXJEYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCAxM2Jj
MjkyNTNlZGJhMTU3NThjODU2MGE5MWNiNjQ1ZGQ4YWFjZDk0Li4xYjdlZjg4YWMzZDI3OWZkOTUz
ZTc4MzE1YzhiOWFhMTQ1MTQ4MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTMwLDYgKzMwLDggQEAK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUv
Q2VydGlmaWNhdGVJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9EaWN0aW9uYXJ5UG9wdXBJbmZv
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Gb250QXR0cmlidXRlcy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC0yMjcsNSArMjI5LDI3
IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxDcmVkZW50aWFsPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERl
Y29kZXImLCBDcmVkZW50aWFsJikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgQXJndW1l
bnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29u
c3QgRm9udEF0dHJpYnV0ZXMmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitP
cHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRl
Y29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgRm9udEF0dHJpYnV0ZXMmKQoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgQXJn
dW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29k
ZXImLCBjb25zdCBEaWN0aW9uYXJ5UG9wdXBJbmZvJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNv
ZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIERpY3Rpb25hcnlQb3B1cEluZm8mKQoreworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggNDZjMzU3MDI3MWFkNDBhYjZhMzYzOGNiN2NmOGU1MDU5N2RlYjBk
Zi4uYjU2MGI0YTc2NTkzMmZjOGI2MTg1OGRkOTVjMTBiOGJlMTE3NGJlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtMTc0LDcgKzE3NCw2IEBAIFNoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0
b3J5Lm1tCiBTaGFyZWQvaW9zL1dlYlBsYXRmb3JtVG91Y2hQb2ludElPUy5jcHAKIFNoYXJlZC9p
b3MvV2ViVG91Y2hFdmVudElPUy5jcHAKIAotU2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5t
bQogU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCiBTaGFyZWQvbWFjL0F1eGlsaWFyeVBy
b2Nlc3NNYWMubW0KIFNoYXJlZC9tYWMvQ29kZVNpZ25pbmcubW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI3N2VjZjE2ZDkwY2NkNjVk
YTE2NDViOGIxMTc5OTBiNTlmNTRiOTIuLjM3YjNhZGI3NTUxNDgwMjJiNTg3MDdmYmE4ODc5MWUy
YjA3NDg2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTU5Nyw3ICsxNTk3LDYgQEAKIAkJRTE2NEEyRjIxOTFBRjE0RTAwMTA3MzdE
IC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTY0QTJGMDE5MUFGMTRFMDAx
MDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCAqLzsg
fTsKIAkJRTE3MDg3NkMxNkQ2Q0E2OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTcwODc2QTE2RDZD
QTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCAqLzsgfTsKIAkJRTE3OTA4OEYxNjlC
QUE2QTAwNjkwNEM3IC8qIFNlY0l0ZW1TaGltLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjk0ODE2OUI3N0M4MDA5QjY2NzAgLyogU2VjSXRlbVNo
aW0uaCAqLzsgfTsKLQkJRTE3OUZEOUMxMzREMzgwNjAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJz
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc5
RkQ5QjEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCAqLzsgfTsKIAkJRTE3
QUUyQzMxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Mu
c2IgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxN0FF
MkMyMTZCOUM2M0EwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNi
ICovOyB9OwogCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTY5MEEx
NjlCNTYzRjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHkuaCAqLzsgfTsKIAkJRTE4RTY5MTcx
NjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTY5MTMxNjlC
NjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwpAQCAtNDQ2OCw4ICs0NDY3LDYgQEAKIAkJRTE3MDg3NjkxNkQ2Q0E2OTAwRjk5MjI2IC8qIEJs
b2JSZWdpc3RyeVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEJsb2JSZWdpc3RyeVByb3h5LmNwcDsgcGF0aCA9IFdlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVn
aXN0cnlQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNzA4NzZBMTZE
NkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBCbG9iUmVnaXN0cnlQcm94eS5oOyBwYXRoID0gV2ViUHJvY2Vzcy9GaWxl
QVBJL0Jsb2JSZWdpc3RyeVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
Nzk4Qzc3MTZFNjgxODgwMDI0MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMTc5RkQ5QjEzNEQzODA2MDAxNUI4ODMgLyog
QXJndW1lbnRDb2RlcnNNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJn
dW1lbnRDb2RlcnNNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE3OUZEOUUx
MzREMzgyNTAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXJndW1lbnRDb2RlcnNNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUxN0FFMkMxMTZCOUMxMzkwMDFDNDJGMSAvKiBjb20uYXBwbGUu
V2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxN0FFMkMyMTZC
OUM2M0EwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2I7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nl
c3Muc2I7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUUxOEM5MkYzMTJE
QjlFNzEwMENGMkFFQiAvKiBQcmludEluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUHJpbnRJbmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTc4NTUsOCArNzg1Miw2IEBACiAJCUJDMTExQjVBMTEyRjYyODIwMDMzN0JBQiAvKiBtYWMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUUxNzlGRDlCMTM0
RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5oICovLAotCQkJCUUxNzlGRDlFMTM0
RDM4MjUwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5tbSAqLywKIAkJCQlFMUEzMTczMTEz
NENFQTZDMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5oICovLAogCQkJCUUxQTMxNzM0MTM0
Q0VBODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tICovLAogCQkJCTlGNTRGODhFMTY0
ODhFODcwMDdERjgxQSAvKiBBdXhpbGlhcnlQcm9jZXNzTWFjLm1tICovLApAQCAtOTA1NSw3ICs5
MDUwLDYgQEAKIAkJCQkxQUVGRDJGNzExRDE4MDdCMDA4MjE5RDMgLyogQXJndW1lbnRDb2RlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQUYwQzRBMTJCMTYzMzQwMDhFNDlFMiAvKiBBcmd1bWVu
dENvZGVyc0NGLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTc1QzQ0QTIxQUEzMTcxMDAwMDM3RDAg
LyogQXJndW1lbnRDb2RlcnNDb2NvYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTE3OUZEOUMxMzRE
MzgwNjAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RTFBMEJEMjFBNDhFNkM2MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDRUU5NjZEMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50
LmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364568</attachid>
            <date>2019-03-13 13:27:04 -0700</date>
            <delta_ts>2019-03-13 14:18:40 -0700</delta_ts>
            <desc>Patch 2 / 4</desc>
            <filename>bug-195636-20190313132703.patch</filename>
            <type>text/plain</type>
            <size>58481</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmY2M3MTAyMzkwNmYx
NDQ3MDA1OTJiMGNmNjE3OTJmNWVhZGE0Ny4uN2IyNzkxMDIzZTc1ZmRiNjhhNDAzNTVlYmU3ZjQ3
ZDQ3OWY1NTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xpZGF0ZSBB
cmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8v
cHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIGVkaXRpbmcvRGljdGlvbmFyeVBvcHVwSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6RGljdGlvbmFyeVBvcHVwSW5mbzo6ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25z
dCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzOjplbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhIGNv
bnN0KTogQWRkZWQuCisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGFuZCBib2R5IGJh
Y2tncm91bmQgY29sb3IgdGhyb3VnaCBIVE1MQ29udmVydGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YmVjY2Ux
MmNhMGZjMWFjNGJlZGY1NjFjNzMwYjY5OWMyY2M1NGUxLi43NzFjYjNmZGRhYmM2Y2ZhNWU5ZWRl
NmE5MGU5ZWVkODZmNzBmMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTEy
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBDb25zb2xp
ZGF0ZSBBcmd1bWVudENvZGVyc01hYyBhbmQgQXJndW1lbnRDb2RlcnNDb2NvYS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBNZXJnZSB0aGUgdHdvIHNpbWlsYXIgZW5jb2RlcnMgYW5kIGRlY29kZXJz
LiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2hlcmUKKyAgICAgICAgb25lIGVuY29kZXIgY291bGQgYmUg
dXNlZCBhbmQgdGhlIG90aGVyIGRlY29kZXIsIHdoaWNoIGNhdXNlZCBhIGNyYXNoLgorICAgICAg
ICBJdCBhbHNvIHN0b3BzIGhhbmRsaW5nIE5TQXR0cmlidXRlZFN0cmluZyBzcGVjaWZpY2FsbHkg
YW5kIGp1c3QgdXNlcworICAgICAgICB0aGUgTlNTZWN1cmVDb2RpbmcgcGF0aCB0byBoYW5kbGUg
bW9yZSBjb21wbGV4IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgU29tZSBXZWJDb3JlIGVuY29kZXJz
IGNvZGUgbmVlZGVkIHRvIG1vdmUgdG8gcGxhdGZvcm0gZmlsZXMsIHNpbmNlCisgICAgICAgIEFy
Z3VtZW50Q29kZXJzQ29jb2EuaCByZXF1aXJlcyBhbiBPYmplY3RpdmVDKysgaW1wbGVtZW50YXRp
b24gdG8gd29yay4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29h
Lmg6CisgICAgICAgIChJUEM6OmVuY29kZSk6CisgICAgICAgIChJUEM6OmRlY29kZSk6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPFQ+Pjo6ZW5jb2RlKToKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8VD4+OjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjp0eXBlRnJv
bU9iamVjdCk6CisgICAgICAgIChJUEM6OmlzU2VyaWFsaXphYmxlRm9udCk6CisgICAgICAgIChJ
UEM6OmlzU2VyaWFsaXphYmxlVmFsdWUpOgorICAgICAgICAoSVBDOjplbmNvZGVPYmplY3QpOgor
ICAgICAgICAoSVBDOjpkZWNvZGVPYmplY3QpOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Mb2Fk
UGFyYW1ldGVyc0NvY29hLm1tOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1l
bnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpE
aWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmli
dXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPERpY3Rpb25hcnlQb3B1cEluZm8+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvQXJndW1lbnRDb2Rl
cnNNYWMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFj
Lm1tOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbToK
KyAgICAgICAgKFdlYktpdDo6QXR0cmlidXRlZFN0cmluZzo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKiBTaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE5LTAzLTEyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1vcmUgYXR0ZW1wdHMgYXQgYnVpbGQgZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9EaWN0aW9uYXJ5UG9wdXBJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8uaAppbmRleCBmMWM2NWE0OGQ2MGEwYThjNWVhZmUzZTYz
YzNlNzRjMDk5NDdhNmZhLi4xNTA2YjM2YmQ5MzdhMzI1ZGM0MThjZWJiMWVjYjE2NGZlNWFhMDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RpY3Rpb25hcnlQb3B1cEluZm8uaApAQCAt
NDAsNiArNDAsMTAgQEAgc3RydWN0IERpY3Rpb25hcnlQb3B1cEluZm8gewogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IG9wdGlvbnM7CiAgICAgUmV0YWlu
UHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFN0cmluZzsKKworICAgIGJvb2wgZW5j
b2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbHNl
CisgICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9Gb250QXR0cmlidXRlcy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRl
cy5oCmluZGV4IDgzZjI2NGUwOWIxZGEzYTZkMGRjMmRiMGFkNDNjNWMzNTcyMzk1ZDcuLjYyYWIx
NjVlOWZhNGVhY2M2OGVhZmQzZDEwNjFmZWVhZjU5MzE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKQEAgLTc5LDcgKzc5LDExIEBAIHN0cnVjdCBGb250QXR0cmli
dXRlcyB7CiAgICAgZW51bSBjbGFzcyBIb3Jpem9udGFsQWxpZ25tZW50IDogdWludDhfdCB7IExl
ZnQsIENlbnRlciwgUmlnaHQsIEp1c3RpZnksIE5hdHVyYWwgfTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKwogICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+
IGNyZWF0ZURpY3Rpb25hcnkoKSBjb25zdDsKKyNlbHNlCisgICAgYm9vbCBlbmNvZGluZ1JlcXVp
cmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJn
dW1lbnRDb2RlcnNDb2NvYS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRD
b2RlcnNDb2NvYS5oCmluZGV4IDk3NmQzODEyMjg1ZGVlZmJlMzAyMjFlYmViMzQ1ZWZkZTExY2My
ZjAuLjMxZDA1YmFlODg0ZDBhNjM4NWIxOTJhNWJkMmE0MzY5M2ZlNTM5ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCwgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDE3ICsz
MSwxNCBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYs
IGlkIDxOU1NlY3VyZUNvZGluZz4pOwotT3B0aW9uYWw8UmV0YWluUHRyPGlkIDxOU1NlY3VyZUNv
ZGluZz4+PiBkZWNvZGVPYmplY3QoRGVjb2RlciYsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xh
c3Nlcyk7Cit2b2lkIGVuY29kZU9iamVjdChFbmNvZGVyJiwgaWQpOworT3B0aW9uYWw8UmV0YWlu
UHRyPGlkPj4gZGVjb2RlT2JqZWN0KERlY29kZXImLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENs
YXNzZXMpOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBPcHRpb25hbDxSZXRhaW5QdHI8VD4+IGRl
Y29kZShEZWNvZGVyJiwgQ2xhc3MgYWxsb3dlZENsYXNzKTsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IE9wdGlvbmFsPFJldGFpblB0cjxUPj4gZGVjb2RlKERlY29kZXImLCBOU0FycmF5PENsYXNzPiAq
YWxsb3dlZENsYXNzZXMgPSBAWyBbVCBjbGFzc10gXSk7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB1
c2luZyBJc09iakNPYmplY3QgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfY29udmVydGlibGU8
VCAqLCBpZD46OnZhbHVlLCBUICo+OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgotT3B0aW9uYWw8
UmV0YWluUHRyPFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQ2xhc3MgYWxsb3dlZENsYXNz
KQotewotICAgIHJldHVybiBkZWNvZGU8VD4oZGVjb2RlciwgQFsgYWxsb3dlZENsYXNzIF0pOwot
fQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VD4+IHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBUICopOwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBJ
c09iakNPYmplY3Q8VD4+IGJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8VD4mLCBOU0Fy
cmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMgPSBAWyBbVCBjbGFzc10gXSk7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxUPj4gT3B0aW9uYWw8UmV0YWluUHRy
PFQ+PiBkZWNvZGUoRGVjb2RlciYsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcyA9IEBb
IFtUIGNsYXNzXSBdKTsKIAogI2lmbmRlZiBOREVCVUcKIApAQCAtNTYsMjUgKzUzLDM1IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc09iamVjdENsYXNzQWxsb3dlZChpZCBvYmplY3QsIE5TQXJyYXk8
Q2xhc3M+ICphbGxvd2VkQ2xhc3NlCiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgor
dGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWU+Cit2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBUICpvYmplY3QpCit7CisgICAgZW5jb2RlT2JqZWN0KGVuY29kZXIsIG9iamVjdCk7Cit9
CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgorYm9vbCBkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgUmV0YWluUHRyPFQ+JiByZXN1bHQsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xh
c3NlcykKK3sKKyAgICBhdXRvIG9iamVjdCA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBhbGxvd2Vk
Q2xhc3Nlcyk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXN1bHQgPSAqb2JqZWN0OworICAgIEFTU0VSVCghKm9iamVjdCB8fCBpc09iamVjdENsYXNzQWxs
b3dlZCgoKm9iamVjdCkuZ2V0KCksIGFsbG93ZWRDbGFzc2VzKSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lPgogT3B0aW9uYWw8UmV0YWluUHRy
PFQ+PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTlNBcnJheTxDbGFzcz4gKmFsbG93ZWRDbGFz
c2VzKQogewogICAgIGF1dG8gcmVzdWx0ID0gZGVjb2RlT2JqZWN0KGRlY29kZXIsIGFsbG93ZWRD
bGFzc2VzKTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
LQotICAgIGlmICghKnJlc3VsdCkKLSAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciB9OwotCi0gICAg
aWQgb2JqZWN0ID0gcmVzdWx0LT5sZWFrUmVmKCk7Ci0gICAgQVNTRVJUKGlzT2JqZWN0Q2xhc3NB
bGxvd2VkKG9iamVjdCwgYWxsb3dlZENsYXNzZXMpKTsKLSAgICByZXR1cm4geyBhZG9wdE5TKHN0
YXRpY19jYXN0PFQgKj4ob2JqZWN0KSkgfTsKKyAgICBBU1NFUlQoISpyZXN1bHQgfHwgaXNPYmpl
Y3RDbGFzc0FsbG93ZWQoKCpyZXN1bHQpLmdldCgpLCBhbGxvd2VkQ2xhc3NlcykpOworICAgIHJl
dHVybiB7ICpyZXN1bHQgfTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gdXNpbmcgQ29uZm9y
bXNUb1NlY3VyZUNvZGluZyA9IHN0ZDo6aXNfY29udmVydGlibGU8VCAqLCBpZCA8TlNTZWN1cmVD
b2Rpbmc+PjsKLQogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VCAq
PiB7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9y
bXNUb1NlY3VyZUNvZGluZzxVPjo6dmFsdWU+KiA9IG51bGxwdHI+CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVSA9IFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFU+PgogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBVICpvYmplY3QpCiAgICAgewogICAgICAgICBlbmNv
ZGVPYmplY3QoZW5jb2Rlciwgb2JqZWN0KTsKQEAgLTgyLDEzICs4OSwxMyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxUICo+IHsKIH07CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJldGFpblB0cjxUPj4gewotICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBVID0gVCwgc3RkOjplbmFibGVfaWZfdDxDb25mb3Jtc1RvU2VjdXJlQ29k
aW5nPFU+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVCwg
dHlwZW5hbWUgPSBJc09iakNPYmplY3Q8VT4+CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFJldGFpblB0cjxVPiYgb2JqZWN0KQogICAgIHsKICAgICAgICAg
QXJndW1lbnRDb2RlcjxVICo+OjplbmNvZGUoZW5jb2Rlciwgb2JqZWN0LmdldCgpKTsKICAgICB9
CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSA9IFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8Q29uZm9y
bXNUb1NlY3VyZUNvZGluZzxVPjo6dmFsdWU+KiA9IG51bGxwdHI+CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVSA9IFQsIHR5cGVuYW1lID0gSXNPYmpDT2JqZWN0PFU+PgogICAgIHN0YXRpYyBPcHRp
b25hbDxSZXRhaW5QdHI8VT4+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIElQQzo6ZGVjb2RlPFU+KGRlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggY2M0YmNkMzNmMmRhZmYw
NGY2NjJjMDhiYTBlOTFhNDdkZGQ2MmZhNy4uNmMwNzg4ZTNjZjM1OTk4MjM2NTM1MjUxMzgzMzg5
OTFjYmFjNTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1l
bnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVu
dENvZGVyc0NvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgs
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yOSwyMSArMjksMjk0IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpCiAK
ICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKKyNpbXBvcnQgPENvcmVUZXh0L0NURm9udC5o
PgorI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvci5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEkuaD4KKyNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+CisK
KyNpZiBVU0UoQVBQS0lUKQorI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgorI2VuZGlmCisK
KyNpZiBVU0UoQVBQS0lUKQorI2RlZmluZSBQbGF0Zm9ybUZvbnQgTlNGb250CisjZGVmaW5lIFBs
YXRmb3JtRm9udERlc2NyaXB0b3IgTlNGb250RGVzY3JpcHRvcgorI2Vsc2UKKyNkZWZpbmUgUGxh
dGZvcm1Gb250IFVJRm9udAorI2RlZmluZSBQbGF0Zm9ybUZvbnREZXNjcmlwdG9yIFVJRm9udERl
c2NyaXB0b3IKKyNlbmRpZgogCiBuYW1lc3BhY2UgSVBDIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCisjcHJhZ21hIG1hcmsgLSBUeXBlcworCitlbnVtIGNsYXNzIE5TVHlwZSB7CisgICAg
QXJyYXksCisjaWYgVVNFKEFQUEtJVCkKKyAgICBDb2xvciwKKyNlbmRpZgorICAgIERhdGEsCisg
ICAgRGF0ZSwKKyAgICBEaWN0aW9uYXJ5LAorICAgIEZvbnQsCisgICAgTnVtYmVyLAorICAgIFNl
Y3VyZUNvZGluZywKKyAgICBTdHJpbmcsCisgICAgVVJMLAorICAgIFVua25vd24sCit9OworCisj
cHJhZ21hIG1hcmsgLSBIZWxwZXJzCisKK3N0YXRpYyBOU1R5cGUgdHlwZUZyb21PYmplY3QoaWQg
b2JqZWN0KQoreworICAgIEFTU0VSVChvYmplY3QpOworCisgICAgLy8gU3BlY2lmaWMgY2xhc3Nl
cyBoYW5kbGVkLgorICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3Nd
XSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6QXJyYXk7CisjaWYgVVNFKEFQUEtJVCkKKyAgICBp
ZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0NvbG9yIGNsYXNzXV0pCisgICAgICAgIHJldHVy
biBOU1R5cGU6OkNvbG9yOworI2VuZGlmCisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpb
TlNEYXRhIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGE7CisgICAgaWYgKFtv
YmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEYXRlIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5
cGU6OkRhdGU7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNs
YXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OkRpY3Rpb25hcnk7CisgICAgaWYgKFtvYmpl
Y3QgaXNLaW5kT2ZDbGFzczpbUGxhdGZvcm1Gb250IGNsYXNzXV0pCisgICAgICAgIHJldHVybiBO
U1R5cGU6OkZvbnQ7CisgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIgY2xh
c3NdXSkKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6TnVtYmVyOworICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBOU1R5cGU6OlN0
cmluZzsKKyAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1VSTCBjbGFzc11dKQorICAg
ICAgICByZXR1cm4gTlNUeXBlOjpVUkw7CisKKyAgICAvLyBDaGVjayBOU1NlY3VyZUNvZGluZyBh
ZnRlciB0aGUgc3BlY2lmaWMgY2FzZXMgc2luY2UKKyAgICAvLyBtb3N0IG9mIHRoZSBjbGFzc2Vz
IGFib3ZlIGNvbmZvcm0gdG8gTlNTZWN1cmVDb2RpbmcsCisgICAgLy8gYW5kIHdlIHdhbnQgb3Vy
IHNwZWNpYWwgY2FzZSBjb2RlcnMgZm9yIHRoZW0gaW5zdGVhZC4KKyAgICBpZiAoW29iamVjdCBj
b25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29sKE5TU2VjdXJlQ29kaW5nKV0pCisgICAgICAgIHJl
dHVybiBOU1R5cGU6OlNlY3VyZUNvZGluZzsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBOU1R5cGU6OlVua25vd247Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1Nl
cmlhbGl6YWJsZUZvbnQoQ1RGb250UmVmIGZvbnQpCit7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RG
b250Q29weUF0dHJpYnV0ZShmb250LCBrQ1RGb250VVJMQXR0cmlidXRlKSk7Cit9CisKK3N0YXRp
YyBpbmxpbmUgYm9vbCBpc1NlcmlhbGl6YWJsZVZhbHVlKGlkIHZhbHVlKQoreworICAgIGlmIChb
dmFsdWUgaXNLaW5kT2ZDbGFzczpbUGxhdGZvcm1Gb250IGNsYXNzXV0pCisgICAgICAgIHJldHVy
biBpc1NlcmlhbGl6YWJsZUZvbnQoKF9fYnJpZGdlIENURm9udFJlZil2YWx1ZSk7CisgICAgcmV0
dXJuIHR5cGVGcm9tT2JqZWN0KHZhbHVlKSAhPSBOU1R5cGU6OlVua25vd247Cit9CisKKyNwcmFn
bWEgbWFyayAtIE5TQXJyYXkKIAotdm9pZCBlbmNvZGVPYmplY3QoRW5jb2RlciYgZW5jb2Rlciwg
aWQgPE5TU2VjdXJlQ29kaW5nPiBvYmplY3QpCitzdGF0aWMgdm9pZCBlbmNvZGVBcnJheUludGVy
bmFsKEVuY29kZXImIGVuY29kZXIsIE5TQXJyYXkgKmFycmF5KQoreworICAgIC8vIEV2ZW4gdGhv
dWdoIE5TQXJyYXkgaXMgdG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkFycmF5UmVmLCB2YWx1ZXMg
bWF5IG5vdCBiZSwKKyAgICAvLyBzbyB3ZSBzaG91bGQgc3RheSB3aXRoaW4gdGhpcyBmaWxlJ3Mg
Y29kZS4KKworICAgIGlmICghYXJyYXkuY291bnQpIHsKKyAgICAgICAgZW5jb2RlciA8PCBzdGF0
aWNfY2FzdDx1aW50NjRfdD4oMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBIYXNo
U2V0PE5TVUludGVnZXI+IGludmFsaWRJbmRpY2llczsKKyAgICBmb3IgKE5TVUludGVnZXIgaSA9
IDA7IGkgPCBhcnJheS5jb3VudDsgKytpKSB7CisgICAgICAgIGlkIHZhbHVlID0gYXJyYXlbaV07
CisKKyAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBB
U1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOworICAgICAgICBpZiAoIWlzU2VyaWFs
aXphYmxlVmFsdWUodmFsdWUpKQorICAgICAgICAgICAgaW52YWxpZEluZGljaWVzLmFkZChpKTsK
KyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihhcnJheS5jb3Vu
dCAtIGludmFsaWRJbmRpY2llcy5zaXplKCkpOworCisgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAw
OyBpIDwgYXJyYXkuY291bnQ7ICsraSkgeworICAgICAgICBpZiAoaW52YWxpZEluZGljaWVzLmNv
bnRhaW5zKGkpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGVuY29kZU9iamVjdChl
bmNvZGVyLCBhcnJheVtpXSk7CisgICAgfQorfQorCitzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRy
PGlkPj4gZGVjb2RlQXJyYXlJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHVpbnQ2
NF90IHNpemU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gYXJyYXkgPSBh
ZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOwor
ICAgIGZvciAodWludDY0X3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgYXV0byB2
YWx1ZSA9IGRlY29kZU9iamVjdChkZWNvZGVyLCBuaWwpOworICAgICAgICBpZiAoIXZhbHVlKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgW2FycmF5IGFkZE9iamVj
dDp2YWx1ZS52YWx1ZSgpLmdldCgpXTsKKyAgICB9CisKKyAgICByZXR1cm4geyBhcnJheSB9Owor
fQorCisjcHJhZ21hIG1hcmsgLSBOU0NvbG9yCisKKyNpZiBVU0UoQVBQS0lUKQorc3RhdGljIGlu
bGluZSB2b2lkIGVuY29kZUNvbG9ySW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNDb2xvciAq
Y29sb3IpCit7CisgICAgZW5jb2RlciA8PCBjb2xvckZyb21OU0NvbG9yKGNvbG9yKTsKK30KKwor
c3RhdGljIGlubGluZSBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVDb2xvckludGVybmFs
KERlY29kZXImIGRlY29kZXIpCit7CisgICAgQ29sb3IgY29sb3I7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShjb2xvcikpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJu
IHsgbnNDb2xvcihjb2xvcikgfTsKK30KKyNlbmRpZgorCisjcHJhZ21hIG1hcmsgLSBOU0RhdGEK
Kworc3RhdGljIGlubGluZSB2b2lkIGVuY29kZURhdGFJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVy
LCBOU0RhdGEgKmRhdGEpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRkRhdGFS
ZWYpZGF0YSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVj
b2RlRGF0YUludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPENGRGF0
YVJlZj4gZGF0YTsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU0RhdGEgKilkYXRhLmxl
YWtSZWYoKSkgfTsKK30KKworI3ByYWdtYSBtYXJrIC0gTlNEYXRlCisKK3N0YXRpYyBpbmxpbmUg
dm9pZCBlbmNvZGVEYXRlSW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRlICpkYXRlKQor
eworICAgIGVuY29kZShlbmNvZGVyLCAoX19icmlkZ2UgQ0ZEYXRlUmVmKWRhdGUpOworfQorCitz
dGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZURhdGVJbnRlcm5hbChE
ZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxDRkRhdGVSZWY+IGRhdGU7CisgICAg
aWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisgICAgcmV0dXJuIHsgYWRvcHROUygoTlNEYXRlICopZGF0ZS5sZWFrUmVmKCkpIH07Cit9CisK
KyNwcmFnbWEgbWFyayAtIE5TRGljdGlvbmFyeQorCitzdGF0aWMgdm9pZCBlbmNvZGVEaWN0aW9u
YXJ5SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5KQor
eworICAgIC8vIEV2ZW4gdGhvdWdoIE5TRGljdGlvbmFyeSBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3
aXRoIENGRGljdGlvbmFyeVJlZiwga2V5cy92YWx1ZXMgbWF5IG5vdCBiZSwKKyAgICAvLyBzbyB3
ZSBzaG91bGQgc3RheSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KKworICAgIGlmICghZGljdGlv
bmFyeS5jb3VudCkgeworICAgICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90Pigw
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEhhc2hTZXQ8aWQ+IGludmFsaWRLZXlz
OworICAgIGZvciAoaWQga2V5IGluIGRpY3Rpb25hcnkpIHsKKyAgICAgICAgaWQgdmFsdWUgPSBk
aWN0aW9uYXJ5W2tleV07CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisKKyAgICAgICAgLy8gSWdu
b3JlIHZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBBU1NFUlQoaXNTZXJpYWxpemFi
bGVWYWx1ZShrZXkpKTsKKyAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxlVmFsdWUodmFsdWUp
KTsKKyAgICAgICAgaWYgKCFpc1NlcmlhbGl6YWJsZVZhbHVlKGtleSkgfHwgIWlzU2VyaWFsaXph
YmxlVmFsdWUodmFsdWUpKQorICAgICAgICAgICAgaW52YWxpZEtleXMuYWRkKGtleSk7CisgICAg
fQorCisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZGljdGlvbmFyeS5jb3Vu
dCAtIGludmFsaWRLZXlzLnNpemUoKSk7CisKKyAgICBmb3IgKGlkIGtleSBpbiBkaWN0aW9uYXJ5
KSB7CisgICAgICAgIGlmIChpbnZhbGlkS2V5cy5jb250YWlucyhrZXkpKQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIGVuY29kZU9iamVjdChlbmNvZGVyLCBrZXkpOworICAgICAgICBl
bmNvZGVPYmplY3QoZW5jb2RlciwgZGljdGlvbmFyeVtrZXldKTsKKyAgICB9Cit9CisKK3N0YXRp
YyBPcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVEaWN0aW9uYXJ5SW50ZXJuYWwoRGVjb2Rl
ciYgZGVjb2RlcikKK3sKKyAgICB1aW50NjRfdCBzaXplOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoc2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBSZXRhaW5QdHI8
TlNNdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0
aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnNpemVdKTsKKyAgICBmb3IgKHVpbnQ2NF90
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIGF1dG8ga2V5ID0gZGVjb2RlT2JqZWN0
KGRlY29kZXIsIG5pbCk7CisgICAgICAgIGlmICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgICAgICBhdXRvIHZhbHVlID0gZGVjb2RlT2JqZWN0KGRlY29kZXIs
IG5pbCk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgICAgIFtkaWN0aW9uYXJ5IHNldE9iamVjdDp2YWx1ZS52YWx1ZSgpLmdldCgp
IGZvcktleTprZXkudmFsdWUoKS5nZXQoKV07CisgICAgfQorCisgICAgcmV0dXJuIHsgZGljdGlv
bmFyeSB9OworfQorCisjcHJhZ21hIG1hcmsgLSBOU0ZvbnQgLyBVSUZvbnQKKworc3RhdGljIGlu
bGluZSB2b2lkIGVuY29kZUZvbnRJbnRlcm5hbChFbmNvZGVyJiBlbmNvZGVyLCBQbGF0Zm9ybUZv
bnQgKmZvbnQpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0b3IuZm9u
dEF0dHJpYnV0ZXMpOworfQorCitzdGF0aWMgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2Rl
Rm9udEludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRyPE5TRGljdGlv
bmFyeT4gZm9udEF0dHJpYnV0ZXM7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udEF0dHJp
YnV0ZXMpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgUGxhdGZvcm1Gb250
RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbUGxhdGZvcm1Gb250RGVzY3JpcHRvciBmb250
RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczpmb250QXR0cmlidXRlcy5nZXQoKV07CisgICAg
cmV0dXJuIHsgW1BsYXRmb3JtRm9udCBmb250V2l0aERlc2NyaXB0b3I6Zm9udERlc2NyaXB0b3Ig
c2l6ZTowXSB9OworfQorCisjcHJhZ21hIG1hcmsgLSBOU051bWJlcgorCitzdGF0aWMgaW5saW5l
IHZvaWQgZW5jb2RlTnVtYmVySW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51
bWJlcikKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGTnVtYmVyUmVmKW51bWJl
cik7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlTnVt
YmVySW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJS
ZWY+IG51bWJlcjsKKyAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBudW1iZXIpKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7IGFkb3B0TlMoKE5TTnVtYmVyICopbnVt
YmVyLmxlYWtSZWYoKSkgfTsKK30KKworI3ByYWdtYSBtYXJrIC0gaWQgPE5TU2VjdXJlQ29kaW5n
PgorCitzdGF0aWMgdm9pZCBlbmNvZGVTZWN1cmVDb2RpbmdJbnRlcm5hbChFbmNvZGVyJiBlbmNv
ZGVyLCBpZCA8TlNPYmplY3QsIE5TU2VjdXJlQ29kaW5nPiBvYmplY3QpCiB7CiAgICAgYXV0byBh
cmNoaXZlciA9IHNlY3VyZUFyY2hpdmVyKCk7CiAgICAgW2FyY2hpdmVyIGVuY29kZU9iamVjdDpv
YmplY3QgZm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CiAgICAgW2FyY2hpdmVy
IGZpbmlzaEVuY29kaW5nXTsKIAotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBD
RkRhdGFSZWYpW2FyY2hpdmVyIGVuY29kZWREYXRhXSk7CisgICAgZW5jb2RlKGVuY29kZXIsIChf
X2JyaWRnZSBDRkRhdGFSZWYpW2FyY2hpdmVyIGVuY29kZWREYXRhXSk7CiB9CiAKLU9wdGlvbmFs
PFJldGFpblB0cjxpZCA8TlNTZWN1cmVDb2Rpbmc+Pj4gZGVjb2RlT2JqZWN0KERlY29kZXImIGRl
Y29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xhc3NlcykKK3N0YXRpYyBPcHRpb25hbDxS
ZXRhaW5QdHI8aWQ+PiBkZWNvZGVTZWN1cmVDb2RpbmdJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVy
LCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsYXNzZXMpCiB7CisgICAgQVNTRVJUKGFsbG93ZWRD
bGFzc2VzICYmIGFsbG93ZWRDbGFzc2VzLmNvdW50KTsKKyAgICBpZiAoIWFsbG93ZWRDbGFzc2Vz
IHx8ICFhbGxvd2VkQ2xhc3Nlcy5jb3VudCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KwogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGE7CiAgICAgaWYgKCFkZWNvZGUoZGVjb2Rl
ciwgZGF0YSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CkBAIC02MSw2ICszMzQsMTU2
IEBAIE9wdGlvbmFsPFJldGFpblB0cjxpZCA8TlNTZWN1cmVDb2Rpbmc+Pj4gZGVjb2RlT2JqZWN0
KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8CiAgICAgfQogfQogCisjcHJhZ21hIG1hcmsgLSBO
U1N0cmluZworCitzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2RlU3RyaW5nSW50ZXJuYWwoRW5jb2Rl
ciYgZW5jb2RlciwgTlNTdHJpbmcgKnN0cmluZykKK3sKKyAgICBlbmNvZGUoZW5jb2RlciwgKF9f
YnJpZGdlIENGU3RyaW5nUmVmKXN0cmluZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8
UmV0YWluUHRyPGlkPj4gZGVjb2RlU3RyaW5nSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKK3sK
KyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZzsKKyAgICBpZiAoIWRlY29kZShkZWNv
ZGVyLCBzdHJpbmcpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiB7
IGFkb3B0TlMoKE5TU3RyaW5nICopc3RyaW5nLmxlYWtSZWYoKSkgfTsKK30KKworI3ByYWdtYSBt
YXJrIC0gTlNVUkwKKworc3RhdGljIGlubGluZSB2b2lkIGVuY29kZVVSTEludGVybmFsKEVuY29k
ZXImIGVuY29kZXIsIE5TVVJMICpVUkwpCit7CisgICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRn
ZSBDRlVSTFJlZilVUkwpOworfQorCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFJldGFpblB0cjxp
ZD4+IGRlY29kZVVSTEludGVybmFsKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmV0YWluUHRy
PENGVVJMUmVmPiBVUkw7CisgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgVVJMKSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4geyBhZG9wdE5TKChOU1VSTCAqKVVSTC5s
ZWFrUmVmKCkpIH07Cit9CisKKyNwcmFnbWEgbWFyayAtIEVudHJ5IFBvaW50IEVuY29kZXIgLyBE
ZWNvZGVyCisKK3ZvaWQgZW5jb2RlT2JqZWN0KEVuY29kZXImIGVuY29kZXIsIGlkIG9iamVjdCkK
K3sKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGJvb2w+KCFvYmplY3QpOworICAgIGlmICgh
b2JqZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBOU1R5cGUgdHlwZSA9IHR5cGVGcm9tT2Jq
ZWN0KG9iamVjdCk7CisgICAgZW5jb2RlciA8PCB0eXBlOworCisgICAgc3dpdGNoICh0eXBlKSB7
CisgICAgY2FzZSBOU1R5cGU6OkFycmF5OgorICAgICAgICBlbmNvZGVBcnJheUludGVybmFsKGVu
Y29kZXIsIHN0YXRpY19jYXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsK
KyNpZiBVU0UoQVBQS0lUKQorICAgIGNhc2UgTlNUeXBlOjpDb2xvcjoKKyAgICAgICAgZW5jb2Rl
Q29sb3JJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0NvbG9yICo+KG9iamVjdCkpOwor
ICAgICAgICByZXR1cm47CisjZW5kaWYKKyAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKKyAg
ICAgICAgZW5jb2RlRGljdGlvbmFyeUludGVybmFsKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGlj
dGlvbmFyeSAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpG
b250OgorICAgICAgICBlbmNvZGVGb250SW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8UGxh
dGZvcm1Gb250ICo+KG9iamVjdCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6
Ok51bWJlcjoKKyAgICAgICAgZW5jb2RlTnVtYmVySW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nh
c3Q8TlNOdW1iZXIgKj4ob2JqZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlw
ZTo6U2VjdXJlQ29kaW5nOgorICAgICAgICBlbmNvZGVTZWN1cmVDb2RpbmdJbnRlcm5hbChlbmNv
ZGVyLCBzdGF0aWNfY2FzdDxpZCA8TlNPYmplY3QsIE5TU2VjdXJlQ29kaW5nPj4ob2JqZWN0KSk7
CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6U3RyaW5nOgorICAgICAgICBlbmNv
ZGVTdHJpbmdJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1N0cmluZyAqPihvYmplY3Qp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTlNUeXBlOjpEYXRlOgorICAgICAgICBlbmNv
ZGVEYXRlSW50ZXJuYWwoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNEYXRlICo+KG9iamVjdCkpOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6CisgICAgICAgIGVuY29kZURh
dGFJbnRlcm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2JqZWN0KSk7CisgICAg
ICAgIHJldHVybjsKKyAgICBjYXNlIE5TVHlwZTo6VVJMOgorICAgICAgICBlbmNvZGVVUkxJbnRl
cm5hbChlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU1VSTCAqPihvYmplY3QpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgorICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworT3B0aW9uYWw8UmV0YWluUHRyPGlkPj4g
ZGVjb2RlT2JqZWN0KERlY29kZXImIGRlY29kZXIsIE5TQXJyYXk8Q2xhc3M+ICphbGxvd2VkQ2xh
c3NlcykKK3sKKyAgICBib29sIGlzTnVsbDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzTnVs
bCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKGlzTnVsbCkKKyAgICAg
ICAgcmV0dXJuIHsgbnVsbHB0ciB9OworCisgICAgTlNUeXBlIHR5cGU7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZUVudW0odHlwZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE5TVHlwZTo6QXJyYXk6CisgICAgICAgIHJldHVy
biBkZWNvZGVBcnJheUludGVybmFsKGRlY29kZXIpOworI2lmIFVTRShBUFBLSVQpCisgICAgY2Fz
ZSBOU1R5cGU6OkNvbG9yOgorICAgICAgICByZXR1cm4gZGVjb2RlQ29sb3JJbnRlcm5hbChkZWNv
ZGVyKTsKKyNlbmRpZgorICAgIGNhc2UgTlNUeXBlOjpEaWN0aW9uYXJ5OgorICAgICAgICByZXR1
cm4gZGVjb2RlRGljdGlvbmFyeUludGVybmFsKGRlY29kZXIpOworI2lmIFVTRShBUFBLSVQpCisg
ICAgY2FzZSBOU1R5cGU6OkZvbnQ6CisgICAgICAgIHJldHVybiBkZWNvZGVGb250SW50ZXJuYWwo
ZGVjb2Rlcik7CisjZWxzZQorICAgIGNhc2UgTlNUeXBlOjpGb250OgorICAgICAgICByZXR1cm4g
ZGVjb2RlRm9udEludGVybmFsKGRlY29kZXIpOworI2VuZGlmCisgICAgY2FzZSBOU1R5cGU6Ok51
bWJlcjoKKyAgICAgICAgcmV0dXJuIGRlY29kZU51bWJlckludGVybmFsKGRlY29kZXIpOworICAg
IGNhc2UgTlNUeXBlOjpTZWN1cmVDb2Rpbmc6CisgICAgICAgIHJldHVybiBkZWNvZGVTZWN1cmVD
b2RpbmdJbnRlcm5hbChkZWNvZGVyLCBhbGxvd2VkQ2xhc3Nlcyk7CisgICAgY2FzZSBOU1R5cGU6
OlN0cmluZzoKKyAgICAgICAgcmV0dXJuIGRlY29kZVN0cmluZ0ludGVybmFsKGRlY29kZXIpOwor
ICAgIGNhc2UgTlNUeXBlOjpEYXRlOgorICAgICAgICByZXR1cm4gZGVjb2RlRGF0ZUludGVybmFs
KGRlY29kZXIpOworICAgIGNhc2UgTlNUeXBlOjpEYXRhOgorICAgICAgICByZXR1cm4gZGVjb2Rl
RGF0YUludGVybmFsKGRlY29kZXIpOworICAgIGNhc2UgTlNUeXBlOjpVUkw6CisgICAgICAgIHJl
dHVybiBkZWNvZGVVUkxJbnRlcm5hbChkZWNvZGVyKTsKKyAgICBjYXNlIE5TVHlwZTo6VW5rbm93
bjoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgSVBDCiAKK25hbWVz
cGFjZSBXVEYgewordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxJUEM6Ok5TVHlwZT4gewor
ICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIElQQzo6TlNUeXBlLAorICAg
ICAgICBJUEM6Ok5TVHlwZTo6QXJyYXksCisjaWYgVVNFKEFQUEtJVCkKKyAgICAgICAgSVBDOjpO
U1R5cGU6OkNvbG9yLAorI2VuZGlmCisgICAgICAgIElQQzo6TlNUeXBlOjpEYXRhLAorICAgICAg
ICBJUEM6Ok5TVHlwZTo6RGF0ZSwKKyAgICAgICAgSVBDOjpOU1R5cGU6OkRpY3Rpb25hcnksCisg
ICAgICAgIElQQzo6TlNUeXBlOjpGb250LAorICAgICAgICBJUEM6Ok5TVHlwZTo6TnVtYmVyLAor
ICAgICAgICBJUEM6Ok5TVHlwZTo6U2VjdXJlQ29kaW5nLAorICAgICAgICBJUEM6Ok5TVHlwZTo6
U3RyaW5nLAorICAgICAgICBJUEM6Ok5TVHlwZTo6VVJMLAorICAgICAgICBJUEM6Ok5TVHlwZTo6
VW5rbm93bgorICAgID47Cit9OworfSAvLyBuYW1lc3BhY2UgV1RGCisKICNlbmRpZiAvLyBQTEFU
Rk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQ
YXJhbWV0ZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Mb2FkUGFyYW1l
dGVyc0NvY29hLm1tCmluZGV4IDgxNzBmMjIxZTcyNzZjMGIxNzhlMzRmMGMyY2RjZjg0OTE3Yjk1
ZTAuLjZhMTVjOWI4NWZmOTM0NmMzYWVjODFkZTQ3YWQ5MzMwOWQyNjZlMWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbQpAQCAtMjgs
NyArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKLSNpbmNsdWRlICJBcmd1bWVudENv
ZGVyc01hYy5oIgorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29h
Lm1tCmluZGV4IDk2MDkyOGZiYjIxMjhiZjk1MGFiOWRlMGYxNmNjODdlYTk1OWJjZWUuLjQwM2Qz
NGVmYjkxY2YwY2FiMmI0YWIyOGYwMjJlNTg1MmIxYzViMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBA
IC0yNiwxNyArMjYsMjQgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvRGljdGlvbmFyeVBvcHVwSW5mby5oPgorI2ltcG9ydCA8V2ViQ29yZS9Gb250
QXR0cmlidXRlcy5oPgorCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAotI2ltcG9ydCAiQXJndW1l
bnRDb2RlcnNDb2NvYS5oIgogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCA8V2Vi
Q29yZS9QYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oPgogI2ltcG9ydCA8cGFsL2NvY29hL1Bh
c3NLaXRTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJT
UEkuaD4KIAorI2VuZGlmCisKIG5hbWVzcGFjZSBJUEMgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6UGF5bWVudD46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpQYXlt
ZW50JiBwYXltZW50KQogewogICAgIGVuY29kZXIgPDwgcGF5bWVudC5wa1BheW1lbnQoKTsKQEAg
LTQwOCw1ICs0MTUsMzIgQEAgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRhdGU+
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGQKICAgICByZXR1cm4ge3sg
V1RGTW92ZSgqbmV3VG90YWxBbmRMaW5lSXRlbXMpIH19OwogfQogCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFUEFZKQorCit2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVw
SW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3Jl
OjpEaWN0aW9uYXJ5UG9wdXBJbmZvJiBpbmZvKQoreworICAgIGVuY29kZXIgPDwgaW5mby5vcHRp
b25zIDw8IGluZm8uYXR0cmlidXRlZFN0cmluZzsKIH0KLSNlbmRpZgorCitib29sIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShE
ZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvJiByZXN1bHQpCit7
CisgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCByZXN1bHQub3B0aW9ucykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdC5hdHRy
aWJ1dGVkU3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwor
fQorCit2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQ
bGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0
ZXMmIGF0dHJpYnV0ZXMpCit7CisgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmZvbnQ7Cit9CisK
K09wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRBdHRy
aWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6OkZv
bnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQoreworICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rl
ciwgYXR0cmlidXRlcy5mb250KSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBy
ZXR1cm4gYXR0cmlidXRlczsKK30KKworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBmN2ViYjBlOWZkYWEx
YmY4YzI3YmZkZTFmYjkzY2E5NDUyZDc0OWMwLi5jODJkYTAyNTEyODJmZmYyZmFhZDQ4MmUwYjg4
MTAyNzdkNjJkMTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHAKQEAgLTkwLDcgKzkwLDYgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lu
Y2x1ZGUgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbmNsdWRlICJBcmd1bWVudENvZGVyc01hYy5o
IgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMjU5OSwxNyArMjU5OCwx
MyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZShJUEM6
OkVuY29kZXImIGVuY29kZXIsIGNvbnN0IERpYwogICAgIGVuY29kZXIgPDwgaW5mby5vcmlnaW47
CiAgICAgZW5jb2RlciA8PCBpbmZvLnRleHRJbmRpY2F0b3I7CiAKLSNpZiBQTEFURk9STShDT0NP
QSkKLSAgICBib29sIGhhZE9wdGlvbnMgPSBpbmZvLm9wdGlvbnM7Ci0gICAgZW5jb2RlciA8PCBo
YWRPcHRpb25zOwotICAgIGlmIChoYWRPcHRpb25zKQotICAgICAgICBJUEM6OmVuY29kZShlbmNv
ZGVyLCBpbmZvLm9wdGlvbnMuZ2V0KCkpOwotCi0gICAgYm9vbCBoYWRBdHRyaWJ1dGVkU3RyaW5n
ID0gaW5mby5hdHRyaWJ1dGVkU3RyaW5nOwotICAgIGVuY29kZXIgPDwgaGFkQXR0cmlidXRlZFN0
cmluZzsKLSAgICBpZiAoaGFkQXR0cmlidXRlZFN0cmluZykKLSAgICAgICAgSVBDOjplbmNvZGUo
ZW5jb2RlciwgaW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpKTsKLSNlbmRpZgorICAgIGlmIChp
bmZvLmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgeworICAgICAgICBlbmNvZGVyIDw8
IHRydWU7CisgICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBpbmZvKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgZmFsc2U7CiB9CiAKIGJvb2wgQXJn
dW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlciwgRGljdGlvbmFyeVBvcHVwSW5mbyYgcmVzdWx0KQpAQCAtMjYyMywyNSArMjYxOCwxMSBA
QCBib29sIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIsIERpY3Rpb25hcgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVz
dWx0LnRleHRJbmRpY2F0b3IgPSBXVEZNb3ZlKCp0ZXh0SW5kaWNhdG9yKTsKIAotI2lmIFBMQVRG
T1JNKENPQ09BKQotICAgIGJvb2wgaGFkT3B0aW9uczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhZE9wdGlvbnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGhhZE9wdGlvbnMp
IHsKLSAgICAgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCByZXN1bHQub3B0aW9ucykpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSBlbHNlCi0gICAgICAgIHJlc3VsdC5vcHRp
b25zID0gbnVsbHB0cjsKLQotICAgIGJvb2wgaGFkQXR0cmlidXRlZFN0cmluZzsKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGhhZEF0dHJpYnV0ZWRTdHJpbmcpKQorICAgIGJvb2wgaGFzUGxhdGZv
cm1EYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzUGxhdGZvcm1EYXRhKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChoYWRBdHRyaWJ1dGVkU3RyaW5nKSB7Ci0gICAgICAg
IGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0LmF0dHJpYnV0ZWRTdHJpbmcpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQuYXR0cmli
dXRlZFN0cmluZyA9IG51bGxwdHI7Ci0jZW5kaWYKKyAgICBpZiAoaGFzUGxhdGZvcm1EYXRhKQor
ICAgICAgICByZXR1cm4gZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIHJlc3VsdCk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTMwNDUsMTIgKzMwMjYsMTIgQEAgdm9pZCBBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEZvbnRB
dHRyaWJ1dGUKICAgICBlbmNvZGVyIDw8IGF0dHJpYnV0ZXMuYmFja2dyb3VuZENvbG9yIDw8IGF0
dHJpYnV0ZXMuZm9yZWdyb3VuZENvbG9yIDw8IGF0dHJpYnV0ZXMuZm9udFNoYWRvdyA8PCBhdHRy
aWJ1dGVzLmhhc1VuZGVybGluZSA8PCBhdHRyaWJ1dGVzLmhhc1N0cmlrZVRocm91Z2ggPDwgYXR0
cmlidXRlcy50ZXh0TGlzdHM7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF0dHJpYnV0ZXMuaG9y
aXpvbnRhbEFsaWdubWVudCk7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF0dHJpYnV0ZXMuc3Vi
c2NyaXB0T3JTdXBlcnNjcmlwdCk7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBoYXNG
b250ID0gYXR0cmlidXRlcy5mb250OwotICAgIGVuY29kZXIgPDwgaGFzRm9udDsKLSAgICBpZiAo
aGFzRm9udCkKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgYXR0cmlidXRlcy5mb250Lmdl
dCgpKTsKLSNlbmRpZgorCisgICAgaWYgKGF0dHJpYnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRm
b3JtRGF0YSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICAgICAgZW5jb2RlUGxh
dGZvcm1EYXRhKGVuY29kZXIsIGF0dHJpYnV0ZXMpOworICAgICAgICByZXR1cm47CisgICAgfQog
fQogCiBPcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRl
cz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMzA4MSwxNCArMzA2MiwxMSBAQCBPcHRp
b25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKGF0dHJpYnV0
ZXMuc3Vic2NyaXB0T3JTdXBlcnNjcmlwdCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGhhc0ZvbnQgPSBmYWxzZTsKLSAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGhhc0ZvbnQpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwotCi0gICAgaWYgKGhhc0ZvbnQgJiYgIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZXMu
Zm9udCkpCisgICAgYm9vbCBoYXNQbGF0Zm9ybURhdGE7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNQbGF0Zm9ybURhdGEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotI2VuZGlm
CisgICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKKyAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3Jt
RGF0YShkZWNvZGVyLCBhdHRyaWJ1dGVzKTsKIAogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCAyZWY1
ZTQzYWRiNDg5NTE4MTljOWE3MTNkNjllMDEzZDIwZGQ2ZTliLi5kNzExNDBhZTk3Yzc5OTM0YjY4
ZGU3NzFjMThjY2IzOGE2YmI4M2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtNTgyLDYgKzU4Miw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+IHsKIHRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz4gewogICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVw
SW5mbyYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6RGljdGlv
bmFyeVBvcHVwSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShFbmNv
ZGVyJiwgY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpOworICAgIHN0YXRpYyBi
b29sIGRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVw
SW5mbyYpOwogfTsKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCkBAIC03
NDQsNiArNzQ2LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxWZWN0b3I8UmVm
UHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4+IHsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNv
ZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiAgICAgc3RhdGlj
IE9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGUoRGVjb2RlciYpOworICAg
IHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMmKTsKKyAgICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+IGRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0
ZXMmKTsKIH07CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvY3VybC9XZWJDb3JlQXJndW1lbnRDb2RlcnNDdXJsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL2N1cmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ3VybC5jcHAK
aW5kZXggMDI3Mzg1ZGExNmRiNjdlODAzMzVmZTFiNzY4OGI1YWYxMGViY2ZiNi4uZWMzNDA4ZDQ4
MDA2OTJhOWFkZDVmOWNkNzRiZmY3OTdlMTRiODE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvY3VybC9XZWJDb3JlQXJndW1lbnRDb2RlcnNDdXJsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9jdXJsL1dlYkNvcmVBcmd1bWVudENvZGVyc0N1cmwuY3BwCkBAIC0yOSw2
ICsyOSw4IEBACiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
Q2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJsUHJveHlTZXR0aW5ncy5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvRGljdGlvbmFyeVBvcHVwSW5mby5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvRm9udEF0dHJpYnV0ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFj
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CkBAIC0yMTAsNCArMjEyLDI2IEBAIE9wdGlvbmFsPEN1cmxQ
cm94eVNldHRpbmdzPiBBcmd1bWVudENvZGVyPEN1cmxQcm94eVNldHRpbmdzPjo6ZGVjb2RlKERl
Y29kZXImIGRlCiAgICAgcmV0dXJuIEN1cmxQcm94eVNldHRpbmdzIHsgV1RGTW92ZSh1cmwpLCBX
VEZNb3ZlKGlnbm9yZUhvc3RzKSB9OwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJp
YnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IEZvbnRBdHRyaWJ1dGVz
JikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworT3B0aW9uYWw8Rm9udEF0dHJp
YnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
RGVjb2RlciYsIEZvbnRBdHRyaWJ1dGVzJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gV1RGOjpudWxsb3B0OworfQorCit2b2lkIEFyZ3VtZW50Q29kZXI8RGljdGlv
bmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRGljdGlv
bmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxEaWN0aW9uYXJ5UG9wdXBJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERl
Y29kZXImLCBEaWN0aW9uYXJ5UG9wdXBJbmZvJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L0FyZ3VtZW50Q29kZXJzTWFjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyYWJi
N2Y5NjY0M2FhZGRiNTA3MzBjOWI1NThhM2M5MDcxMjk4YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0FyZ3Vt
ZW50Q29kZXJzTWFjLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8b2JqYy9vYmpjLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgotCi1PQkpDX0NMQVNTIE5TQXJyYXk7Ci1PQkpDX0NMQVNTIE5TQXR0cmli
dXRlZFN0cmluZzsKLU9CSkNfQ0xBU1MgTlNDb2xvcjsKLU9CSkNfQ0xBU1MgTlNEYXRhOwotT0JK
Q19DTEFTUyBOU0RhdGU7Ci1PQkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNG
b250OwotT0JKQ19DTEFTUyBOU051bWJlcjsKLU9CSkNfQ0xBU1MgTlNTdHJpbmc7Ci1PQkpDX0NM
QVNTIE5TVVJMOwotT0JKQ19DTEFTUyBVSUZvbnQ7Ci0KLW5hbWVzcGFjZSBJUEMgewotCi1jbGFz
cyBFbmNvZGVyOwotY2xhc3MgRGVjb2RlcjsKLQotLy8gaWQKLXZvaWQgZW5jb2RlKEVuY29kZXIm
LCBpZCk7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPGlkPiYpOwotCi0vLyBOU0F0
dHJpYnV0ZWRTdHJpbmcKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0F0dHJpYnV0ZWRTdHJpbmcg
Kik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4m
KTsKLQotI2lmIFVTRShBUFBLSVQpCi0vLyBOU0NvbG9yCi12b2lkIGVuY29kZShFbmNvZGVyJiwg
TlNDb2xvciAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXImLCBSZXRhaW5QdHI8TlNDb2xvcj4mKTsK
LSNlbmRpZgotCi0vLyBOU0RpY3Rpb25hcnkKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0RpY3Rp
b25hcnkgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4m
KTsKLQotLy8gTlNBcnJheQotdm9pZCBlbmNvZGUoRW5jb2RlciYsIE5TQXJyYXkgKik7Ci1ib29s
IGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TQXJyYXk+Jik7Ci0KLSNpZiBVU0UoQVBQS0lU
KQotLy8gTlNGb250Ci12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNGb250ICopOwotYm9vbCBkZWNv
ZGUoRGVjb2RlciYsIFJldGFpblB0cjxOU0ZvbnQ+Jik7Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCi12b2lkIGVuY29kZShFbmNvZGVyJiwgVUlGb250ICopOwotYm9vbCBkZWNv
ZGUoRGVjb2RlciYsIFJldGFpblB0cjxVSUZvbnQ+Jik7Ci0jZW5kaWYKLQotLy8gTlNOdW1iZXIK
LXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU051bWJlciAqKTsKLWJvb2wgZGVjb2RlKERlY29kZXIm
LCBSZXRhaW5QdHI8TlNOdW1iZXI+Jik7Ci0KLS8vIE5TU3RyaW5nCi12b2lkIGVuY29kZShFbmNv
ZGVyJiwgTlNTdHJpbmcgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TU3Ry
aW5nPiYpOwotCi0vLyBOU0RhdGUKLXZvaWQgZW5jb2RlKEVuY29kZXImLCBOU0RhdGUgKik7Ci1i
b29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TRGF0ZT4mKTsKLQotLy8gTlNEYXRhCi12
b2lkIGVuY29kZShFbmNvZGVyJiwgTlNEYXRhICopOwotYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJl
dGFpblB0cjxOU0RhdGE+Jik7Ci0KLS8vIE5TVVJMCi12b2lkIGVuY29kZShFbmNvZGVyJiwgTlNV
UkwgKik7Ci1ib29sIGRlY29kZShEZWNvZGVyJiwgUmV0YWluUHRyPE5TVVJMPiYpOwotCi19IC8v
IG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9Bcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9Bcmd1bWVudENvZGVy
c01hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJhMDI5NWZlZjhhNWU5OTQz
NWViNzM4MWIxYTEwNzY3ZjI3M2EwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMu
bW0KKysrIC9kZXYvbnVsbApAQCAtMSw1ODIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQg
ImNvbmZpZy5oIgotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNNYWMuaCIKLQotI2ltcG9ydCA8Q29y
ZVRleHQvQ29yZVRleHQuaD4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCA8VUlL
aXQvVUlLaXQuaD4KLSNlbmRpZgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1w
b3J0ICJEZWNvZGVyLmgiCi0jaW1wb3J0ICJFbmNvZGVyLmgiCi0jaW1wb3J0ICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKLSNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KLQotbmFtZXNwYWNl
IElQQyB7Ci0KLWVudW0gY2xhc3MgTlNUeXBlIHsKLSAgICBBdHRyaWJ1dGVkU3RyaW5nLAotI2lm
IFVTRShBUFBLSVQpCi0gICAgQ29sb3IsCi0jZW5kaWYKLSAgICBEaWN0aW9uYXJ5LAotICAgIEFy
cmF5LAotI2lmIFVTRShBUFBLSVQpCi0gICAgRm9udCwKLSNlbmRpZgotICAgIE51bWJlciwKLSAg
ICBTdHJpbmcsCi0gICAgRGF0ZSwKLSAgICBEYXRhLAotICAgIFVSTCwKLSAgICBVbmtub3duLAot
fTsKLQotfQotCi1uYW1lc3BhY2UgSVBDIHsKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1z
dGF0aWMgTlNUeXBlIHR5cGVGcm9tT2JqZWN0KGlkIG9iamVjdCkKLXsKLSAgICBBU1NFUlQob2Jq
ZWN0KTsKLQotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXR0cmlidXRlZFN0cmlu
ZyBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpBdHRyaWJ1dGVkU3RyaW5nOwotI2lm
IFVTRShBUFBLSVQpCi0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNDb2xvciBjbGFz
c11dKQotICAgICAgICByZXR1cm4gTlNUeXBlOjpDb2xvcjsKLSNlbmRpZgotICAgIGlmIChbb2Jq
ZWN0IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKQotICAgICAgICByZXR1cm4g
TlNUeXBlOjpEaWN0aW9uYXJ5OwotI2lmIFVTRShBUFBLSVQpCi0gICAgaWYgKFtvYmplY3QgaXNL
aW5kT2ZDbGFzczpbTlNGb250IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkZvbnQ7
Ci0jZW5kaWYKLSAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11d
KQotICAgICAgICByZXR1cm4gTlNUeXBlOjpOdW1iZXI7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5k
T2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVHlwZTo6U3RyaW5n
OwotICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkKLSAgICAg
ICAgcmV0dXJuIE5TVHlwZTo6QXJyYXk7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpb
TlNEYXRlIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGU7Ci0gICAgaWYgKFtv
YmplY3QgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNsYXNzXV0pCi0gICAgICAgIHJldHVybiBOU1R5
cGU6OkRhdGE7Ci0gICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNVUkwgY2xhc3NdXSkK
LSAgICAgICAgcmV0dXJuIE5TVHlwZTo6VVJMOwotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIE5TVHlwZTo6VW5rbm93bjsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlciwgaWQgb2JqZWN0KQotewotICAgIE5TVHlwZSB0eXBlID0gdHlwZUZyb21PYmplY3Qo
b2JqZWN0KTsKLSAgICBlbmNvZGVyIDw8IHR5cGU7Ci0KLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAg
ICBjYXNlIE5TVHlwZTo6QXR0cmlidXRlZFN0cmluZzoKLSAgICAgICAgZW5jb2RlKGVuY29kZXIs
IHN0YXRpY19jYXN0PE5TQXR0cmlidXRlZFN0cmluZyAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0
dXJuOwotI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU1R5cGU6OkNvbG9yOgotICAgICAgICBl
bmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNDb2xvciAqPihvYmplY3QpKTsKLSAgICAgICAg
cmV0dXJuOwotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6OkRpY3Rpb25hcnk6Ci0gICAgICAgIGVu
Y29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RpY3Rpb25hcnkgKj4ob2JqZWN0KSk7Ci0gICAg
ICAgIHJldHVybjsKLSNpZiBVU0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpGb250OgotICAg
ICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNGb250ICo+KG9iamVjdCkpOwotICAg
ICAgICByZXR1cm47Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6TnVtYmVyOgotICAgICAgICBl
bmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNOdW1iZXIgKj4ob2JqZWN0KSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6U3RyaW5nOgotICAgICAgICBlbmNvZGUoZW5jb2Rl
ciwgc3RhdGljX2Nhc3Q8TlNTdHJpbmcgKj4ob2JqZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICBjYXNlIE5TVHlwZTo6QXJyYXk6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2Fz
dDxOU0FycmF5ICo+KG9iamVjdCkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBOU1R5cGU6
OkRhdGU6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGUgKj4ob2Jq
ZWN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TVHlwZTo6RGF0YToKLSAgICAgICAg
ZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGF0YSAqPihvYmplY3QpKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIGNhc2UgTlNUeXBlOjpVUkw6Ci0gICAgICAgIGVuY29kZShlbmNvZGVyLCBz
dGF0aWNfY2FzdDxOU1VSTCAqPihvYmplY3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2Ug
TlNUeXBlOjpVbmtub3duOgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRy
PGlkPiYgcmVzdWx0KQotewotICAgIE5TVHlwZSB0eXBlOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVFbnVtKHR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBzd2l0Y2ggKHR5cGUp
IHsKLSAgICBjYXNlIE5TVHlwZTo6QXR0cmlidXRlZFN0cmluZzogewotICAgICAgICBSZXRhaW5Q
dHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmc7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29k
ZXIsIHN0cmluZykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9
IHN0cmluZzsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotI2lmIFVTRShBUFBLSVQpCi0g
ICAgY2FzZSBOU1R5cGU6OkNvbG9yOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU0NvbG9yPiBjb2xv
cjsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgY29sb3IpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBjb2xvcjsKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotI2VuZGlmCi0gICAgY2FzZSBOU1R5cGU6OkRpY3Rpb25hcnk6IHsKLSAgICAgICAg
UmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZGljdGlvbmFyeTsKLSAgICAgICAgaWYgKCFkZWNvZGUo
ZGVjb2RlciwgZGljdGlvbmFyeSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IHJlc3VsdCA9IGRpY3Rpb25hcnk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNpZiBV
U0UoQVBQS0lUKQotICAgIGNhc2UgTlNUeXBlOjpGb250OiB7Ci0gICAgICAgIFJldGFpblB0cjxO
U0ZvbnQ+IGZvbnQ7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnQpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBmb250OwotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0jZW5kaWYKLSAgICBjYXNlIE5TVHlwZTo6TnVtYmVyOiB7Ci0gICAg
ICAgIFJldGFpblB0cjxOU051bWJlcj4gbnVtYmVyOwotICAgICAgICBpZiAoIWRlY29kZShkZWNv
ZGVyLCBudW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQg
PSBudW1iZXI7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6
U3RyaW5nOiB7Ci0gICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gc3RyaW5nOwotICAgICAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICByZXN1bHQgPSBzdHJpbmc7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAg
ICBjYXNlIE5TVHlwZTo6QXJyYXk6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IGFycmF5
OwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBhcnJheSkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGFycmF5OwotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgY2FzZSBOU1R5cGU6OkRhdGU6IHsKLSAgICAgICAgUmV0YWluUHRyPE5TRGF0
ZT4gZGF0ZTsKLSAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IGRhdGU7Ci0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSAgICBjYXNlIE5TVHlwZTo6RGF0YTogewotICAgICAgICBSZXRhaW5QdHI8
TlNEYXRhPiBkYXRhOwotICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBkYXRhKSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVzdWx0ID0gZGF0YTsKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpVUkw6IHsKLSAgICAgICAgUmV0YWlu
UHRyPE5TVVJMPiBVUkw7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIFVSTCkpCi0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IFVSTDsKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgTlNUeXBlOjpVbmtub3duOgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIGlzU2VyaWFsaXphYmxlRm9udChD
VEZvbnRSZWYgZm9udCkKLXsKLSAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5QXR0cmlidXRl
KGZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIGlz
U2VyaWFsaXphYmxlVmFsdWUoaWQgdmFsdWUpCi17Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBhdXRv
IGZvbnRDbGFzcyA9IFtOU0ZvbnQgY2xhc3NdOwotI2Vsc2UKLSAgICBhdXRvIGZvbnRDbGFzcyA9
IFtVSUZvbnQgY2xhc3NdOwotI2VuZGlmCi0gICAgcmV0dXJuICFbdmFsdWUgaXNLaW5kT2ZDbGFz
czpmb250Q2xhc3NdIHx8IGlzU2VyaWFsaXphYmxlRm9udCgoX19icmlkZ2UgQ1RGb250UmVmKXZh
bHVlKTsKLX0KLQotc3RhdGljIGlubGluZSBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBmaWx0ZXJV
bnNlcmlhbGl6YWJsZVZhbHVlcyhOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkpCi17Ci0gICAgX19i
bG9jayBib29sIG1vZGlmaWNhdGlvbk5lY2Vzc2FyeSA9IGZhbHNlOwotICAgIFtkaWN0aW9uYXJ5
IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIGtleSwgaWQgb2JqZWN0LCBC
T09MICpzdG9wKSB7Ci0gICAgICAgIGlmICghaXNTZXJpYWxpemFibGVWYWx1ZShvYmplY3QpKSB7
Ci0gICAgICAgICAgICBtb2RpZmljYXRpb25OZWNlc3NhcnkgPSB0cnVlOwotICAgICAgICAgICAg
KnN0b3AgPSBZRVM7Ci0gICAgICAgIH0KLSAgICB9XTsKLSAgICBpZiAoIW1vZGlmaWNhdGlvbk5l
Y2Vzc2FyeSkKLSAgICAgICAgcmV0dXJuIGRpY3Rpb25hcnk7Ci0KLSAgICBhdXRvIHJlc3VsdCA9
IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7Ci0gICAgW2RpY3Rp
b25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4oaWQga2V5LCBpZCBvYmpl
Y3QsIEJPT0wgKnN0b3ApIHsKLSAgICAgICAgaWYgKGlzU2VyaWFsaXphYmxlVmFsdWUob2JqZWN0
KSkKLSAgICAgICAgICAgIFtyZXN1bHQgc2V0T2JqZWN0Om9iamVjdCBmb3JLZXk6a2V5XTsKLSAg
ICB9XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykKLXsKLSAgICAvLyBFdmVuIHRob3VnaCBO
U0F0dHJpYnV0ZWRTdHJpbmcgaXMgdG9sbCBmcmVlIGJyaWRnZWQgd2l0aCBDRkF0dHJpYnV0ZWRT
dHJpbmdSZWYsIGF0dHJpYnV0ZXMnIHZhbHVlcyBtYXkgYmUgbm90LCBzbyB3ZSBzaG91bGQgc3Rh
eSB3aXRoaW4gdGhpcyBmaWxlJ3MgY29kZS4KLQotICAgIE5TU3RyaW5nICpwbGFpblN0cmluZyA9
IFtzdHJpbmcgc3RyaW5nXTsKLSAgICBOU1VJbnRlZ2VyIGxlbmd0aCA9IFtwbGFpblN0cmluZyBs
ZW5ndGhdOwotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHBsYWluU3RyaW5nKTsKLQotICAgIFZl
Y3RvcjxzdGQ6OnBhaXI8TlNSYW5nZSwgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4+PiByYW5nZXM7
Ci0KLSAgICBOU1VJbnRlZ2VyIHBvc2l0aW9uID0gMDsKLSAgICB3aGlsZSAocG9zaXRpb24gPCBs
ZW5ndGgpIHsKLSAgICAgICAgLy8gQ29sbGVjdCByYW5nZXMgaW4gYSB2ZWN0b3IsIGJlY2FzdWUg
dGhlIHRvdGFsIGNvdW50IHNob3VsZCBiZSBlbmNvZGVkIGZpcnN0LgotICAgICAgICBOU1Jhbmdl
IGVmZmVjdGl2ZVJhbmdlOwotICAgICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhdHRyaWJ1
dGVzQXRJbmRleCA9IFtzdHJpbmcgYXR0cmlidXRlc0F0SW5kZXg6cG9zaXRpb24gZWZmZWN0aXZl
UmFuZ2U6JmVmZmVjdGl2ZVJhbmdlXTsKLSAgICAgICAgQVNTRVJUKGVmZmVjdGl2ZVJhbmdlLmxv
Y2F0aW9uID09IHBvc2l0aW9uKTsKLSAgICAgICAgQVNTRVJUKGVmZmVjdGl2ZVJhbmdlLmxlbmd0
aCk7Ci0gICAgICAgIEFTU0VSVChOU01heFJhbmdlKGVmZmVjdGl2ZVJhbmdlKSA8PSBsZW5ndGgp
OwotCi0gICAgICAgIHJhbmdlcy5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZWZmZWN0aXZlUmFuZ2Us
IGZpbHRlclVuc2VyaWFsaXphYmxlVmFsdWVzKGF0dHJpYnV0ZXNBdEluZGV4LmdldCgpKSkpOwot
Ci0gICAgICAgIHBvc2l0aW9uID0gTlNNYXhSYW5nZShlZmZlY3RpdmVSYW5nZSk7Ci0gICAgfQot
Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4ocmFuZ2VzLnNpemUoKSk7Ci0K
LSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJhbmdlcy5zaXplKCk7ICsraSkgewotICAgICAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihyYW5nZXNbaV0uZmlyc3QubG9jYXRp
b24pOwotICAgICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihyYW5nZXNbaV0u
Zmlyc3QubGVuZ3RoKTsKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcmFuZ2VzW2ldLnNl
Y29uZC5nZXQoKSk7Ci0gICAgfQotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBS
ZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxO
U1N0cmluZz4gcGxhaW5TdHJpbmc7Ci0gICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBwbGFp
blN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIE5TVUludGVnZXIgc3RyaW5n
TGVuZ3RoID0gW3BsYWluU3RyaW5nIGxlbmd0aF07Ci0KLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxl
QXR0cmlidXRlZFN0cmluZz4gcmVzdWx0U3RyaW5nID0gYWRvcHROUyhbW05TTXV0YWJsZUF0dHJp
YnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnBsYWluU3RyaW5nLmdldCgpXSk7Ci0K
LSAgICB1aW50NjRfdCByYW5nZUNvdW50OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFuZ2VD
b3VudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHdoaWxlIChyYW5nZUNvdW50LS0p
IHsKLSAgICAgICAgdWludDY0X3QgcmFuZ2VMb2NhdGlvbjsKLSAgICAgICAgdWludDY0X3QgcmFu
Z2VMZW5ndGg7Ci0gICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGF0dHJpYnV0ZXM7Ci0g
ICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFuZ2VMb2NhdGlvbikpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmFuZ2VMZW5ndGgpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIEFTU0VSVChyYW5nZUxvY2F0aW9u
ICsgcmFuZ2VMZW5ndGggPiByYW5nZUxvY2F0aW9uKTsKLSAgICAgICAgQVNTRVJUKHJhbmdlTG9j
YXRpb24gKyByYW5nZUxlbmd0aCA8PSBzdHJpbmdMZW5ndGgpOwotICAgICAgICBpZiAocmFuZ2VM
b2NhdGlvbiArIHJhbmdlTGVuZ3RoIDw9IHJhbmdlTG9jYXRpb24gfHwgcmFuZ2VMb2NhdGlvbiAr
IHJhbmdlTGVuZ3RoID4gc3RyaW5nTGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlcykpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIFtyZXN1bHRTdHJpbmcgYWRkQXR0cmlidXRlczph
dHRyaWJ1dGVzLmdldCgpIHJhbmdlOk5TTWFrZVJhbmdlKHJhbmdlTG9jYXRpb24sIHJhbmdlTGVu
Z3RoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0gYWRvcHROUyhyZXN1bHRTdHJpbmcubGVha1Jl
ZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmIFVTRShBUFBLSVQpCi12b2lkIGVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyLCBOU0NvbG9yICpjb2xvcikKLXsKLSAgICBlbmNvZGVyIDw8IGNv
bG9yRnJvbU5TQ29sb3IoY29sb3IpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXRhaW5QdHI8TlNDb2xvcj4mIHJlc3VsdCkKLXsKLSAgICBDb2xvciBjb2xvcjsKLSAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGNvbG9yKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
cmVzdWx0ID0gbnNDb2xvcihjb2xvcik7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0jZW5kaWYKLQot
dm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5KQot
ewotICAgIC8vIEV2ZW4gdGhvdWdoIE5TRGljdGlvbmFyeSBpcyB0b2xsIGZyZWUgYnJpZGdlZCB3
aXRoIENGRGljdGlvbmFyeVJlZiwgdmFsdWVzIG1heSBiZSBub3QsIHNvIHdlIHNob3VsZCBzdGF5
IHdpdGhpbiB0aGlzIGZpbGUncyBjb2RlLgotCi0gICAgTlNVSW50ZWdlciBzaXplID0gW2RpY3Rp
b25hcnkgY291bnRdOwotICAgIE5TQXJyYXkgKmtleXMgPSBbZGljdGlvbmFyeSBhbGxLZXlzXTsK
LSAgICBOU0FycmF5ICp2YWx1ZXMgPSBbZGljdGlvbmFyeSBhbGxWYWx1ZXNdOwotCi0gICAgZW5j
b2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oc2l6ZSk7Ci0KLSAgICBmb3IgKE5TVUludGVn
ZXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgaWQga2V5ID0gW2tleXMgb2JqZWN0
QXRJbmRleDppXTsKLSAgICAgICAgaWQgdmFsdWUgPSBbdmFsdWVzIG9iamVjdEF0SW5kZXg6aV07
Ci0gICAgICAgIEFTU0VSVChrZXkpOwotICAgICAgICBBU1NFUlQodmFsdWUpOwotICAgICAgICBB
U1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOwotCi0gICAgICAgIC8vIElnbm9yZSB2
YWx1ZXMgd2UgZG9uJ3QgcmVjb2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3QodmFs
dWUpID09IE5TVHlwZTo6VW5rbm93bikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
IGVuY29kZShlbmNvZGVyLCBrZXkpOwotICAgICAgICBlbmNvZGUoZW5jb2RlciwgdmFsdWUpOwot
ICAgIH0KLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TRGlj
dGlvbmFyeT4mIHJlc3VsdCkKLXsKLSAgICB1aW50NjRfdCBzaXplOwotICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoc2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJldGFpblB0cjxO
U011dGFibGVEaWN0aW9uYXJ5PiBkaWN0aW9uYXJ5ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rp
b25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c2l6ZV0pOwotICAgIGZvciAodWludDY0X3Qg
aSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgLy8gVHJ5IHRvIGRlY29kZSB0aGUga2V5
IG5hbWUuCi0gICAgICAgIFJldGFpblB0cjxpZD4ga2V5OwotICAgICAgICBpZiAoIWRlY29kZShk
ZWNvZGVyLCBrZXkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIFJldGFp
blB0cjxpZD4gdmFsdWU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIHZhbHVlKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBbZGljdGlvbmFyeSBzZXRPYmplY3Q6
dmFsdWUuZ2V0KCkgZm9yS2V5OmtleS5nZXQoKV07Ci0gICAgfQotCi0gICAgcmVzdWx0ID0gYWRv
cHROUyhkaWN0aW9uYXJ5LmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZiBV
U0UoQVBQS0lUKQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNGb250ICpmb250KQot
ewotICAgIC8vIE5TRm9udCBjb3VsZCB1c2UgQ1RGb250UmVmIGNvZGUgaWYgd2UgaGFkIGl0IGlu
IEFyZ3VtZW50Q29kZXJzQ0YuCi0gICAgZW5jb2RlKGVuY29kZXIsIGZvbnQuZm9udERlc2NyaXB0
b3IuZm9udEF0dHJpYnV0ZXMpOwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBS
ZXRhaW5QdHI8TlNGb250PiYgcmVzdWx0KQotewotICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+
IGZvbnRBdHRyaWJ1dGVzOwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGZvbnRBdHRyaWJ1dGVz
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgTlNGb250RGVzY3JpcHRvciAqZm9udERl
c2NyaXB0b3IgPSBbTlNGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmli
dXRlczpmb250QXR0cmlidXRlcy5nZXQoKV07Ci0gICAgcmVzdWx0ID0gW05TRm9udCBmb250V2l0
aERlc2NyaXB0b3I6Zm9udERlc2NyaXB0b3Igc2l6ZTowXTsKLQotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0jZW5kaWYgLy8gVVNFKEFQUEtJVCkKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0K
LXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIFVJRm9udCAqZm9udCkKLXsKLSAgICBlbmNv
ZGUoZW5jb2RlciwgZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0cmlidXRlcyk7Ci19Ci0KLWJv
b2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxVSUZvbnQ+JiByZXN1bHQpCi17
Ci0gICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gZm9udEF0dHJpYnV0ZXM7Ci0gICAgaWYgKCFk
ZWNvZGUoZGVjb2RlciwgZm9udEF0dHJpYnV0ZXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICBVSUZvbnREZXNjcmlwdG9yICpmb250RGVzY3JpcHRvciA9IFtVSUZvbnREZXNjcmlwdG9y
IGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmZvbnRBdHRyaWJ1dGVzLmdldCgpXTsK
LSAgICByZXN1bHQgPSBbVUlGb250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRvciBz
aXplOjBdOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotI2VuZGlmIC8vIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TTnVtYmVyICpudW1i
ZXIpCi17Ci0gICAgZW5jb2RlKGVuY29kZXIsIChfX2JyaWRnZSBDRk51bWJlclJlZiludW1iZXIp
OwotfQotCi1ib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNOdW1iZXI+
JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRyPENGTnVtYmVyUmVmPiBudW1iZXI7Ci0gICAgaWYg
KCFkZWNvZGUoZGVjb2RlciwgbnVtYmVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
cmVzdWx0ID0gYWRvcHROUygoTlNOdW1iZXIgKiludW1iZXIubGVha1JlZigpKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgTlNTdHJpbmcgKnN0
cmluZykKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKXN0cmlu
Zyk7Ci19Ci0KLWJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxOU1N0cmlu
Zz4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZzsKLSAgICBp
ZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICByZXN1bHQgPSBhZG9wdE5TKChOU1N0cmluZyAqKXN0cmluZy5sZWFrUmVmKCkpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCi12b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBOU0FycmF5ICph
cnJheSkKLXsKLSAgICBOU1VJbnRlZ2VyIHNpemUgPSBbYXJyYXkgY291bnRdOwotICAgIGVuY29k
ZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHNpemUpOwotCi0gICAgZm9yIChOU1VJbnRlZ2Vy
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIGlkIHZhbHVlID0gW2FycmF5IG9iamVj
dEF0SW5kZXg6aV07Ci0KLSAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCByZWNvZ25p
emUuCi0gICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0gTlNUeXBlOjpVbmtub3du
KQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgQVNTRVJUKGlzU2VyaWFsaXphYmxl
VmFsdWUodmFsdWUpKTsKLQotICAgICAgICBlbmNvZGUoZW5jb2RlciwgdmFsdWUpOwotICAgIH0K
LX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TQXJyYXk+JiBy
ZXN1bHQpCi17Ci0gICAgdWludDY0X3Qgc2l6ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNp
emUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJy
YXk+IGFycmF5ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFj
aXR5OnNpemVdKTsKLSAgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0g
ICAgICAgIFJldGFpblB0cjxpZD4gdmFsdWU7Ci0gICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIs
IHZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBbYXJyYXkgYWRk
T2JqZWN0OnZhbHVlLmdldCgpXTsKLSAgICB9Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKGFycmF5
LmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIE5TRGF0ZSAqZGF0ZSkKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdl
IENGRGF0ZVJlZilkYXRlKTsKLX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0
YWluUHRyPE5TRGF0ZT4mIHJlc3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZEYXRlUmVmPiBkYXRl
OwotICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICByZXN1bHQgPSBhZG9wdE5TKChOU0RhdGUgKilkYXRlLmxlYWtSZWYoKSk7Ci0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TRGF0YSAq
ZGF0YSkKLXsKLSAgICBlbmNvZGUoZW5jb2RlciwgKF9fYnJpZGdlIENGRGF0YVJlZilkYXRhKTsK
LX0KLQotYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmV0YWluUHRyPE5TRGF0YT4mIHJl
c3VsdCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOwotICAgIGlmICghZGVjb2Rl
KGRlY29kZXIsIGRhdGEpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBh
ZG9wdE5TKChOU0RhdGEgKilkYXRhLmxlYWtSZWYoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LXZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIE5TVVJMICpVUkwpCi17Ci0gICAgZW5jb2Rl
KGVuY29kZXIsIChfX2JyaWRnZSBDRlVSTFJlZilVUkwpOwotfQotCi1ib29sIGRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8TlNVUkw+JiByZXN1bHQpCi17Ci0gICAgUmV0YWluUHRy
PENGVVJMUmVmPiBVUkw7Ci0gICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgVVJMKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmVzdWx0ID0gYWRvcHROUygoTlNVUkwgKilVUkwubGVha1Jl
ZigpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgSVBDCi0KLW5hbWVz
cGFjZSBXVEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxJUEM6Ok5TVHlwZT4gewot
ICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIElQQzo6TlNUeXBlLAotICAg
ICAgICBJUEM6Ok5TVHlwZTo6QXR0cmlidXRlZFN0cmluZywKLSAgICAjaWYgVVNFKEFQUEtJVCkK
LSAgICAgICAgSVBDOjpOU1R5cGU6OkNvbG9yLAotICAgICNlbmRpZgotICAgICAgICBJUEM6Ok5T
VHlwZTo6RGljdGlvbmFyeSwKLSAgICAgICAgSVBDOjpOU1R5cGU6OkFycmF5LAotICAgICNpZiBV
U0UoQVBQS0lUKQotICAgICAgICBJUEM6Ok5TVHlwZTo6Rm9udCwKLSAgICAjZW5kaWYKLSAgICAg
ICAgSVBDOjpOU1R5cGU6Ok51bWJlciwKLSAgICAgICAgSVBDOjpOU1R5cGU6OlN0cmluZywKLSAg
ICAgICAgSVBDOjpOU1R5cGU6OkRhdGUsCi0gICAgICAgIElQQzo6TlNUeXBlOjpEYXRhLAotICAg
ICAgICBJUEM6Ok5TVHlwZTo6VVJMLAotICAgICAgICBJUEM6Ok5TVHlwZTo6VW5rbm93bgotICAg
ID47Ci19OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0
ZWRTdHJpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5t
bQppbmRleCAyNzVhNGYxMDA5ZDA0MzljMWNhYjcwY2Y2M2IzNjZmYmJiYjM4ZDZhLi5hZTA4NTg0
NTQ3YjYxYjUzNDJjZGE3Y2NlY2Q0MTYxNGQ0ODdlN2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQpAQCAtMjcsMzIgKzI3LDIxIEBACiAjaW1wb3J0
ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ29jb2EuaCIK
LSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKyNpbXBvcnQgIkRlY29kZXIuaCIKKyNpbXBvcnQgIkVuY29kZXIuaCIKIAogbmFt
ZXNwYWNlIElQQyB7CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJp
bmc+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViS2l0OjpBdHRyaWJ1dGVkU3Ry
aW5nJiBhdHRyaWJ1dGVkU3RyaW5nKQogewotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Ym9v
bD4oIWF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nKTsKLSAgICBpZiAoIWF0dHJpYnV0ZWRTdHJpbmcu
c3RyaW5nKQotICAgICAgICByZXR1cm47Ci0gICAgSVBDOjplbmNvZGUoZW5jb2RlciwgYXR0cmli
dXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkpOworICAgIGVuY29kZXIgPDwgYXR0cmlidXRlZFN0cmlu
Zy5zdHJpbmc7CiB9CiAKIE9wdGlvbmFsPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz4gQXJndW1l
bnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKIHsKLSAgICBib29sIGlzTnVsbDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzTnVsbCkp
Ci0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKGlzTnVsbCkKLSAgICAgICAg
cmV0dXJuIFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyB7IH07Ci0KICAgICBSZXRhaW5QdHI8TlNB
dHRyaWJ1dGVkU3RyaW5nPiBhdHRyaWJ1dGVkU3RyaW5nOwotICAgIElQQzo6ZGVjb2RlKGRlY29k
ZXIsIGF0dHJpYnV0ZWRTdHJpbmcpOwotICAgIGlmICghYXR0cmlidXRlZFN0cmluZykKKyAgICBp
ZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcpKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwotCiAgICAgcmV0dXJuIFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyB7
IGF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9PYmpDT2JqZWN0R3JhcGgubW0KaW5kZXggYmMwNGYyMmE0YzllYjFlOWQxYjBjMGNmMDExYWU1
MGMwZTI0N2M4NS4uYzY1NDg0ZjU1MTIyMGRkYmM4Yjg0Yjc5NmFjYjA1OTg4NzI2Yjg3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIk9iakNPYmplY3RHcmFwaC5oIgog
Ci0jaW1wb3J0ICJBcmd1bWVudENvZGVyc01hYy5oIgorI2ltcG9ydCAiQXJndW1lbnRDb2RlcnND
b2NvYS5oIgogI2ltcG9ydCAiRGVjb2Rlci5oIgogI2ltcG9ydCAiRW5jb2Rlci5oIgogI2ltcG9y
dCAiVXNlckRhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dl
YkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDEzYmMyOTI1M2VkYmExNTc1OGM4NTYw
YTkxY2I2NDVkZDhhYWNkOTQuLjFiN2VmODhhYzNkMjc5ZmQ5NTNlNzgzMTVjOGI5YWExNDUxNDgy
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgogCiAjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTIyNyw1ICsyMjksMjcgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPENyZWRlbnRpYWw+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIENyZWRlbnRpYWwm
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1
dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0cmlidXRlcyYp
Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK09wdGlvbmFsPEZvbnRBdHRyaWJ1
dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERl
Y29kZXImLCBGb250QXR0cmlidXRlcyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPERpY3Rpb25h
cnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IERpY3Rpb25h
cnlQb3B1cEluZm8mKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNv
ZGVyJiwgRGljdGlvbmFyeVBvcHVwSW5mbyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA0
NmMzNTcwMjcxYWQ0MGFiNmEzNjM4Y2I3Y2Y4ZTUwNTk3ZGViMGRmLi5iNTYwYjRhNzY1OTMyZmM4
YjYxODU4ZGQ5NWMxMGI4YmUxMTc0YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0xNzQs
NyArMTc0LDYgQEAgU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KIFNoYXJlZC9pb3Mv
V2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcAogU2hhcmVkL2lvcy9XZWJUb3VjaEV2ZW50SU9T
LmNwcAogCi1TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCiBTaGFyZWQvbWFjL0F0dHJp
YnV0ZWRTdHJpbmcubW0KIFNoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQogU2hhcmVk
L21hYy9Db2RlU2lnbmluZy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYjc3ZWNmMTZkOTBjY2Q2NWRhMTY0NWI4YjExNzk5MGI1OWY1
NGI5Mi4uMzdiM2FkYjc1NTE0ODAyMmI1ODcwN2ZiYTg4NzkxZTJiMDc0ODYyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTk3LDcg
KzE1OTcsNiBAQAogCQlFMTY0QTJGMjE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVm
ZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxNjRBMkYwMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0YUZp
bGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQlFMTcwODc2QzE2RDZD
QTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzA4NzZBMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9i
UmVnaXN0cnlQcm94eS5oICovOyB9OwogCQlFMTc5MDg4RjE2OUJBQTZBMDA2OTA0QzcgLyogU2Vj
SXRlbVNoaW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxOEU2OTQ4MTY5Qjc3QzgwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbS5oICovOyB9OwotCQlFMTc5
RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4
MyAvKiBBcmd1bWVudENvZGVyc01hYy5oICovOyB9OwogCQlFMTdBRTJDMzE2QjlDNjNBMDAxQzQy
RjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYx
IC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi87IH07CiAJCUUxOEU2OTBD
MTY5QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkwQTE2OUI1NjNGMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eS5oICovOyB9OwogCQlFMThFNjkxNzE2OUI2NjdCMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMThFNjkxMzE2OUI2NjdCMDA5QjY2NzAgLyogU2Vj
SXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC00NDY4LDggKzQ0Njcs
NiBAQAogCQlFMTcwODc2OTE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYlJlZ2lzdHJ5UHJveHku
Y3BwOyBwYXRoID0gV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3MDg3NkExNkQ2Q0E2OTAwRjk5MjI2IC8qIEJs
b2JSZWdpc3RyeVByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2JS
ZWdpc3RyeVByb3h5Lmg7IHBhdGggPSBXZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJv
eHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3OThDNzcxNkU2ODE4ODAwMjQw
MTM5IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTmV0d29ya0Jsb2JSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUUxNzlGRDlCMTM0RDM4MDYwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmd1bWVudENvZGVyc01hYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMTc5RkQ5RTEzNEQzODI1MDAxNUI4ODMgLyog
QXJndW1lbnRDb2RlcnNNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBBcmd1bWVudENvZGVyc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTE3QUUyQzExNkI5QzEzOTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nl
c3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNv
bS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0g
Y29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYjsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRTE4QzkyRjMxMkRCOUU3MTAwQ0YyQUVCIC8qIFBy
aW50SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmludElu
Zm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzg1NSw4ICs3ODUyLDYgQEAK
IAkJQkMxMTFCNUExMTJGNjI4MjAwMzM3QkFCIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJRTE3OUZEOUIxMzREMzgwNjAwMTVCODgzIC8qIEFy
Z3VtZW50Q29kZXJzTWFjLmggKi8sCi0JCQkJRTE3OUZEOUUxMzREMzgyNTAwMTVCODgzIC8qIEFy
Z3VtZW50Q29kZXJzTWFjLm1tICovLAogCQkJCUUxQTMxNzMxMTM0Q0VBNkMwMDdDOUE0RiAvKiBB
dHRyaWJ1dGVkU3RyaW5nLmggKi8sCiAJCQkJRTFBMzE3MzQxMzRDRUE4MDAwN0M5QTRGIC8qIEF0
dHJpYnV0ZWRTdHJpbmcubW0gKi8sCiAJCQkJOUY1NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8qIEF1
eGlsaWFyeVByb2Nlc3NNYWMubW0gKi8sCkBAIC05MDU1LDcgKzkwNTAsNiBAQAogCQkJCTFBRUZE
MkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0Nv
Y29hLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMTc5RkQ5QzEzNEQzODA2MDAxNUI4ODMgLyogQXJn
dW1lbnRDb2RlcnNNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0
RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3
MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364590</attachid>
            <date>2019-03-13 16:39:47 -0700</date>
            <delta_ts>2019-03-13 17:17:29 -0700</delta_ts>
            <desc>Build Fix</desc>
            <filename>ios-build-fix.patch</filename>
            <type>text/plain</type>
            <size>1784</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTE4YzFkNDhkYWQuLjkzZWZiMDlmMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEwIEBACisyMDE5LTAzLTEzICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4K
KworICAgICAgICBVbnJldmlld2VkIHNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBmb3Igd2F0Y2hPUyBh
ZnRlciByMjQyOTA4LgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29j
b2EubW06CisgICAgICAgIChJUEM6OmRlY29kZU9iamVjdCk6CisKIDIwMTktMDMtMTMgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2Nyb2xsaW5nIHRy
ZWUgc2hvdWxkIHJlcG9zaXRpb24gbm9uLXN0YWNraW5nIG9yZGVyIGRlc2NlbmRlbnRzIG9mIG92
ZXJmbG93OnNjcm9sbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Fy
Z3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVu
dENvZGVyc0NvY29hLm1tCmluZGV4IDZjMDc4OGUzY2YzLi5iZTFiYzA5Yjg4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0z
OCwxMiArMzgsMTcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KICNlbmRpZgogCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbXBvcnQgPFVJS2l0L1VJRm9udC5oPgorI2ltcG9y
dCA8VUlLaXQvVUlGb250RGVzY3JpcHRvci5oPgorI2VuZGlmCisKICNpZiBVU0UoQVBQS0lUKQot
I2RlZmluZSBQbGF0Zm9ybUZvbnQgTlNGb250Ci0jZGVmaW5lIFBsYXRmb3JtRm9udERlc2NyaXB0
b3IgTlNGb250RGVzY3JpcHRvcgordXNpbmcgUGxhdGZvcm1Gb250ID0gTlNGb250OwordXNpbmcg
UGxhdGZvcm1Gb250RGVzY3JpcHRvciA9IE5TRm9udERlc2NyaXB0b3I7CiAjZWxzZQotI2RlZmlu
ZSBQbGF0Zm9ybUZvbnQgVUlGb250Ci0jZGVmaW5lIFBsYXRmb3JtRm9udERlc2NyaXB0b3IgVUlG
b250RGVzY3JpcHRvcgordXNpbmcgUGxhdGZvcm1Gb250ID0gVUlGb250OwordXNpbmcgUGxhdGZv
cm1Gb250RGVzY3JpcHRvciA9IFVJRm9udERlc2NyaXB0b3I7CiAjZW5kaWYKIAogbmFtZXNwYWNl
IElQQyB7CkBAIC00MzYsMTMgKzQ0MSw4IEBAIE9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29k
ZU9iamVjdChEZWNvZGVyJiBkZWNvZGVyLCBOU0FycmF5PENsYXNzPiAqYWxsb3dlZENsCiAjZW5k
aWYKICAgICBjYXNlIE5TVHlwZTo6RGljdGlvbmFyeToKICAgICAgICAgcmV0dXJuIGRlY29kZURp
Y3Rpb25hcnlJbnRlcm5hbChkZWNvZGVyKTsKLSNpZiBVU0UoQVBQS0lUKQogICAgIGNhc2UgTlNU
eXBlOjpGb250OgogICAgICAgICByZXR1cm4gZGVjb2RlRm9udEludGVybmFsKGRlY29kZXIpOwot
I2Vsc2UKLSAgICBjYXNlIE5TVHlwZTo6Rm9udDoKLSAgICAgICAgcmV0dXJuIGRlY29kZUZvbnRJ
bnRlcm5hbChkZWNvZGVyKTsKLSNlbmRpZgogICAgIGNhc2UgTlNUeXBlOjpOdW1iZXI6CiAgICAg
ICAgIHJldHVybiBkZWNvZGVOdW1iZXJJbnRlcm5hbChkZWNvZGVyKTsKICAgICBjYXNlIE5TVHlw
ZTo6U2VjdXJlQ29kaW5nOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364666</attachid>
            <date>2019-03-14 11:06:41 -0700</date>
            <delta_ts>2019-03-14 11:40:56 -0700</delta_ts>
            <desc>Build Fix</desc>
            <filename>build-fix-watchos.patch</filename>
            <type>text/plain</type>
            <size>1095</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggOTBjN2Y4N2NkNzguLjJhZjk3ZjI3MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDkgQEAKKzIwMTktMDMtMTQgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQgc3BlY3VsYXRpdmUgYnVpbGQgZml4IGZvciB3YXRjaE9TIGFm
dGVyIHIyNDI5MDguCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzQ29jb2EubW06CisKIDIwMTktMDMtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVkU3RyaW5nIEFQSSBmb3IgY29u
dmVydGluZyBIVE1MLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCA0MDNkMzRlZmI5MS4uYTRmMTQzMzE1
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVu
dENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0zMSwxMiArMzEsMTQgQEAKICNpbXBvcnQgPFdlYkNv
cmUvRm9udEF0dHJpYnV0ZXMuaD4KIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0KICNpbXBvcnQg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudEF1dGhvcml6YXRpb25T
dGF0dXMuaD4KICNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KICNpbXBvcnQg
PHBhbC9zcGkvY29jb2EvTlNLZXllZEFyY2hpdmVyU1BJLmg+CisjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCisjaW1wb3J0IDxVSUtpdC9VSUZvbnQuaD4KICNlbmRpZgogCiBuYW1l
c3BhY2UgSVBDIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364693</attachid>
            <date>2019-03-14 14:59:20 -0700</date>
            <delta_ts>2019-03-15 11:39:46 -0700</delta_ts>
            <desc>Patch 3 / 4</desc>
            <filename>bug-195636-20190314145919.patch</filename>
            <type>text/plain</type>
            <size>17304</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE3YjRmZWQ1YjE0NDU2Nzc3
OTc2MTI5MDNjZmQxYTVkOTc3ZDE1ZWUuLmYzNzcyZmM4ZTY4MjUwOGMyN2Q1YjYxNWRhNmQ1MDJl
YTFkZWFmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMDMtMTQgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdl
YlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaDoK
KyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06CisgICAgICAgIChXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmc6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkF0
dHJpYnV0ZWRTdHJpbmc6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZ2V0Q29udGVudHNBc0F0dHJpYnV0
ZWRTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0Q29udGVudHNBc0F0
dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmF0dHJpYnV0
ZWRTdHJpbmdDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDMtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2Vic2l0ZVBvbGljeSBmb3IgdGhlIGNsaWVudCB0
byBzcGVjaWZ5IHRoZSBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHBvbGljeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLmgKaW5kZXggZWExY2Qz
ZWY0Yzk5NTE3ZDkyYzI2YjNjODMzODc3ODAwZmZmN2JlNi4uODUzMGY4MThiYWMxZjU5YjlmZWNi
NmEyNjc1MzAxMjIyYTJhM2Y0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L0F0dHJpYnV0ZWRTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmli
dXRlZFN0cmluZy5oCkBAIC0zOCw4ICszOCw5IEBAIHN0cnVjdCBBdHRyaWJ1dGVkU3RyaW5nIHsK
ICAgICB9CiAKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQotICAgIEF0dHJpYnV0ZWRTdHJpbmcoTlNB
dHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nKQorICAgIEF0dHJpYnV0ZWRTdHJpbmco
TlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nLCBOU0RpY3Rpb25hcnkgKmRvY3Vt
ZW50QXR0cmlidXRlcyA9IG5pbCkKICAgICAgICAgOiBzdHJpbmcoYXR0cmlidXRlZFN0cmluZykK
KyAgICAgICAgLCBkb2N1bWVudEF0dHJpYnV0ZXMoZG9jdW1lbnRBdHRyaWJ1dGVzKQogICAgIHsK
ICAgICB9CiAKQEAgLTQ4LDggKzQ5LDkgQEAgc3RydWN0IEF0dHJpYnV0ZWRTdHJpbmcgewogICAg
ICAgICByZXR1cm4gc3RyaW5nLmdldCgpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAgICAgUmV0
YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gc3RyaW5nOworICAgIFJldGFpblB0cjxOU0RpY3Rp
b25hcnk+IGRvY3VtZW50QXR0cmlidXRlczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KaW5kZXggYWUwODU4NDU0N2I2MWI1MzQyY2RhN2Nj
ZWNkNDE2MTRkNDg3ZTdlMy4uM2M0NzAwNTY4MzhkMTJiYWJhN2VhNWVhZjgxNDdhNWY3Yzg4NzVl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAg
LTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIElQQyB7CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmc+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2Vi
S2l0OjpBdHRyaWJ1dGVkU3RyaW5nJiBhdHRyaWJ1dGVkU3RyaW5nKQogewotICAgIGVuY29kZXIg
PDwgYXR0cmlidXRlZFN0cmluZy5zdHJpbmc7CisgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVkU3Ry
aW5nLnN0cmluZyA8PCBhdHRyaWJ1dGVkU3RyaW5nLmRvY3VtZW50QXR0cmlidXRlczsKIH0KIAog
T3B0aW9uYWw8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPiBBcmd1bWVudENvZGVyPFdlYktpdDo6
QXR0cmlidXRlZFN0cmluZz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNDIsNyArNDIs
MTAgQEAgT3B0aW9uYWw8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPiBBcmd1bWVudENvZGVyPFdl
YktpdDo6QXR0cmlidXRlZFN0cmluZz46OmRlY28KICAgICBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVk
U3RyaW5nPiBhdHRyaWJ1dGVkU3RyaW5nOwogICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rlciwg
YXR0cmlidXRlZFN0cmluZykpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmV0
dXJuIFdlYktpdDo6QXR0cmlidXRlZFN0cmluZyB7IGF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgfTsK
KyAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBkb2N1bWVudEF0dHJpYnV0ZXM7CisgICAgaWYg
KCFJUEM6OmRlY29kZShkZWNvZGVyLCBkb2N1bWVudEF0dHJpYnV0ZXMpKQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworICAgIHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyBh
dHRyaWJ1dGVkU3RyaW5nLmdldCgpLCBkb2N1bWVudEF0dHJpYnV0ZXMuZ2V0KCkgfTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggZjlkYWM0YTRhM2UyYTk1YmE0MmVmMmU0YjgwOWI4ZTRkNTQyYzcwNC4uZDZkNDMzYzU1M2Q4
YTQ3Y2RlY2FiNDNjMDczZTVjNTUxZjIxNDUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJB
UElGb3JtQ2xpZW50LmgiCiAjaW1wb3J0ICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9y
dCAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5n
LmgiCiAjaW1wb3J0ICJDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmgiCiAjaW1wb3J0ICJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2ltcG9ydCAiRHluYW1pY1ZpZXdwb3J0U2l6ZVVw
ZGF0ZS5oIgpAQCAtNTI1Myw2ICs1MjU0LDE5IEBAIC0gKHZvaWQpX2dldENvbnRlbnRzQXNTdHJp
bmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICosIE5TRXJyb3IKICAg
ICB9KTsKIH0KIAorLSAodm9pZClfZ2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmdXaXRoQ29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXR0cmlidXRlZFN0cmluZyAqLCBOU0RpY3Rpb25h
cnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqLCBOU0Vycm9y
ICopKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgYXV0byBoYW5kbGVyID0gbWFrZUJsb2NrUHRy
KGNvbXBsZXRpb25IYW5kbGVyKTsKKworICAgIF9wYWdlLT5nZXRDb250ZW50c0FzQXR0cmlidXRl
ZFN0cmluZyhbaGFuZGxlcl0oY29uc3QgV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nJiBzdHJpbmcs
IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKSB7CisgICAgICAgICAgICAvLyBG
SVhNRTogUGlwZSBhIHByb3BlciBlcnJvciBpbiBmcm9tIHRoZSBXZWJQYWdlUHJveHkuCisgICAg
ICAgICAgICBoYW5kbGVyKG5pbCwgbmlsLCBbTlNFcnJvciBlcnJvcldpdGhEb21haW46V0tFcnJv
ckRvbWFpbiBjb2RlOnN0YXRpY19jYXN0PGludD4oZXJyb3IpIHVzZXJJbmZvOm5pbF0pOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIGhhbmRsZXIoW1tzdHJpbmcuc3RyaW5nLmdldCgpIHJl
dGFpbl0gYXV0b3JlbGVhc2VdLCBbW3N0cmluZy5kb2N1bWVudEF0dHJpYnV0ZXMuZ2V0KCkgcmV0
YWluXSBhdXRvcmVsZWFzZV0sIG5pbCk7CisgICAgfSk7Cit9CisKIC0gKHZvaWQpX2dldEFwcGxp
Y2F0aW9uTWFuaWZlc3RXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3QgKikpY29tcGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoQVBQTElDQVRJ
T05fTUFOSUZFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBlYzY5MWM2MThlNzFlZGM0MTcyNGI3MDZkYjFhMWY2
MDc4NjY4Y2E5Li43NjM4NDc3NDk4ZWRkZTU4NzAzYzE0OGUzMjA2N2E3YmY5ZjQ2MzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmgKQEAgLTM2NCw2ICszNjQsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwg
X1dLUmVjdEVkZ2UpIHsKIC0gKHZvaWQpX2dldE1haW5SZXNvdXJjZURhdGFXaXRoQ29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVy
OwogLSAodm9pZClfZ2V0V2ViQXJjaGl2ZURhdGFXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZClfZ2V0
Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNTdHJpbmcg
KiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmlu
Z1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBdHRyaWJ1dGVkU3RyaW5nICosIE5T
RGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudEF0dHJpYnV0ZUtleSwgaWQ+ICos
IE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSksIGlvcyhXS19NQUNfVEJBKSk7CiAKIC0gKHZvaWQpX2dldEFwcGxpY2F0aW9uTWFu
aWZlc3RXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3QgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCks
IGlvcygxMS4zKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmlu
ZGV4IGJmNzJmMDAyMGE3NmIzMzA0Mzk0NjI3MWJhNDBjNDY3ZDJkM2Y5MjQuLjZkYzRhOGUxMjI2
N2FjYmU1YTlhZjliZmMyODViYzZiNmM2ZTFiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMTg3LDYgKzE4Nyw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQorI2luY2x1ZGUgIkF0dHJpYnV0ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVl
U2Nyb2xsaW5nUGVyZm9ybWFuY2VEYXRhLmgiCiAjaW5jbHVkZSAiVG91Y2hCYXJNZW51RGF0YS5o
IgpAQCAtMzYwMSw2ICszNjAyLDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRDb250ZW50c0Fz
U3RyaW5nKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhCiAgICAgbV9w
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRDb250ZW50c0FzU3RyaW5nKGNhbGxi
YWNrSUQpLCBtX3BhZ2VJRCk7CiB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhXVEY6OkZ1bmN0aW9uPHZvaWQg
KGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjYWxsYmFj
a0Z1bmN0aW9uKQoreworICAgIGlmICghaXNWYWxpZCgpKSB7CisgICAgICAgIGNhbGxiYWNrRnVu
Y3Rpb24oQXR0cmlidXRlZFN0cmluZygpLCBDYWxsYmFja0Jhc2U6OkVycm9yOjpVbmtub3duKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gY2FsbGJhY2tJRCA9IG1fY2FsbGJh
Y2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24pLCBtX3Byb2Nlc3MtPnRocm90dGxlcigp
LmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCkpOworICAgIG1fbG9hZERlcGVuZGVudFN0cmluZ0Nh
bGxiYWNrSURzLmFkZChjYWxsYmFja0lEKTsKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKGNhbGxiYWNrSUQpLCBtX3Bh
Z2VJRCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OmdldEJ5dGVjb2RlUHJvZmls
ZShXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3Ip
PiYmIGNhbGxiYWNrRnVuY3Rpb24pCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkpIHsKQEAgLTYzNjIs
NiArNjM3NywyMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW52YWxpZGF0ZVN0cmluZ0NhbGxiYWNr
KENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBjYWxsYmFjay0+aW52YWxpZGF0ZSgpOwogfQog
CisjaWYgUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYlBhZ2VQcm94eTo6YXR0cmlidXRlZFN0cmlu
Z0NhbGxiYWNrKGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmIHJlc3VsdFN0cmluZywgQ2FsbGJhY2tJ
RCBjYWxsYmFja0lEKQoreworICAgIGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxiYWNrcy50YWtlPEF0
dHJpYnV0ZWRTdHJpbmdDYWxsYmFjaz4oY2FsbGJhY2tJRCk7CisgICAgaWYgKCFjYWxsYmFjaykg
eworICAgICAgICAvLyBGSVhNRTogTG9nIGVycm9yIG9yIGFzc2VydC4KKyAgICAgICAgLy8gdGhp
cyBjYW4gdmFsaWRseSBoYXBwZW4gaWYgYSBsb2FkIGludmFsaWRhdGVkIHRoZSBjYWxsYmFjaywg
dGhvdWdoCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2xvYWREZXBlbmRlbnRTdHJp
bmdDYWxsYmFja0lEcy5yZW1vdmUoY2FsbGJhY2tJRCk7CisKKyAgICBjYWxsYmFjay0+cGVyZm9y
bUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHJlc3VsdFN0cmluZyk7Cit9CisjZW5kaWYKKwogdm9p
ZCBXZWJQYWdlUHJveHk6OnNjcmlwdFZhbHVlQ2FsbGJhY2soY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJiBkYXRhUmVmZXJlbmNlLCBib29sIGhhZEV4Y2VwdGlvbiwgY29uc3QgRXhjZXB0aW9uRGV0
YWlscyYgZGV0YWlscywgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQogewogICAgIGF1dG8gY2FsbGJh
Y2sgPSBtX2NhbGxiYWNrcy50YWtlPFNjcmlwdFZhbHVlQ2FsbGJhY2s+KGNhbGxiYWNrSUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwYTZiZGJhNDQyMDc2ZTlk
MTM4YzExOTljMGI5YjUyZTUxOTA5NWQ4Li5lOWQyZTEwZmZlZTA0NTE3ZGQ2MmNiMmExMTMwNTlj
MTNjY2E4NWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk2
LDYgKzI5NiwxMCBAQCB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBTdHJpbmcmPiBTdHJp
bmdDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6U2VyaWFsaXplZFNjcmlw
dFZhbHVlKiwgYm9vbCwgY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscyY+IFNjcmlwdFZh
bHVlQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBXZWJDb3JlOjpGb250
QXR0cmlidXRlcyY+IEZvbnRBdHRyaWJ1dGVzQ2FsbGJhY2s7CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKK3R5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmPiBBdHRy
aWJ1dGVkU3RyaW5nQ2FsbGJhY2s7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKEdUSykKIHR5cGVk
ZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6RXJyb3IqPiBQcmludEZpbmlzaGVkQ2FsbGJhY2s7CiAj
ZW5kaWYKQEAgLTk2Nyw2ICs5NzEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRGaW5kU3RyaW5n
TWF0Y2hlcyhjb25zdCBTdHJpbmcmLCBjb25zdCBWZWN0b3I8VmVjdG9yPFdlYkNvcmU6OkludFJl
Y3Q+PiYgbWF0Y2hSZWN0cywgaW50MzJfdCBmaXJzdEluZGV4QWZ0ZXJTZWxlY3Rpb24pOwogCiAg
ICAgdm9pZCBnZXRDb250ZW50c0FzU3RyaW5nKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3Ry
aW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IHZvaWQgZ2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChj
b25zdCBBdHRyaWJ1dGVkU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOworI2VuZGlm
CiAgICAgdm9pZCBnZXRCeXRlY29kZVByb2ZpbGUoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBT
dHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAgICAgdm9pZCBnZXRTYW1wbGluZ1By
b2ZpbGVyT3V0cHV0KFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tC
YXNlOjpFcnJvcik+JiYpOwogCkBAIC0xNzg0LDYgKzE3OTEsOSBAQCBwcml2YXRlOgogICAgIHZv
aWQgaW1hZ2VDYWxsYmFjayhjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYsIENhbGxiYWNr
SUQpOwogICAgIHZvaWQgc3RyaW5nQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBpbnZhbGlkYXRlU3RyaW5nQ2FsbGJhY2soQ2FsbGJhY2tJRCk7CisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgdm9pZCBhdHRyaWJ1dGVkU3RyaW5nQ2FsbGJhY2soY29uc3QgQXR0
cmlidXRlZFN0cmluZyYsIENhbGxiYWNrSUQpOworI2VuZGlmCiAgICAgdm9pZCBzY3JpcHRWYWx1
ZUNhbGxiYWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGJvb2wgaGFkRXhjZXB0aW9uLCBj
b25zdCBXZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBj
b21wdXRlZFBhZ2VzQ2FsbGJhY2soY29uc3QgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+JiwgZG91
YmxlIHRvdGFsU2NhbGVGYWN0b3JGb3JQcmludGluZywgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCB2
YWxpZGF0ZUNvbW1hbmRDYWxsYmFjayhjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIENhbGxiYWNr
SUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IGMwNzZlOWVkZTRmYTU3NWUwZmZhZTNkODIzYTY2MzZiZjc2M2JhZTMuLjA1YWIw
MWU4MGQ2NTAxM2NhMTQwMDdmYzhlYjc3NmQ3N2E3YTAxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTE2Niw2ICsxNjYsOSBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERhdGFDYWxsYmFjayhJUEM6OlNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2UgcmVzdWx0RGF0YSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCiAgICAgSW1hZ2VDYWxsYmFjayhXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxl
IGJpdG1hcEhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgU3RyaW5n
Q2FsbGJhY2soU3RyaW5nIHJlc3VsdFN0cmluZywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgQXR0cmlidXRlZFN0cmluZ0NhbGxiYWNrKHN0
cnVjdCBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0U3RyaW5nLCBXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKKyNlbmRpZgogICAgIEludmFsaWRhdGVTdHJpbmdDYWxsYmFjayhX
ZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBTY3JpcHRWYWx1ZUNhbGxiYWNrKElQ
Qzo6RGF0YVJlZmVyZW5jZSByZXN1bHREYXRhLCBib29sIGhhZEV4Y2VwdGlvbiwgc3RydWN0IFdl
YkNvcmU6OkV4Y2VwdGlvbkRldGFpbHMgZGV0YWlscywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCiAgICAgQ29tcHV0ZWRQYWdlc0NhbGxiYWNrKFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
PiBwYWdlUmVjdHMsIGRvdWJsZSB0b3RhbFNjYWxlRmFjdG9yRm9yUHJpbnRpbmcsIFdlYktpdDo6
Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCmluZGV4IGQ2MzA2NzA3YmNiZmM5ZDdj
ODNkYTYzNWQ2Mjc1NjYxMGExOWZkYjUuLmVjZDNhYmNiZDVmYWU5NzZkMTEwOTI3ODcwMDUyNzQ0
NzZkYTczYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KQEAgLTI3LDYgKzI3LDcgQEAKICNpbXBvcnQgIldlYlBh
Z2UuaCIKIAogCisjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJMb2FkUGFy
YW1ldGVycy5oIgogI2ltcG9ydCAiUGx1Z2luVmlldy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
TWVzc2FnZXMuaCIKQEAgLTQyLDYgKzQzLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlckVsZW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyT2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRJ
dGVyYXRvci5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKQEAgLTIwMSw2ICsyMDMsMjEgQEAg
V2ViUGF5bWVudENvb3JkaW5hdG9yKiBXZWJQYWdlOjpwYXltZW50Q29vcmRpbmF0b3IoKQogfQog
I2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoQ2Fs
bGJhY2tJRCBjYWxsYmFja0lEKQoreworICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZy
YW1lKCk7CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZy
b21Mb2NhdGlvbkFuZExlbmd0aChmcmFtZS5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSwg
MCwgSU5UX01BWCk7CisKKyAgICBOU0RpY3Rpb25hcnkqIGRvY3VtZW50QXR0cmlidXRlcyA9IG5p
bDsKKworICAgIEF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0OworICAgIHJlc3VsdC5zdHJpbmcgPSBh
dHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKCpyYW5nZSwgJmRvY3VtZW50QXR0cmlidXRlcyk7Cisg
ICAgcmVzdWx0LmRvY3VtZW50QXR0cmlidXRlcyA9IGRvY3VtZW50QXR0cmlidXRlczsKKworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QXR0cmlidXRlZFN0cmluZ0NhbGxiYWNrKHJl
c3VsdCwgY2FsbGJhY2tJRCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlm
IC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCmluZGV4IDUxMDFjNDAwMDJlNTEzMDI5MTI2YmMwODMwMzcxZjE5YjAwMjk0ZDYuLjIy
Njg4OWQ3ZGU3NzY4MTZhNjRlYTJhODdlZDNmNjMwY2ZkMjQ5OTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEzMTUsNiArMTMxNSw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB2aWV3V2lsbEVuZExpdmVSZXNpemUoKTsKIAogICAgIHZvaWQgZ2V0Q29u
dGVudHNBc1N0cmluZyhDYWxsYmFja0lEKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lk
IGdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKENhbGxiYWNrSUQpOworI2VuZGlmCiAjaWYg
RU5BQkxFKE1IVE1MKQogICAgIHZvaWQgZ2V0Q29udGVudHNBc01IVE1MRGF0YShDYWxsYmFja0lE
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMDk5YWU1NmQzN2Q0Y2Y4NzI1ZjFiODAyODY0MzIwYTlh
MThmNGVlMC4uNjZjZGJiODFkNDAyNTI4YTY0Yjg2NDc5NTRjOTI3M2RlYjNiNmM5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluCkBAIC0xODIsNiArMTgyLDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZl
ciB7CiAKICAgICAjIENhbGxiYWNrcy4KICAgICBHZXRDb250ZW50c0FzU3RyaW5nKFdlYktpdDo6
Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIEdldENvbnRl
bnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIEdldENvbnRlbnRzQXNNSFRNTERhdGEoV2ViS2l0
OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkZTcxMzI3ZDk0YTE2MzZhMDE5MThmN2Q2OWIx
MDY5NThlOTczOGRjLi5mMWVlNThiM2U2YTZiNjVhYjM4MDFmNDZiYzhjYmQ4MGFkYzNlNjllIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTktMDMtMTQgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdlYlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRl
bnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1
Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1tOgor
ICAgICAgICAoVEVTVChXS1dlYlZpZXcsIEdldENvbnRlbnRzU2hvdWxkUmV0dXJuQXR0cmlidXRl
ZFN0cmluZyk6IEFkZGVkLgorCiAyMDE5LTAzLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIFdlYnNpdGVQb2xpY3kgZm9yIHRoZSBjbGllbnQgdG8gc3Bl
Y2lmeSB0aGUgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyBwb2xpY3kKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3R2V0
Q29udGVudHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2Vi
Vmlld0dldENvbnRlbnRzLm1tCmluZGV4IDc5OGU0NGE0YjdiOGJkMzU3ZWEwMGI0MDA1MzY3N2Uz
ZDczMTllY2UuLjQzMzdiZGExYWQ3NjhmODhlNjE1ZjcwNDEyZTBmYjc0ODdiNWE0NTggMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3R2V0
Q29udGVudHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
S1dlYlZpZXdHZXRDb250ZW50cy5tbQpAQCAtNDgsMyArNDgsNDggQEAgVEVTVChXS1dlYlZpZXcs
IEdldENvbnRlbnRzU2hvdWxkUmV0dXJuU3RyaW5nKQogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZmaW5pc2hlZCk7CiB9CisKK1RFU1QoV0tXZWJWaWV3LCBHZXRDb250ZW50c1Nob3Vs
ZFJldHVybkF0dHJpYnV0ZWRTdHJpbmcpCit7CisgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNs
eUxvYWRIVE1MU3RyaW5nOkAiPGJvZHkgYmdjb2xvcj0ncmVkJz5IZWxsbyA8Yj5Xb3JsZCE8L2I+
Il07CisKKyAgICBfX2Jsb2NrIGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKKworI2lmIFVTRShBUFBL
SVQpCisgICAgdXNpbmcgUGxhdGZvcm1Gb250ID0gTlNGb250OworICAgIHVzaW5nIFBsYXRmb3Jt
Q29sb3IgPSBOU0NvbG9yOworI2Vsc2UKKyAgICB1c2luZyBQbGF0Zm9ybUZvbnQgPSBVSUZvbnQ7
CisgICAgdXNpbmcgUGxhdGZvcm1Db2xvciA9IFVJQ29sb3I7CisjZW5kaWYKKworICAgIFt3ZWJW
aWV3IF9nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjpe
KE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5TQXR0
cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKmRvY3VtZW50QXR0cmlidXRl
cywgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX05PVF9OVUxMKGF0dHJpYnV0ZWRT
dHJpbmcpOworICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZG9jdW1lbnRBdHRyaWJ1dGVzKTsKKyAg
ICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOworCisgICAgICAgIF9fYmxvY2sgc2l6ZV90IGkgPSAw
OworICAgICAgICBbYXR0cmlidXRlZFN0cmluZyBlbnVtZXJhdGVBdHRyaWJ1dGVzSW5SYW5nZTpO
U01ha2VSYW5nZSgwLCBhdHRyaWJ1dGVkU3RyaW5nLmxlbmd0aCkgb3B0aW9uczowIHVzaW5nQmxv
Y2s6XihOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIE5TUmFuZ2UgYXR0cmlidXRlUmFuZ2UsIEJP
T0wgKnN0b3ApIHsKKyAgICAgICAgICAgIGF1dG8qIHN1YnN0cmluZyA9IFthdHRyaWJ1dGVkU3Ry
aW5nIGF0dHJpYnV0ZWRTdWJzdHJpbmdGcm9tUmFuZ2U6YXR0cmlidXRlUmFuZ2VdOworCisgICAg
ICAgICAgICBpZiAoIWkpIHsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJIZWxs
byAiLCBzdWJzdHJpbmcuc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEo
QCJUaW1lcy1Sb21hbiIsIGR5bmFtaWNfb2JqY19jYXN0PFBsYXRmb3JtRm9udD4oYXR0cmlidXRl
c1tOU0ZvbnRBdHRyaWJ1dGVOYW1lXSkuZm9udE5hbWUpOworICAgICAgICAgICAgfSBlbHNlIGlm
IChpID09IDEpIHsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJXb3JsZCEiLCBz
dWJzdHJpbmcuc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaW1l
cy1Cb2xkIiwgZHluYW1pY19vYmpjX2Nhc3Q8UGxhdGZvcm1Gb250PihhdHRyaWJ1dGVzW05TRm9u
dEF0dHJpYnV0ZU5hbWVdKS5mb250TmFtZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKworICAgICAgICAgICAgKytpOworICAgICAg
ICB9XTsKKworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJzUkdCIElFQzYxOTY2LTIuMSBjb2xv
cnNwYWNlIDEgMCAwIDEiLCBkeW5hbWljX29iamNfY2FzdDxQbGF0Zm9ybUNvbG9yPihkb2N1bWVu
dEF0dHJpYnV0ZXNbTlNCYWNrZ3JvdW5kQ29sb3JEb2N1bWVudEF0dHJpYnV0ZV0pLmRlc2NyaXB0
aW9uKTsKKworICAgICAgICBmaW5pc2hlZCA9IHRydWU7CisgICAgfV07CisKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364817</attachid>
            <date>2019-03-15 11:39:36 -0700</date>
            <delta_ts>2019-03-15 13:58:14 -0700</delta_ts>
            <desc>Patch 3 / 4</desc>
            <filename>bug-195636-20190315113935.patch</filename>
            <type>text/plain</type>
            <size>15006</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE3YjRmZWQ1YjE0NDU2Nzc3
OTc2MTI5MDNjZmQxYTVkOTc3ZDE1ZWUuLmQwNjExODM4OGM0MzQ0YjhhYTMzMDA0MGQyMTVlYTYz
OWNkNjI3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDMtMTUgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdl
YlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaDoK
KyAgICAgICAgKFdlYktpdDo6QXR0cmlidXRlZFN0cmluZzo6QXR0cmlidXRlZFN0cmluZyk6Cisg
ICAgICAgICogU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tOgorICAgICAgICAoSVBDOjpB
cmd1bWVudENvZGVyPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZGVjb2RlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFu
ZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldENv
bnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluOgorCiAyMDE5LTAzLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIFdlYnNpdGVQb2xpY3kgZm9yIHRoZSBjbGllbnQgdG8gc3BlY2lmeSB0aGUgZGV2
aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyBwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5oCmluZGV4IGVhMWNkM2VmNGM5OTUxN2Q5MmMyNmIz
YzgzMzg3NzgwMGZmZjdiZTYuLjg1MzBmODE4YmFjMWY1OWI5ZmVjYjZhMjY3NTMwMTIyMmEyYTNm
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5n
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaApAQCAt
MzgsOCArMzgsOSBAQCBzdHJ1Y3QgQXR0cmlidXRlZFN0cmluZyB7CiAgICAgfQogCiAjaWYgZGVm
aW5lZChfX09CSkNfXykKLSAgICBBdHRyaWJ1dGVkU3RyaW5nKE5TQXR0cmlidXRlZFN0cmluZyAq
YXR0cmlidXRlZFN0cmluZykKKyAgICBBdHRyaWJ1dGVkU3RyaW5nKE5TQXR0cmlidXRlZFN0cmlu
ZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5ICpkb2N1bWVudEF0dHJpYnV0ZXMgPSBu
aWwpCiAgICAgICAgIDogc3RyaW5nKGF0dHJpYnV0ZWRTdHJpbmcpCisgICAgICAgICwgZG9jdW1l
bnRBdHRyaWJ1dGVzKGRvY3VtZW50QXR0cmlidXRlcykKICAgICB7CiAgICAgfQogCkBAIC00OCw4
ICs0OSw5IEBAIHN0cnVjdCBBdHRyaWJ1dGVkU3RyaW5nIHsKICAgICAgICAgcmV0dXJuIHN0cmlu
Zy5nZXQoKTsKICAgICB9CiAjZW5kaWYKLSAgICAKKwogICAgIFJldGFpblB0cjxOU0F0dHJpYnV0
ZWRTdHJpbmc+IHN0cmluZzsKKyAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBkb2N1bWVudEF0
dHJpYnV0ZXM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
QXR0cmlidXRlZFN0cmluZy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVk
U3RyaW5nLm1tCmluZGV4IGFlMDg1ODQ1NDdiNjFiNTM0MmNkYTdjY2VjZDQxNjE0ZDQ4N2U3ZTMu
LjNjNDcwMDU2ODM4ZDEyYmFiYTdlYTVlYWY4MTQ3YTVmN2M4ODc1ZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tCkBAIC0zNCw3ICszNCw3IEBAIG5h
bWVzcGFjZSBJUEMgewogCiB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3Ry
aW5nPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYktpdDo6QXR0cmlidXRlZFN0
cmluZyYgYXR0cmlidXRlZFN0cmluZykKIHsKLSAgICBlbmNvZGVyIDw8IGF0dHJpYnV0ZWRTdHJp
bmcuc3RyaW5nOworICAgIGVuY29kZXIgPDwgYXR0cmlidXRlZFN0cmluZy5zdHJpbmcgPDwgYXR0
cmlidXRlZFN0cmluZy5kb2N1bWVudEF0dHJpYnV0ZXM7CiB9CiAKIE9wdGlvbmFsPFdlYktpdDo6
QXR0cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTQyLDcgKzQyLDEwIEBAIE9wdGlvbmFsPFdl
YktpdDo6QXR0cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRT
dHJpbmc+OjpkZWNvCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRl
ZFN0cmluZzsKICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGF0dHJpYnV0ZWRTdHJpbmcp
KQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIHJldHVybiBXZWJLaXQ6OkF0dHJp
YnV0ZWRTdHJpbmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgpIH07CisgICAgUmV0YWluUHRyPE5T
RGljdGlvbmFyeT4gZG9jdW1lbnRBdHRyaWJ1dGVzOworICAgIGlmICghSVBDOjpkZWNvZGUoZGVj
b2RlciwgZG9jdW1lbnRBdHRyaWJ1dGVzKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KyAgICByZXR1cm4gV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHsgYXR0cmlidXRlZFN0cmluZy5n
ZXQoKSwgZG9jdW1lbnRBdHRyaWJ1dGVzLmdldCgpIH07CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGY5ZGFjNGE0YTNlMmE5
NWJhNDJlZjJlNGI4MDliOGU0ZDU0MmM3MDQuLjEzNmE2OTI0YjFiYmEzMTdjZDVhZTZmZDk4Y2Y3
MGM1ZmQ1N2YxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiQVBJRm9ybUNsaWVudC5oIgog
I2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbXBvcnQgIkFQSVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIgorI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiQ29t
cGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oIgogI2ltcG9ydCAiRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCIKICNpbXBvcnQgIkR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUuaCIKQEAgLTUyNTMs
NiArNTI1NCwxNiBAQCAtICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25I
YW5kbGVyOih2b2lkICheKShOU1N0cmluZyAqLCBOU0Vycm9yCiAgICAgfSk7CiB9CiAKKy0gKHZv
aWQpX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShOU0F0dHJpYnV0ZWRTdHJpbmcgKiwgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0
cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIF9wYWdlLT5nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhbaGFuZGxl
ciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mIGF0dHJpYnV0ZWRTdHJp
bmcpIHsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nKQorICAgICAgICAgICAg
aGFuZGxlcihbW2F0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIHJldGFpbl0gYXV0b3JlbGVh
c2VdLCBbW2F0dHJpYnV0ZWRTdHJpbmcuZG9jdW1lbnRBdHRyaWJ1dGVzLmdldCgpIHJldGFpbl0g
YXV0b3JlbGVhc2VdLCBuaWwpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBoYW5kbGVyKG5p
bCwgbmlsLCBjcmVhdGVOU0Vycm9yKFdLRXJyb3JVbmtub3duKS5nZXQoKSk7CisgICAgfSk7Cit9
CisKIC0gKHZvaWQpX2dldEFwcGxpY2F0aW9uTWFuaWZlc3RXaXRoQ29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKikpY29tcGxldGlvbkhhbmRsZXIKIHsK
ICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBlYzY5MWM2MThl
NzFlZGM0MTcyNGI3MDZkYjFhMWY2MDc4NjY4Y2E5Li43NjM4NDc3NDk4ZWRkZTU4NzAzYzE0OGUz
MjA2N2E3YmY5ZjQ2MzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTM2NCw2ICszNjQsNyBAQCB0eXBlZGVmIE5T
X09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKHZvaWQpX2dldE1haW5SZXNv
dXJjZURhdGFXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9y
ICopKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZClfZ2V0V2ViQXJjaGl2ZURhdGFXaXRoQ29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25I
YW5kbGVyOwogLSAodm9pZClfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoTlNTdHJpbmcgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9nZXRDb250
ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNB
dHRyaWJ1dGVkU3RyaW5nICosIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVu
dEF0dHJpYnV0ZUtleSwgaWQ+ICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19NQUNfVEJBKSk7CiAKIC0gKHZv
aWQpX2dldEFwcGxpY2F0aW9uTWFuaWZlc3RXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGJmNzJmMDAyMGE3NmIzMzA0Mzk0NjI3MWJhNDBjNDY3
ZDJkM2Y5MjQuLmFiODU3ZDVjNzM3YzJjZjVkNTQ4MGNkODNkYzhjMjVjNGIzODFkMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTg3LDYgKzE4Nyw3IEBA
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgIkF0dHJpYnV0ZWRTdHJp
bmcuaCIKICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5j
bHVkZSAiUmVtb3RlTGF5ZXJUcmVlU2Nyb2xsaW5nUGVyZm9ybWFuY2VEYXRhLmgiCiAjaW5jbHVk
ZSAiVG91Y2hCYXJNZW51RGF0YS5oIgpAQCAtMzYwMSw2ICszNjAyLDE4IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpnZXRDb250ZW50c0FzU3RyaW5nKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3Ry
aW5nJiwgQ2FsbGJhCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRD
b250ZW50c0FzU3RyaW5nKGNhbGxiYWNrSUQpLCBtX3BhZ2VJRCk7CiB9CiAKKyNpZiBQTEFURk9S
TShDT0NPQSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmlu
ZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihBdHRyaWJ1dGVkU3RyaW5nKCkpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6V2ViUGFnZTo6R2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoKSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlciksIG1fcGFnZUlEKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94
eTo6Z2V0Qnl0ZWNvZGVQcm9maWxlKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwg
Q2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKIHsKICAgICBpZiAoIWlz
VmFsaWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwYTZi
ZGJhNDQyMDc2ZTlkMTM4YzExOTljMGI5YjUyZTUxOTA5NWQ4Li4yYTJhZTUzYWI2NDgwYTlmNDA2
OTMyNjkzZjRmMzU1ZjY5NjgyZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMjk2LDYgKzI5NiwxMCBAQCB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBT
dHJpbmcmPiBTdHJpbmdDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6U2Vy
aWFsaXplZFNjcmlwdFZhbHVlKiwgYm9vbCwgY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWls
cyY+IFNjcmlwdFZhbHVlQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBX
ZWJDb3JlOjpGb250QXR0cmlidXRlcyY+IEZvbnRBdHRyaWJ1dGVzQ2FsbGJhY2s7CiAKKyNpZiBQ
TEFURk9STShDT0NPQSkKK3R5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IEF0dHJpYnV0ZWRT
dHJpbmcmPiBBdHRyaWJ1dGVkU3RyaW5nQ2FsbGJhY2s7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JN
KEdUSykKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6RXJyb3IqPiBQcmludEZpbmlzaGVk
Q2FsbGJhY2s7CiAjZW5kaWYKQEAgLTk2Nyw2ICs5NzEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRGaW5kU3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmLCBjb25zdCBWZWN0b3I8VmVjdG9yPFdl
YkNvcmU6OkludFJlY3Q+PiYgbWF0Y2hSZWN0cywgaW50MzJfdCBmaXJzdEluZGV4QWZ0ZXJTZWxl
Y3Rpb24pOwogCiAgICAgdm9pZCBnZXRDb250ZW50c0FzU3RyaW5nKFdURjo6RnVuY3Rpb248dm9p
ZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOworI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIHZvaWQgZ2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChjb25zdCBBdHRyaWJ1dGVkU3RyaW5nJik+JiYpOworI2VuZGlmCiAgICAg
dm9pZCBnZXRCeXRlY29kZVByb2ZpbGUoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcm
LCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAgICAgdm9pZCBnZXRTYW1wbGluZ1Byb2ZpbGVy
T3V0cHV0KFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpF
cnJvcik+JiYpOwogCkBAIC0xNzg0LDYgKzE3OTEsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgaW1h
Z2VDYWxsYmFjayhjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYsIENhbGxiYWNrSUQpOwog
ICAgIHZvaWQgc3RyaW5nQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tJRCk7CiAgICAg
dm9pZCBpbnZhbGlkYXRlU3RyaW5nQ2FsbGJhY2soQ2FsbGJhY2tJRCk7CisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdm9pZCBhdHRyaWJ1dGVkU3RyaW5nQ2FsbGJhY2soY29uc3QgQXR0cmlidXRl
ZFN0cmluZyYsIENhbGxiYWNrSUQpOworI2VuZGlmCiAgICAgdm9pZCBzY3JpcHRWYWx1ZUNhbGxi
YWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGJvb2wgaGFkRXhjZXB0aW9uLCBjb25zdCBX
ZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjb21wdXRl
ZFBhZ2VzQ2FsbGJhY2soY29uc3QgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+JiwgZG91YmxlIHRv
dGFsU2NhbGVGYWN0b3JGb3JQcmludGluZywgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCB2YWxpZGF0
ZUNvbW1hbmRDYWxsYmFjayhjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIENhbGxiYWNrSUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCmluZGV4IGQ2MzA2NzA3YmNiZmM5ZDdjODNkYTYzNWQ2Mjc1NjYxMGExOWZkYjUu
LmJkODdiZmUwNzM4ZDk4ZTA0MzkzYWM3MTAxOGNhNjYyZjgxODhjYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0K
QEAgLTI3LDYgKzI3LDcgQEAKICNpbXBvcnQgIldlYlBhZ2UuaCIKIAogCisjaW1wb3J0ICJBdHRy
aWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJMb2FkUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiUGx1
Z2luVmlldy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKQEAgLTQyLDYgKzQz
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1JlbmRlckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVy
T2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRJdGVyYXRvci5oPgogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAKQEAgLTIwMSw2ICsyMDMsMjEgQEAgV2ViUGF5bWVudENvb3JkaW5hdG9yKiBX
ZWJQYWdlOjpwYXltZW50Q29vcmRpbmF0b3IoKQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6
Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25z
dCBBdHRyaWJ1dGVkU3RyaW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgRnJhbWUm
IGZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2Ug
PSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKGZyYW1lLmRvY3VtZW50
KCktPmRvY3VtZW50RWxlbWVudCgpLCAwLCBJTlRfTUFYKTsKKworICAgIE5TRGljdGlvbmFyeSog
ZG9jdW1lbnRBdHRyaWJ1dGVzID0gbmlsOworCisgICAgQXR0cmlidXRlZFN0cmluZyByZXN1bHQ7
CisgICAgcmVzdWx0LnN0cmluZyA9IGF0dHJpYnV0ZWRTdHJpbmdGcm9tUmFuZ2UoKnJhbmdlLCAm
ZG9jdW1lbnRBdHRyaWJ1dGVzKTsKKyAgICByZXN1bHQuZG9jdW1lbnRBdHRyaWJ1dGVzID0gZG9j
dW1lbnRBdHRyaWJ1dGVzOworCisgICAgY29tcGxldGlvbkhhbmRsZXIoeyByZXN1bHQgfSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNTEwMWM0MDAw
MmU1MTMwMjkxMjZiYzA4MzAzNzFmMTliMDAyOTRkNi4uODEzYmIyMGY3NWY4OTllMmUxMWE1YzBl
ZWZiNmM0YzNkMWYzODNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaApAQCAtMTMxNSw2ICsxMzE1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpZXdXaWxs
RW5kTGl2ZVJlc2l6ZSgpOwogCiAgICAgdm9pZCBnZXRDb250ZW50c0FzU3RyaW5nKENhbGxiYWNr
SUQpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgZ2V0Q29udGVudHNBc0F0dHJpYnV0
ZWRTdHJpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBBdHRyaWJ1dGVkU3RyaW5nJik+
JiYpOworI2VuZGlmCiAjaWYgRU5BQkxFKE1IVE1MKQogICAgIHZvaWQgZ2V0Q29udGVudHNBc01I
VE1MRGF0YShDYWxsYmFja0lEKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMDk5YWU1NmQzN2Q0Y2Y4
NzI1ZjFiODAyODY0MzIwYTlhMThmNGVlMC4uYzhlMGFiNTI0MDhlOGMzMDFlZmY3MTcyYmFlOGM5
OWZkY2JmMjAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xODIsNiArMTgyLDkgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICAjIENhbGxiYWNrcy4KICAgICBHZXRDb250ZW50
c0FzU3RyaW5nKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIEdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKCkgLT4gKHN0cnVjdCBXZWJL
aXQ6OkF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0KSBBc3luYworI2VuZGlmCiAjaWYgRU5BQkxFKE1I
VE1MKQogICAgIEdldENvbnRlbnRzQXNNSFRNTERhdGEoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBkZTcxMzI3ZDk0YTE2MzZhMDE5MThmN2Q2OWIxMDY5NThlOTczOGRjLi5jOTMy
YzliZjNhZTQ0NTVmYWQzYWMwMTAyMDg3Y2U0MDhkMDA5MTBmIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDMt
MTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dXBwb3J0IHRvIFdlYlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0
ZWQgc3RyaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1tOgorICAgICAgICAoVEVTVChXS1dl
YlZpZXcsIEdldENvbnRlbnRzU2hvdWxkUmV0dXJuQXR0cmlidXRlZFN0cmluZyk6IEFkZGVkLgor
CiAyMDE5LTAzLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFdlYnNpdGVQb2xpY3kgZm9yIHRoZSBjbGllbnQgdG8gc3BlY2lmeSB0aGUgZGV2aWNlIG9y
aWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyBwb2xpY3kKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3R2V0Q29udGVudHMubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1t
CmluZGV4IDc5OGU0NGE0YjdiOGJkMzU3ZWEwMGI0MDA1MzY3N2UzZDczMTllY2UuLjQzMzdiZGEx
YWQ3NjhmODhlNjE1ZjcwNDEyZTBmYjc0ODdiNWE0NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3R2V0Q29udGVudHMubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdHZXRDb250ZW50
cy5tbQpAQCAtNDgsMyArNDgsNDggQEAgVEVTVChXS1dlYlZpZXcsIEdldENvbnRlbnRzU2hvdWxk
UmV0dXJuU3RyaW5nKQogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZmaW5pc2hlZCk7
CiB9CisKK1RFU1QoV0tXZWJWaWV3LCBHZXRDb250ZW50c1Nob3VsZFJldHVybkF0dHJpYnV0ZWRT
dHJpbmcpCit7CisgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKV0pOworCisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAi
PGJvZHkgYmdjb2xvcj0ncmVkJz5IZWxsbyA8Yj5Xb3JsZCE8L2I+Il07CisKKyAgICBfX2Jsb2Nr
IGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKKworI2lmIFVTRShBUFBLSVQpCisgICAgdXNpbmcgUGxh
dGZvcm1Gb250ID0gTlNGb250OworICAgIHVzaW5nIFBsYXRmb3JtQ29sb3IgPSBOU0NvbG9yOwor
I2Vsc2UKKyAgICB1c2luZyBQbGF0Zm9ybUZvbnQgPSBVSUZvbnQ7CisgICAgdXNpbmcgUGxhdGZv
cm1Db2xvciA9IFVJQ29sb3I7CisjZW5kaWYKKworICAgIFt3ZWJWaWV3IF9nZXRDb250ZW50c0Fz
QXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeKE5TQXR0cmlidXRlZFN0cmlu
ZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3Vt
ZW50QXR0cmlidXRlS2V5LCBpZD4gKmRvY3VtZW50QXR0cmlidXRlcywgTlNFcnJvciAqZXJyb3Ip
IHsKKyAgICAgICAgRVhQRUNUX05PVF9OVUxMKGF0dHJpYnV0ZWRTdHJpbmcpOworICAgICAgICBF
WFBFQ1RfTk9UX05VTEwoZG9jdW1lbnRBdHRyaWJ1dGVzKTsKKyAgICAgICAgRVhQRUNUX05VTEwo
ZXJyb3IpOworCisgICAgICAgIF9fYmxvY2sgc2l6ZV90IGkgPSAwOworICAgICAgICBbYXR0cmli
dXRlZFN0cmluZyBlbnVtZXJhdGVBdHRyaWJ1dGVzSW5SYW5nZTpOU01ha2VSYW5nZSgwLCBhdHRy
aWJ1dGVkU3RyaW5nLmxlbmd0aCkgb3B0aW9uczowIHVzaW5nQmxvY2s6XihOU0RpY3Rpb25hcnkg
KmF0dHJpYnV0ZXMsIE5TUmFuZ2UgYXR0cmlidXRlUmFuZ2UsIEJPT0wgKnN0b3ApIHsKKyAgICAg
ICAgICAgIGF1dG8qIHN1YnN0cmluZyA9IFthdHRyaWJ1dGVkU3RyaW5nIGF0dHJpYnV0ZWRTdWJz
dHJpbmdGcm9tUmFuZ2U6YXR0cmlidXRlUmFuZ2VdOworCisgICAgICAgICAgICBpZiAoIWkpIHsK
KyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJIZWxsbyAiLCBzdWJzdHJpbmcuc3Ry
aW5nKTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaW1lcy1Sb21hbiIsIGR5
bmFtaWNfb2JqY19jYXN0PFBsYXRmb3JtRm9udD4oYXR0cmlidXRlc1tOU0ZvbnRBdHRyaWJ1dGVO
YW1lXSkuZm9udE5hbWUpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpID09IDEpIHsKKyAgICAg
ICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJXb3JsZCEiLCBzdWJzdHJpbmcuc3RyaW5nKTsK
KyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaW1lcy1Cb2xkIiwgZHluYW1pY19v
YmpjX2Nhc3Q8UGxhdGZvcm1Gb250PihhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdKS5m
b250TmFtZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKworICAgICAgICAgICAgKytpOworICAgICAgICB9XTsKKworICAgICAgICBF
WFBFQ1RfV0tfU1RSRVEoQCJzUkdCIElFQzYxOTY2LTIuMSBjb2xvcnNwYWNlIDEgMCAwIDEiLCBk
eW5hbWljX29iamNfY2FzdDxQbGF0Zm9ybUNvbG9yPihkb2N1bWVudEF0dHJpYnV0ZXNbTlNCYWNr
Z3JvdW5kQ29sb3JEb2N1bWVudEF0dHJpYnV0ZV0pLmRlc2NyaXB0aW9uKTsKKworICAgICAgICBm
aW5pc2hlZCA9IHRydWU7CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmZpbmlzaGVkKTsKK30K
</data>
<flag name="review"
          id="381293"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364837</attachid>
            <date>2019-03-15 13:58:06 -0700</date>
            <delta_ts>2019-03-15 14:37:01 -0700</delta_ts>
            <desc>Patch 3 / 4</desc>
            <filename>bug-195636-20190315135805.patch</filename>
            <type>text/plain</type>
            <size>14004</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE3YjRmZWQ1YjE0NDU2Nzc3
OTc2MTI5MDNjZmQxYTVkOTc3ZDE1ZWUuLmQ2ZmVlNWQxMDc3ZmY0OWFmZDdlZjMyZGY4MDY2ZWVj
ZWZlZjg2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDMtMTUgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIFdl
YlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICAqIFNoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5oOgorICAg
ICAgICAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nOjpBdHRyaWJ1dGVkU3RyaW5nKToKKyAgICAg
ICAgKiBTaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW06CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8V2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nPjo6ZW5jb2RlKToKKyAgICAgICAgKElQ
Qzo6QXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+OjpkZWNvZGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dl
YlZpZXcgX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVy
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
Y29hL1dlYlBhZ2VDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0Q29udGVu
dHNBc0F0dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46
CisKIDIwMTktMDMtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgV2Vic2l0ZVBvbGljeSBmb3IgdGhlIGNsaWVudCB0byBzcGVjaWZ5IHRoZSBkZXZpY2Ug
b3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHBvbGljeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9BdHRyaWJ1dGVkU3RyaW5nLmgKaW5kZXggZWExY2QzZWY0Yzk5NTE3ZDkyYzI2YjNjODMz
ODc3ODAwZmZmN2JlNi4uODUzMGY4MThiYWMxZjU5YjlmZWNiNmEyNjc1MzAxMjIyYTJhM2Y0MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXR0cmlidXRlZFN0cmluZy5oCkBAIC0zOCw4
ICszOCw5IEBAIHN0cnVjdCBBdHRyaWJ1dGVkU3RyaW5nIHsKICAgICB9CiAKICNpZiBkZWZpbmVk
KF9fT0JKQ19fKQotICAgIEF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRy
aWJ1dGVkU3RyaW5nKQorICAgIEF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICph
dHRyaWJ1dGVkU3RyaW5nLCBOU0RpY3Rpb25hcnkgKmRvY3VtZW50QXR0cmlidXRlcyA9IG5pbCkK
ICAgICAgICAgOiBzdHJpbmcoYXR0cmlidXRlZFN0cmluZykKKyAgICAgICAgLCBkb2N1bWVudEF0
dHJpYnV0ZXMoZG9jdW1lbnRBdHRyaWJ1dGVzKQogICAgIHsKICAgICB9CiAKQEAgLTQ4LDggKzQ5
LDkgQEAgc3RydWN0IEF0dHJpYnV0ZWRTdHJpbmcgewogICAgICAgICByZXR1cm4gc3RyaW5nLmdl
dCgpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0
cmluZz4gc3RyaW5nOworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRvY3VtZW50QXR0cmli
dXRlczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdHRy
aWJ1dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJp
bmcubW0KaW5kZXggYWUwODU4NDU0N2I2MWI1MzQyY2RhN2NjZWNkNDE2MTRkNDg3ZTdlMy4uM2M0
NzAwNTY4MzhkMTJiYWJhN2VhNWVhZjgxNDdhNWY3Yzg4NzVlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL0F0dHJpYnV0ZWRTdHJpbmcubW0KQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNw
YWNlIElQQyB7CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmc+
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5n
JiBhdHRyaWJ1dGVkU3RyaW5nKQogewotICAgIGVuY29kZXIgPDwgYXR0cmlidXRlZFN0cmluZy5z
dHJpbmc7CisgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVkU3RyaW5nLnN0cmluZyA8PCBhdHRyaWJ1
dGVkU3RyaW5nLmRvY3VtZW50QXR0cmlidXRlczsKIH0KIAogT3B0aW9uYWw8V2ViS2l0OjpBdHRy
aWJ1dGVkU3RyaW5nPiBBcmd1bWVudENvZGVyPFdlYktpdDo6QXR0cmlidXRlZFN0cmluZz46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNDIsNyArNDIsMTAgQEAgT3B0aW9uYWw8V2ViS2l0
OjpBdHRyaWJ1dGVkU3RyaW5nPiBBcmd1bWVudENvZGVyPFdlYktpdDo6QXR0cmlidXRlZFN0cmlu
Zz46OmRlY28KICAgICBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBhdHRyaWJ1dGVkU3Ry
aW5nOwogICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlZFN0cmluZykpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIFdlYktpdDo6QXR0cmlidXRl
ZFN0cmluZyB7IGF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgfTsKKyAgICBSZXRhaW5QdHI8TlNEaWN0
aW9uYXJ5PiBkb2N1bWVudEF0dHJpYnV0ZXM7CisgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVy
LCBkb2N1bWVudEF0dHJpYnV0ZXMpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAg
IHJldHVybiBXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgeyBhdHRyaWJ1dGVkU3RyaW5nLmdldCgp
LCBkb2N1bWVudEF0dHJpYnV0ZXMuZ2V0KCkgfTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZjlkYWM0YTRhM2UyYTk1YmE0
MmVmMmU0YjgwOWI4ZTRkNTQyYzcwNC4uMTM2YTY5MjRiMWJiYTMxN2NkNWFlNmZkOThjZjcwYzVm
ZDU3ZjFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJBUElGb3JtQ2xpZW50LmgiCiAjaW1w
b3J0ICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiQVBJU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmgiCisjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJDb21wbGV0
aW9uSGFuZGxlckNhbGxDaGVja2VyLmgiCiAjaW1wb3J0ICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oIgogI2ltcG9ydCAiRHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZS5oIgpAQCAtNTI1Myw2ICs1
MjU0LDE2IEBAIC0gKHZvaWQpX2dldENvbnRlbnRzQXNTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF4pKE5TU3RyaW5nICosIE5TRXJyb3IKICAgICB9KTsKIH0KIAorLSAodm9pZClf
Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKE5TQXR0cmlidXRlZFN0cmluZyAqLCBOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5n
RG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVy
Cit7CisgICAgX3BhZ2UtPmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKFtoYW5kbGVyID0g
bWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0oYXV0byYgYXR0cmlidXRlZFN0cmluZykg
eworICAgICAgICBpZiAoYXR0cmlidXRlZFN0cmluZy5zdHJpbmcpCisgICAgICAgICAgICBoYW5k
bGVyKFtbYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgcmV0YWluXSBhdXRvcmVsZWFzZV0s
IFtbYXR0cmlidXRlZFN0cmluZy5kb2N1bWVudEF0dHJpYnV0ZXMuZ2V0KCkgcmV0YWluXSBhdXRv
cmVsZWFzZV0sIG5pbCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGhhbmRsZXIobmlsLCBu
aWwsIGNyZWF0ZU5TRXJyb3IoV0tFcnJvclVua25vd24pLmdldCgpKTsKKyAgICB9KTsKK30KKwog
LSAodm9pZClfZ2V0QXBwbGljYXRpb25NYW5pZmVzdFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXikoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKSljb21wbGV0aW9uSGFuZGxlcgogewogI2lm
IEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGVjNjkxYzYxOGU3MWVk
YzQxNzI0YjcwNmRiMWExZjYwNzg2NjhjYTkuLjc2Mzg0Nzc0OThlZGRlNTg3MDNjMTQ4ZTMyMDY3
YTdiZjlmNDYzOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzY0LDYgKzM2NCw3IEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogLSAodm9pZClfZ2V0TWFpblJlc291cmNl
RGF0YVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3IgKikp
Y29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKV9nZXRXZWJBcmNoaXZlRGF0YVdpdGhDb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRs
ZXI7CiAtICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShOU1N0cmluZyAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX2dldENvbnRlbnRz
QXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0F0dHJp
YnV0ZWRTdHJpbmcgKiwgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0
cmlidXRlS2V5LCBpZD4gKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX01BQ19UQkEpKTsKIAogLSAodm9pZClf
Z2V0QXBwbGljYXRpb25NYW5pZmVzdFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dL
QXBwbGljYXRpb25NYW5pZmVzdCAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggYmY3MmYwMDIwYTc2YjMzMDQzOTQ2MjcxYmE0MGM0NjdkMmQz
ZjkyNC4uMWI1N2U1MzlhMzIxNjI3NGYzN2NhZTQxNTU1NGE3MjAwY2Y5ZTlkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5j
bHVkZSAiQVBJVUlDbGllbnQuaCIKICNpbmNsdWRlICJBUElVUkxSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiQVBJV2Vic2l0ZVBvbGljaWVzLmgiCisjaW5jbHVkZSAiQXR0cmlidXRlZFN0cmluZy5oIgog
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuaCIKICNpbmNsdWRlICJBdXRo
ZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CkBAIC0zNjAxLDYgKzM2MDIsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmdldENvbnRlbnRzQXNT
dHJpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBDYWxsYmEKICAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkdldENvbnRlbnRzQXNTdHJpbmcoY2FsbGJh
Y2tJRCksIG1fcGFnZUlEKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmdldENvbnRlbnRzQXNB
dHRyaWJ1dGVkU3RyaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgQXR0cmlidXRlZFN0
cmluZyYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IGlmICghaXNWYWxpZCgpKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEF0dHJpYnV0ZWRT
dHJpbmcoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3Byb2Nlc3MtPmNvbm5l
Y3Rpb24oKS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRDb250ZW50
c0FzQXR0cmlidXRlZFN0cmluZygpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9wYWdl
SUQpOworI2Vsc2UKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBjb21wbGV0aW9uSGFu
ZGxlcihBdHRyaWJ1dGVkU3RyaW5nKCkpOworI2VuZGlmCit9CisKIHZvaWQgV2ViUGFnZVByb3h5
OjpnZXRCeXRlY29kZVByb2ZpbGUoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBD
YWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjYWxsYmFja0Z1bmN0aW9uKQogewogICAgIGlmICghaXNW
YWxpZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDBhNmJk
YmE0NDIwNzZlOWQxMzhjMTE5OWMwYjliNTJlNTE5MDk1ZDguLmRiMTQzZDhmNjViMWMwY2M1MWQ0
OTBhM2FhY2UxNTgwMzM3ZGMxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC05NjcsNiArOTY3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluZFN0cmluZ01h
dGNoZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgVmVjdG9yPFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
Pj4mIG1hdGNoUmVjdHMsIGludDMyX3QgZmlyc3RJbmRleEFmdGVyU2VsZWN0aW9uKTsKIAogICAg
IHZvaWQgZ2V0Q29udGVudHNBc1N0cmluZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmlu
ZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKKyAgICB2b2lkIGdldENvbnRlbnRzQXNBdHRy
aWJ1dGVkU3RyaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgQXR0cmlidXRlZFN0cmlu
ZyYpPiYmKTsKICAgICB2b2lkIGdldEJ5dGVjb2RlUHJvZmlsZShXVEY6OkZ1bmN0aW9uPHZvaWQg
KGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKICAgICB2b2lkIGdldFNh
bXBsaW5nUHJvZmlsZXJPdXRwdXQoV1RGOjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBD
YWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCBkNjMwNjcwN2JjYmZj
OWQ3YzgzZGE2MzVkNjI3NTY2MTBhMTlmZGI1Li5iZDg3YmZlMDczOGQ5OGUwNDM5M2FjNzEwMThj
YTY2MmY4MTg4Y2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC0yNyw2ICsyNyw3IEBACiAjaW1wb3J0ICJX
ZWJQYWdlLmgiCiAKIAorI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiTG9h
ZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlBsdWdpblZpZXcuaCIKICNpbXBvcnQgIldlYlBhZ2VQ
cm94eU1lc3NhZ2VzLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJFbGVtZW50
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlck9iamVjdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9U
ZXh0SXRlcmF0b3IuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCkBAIC0yMDEsNiArMjAzLDIx
IEBAIFdlYlBheW1lbnRDb29yZGluYXRvciogV2ViUGFnZTo6cGF5bWVudENvb3JkaW5hdG9yKCkK
IH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2U6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5n
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgQXR0cmlidXRlZFN0cmluZyYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7
CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2Nh
dGlvbkFuZExlbmd0aChmcmFtZS5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSwgMCwgSU5U
X01BWCk7CisKKyAgICBOU0RpY3Rpb25hcnkqIGRvY3VtZW50QXR0cmlidXRlcyA9IG5pbDsKKwor
ICAgIEF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0OworICAgIHJlc3VsdC5zdHJpbmcgPSBhdHRyaWJ1
dGVkU3RyaW5nRnJvbVJhbmdlKCpyYW5nZSwgJmRvY3VtZW50QXR0cmlidXRlcyk7CisgICAgcmVz
dWx0LmRvY3VtZW50QXR0cmlidXRlcyA9IGRvY3VtZW50QXR0cmlidXRlczsKKworICAgIGNvbXBs
ZXRpb25IYW5kbGVyKHsgcmVzdWx0IH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IDUxMDFjNDAwMDJlNTEzMDI5MTI2YmMwODMwMzcxZjE5YjAwMjk0
ZDYuLjgxM2JiMjBmNzVmODk5ZTJlMTFhNWMwZWVmYjZjNGMzZDFmMzgzYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEzMTUsNiArMTMxNSw5IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB2aWV3V2lsbEVuZExpdmVSZXNpemUoKTsKIAogICAgIHZvaWQg
Z2V0Q29udGVudHNBc1N0cmluZyhDYWxsYmFja0lEKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICB2b2lkIGdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgQXR0cmlidXRlZFN0cmluZyYpPiYmKTsKKyNlbmRpZgogI2lmIEVOQUJMRShNSFRN
TCkKICAgICB2b2lkIGdldENvbnRlbnRzQXNNSFRNTERhdGEoQ2FsbGJhY2tJRCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCmluZGV4IDA5OWFlNTZkMzdkNGNmODcyNWYxYjgwMjg2NDMyMGE5YTE4ZjRlZTAuLmM4
ZTBhYjUyNDA4ZThjMzAxZWZmNzE3MmJhZThjOTlmZGNiZjIwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMTgy
LDYgKzE4Miw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAgICAg
IyBDYWxsYmFja3MuCiAgICAgR2V0Q29udGVudHNBc1N0cmluZyhXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBHZXRDb250ZW50c0FzQXR0cmli
dXRlZFN0cmluZygpIC0+IChzdHJ1Y3QgV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHJlc3VsdCkg
QXN5bmMKKyNlbmRpZgogI2lmIEVOQUJMRShNSFRNTCkKICAgICBHZXRDb250ZW50c0FzTUhUTUxE
YXRhKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGU3MTMyN2Q5NGExNjM2YTAx
OTE4ZjdkNjliMTA2OTU4ZTk3MzhkYy4uMDk4ZDczNzdjOTQzMmY4NTc1ODY4ZWU5MmVhNmU2Y2My
NmI1ZDdlMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAzLTE1ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCB0byBXZWJQYWdlIGZvciBnZXR0aW5n
IHRoZSBjb250ZW50cyBhcyBhbiBhdHRyaWJ1dGVkIHN0cmluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmlld0dldENvbnRlbnRz
Lm1tOgorICAgICAgICAoVEVTVChXS1dlYlZpZXcsIEdldENvbnRlbnRzU2hvdWxkUmV0dXJuQXR0
cmlidXRlZFN0cmluZyk6IEFkZGVkLgorCiAyMDE5LTAzLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdlYnNpdGVQb2xpY3kgZm9yIHRoZSBjbGllbnQg
dG8gc3BlY2lmeSB0aGUgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyBwb2xpY3kK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJW
aWV3R2V0Q29udGVudHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1dLV2ViVmlld0dldENvbnRlbnRzLm1tCmluZGV4IDc5OGU0NGE0YjdiOGJkMzU3ZWEwMGI0MDA1
MzY3N2UzZDczMTllY2UuLjQzMzdiZGExYWQ3NjhmODhlNjE1ZjcwNDEyZTBmYjc0ODdiNWE0NTgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJW
aWV3R2V0Q29udGVudHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS1dlYlZpZXdHZXRDb250ZW50cy5tbQpAQCAtNDgsMyArNDgsNDggQEAgVEVTVChXS1dl
YlZpZXcsIEdldENvbnRlbnRzU2hvdWxkUmV0dXJuU3RyaW5nKQogCiAgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZmaW5pc2hlZCk7CiB9CisKK1RFU1QoV0tXZWJWaWV3LCBHZXRDb250ZW50
c1Nob3VsZFJldHVybkF0dHJpYnV0ZWRTdHJpbmcpCit7CisgICAgUmV0YWluUHRyPFRlc3RXS1dl
YlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGJvZHkgYmdjb2xvcj0ncmVkJz5IZWxsbyA8Yj5Xb3Js
ZCE8L2I+Il07CisKKyAgICBfX2Jsb2NrIGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKKworI2lmIFVT
RShBUFBLSVQpCisgICAgdXNpbmcgUGxhdGZvcm1Gb250ID0gTlNGb250OworICAgIHVzaW5nIFBs
YXRmb3JtQ29sb3IgPSBOU0NvbG9yOworI2Vsc2UKKyAgICB1c2luZyBQbGF0Zm9ybUZvbnQgPSBV
SUZvbnQ7CisgICAgdXNpbmcgUGxhdGZvcm1Db2xvciA9IFVJQ29sb3I7CisjZW5kaWYKKworICAg
IFt3ZWJWaWV3IF9nZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFu
ZGxlcjpeKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5
PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKmRvY3VtZW50QXR0
cmlidXRlcywgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX05PVF9OVUxMKGF0dHJp
YnV0ZWRTdHJpbmcpOworICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZG9jdW1lbnRBdHRyaWJ1dGVz
KTsKKyAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOworCisgICAgICAgIF9fYmxvY2sgc2l6ZV90
IGkgPSAwOworICAgICAgICBbYXR0cmlidXRlZFN0cmluZyBlbnVtZXJhdGVBdHRyaWJ1dGVzSW5S
YW5nZTpOU01ha2VSYW5nZSgwLCBhdHRyaWJ1dGVkU3RyaW5nLmxlbmd0aCkgb3B0aW9uczowIHVz
aW5nQmxvY2s6XihOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIE5TUmFuZ2UgYXR0cmlidXRlUmFu
Z2UsIEJPT0wgKnN0b3ApIHsKKyAgICAgICAgICAgIGF1dG8qIHN1YnN0cmluZyA9IFthdHRyaWJ1
dGVkU3RyaW5nIGF0dHJpYnV0ZWRTdWJzdHJpbmdGcm9tUmFuZ2U6YXR0cmlidXRlUmFuZ2VdOwor
CisgICAgICAgICAgICBpZiAoIWkpIHsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEo
QCJIZWxsbyAiLCBzdWJzdHJpbmcuc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tf
U1RSRVEoQCJUaW1lcy1Sb21hbiIsIGR5bmFtaWNfb2JqY19jYXN0PFBsYXRmb3JtRm9udD4oYXR0
cmlidXRlc1tOU0ZvbnRBdHRyaWJ1dGVOYW1lXSkuZm9udE5hbWUpOworICAgICAgICAgICAgfSBl
bHNlIGlmIChpID09IDEpIHsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJXb3Js
ZCEiLCBzdWJzdHJpbmcuc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfV0tfU1RSRVEo
QCJUaW1lcy1Cb2xkIiwgZHluYW1pY19vYmpjX2Nhc3Q8UGxhdGZvcm1Gb250PihhdHRyaWJ1dGVz
W05TRm9udEF0dHJpYnV0ZU5hbWVdKS5mb250TmFtZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKworICAgICAgICAgICAgKytpOwor
ICAgICAgICB9XTsKKworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJzUkdCIElFQzYxOTY2LTIu
MSBjb2xvcnNwYWNlIDEgMCAwIDEiLCBkeW5hbWljX29iamNfY2FzdDxQbGF0Zm9ybUNvbG9yPihk
b2N1bWVudEF0dHJpYnV0ZXNbTlNCYWNrZ3JvdW5kQ29sb3JEb2N1bWVudEF0dHJpYnV0ZV0pLmRl
c2NyaXB0aW9uKTsKKworICAgICAgICBmaW5pc2hlZCA9IHRydWU7CisgICAgfV07CisKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364859</attachid>
            <date>2019-03-15 15:46:32 -0700</date>
            <delta_ts>2019-03-15 16:55:44 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190315154632.patch</filename>
            <type>text/plain</type>
            <size>39273</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJmZjU4M2Q4NmU2NzYy
NjFkZTdlODE3OWExNTcwMGRlYzRmYWQ3Yy4uMzQ5MTkyMTc4ZjdhZWFhMjc3YWRlNDJmMjRiNDRm
Mzk5OWIwZjA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE1ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogVXBkYXRlZC4KKwogMjAxOS0w
My0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWJz
aXRlUG9saWN5IGZvciB0aGUgY2xpZW50IHRvIHNwZWNpZnkgdGhlIGRldmljZSBvcmllbnRhdGlv
biAmIG1vdGlvbiBhY2Nlc3MgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2ZmVlNWQxMDc3ZmY0OWFmZDdl
ZjMyZGY4MDY2ZWVjZWZlZjg2YTIuLmM0NzE5NDE1ZDhmYzhjNGJhZTAyMmQwZjEwYzY4ZDEzODBi
NzRhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDMtMTUgIFRpbW90aHkgSGF0
Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVk
U3RyaW5nIEFQSSBmb3IgY29udmVydGluZyBIVE1MLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1
MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNB
dHRyaWJ1dGVkU3RyaW5nLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmlu
Z05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b246ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2
aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjp3aXRo
RXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzpkaWRGYWlsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19X
S0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZp
Z2F0aW9uOl0pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNh
Y2hlXSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmll
dmVPckNyZWF0ZVdlYlZpZXddKToKKyAgICAgICAgKCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZp
ZXdDYWNoZSBjYWNoZVdlYlZpZXc6XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdX
ZWJWaWV3Q2FjaGUgcmVzZXRQdXJnZURlbGF5XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRT
dHJpbmdXZWJWaWV3Q2FjaGUgcHVyZ2VTaW5nbGVXZWJWaWV3XSk6CisgICAgICAgICgrW05TQXR0
cmlidXRlZFN0cmluZyBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6Y29udGVudExvYWRlcjpjb21w
bGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGxvYWRGcm9t
SFRNTFdpdGhSZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgr
W05TQXR0cmlidXRlZFN0cmluZyBsb2FkRnJvbUhUTUxXaXRoRmlsZVVSTDpvcHRpb25zOmNvbXBs
ZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tOU0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21I
VE1MV2l0aFN0cmluZzpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tO
U0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21IVE1MV2l0aERhdGE6b3B0aW9uczpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZ1ByaXZhdGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3JJbnRlcm5hbC5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tF
cnJvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbToKKyAgICAg
ICAgKGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKToKKyAgICAgICAgKGNyZWF0ZU5T
RXJyb3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmg6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDMt
MTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBz
dXBwb3J0IHRvIFdlYlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0
ZWQgc3RyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
aW5kZXggNTEzZTMyODA5ZWQ3MjZkNzI4YTViNTFlMDAyYjY3YWRhNjk0YjRmYy4uYjRkNDRhZmRj
MTM2OGUzYzNkNjVmZjkxMDIzZDE2ZDM2NjhjY2VlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5s
cHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xODEsNiArMTgxLDkgQEAKIC8qIFdLRXJyb3JD
b250ZW50UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQgZGVzY3JpcHRpb24gKi8KICJDb21waWxp
bmcgYSBXS0NvbnRlbnRSdWxlTGlzdCBmYWlsZWQiID0gIkNvbXBpbGluZyBhIFdLQ29udGVudFJ1
bGVMaXN0IGZhaWxlZCI7CiAKKy8qIFdLRXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIGRlc2NyaXB0
aW9uICovCisiQ29udGVudCBmYWlsZWQgdG8gbG9hZCIgPSAiQ29udGVudCBmYWlsZWQgdG8gbG9h
ZCI7CisKIC8qIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBlIGRlc2NyaXB0aW9uICovCiAi
Q29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biIgPSAiQ29u
dGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biI7CiAKQEAgLTgw
Miw2ICs4MDUsOSBAQAogLyogVW5kbyBhY3Rpb24gbmFtZSAqLwogIlRpZ2h0ZW4gS2VybmluZyAo
VW5kbyBhY3Rpb24gbmFtZSkiID0gIlRpZ2h0ZW4gS2VybmluZyI7CiAKKy8qIFdLRXJyb3JDb250
ZW50TG9hZFRpbWVkT3V0IGRlc2NyaXB0aW9uICovCisiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcg
Y29udGVudCIgPSAiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcgY29udGVudCI7CisKIC8qIHByb21w
dCBzdHJpbmcgaW4gYXV0aGVudGljYXRpb24gcGFuZWwgKi8KICJUbyB2aWV3IHRoaXMgcGFnZSwg
eW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIiA9ICJUbyB2aWV3IHRoaXMg
cGFnZSwgeW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0CmluZGV4IGI1NjBiNGE3NjU5MzJmYzhiNjE4NThkZDk1YzEwYjhiZTExNzRi
ZWUuLjRlYmI4ZjAwNDgyM2Y1ZTMwZDNhYzVmNzYzYTIxNWViMjY5MzdlMGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKQEAgLTIzNiw2ICsyMzYsNyBAQCBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29u
dGV4dFByaXZhdGVNYWMubW0KIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5t
bQogVUlQcm9jZXNzL0FQSS9DL21hYy9XS1Byb3RlY3Rpb25TcGFjZU5TLm1tCiAKK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0
aW9uTWFuaWZlc3QubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVudC5tbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE0NDNiMzBiZjA2N2UzNDhiNDZiNzA1NDU3ODcxZWZmNjJhNTUz
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
TlNBdHRyaWJ1dGVkU3RyaW5nLmgKQEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisjaW1w
b3J0IDxVSUtpdC9OU0F0dHJpYnV0ZWRTdHJpbmcuaD4KKyNlbHNlCisjaW1wb3J0IDxBcHBLaXQv
TlNBdHRyaWJ1dGVkU3RyaW5nLmg+CisjZW5kaWYKKworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
KworLyohCisgQGFic3RyYWN0IEluZGljYXRlcyB3aGljaCBsb2NhbCBmaWxlcyBXZWJLaXQgY2Fu
IGFjY2VzcyB3aGVuIGxvYWRpbmcgY29udGVudC4KKyBAZGlzY3Vzc2lvbiBJZiBOU1JlYWRBY2Nl
c3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgc2luZ2xlIGZpbGUsIG9ubHkgdGhhdCBm
aWxlIG1heSBiZQorIGxvYWRlZCBieSBXZWJLaXQuIElmIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50
T3B0aW9uIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksIGZpbGVzIGluc2lkZSB0aGF0CisgZGlyZWN0
b3J5IG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LgorKi8KK1dLX0VYVEVSTiBOU0F0dHJpYnV0ZWRT
dHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXkgY29uc3QgTlNSZWFkQWNjZXNzVVJMRG9jdW1l
bnRPcHRpb24KKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVh
ZGluZ09wdGlvbktleS5yZWFkQWNjZXNzVVJMKSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IFR5cGUgZGVmaW5p
dGlvbiBmb3IgdGhlIGNvbXBsZXRpb24gaGFuZGxlciBibG9jayB1c2VkIHRvIGdldCBhc3luY2hy
b25vdXMgcmVzdWx0cy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbiBoYW5kbGVyIGJsb2Nr
IGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55Cisg
ZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywgbGlrZSBOU0JhY2tncm91bmRDb2xvckRvY3VtZW50
QXR0cmlidXRlLCBvciBhbiBlcnJvci4gQW4gaW1wbGVtZW50YXRpb24KKyBvZiB0aGlzIGJsb2Nr
IHR5cGUgbXVzdCBleHBlY3QgdG8gYmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5IHdoZW4gcGFzc2Vk
IHRvIEhUTUwgbWV0aG9kcy4KKyovCit0eXBlZGVmIHZvaWQgKF5OU0F0dHJpYnV0ZWRTdHJpbmdD
b21wbGV0aW9uSGFuZGxlcikoTlNBdHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlLCBOU0RpY3Rp
b25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqIF9OdWxs
YWJsZSwgTlNFcnJvciAqIF9OdWxsYWJsZSkKKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmlidXRl
ZFN0cmluZy5Db21wbGV0aW9uSGFuZGxlcikgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBkaXNjdXNzaW9uIEV4dGVuc2lvbiBv
ZiBAbGluayAvL2FwcGxlX3JlZi9vY2MvTlNBdHRyaWJ1dGVkU3RyaW5nIE5TQXR0cmlidXRlZFN0
cmluZyBAL2xpbmsgdG8KKyBjcmVhdGUgYXR0cmlidXRlZCBzdHJpbmdzIGZyb20gSFRNTCBjb250
ZW50IHVzaW5nIFdlYktpdC4KKyovCitAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoTlNB
dHRyaWJ1dGVkU3RyaW5nV2ViS2l0QWRkaXRpb25zKQorCisvKiEKKyBAYWJzdHJhY3QgTG9hZHMg
YW4gSFRNTCBVUkwgcmVxdWVzdCBhbmQgY29udmVydHMgdGhlIGNvbnRlbnRzIGludG8gYW4gYXR0
cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0
aGUgVVJMIHRvIGxvYWQuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3Ig
aW50ZXJwcmV0aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGll
ckRvY3VtZW50T3B0aW9uIGFuZCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhcmUgc3VwcG9ydGVk
IG9wdGlvbiBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9r
ZSB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRo
ZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3Vs
dCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9y
LgorKi8KKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3Qgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVh
ZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1
dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lG
VF9OQU1FKGxvYWRGcm9tSFRNTChyZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisK
Ky8qIQorIEBhYnN0cmFjdCBDb252ZXJ0cyBhIGxvY2FsIEhUTUwgZmlsZSBpbnRvIGFuIGF0dHJp
YnV0ZWQgc3RyaW5nLgorIEBwYXJhbSBmaWxlVVJMIFRoZSBmaWxlIFVSTCB0byBsb2FkLgorIEBw
YXJhbSBvcHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9j
dW1lbnQgY29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNU
aW1lb3V0RG9jdW1lbnRPcHRpb24gYW5kIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisg
YXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBi
bG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBA
ZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVk
IHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVz
LCBvciBhbiBlcnJvci4gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNl
cyBhIHNpbmdsZSBmaWxlLAorIG9ubHkgdGhhdCBmaWxlIG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0
LiBJZiBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgZGlyZWN0b3J5
LAorIGZpbGVzIGluc2lkZSB0aGF0IGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVkIGJ5IFdlYktpdC4K
KyovCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhGaWxlVVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0
aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlv
bktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5n
Q29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxv
YWRGcm9tSFRNTChmaWxlVVJMOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBh
YnN0cmFjdCBDb252ZXJ0cyBhbiBIVE1MIHN0cmluZyBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5n
LgorIEBwYXJhbSBzdHJpbmcgVGhlIEhUTUwgc3RyaW5nIHRvIHVzZSBhcyB0aGUgY29udGVudHMu
CisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5nIHRo
ZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0aW9u
LCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhbmQgTlNCYXNlVVJMRG9jdW1lbnRPcHRpb24KKyBh
cmUgc3VwcG9ydGVkIG9wdGlvbiBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJs
b2NrIHRvIGludm9rZSB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBk
aXNjdXNzaW9uIFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQg
c3RyaW5nIHJlc3VsdCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMs
IG9yIGFuIGVycm9yLiBOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbiBpcyB1c2VkIHRvIHJlc29sdmUg
cmVsYXRpdmUgVVJMcworIHdpdGhpbiB0aGUgZG9jdW1lbnQuCisqLworKyAodm9pZClsb2FkRnJv
bUhUTUxXaXRoU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihOU0RpY3Rpb25hcnk8
TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25z
IGNvbXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlcilj
b21wbGV0aW9uSGFuZGxlcgorICAgIE5TX1NXSUZUX05BTUUobG9hZEZyb21IVE1MKHN0cmluZzpv
cHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMgSFRN
TCBkYXRhIGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIGRhdGEgVGhlIEhUTUwg
ZGF0YSB0byB1c2UgYXMgdGhlIGNvbnRlbnRzLgorIEBwYXJhbSBvcHRpb25zIERvY3VtZW50IGF0
dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVudHMuCisgTlNUZXh0
U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24sIE5T
VGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uLAorIGFuZCBOU0NoYXJhY3RlckVuY29kaW5n
RG9jdW1lbnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxl
dGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRl
cyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2Vk
IHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1s
ZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4gSWYgbmVpdGhlciBOU1RleHRFbmNvZGluZ05h
bWVEb2N1bWVudE9wdGlvbiBub3IKKyBOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1lbnRPcHRpb24g
aXMgc3VwcGxpZWQsIGEgYmVzdC1ndWVzcyBlbmNvZGluZyBpcyB1c2VkLgorKi8KKysgKHZvaWQp
bG9hZEZyb21IVE1MV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooTlNEaWN0aW9uYXJ5
PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9u
cyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIp
Y29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9tSFRNTChkYXRhOm9w
dGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5E
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1
dGVkU3RyaW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmli
dXRlZFN0cmluZy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODI1M2I4NzcyNjQzMWFkNTVjMjdmNjYyZGQzY2E3
ZjBjNmUwZTkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbQpAQCAtMCwwICsxLDM0OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJOU0F0dHJpYnV0ZWRTdHJpbmdQcml2
YXRlLmgiCisKKyNpbXBvcnQgIldLRXJyb3JJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0
aW9uQWN0aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNp
bXBvcnQgIldLUHJlZmVyZW5jZXMuaCIKKyNpbXBvcnQgIldLUHJvY2Vzc1Bvb2xQcml2YXRlLmgi
CisjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tX
ZWJWaWV3UHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJzaXRlRGF0YVN0b3JlLmgiCisjaW1wb3J0
ICJfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKKyNpbXBvcnQgPHd0Zi9EZXF1ZS5oPgor
I2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CisKK05TU3RyaW5nICogY29uc3QgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gPSBAIlJl
YWRBY2Nlc3NVUkwiOworCitjb25zdGV4cHIgTlNSZWN0IHdlYlZpZXdSZWN0ID0ge3swLCAwfSwg
ezgwMCwgNjAwfX07Citjb25zdGV4cHIgTlNUaW1lSW50ZXJ2YWwgZGVmYXVsdFRpbWVvdXRJbnRl
cnZhbCA9IDYwOworY29uc3RleHByIE5TVGltZUludGVydmFsIHB1cmdlV2ViVmlld0NhY2hlRGVs
YXkgPSAxNTsKK2NvbnN0ZXhwciBOU1VJbnRlZ2VyIG1heGltdW1XZWJWaWV3Q2FjaGVTaXplID0g
MzsKKworQGludGVyZmFjZSBfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIDog
TlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorCitAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgdm9pZCAoXndlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlKShXS1dlYlZpZXcgKik7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24pKFdLTmF2aWdhdGlvbkFjdGlvbiAqLCB2b2lkICheKShXS05hdmlnYXRpb25B
Y3Rpb25Qb2xpY3kpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGlkRmFp
bFByb3Zpc2lvbmFsTmF2aWdhdGlvbikoV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vy
cm9yICopOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRGYWlsTmF2aWdh
dGlvbikoV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopOworQHByb3BlcnR5
IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRGaW5pc2hOYXZpZ2F0aW9uKShXS1dlYlZpZXcg
KiwgV0tOYXZpZ2F0aW9uICopOworCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBfV0tBdHRyaWJ1
dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmlld1dlYkNvbnRlbnRQ
cm9jZXNzRGlkVGVybWluYXRlOihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKF93ZWJD
b250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZSkKKyAgICAgICAgX3dlYkNvbnRlbnRQcm9jZXNzRGlk
VGVybWluYXRlKHdlYlZpZXcpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9u
ICopbmF2aWdhdGlvbkFjdGlvbiBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdLTmF2aWdhdGlv
bkFjdGlvblBvbGljeSkpZGVjaXNpb25IYW5kbGVyCit7CisgICAgaWYgKF9kZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKQorICAgICAgICByZXR1cm4gX2RlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24obmF2aWdhdGlvbkFjdGlvbiwgZGVjaXNpb25IYW5kbGVyKTsKKyAgICBkZWNp
c2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3cpOworfQorCistICh2b2lk
KXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlv
bjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgor
eworICAgIGlmIChfZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZh
aWxQcm92aXNpb25hbE5hdmlnYXRpb24od2ViVmlldywgbmF2aWdhdGlvbiwgZXJyb3IpOworfQor
CistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmFpbE5hdmlnYXRpb246
KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24gd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKK3sK
KyAgICBpZiAoX2RpZEZhaWxOYXZpZ2F0aW9uKQorICAgICAgICBfZGlkRmFpbE5hdmlnYXRpb24o
d2ViVmlldywgbmF2aWdhdGlvbiwgZXJyb3IpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgZGlkRmluaXNoTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdh
dGlvbgoreworICAgIGlmIChfZGlkRmluaXNoTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZpbmlz
aE5hdmlnYXRpb24od2ViVmlldywgbmF2aWdhdGlvbik7Cit9CisKK0BlbmQKKworQGludGVyZmFj
ZSBfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIDogTlNPYmplY3QKKworKyAoUmV0YWlu
UHRyPFdLV2ViVmlldz4pcmV0cmlldmVPckNyZWF0ZVdlYlZpZXc7CisrICh2b2lkKWNhY2hlV2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldzsKKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gX1dL
QXR0cmlidXRlZFN0cmluZ1dlYlZpZXdDYWNoZQorCisrIChOU011dGFibGVBcnJheTxXS1dlYlZp
ZXcgKj4gKiljYWNoZQoreworICAgIHN0YXRpYyBhdXRvKiBjYWNoZSA9IFtbTlNNdXRhYmxlQXJy
YXk8V0tXZWJWaWV3ICo+IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5Om1heGltdW1XZWJWaWV3Q2Fj
aGVTaXplXTsKKyAgICByZXR1cm4gY2FjaGU7Cit9CisKK3N0YXRpYyBXS1dlYlZpZXdDb25maWd1
cmF0aW9uICpjb25maWd1cmF0aW9uOworCisrIChXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29u
ZmlndXJhdGlvbgoreworICAgIGlmICghY29uZmlndXJhdGlvbikgeworICAgICAgICBjb25maWd1
cmF0aW9uID0gW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICAgICAg
Y29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbCA9IFtbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIGluaXRd
IGF1dG9yZWxlYXNlXTsKKyAgICAgICAgY29uZmlndXJhdGlvbi53ZWJzaXRlRGF0YVN0b3JlID0g
W1dLV2Vic2l0ZURhdGFTdG9yZSBub25QZXJzaXN0ZW50RGF0YVN0b3JlXTsKKyAgICAgICAgY29u
ZmlndXJhdGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tB
dWRpb3Zpc3VhbE1lZGlhVHlwZUFsbDsKKyAgICAgICAgY29uZmlndXJhdGlvbi5fYWxsb3dzSmF2
YVNjcmlwdE1hcmt1cCA9IE5POworICAgICAgICBjb25maWd1cmF0aW9uLl9hbGxvd3NNZXRhUmVm
cmVzaCA9IE5POworICAgICAgICBjb25maWd1cmF0aW9uLl9hdHRhY2htZW50RWxlbWVudEVuYWJs
ZWQgPSBZRVM7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVy
bWl0dGVkID0gWUVTOworICAgICAgICBjb25maWd1cmF0aW9uLl9tZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHkgPSBOTzsKKyAgICAgICAgY29uZmlndXJhdGlvbi5fbmVlZHNTdG9yYWdlQWNjZXNz
RnJvbUZpbGVVUkxzUXVpcmsgPSBOTzsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAg
ICBjb25maWd1cmF0aW9uLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBOTzsKKyAgICAgICAg
Y29uZmlndXJhdGlvbi5fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gWUVTOworI2Vu
ZGlmCisgICAgfQorCisgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Cit9CisKKysgKHZvaWQpY2xl
YXJDb25maWd1cmF0aW9uCit7CisgICAgW2NvbmZpZ3VyYXRpb24gcmVsZWFzZV07CisgICAgY29u
ZmlndXJhdGlvbiA9IG5pbDsKK30KKworKyAoUmV0YWluUHRyPFdLV2ViVmlldz4pcmV0cmlldmVP
ckNyZWF0ZVdlYlZpZXcKK3sKKyAgICBbc2VsZiByZXNldFB1cmdlRGVsYXldOworCisgICAgYXV0
byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmIChjYWNoZS5jb3VudCkgeworICAgICAgICBS
ZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gY2FjaGUubGFzdE9iamVjdDsKKyAgICAgICAg
W2NhY2hlIHJlbW92ZUxhc3RPYmplY3RdOworICAgICAgICByZXR1cm4gd2ViVmlldzsKKyAgICB9
CisKKyAgICByZXR1cm4gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTp3
ZWJWaWV3UmVjdCBjb25maWd1cmF0aW9uOnNlbGYuY29uZmlndXJhdGlvbl0pOworfQorCisrICh2
b2lkKWNhY2hlV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldworeworICAgIGF1dG8qIGNhY2hl
ID0gc2VsZi5jYWNoZTsKKyAgICBpZiAoY2FjaGUuY291bnQgPj0gbWF4aW11bVdlYlZpZXdDYWNo
ZVNpemUpCisgICAgICAgIHJldHVybjsKKworICAgIFtjYWNoZSBhZGRPYmplY3Q6d2ViVmlld107
CisKKyAgICAvLyBMb2FkIGEgYmxhbmsgcGFnZSB0byBjbGVhciBhbnl0aGluZyBsb2FkZWQgd2hp
bGUgaW4gdGhlIGNhY2hlLgorICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07Cit9
CisKKysgKHZvaWQpcmVzZXRQdXJnZURlbGF5Cit7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gcHVy
Z2VTZWxlY3RvciA9IEBzZWxlY3RvcihwdXJnZVNpbmdsZVdlYlZpZXcpOworICAgIFtOU09iamVj
dCBjYW5jZWxQcmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxlY3Rvcjpw
dXJnZVNlbGVjdG9yIG9iamVjdDpuaWxdOworICAgIFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpwdXJn
ZVNlbGVjdG9yIHdpdGhPYmplY3Q6bmlsIGFmdGVyRGVsYXk6cHVyZ2VXZWJWaWV3Q2FjaGVEZWxh
eV07Cit9CisKKysgKHZvaWQpcHVyZ2VTaW5nbGVXZWJWaWV3Cit7CisgICAgW05TT2JqZWN0IGNh
bmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOl9jbWQg
b2JqZWN0Om5pbF07CisKKyAgICBhdXRvKiBjYWNoZSA9IHNlbGYuY2FjaGU7CisgICAgaWYgKCFj
YWNoZS5jb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgW2NhY2hlLmxhc3RPYmplY3QgX2Ns
b3NlXTsKKyAgICBbY2FjaGUgcmVtb3ZlTGFzdE9iamVjdF07CisKKyAgICBpZiAoIWNhY2hlLmNv
dW50KSB7CisgICAgICAgIFtzZWxmIGNsZWFyQ29uZmlndXJhdGlvbl07CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyBLZWVwIGdvaW5nIHVudGlsIGV2ZXJ5IHZpZXcgaXMgcmVtb3Zl
ZCwgb3IgdGhlIGRlbGF5IGlzIHJlc2V0LgorICAgIFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpfY21k
IHdpdGhPYmplY3Q6bmlsIGFmdGVyRGVsYXk6cHVyZ2VXZWJWaWV3Q2FjaGVEZWxheV07Cit9CisK
K0BlbmQKKworQGltcGxlbWVudGF0aW9uIE5TQXR0cmlidXRlZFN0cmluZyAoV0tQcml2YXRlKQor
CisrICh2b2lkKV9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmli
dXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb250ZW50
TG9hZGVyOihXS05hdmlnYXRpb24gKiheKShXS1dlYlZpZXcgKikpbG9hZFdlYkNvbnRlbnQgY29t
cGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBs
ZXRpb25IYW5kbGVyCit7CisgICAgaWYgKG9wdGlvbnNbTlNXZWJQcmVmZXJlbmNlc0RvY3VtZW50
T3B0aW9uXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhj
ZXB0aW9uIGZvcm1hdDpAIk5TV2ViUHJlZmVyZW5jZXNEb2N1bWVudE9wdGlvbiBvcHRpb24gaXMg
bm90IHN1cHBvcnRlZCJdOworICAgIGlmIChvcHRpb25zW05TV2ViUmVzb3VyY2VMb2FkRGVsZWdh
dGVEb2N1bWVudE9wdGlvbl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRB
cmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJOU1dlYlJlc291cmNlTG9hZERlbGVnYXRlRG9jdW1l
bnRPcHRpb24gb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiXTsKKyAgICBpZiAob3B0aW9uc1tAIldl
YlBvbGljeURlbGVnYXRlIl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRB
cmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJXZWJQb2xpY3lEZWxlZ2F0ZSBvcHRpb24gaXMgbm90
IHN1cHBvcnRlZCJdOworCisgICAgYXV0byBydW5Db252ZXJzaW9uID0gXnsKKyAgICAgICAgX19i
bG9jayBhdXRvIGZpbmlzaGVkID0gTk87CisgICAgICAgIF9fYmxvY2sgYXV0byB3ZWJWaWV3ID0g
W19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmlldmVPckNyZWF0ZVdlYlZpZXdd
OworICAgICAgICBfX2Jsb2NrIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW19X
S0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKworICAg
ICAgICBfX2Jsb2NrIFJldGFpblB0cjxXS05hdmlnYXRpb24+IGNvbnRlbnROYXZpZ2F0aW9uOwor
CisgICAgICAgIHdlYlZpZXcuZ2V0KCkubmF2aWdhdGlvbkRlbGVnYXRlID0gbmF2aWdhdGlvbkRl
bGVnYXRlLmdldCgpOworCisgICAgICAgIGlmIChhdXRvKiB0ZXh0Wm9vbUZhY3RvciA9IGR5bmFt
aWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1l
bnRPcHRpb25dKSkKKyAgICAgICAgICAgIHdlYlZpZXcuZ2V0KCkuX3RleHRab29tRmFjdG9yID0g
dGV4dFpvb21GYWN0b3IuZG91YmxlVmFsdWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHdl
YlZpZXcuZ2V0KCkuX3RleHRab29tRmFjdG9yID0gMTsKKworICAgICAgICBhdXRvIGZpbmlzaCA9
IF4oTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nLCBOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqYXR0cmlidXRlcywgTlNF
cnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGlmIChmaW5pc2hlZCkKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgICAgIGZpbmlzaGVkID0gWUVTOworCisgICAgICAgICAgICB3
ZWJWaWV3LmdldCgpLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5pbDsKKyAgICAgICAgICAgIG5hdmln
YXRpb25EZWxlZ2F0ZSA9IG5pbDsKKyAgICAgICAgICAgIGNvbnRlbnROYXZpZ2F0aW9uID0gbmls
OworCisgICAgICAgICAgICBpZiAoIWVycm9yKQorICAgICAgICAgICAgICAgIFtfV0tBdHRyaWJ1
dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNhY2hlV2ViVmlldzp3ZWJWaWV3LmdldCgpXTsKKyAgICAg
ICAgICAgIHdlYlZpZXcgPSBuaWw7CisKKyAgICAgICAgICAgIC8vIE1ha2UgdGhlIHN0cmluZyBi
ZSBhbiBpbnN0YW5jZSBvZiB0aGUgcmVjZWl2ZXIgY2xhc3MuCisgICAgICAgICAgICBpZiAoYXR0
cmlidXRlZFN0cmluZyAmJiBzZWxmICE9IGF0dHJpYnV0ZWRTdHJpbmcuY2xhc3MpCisgICAgICAg
ICAgICAgICAgYXR0cmlidXRlZFN0cmluZyA9IFtbW3NlbGYgYWxsb2NdIGluaXRXaXRoQXR0cmli
dXRlZFN0cmluZzphdHRyaWJ1dGVkU3RyaW5nXSBhdXRvcmVsZWFzZV07CisKKyAgICAgICAgICAg
IC8vIE1ha2UgdGhlIGRvY3VtZW50IGF0dHJpYnV0ZXMgaW1tdXRhYmxlLgorICAgICAgICAgICAg
aWYgKFthdHRyaWJ1dGVzIGlzS2luZE9mQ2xhc3M6TlNNdXRhYmxlRGljdGlvbmFyeS5jbGFzc10p
CisgICAgICAgICAgICAgICAgYXR0cmlidXRlcyA9IFtbW05TRGljdGlvbmFyeSBhbGxvY10gaW5p
dFdpdGhEaWN0aW9uYXJ5OmF0dHJpYnV0ZXNdIGF1dG9yZWxlYXNlXTsKKworICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoYXR0cmlidXRlZFN0cmluZywgYXR0cmlidXRlcywgZXJyb3IpOwor
ICAgICAgICB9OworCisgICAgICAgIGF1dG8gY2FuY2VsID0gXihXS0Vycm9yQ29kZSBlcnJvckNv
ZGUsIE5TRXJyb3IqIHVuZGVybHlpbmdFcnJvcikgeworICAgICAgICAgICAgZmluaXNoKG5pbCwg
bmlsLCBjcmVhdGVOU0Vycm9yKGVycm9yQ29kZSwgdW5kZXJseWluZ0Vycm9yKS5nZXQoKSk7Cisg
ICAgICAgIH07CisKKyAgICAgICAgbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24gPSBeKFdLTmF2aWdhdGlvbkFjdGlvbiAqYWN0aW9uLCB2b2lk
ICheZGVjaXNpb25IYW5kbGVyKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpKSB7CisgICAgICAg
ICAgICBpZiAoW2FjdGlvbi5fbWFpbkZyYW1lTmF2aWdhdGlvbiBpc0VxdWFsOmNvbnRlbnROYXZp
Z2F0aW9uLmdldCgpXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGVjaXNpb25IYW5kbGVyKFdL
TmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93KTsKKyAgICAgICAgICAgIGRlY2lzaW9uSGFuZGxl
cihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lDYW5jZWwpOworICAgICAgICB9OworCisgICAgICAg
IG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS53ZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZSA9
IF4oV0tXZWJWaWV3ICopIHsKKyAgICAgICAgICAgIGNhbmNlbChXS0Vycm9yV2ViQ29udGVudFBy
b2Nlc3NUZXJtaW5hdGVkLCBuaWwpOworICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25E
ZWxlZ2F0ZS5nZXQoKS5kaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uID0gXihXS1dlYlZpZXcg
KiwgV0tOYXZpZ2F0aW9uICosIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgICAgICBjYW5jZWwo
V0tFcnJvckNvbnRlbnRGYWlsZWRUb0xvYWQsIGVycm9yKTsKKyAgICAgICAgfTsKKworICAgICAg
ICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmFpbE5hdmlnYXRpb24gPSBeKFdLV2ViVmll
dyAqLCBXS05hdmlnYXRpb24gKiwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbmNl
bChXS0Vycm9yQ29udGVudEZhaWxlZFRvTG9hZCwgZXJyb3IpOworICAgICAgICB9OworCisgICAg
ICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kaWRGaW5pc2hOYXZpZ2F0aW9uID0gXihXS1dl
YlZpZXcgKiwgV0tOYXZpZ2F0aW9uICopIHsKKyAgICAgICAgICAgIGlmIChmaW5pc2hlZCkKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZSA9
IG5pbDsKKworICAgICAgICAgICAgW3dlYlZpZXcgX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3Ry
aW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOl4oTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVk
U3RyaW5nLCBOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVL
ZXksIGlkPiAqZG9jdW1lbnRBdHRyaWJ1dGVzLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAg
ICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbmNlbChXS0Vy
cm9yVW5rbm93biwgZXJyb3IpOworICAgICAgICAgICAgICAgIGZpbmlzaChbW2F0dHJpYnV0ZWRT
dHJpbmcgcmV0YWluXSBhdXRvcmVsZWFzZV0sIFtbZG9jdW1lbnRBdHRyaWJ1dGVzIHJldGFpbl0g
YXV0b3JlbGVhc2VdLCBuaWwpOworICAgICAgICAgICAgfV07CisgICAgICAgIH07CisKKyAgICAg
ICAgYXV0byB0aW1lb3V0SW50ZXJ2YWwgPSBkZWZhdWx0VGltZW91dEludGVydmFsOworICAgICAg
ICBpZiAoYXV0byogdGltZW91dE9wdGlvbiA9IGR5bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihv
cHRpb25zW05TVGltZW91dERvY3VtZW50T3B0aW9uXSkpIHsKKyAgICAgICAgICAgIGlmICh0aW1l
b3V0T3B0aW9uLmRvdWJsZVZhbHVlID49IDApCisgICAgICAgICAgICAgICAgdGltZW91dEludGVy
dmFsID0gdGltZW91dE9wdGlvbi5kb3VibGVWYWx1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGRp
c3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUoRElTUEFUQ0hfVElNRV9OT1csIHRpbWVvdXRJbnRl
cnZhbCAqIE5TRUNfUEVSX1NFQyksIGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAg
ICAgICAgICBpZiAoZmluaXNoZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgY2FuY2VsKFdLRXJyb3JDb250ZW50TG9hZFRpbWVkT3V0LCBuaWwpOworICAgICAgICB9KTsK
KworICAgICAgICBjb250ZW50TmF2aWdhdGlvbiA9IGxvYWRXZWJDb250ZW50KHdlYlZpZXcuZ2V0
KCkpOworCisgICAgICAgIEFTU0VSVChjb250ZW50TmF2aWdhdGlvbik7CisgICAgICAgIEFTU0VS
VCh3ZWJWaWV3LmdldCgpLmxvYWRpbmcpOworICAgIH07CisKKyAgICBpZiAoW05TVGhyZWFkIGlz
TWFpblRocmVhZF0pCisgICAgICAgIHJ1bkNvbnZlcnNpb24oKTsKKyAgICBlbHNlCisgICAgICAg
IGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIHJ1bkNvbnZlcnNpb24p
OworfQorCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOU0F0dHJpYnV0ZWRTdHJpbmcgKE5TQXR0
cmlidXRlZFN0cmluZ1dlYktpdEFkZGl0aW9ucykKKworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRo
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNv
bXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21w
bGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxmIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczpvcHRp
b25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykgewor
ICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgfSBjb21w
bGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKKysgKHZvaWQpbG9hZEZyb21I
VE1MV2l0aEZpbGVVUkw6KE5TVVJMICopZmlsZVVSTCBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNv
bXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21w
bGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxmIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczpvcHRp
b25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykgewor
ICAgICAgICBhdXRvKiByZWFkQWNjZXNzVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+KG9w
dGlvbnNbTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb25dKTsKKyAgICAgICAgcmV0dXJuIFt3
ZWJWaWV3IGxvYWRGaWxlVVJMOmZpbGVVUkwgYWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6cmVhZEFj
Y2Vzc1VSTF07CisgICAgfSBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9
CisKKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0
aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlv
bktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5n
Q29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZy
b21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihX
S1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAgYXV0byogYmFzZVVSTCA9IGR5bmFtaWNfb2Jq
Y19jYXN0PE5TVVJMPihvcHRpb25zW05TQmFzZVVSTERvY3VtZW50T3B0aW9uXSk7CisgICAgICAg
IHJldHVybiBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpzdHJpbmcgYmFzZVVSTDpiYXNlVVJMXTsK
KyAgICB9IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKK30KKworKyAodm9p
ZClsb2FkRnJvbUhUTUxXaXRoRGF0YTooTlNEYXRhICopZGF0YSBvcHRpb25zOihOU0RpY3Rpb25h
cnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRp
b25zIGNvbXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxl
ciljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxmIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9u
czpvcHRpb25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmll
dykgeworICAgICAgICBhdXRvKiB0ZXh0RW5jb2RpbmdOYW1lID0gZHluYW1pY19vYmpjX2Nhc3Q8
TlNTdHJpbmc+KG9wdGlvbnNbTlNUZXh0RW5jb2RpbmdOYW1lRG9jdW1lbnRPcHRpb25dKTsKKyAg
ICAgICAgYXV0byBjaGFyYWN0ZXJFbmNvZGluZyA9IHN0YXRpY19jYXN0PE5TU3RyaW5nRW5jb2Rp
bmc+KGR5bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TQ2hhcmFjdGVyRW5jb2Rp
bmdEb2N1bWVudE9wdGlvbl0pLnVuc2lnbmVkSW50ZWdlclZhbHVlKTsKKyAgICAgICAgYXV0byog
YmFzZVVSTCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TVVJMPihvcHRpb25zW05TQmFzZVVSTERvY3Vt
ZW50T3B0aW9uXSk7CisKKyAgICAgICAgaWYgKGNoYXJhY3RlckVuY29kaW5nICYmICF0ZXh0RW5j
b2RpbmdOYW1lKSB7CisgICAgICAgICAgICBhdXRvIHN0cmluZ0VuY29kaW5nID0gQ0ZTdHJpbmdD
b252ZXJ0TlNTdHJpbmdFbmNvZGluZ1RvRW5jb2RpbmcoY2hhcmFjdGVyRW5jb2RpbmcpOworICAg
ICAgICAgICAgaWYgKHN0cmluZ0VuY29kaW5nICE9IGtDRlN0cmluZ0VuY29kaW5nSW52YWxpZElk
KQorICAgICAgICAgICAgICAgIHRleHRFbmNvZGluZ05hbWUgPSAoX19icmlkZ2UgTlNTdHJpbmcg
KilDRlN0cmluZ0NvbnZlcnRFbmNvZGluZ1RvSUFOQUNoYXJTZXROYW1lKHN0cmluZ0VuY29kaW5n
KTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBbd2ViVmlldyBsb2FkRGF0YTpkYXRhIE1J
TUVUeXBlOkAidGV4dC9odG1sIiBjaGFyYWN0ZXJFbmNvZGluZ05hbWU6dGV4dEVuY29kaW5nTmFt
ZSBiYXNlVVJMOmJhc2VVUkxdOworICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhh
bmRsZXJdOworfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ODU4MmYwMDliNjM2N2M2ZTM0ZjU1NmUzODNjMmZhZjBhMTMyNzliCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZ1By
aXZhdGUuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L05T
QXR0cmlidXRlZFN0cmluZy5oPgorCitAY2xhc3MgV0tOYXZpZ2F0aW9uOworQGNsYXNzIFdLV2Vi
VmlldzsKKworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KKworLyohCisgQGRpc2N1c3Npb24gUHJp
dmF0ZSBleHRlbnNpb24gb2YgQGxpbmsgLy9hcHBsZV9yZWYvb2NjL05TQXR0cmlidXRlZFN0cmlu
ZyBOU0F0dHJpYnV0ZWRTdHJpbmcgQC9saW5rIHRvCisgdHJhbnNsYXRlIEhUTUwgY29udGVudCBp
bnRvIGF0dHJpYnV0ZWQgc3RyaW5ncyB1c2luZyBXZWJLaXQuCisgKi8KK0BpbnRlcmZhY2UgTlNB
dHRyaWJ1dGVkU3RyaW5nIChXS1ByaXZhdGUpCisKKy8qIQorIEBhYnN0cmFjdCBDb252ZXJ0cyB0
aGUgY29udGVudHMgbG9hZGVkIGJ5IGEgY29udGVudCBsb2FkZXIgYmxvY2sgaW50byBhbiBhdHRy
aWJ1dGVkIHN0cmluZy4KKyBAcGFyYW0gb3B0aW9ucyBEb2N1bWVudCBhdHRyaWJ1dGVzIGZvciBp
bnRlcnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnRzLgorIE5TVGV4dFNpemVNdWx0aXBsaWVy
RG9jdW1lbnRPcHRpb24sIGFuZCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhcmUgc3VwcG9ydGVk
IG9wdGlvbiBrZXlzLgorIEBwYXJhbSBjb250ZW50TG9hZGVyIEEgYmxvY2sgdG8gaW52b2tlIHdo
ZW4gY29udGVudCBuZWVkcyB0byBiZSBsb2FkZWQgaW4gdGhlIHN1cHBsaWVkCisgQGxpbmsgV0tX
ZWJWaWV3IEAvbGluay4gQSBAbGluayBXS05hdmlnYXRpb24gQC9saW5rIGZvciB0aGUgbWFpbiBm
cmFtZSBtdXN0IGJlIHJldHVybmVkLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2Nr
IHRvIGludm9rZSB3aGVuIHRoZSB0cmFuc2xhdGlvbiBjb21wbGV0ZXMgb3IgZmFpbHMuCisgQGRp
c2N1c3Npb24gVGhlIGNvbXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBz
dHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywg
b3IgYW4gZXJyb3IuCisgKi8KKysgKHZvaWQpX2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOihOU0Rp
Y3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4g
KilvcHRpb25zIGNvbnRlbnRMb2FkZXI6KFdLTmF2aWdhdGlvbiAqKF4pKFdLV2ViVmlldyAqKSls
b2FkV2ViQ29udGVudCBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxl
dGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXI7CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5V
TExfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tF
cnJvci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaAppbmRl
eCBmMjc3ZThkOGZhMjliN2E1MzhkNGVlYTY5YmNkMDFmYzY1NzBkMGE3Li4xYTkwNTAzNTRhOGNh
MGZlZDE1MTI2ZDViZDFkMzEyOTBiMjBlNmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0Vycm9yLmgKQEAgLTQzLDYgKzQzLDggQEAgV0tfRVhURVJOIE5TU3RyaW5n
ICogY29uc3QgV0tFcnJvckRvbWFpbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlv
cyg4LjAKICBAY29uc3RhbnQgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlTG9va1VwRmFpbGVk
ICAgICBJbmRpY2F0ZXMgdGhhdCBsb29raW5nIHVwIGEgV0tVc2VyQ29udGVudFJ1bGVMaXN0IGZh
aWxlZC4KICBAY29uc3RhbnQgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVk
ICAgICBJbmRpY2F0ZXMgdGhhdCByZW1vdmluZyBhIFdLVXNlckNvbnRlbnRSdWxlTGlzdCBmYWls
ZWQuCiAgQGNvbnN0YW50IFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVZlcnNpb25NaXNtYXRj
aCAgSW5kaWNhdGVzIHRoYXQgdGhlIFdLVXNlckNvbnRlbnRSdWxlTGlzdCB2ZXJzaW9uIGRpZCBu
b3QgbWF0Y2ggdGhlIGxhdGVzdC4KKyBAY29uc3RhbnQgV0tFcnJvckNvbnRlbnRGYWlsZWRUb0xv
YWQgICAgICAgICAgICAgICAgICBJbmRpY2F0ZXMgdGhhdCB0aGUgY29udGVudCBmYWlsZWQgdG8g
bG9hZC4KKyBAY29uc3RhbnQgV0tFcnJvckNvbnRlbnRMb2FkVGltZWRPdXQgICAgICAgICAgICAg
ICAgICBJbmRpY2F0ZXMgdGhhdCBsb2FkaW5nIGNvbnRlbnQgdGltZWQgb3V0LgogICovCiB0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Vycm9yQ29kZSkgewogICAgIFdLRXJyb3JVbmtub3du
ID0gMSwKQEAgLTU0LDYgKzU2LDggQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tFcnJv
ckNvZGUpIHsKICAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVMb29rVXBGYWlsZWQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpLAogICAgIFdLRXJyb3JDb250
ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSksCiAgICAgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlVmVyc2lvbk1p
c21hdGNoIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKSwKKyAgICBX
S0Vycm9yQ29udGVudEZhaWxlZFRvTG9hZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKKyAgICBXS0Vycm9yQ29udGVudExvYWRUaW1lZE91dCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKIH0g
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wKSk7CiAKIE5TX0FTU1VNRV9O
T05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLRXJyb3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5t
bQppbmRleCBmY2JmYzRkOTNhZTljODVhMzVhYzhjZjM3ZTUxMmNlM2U1ODU3YTAxLi4xYTIxM2Zh
ZDAyNGM0ZjQzMmI5MzgxNjIxODY0YWY3ZTBiYTg2NzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQpAQCAtNjcsMTIgKzY3LDIyIEBAIE5TU3RyaW5n
ICpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSBlcnJvckNvZGUp
CiAKICAgICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZDoKICAg
ICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlJlbW92aW5nIGEgV0tDb250ZW50UnVsZUxpc3Qg
ZmFpbGVkIiwgIldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCBkZXNjcmlw
dGlvbiIpOworCisgICAgY2FzZSBXS0Vycm9yQ29udGVudEZhaWxlZFRvTG9hZDoKKyAgICAgICAg
cmV0dXJuIFdFQl9VSV9TVFJJTkcoIkNvbnRlbnQgZmFpbGVkIHRvIGxvYWQiLCAiV0tFcnJvckNv
bnRlbnRGYWlsZWRUb0xvYWQgZGVzY3JpcHRpb24iKTsKKworICAgIGNhc2UgV0tFcnJvckNvbnRl
bnRMb2FkVGltZWRPdXQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJUaW1lZCBvdXQg
d2hpbGUgbG9hZGluZyBjb250ZW50IiwgIldLRXJyb3JDb250ZW50TG9hZFRpbWVkT3V0IGRlc2Ny
aXB0aW9uIik7CiAgICAgfQogfQogCi1SZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJvcihX
S0Vycm9yQ29kZSBlcnJvckNvZGUpCitSZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJvcihX
S0Vycm9yQ29kZSBlcnJvckNvZGUsIE5TRXJyb3IqIHVuZGVybHlpbmdFcnJvcikKIHsKLSAgICBh
dXRvIHVzZXJJbmZvID0gYWRvcHROUyhbW05TRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmpl
Y3RzQW5kS2V5czpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShlcnJvckNvZGUpLCBO
U0xvY2FsaXplZERlc2NyaXB0aW9uS2V5LCBuaWxdKTsKKyAgICBOU0RpY3Rpb25hcnkgKnVzZXJJ
bmZvID0gbmlsOworICAgIGlmICh1bmRlcmx5aW5nRXJyb3IpCisgICAgICAgIHVzZXJJbmZvID0g
QHsgTlNMb2NhbGl6ZWREZXNjcmlwdGlvbktleTogbG9jYWxpemVkRGVzY3JpcHRpb25Gb3JFcnJv
ckNvZGUoZXJyb3JDb2RlKSwgTlNVbmRlcmx5aW5nRXJyb3JLZXk6IHVuZGVybHlpbmdFcnJvciB9
OworICAgIGVsc2UKKyAgICAgICAgdXNlckluZm8gPSBAeyBOU0xvY2FsaXplZERlc2NyaXB0aW9u
S2V5OiBsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShlcnJvckNvZGUpIH07CiAKLSAg
ICByZXR1cm4gYWRvcHROUyhbW05TRXJyb3IgYWxsb2NdIGluaXRXaXRoRG9tYWluOldLRXJyb3JE
b21haW4gY29kZTplcnJvckNvZGUgdXNlckluZm86dXNlckluZm8uZ2V0KCldKTsKKyAgICByZXR1
cm4gYWRvcHROUyhbW05TRXJyb3IgYWxsb2NdIGluaXRXaXRoRG9tYWluOldLRXJyb3JEb21haW4g
Y29kZTplcnJvckNvZGUgdXNlckluZm86dXNlckluZm9dKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaAppbmRleCAyNjFlMmU5
OTYxYTMyNTQwNmIyMWUxYTAwMzdiYzA5OThmZGIyMTc1Li4xMWJkMWY1ZDIyNzQzMjIwOWRhYzA4
MWE2ZWIyMmZjYzg0MzYxZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oCkBAIC0yOCw1ICsyOCw1IEBACiAjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0ICJHZW5lcmljQ2FsbGJhY2suaCIKIAotUmV0YWluUHRy
PE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUpOworUmV0YWluUHRyPE5TRXJyb3I+
IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUsIE5TRXJyb3IqIHVuZGVybHlpbmdFcnJvciA9IG5p
bCk7CiBOU1N0cmluZyAqbG9jYWxpemVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoV0tFcnJvckNv
ZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggOTZjM2E1ZWJhZDE3MTMwOGFmYmEyY2E0ZTk4NjBmMjU2OGU5YzM4Yi4uNzMxM2NiNmNm
NmJlN2I1MmExYzdlNDU4YTE1NmU5NmNiZWYxNWEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zODUsNiArMzg1LDggQEAKIAkJMUMw
QTE5NTcxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
MEExOTU1MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCTFDMEExOTU4MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0
aW9uU2Vzc2lvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzBBMTk1NjFDOTAwNjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Np
b25NZXNzYWdlcy5oICovOyB9OwogCQkxQzBBMTk1QzFDOTE2RTFCMDBGRTBFQkIgLyogV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NUIxQzkxNkUxQjAwRkUwRUJCIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaCAqLzsgfTsKKwkJMUMyMDkzNjAyMjMx
OENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8qIE5T
QXR0cmlidXRlZFN0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTFDMjE4NDAyMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRTdHJp
bmdQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQzIxODQwMTIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDODkx
RDY2MTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8q
IFdlYkluc3BlY3RvclVJLmggKi87IH07CiAJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBX
ZWJJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDOEUyODFFMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuaCAqLzsgfTsKIAkJ
MUM4RTI4MzQxMjc1RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjgzMjEyNzVENzM4MDBC
QzdCRDAgLyogV2ViSW5zcGVjdG9yUHJveHkuaCAqLzsgfTsKQEAgLTIzOTUsNiArMjM5Nyw5IEBA
CiAJCTFDMEExOTU5MUM5MDA2RUEwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5tZXNz
YWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMwQTE5NUExQzkxNjY5NTAwRkUwRUJCIC8qIFdlYkF1dG9t
YXRpb25TZXNzaW9uUHJveHkuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBXZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzBBMTk1QjFD
OTE2RTFCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJjZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5U2NyaXB0U291cmNlLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dG9t
YXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0
cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUMyMDkzNUYyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRl
ZFN0cmluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5TQXR0cmlidXRlZFN0cmluZy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMyMTg0MDEyMjMzODcyODAwQkFDNzAwIC8q
IE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQzc3QzE5NTEyODhBODcyMDA2QTc0MkYgLyogV2ViSW5zcGVjdG9yUHJveHkubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSW5zcGVjdG9yUHJveHkubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODkxRDYyMTlCMTI0RkYwMEJB
NzlERCAvKiBXZWJJbnNwZWN0b3JVSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJJbnNwZWN0b3JVSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDODkxRDYzMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JVSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNjEzMyw2ICs2MTM4LDkgQEAKIAkJCQlGRUQzQzFEQTFCNDQ3QUU4MDBF
MEVCN0YgLyogQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gKi8sCiAJCQkJMUEzNjM1
QUIxQTMxNDVFNTAwRUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSAqLywKIAkJ
CQkxQUZERTY0MzE5NTEwQjU1MDBDNDhGRkEgLyogTGVnYWN5QnVuZGxlRm9yQ2xhc3MubW0gKi8s
CisJCQkJMUMyMDkzNUUyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5oICov
LAorCQkJCTFDMjA5MzVGMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcubW0g
Ki8sCisJCQkJMUMyMTg0MDEyMjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1By
aXZhdGUuaCAqLywKIAkJCQkzN0M0QzA4QjE4MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3QuaCAqLywKIAkJCQkzN0M0QzA4QTE4MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3QubW0gKi8sCiAJCQkJMzdDNEMwOEUxODE0QUYzQTAwMzY4OEI5IC8qIFdLQmFja0Zvcndh
cmRMaXN0SW50ZXJuYWwuaCAqLywKQEAgLTkyODAsNiArOTI4OCw4IEBACiAJCQkJMUEyMTYxQjAx
MUYzNzY2NDAwOEFEMEY1IC8qIE5QUnVudGltZU9iamVjdE1hcC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUEyMTYyQjExMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUEyRDg0QTMxMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERhdGEu
aCBpbiBIZWFkZXJzICovLAorCQkJCTFDMjA5MzYwMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJp
YnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDMjE4NDAyMjIzMzg3MjgwMEJBQzcw
MCAvKiBOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzU0
RDU0NTFCM0EyOUZEMDAzQTRDN0YgLyogTlNJbnZvY2F0aW9uU1BJLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzhBQ0ExMzE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzN0I0N0UyRDFENjREQjc2MDA1RjRFRkYgLyogb2JqY1NQSS5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0KaW5kZXggYmQ4N2JmZTA3MzhkOThlMDQzOTNhYzcxMDE4Y2E2
NjJmODE4OGNiYi4uMTZmM2ZhODIzNDdiMmZmNzdjOGM3N2ZmY2JjNjhiN2JlZTJlYzhhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBh
Z2VDb2NvYS5tbQpAQCAtMjA4LDYgKzIwOCwxMCBAQCB2b2lkIFdlYlBhZ2U6OmdldENvbnRlbnRz
QXNBdHRyaWJ1dGVkU3RyaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgQXR0cmlidQog
ICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CiAKICAgICBSZWZQdHI8UmFu
Z2U+IHJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChmcmFt
ZS5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSwgMCwgSU5UX01BWCk7CisgICAgaWYgKCFy
YW5nZSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOworICAgICAgICByZXR1cm47
CisgICAgfQogCiAgICAgTlNEaWN0aW9uYXJ5KiBkb2N1bWVudEF0dHJpYnV0ZXMgPSBuaWw7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364875</attachid>
            <date>2019-03-15 16:12:20 -0700</date>
            <delta_ts>2019-03-15 16:50:48 -0700</delta_ts>
            <desc>Build Fix</desc>
            <filename>gtk-build-fix.patch</filename>
            <type>text/plain</type>
            <size>2858</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYzQ3MTk0MTVkOGYuLmZhNDU5MThiZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDExIEBACisyMDE5LTAzLTE1ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4K
KworICAgICAgICBVbnJldmlld2VkIHNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBmb3Igbm9uLUNvY29h
IHBvcnRzIGFmdGVyIHIyNDMwMTIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpnZXRDb250ZW50c0FzQXR0cmli
dXRlZFN0cmluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDE5
LTAzLTE1ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgbmV3IE5TQXR0cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDFiNTdlNTM5YTMyLi5hYjg1
N2Q1YzczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01
Miw3ICs1Miw2IEBACiAjaW5jbHVkZSAiQVBJVUlDbGllbnQuaCIKICNpbmNsdWRlICJBUElVUkxS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiQVBJV2Vic2l0ZVBvbGljaWVzLmgiCi0jaW5jbHVkZSAiQXR0
cmlidXRlZFN0cmluZy5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
aCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCIKICNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCkBAIC0xODgsNiArMTg3LDcgQEAKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXR0cmlidXRlZFN0cmluZy5oIgogI2luY2x1ZGUgIlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVMYXllclRy
ZWVTY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEuaCIKICNpbmNsdWRlICJUb3VjaEJhck1lbnVEYXRh
LmgiCkBAIC0zNjAyLDIwICszNjAyLDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRDb250ZW50
c0FzU3RyaW5nKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhCiAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRDb250ZW50c0FzU3RyaW5nKGNh
bGxiYWNrSUQpLCBtX3BhZ2VJRCk7CiB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKIHZvaWQgV2Vi
UGFnZVByb3h5OjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWlzVmFsaWQoKSkgewogICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihBdHRyaWJ1dGVkU3RyaW5nKCkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6V2ViUGFnZTo6R2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIG1fcGFnZUlEKTsKLSNlbHNlCi0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoQXR0cmlidXRlZFN0cmluZygpKTsKLSNlbmRp
ZgogfQorI2VuZGlmCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRCeXRlY29kZVByb2ZpbGUoV1RG
OjpGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBj
YWxsYmFja0Z1bmN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCBkYjE0M2Q4ZjY1Yi4uZTFlNjFlYzMwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC05NjcsNyArOTY3LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmlu
ZFN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgVmVjdG9yPFZlY3RvcjxXZWJDb3Jl
OjpJbnRSZWN0Pj4mIG1hdGNoUmVjdHMsIGludDMyX3QgZmlyc3RJbmRleEFmdGVyU2VsZWN0aW9u
KTsKIAogICAgIHZvaWQgZ2V0Q29udGVudHNBc1N0cmluZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKGNv
bnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKKyNpZiBQTEFURk9STShDT0NP
QSkKICAgICB2b2lkIGdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoY29uc3QgQXR0cmlidXRlZFN0cmluZyYpPiYmKTsKKyNlbmRpZgogICAgIHZvaWQg
Z2V0Qnl0ZWNvZGVQcm9maWxlKFdURjo6RnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2Fs
bGJhY2tCYXNlOjpFcnJvcik+JiYpOwogICAgIHZvaWQgZ2V0U2FtcGxpbmdQcm9maWxlck91dHB1
dChXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3Ip
PiYmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364880</attachid>
            <date>2019-03-15 16:55:34 -0700</date>
            <delta_ts>2019-03-15 21:17:52 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190315165533.patch</filename>
            <type>text/plain</type>
            <size>40091</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJmZjU4M2Q4NmU2NzYy
NjFkZTdlODE3OWExNTcwMGRlYzRmYWQ3Yy4uMzQ5MTkyMTc4ZjdhZWFhMjc3YWRlNDJmMjRiNDRm
Mzk5OWIwZjA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE1ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogVXBkYXRlZC4KKwogMjAxOS0w
My0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWJz
aXRlUG9saWN5IGZvciB0aGUgY2xpZW50IHRvIHNwZWNpZnkgdGhlIGRldmljZSBvcmllbnRhdGlv
biAmIG1vdGlvbiBhY2Nlc3MgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2ZmVlNWQxMDc3ZmY0OWFmZDdl
ZjMyZGY4MDY2ZWVjZWZlZjg2YTIuLmM0NzE5NDE1ZDhmYzhjNGJhZTAyMmQwZjEwYzY4ZDEzODBi
NzRhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDMtMTUgIFRpbW90aHkgSGF0
Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVk
U3RyaW5nIEFQSSBmb3IgY29udmVydGluZyBIVE1MLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1
MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNB
dHRyaWJ1dGVkU3RyaW5nLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmlu
Z05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b246ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2
aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjp3aXRo
RXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzpkaWRGYWlsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19X
S0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZp
Z2F0aW9uOl0pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNh
Y2hlXSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmll
dmVPckNyZWF0ZVdlYlZpZXddKToKKyAgICAgICAgKCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZp
ZXdDYWNoZSBjYWNoZVdlYlZpZXc6XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdX
ZWJWaWV3Q2FjaGUgcmVzZXRQdXJnZURlbGF5XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRT
dHJpbmdXZWJWaWV3Q2FjaGUgcHVyZ2VTaW5nbGVXZWJWaWV3XSk6CisgICAgICAgICgrW05TQXR0
cmlidXRlZFN0cmluZyBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6Y29udGVudExvYWRlcjpjb21w
bGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGxvYWRGcm9t
SFRNTFdpdGhSZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgr
W05TQXR0cmlidXRlZFN0cmluZyBsb2FkRnJvbUhUTUxXaXRoRmlsZVVSTDpvcHRpb25zOmNvbXBs
ZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tOU0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21I
VE1MV2l0aFN0cmluZzpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tO
U0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21IVE1MV2l0aERhdGE6b3B0aW9uczpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZ1ByaXZhdGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3JJbnRlcm5hbC5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tF
cnJvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbToKKyAgICAg
ICAgKGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKToKKyAgICAgICAgKGNyZWF0ZU5T
RXJyb3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmg6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDMt
MTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBz
dXBwb3J0IHRvIFdlYlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0
ZWQgc3RyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
aW5kZXggNTEzZTMyODA5ZWQ3MjZkNzI4YTViNTFlMDAyYjY3YWRhNjk0YjRmYy4uYjRkNDRhZmRj
MTM2OGUzYzNkNjVmZjkxMDIzZDE2ZDM2NjhjY2VlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5s
cHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xODEsNiArMTgxLDkgQEAKIC8qIFdLRXJyb3JD
b250ZW50UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQgZGVzY3JpcHRpb24gKi8KICJDb21waWxp
bmcgYSBXS0NvbnRlbnRSdWxlTGlzdCBmYWlsZWQiID0gIkNvbXBpbGluZyBhIFdLQ29udGVudFJ1
bGVMaXN0IGZhaWxlZCI7CiAKKy8qIFdLRXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIGRlc2NyaXB0
aW9uICovCisiQ29udGVudCBmYWlsZWQgdG8gbG9hZCIgPSAiQ29udGVudCBmYWlsZWQgdG8gbG9h
ZCI7CisKIC8qIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBlIGRlc2NyaXB0aW9uICovCiAi
Q29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biIgPSAiQ29u
dGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biI7CiAKQEAgLTgw
Miw2ICs4MDUsOSBAQAogLyogVW5kbyBhY3Rpb24gbmFtZSAqLwogIlRpZ2h0ZW4gS2VybmluZyAo
VW5kbyBhY3Rpb24gbmFtZSkiID0gIlRpZ2h0ZW4gS2VybmluZyI7CiAKKy8qIFdLRXJyb3JDb250
ZW50TG9hZFRpbWVkT3V0IGRlc2NyaXB0aW9uICovCisiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcg
Y29udGVudCIgPSAiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcgY29udGVudCI7CisKIC8qIHByb21w
dCBzdHJpbmcgaW4gYXV0aGVudGljYXRpb24gcGFuZWwgKi8KICJUbyB2aWV3IHRoaXMgcGFnZSwg
eW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIiA9ICJUbyB2aWV3IHRoaXMg
cGFnZSwgeW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0CmluZGV4IGI1NjBiNGE3NjU5MzJmYzhiNjE4NThkZDk1YzEwYjhiZTExNzRi
ZWUuLmU1MGRiMDI5YmE2NmU5NjZmNjJiYzMxYTI0ZDQwMDczYjVlZTBjNzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKQEAgLTI3Miw2ICsyNzIsNyBAQCBVSVByb2Nlc3MvQVBJL0NvY29hL0FQSUhU
VFBDb29raWVTdG9yZUNvY29hLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUNvY29hLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9MZWdhY3lCdW5kbGVGb3JDbGFzcy5tbQor
VUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9y
d2FyZExpc3RJdGVtLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L05TQXR0cmlidXRlZFN0cmluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L05TQXR0cmlidXRlZFN0cmluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkNDA1YzlmNTk4MjM1OTZjODllODQ4
ZTY3OGNhNDVmZGQ4ZWY0N2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLmgKQEAgLTAsMCArMSwxMTcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBUQVJHRVRf
T1NfSVBIT05FCisjaW1wb3J0IDxVSUtpdC9OU0F0dHJpYnV0ZWRTdHJpbmcuaD4KKyNlbHNlCisj
aW1wb3J0IDxBcHBLaXQvTlNBdHRyaWJ1dGVkU3RyaW5nLmg+CisjZW5kaWYKKworTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4KKworLyohCisgQGFic3RyYWN0IEluZGljYXRlcyB3aGljaCBsb2NhbCBm
aWxlcyBXZWJLaXQgY2FuIGFjY2VzcyB3aGVuIGxvYWRpbmcgY29udGVudC4KKyBAZGlzY3Vzc2lv
biBJZiBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgc2luZ2xlIGZp
bGUsIG9ubHkgdGhhdCBmaWxlIG1heSBiZQorIGxvYWRlZCBieSBXZWJLaXQuIElmIE5TUmVhZEFj
Y2Vzc1VSTERvY3VtZW50T3B0aW9uIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksIGZpbGVzIGluc2lk
ZSB0aGF0CisgZGlyZWN0b3J5IG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LgorKi8KK1dLX0VYVEVS
TiBOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXkgY29uc3QgTlNSZWFk
QWNjZXNzVVJMRG9jdW1lbnRPcHRpb24KKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmlidXRlZFN0
cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleS5yZWFkQWNjZXNzVVJMKSBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3Ry
YWN0IFR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGNvbXBsZXRpb24gaGFuZGxlciBibG9jayB1c2Vk
IHRvIGdldCBhc3luY2hyb25vdXMgYXR0cmlidXRlZCBzdHJpbmdzLgorIEBkaXNjdXNzaW9uIFRo
ZSBjb21wbGV0aW9uIGhhbmRsZXIgYmxvY2sgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmlu
ZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBsaWtl
IE5TQmFja2dyb3VuZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUsIG9yIGFuIGVycm9yLiBBbiBpbXBs
ZW1lbnRhdGlvbgorIG9mIHRoaXMgYmxvY2sgdHlwZSBtdXN0IGV4cGVjdCB0byBiZSBjYWxsZWQg
YXN5bmNocm9ub3VzbHkgd2hlbiBwYXNzZWQgdG8gSFRNTCBtZXRob2RzLgorKi8KK3R5cGVkZWYg
dm9pZCAoXk5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKShOU0F0dHJpYnV0ZWRT
dHJpbmcgKiBfTnVsbGFibGUsIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVu
dEF0dHJpYnV0ZUtleSwgaWQ+ICogX051bGxhYmxlLCBOU0Vycm9yICogX051bGxhYmxlKQorICAg
IE5TX1NXSUZUX05BTUUoTlNBdHRyaWJ1dGVkU3RyaW5nLkNvbXBsZXRpb25IYW5kbGVyKSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyoh
CisgQGRpc2N1c3Npb24gRXh0ZW5zaW9uIG9mIEBsaW5rIC8vYXBwbGVfcmVmL29jYy9OU0F0dHJp
YnV0ZWRTdHJpbmcgTlNBdHRyaWJ1dGVkU3RyaW5nIEAvbGluayB0bworIGNyZWF0ZSBhdHRyaWJ1
dGVkIHN0cmluZ3MgZnJvbSBIVE1MIGNvbnRlbnQgdXNpbmcgV2ViS2l0LgorKi8KK0BpbnRlcmZh
Y2UgTlNBdHRyaWJ1dGVkU3RyaW5nIChOU0F0dHJpYnV0ZWRTdHJpbmdXZWJLaXRBZGRpdGlvbnMp
CisKKy8qIQorIEBhYnN0cmFjdCBMb2FkcyBhbiBIVE1MIFVSTCByZXF1ZXN0IGFuZCBjb252ZXJ0
cyB0aGUgY29udGVudHMgaW50byBhbiBhdHRyaWJ1dGVkIHN0cmluZy4KKyBAcGFyYW0gcmVxdWVz
dCBUaGUgcmVxdWVzdCBzcGVjaWZ5aW5nIHRoZSBVUkwgdG8gbG9hZC4KKyBAcGFyYW0gb3B0aW9u
cyBEb2N1bWVudCBhdHRyaWJ1dGVzIGZvciBpbnRlcnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRl
bnRzLgorIE5TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb24gYW5kIE5TVGltZW91dERv
Y3VtZW50T3B0aW9uIGFyZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBhcmFtIGNvbXBsZXRp
b25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdoZW4gdGhlIG9wZXJhdGlvbiBjb21wbGV0ZXMg
b3IgZmFpbHMuCisgQGRpc2N1c3Npb24gVGhlIGNvbXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0
aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2
ZWwgYXR0cmlidXRlcywgb3IgYW4gZXJyb3IuCisqLworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRo
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNv
bXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21w
bGV0aW9uSGFuZGxlcgorICAgIE5TX1NXSUZUX05BTUUobG9hZEZyb21IVE1MKHJlcXVlc3Q6b3B0
aW9uczpjb21wbGV0aW9uSGFuZGxlcjopKSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IENvbnZlcnRzIGEgbG9j
YWwgSFRNTCBmaWxlIGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIGZpbGVVUkwg
VGhlIGZpbGUgVVJMIHRvIGxvYWQuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRl
cyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVs
dGlwbGllckRvY3VtZW50T3B0aW9uLCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhbmQgTlNSZWFk
QWNjZXNzVVJMRG9jdW1lbnRPcHRpb24KKyBhcmUgc3VwcG9ydGVkIG9wdGlvbiBrZXlzLgorIEBw
YXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSB3aGVuIHRoZSBvcGVyYXRp
b24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRoZSBjb21wbGV0aW9uSGFuZGxl
ciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3VsdCBhbG9uZyB3aXRoIGFueQor
IGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9yLiBJZiBOU1JlYWRBY2Nlc3NV
UkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgc2luZ2xlIGZpbGUsCisgb25seSB0aGF0IGZp
bGUgbWF5IGJlIGxvYWRlZCBieSBXZWJLaXQuIElmIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0
aW9uIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksCisgZmlsZXMgaW5zaWRlIHRoYXQgZGlyZWN0b3J5
IG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LgorKi8KKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aEZp
bGVVUkw6KE5TVVJMICopZmlsZVVSTCBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVk
U3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbXBsZXRpb25I
YW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9uSGFu
ZGxlcgorICAgIE5TX1NXSUZUX05BTUUobG9hZEZyb21IVE1MKGZpbGVVUkw6b3B0aW9uczpjb21w
bGV0aW9uSGFuZGxlcjopKSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IENvbnZlcnRzIGFuIEhUTUwgc3RyaW5n
IGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIHN0cmluZyBUaGUgSFRNTCBzdHJp
bmcgdG8gdXNlIGFzIHRoZSBjb250ZW50cy4KKyBAcGFyYW0gb3B0aW9ucyBEb2N1bWVudCBhdHRy
aWJ1dGVzIGZvciBpbnRlcnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnRzLgorIE5TVGV4dFNp
emVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb24sIE5TVGltZW91dERvY3VtZW50T3B0aW9uIGFuZCBO
U0Jhc2VVUkxEb2N1bWVudE9wdGlvbgorIGFyZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBh
cmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdoZW4gdGhlIG9wZXJhdGlv
biBjb21wbGV0ZXMgb3IgZmFpbHMuCisgQGRpc2N1c3Npb24gVGhlIGNvbXBsZXRpb25IYW5kbGVy
IGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55Cisg
ZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywgb3IgYW4gZXJyb3IuIE5TQmFzZVVSTERvY3VtZW50
T3B0aW9uIGlzIHVzZWQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUkxzCisgd2l0aGluIHRoZSBkb2N1
bWVudC4KKyovCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopc3Ry
aW5nIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRp
bmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRl
ZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRf
TkFNRShsb2FkRnJvbUhUTUwoc3RyaW5nOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8q
IQorIEBhYnN0cmFjdCBDb252ZXJ0cyBIVE1MIGRhdGEgaW50byBhbiBhdHRyaWJ1dGVkIHN0cmlu
Zy4KKyBAcGFyYW0gZGF0YSBUaGUgSFRNTCBkYXRhIHRvIHVzZSBhcyB0aGUgY29udGVudHMuCisg
QHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBk
b2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0aW9uLCBO
U1RpbWVvdXREb2N1bWVudE9wdGlvbiwgTlNUZXh0RW5jb2RpbmdOYW1lRG9jdW1lbnRPcHRpb24s
CisgYW5kIE5TQ2hhcmFjdGVyRW5jb2RpbmdEb2N1bWVudE9wdGlvbiBhcmUgc3VwcG9ydGVkIG9w
dGlvbiBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSB3
aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRoZSBj
b21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3VsdCBh
bG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9yLiBJ
ZiBuZWl0aGVyIE5TVGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uIG5vcgorIE5TQ2hhcmFj
dGVyRW5jb2RpbmdEb2N1bWVudE9wdGlvbiBpcyBzdXBwbGllZCwgYSBiZXN0LWd1ZXNzIGVuY29k
aW5nIGlzIHVzZWQuCisqLworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRoRGF0YTooTlNEYXRhICop
ZGF0YSBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFk
aW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0
ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9uSGFuZGxlcgorICAgIE5TX1NXSUZU
X05BTUUobG9hZEZyb21IVE1MKGRhdGE6b3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjopKSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworQGVu
ZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlNTQw
NTU1Yjk4NWNkM2EwOTM1OTJmN2M0YzcxZmZkMjM0NGY1NjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tCkBA
IC0wLDAgKzEsMzY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBv
cnQgIk5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCIKKworI2ltcG9ydCAiV0tFcnJvckludGVy
bmFsLmgiCisjaW1wb3J0ICJXS05hdmlnYXRpb25BY3Rpb25Qcml2YXRlLmgiCisjaW1wb3J0ICJX
S05hdmlnYXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiV0tQcmVmZXJlbmNlcy5oIgorI2ltcG9y
dCAiV0tQcm9jZXNzUG9vbFByaXZhdGUuaCIKKyNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRp
b25Qcml2YXRlLmgiCisjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCisjaW1wb3J0ICJXS1dl
YnNpdGVEYXRhU3RvcmUuaCIKKyNpbXBvcnQgIl9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
IgorI2ltcG9ydCA8d3RmL0RlcXVlLmg+CisjaW1wb3J0IDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK05TU3RyaW5nICogY29uc3QgTlNS
ZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gPSBAIlJlYWRBY2Nlc3NVUkwiOworCitjb25zdGV4
cHIgTlNSZWN0IHdlYlZpZXdSZWN0ID0ge3swLCAwfSwgezgwMCwgNjAwfX07Citjb25zdGV4cHIg
TlNUaW1lSW50ZXJ2YWwgZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCA9IDYwOworY29uc3RleHByIE5T
VGltZUludGVydmFsIHB1cmdlV2ViVmlld0NhY2hlRGVsYXkgPSAxNTsKK2NvbnN0ZXhwciBOU1VJ
bnRlZ2VyIG1heGltdW1XZWJWaWV3Q2FjaGVTaXplID0gMzsKKworQGludGVyZmFjZSBfV0tBdHRy
aWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRl
bGVnYXRlPgorCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXndlYkNvbnRlbnRQ
cm9jZXNzRGlkVGVybWluYXRlKShXS1dlYlZpZXcgKik7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgdm9pZCAoXmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pKFdLTmF2aWdhdGlv
bkFjdGlvbiAqLCB2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiko
V0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopOworQHByb3BlcnR5IChub25h
dG9taWMsIGNvcHkpIHZvaWQgKF5kaWRGYWlsTmF2aWdhdGlvbikoV0tXZWJWaWV3ICosIFdLTmF2
aWdhdGlvbiAqLCBOU0Vycm9yICopOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQg
KF5kaWRGaW5pc2hOYXZpZ2F0aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICopOworCitA
ZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVn
YXRlCisKKy0gKHZvaWQpd2ViVmlld1dlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlOihXS1dl
YlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKF93ZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0
ZSkKKyAgICAgICAgX3dlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlKHdlYlZpZXcpOworfQor
CistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiBkZWNp
c2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpZGVjaXNpb25I
YW5kbGVyCit7CisgICAgaWYgKF9kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKQorICAg
ICAgICByZXR1cm4gX2RlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24obmF2aWdhdGlvbkFj
dGlvbiwgZGVjaXNpb25IYW5kbGVyKTsKKyAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5QWxsb3cpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdh
dGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgoreworICAgIGlmIChfZGlkRmFpbFByb3Zp
c2lvbmFsTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24o
d2ViVmlldywgbmF2aWdhdGlvbiwgZXJyb3IpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgZGlkRmFpbE5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRp
b24gd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKK3sKKyAgICBpZiAoX2RpZEZhaWxOYXZpZ2F0
aW9uKQorICAgICAgICBfZGlkRmFpbE5hdmlnYXRpb24od2ViVmlldywgbmF2aWdhdGlvbiwgZXJy
b3IpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmluaXNo
TmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbgoreworICAgIGlmIChfZGlkRmlu
aXNoTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZpbmlzaE5hdmlnYXRpb24od2ViVmlldywgbmF2
aWdhdGlvbik7Cit9CisKK0BlbmQKKworQGludGVyZmFjZSBfV0tBdHRyaWJ1dGVkU3RyaW5nV2Vi
Vmlld0NhY2hlIDogTlNPYmplY3QKKworKyAoUmV0YWluUHRyPFdLV2ViVmlldz4pcmV0cmlldmVP
ckNyZWF0ZVdlYlZpZXc7CisrICh2b2lkKWNhY2hlV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dzsKKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZpZXdD
YWNoZQorCisrIChOU011dGFibGVBcnJheTxXS1dlYlZpZXcgKj4gKiljYWNoZQoreworICAgIHN0
YXRpYyBhdXRvKiBjYWNoZSA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNp
dHk6bWF4aW11bVdlYlZpZXdDYWNoZVNpemVdOworICAgIHJldHVybiBjYWNoZTsKK30KKworc3Rh
dGljIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb247CisKKysgKFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCit7CisgICAgaWYgKCFjb25maWd1cmF0aW9u
KSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdOworICAgICAgICBjb25maWd1cmF0aW9uLnByb2Nlc3NQb29sID0gW1tbV0tQcm9j
ZXNzUG9vbCBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOworICAgICAgICBjb25maWd1cmF0aW9u
LndlYnNpdGVEYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRh
U3RvcmVdOworICAgICAgICBjb25maWd1cmF0aW9uLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0
aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlQWxsOworICAgICAgICBjb25m
aWd1cmF0aW9uLl9hbGxvd3NKYXZhU2NyaXB0TWFya3VwID0gTk87CisgICAgICAgIGNvbmZpZ3Vy
YXRpb24uX2FsbG93c01ldGFSZWZyZXNoID0gTk87CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX2F0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IFlFUzsKKyAgICAgICAgY29uZmlndXJhdGlvbi5faW52
aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBZRVM7CisgICAgICAgIGNvbmZpZ3VyYXRpb24u
X21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IE5POworICAgICAgICBjb25maWd1cmF0aW9u
Ll9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayA9IE5POworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgICAgIGNvbmZpZ3VyYXRpb24uYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFjayA9IE5POworICAgICAgICBjb25maWd1cmF0aW9uLl9hbHdheXNSdW5zQXRGb3JlZ3JvdW5k
UHJpb3JpdHkgPSBZRVM7CisjZW5kaWYKKyAgICB9CisKKyAgICByZXR1cm4gY29uZmlndXJhdGlv
bjsKK30KKworKyAodm9pZCljbGVhckNvbmZpZ3VyYXRpb24KK3sKKyAgICBbY29uZmlndXJhdGlv
biByZWxlYXNlXTsKKyAgICBjb25maWd1cmF0aW9uID0gbmlsOworfQorCisrIChSZXRhaW5QdHI8
V0tXZWJWaWV3PilyZXRyaWV2ZU9yQ3JlYXRlV2ViVmlldworeworICAgIFtzZWxmIHJlc2V0UHVy
Z2VEZWxheV07CisKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKKyAgICBk
aXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGF1dG8mIG1lbW9yeVByZXNzdXJl
SGFuZGxlciA9IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCk7CisgICAgICAgIG1l
bW9yeVByZXNzdXJlSGFuZGxlci5zZXRMb3dNZW1vcnlIYW5kbGVyKFtzZWxmXSAoQ3JpdGljYWws
IFN5bmNocm9ub3VzKSB7CisgICAgICAgICAgICBbc2VsZiBwdXJnZUFsbFdlYlZpZXdzXTsKKyAg
ICAgICAgfSk7CisgICAgfSk7CisKKyAgICBhdXRvKiBjYWNoZSA9IHNlbGYuY2FjaGU7CisgICAg
aWYgKGNhY2hlLmNvdW50KSB7CisgICAgICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcg
PSBjYWNoZS5sYXN0T2JqZWN0OworICAgICAgICBbY2FjaGUgcmVtb3ZlTGFzdE9iamVjdF07Cisg
ICAgICAgIHJldHVybiB3ZWJWaWV3OworICAgIH0KKworICAgIHJldHVybiBhZG9wdE5TKFtbV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOndlYlZpZXdSZWN0IGNvbmZpZ3VyYXRpb246c2Vs
Zi5jb25maWd1cmF0aW9uXSk7Cit9CisKKysgKHZvaWQpY2FjaGVXZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3Cit7CisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmIChjYWNo
ZS5jb3VudCA+PSBtYXhpbXVtV2ViVmlld0NhY2hlU2l6ZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgW2NhY2hlIGFkZE9iamVjdDp3ZWJWaWV3XTsKKworICAgIC8vIExvYWQgYSBibGFuayBwYWdl
IHRvIGNsZWFyIGFueXRoaW5nIGxvYWRlZCB3aGlsZSBpbiB0aGUgY2FjaGUuCisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKK30KKworKyAodm9pZClyZXNldFB1cmdlRGVsYXkK
K3sKKyAgICBzdGF0aWMgY29uc3QgYXV0byBwdXJnZVNlbGVjdG9yID0gQHNlbGVjdG9yKHB1cmdl
U2luZ2xlV2ViVmlldyk7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVl
c3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOnB1cmdlU2VsZWN0b3Igb2JqZWN0Om5pbF07Cisg
ICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOnB1cmdlU2VsZWN0b3Igd2l0aE9iamVjdDpuaWwgYWZ0
ZXJEZWxheTpwdXJnZVdlYlZpZXdDYWNoZURlbGF5XTsKK30KKworKyAodm9pZClwdXJnZVNpbmds
ZVdlYlZpZXcKK3sKKyAgICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNX
aXRoVGFyZ2V0OnNlbGYgc2VsZWN0b3I6X2NtZCBvYmplY3Q6bmlsXTsKKworICAgIGF1dG8qIGNh
Y2hlID0gc2VsZi5jYWNoZTsKKyAgICBpZiAoIWNhY2hlLmNvdW50KQorICAgICAgICByZXR1cm47
CisKKyAgICBbY2FjaGUubGFzdE9iamVjdCBfY2xvc2VdOworICAgIFtjYWNoZSByZW1vdmVMYXN0
T2JqZWN0XTsKKworICAgIGlmICghY2FjaGUuY291bnQpIHsKKyAgICAgICAgW3NlbGYgY2xlYXJD
b25maWd1cmF0aW9uXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEtlZXAgZ29p
bmcgdW50aWwgZXZlcnkgdmlldyBpcyByZW1vdmVkLCBvciB0aGUgZGVsYXkgaXMgcmVzZXQuCisg
ICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOl9jbWQgd2l0aE9iamVjdDpuaWwgYWZ0ZXJEZWxheTpw
dXJnZVdlYlZpZXdDYWNoZURlbGF5XTsKK30KKworKyAodm9pZClwdXJnZUFsbFdlYlZpZXdzCit7
CisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmICghY2FjaGUuY291bnQpCisg
ICAgICAgIHJldHVybjsKKworICAgIFtjYWNoZSBtYWtlT2JqZWN0c1BlcmZvcm1TZWxlY3RvcjpA
c2VsZWN0b3IoX2Nsb3NlKV07CisgICAgW2NhY2hlIHJlbW92ZUFsbE9iamVjdHNdOworCisgICAg
W3NlbGYgY2xlYXJDb25maWd1cmF0aW9uXTsKK30KKworQGVuZAorCitAaW1wbGVtZW50YXRpb24g
TlNBdHRyaWJ1dGVkU3RyaW5nIChXS1ByaXZhdGUpCisKKysgKHZvaWQpX2xvYWRGcm9tSFRNTFdp
dGhPcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5n
T3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbnRlbnRMb2FkZXI6KFdLTmF2aWdhdGlvbiAqKF4p
KFdLV2ViVmlldyAqKSlsb2FkV2ViQ29udGVudCBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1
dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBpZiAo
b3B0aW9uc1tOU1dlYlByZWZlcmVuY2VzRG9jdW1lbnRPcHRpb25dKQorICAgICAgICBbTlNFeGNl
cHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiTlNXZWJQcmVm
ZXJlbmNlc0RvY3VtZW50T3B0aW9uIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIl07CisgICAgaWYg
KG9wdGlvbnNbTlNXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZURvY3VtZW50T3B0aW9uXSkKKyAgICAg
ICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpA
Ik5TV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVEb2N1bWVudE9wdGlvbiBvcHRpb24gaXMgbm90IHN1
cHBvcnRlZCJdOworICAgIGlmIChvcHRpb25zW0AiV2ViUG9saWN5RGVsZWdhdGUiXSkKKyAgICAg
ICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpA
IldlYlBvbGljeURlbGVnYXRlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIl07CisKKyAgICBhdXRv
IHJ1bkNvbnZlcnNpb24gPSBeeworICAgICAgICBfX2Jsb2NrIGF1dG8gZmluaXNoZWQgPSBOTzsK
KyAgICAgICAgX19ibG9jayBhdXRvIHdlYlZpZXcgPSBbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZp
ZXdDYWNoZSByZXRyaWV2ZU9yQ3JlYXRlV2ViVmlld107CisgICAgICAgIF9fYmxvY2sgYXV0byBu
YXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtbX1dLQXR0cmlidXRlZFN0cmluZ05hdmlnYXRp
b25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworCisgICAgICAgIF9fYmxvY2sgUmV0YWluUHRyPFdL
TmF2aWdhdGlvbj4gY29udGVudE5hdmlnYXRpb247CisKKyAgICAgICAgd2ViVmlldy5nZXQoKS5u
YXZpZ2F0aW9uRGVsZWdhdGUgPSBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCk7CisKKyAgICAgICAg
aWYgKGF1dG8qIHRleHRab29tRmFjdG9yID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNOdW1iZXI+KG9w
dGlvbnNbTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbl0pKQorICAgICAgICAgICAg
d2ViVmlldy5nZXQoKS5fdGV4dFpvb21GYWN0b3IgPSB0ZXh0Wm9vbUZhY3Rvci5kb3VibGVWYWx1
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd2ViVmlldy5nZXQoKS5fdGV4dFpvb21GYWN0
b3IgPSAxOworCisgICAgICAgIGF1dG8gZmluaXNoID0gXihOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0
dHJpYnV0ZWRTdHJpbmcsIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudEF0
dHJpYnV0ZUtleSwgaWQ+ICphdHRyaWJ1dGVzLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAg
ICAgaWYgKGZpbmlzaGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
ZmluaXNoZWQgPSBZRVM7CisKKyAgICAgICAgICAgIHdlYlZpZXcuZ2V0KCkubmF2aWdhdGlvbkRl
bGVnYXRlID0gbmlsOworICAgICAgICAgICAgbmF2aWdhdGlvbkRlbGVnYXRlID0gbmlsOworICAg
ICAgICAgICAgY29udGVudE5hdmlnYXRpb24gPSBuaWw7CisKKyAgICAgICAgICAgIGlmICghZXJy
b3IpCisgICAgICAgICAgICAgICAgW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgY2Fj
aGVXZWJWaWV3OndlYlZpZXcuZ2V0KCldOworICAgICAgICAgICAgd2ViVmlldyA9IG5pbDsKKwor
ICAgICAgICAgICAgLy8gTWFrZSB0aGUgc3RyaW5nIGJlIGFuIGluc3RhbmNlIG9mIHRoZSByZWNl
aXZlciBjbGFzcy4KKyAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVkU3RyaW5nICYmIHNlbGYgIT0g
YXR0cmlidXRlZFN0cmluZy5jbGFzcykKKyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVkU3RyaW5n
ID0gW1tbc2VsZiBhbGxvY10gaW5pdFdpdGhBdHRyaWJ1dGVkU3RyaW5nOmF0dHJpYnV0ZWRTdHJp
bmddIGF1dG9yZWxlYXNlXTsKKworICAgICAgICAgICAgLy8gTWFrZSB0aGUgZG9jdW1lbnQgYXR0
cmlidXRlcyBpbW11dGFibGUuCisgICAgICAgICAgICBpZiAoW2F0dHJpYnV0ZXMgaXNLaW5kT2ZD
bGFzczpOU011dGFibGVEaWN0aW9uYXJ5LmNsYXNzXSkKKyAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzID0gW1tbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aERpY3Rpb25hcnk6YXR0cmlidXRl
c10gYXV0b3JlbGVhc2VdOworCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihhdHRyaWJ1
dGVkU3RyaW5nLCBhdHRyaWJ1dGVzLCBlcnJvcik7CisgICAgICAgIH07CisKKyAgICAgICAgYXV0
byBjYW5jZWwgPSBeKFdLRXJyb3JDb2RlIGVycm9yQ29kZSwgTlNFcnJvciogdW5kZXJseWluZ0Vy
cm9yKSB7CisgICAgICAgICAgICBmaW5pc2gobmlsLCBuaWwsIGNyZWF0ZU5TRXJyb3IoZXJyb3JD
b2RlLCB1bmRlcmx5aW5nRXJyb3IpLmdldCgpKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZp
Z2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IF4o
V0tOYXZpZ2F0aW9uQWN0aW9uICphY3Rpb24sIHZvaWQgKF5kZWNpc2lvbkhhbmRsZXIpKFdLTmF2
aWdhdGlvbkFjdGlvblBvbGljeSkpIHsKKyAgICAgICAgICAgIGlmIChbYWN0aW9uLl9tYWluRnJh
bWVOYXZpZ2F0aW9uIGlzRXF1YWw6Y29udGVudE5hdmlnYXRpb24uZ2V0KCldKQorICAgICAgICAg
ICAgICAgIHJldHVybiBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxs
b3cpOworICAgICAgICAgICAgZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGlj
eUNhbmNlbCk7CisgICAgICAgIH07CisKKyAgICAgICAgbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgp
LndlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlID0gXihXS1dlYlZpZXcgKikgeworICAgICAg
ICAgICAgY2FuY2VsKFdLRXJyb3JXZWJDb250ZW50UHJvY2Vzc1Rlcm1pbmF0ZWQsIG5pbCk7Cisg
ICAgICAgIH07CisKKyAgICAgICAgbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLmRpZEZhaWxQcm92
aXNpb25hbE5hdmlnYXRpb24gPSBeKFdLV2ViVmlldyAqLCBXS05hdmlnYXRpb24gKiwgTlNFcnJv
ciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbmNlbChXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0Nv
bnRlbnRGYWlsZWRUb0xvYWQsIGVycm9yKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0
aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmFpbE5hdmlnYXRpb24gPSBeKFdLV2ViVmlldyAqLCBXS05h
dmlnYXRpb24gKiwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbmNlbChXS0Vycm9y
QXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQsIGVycm9yKTsKKyAgICAgICAgfTsK
KworICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmluaXNoTmF2aWdhdGlvbiA9
IF4oV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqKSB7CisgICAgICAgICAgICBpZiAoZmluaXNo
ZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBuYXZpZ2F0aW9uRGVs
ZWdhdGUgPSBuaWw7CisKKyAgICAgICAgICAgIFt3ZWJWaWV3IF9nZXRDb250ZW50c0FzQXR0cmli
dXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0
cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0
cmlidXRlS2V5LCBpZD4gKmRvY3VtZW50QXR0cmlidXRlcywgTlNFcnJvciAqZXJyb3IpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYW5j
ZWwoV0tFcnJvclVua25vd24sIGVycm9yKTsKKyAgICAgICAgICAgICAgICBmaW5pc2goW1thdHRy
aWJ1dGVkU3RyaW5nIHJldGFpbl0gYXV0b3JlbGVhc2VdLCBbW2RvY3VtZW50QXR0cmlidXRlcyBy
ZXRhaW5dIGF1dG9yZWxlYXNlXSwgbmlsKTsKKyAgICAgICAgICAgIH1dOworICAgICAgICB9Owor
CisgICAgICAgIGF1dG8gdGltZW91dEludGVydmFsID0gZGVmYXVsdFRpbWVvdXRJbnRlcnZhbDsK
KyAgICAgICAgaWYgKGF1dG8qIHRpbWVvdXRPcHRpb24gPSBkeW5hbWljX29iamNfY2FzdDxOU051
bWJlcj4ob3B0aW9uc1tOU1RpbWVvdXREb2N1bWVudE9wdGlvbl0pKSB7CisgICAgICAgICAgICBp
ZiAodGltZW91dE9wdGlvbi5kb3VibGVWYWx1ZSA+PSAwKQorICAgICAgICAgICAgICAgIHRpbWVv
dXRJbnRlcnZhbCA9IHRpbWVvdXRPcHRpb24uZG91YmxlVmFsdWU7CisgICAgICAgIH0KKworICAg
ICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCB0aW1l
b3V0SW50ZXJ2YWwgKiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBe
eworICAgICAgICAgICAgaWYgKGZpbmlzaGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIGNhbmNlbChXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRP
dXQsIG5pbCk7CisgICAgICAgIH0pOworCisgICAgICAgIGNvbnRlbnROYXZpZ2F0aW9uID0gbG9h
ZFdlYkNvbnRlbnQod2ViVmlldy5nZXQoKSk7CisKKyAgICAgICAgQVNTRVJUKGNvbnRlbnROYXZp
Z2F0aW9uKTsKKyAgICAgICAgQVNTRVJUKHdlYlZpZXcuZ2V0KCkubG9hZGluZyk7CisgICAgfTsK
KworICAgIGlmIChbTlNUaHJlYWQgaXNNYWluVGhyZWFkXSkKKyAgICAgICAgcnVuQ29udmVyc2lv
bigpOworICAgIGVsc2UKKyAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgcnVuQ29udmVyc2lvbik7Cit9CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIE5T
QXR0cmlidXRlZFN0cmluZyAoTlNBdHRyaWJ1dGVkU3RyaW5nV2ViS2l0QWRkaXRpb25zKQorCisr
ICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IG9w
dGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRp
b25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmlu
Z0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2xvYWRG
cm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpeV0tOYXZpZ2F0aW9uICoo
V0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBsb2FkUmVxdWVz
dDpyZXF1ZXN0XTsKKyAgICB9IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsK
K30KKworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRoRmlsZVVSTDooTlNVUkwgKilmaWxlVVJMIG9w
dGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRp
b25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmlu
Z0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2xvYWRG
cm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpeV0tOYXZpZ2F0aW9uICoo
V0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIGF1dG8qIHJlYWRBY2Nlc3NVUkwgPSBkeW5h
bWljX29iamNfY2FzdDxOU1VSTD4ob3B0aW9uc1tOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlv
bl0pOworICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZEZpbGVVUkw6ZmlsZVVSTCBhbGxvd2lu
Z1JlYWRBY2Nlc3NUb1VSTDpyZWFkQWNjZXNzVVJMXTsKKyAgICB9IGNvbXBsZXRpb25IYW5kbGVy
OmNvbXBsZXRpb25IYW5kbGVyXTsKK30KKworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRoU3RyaW5n
OihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3Ry
aW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbXBsZXRpb25IYW5k
bGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9uSGFuZGxl
cgoreworICAgIFtzZWxmIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczpvcHRpb25zIGNvbnRlbnRM
b2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykgeworICAgICAgICBhdXRv
KiBiYXNlVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+KG9wdGlvbnNbTlNCYXNlVVJMRG9j
dW1lbnRPcHRpb25dKTsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOnN0
cmluZyBiYXNlVVJMOmJhc2VVUkxdOworICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlv
bkhhbmRsZXJdOworfQorCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhEYXRhOihOU0RhdGEgKilk
YXRhIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRp
bmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRl
ZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYg
X2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpeV0tOYXZpZ2F0
aW9uICooV0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIGF1dG8qIHRleHRFbmNvZGluZ05h
bWUgPSBkeW5hbWljX29iamNfY2FzdDxOU1N0cmluZz4ob3B0aW9uc1tOU1RleHRFbmNvZGluZ05h
bWVEb2N1bWVudE9wdGlvbl0pOworICAgICAgICBhdXRvIGNoYXJhY3RlckVuY29kaW5nID0gc3Rh
dGljX2Nhc3Q8TlNTdHJpbmdFbmNvZGluZz4oZHluYW1pY19vYmpjX2Nhc3Q8TlNOdW1iZXI+KG9w
dGlvbnNbTlNDaGFyYWN0ZXJFbmNvZGluZ0RvY3VtZW50T3B0aW9uXSkudW5zaWduZWRJbnRlZ2Vy
VmFsdWUpOworICAgICAgICBhdXRvKiBiYXNlVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+
KG9wdGlvbnNbTlNCYXNlVVJMRG9jdW1lbnRPcHRpb25dKTsKKworICAgICAgICBpZiAoY2hhcmFj
dGVyRW5jb2RpbmcgJiYgIXRleHRFbmNvZGluZ05hbWUpIHsKKyAgICAgICAgICAgIGF1dG8gc3Ry
aW5nRW5jb2RpbmcgPSBDRlN0cmluZ0NvbnZlcnROU1N0cmluZ0VuY29kaW5nVG9FbmNvZGluZyhj
aGFyYWN0ZXJFbmNvZGluZyk7CisgICAgICAgICAgICBpZiAoc3RyaW5nRW5jb2RpbmcgIT0ga0NG
U3RyaW5nRW5jb2RpbmdJbnZhbGlkSWQpCisgICAgICAgICAgICAgICAgdGV4dEVuY29kaW5nTmFt
ZSA9IChfX2JyaWRnZSBOU1N0cmluZyAqKUNGU3RyaW5nQ29udmVydEVuY29kaW5nVG9JQU5BQ2hh
clNldE5hbWUoc3RyaW5nRW5jb2RpbmcpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIFt3
ZWJWaWV3IGxvYWREYXRhOmRhdGEgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwiIGNoYXJhY3RlckVuY29k
aW5nTmFtZTp0ZXh0RW5jb2RpbmdOYW1lIGJhc2VVUkw6YmFzZVVSTF07CisgICAgfSBjb21wbGV0
aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5n
UHJpdmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4NTgyZjAwOWI2MzY3YzZlMzRmNTU2ZTM4M2MyZmFmMGEx
MzI3OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0IDxXZWJLaXQvTlNBdHRyaWJ1dGVkU3RyaW5nLmg+CisKK0BjbGFzcyBXS05h
dmlnYXRpb247CitAY2xhc3MgV0tXZWJWaWV3OworCitOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgor
CisvKiEKKyBAZGlzY3Vzc2lvbiBQcml2YXRlIGV4dGVuc2lvbiBvZiBAbGluayAvL2FwcGxlX3Jl
Zi9vY2MvTlNBdHRyaWJ1dGVkU3RyaW5nIE5TQXR0cmlidXRlZFN0cmluZyBAL2xpbmsgdG8KKyB0
cmFuc2xhdGUgSFRNTCBjb250ZW50IGludG8gYXR0cmlidXRlZCBzdHJpbmdzIHVzaW5nIFdlYktp
dC4KKyAqLworQGludGVyZmFjZSBOU0F0dHJpYnV0ZWRTdHJpbmcgKFdLUHJpdmF0ZSkKKworLyoh
CisgQGFic3RyYWN0IENvbnZlcnRzIHRoZSBjb250ZW50cyBsb2FkZWQgYnkgYSBjb250ZW50IGxv
YWRlciBibG9jayBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBwYXJhbSBvcHRpb25zIERv
Y3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVudHMu
CisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgYW5kIE5TVGltZW91dERvY3Vt
ZW50T3B0aW9uIGFyZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBhcmFtIGNvbnRlbnRMb2Fk
ZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiBjb250ZW50IG5lZWRzIHRvIGJlIGxvYWRlZCBpbiB0
aGUgc3VwcGxpZWQKKyBAbGluayBXS1dlYlZpZXcgQC9saW5rLiBBIEBsaW5rIFdLTmF2aWdhdGlv
biBAL2xpbmsgZm9yIHRoZSBtYWluIGZyYW1lIG11c3QgYmUgcmV0dXJuZWQuCisgQHBhcmFtIGNv
bXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdoZW4gdGhlIHRyYW5zbGF0aW9uIGNv
bXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMg
cGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1
bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4KKyAqLworKyAodm9pZClfbG9hZEZy
b21IVE1MV2l0aE9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVu
dFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29udGVudExvYWRlcjooV0tOYXZpZ2F0
aW9uICooXikoV0tXZWJWaWV3ICopKWxvYWRXZWJDb250ZW50IGNvbXBsZXRpb25IYW5kbGVyOihO
U0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9uSGFuZGxlcjsKKwor
QGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tFcnJvci5oCmluZGV4IGYyNzdlOGQ4ZmEyOWI3YTUzOGQ0ZWVhNjliY2QwMWZj
NjU3MGQwYTcuLmIwODA4ZWM0ODI1NzI3OGY1ZWIxNGVjZjZmOGFiY2ZmOGQ2NGJiODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaApAQCAtNDMsNiArNDMs
OCBAQCBXS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBXS0Vycm9yRG9tYWluIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjEwKSwgaW9zKDguMAogIEBjb25zdGFudCBXS0Vycm9yQ29udGVudFJ1
bGVMaXN0U3RvcmVMb29rVXBGYWlsZWQgICAgIEluZGljYXRlcyB0aGF0IGxvb2tpbmcgdXAgYSBX
S1VzZXJDb250ZW50UnVsZUxpc3QgZmFpbGVkLgogIEBjb25zdGFudCBXS0Vycm9yQ29udGVudFJ1
bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQgICAgIEluZGljYXRlcyB0aGF0IHJlbW92aW5nIGEgV0tV
c2VyQ29udGVudFJ1bGVMaXN0IGZhaWxlZC4KICBAY29uc3RhbnQgV0tFcnJvckNvbnRlbnRSdWxl
TGlzdFN0b3JlVmVyc2lvbk1pc21hdGNoICBJbmRpY2F0ZXMgdGhhdCB0aGUgV0tVc2VyQ29udGVu
dFJ1bGVMaXN0IHZlcnNpb24gZGlkIG5vdCBtYXRjaCB0aGUgbGF0ZXN0LgorIEBjb25zdGFudCBX
S0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQgIEluZGljYXRlcyB0aGF0
IHRoZSBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IGZhaWxlZCB0byBsb2FkLgorIEBjb25zdGFu
dCBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQgIEluZGljYXRlcyB0
aGF0IGxvYWRpbmcgYXR0cmlidXRlZCBzdHJpbmcgY29udGVudCB0aW1lZCBvdXQuCiAgKi8KIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRXJyb3JDb2RlKSB7CiAgICAgV0tFcnJvclVua25v
d24gPSAxLApAQCAtNTQsNiArNTYsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Vy
cm9yQ29kZSkgewogICAgIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tVcEZhaWxlZCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSksCiAgICAgV0tFcnJvckNv
bnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzKSwgaW9zKDExLjApKSwKICAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVWZXJzaW9u
TWlzbWF0Y2ggV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpLAorICAg
IFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRvTG9hZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKKyAgICBXS0Vycm9yQXR0
cmlidXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSksCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEwKSwgaW9zKDguMCkpOwogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW0KaW5kZXggZmNiZmM0ZDkzYWU5Yzg1
YTM1YWM4Y2YzN2U1MTJjZTNlNTg1N2EwMS4uMzZlMWY0YmQ2ODkxZTg5MDIxYjM1YjFmOGJiOGIz
YTA0YWY3NThkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLRXJyb3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJy
b3IubW0KQEAgLTY3LDEyICs2NywyMiBAQCBOU1N0cmluZyAqbG9jYWxpemVkRGVzY3JpcHRpb25G
b3JFcnJvckNvZGUoV0tFcnJvckNvZGUgZXJyb3JDb2RlKQogCiAgICAgY2FzZSBXS0Vycm9yQ29u
dGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQ6CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RS
SU5HKCJSZW1vdmluZyBhIFdLQ29udGVudFJ1bGVMaXN0IGZhaWxlZCIsICJXS0Vycm9yQ29udGVu
dFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQgZGVzY3JpcHRpb24iKTsKKworICAgIGNhc2UgV0tF
cnJvckF0dHJpYnV0ZWRTdHJpbmdDb250ZW50RmFpbGVkVG9Mb2FkOgorICAgICAgICByZXR1cm4g
V0VCX1VJX1NUUklORygiQXR0cmlidXRlZCBzdHJpbmcgY29udGVudCBmYWlsZWQgdG8gbG9hZCIs
ICJXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQgZGVzY3JpcHRpb24i
KTsKKworICAgIGNhc2UgV0tFcnJvckF0dHJpYnV0ZWRTdHJpbmdDb250ZW50TG9hZFRpbWVkT3V0
OgorICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcg
YXR0cmlidXRlZCBzdHJpbmcgY29udGVudCIsICJXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRl
bnRMb2FkVGltZWRPdXQgZGVzY3JpcHRpb24iKTsKICAgICB9CiB9CiAKLVJldGFpblB0cjxOU0Vy
cm9yPiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlIGVycm9yQ29kZSkKK1JldGFpblB0cjxOU0Vy
cm9yPiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlIGVycm9yQ29kZSwgTlNFcnJvciogdW5kZXJs
eWluZ0Vycm9yKQogewotICAgIGF1dG8gdXNlckluZm8gPSBhZG9wdE5TKFtbTlNEaWN0aW9uYXJ5
IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRLZXlzOmxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJy
b3JDb2RlKGVycm9yQ29kZSksIE5TTG9jYWxpemVkRGVzY3JpcHRpb25LZXksIG5pbF0pOworICAg
IE5TRGljdGlvbmFyeSAqdXNlckluZm8gPSBuaWw7CisgICAgaWYgKHVuZGVybHlpbmdFcnJvcikK
KyAgICAgICAgdXNlckluZm8gPSBAeyBOU0xvY2FsaXplZERlc2NyaXB0aW9uS2V5OiBsb2NhbGl6
ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShlcnJvckNvZGUpLCBOU1VuZGVybHlpbmdFcnJvcktl
eTogdW5kZXJseWluZ0Vycm9yIH07CisgICAgZWxzZQorICAgICAgICB1c2VySW5mbyA9IEB7IE5T
TG9jYWxpemVkRGVzY3JpcHRpb25LZXk6IGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2Rl
KGVycm9yQ29kZSkgfTsKIAotICAgIHJldHVybiBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5p
dFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOmVycm9yQ29kZSB1c2VySW5mbzp1c2VySW5m
by5nZXQoKV0pOworICAgIHJldHVybiBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhE
b21haW46V0tFcnJvckRvbWFpbiBjb2RlOmVycm9yQ29kZSB1c2VySW5mbzp1c2VySW5mb10pOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJ
bnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRl
cm5hbC5oCmluZGV4IDI2MWUyZTk5NjFhMzI1NDA2YjIxZTFhMDAzN2JjMDk5OGZkYjIxNzUuLjEx
YmQxZjVkMjI3NDMyMjA5ZGFjMDgxYTZlYjIyZmNjODQzNjFkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKQEAgLTI4LDUg
KzI4LDUgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgIkdlbmVyaWNDYWxs
YmFjay5oIgogCi1SZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJvcihXS0Vycm9yQ29kZSk7
CitSZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJvcihXS0Vycm9yQ29kZSwgTlNFcnJvciog
dW5kZXJseWluZ0Vycm9yID0gbmlsKTsKIE5TU3RyaW5nICpsb2NhbGl6ZWREZXNjcmlwdGlvbkZv
ckVycm9yQ29kZShXS0Vycm9yQ29kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NmMzYTVlYmFkMTcxMzA4YWZiYTJjYTRlOTg2MGYy
NTY4ZTljMzhiLi43MzEzY2I2Y2Y2YmU3YjUyYTFjN2U0NThhMTU2ZTk2Y2JlZjE1YTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM4
NSw2ICszODUsOCBAQAogCQkxQzBBMTk1NzFDOTAwNjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlv
blNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NTUxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRp
b25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUMwQTE5NTgxQzkwMDY4RjAw
RkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMEExOTU2MUM5MDA2OEYwMEZFMEVCQiAv
KiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VzLmggKi87IH07CiAJCTFDMEExOTVDMUM5MTZF
MUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5U2NyaXB0U291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzBBMTk1QjFDOTE2
RTFCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJjZS5oICov
OyB9OworCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzIwOTM1RTIy
MzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUMyMTg0MDIyMjMzODcyODAwQkFDNzAw
IC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMjE4NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJp
YnV0ZWRTdHJpbmdQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUM4OTFENjYxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzg5MUQ2
MzE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCAqLzsgfTsKIAkJMUM4RTI4MjAx
Mjc1RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MUUxMjc1RDE1NDAwQkM3QkQwIC8qIFdlYklu
c3BlY3Rvci5oICovOyB9OwogCQkxQzhFMjgzNDEyNzVENzM4MDBCQzdCRDAgLyogV2ViSW5zcGVj
dG9yUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDOEUyODMyMTI3NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oICovOyB9OwpA
QCAtMjM5NSw2ICsyMzk3LDkgQEAKIAkJMUMwQTE5NTkxQzkwMDZFQTAwRkUwRUJCIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dG9tYXRpb25TZXNzaW9uLm1l
c3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzBBMTk1QTFDOTE2Njk1
MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsg
cGF0aCA9IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDMEExOTVCMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5U2NyaXB0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJjZS5oOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxQzIwOTM1RTIyMzE4Q0IwMDAwMjZB
MzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQXR0cmlidXRlZFN0
cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzIwOTM1RjIyMzE4Q0IwMDAw
MjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTlNB
dHRyaWJ1dGVkU3RyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzIxODQw
MTIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzdDMTk1MTI4OEE4NzIwMDZBNzQyRiAvKiBX
ZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJ
bnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUM4OTFENjIxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvclVJLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3Bl
Y3RvclVJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclVJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTMzLDYgKzYxMzgsOSBAQAogCQkJ
CUZFRDNDMURBMUI0NDdBRTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2Nv
YS5tbSAqLywKIAkJCQkxQTM2MzVBQjFBMzE0NUU1MDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFT
dG9yZUNvY29hLm1tICovLAogCQkJCTFBRkRFNjQzMTk1MTBCNTUwMEM0OEZGQSAvKiBMZWdhY3lC
dW5kbGVGb3JDbGFzcy5tbSAqLywKKwkJCQkxQzIwOTM1RTIyMzE4Q0IwMDAwMjZBMzkgLyogTlNB
dHRyaWJ1dGVkU3RyaW5nLmggKi8sCisJCQkJMUMyMDkzNUYyMjMxOENCMDAwMDI2QTM5IC8qIE5T
QXR0cmlidXRlZFN0cmluZy5tbSAqLywKKwkJCQkxQzIxODQwMTIyMzM4NzI4MDBCQUM3MDAgLyog
TlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oICovLAogCQkJCTM3QzRDMDhCMTgxNEFDNUMwMDM2
ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovLAogCQkJCTM3QzRDMDhBMTgxNEFDNUMwMDM2
ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5tbSAqLywKIAkJCQkzN0M0QzA4RTE4MTRBRjNBMDAz
Njg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJbnRlcm5hbC5oICovLApAQCAtOTI4MCw2ICs5Mjg4
LDggQEAKIAkJCQkxQTIxNjFCMDExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFw
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIxNjJCMTExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50
aW1lVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTJEODRBMzEyN0Y2QUQxMDAxRUI5
NjIgLyogTlBWYXJpYW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUMyMDkzNjAyMjMxOENC
MDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUMy
MTg0MDIyMjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTM3NTRENTQ1MUIzQTI5RkQwMDNBNEM3RiAvKiBOU0ludm9jYXRpb25T
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOEFDQTEzMTY2NzBEODkwMDRDMTk0MSAvKiBPYmpD
T2JqZWN0R3JhcGguaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QjQ3RTJEMUQ2NERCNzYwMDVGNEVG
RiAvKiBvYmpjU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCBiZDg3YmZlMDcz
OGQ5OGUwNDM5M2FjNzEwMThjYTY2MmY4MTg4Y2JiLi4xNmYzZmE4MjM0N2IyZmY3N2M4Yzc3ZmZj
YmM2OGI3YmVlMmVjOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC0yMDgsNiArMjA4LDEwIEBAIHZvaWQg
V2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBBdHRyaWJ1CiAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUo
KTsKIAogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxv
Y2F0aW9uQW5kTGVuZ3RoKGZyYW1lLmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLCAwLCBJ
TlRfTUFYKTsKKyAgICBpZiAoIXJhbmdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBOU0RpY3Rpb25hcnkqIGRvY3VtZW50
QXR0cmlidXRlcyA9IG5pbDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364911</attachid>
            <date>2019-03-15 21:17:43 -0700</date>
            <delta_ts>2019-03-16 11:45:30 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190315211743.patch</filename>
            <type>text/plain</type>
            <size>40969</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJmZjU4M2Q4NmU2NzYy
NjFkZTdlODE3OWExNTcwMGRlYzRmYWQ3Yy4uMzQ5MTkyMTc4ZjdhZWFhMjc3YWRlNDJmMjRiNDRm
Mzk5OWIwZjA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE1ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogVXBkYXRlZC4KKwogMjAxOS0w
My0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWJz
aXRlUG9saWN5IGZvciB0aGUgY2xpZW50IHRvIHNwZWNpZnkgdGhlIGRldmljZSBvcmllbnRhdGlv
biAmIG1vdGlvbiBhY2Nlc3MgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2ZmVlNWQxMDc3ZmY0OWFmZDdl
ZjMyZGY4MDY2ZWVjZWZlZjg2YTIuLmM0NzE5NDE1ZDhmYzhjNGJhZTAyMmQwZjEwYzY4ZDEzODBi
NzRhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDMtMTUgIFRpbW90aHkgSGF0
Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVk
U3RyaW5nIEFQSSBmb3IgY29udmVydGluZyBIVE1MLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1
MDU1Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNB
dHRyaWJ1dGVkU3RyaW5nLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmlu
Z05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b246ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2
aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjp3aXRo
RXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzpkaWRGYWlsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19X
S0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZp
Z2F0aW9uOl0pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNh
Y2hlXSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmll
dmVPckNyZWF0ZVdlYlZpZXddKToKKyAgICAgICAgKCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZp
ZXdDYWNoZSBjYWNoZVdlYlZpZXc6XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdX
ZWJWaWV3Q2FjaGUgcmVzZXRQdXJnZURlbGF5XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRT
dHJpbmdXZWJWaWV3Q2FjaGUgcHVyZ2VTaW5nbGVXZWJWaWV3XSk6CisgICAgICAgICgrW05TQXR0
cmlidXRlZFN0cmluZyBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6Y29udGVudExvYWRlcjpjb21w
bGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGxvYWRGcm9t
SFRNTFdpdGhSZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgr
W05TQXR0cmlidXRlZFN0cmluZyBsb2FkRnJvbUhUTUxXaXRoRmlsZVVSTDpvcHRpb25zOmNvbXBs
ZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tOU0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21I
VE1MV2l0aFN0cmluZzpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoK1tO
U0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21IVE1MV2l0aERhdGE6b3B0aW9uczpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZ1ByaXZhdGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3JJbnRlcm5hbC5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tF
cnJvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbToKKyAgICAg
ICAgKGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKToKKyAgICAgICAgKGNyZWF0ZU5T
RXJyb3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmg6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDMt
MTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBz
dXBwb3J0IHRvIFdlYlBhZ2UgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIGFzIGFuIGF0dHJpYnV0
ZWQgc3RyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
aW5kZXggNTEzZTMyODA5ZWQ3MjZkNzI4YTViNTFlMDAyYjY3YWRhNjk0YjRmYy4uYjRkNDRhZmRj
MTM2OGUzYzNkNjVmZjkxMDIzZDE2ZDM2NjhjY2VlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5s
cHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xODEsNiArMTgxLDkgQEAKIC8qIFdLRXJyb3JD
b250ZW50UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQgZGVzY3JpcHRpb24gKi8KICJDb21waWxp
bmcgYSBXS0NvbnRlbnRSdWxlTGlzdCBmYWlsZWQiID0gIkNvbXBpbGluZyBhIFdLQ29udGVudFJ1
bGVMaXN0IGZhaWxlZCI7CiAKKy8qIFdLRXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIGRlc2NyaXB0
aW9uICovCisiQ29udGVudCBmYWlsZWQgdG8gbG9hZCIgPSAiQ29udGVudCBmYWlsZWQgdG8gbG9h
ZCI7CisKIC8qIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBlIGRlc2NyaXB0aW9uICovCiAi
Q29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biIgPSAiQ29u
dGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biI7CiAKQEAgLTgw
Miw2ICs4MDUsOSBAQAogLyogVW5kbyBhY3Rpb24gbmFtZSAqLwogIlRpZ2h0ZW4gS2VybmluZyAo
VW5kbyBhY3Rpb24gbmFtZSkiID0gIlRpZ2h0ZW4gS2VybmluZyI7CiAKKy8qIFdLRXJyb3JDb250
ZW50TG9hZFRpbWVkT3V0IGRlc2NyaXB0aW9uICovCisiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcg
Y29udGVudCIgPSAiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcgY29udGVudCI7CisKIC8qIHByb21w
dCBzdHJpbmcgaW4gYXV0aGVudGljYXRpb24gcGFuZWwgKi8KICJUbyB2aWV3IHRoaXMgcGFnZSwg
eW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIiA9ICJUbyB2aWV3IHRoaXMg
cGFnZSwgeW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCA0YTdiYWEzMjA1ZmI3ZjZi
MDI5NmVjZjQxZGZmYTkwYTQzYjU4ZGNhLi5jYTM2ZjVjMWUyYjViN2RkY2MxYWJlYTEzMzlhYjlm
NzQ4YjkxMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApA
QCAtMTE5Myw0ICsxMTkzLDExIEBAIFVJRWRnZUluc2V0cyBVSUVkZ2VJbnNldHNBZGQoVUlFZGdl
SW5zZXRzIGxocywgVUlFZGdlSW5zZXRzIHJocywgVUlSZWN0RWRnZSk7CiAKIGV4dGVybiBOU1N0
cmluZyAqY29uc3QgVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb247CiAKK2V4dGVy
biBOU1N0cmluZyAqIGNvbnN0IE5TVGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uOworZXh0
ZXJuIE5TU3RyaW5nICogY29uc3QgTlNCYXNlVVJMRG9jdW1lbnRPcHRpb247CitleHRlcm4gTlNT
dHJpbmcgKiBjb25zdCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbjsKK2V4dGVybiBOU1N0cmluZyAq
IGNvbnN0IE5TV2ViUHJlZmVyZW5jZXNEb2N1bWVudE9wdGlvbjsKK2V4dGVybiBOU1N0cmluZyAq
IGNvbnN0IE5TV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVEb2N1bWVudE9wdGlvbjsKK2V4dGVybiBO
U1N0cmluZyAqIGNvbnN0IE5TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb247CisKIFdU
Rl9FWFRFUk5fQ19FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBiNTYwYjRhNzY1OTMyZmM4
YjYxODU4ZGQ5NWMxMGI4YmUxMTc0YmVlLi5lNTBkYjAyOWJhNjZlOTY2ZjYyYmMzMWEyNGQ0MDA3
M2I1ZWUwYzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNzIsNiArMjcyLDcgQEAgVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElIVFRQQ29va2llU3RvcmVDb2NvYS5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQogVUlQcm9jZXNzL0FQSS9D
b2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTGVn
YWN5QnVuZGxlRm9yQ2xhc3MubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3Ry
aW5nLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tCiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbQogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZDQwNWM5ZjU5ODIzNTk2Yzg5ZTg0OGU2NzhjYTQ1ZmRkOGVmNDdjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5o
CkBAIC0wLDAgKzEsMTE3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRh
dGlvbi5oPgorCisjaWYgVEFSR0VUX09TX0lQSE9ORQorI2ltcG9ydCA8VUlLaXQvTlNBdHRyaWJ1
dGVkU3RyaW5nLmg+CisjZWxzZQorI2ltcG9ydCA8QXBwS2l0L05TQXR0cmlidXRlZFN0cmluZy5o
PgorI2VuZGlmCisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKKy8qIQorIEBhYnN0cmFjdCBJ
bmRpY2F0ZXMgd2hpY2ggbG9jYWwgZmlsZXMgV2ViS2l0IGNhbiBhY2Nlc3Mgd2hlbiBsb2FkaW5n
IGNvbnRlbnQuCisgQGRpc2N1c3Npb24gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24g
cmVmZXJlbmNlcyBhIHNpbmdsZSBmaWxlLCBvbmx5IHRoYXQgZmlsZSBtYXkgYmUKKyBsb2FkZWQg
YnkgV2ViS2l0LiBJZiBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEg
ZGlyZWN0b3J5LCBmaWxlcyBpbnNpZGUgdGhhdAorIGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVkIGJ5
IFdlYktpdC4KKyovCitXS19FWFRFUk4gTlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5n
T3B0aW9uS2V5IGNvbnN0IE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisgICAgTlNfU1dJ
RlRfTkFNRShOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXkucmVhZEFj
Y2Vzc1VSTCkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CisKKy8qIQorIEBhYnN0cmFjdCBUeXBlIGRlZmluaXRpb24gZm9yIHRoZSBjb21wbGV0
aW9uIGhhbmRsZXIgYmxvY2sgdXNlZCB0byBnZXQgYXN5bmNocm9ub3VzIGF0dHJpYnV0ZWQgc3Ry
aW5ncy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbiBoYW5kbGVyIGJsb2NrIGlzIHBhc3Nl
ZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQt
bGV2ZWwgYXR0cmlidXRlcywgbGlrZSBOU0JhY2tncm91bmRDb2xvckRvY3VtZW50QXR0cmlidXRl
LCBvciBhbiBlcnJvci4gQW4gaW1wbGVtZW50YXRpb24KKyBvZiB0aGlzIGJsb2NrIHR5cGUgbXVz
dCBleHBlY3QgdG8gYmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5IHdoZW4gcGFzc2VkIHRvIEhUTUwg
bWV0aG9kcy4KKyovCit0eXBlZGVmIHZvaWQgKF5OU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9u
SGFuZGxlcikoTlNBdHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlLCBOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqIF9OdWxsYWJsZSwgTlNF
cnJvciAqIF9OdWxsYWJsZSkKKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmlidXRlZFN0cmluZy5D
b21wbGV0aW9uSGFuZGxlcikgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBkaXNjdXNzaW9uIEV4dGVuc2lvbiBvZiBAbGluayAv
L2FwcGxlX3JlZi9vY2MvTlNBdHRyaWJ1dGVkU3RyaW5nIE5TQXR0cmlidXRlZFN0cmluZyBAL2xp
bmsgdG8KKyBjcmVhdGUgYXR0cmlidXRlZCBzdHJpbmdzIGZyb20gSFRNTCBjb250ZW50IHVzaW5n
IFdlYktpdC4KKyovCitAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoTlNBdHRyaWJ1dGVk
U3RyaW5nV2ViS2l0QWRkaXRpb25zKQorCisvKiEKKyBAYWJzdHJhY3QgTG9hZHMgYW4gSFRNTCBV
UkwgcmVxdWVzdCBhbmQgY29udmVydHMgdGhlIGNvbnRlbnRzIGludG8gYW4gYXR0cmlidXRlZCBz
dHJpbmcuCisgQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0aGUgVVJMIHRv
IGxvYWQuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0
aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50
T3B0aW9uIGFuZCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhcmUgc3VwcG9ydGVkIG9wdGlvbiBr
ZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSB3aGVuIHRo
ZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRoZSBjb21wbGV0
aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3VsdCBhbG9uZyB3
aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9yLgorKi8KKysg
KHZvaWQpbG9hZEZyb21IVE1MV2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgb3B0
aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlv
bktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5n
Q29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxv
YWRGcm9tSFRNTChyZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBh
YnN0cmFjdCBDb252ZXJ0cyBhIGxvY2FsIEhUTUwgZmlsZSBpbnRvIGFuIGF0dHJpYnV0ZWQgc3Ry
aW5nLgorIEBwYXJhbSBmaWxlVVJMIFRoZSBmaWxlIFVSTCB0byBsb2FkLgorIEBwYXJhbSBvcHRp
b25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29u
dGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9j
dW1lbnRPcHRpb24gYW5kIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisgYXJlIHN1cHBv
cnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBp
bnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lv
biBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyBy
ZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBl
cnJvci4gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNlcyBhIHNpbmds
ZSBmaWxlLAorIG9ubHkgdGhhdCBmaWxlIG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LiBJZiBOU1Jl
YWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgZGlyZWN0b3J5LAorIGZpbGVz
IGluc2lkZSB0aGF0IGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVkIGJ5IFdlYktpdC4KKyovCisrICh2
b2lkKWxvYWRGcm9tSFRNTFdpdGhGaWxlVVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0aW9uczooTlNE
aWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+
ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlv
bkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9tSFRN
TChmaWxlVVJMOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBhYnN0cmFjdCBD
b252ZXJ0cyBhbiBIVE1MIHN0cmluZyBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBwYXJh
bSBzdHJpbmcgVGhlIEhUTUwgc3RyaW5nIHRvIHVzZSBhcyB0aGUgY29udGVudHMuCisgQHBhcmFt
IG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBkb2N1bWVu
dCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0aW9uLCBOU1RpbWVv
dXREb2N1bWVudE9wdGlvbiBhbmQgTlNCYXNlVVJMRG9jdW1lbnRPcHRpb24KKyBhcmUgc3VwcG9y
dGVkIG9wdGlvbiBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGlu
dm9rZSB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9u
IFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJl
c3VsdCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVy
cm9yLiBOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbiBpcyB1c2VkIHRvIHJlc29sdmUgcmVsYXRpdmUg
VVJMcworIHdpdGhpbiB0aGUgZG9jdW1lbnQuCisqLworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRo
U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1
dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbXBsZXRp
b25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0aW9u
SGFuZGxlcgorICAgIE5TX1NXSUZUX05BTUUobG9hZEZyb21IVE1MKHN0cmluZzpvcHRpb25zOmNv
bXBsZXRpb25IYW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOworCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMgSFRNTCBkYXRhIGlu
dG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIGRhdGEgVGhlIEhUTUwgZGF0YSB0byB1
c2UgYXMgdGhlIGNvbnRlbnRzLgorIEBwYXJhbSBvcHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMg
Zm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRp
cGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24sIE5TVGV4dEVuY29k
aW5nTmFtZURvY3VtZW50T3B0aW9uLAorIGFuZCBOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1lbnRP
cHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRs
ZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWls
cy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRy
aWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRy
aWJ1dGVzLCBvciBhbiBlcnJvci4gSWYgbmVpdGhlciBOU1RleHRFbmNvZGluZ05hbWVEb2N1bWVu
dE9wdGlvbiBub3IKKyBOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1lbnRPcHRpb24gaXMgc3VwcGxp
ZWQsIGEgYmVzdC1ndWVzcyBlbmNvZGluZyBpcyB1c2VkLgorKi8KKysgKHZvaWQpbG9hZEZyb21I
VE1MV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmli
dXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0
aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlv
bkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9tSFRNTChkYXRhOm9wdGlvbnM6Y29t
cGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5n
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmlu
Zy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMGE3Njk1MjM3MGZiM2JiY2M0NTFmNDVhZDdhYTc0ZmFlMDdiNmFj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05T
QXR0cmlidXRlZFN0cmluZy5tbQpAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgiCisK
KyNpbXBvcnQgIldLRXJyb3JJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0aW9uQWN0aW9u
UHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgIldL
UHJlZmVyZW5jZXMuaCIKKyNpbXBvcnQgIldLUHJvY2Vzc1Bvb2xQcml2YXRlLmgiCisjaW1wb3J0
ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJWaWV3UHJp
dmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJzaXRlRGF0YVN0b3JlLmgiCisjaW1wb3J0ICJfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKKyNpbXBvcnQgPHd0Zi9EZXF1ZS5oPgorI2ltcG9ydCA8
d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbXBvcnQgPFVJS2l0U1BJLmg+CisjZW5kaWYK
KworTlNTdHJpbmcgKiBjb25zdCBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiA9IEAiUmVh
ZEFjY2Vzc1VSTCI7CisKK2NvbnN0ZXhwciBOU1JlY3Qgd2ViVmlld1JlY3QgPSB7ezAsIDB9LCB7
ODAwLCA2MDB9fTsKK2NvbnN0ZXhwciBOU1RpbWVJbnRlcnZhbCBkZWZhdWx0VGltZW91dEludGVy
dmFsID0gNjA7Citjb25zdGV4cHIgTlNUaW1lSW50ZXJ2YWwgcHVyZ2VXZWJWaWV3Q2FjaGVEZWxh
eSA9IDE1OworY29uc3RleHByIE5TVUludGVnZXIgbWF4aW11bVdlYlZpZXdDYWNoZVNpemUgPSAz
OworCitAaW50ZXJmYWNlIF9XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgOiBO
U09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGU+CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBj
b3B5KSB2b2lkIChed2ViQ29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUpKFdLV2ViVmlldyAqKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbikoV0tOYXZpZ2F0aW9uQWN0aW9uICosIHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFj
dGlvblBvbGljeSkpOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRGYWls
UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICosIE5TRXJy
b3IgKik7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZEZhaWxOYXZpZ2F0
aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICosIE5TRXJyb3IgKik7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZEZpbmlzaE5hdmlnYXRpb24pKFdLV2ViVmlldyAq
LCBXS05hdmlnYXRpb24gKik7CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIF9XS0F0dHJpYnV0
ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUKKworLSAodm9pZCl3ZWJWaWV3V2ViQ29udGVudFBy
b2Nlc3NEaWRUZXJtaW5hdGU6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoX3dlYkNv
bnRlbnRQcm9jZXNzRGlkVGVybWluYXRlKQorICAgICAgICBfd2ViQ29udGVudFByb2Nlc3NEaWRU
ZXJtaW5hdGUod2ViVmlldyk7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24g
KiluYXZpZ2F0aW9uQWN0aW9uIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBpZiAoX2RlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24pCisgICAgICAgIHJldHVybiBfZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbihuYXZpZ2F0aW9uQWN0aW9uLCBkZWNpc2lvbkhhbmRsZXIpOworICAgIGRlY2lz
aW9uSGFuZGxlcihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7Cit9CisKKy0gKHZvaWQp
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9u
OihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uIHdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCit7
CisgICAgaWYgKF9kaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKQorICAgICAgICBfZGlkRmFp
bFByb3Zpc2lvbmFsTmF2aWdhdGlvbih3ZWJWaWV3LCBuYXZpZ2F0aW9uLCBlcnJvcik7Cit9CisK
Ky0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsTmF2aWdhdGlvbjoo
V0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgorewor
ICAgIGlmIChfZGlkRmFpbE5hdmlnYXRpb24pCisgICAgICAgIF9kaWRGYWlsTmF2aWdhdGlvbih3
ZWJWaWV3LCBuYXZpZ2F0aW9uLCBlcnJvcik7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0
aW9uCit7CisgICAgaWYgKF9kaWRGaW5pc2hOYXZpZ2F0aW9uKQorICAgICAgICBfZGlkRmluaXNo
TmF2aWdhdGlvbih3ZWJWaWV3LCBuYXZpZ2F0aW9uKTsKK30KKworQGVuZAorCitAaW50ZXJmYWNl
IF9XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgOiBOU09iamVjdAorCisrIChSZXRhaW5Q
dHI8V0tXZWJWaWV3PilyZXRyaWV2ZU9yQ3JlYXRlV2ViVmlldzsKKysgKHZvaWQpY2FjaGVXZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3OworCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBfV0tB
dHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlCisKKysgKE5TTXV0YWJsZUFycmF5PFdLV2ViVmll
dyAqPiAqKWNhY2hlCit7CisgICAgc3RhdGljIGF1dG8qIGNhY2hlID0gW1tOU011dGFibGVBcnJh
eSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTptYXhpbXVtV2ViVmlld0NhY2hlU2l6ZV07CisgICAg
cmV0dXJuIGNhY2hlOworfQorCitzdGF0aWMgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmln
dXJhdGlvbjsKKworKyAoV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KK3sK
KyAgICBpZiAoIWNvbmZpZ3VyYXRpb24pIHsKKyAgICAgICAgY29uZmlndXJhdGlvbiA9IFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CisgICAgICAgIGNvbmZpZ3VyYXRpb24u
cHJvY2Vzc1Bvb2wgPSBbW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07
CisgICAgICAgIGNvbmZpZ3VyYXRpb24ud2Vic2l0ZURhdGFTdG9yZSA9IFtXS1dlYnNpdGVEYXRh
U3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV07CisgICAgICAgIGNvbmZpZ3VyYXRpb24ubWVk
aWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1YWxNZWRp
YVR5cGVBbGw7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX2FsbG93c0phdmFTY3JpcHRNYXJrdXAg
PSBOTzsKKyAgICAgICAgY29uZmlndXJhdGlvbi5fYWxsb3dzTWV0YVJlZnJlc2ggPSBOTzsKKyAg
ICAgICAgY29uZmlndXJhdGlvbi5fYXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0gWUVTOworICAg
ICAgICBjb25maWd1cmF0aW9uLl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IFlFUzsK
KyAgICAgICAgY29uZmlndXJhdGlvbi5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87
CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX25lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1
aXJrID0gTk87CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAgICAgY29uZmlndXJhdGlv
bi5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gTk87CisgICAgICAgIGNvbmZpZ3VyYXRpb24u
X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IFlFUzsKKyNlbmRpZgorICAgIH0KKwor
ICAgIHJldHVybiBjb25maWd1cmF0aW9uOworfQorCisrICh2b2lkKWNsZWFyQ29uZmlndXJhdGlv
bgoreworICAgIFtjb25maWd1cmF0aW9uIHJlbGVhc2VdOworICAgIGNvbmZpZ3VyYXRpb24gPSBu
aWw7Cit9CisKKysgKFJldGFpblB0cjxXS1dlYlZpZXc+KXJldHJpZXZlT3JDcmVhdGVXZWJWaWV3
Cit7CisgICAgW3NlbGYgcmVzZXRQdXJnZURlbGF5XTsKKworICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZVRva2VuOworICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKKyAgICAg
ICAgYXV0byYgbWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpz
aW5nbGV0b24oKTsKKyAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLnNldExvd01lbW9yeUhh
bmRsZXIoW3NlbGZdIChDcml0aWNhbCwgU3luY2hyb25vdXMpIHsKKyAgICAgICAgICAgIFtzZWxm
IHB1cmdlQWxsV2ViVmlld3NdOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGF1dG8qIGNh
Y2hlID0gc2VsZi5jYWNoZTsKKyAgICBpZiAoY2FjaGUuY291bnQpIHsKKyAgICAgICAgUmV0YWlu
UHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGNhY2hlLmxhc3RPYmplY3Q7CisgICAgICAgIFtjYWNo
ZSByZW1vdmVMYXN0T2JqZWN0XTsKKyAgICAgICAgcmV0dXJuIHdlYlZpZXc7CisgICAgfQorCisg
ICAgcmV0dXJuIGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6d2ViVmll
d1JlY3QgY29uZmlndXJhdGlvbjpzZWxmLmNvbmZpZ3VyYXRpb25dKTsKK30KKworKyAodm9pZClj
YWNoZVdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBhdXRvKiBjYWNoZSA9IHNl
bGYuY2FjaGU7CisgICAgaWYgKGNhY2hlLmNvdW50ID49IG1heGltdW1XZWJWaWV3Q2FjaGVTaXpl
KQorICAgICAgICByZXR1cm47CisKKyAgICBbY2FjaGUgYWRkT2JqZWN0OndlYlZpZXddOworCisg
ICAgLy8gTG9hZCBhIGJsYW5rIHBhZ2UgdG8gY2xlYXIgYW55dGhpbmcgbG9hZGVkIHdoaWxlIGlu
IHRoZSBjYWNoZS4KKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOworfQorCisr
ICh2b2lkKXJlc2V0UHVyZ2VEZWxheQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIHB1cmdlU2Vs
ZWN0b3IgPSBAc2VsZWN0b3IocHVyZ2VTaW5nbGVXZWJWaWV3KTsKKyAgICBbTlNPYmplY3QgY2Fu
Y2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNXaXRoVGFyZ2V0OnNlbGYgc2VsZWN0b3I6cHVyZ2VT
ZWxlY3RvciBvYmplY3Q6bmlsXTsKKyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6cHVyZ2VTZWxl
Y3RvciB3aXRoT2JqZWN0Om5pbCBhZnRlckRlbGF5OnB1cmdlV2ViVmlld0NhY2hlRGVsYXldOwor
fQorCisrICh2b2lkKXB1cmdlU2luZ2xlV2ViVmlldworeworICAgIFtOU09iamVjdCBjYW5jZWxQ
cmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxlY3RvcjpfY21kIG9iamVj
dDpuaWxdOworCisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmICghY2FjaGUu
Y291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFtjYWNoZS5sYXN0T2JqZWN0IF9jbG9zZV07
CisgICAgW2NhY2hlIHJlbW92ZUxhc3RPYmplY3RdOworCisgICAgaWYgKCFjYWNoZS5jb3VudCkg
eworICAgICAgICBbc2VsZiBjbGVhckNvbmZpZ3VyYXRpb25dOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgLy8gS2VlcCBnb2luZyB1bnRpbCBldmVyeSB2aWV3IGlzIHJlbW92ZWQsIG9y
IHRoZSBkZWxheSBpcyByZXNldC4KKyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6X2NtZCB3aXRo
T2JqZWN0Om5pbCBhZnRlckRlbGF5OnB1cmdlV2ViVmlld0NhY2hlRGVsYXldOworfQorCisrICh2
b2lkKXB1cmdlQWxsV2ViVmlld3MKK3sKKyAgICBhdXRvKiBjYWNoZSA9IHNlbGYuY2FjaGU7Cisg
ICAgaWYgKCFjYWNoZS5jb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgW2NhY2hlIG1ha2VP
YmplY3RzUGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihfY2xvc2UpXTsKKyAgICBbY2FjaGUgcmVt
b3ZlQWxsT2JqZWN0c107CisKKyAgICBbc2VsZiBjbGVhckNvbmZpZ3VyYXRpb25dOworfQorCitA
ZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOU0F0dHJpYnV0ZWRTdHJpbmcgKFdLUHJpdmF0ZSkKKwor
KyAodm9pZClfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0
ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29udGVudExv
YWRlcjooV0tOYXZpZ2F0aW9uICooXikoV0tXZWJWaWV3ICopKWxvYWRXZWJDb250ZW50IGNvbXBs
ZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0
aW9uSGFuZGxlcgoreworICAgIGlmIChvcHRpb25zW05TV2ViUHJlZmVyZW5jZXNEb2N1bWVudE9w
dGlvbl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1bWVudEV4Y2Vw
dGlvbiBmb3JtYXQ6QCJOU1dlYlByZWZlcmVuY2VzRG9jdW1lbnRPcHRpb24gb3B0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQiXTsKKyAgICBpZiAob3B0aW9uc1tOU1dlYlJlc291cmNlTG9hZERlbGVnYXRl
RG9jdW1lbnRPcHRpb25dKQorICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJn
dW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiTlNXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZURvY3VtZW50
T3B0aW9uIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIl07CisgICAgaWYgKG9wdGlvbnNbQCJXZWJQ
b2xpY3lEZWxlZ2F0ZSJdKQorICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJn
dW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiV2ViUG9saWN5RGVsZWdhdGUgb3B0aW9uIGlzIG5vdCBz
dXBwb3J0ZWQiXTsKKworICAgIGF1dG8gcnVuQ29udmVyc2lvbiA9IF57CisgICAgICAgIF9fYmxv
Y2sgYXV0byBmaW5pc2hlZCA9IE5POworICAgICAgICBfX2Jsb2NrIGF1dG8gd2ViVmlldyA9IFtf
V0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIHJldHJpZXZlT3JDcmVhdGVXZWJWaWV3XTsK
KyAgICAgICAgX19ibG9jayBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tfV0tB
dHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisKKyAgICAg
ICAgX19ibG9jayBSZXRhaW5QdHI8V0tOYXZpZ2F0aW9uPiBjb250ZW50TmF2aWdhdGlvbjsKKwor
ICAgICAgICB3ZWJWaWV3LmdldCgpLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKTsKKworICAgICAgICBpZiAoYXV0byogdGV4dFpvb21GYWN0b3IgPSBkeW5hbWlj
X29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50
T3B0aW9uXSkpCisgICAgICAgICAgICB3ZWJWaWV3LmdldCgpLl90ZXh0Wm9vbUZhY3RvciA9IHRl
eHRab29tRmFjdG9yLmRvdWJsZVZhbHVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3ZWJW
aWV3LmdldCgpLl90ZXh0Wm9vbUZhY3RvciA9IDE7CisKKyAgICAgICAgYXV0byBmaW5pc2ggPSBe
KE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5TQXR0
cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKmF0dHJpYnV0ZXMsIE5TRXJy
b3IgKmVycm9yKSB7CisgICAgICAgICAgICBpZiAoZmluaXNoZWQpCisgICAgICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgICAgICBmaW5pc2hlZCA9IFlFUzsKKworICAgICAgICAgICAgd2Vi
Vmlldy5nZXQoKS5uYXZpZ2F0aW9uRGVsZWdhdGUgPSBuaWw7CisgICAgICAgICAgICBuYXZpZ2F0
aW9uRGVsZWdhdGUgPSBuaWw7CisgICAgICAgICAgICBjb250ZW50TmF2aWdhdGlvbiA9IG5pbDsK
KworICAgICAgICAgICAgaWYgKCFlcnJvcikKKyAgICAgICAgICAgICAgICBbX1dLQXR0cmlidXRl
ZFN0cmluZ1dlYlZpZXdDYWNoZSBjYWNoZVdlYlZpZXc6d2ViVmlldy5nZXQoKV07CisgICAgICAg
ICAgICB3ZWJWaWV3ID0gbmlsOworCisgICAgICAgICAgICAvLyBNYWtlIHRoZSBzdHJpbmcgYmUg
YW4gaW5zdGFuY2Ugb2YgdGhlIHJlY2VpdmVyIGNsYXNzLgorICAgICAgICAgICAgaWYgKGF0dHJp
YnV0ZWRTdHJpbmcgJiYgc2VsZiAhPSBhdHRyaWJ1dGVkU3RyaW5nLmNsYXNzKQorICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZWRTdHJpbmcgPSBbW1tzZWxmIGFsbG9jXSBpbml0V2l0aEF0dHJpYnV0
ZWRTdHJpbmc6YXR0cmlidXRlZFN0cmluZ10gYXV0b3JlbGVhc2VdOworCisgICAgICAgICAgICAv
LyBNYWtlIHRoZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGltbXV0YWJsZS4KKyAgICAgICAgICAgIGlm
IChbYXR0cmlidXRlcyBpc0tpbmRPZkNsYXNzOk5TTXV0YWJsZURpY3Rpb25hcnkuY2xhc3NdKQor
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgPSBbW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGluaXRX
aXRoRGljdGlvbmFyeTphdHRyaWJ1dGVzXSBhdXRvcmVsZWFzZV07CisKKyAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKGF0dHJpYnV0ZWRTdHJpbmcsIGF0dHJpYnV0ZXMsIGVycm9yKTsKKyAg
ICAgICAgfTsKKworICAgICAgICBhdXRvIGNhbmNlbCA9IF4oV0tFcnJvckNvZGUgZXJyb3JDb2Rl
LCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IpIHsKKyAgICAgICAgICAgIGZpbmlzaChuaWwsIG5p
bCwgY3JlYXRlTlNFcnJvcihlcnJvckNvZGUsIHVuZGVybHlpbmdFcnJvcikuZ2V0KCkpOworICAg
ICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uID0gXihXS05hdmlnYXRpb25BY3Rpb24gKmFjdGlvbiwgdm9pZCAo
XmRlY2lzaW9uSGFuZGxlcikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSkgeworICAgICAgICAg
ICAgaWYgKFthY3Rpb24uX21haW5GcmFtZU5hdmlnYXRpb24gaXNFcXVhbDpjb250ZW50TmF2aWdh
dGlvbi5nZXQoKV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlY2lzaW9uSGFuZGxlcihXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRsZXIo
V0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5Q2FuY2VsKTsKKyAgICAgICAgfTsKKworICAgICAgICBu
YXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkud2ViQ29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUgPSBe
KFdLV2ViVmlldyAqKSB7CisgICAgICAgICAgICBjYW5jZWwoV0tFcnJvcldlYkNvbnRlbnRQcm9j
ZXNzVGVybWluYXRlZCwgbmlsKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0aW9uRGVs
ZWdhdGUuZ2V0KCkuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3ICos
IFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgY2FuY2VsKFdL
RXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRvTG9hZCwgZXJyb3IpOworICAgICAg
ICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kaWRGYWlsTmF2aWdhdGlv
biA9IF4oV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICplcnJvcikgeworICAg
ICAgICAgICAgY2FuY2VsKFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRvTG9h
ZCwgZXJyb3IpOworICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQo
KS5kaWRGaW5pc2hOYXZpZ2F0aW9uID0gXihXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICopIHsK
KyAgICAgICAgICAgIGlmIChmaW5pc2hlZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5pbDsKKworICAgICAgICAgICAgW3dlYlZp
ZXcgX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOl4o
TlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nLCBOU0RpY3Rpb25hcnk8TlNBdHRy
aWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqZG9jdW1lbnRBdHRyaWJ1dGVz
LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGNhbmNlbChXS0Vycm9yVW5rbm93biwgZXJyb3IpOworICAgICAg
ICAgICAgICAgIGZpbmlzaChbW2F0dHJpYnV0ZWRTdHJpbmcgcmV0YWluXSBhdXRvcmVsZWFzZV0s
IFtbZG9jdW1lbnRBdHRyaWJ1dGVzIHJldGFpbl0gYXV0b3JlbGVhc2VdLCBuaWwpOworICAgICAg
ICAgICAgfV07CisgICAgICAgIH07CisKKyAgICAgICAgYXV0byB0aW1lb3V0SW50ZXJ2YWwgPSBk
ZWZhdWx0VGltZW91dEludGVydmFsOworICAgICAgICBpZiAoYXV0byogdGltZW91dE9wdGlvbiA9
IGR5bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TVGltZW91dERvY3VtZW50T3B0
aW9uXSkpIHsKKyAgICAgICAgICAgIGlmICh0aW1lb3V0T3B0aW9uLmRvdWJsZVZhbHVlID49IDAp
CisgICAgICAgICAgICAgICAgdGltZW91dEludGVydmFsID0gdGltZW91dE9wdGlvbi5kb3VibGVW
YWx1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUo
RElTUEFUQ0hfVElNRV9OT1csIHRpbWVvdXRJbnRlcnZhbCAqIE5TRUNfUEVSX1NFQyksIGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgICAgICBpZiAoZmluaXNoZWQpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgY2FuY2VsKFdLRXJyb3JBdHRyaWJ1dGVk
U3RyaW5nQ29udGVudExvYWRUaW1lZE91dCwgbmlsKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
Y29udGVudE5hdmlnYXRpb24gPSBsb2FkV2ViQ29udGVudCh3ZWJWaWV3LmdldCgpKTsKKworICAg
ICAgICBBU1NFUlQoY29udGVudE5hdmlnYXRpb24pOworICAgICAgICBBU1NFUlQod2ViVmlldy5n
ZXQoKS5sb2FkaW5nKTsKKyAgICB9OworCisgICAgaWYgKFtOU1RocmVhZCBpc01haW5UaHJlYWRd
KQorICAgICAgICBydW5Db252ZXJzaW9uKCk7CisgICAgZWxzZQorICAgICAgICBkaXNwYXRjaF9h
c3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBydW5Db252ZXJzaW9uKTsKK30KKworQGVu
ZAorCitAaW1wbGVtZW50YXRpb24gTlNBdHRyaWJ1dGVkU3RyaW5nIChOU0F0dHJpYnV0ZWRTdHJp
bmdXZWJLaXRBZGRpdGlvbnMpCisKKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFJlcXVlc3Q6KE5T
VVJMUmVxdWVzdCAqKXJlcXVlc3Qgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0
cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFu
ZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRs
ZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250ZW50
TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAgcmV0
dXJuIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIH0gY29tcGxldGlvbkhhbmRs
ZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhGaWxl
VVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0
cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFu
ZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRs
ZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250ZW50
TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAgYXV0
byogcmVhZEFjY2Vzc1VSTCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TVVJMPihvcHRpb25zW05TUmVh
ZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uXSk7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBsb2Fk
RmlsZVVSTDpmaWxlVVJMIGFsbG93aW5nUmVhZEFjY2Vzc1RvVVJMOnJlYWRBY2Nlc3NVUkxdOwor
ICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lk
KWxvYWRGcm9tSFRNTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KE5TRGlj
dGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAq
KW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25I
YW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2xvYWRGcm9tSFRNTFdpdGhP
cHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpeV0tOYXZpZ2F0aW9uICooV0tXZWJWaWV3ICp3
ZWJWaWV3KSB7CisgICAgICAgIGF1dG8qIGJhc2VVUkwgPSBkeW5hbWljX29iamNfY2FzdDxOU1VS
TD4ob3B0aW9uc1tOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbl0pOworICAgICAgICByZXR1cm4gW3dl
YlZpZXcgbG9hZEhUTUxTdHJpbmc6c3RyaW5nIGJhc2VVUkw6YmFzZVVSTF07CisgICAgfSBjb21w
bGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKKysgKHZvaWQpbG9hZEZyb21I
VE1MV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmli
dXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0
aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlv
bkhhbmRsZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBj
b250ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAg
ICAgYXV0byogdGV4dEVuY29kaW5nTmFtZSA9IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihv
cHRpb25zW05TVGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uXSk7CisgICAgICAgIGF1dG8g
Y2hhcmFjdGVyRW5jb2RpbmcgPSBzdGF0aWNfY2FzdDxOU1N0cmluZ0VuY29kaW5nPihkeW5hbWlj
X29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1lbnRP
cHRpb25dKS51bnNpZ25lZEludGVnZXJWYWx1ZSk7CisgICAgICAgIGF1dG8qIGJhc2VVUkwgPSBk
eW5hbWljX29iamNfY2FzdDxOU1VSTD4ob3B0aW9uc1tOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbl0p
OworCisgICAgICAgIGlmIChjaGFyYWN0ZXJFbmNvZGluZyAmJiAhdGV4dEVuY29kaW5nTmFtZSkg
eworICAgICAgICAgICAgYXV0byBzdHJpbmdFbmNvZGluZyA9IENGU3RyaW5nQ29udmVydE5TU3Ry
aW5nRW5jb2RpbmdUb0VuY29kaW5nKGNoYXJhY3RlckVuY29kaW5nKTsKKyAgICAgICAgICAgIGlm
IChzdHJpbmdFbmNvZGluZyAhPSBrQ0ZTdHJpbmdFbmNvZGluZ0ludmFsaWRJZCkKKyAgICAgICAg
ICAgICAgICB0ZXh0RW5jb2RpbmdOYW1lID0gKF9fYnJpZGdlIE5TU3RyaW5nICopQ0ZTdHJpbmdD
b252ZXJ0RW5jb2RpbmdUb0lBTkFDaGFyU2V0TmFtZShzdHJpbmdFbmNvZGluZyk7CisgICAgICAg
IH0KKworICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZERhdGE6ZGF0YSBNSU1FVHlwZTpAInRl
eHQvaHRtbCIgY2hhcmFjdGVyRW5jb2RpbmdOYW1lOnRleHRFbmNvZGluZ05hbWUgYmFzZVVSTDpi
YXNlVVJMXTsKKyAgICB9IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKK30K
KworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05T
QXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg1ODJmMDA5YjYz
NjdjNmUzNGY1NTZlMzgzYzJmYWYwYTEzMjc5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9OU0F0dHJpYnV0ZWRT
dHJpbmcuaD4KKworQGNsYXNzIFdLTmF2aWdhdGlvbjsKK0BjbGFzcyBXS1dlYlZpZXc7CisKK05T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCisKKy8qIQorIEBkaXNjdXNzaW9uIFByaXZhdGUgZXh0ZW5z
aW9uIG9mIEBsaW5rIC8vYXBwbGVfcmVmL29jYy9OU0F0dHJpYnV0ZWRTdHJpbmcgTlNBdHRyaWJ1
dGVkU3RyaW5nIEAvbGluayB0bworIHRyYW5zbGF0ZSBIVE1MIGNvbnRlbnQgaW50byBhdHRyaWJ1
dGVkIHN0cmluZ3MgdXNpbmcgV2ViS2l0LgorICovCitAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0
cmluZyAoV0tQcml2YXRlKQorCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMgdGhlIGNvbnRlbnRz
IGxvYWRlZCBieSBhIGNvbnRlbnQgbG9hZGVyIGJsb2NrIGludG8gYW4gYXR0cmlidXRlZCBzdHJp
bmcuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5n
IHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0
aW9uLCBhbmQgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5
cy4KKyBAcGFyYW0gY29udGVudExvYWRlciBBIGJsb2NrIHRvIGludm9rZSB3aGVuIGNvbnRlbnQg
bmVlZHMgdG8gYmUgbG9hZGVkIGluIHRoZSBzdXBwbGllZAorIEBsaW5rIFdLV2ViVmlldyBAL2xp
bmsuIEEgQGxpbmsgV0tOYXZpZ2F0aW9uIEAvbGluayBmb3IgdGhlIG1haW4gZnJhbWUgbXVzdCBi
ZSByZXR1cm5lZC4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ug
d2hlbiB0aGUgdHJhbnNsYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRo
ZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3Vs
dCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9y
LgorICovCisrICh2b2lkKV9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczooTlNEaWN0aW9uYXJ5PE5T
QXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBj
b250ZW50TG9hZGVyOihXS05hdmlnYXRpb24gKiheKShXS1dlYlZpZXcgKikpbG9hZFdlYkNvbnRl
bnQgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVy
KWNvbXBsZXRpb25IYW5kbGVyOworCitAZW5kCisKK05TX0FTU1VNRV9OT05OVUxMX0VORApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgKaW5kZXggZjI3N2U4ZDhm
YTI5YjdhNTM4ZDRlZWE2OWJjZDAxZmM2NTcwZDBhNy4uYjA4MDhlYzQ4MjU3Mjc4ZjVlYjE0ZWNm
NmY4YWJjZmY4ZDY0YmI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tFcnJvci5oCkBAIC00Myw2ICs0Myw4IEBAIFdLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0IFdL
RXJyb3JEb21haW4gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wCiAgQGNv
bnN0YW50IFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tVcEZhaWxlZCAgICAgSW5kaWNh
dGVzIHRoYXQgbG9va2luZyB1cCBhIFdLVXNlckNvbnRlbnRSdWxlTGlzdCBmYWlsZWQuCiAgQGNv
bnN0YW50IFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCAgICAgSW5kaWNh
dGVzIHRoYXQgcmVtb3ZpbmcgYSBXS1VzZXJDb250ZW50UnVsZUxpc3QgZmFpbGVkLgogIEBjb25z
dGFudCBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVWZXJzaW9uTWlzbWF0Y2ggIEluZGljYXRl
cyB0aGF0IHRoZSBXS1VzZXJDb250ZW50UnVsZUxpc3QgdmVyc2lvbiBkaWQgbm90IG1hdGNoIHRo
ZSBsYXRlc3QuCisgQGNvbnN0YW50IFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxl
ZFRvTG9hZCAgSW5kaWNhdGVzIHRoYXQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIGNvbnRlbnQgZmFp
bGVkIHRvIGxvYWQuCisgQGNvbnN0YW50IFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudExv
YWRUaW1lZE91dCAgSW5kaWNhdGVzIHRoYXQgbG9hZGluZyBhdHRyaWJ1dGVkIHN0cmluZyBjb250
ZW50IHRpbWVkIG91dC4KICAqLwogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tFcnJvckNv
ZGUpIHsKICAgICBXS0Vycm9yVW5rbm93biA9IDEsCkBAIC01NCw2ICs1Niw4IEBAIHR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFdLRXJyb3JDb2RlKSB7CiAgICAgV0tFcnJvckNvbnRlbnRSdWxl
TGlzdFN0b3JlTG9va1VwRmFpbGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKSwKICAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpLAogICAgIFdLRXJyb3JDb250
ZW50UnVsZUxpc3RTdG9yZVZlcnNpb25NaXNtYXRjaCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSksCisgICAgV0tFcnJvckF0dHJpYnV0ZWRTdHJpbmdDb250ZW50RmFp
bGVkVG9Mb2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpLAorICAgIFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudExvYWRUaW1lZE91dCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKIH0g
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wKSk7CiAKIE5TX0FTU1VNRV9O
T05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLRXJyb3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5t
bQppbmRleCBmY2JmYzRkOTNhZTljODVhMzVhYzhjZjM3ZTUxMmNlM2U1ODU3YTAxLi4zNmUxZjRi
ZDY4OTFlODkwMjFiMzViMWY4YmI4YjNhMDRhZjc1OGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQpAQCAtNjcsMTIgKzY3LDIyIEBAIE5TU3RyaW5n
ICpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSBlcnJvckNvZGUp
CiAKICAgICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZDoKICAg
ICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlJlbW92aW5nIGEgV0tDb250ZW50UnVsZUxpc3Qg
ZmFpbGVkIiwgIldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCBkZXNjcmlw
dGlvbiIpOworCisgICAgY2FzZSBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRU
b0xvYWQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJBdHRyaWJ1dGVkIHN0cmluZyBj
b250ZW50IGZhaWxlZCB0byBsb2FkIiwgIldLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZh
aWxlZFRvTG9hZCBkZXNjcmlwdGlvbiIpOworCisgICAgY2FzZSBXS0Vycm9yQXR0cmlidXRlZFN0
cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJU
aW1lZCBvdXQgd2hpbGUgbG9hZGluZyBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IiwgIldLRXJy
b3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudExvYWRUaW1lZE91dCBkZXNjcmlwdGlvbiIpOwogICAg
IH0KIH0KIAotUmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUgZXJy
b3JDb2RlKQorUmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUgZXJy
b3JDb2RlLCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IpCiB7Ci0gICAgYXV0byB1c2VySW5mbyA9
IGFkb3B0TlMoW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoT2JqZWN0c0FuZEtleXM6bG9j
YWxpemVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoZXJyb3JDb2RlKSwgTlNMb2NhbGl6ZWREZXNj
cmlwdGlvbktleSwgbmlsXSk7CisgICAgTlNEaWN0aW9uYXJ5ICp1c2VySW5mbyA9IG5pbDsKKyAg
ICBpZiAodW5kZXJseWluZ0Vycm9yKQorICAgICAgICB1c2VySW5mbyA9IEB7IE5TTG9jYWxpemVk
RGVzY3JpcHRpb25LZXk6IGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKGVycm9yQ29k
ZSksIE5TVW5kZXJseWluZ0Vycm9yS2V5OiB1bmRlcmx5aW5nRXJyb3IgfTsKKyAgICBlbHNlCisg
ICAgICAgIHVzZXJJbmZvID0gQHsgTlNMb2NhbGl6ZWREZXNjcmlwdGlvbktleTogbG9jYWxpemVk
RGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoZXJyb3JDb2RlKSB9OwogCi0gICAgcmV0dXJuIGFkb3B0
TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6ZXJy
b3JDb2RlIHVzZXJJbmZvOnVzZXJJbmZvLmdldCgpXSk7CisgICAgcmV0dXJuIGFkb3B0TlMoW1tO
U0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6ZXJyb3JDb2Rl
IHVzZXJJbmZvOnVzZXJJbmZvXSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKaW5kZXggMjYxZTJlOTk2MWEzMjU0MDZiMjFl
MWEwMDM3YmMwOTk4ZmRiMjE3NS4uMTFiZDFmNWQyMjc0MzIyMDlkYWMwODFhNmViMjJmY2M4NDM2
MWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJy
b3JJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vy
cm9ySW50ZXJuYWwuaApAQCAtMjgsNSArMjgsNSBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogI2ltcG9ydCAiR2VuZXJpY0NhbGxiYWNrLmgiCiAKLVJldGFpblB0cjxOU0Vycm9yPiBjcmVh
dGVOU0Vycm9yKFdLRXJyb3JDb2RlKTsKK1JldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9y
KFdLRXJyb3JDb2RlLCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IgPSBuaWwpOwogTlNTdHJpbmcg
KmxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKFdLRXJyb3JDb2RlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk2YzNhNWVi
YWQxNzEzMDhhZmJhMmNhNGU5ODYwZjI1NjhlOWMzOGIuLjczMTNjYjZjZjZiZTdiNTJhMWM3ZTQ1
OGExNTZlOTZjYmVmMTVhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzg1LDYgKzM4NSw4IEBACiAJCTFDMEExOTU3MUM5MDA2OEYw
MEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzBBMTk1NTFDOTAwNjhG
MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwogCQkxQzBBMTk1ODFDOTAwNjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25NZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMw
QTE5NTYxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZXMuaCAq
LzsgfTsKIAkJMUMwQTE5NUMxQzkxNkUxQjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHlTY3JpcHRTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDMEExOTVCMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5U2NyaXB0U291cmNlLmggKi87IH07CisJCTFDMjA5MzYwMjIzMThDQjAwMDAyNkEzOSAv
KiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDMjA5MzVFMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJp
bmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkx
QzIxODQwMjIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyMTg0MDEyMjMz
ODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzg5MUQ2NjE5QjEyNEZGMDBC
QTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDODkxRDYzMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JV
SS5oICovOyB9OwogCQkxQzhFMjgyMDEyNzVEMTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjgxRTEy
NzVEMTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmggKi87IH07CiAJCTFDOEUyODM0MTI3NUQ3
MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MzIxMjc1RDczODAwQkM3QkQwIC8qIFdlYklu
c3BlY3RvclByb3h5LmggKi87IH07CkBAIC0yMzk1LDYgKzIzOTcsOSBAQAogCQkxQzBBMTk1OTFD
OTAwNkVBMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb24ubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2ViQXV0b21hdGlvblNlc3Npb24ubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDMEExOTVBMUM5MTY2OTUwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5q
czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMwQTE5NUIxQzkxNkUxQjAwRkUwRUJC
IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNvdXJj
ZS5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5U2NyaXB0U291cmNlLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJ
CTFDMjA5MzVFMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTlNBdHRyaWJ1dGVkU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDMjA5MzVGMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJpbmcubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDMjE4NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRT
dHJpbmdQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQXR0cmli
dXRlZFN0cmluZ1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM3N0Mx
OTUxMjg4QTg3MjAwNkE3NDJGIC8qIFdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5MUQ2MjE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5z
cGVjdG9yVUkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSW5z
cGVjdG9yVUkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5MUQ2MzE5QjEy
NEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViSW5zcGVjdG9yVUkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTYxMzMsNiArNjEzOCw5IEBACiAJCQkJRkVEM0MxREExQjQ0N0FFODAwRTBFQjdGIC8qIEFQSVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovLAogCQkJCTFBMzYzNUFCMUEzMTQ1RTUwMEVE
NjE5NyAvKiBBUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gKi8sCiAJCQkJMUFGREU2NDMxOTUx
MEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tICovLAorCQkJCTFDMjA5MzVF
MjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCAqLywKKwkJCQkxQzIwOTM1
RjIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLm1tICovLAorCQkJCTFDMjE4
NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmggKi8sCiAJ
CQkJMzdDNEMwOEIxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0LmggKi8sCiAJ
CQkJMzdDNEMwOEExODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tICovLAog
CQkJCTM3QzRDMDhFMTgxNEFGM0EwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEludGVybmFs
LmggKi8sCkBAIC05MjgwLDYgKzkyODgsOCBAQAogCQkJCTFBMjE2MUIwMTFGMzc2NjQwMDhBRDBG
NSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjE2MkIxMTFG
Mzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBMkQ4NEEzMTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxQzIxODQwMjIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1
dGVkU3RyaW5nUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc1NEQ1NDUxQjNBMjlGRDAw
M0E0QzdGIC8qIE5TSW52b2NhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4QUNBMTMx
NjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzdCNDdFMkQxRDY0REI3NjAwNUY0RUZGIC8qIG9iamNTUEkuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNv
Y29hLm1tCmluZGV4IGJkODdiZmUwNzM4ZDk4ZTA0MzkzYWM3MTAxOGNhNjYyZjgxODhjYmIuLjE2
ZjNmYTgyMzQ3YjJmZjc3YzhjNzdmZmNiYzY4YjdiZWUyZWM4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KQEAg
LTIwOCw2ICsyMDgsMTAgQEAgdm9pZCBXZWJQYWdlOjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0
cmluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEF0dHJpYnUKICAgICBGcmFtZSYgZnJh
bWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogCiAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFRl
eHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoZnJhbWUuZG9jdW1lbnQoKS0+
ZG9jdW1lbnRFbGVtZW50KCksIDAsIElOVF9NQVgpOworICAgIGlmICghcmFuZ2UpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAg
IE5TRGljdGlvbmFyeSogZG9jdW1lbnRBdHRyaWJ1dGVzID0gbmlsOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364938</attachid>
            <date>2019-03-16 11:45:20 -0700</date>
            <delta_ts>2019-03-18 15:52:32 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190316114520.patch</filename>
            <type>text/plain</type>
            <size>41314</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3OTdlODJkZjg2MzIz
ZGJiYjQwZjVlN2ViYjFjMmY1YTVjNzcyMy4uZTkyZDUzZmQ4NGU1M2RlNGUzNTEzOGQ0MWEyYjMy
ZmM0ZDcyY2I0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogVXBkYXRlZC4KKwogMjAxOS0w
My0xNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQg
dGVzdHMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvKi1leGNlcHRp
b24tb3JkZXIuaHRtbCBhcmUgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3ZGE0NTVlMWVhMmM2MGZhZDEx
ZTdiYWNiMTE5NGE4ODJlYmUzYWQ1Li40NDc1N2I1OTQyMWUyOTc5M2M2OTZlNjFmMTY4MTZkOTE4
YTBkMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTAzLTE2ICBUaW1vdGh5IEhh
dGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0cmlidXRl
ZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJvYmxlbS80
NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaDog
QWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcu
bW06IEFkZGVkLgorICAgICAgICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVn
YXRlIHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUg
d2ViVmlldzpkaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOndpdGhFcnJvcjpdKToKKyAgICAg
ICAgKC1bX1dLQXR0cmlidXRlZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRpZEZh
aWxOYXZpZ2F0aW9uOndpdGhFcnJvcjpdKToKKyAgICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmlu
Z05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRpZEZpbmlzaE5hdmlnYXRpb246XSk6CisgICAg
ICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgY2FjaGVdKToKKyAgICAgICAg
KCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZpZXdDYWNoZSBjb25maWd1cmF0aW9uXSk6CisgICAg
ICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgY2xlYXJDb25maWd1cmF0aW9u
XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcmV0cmlldmVP
ckNyZWF0ZVdlYlZpZXddKToKKyAgICAgICAgKCtbX1dLQXR0cmlidXRlZFN0cmluZ1dlYlZpZXdD
YWNoZSBjYWNoZVdlYlZpZXc6XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJW
aWV3Q2FjaGUgcmVzZXRQdXJnZURlbGF5XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJp
bmdXZWJWaWV3Q2FjaGUgcHVyZ2VTaW5nbGVXZWJWaWV3XSk6CisgICAgICAgICgrW19XS0F0dHJp
YnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgcHVyZ2VBbGxXZWJWaWV3c10pOgorICAgICAgICAoK1tO
U0F0dHJpYnV0ZWRTdHJpbmcgX2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOmNvbnRlbnRMb2FkZXI6
Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgrW05TQXR0cmlidXRlZFN0cmluZyBsb2Fk
RnJvbUhUTUxXaXRoUmVxdWVzdDpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoK1tOU0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21IVE1MV2l0aEZpbGVVUkw6b3B0aW9uczpj
b21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGxvYWRG
cm9tSFRNTFdpdGhTdHJpbmc6b3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAg
KCtbTlNBdHRyaWJ1dGVkU3RyaW5nIGxvYWRGcm9tSFRNTFdpdGhEYXRhOm9wdGlvbnM6Y29tcGxl
dGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0
ZWRTdHJpbmdQcml2YXRlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLRXJyb3IuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW06Cisg
ICAgICAgIChsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZSk6CisgICAgICAgIChjcmVh
dGVOU0Vycm9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRlcm5h
bC5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmdldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nKToKKwogMjAxOS0w
My0xNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI0MjgwNyk6IFVuaWZpZWQgc291cmNlcyBidWlsZCBmYWlsdXJlIGZyb20gbWlz
c2luZyBpbXBvcnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxp
emFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmlu
Z3MKaW5kZXggNTEzZTMyODA5ZWQ3MjZkNzI4YTViNTFlMDAyYjY3YWRhNjk0YjRmYy4uYjRkNDRh
ZmRjMTM2OGUzYzNkNjVmZjkxMDIzZDE2ZDM2NjhjY2VlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9l
bi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xODEsNiArMTgxLDkgQEAKIC8qIFdLRXJy
b3JDb250ZW50UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQgZGVzY3JpcHRpb24gKi8KICJDb21w
aWxpbmcgYSBXS0NvbnRlbnRSdWxlTGlzdCBmYWlsZWQiID0gIkNvbXBpbGluZyBhIFdLQ29udGVu
dFJ1bGVMaXN0IGZhaWxlZCI7CiAKKy8qIFdLRXJyb3JDb250ZW50RmFpbGVkVG9Mb2FkIGRlc2Ny
aXB0aW9uICovCisiQ29udGVudCBmYWlsZWQgdG8gbG9hZCIgPSAiQ29udGVudCBmYWlsZWQgdG8g
bG9hZCI7CisKIC8qIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBlIGRlc2NyaXB0aW9uICov
CiAiQ29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biIgPSAi
Q29udGVudCB3aXRoIHNwZWNpZmllZCBNSU1FIHR5cGUgY2Fu4oCZdCBiZSBzaG93biI7CiAKQEAg
LTgwMiw2ICs4MDUsOSBAQAogLyogVW5kbyBhY3Rpb24gbmFtZSAqLwogIlRpZ2h0ZW4gS2Vybmlu
ZyAoVW5kbyBhY3Rpb24gbmFtZSkiID0gIlRpZ2h0ZW4gS2VybmluZyI7CiAKKy8qIFdLRXJyb3JD
b250ZW50TG9hZFRpbWVkT3V0IGRlc2NyaXB0aW9uICovCisiVGltZWQgb3V0IHdoaWxlIGxvYWRp
bmcgY29udGVudCIgPSAiVGltZWQgb3V0IHdoaWxlIGxvYWRpbmcgY29udGVudCI7CisKIC8qIHBy
b21wdCBzdHJpbmcgaW4gYXV0aGVudGljYXRpb24gcGFuZWwgKi8KICJUbyB2aWV3IHRoaXMgcGFn
ZSwgeW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIiA9ICJUbyB2aWV3IHRo
aXMgcGFnZSwgeW91IG11c3QgbG9nIGluIHRvIGFyZWEg4oCcJUDigJ0gb24gJUAuIjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCA0YTdiYWEzMjA1ZmI3
ZjZiMDI5NmVjZjQxZGZmYTkwYTQzYjU4ZGNhLi5jYTM2ZjVjMWUyYjViN2RkY2MxYWJlYTEzMzlh
YjlmNzQ4YjkxMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3Mv
VUlLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEku
aApAQCAtMTE5Myw0ICsxMTkzLDExIEBAIFVJRWRnZUluc2V0cyBVSUVkZ2VJbnNldHNBZGQoVUlF
ZGdlSW5zZXRzIGxocywgVUlFZGdlSW5zZXRzIHJocywgVUlSZWN0RWRnZSk7CiAKIGV4dGVybiBO
U1N0cmluZyAqY29uc3QgVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb247CiAKK2V4
dGVybiBOU1N0cmluZyAqIGNvbnN0IE5TVGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uOwor
ZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgTlNCYXNlVVJMRG9jdW1lbnRPcHRpb247CitleHRlcm4g
TlNTdHJpbmcgKiBjb25zdCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbjsKK2V4dGVybiBOU1N0cmlu
ZyAqIGNvbnN0IE5TV2ViUHJlZmVyZW5jZXNEb2N1bWVudE9wdGlvbjsKK2V4dGVybiBOU1N0cmlu
ZyAqIGNvbnN0IE5TV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVEb2N1bWVudE9wdGlvbjsKK2V4dGVy
biBOU1N0cmluZyAqIGNvbnN0IE5TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb247CisK
IFdURl9FWFRFUk5fQ19FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBiNTYwYjRhNzY1OTMy
ZmM4YjYxODU4ZGQ5NWMxMGI4YmUxMTc0YmVlLi5lNTBkYjAyOWJhNjZlOTY2ZjYyYmMzMWEyNGQ0
MDA3M2I1ZWUwYzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNzIsNiArMjcyLDcgQEAg
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElIVFRQQ29va2llU3RvcmVDb2NvYS5tbQogVUlQcm9jZXNz
L0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
TGVnYWN5QnVuZGxlRm9yQ2xhc3MubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVk
U3RyaW5nLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tCiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbQogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xZDQwNWM5ZjU5ODIzNTk2Yzg5ZTg0OGU2NzhjYTQ1ZmRkOGVmNDdjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmlu
Zy5oCkBAIC0wLDAgKzEsMTE3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L1dLRm91
bmRhdGlvbi5oPgorCisjaWYgVEFSR0VUX09TX0lQSE9ORQorI2ltcG9ydCA8VUlLaXQvTlNBdHRy
aWJ1dGVkU3RyaW5nLmg+CisjZWxzZQorI2ltcG9ydCA8QXBwS2l0L05TQXR0cmlidXRlZFN0cmlu
Zy5oPgorI2VuZGlmCisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKKy8qIQorIEBhYnN0cmFj
dCBJbmRpY2F0ZXMgd2hpY2ggbG9jYWwgZmlsZXMgV2ViS2l0IGNhbiBhY2Nlc3Mgd2hlbiBsb2Fk
aW5nIGNvbnRlbnQuCisgQGRpc2N1c3Npb24gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRp
b24gcmVmZXJlbmNlcyBhIHNpbmdsZSBmaWxlLCBvbmx5IHRoYXQgZmlsZSBtYXkgYmUKKyBsb2Fk
ZWQgYnkgV2ViS2l0LiBJZiBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2Vz
IGEgZGlyZWN0b3J5LCBmaWxlcyBpbnNpZGUgdGhhdAorIGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVk
IGJ5IFdlYktpdC4KKyovCitXS19FWFRFUk4gTlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFk
aW5nT3B0aW9uS2V5IGNvbnN0IE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisgICAgTlNf
U1dJRlRfTkFNRShOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXkucmVh
ZEFjY2Vzc1VSTCkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CisKKy8qIQorIEBhYnN0cmFjdCBUeXBlIGRlZmluaXRpb24gZm9yIHRoZSBjb21w
bGV0aW9uIGhhbmRsZXIgYmxvY2sgdXNlZCB0byBnZXQgYXN5bmNocm9ub3VzIGF0dHJpYnV0ZWQg
c3RyaW5ncy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbiBoYW5kbGVyIGJsb2NrIGlzIHBh
c3NlZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1l
bnQtbGV2ZWwgYXR0cmlidXRlcywgbGlrZSBOU0JhY2tncm91bmRDb2xvckRvY3VtZW50QXR0cmli
dXRlLCBvciBhbiBlcnJvci4gQW4gaW1wbGVtZW50YXRpb24KKyBvZiB0aGlzIGJsb2NrIHR5cGUg
bXVzdCBleHBlY3QgdG8gYmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5IHdoZW4gcGFzc2VkIHRvIEhU
TUwgbWV0aG9kcy4KKyovCit0eXBlZGVmIHZvaWQgKF5OU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0
aW9uSGFuZGxlcikoTlNBdHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlLCBOU0RpY3Rpb25hcnk8
TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqIF9OdWxsYWJsZSwg
TlNFcnJvciAqIF9OdWxsYWJsZSkKKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmlidXRlZFN0cmlu
Zy5Db21wbGV0aW9uSGFuZGxlcikgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBkaXNjdXNzaW9uIEV4dGVuc2lvbiBvZiBAbGlu
ayAvL2FwcGxlX3JlZi9vY2MvTlNBdHRyaWJ1dGVkU3RyaW5nIE5TQXR0cmlidXRlZFN0cmluZyBA
L2xpbmsgdG8KKyBjcmVhdGUgYXR0cmlidXRlZCBzdHJpbmdzIGZyb20gSFRNTCBjb250ZW50IHVz
aW5nIFdlYktpdC4KKyovCitAaW50ZXJmYWNlIE5TQXR0cmlidXRlZFN0cmluZyAoTlNBdHRyaWJ1
dGVkU3RyaW5nV2ViS2l0QWRkaXRpb25zKQorCisvKiEKKyBAYWJzdHJhY3QgTG9hZHMgYW4gSFRN
TCBVUkwgcmVxdWVzdCBhbmQgY29udmVydHMgdGhlIGNvbnRlbnRzIGludG8gYW4gYXR0cmlidXRl
ZCBzdHJpbmcuCisgQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0aGUgVVJM
IHRvIGxvYWQuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJw
cmV0aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3Vt
ZW50T3B0aW9uIGFuZCBOU1RpbWVvdXREb2N1bWVudE9wdGlvbiBhcmUgc3VwcG9ydGVkIG9wdGlv
biBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSB3aGVu
IHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9uIFRoZSBjb21w
bGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJlc3VsdCBhbG9u
ZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVycm9yLgorKi8K
KysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qg
b3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09w
dGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3Ry
aW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1F
KGxvYWRGcm9tSFRNTChyZXF1ZXN0Om9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQor
IEBhYnN0cmFjdCBDb252ZXJ0cyBhIGxvY2FsIEhUTUwgZmlsZSBpbnRvIGFuIGF0dHJpYnV0ZWQg
c3RyaW5nLgorIEBwYXJhbSBmaWxlVVJMIFRoZSBmaWxlIFVSTCB0byBsb2FkLgorIEBwYXJhbSBv
cHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQg
Y29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0
RG9jdW1lbnRPcHRpb24gYW5kIE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uCisgYXJlIHN1
cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0
byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vz
c2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmlu
ZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBh
biBlcnJvci4gSWYgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNlcyBhIHNp
bmdsZSBmaWxlLAorIG9ubHkgdGhhdCBmaWxlIG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LiBJZiBO
U1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgZGlyZWN0b3J5LAorIGZp
bGVzIGluc2lkZSB0aGF0IGRpcmVjdG9yeSBtYXkgYmUgbG9hZGVkIGJ5IFdlYktpdC4KKyovCisr
ICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhGaWxlVVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0aW9uczoo
TlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwg
aWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxl
dGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9t
SFRNTChmaWxlVVJMOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIQorIEBhYnN0cmFj
dCBDb252ZXJ0cyBhbiBIVE1MIHN0cmluZyBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBw
YXJhbSBzdHJpbmcgVGhlIEhUTUwgc3RyaW5nIHRvIHVzZSBhcyB0aGUgY29udGVudHMuCisgQHBh
cmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBkb2N1
bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50T3B0aW9uLCBOU1Rp
bWVvdXREb2N1bWVudE9wdGlvbiBhbmQgTlNCYXNlVVJMRG9jdW1lbnRPcHRpb24KKyBhcmUgc3Vw
cG9ydGVkIG9wdGlvbiBrZXlzLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRv
IGludm9rZSB3aGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNz
aW9uIFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5n
IHJlc3VsdCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFu
IGVycm9yLiBOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbiBpcyB1c2VkIHRvIHJlc29sdmUgcmVsYXRp
dmUgVVJMcworIHdpdGhpbiB0aGUgZG9jdW1lbnQuCisqLworKyAodm9pZClsb2FkRnJvbUhUTUxX
aXRoU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRy
aWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbXBs
ZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0
aW9uSGFuZGxlcgorICAgIE5TX1NXSUZUX05BTUUobG9hZEZyb21IVE1MKHN0cmluZzpvcHRpb25z
OmNvbXBsZXRpb25IYW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMgSFRNTCBkYXRh
IGludG8gYW4gYXR0cmlidXRlZCBzdHJpbmcuCisgQHBhcmFtIGRhdGEgVGhlIEhUTUwgZGF0YSB0
byB1c2UgYXMgdGhlIGNvbnRlbnRzLgorIEBwYXJhbSBvcHRpb25zIERvY3VtZW50IGF0dHJpYnV0
ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVudHMuCisgTlNUZXh0U2l6ZU11
bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24sIE5TVGV4dEVu
Y29kaW5nTmFtZURvY3VtZW50T3B0aW9uLAorIGFuZCBOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1l
bnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhh
bmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBm
YWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBh
dHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBh
dHRyaWJ1dGVzLCBvciBhbiBlcnJvci4gSWYgbmVpdGhlciBOU1RleHRFbmNvZGluZ05hbWVEb2N1
bWVudE9wdGlvbiBub3IKKyBOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1lbnRPcHRpb24gaXMgc3Vw
cGxpZWQsIGEgYmVzdC1ndWVzcyBlbmNvZGluZyBpcyB1c2VkLgorKi8KKysgKHZvaWQpbG9hZEZy
b21IVE1MV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0
cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21w
bGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxl
dGlvbkhhbmRsZXIKKyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9tSFRNTChkYXRhOm9wdGlvbnM6
Y29tcGxldGlvbkhhbmRsZXI6KSkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3Ry
aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0
cmluZy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMGE3Njk1MjM3MGZiM2JiY2M0NTFmNDVhZDdhYTc0ZmFlMDdi
NmFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L05TQXR0cmlidXRlZFN0cmluZy5tbQpAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgi
CisKKyNpbXBvcnQgIldLRXJyb3JJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0aW9uQWN0
aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQg
IldLUHJlZmVyZW5jZXMuaCIKKyNpbXBvcnQgIldLUHJvY2Vzc1Bvb2xQcml2YXRlLmgiCisjaW1w
b3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJWaWV3
UHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJzaXRlRGF0YVN0b3JlLmgiCisjaW1wb3J0ICJfV0tQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKKyNpbXBvcnQgPHd0Zi9EZXF1ZS5oPgorI2ltcG9y
dCA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbXBvcnQgPFVJS2l0U1BJLmg+CisjZW5k
aWYKKworTlNTdHJpbmcgKiBjb25zdCBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiA9IEAi
UmVhZEFjY2Vzc1VSTCI7CisKK2NvbnN0ZXhwciBOU1JlY3Qgd2ViVmlld1JlY3QgPSB7ezAsIDB9
LCB7ODAwLCA2MDB9fTsKK2NvbnN0ZXhwciBOU1RpbWVJbnRlcnZhbCBkZWZhdWx0VGltZW91dElu
dGVydmFsID0gNjA7Citjb25zdGV4cHIgTlNUaW1lSW50ZXJ2YWwgcHVyZ2VXZWJWaWV3Q2FjaGVE
ZWxheSA9IDE1OworY29uc3RleHByIE5TVUludGVnZXIgbWF4aW11bVdlYlZpZXdDYWNoZVNpemUg
PSAzOworCitAaW50ZXJmYWNlIF9XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUg
OiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGU+CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5KSB2b2lkIChed2ViQ29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUpKFdLV2ViVmlldyAq
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbikoV0tOYXZpZ2F0aW9uQWN0aW9uICosIHZvaWQgKF4pKFdLTmF2aWdhdGlv
bkFjdGlvblBvbGljeSkpOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRG
YWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICosIE5T
RXJyb3IgKik7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZEZhaWxOYXZp
Z2F0aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICosIE5TRXJyb3IgKik7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZEZpbmlzaE5hdmlnYXRpb24pKFdLV2ViVmll
dyAqLCBXS05hdmlnYXRpb24gKik7CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIF9XS0F0dHJp
YnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUKKworLSAodm9pZCl3ZWJWaWV3V2ViQ29udGVu
dFByb2Nlc3NEaWRUZXJtaW5hdGU6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoX3dl
YkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlKQorICAgICAgICBfd2ViQ29udGVudFByb2Nlc3NE
aWRUZXJtaW5hdGUod2ViVmlldyk7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rp
b24gKiluYXZpZ2F0aW9uQWN0aW9uIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0
aW9uQWN0aW9uUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBpZiAoX2RlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24pCisgICAgICAgIHJldHVybiBfZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbihuYXZpZ2F0aW9uQWN0aW9uLCBkZWNpc2lvbkhhbmRsZXIpOworICAgIGRl
Y2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7Cit9CisKKy0gKHZv
aWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0
aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uIHdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9y
Cit7CisgICAgaWYgKF9kaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKQorICAgICAgICBfZGlk
RmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbih3ZWJWaWV3LCBuYXZpZ2F0aW9uLCBlcnJvcik7Cit9
CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsTmF2aWdhdGlv
bjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgor
eworICAgIGlmIChfZGlkRmFpbE5hdmlnYXRpb24pCisgICAgICAgIF9kaWRGYWlsTmF2aWdhdGlv
bih3ZWJWaWV3LCBuYXZpZ2F0aW9uLCBlcnJvcik7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZp
Z2F0aW9uCit7CisgICAgaWYgKF9kaWRGaW5pc2hOYXZpZ2F0aW9uKQorICAgICAgICBfZGlkRmlu
aXNoTmF2aWdhdGlvbih3ZWJWaWV3LCBuYXZpZ2F0aW9uKTsKK30KKworQGVuZAorCitAaW50ZXJm
YWNlIF9XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgOiBOU09iamVjdAorCisrIChSZXRh
aW5QdHI8V0tXZWJWaWV3PilyZXRyaWV2ZU9yQ3JlYXRlV2ViVmlldzsKKysgKHZvaWQpY2FjaGVX
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3OworCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBf
V0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlCisKKysgKE5TTXV0YWJsZUFycmF5PFdLV2Vi
VmlldyAqPiAqKWNhY2hlCit7CisgICAgc3RhdGljIGF1dG8qIGNhY2hlID0gW1tOU011dGFibGVB
cnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTptYXhpbXVtV2ViVmlld0NhY2hlU2l6ZV07Cisg
ICAgcmV0dXJuIGNhY2hlOworfQorCitzdGF0aWMgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29u
ZmlndXJhdGlvbjsKKworKyAoV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24K
K3sKKyAgICBpZiAoIWNvbmZpZ3VyYXRpb24pIHsKKyAgICAgICAgY29uZmlndXJhdGlvbiA9IFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CisgICAgICAgIGNvbmZpZ3VyYXRp
b24ucHJvY2Vzc1Bvb2wgPSBbW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFz
ZV07CisgICAgICAgIGNvbmZpZ3VyYXRpb24ud2Vic2l0ZURhdGFTdG9yZSA9IFtXS1dlYnNpdGVE
YXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV07CisgICAgICAgIGNvbmZpZ3VyYXRpb24u
bWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1YWxN
ZWRpYVR5cGVBbGw7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX2FsbG93c0phdmFTY3JpcHRNYXJr
dXAgPSBOTzsKKyAgICAgICAgY29uZmlndXJhdGlvbi5fYWxsb3dzTWV0YVJlZnJlc2ggPSBOTzsK
KyAgICAgICAgY29uZmlndXJhdGlvbi5fYXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0gWUVTOwor
ICAgICAgICBjb25maWd1cmF0aW9uLl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IFlF
UzsKKyAgICAgICAgY29uZmlndXJhdGlvbi5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0g
Tk87CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX25lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJM
c1F1aXJrID0gTk87CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAgICAgY29uZmlndXJh
dGlvbi5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gTk87CisgICAgICAgIGNvbmZpZ3VyYXRp
b24uX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IFlFUzsKKyNlbmRpZgorICAgIH0K
KworICAgIHJldHVybiBjb25maWd1cmF0aW9uOworfQorCisrICh2b2lkKWNsZWFyQ29uZmlndXJh
dGlvbgoreworICAgIFtjb25maWd1cmF0aW9uIHJlbGVhc2VdOworICAgIGNvbmZpZ3VyYXRpb24g
PSBuaWw7Cit9CisKKysgKFJldGFpblB0cjxXS1dlYlZpZXc+KXJldHJpZXZlT3JDcmVhdGVXZWJW
aWV3Cit7CisgICAgW3NlbGYgcmVzZXRQdXJnZURlbGF5XTsKKworICAgIHN0YXRpYyBkaXNwYXRj
aF9vbmNlX3Qgb25jZVRva2VuOworICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKKyAg
ICAgICAgYXV0byYgbWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gTWVtb3J5UHJlc3N1cmVIYW5kbGVy
OjpzaW5nbGV0b24oKTsKKyAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLnNldExvd01lbW9y
eUhhbmRsZXIoW3NlbGZdIChDcml0aWNhbCwgU3luY2hyb25vdXMpIHsKKyAgICAgICAgICAgIFtz
ZWxmIHB1cmdlQWxsV2ViVmlld3NdOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGF1dG8q
IGNhY2hlID0gc2VsZi5jYWNoZTsKKyAgICBpZiAoY2FjaGUuY291bnQpIHsKKyAgICAgICAgUmV0
YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGNhY2hlLmxhc3RPYmplY3Q7CisgICAgICAgIFtj
YWNoZSByZW1vdmVMYXN0T2JqZWN0XTsKKyAgICAgICAgcmV0dXJuIHdlYlZpZXc7CisgICAgfQor
CisgICAgcmV0dXJuIGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6d2Vi
Vmlld1JlY3QgY29uZmlndXJhdGlvbjpzZWxmLmNvbmZpZ3VyYXRpb25dKTsKK30KKworKyAodm9p
ZCljYWNoZVdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBhdXRvKiBjYWNoZSA9
IHNlbGYuY2FjaGU7CisgICAgaWYgKGNhY2hlLmNvdW50ID49IG1heGltdW1XZWJWaWV3Q2FjaGVT
aXplKQorICAgICAgICByZXR1cm47CisKKyAgICBbY2FjaGUgYWRkT2JqZWN0OndlYlZpZXddOwor
CisgICAgLy8gTG9hZCBhIGJsYW5rIHBhZ2UgdG8gY2xlYXIgYW55dGhpbmcgbG9hZGVkIHdoaWxl
IGluIHRoZSBjYWNoZS4KKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOworfQor
CisrICh2b2lkKXJlc2V0UHVyZ2VEZWxheQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIHB1cmdl
U2VsZWN0b3IgPSBAc2VsZWN0b3IocHVyZ2VTaW5nbGVXZWJWaWV3KTsKKyAgICBbTlNPYmplY3Qg
Y2FuY2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNXaXRoVGFyZ2V0OnNlbGYgc2VsZWN0b3I6cHVy
Z2VTZWxlY3RvciBvYmplY3Q6bmlsXTsKKyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6cHVyZ2VT
ZWxlY3RvciB3aXRoT2JqZWN0Om5pbCBhZnRlckRlbGF5OnB1cmdlV2ViVmlld0NhY2hlRGVsYXld
OworfQorCisrICh2b2lkKXB1cmdlU2luZ2xlV2ViVmlldworeworICAgIFtOU09iamVjdCBjYW5j
ZWxQcmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxlY3RvcjpfY21kIG9i
amVjdDpuaWxdOworCisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmICghY2Fj
aGUuY291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFtjYWNoZS5sYXN0T2JqZWN0IF9jbG9z
ZV07CisgICAgW2NhY2hlIHJlbW92ZUxhc3RPYmplY3RdOworCisgICAgaWYgKCFjYWNoZS5jb3Vu
dCkgeworICAgICAgICBbc2VsZiBjbGVhckNvbmZpZ3VyYXRpb25dOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgLy8gS2VlcCBnb2luZyB1bnRpbCBldmVyeSB2aWV3IGlzIHJlbW92ZWQs
IG9yIHRoZSBkZWxheSBpcyByZXNldC4KKyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6X2NtZCB3
aXRoT2JqZWN0Om5pbCBhZnRlckRlbGF5OnB1cmdlV2ViVmlld0NhY2hlRGVsYXldOworfQorCisr
ICh2b2lkKXB1cmdlQWxsV2ViVmlld3MKK3sKKyAgICBhdXRvKiBjYWNoZSA9IHNlbGYuY2FjaGU7
CisgICAgaWYgKCFjYWNoZS5jb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgW2NhY2hlIG1h
a2VPYmplY3RzUGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihfY2xvc2UpXTsKKyAgICBbY2FjaGUg
cmVtb3ZlQWxsT2JqZWN0c107CisKKyAgICBbc2VsZiBjbGVhckNvbmZpZ3VyYXRpb25dOworfQor
CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOU0F0dHJpYnV0ZWRTdHJpbmcgKFdLUHJpdmF0ZSkK
KworKyAodm9pZClfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJp
YnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29udGVu
dExvYWRlcjooV0tOYXZpZ2F0aW9uICooXikoV0tXZWJWaWV3ICopKWxvYWRXZWJDb250ZW50IGNv
bXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21w
bGV0aW9uSGFuZGxlcgoreworICAgIGlmIChvcHRpb25zW05TV2ViUHJlZmVyZW5jZXNEb2N1bWVu
dE9wdGlvbl0pCisgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1bWVudEV4
Y2VwdGlvbiBmb3JtYXQ6QCJOU1dlYlByZWZlcmVuY2VzRG9jdW1lbnRPcHRpb24gb3B0aW9uIGlz
IG5vdCBzdXBwb3J0ZWQiXTsKKyAgICBpZiAob3B0aW9uc1tOU1dlYlJlc291cmNlTG9hZERlbGVn
YXRlRG9jdW1lbnRPcHRpb25dKQorICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlk
QXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiTlNXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZURvY3Vt
ZW50T3B0aW9uIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIl07CisgICAgaWYgKG9wdGlvbnNbQCJX
ZWJQb2xpY3lEZWxlZ2F0ZSJdKQorICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlk
QXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiV2ViUG9saWN5RGVsZWdhdGUgb3B0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQiXTsKKworICAgIGF1dG8gcnVuQ29udmVyc2lvbiA9IF57CisgICAgICAgIF9f
YmxvY2sgYXV0byBmaW5pc2hlZCA9IE5POworICAgICAgICBfX2Jsb2NrIGF1dG8gd2ViVmlldyA9
IFtfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIHJldHJpZXZlT3JDcmVhdGVXZWJWaWV3
XTsKKyAgICAgICAgX19ibG9jayBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tf
V0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisKKyAg
ICAgICAgX19ibG9jayBSZXRhaW5QdHI8V0tOYXZpZ2F0aW9uPiBjb250ZW50TmF2aWdhdGlvbjsK
KworICAgICAgICB3ZWJWaWV3LmdldCgpLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5hdmlnYXRpb25E
ZWxlZ2F0ZS5nZXQoKTsKKworICAgICAgICBpZiAoYXV0byogdGV4dFpvb21GYWN0b3IgPSBkeW5h
bWljX29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tOU1RleHRTaXplTXVsdGlwbGllckRvY3Vt
ZW50T3B0aW9uXSkpCisgICAgICAgICAgICB3ZWJWaWV3LmdldCgpLl90ZXh0Wm9vbUZhY3RvciA9
IHRleHRab29tRmFjdG9yLmRvdWJsZVZhbHVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3
ZWJWaWV3LmdldCgpLl90ZXh0Wm9vbUZhY3RvciA9IDE7CisKKyAgICAgICAgYXV0byBmaW5pc2gg
PSBeKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5T
QXR0cmlidXRlZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKmF0dHJpYnV0ZXMsIE5T
RXJyb3IgKmVycm9yKSB7CisgICAgICAgICAgICBpZiAoZmluaXNoZWQpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBmaW5pc2hlZCA9IFlFUzsKKworICAgICAgICAgICAg
d2ViVmlldy5nZXQoKS5uYXZpZ2F0aW9uRGVsZWdhdGUgPSBuaWw7CisgICAgICAgICAgICBuYXZp
Z2F0aW9uRGVsZWdhdGUgPSBuaWw7CisgICAgICAgICAgICBjb250ZW50TmF2aWdhdGlvbiA9IG5p
bDsKKworICAgICAgICAgICAgaWYgKCFlcnJvcikKKyAgICAgICAgICAgICAgICBbX1dLQXR0cmli
dXRlZFN0cmluZ1dlYlZpZXdDYWNoZSBjYWNoZVdlYlZpZXc6d2ViVmlldy5nZXQoKV07CisgICAg
ICAgICAgICB3ZWJWaWV3ID0gbmlsOworCisgICAgICAgICAgICAvLyBNYWtlIHRoZSBzdHJpbmcg
YmUgYW4gaW5zdGFuY2Ugb2YgdGhlIHJlY2VpdmVyIGNsYXNzLgorICAgICAgICAgICAgaWYgKGF0
dHJpYnV0ZWRTdHJpbmcgJiYgc2VsZiAhPSBhdHRyaWJ1dGVkU3RyaW5nLmNsYXNzKQorICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZWRTdHJpbmcgPSBbW1tzZWxmIGFsbG9jXSBpbml0V2l0aEF0dHJp
YnV0ZWRTdHJpbmc6YXR0cmlidXRlZFN0cmluZ10gYXV0b3JlbGVhc2VdOworCisgICAgICAgICAg
ICAvLyBNYWtlIHRoZSBkb2N1bWVudCBhdHRyaWJ1dGVzIGltbXV0YWJsZS4KKyAgICAgICAgICAg
IGlmIChbYXR0cmlidXRlcyBpc0tpbmRPZkNsYXNzOk5TTXV0YWJsZURpY3Rpb25hcnkuY2xhc3Nd
KQorICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgPSBbW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGlu
aXRXaXRoRGljdGlvbmFyeTphdHRyaWJ1dGVzXSBhdXRvcmVsZWFzZV07CisKKyAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKGF0dHJpYnV0ZWRTdHJpbmcsIGF0dHJpYnV0ZXMsIGVycm9yKTsK
KyAgICAgICAgfTsKKworICAgICAgICBhdXRvIGNhbmNlbCA9IF4oV0tFcnJvckNvZGUgZXJyb3JD
b2RlLCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IpIHsKKyAgICAgICAgICAgIGZpbmlzaChuaWws
IG5pbCwgY3JlYXRlTlNFcnJvcihlcnJvckNvZGUsIHVuZGVybHlpbmdFcnJvcikuZ2V0KCkpOwor
ICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gXihXS05hdmlnYXRpb25BY3Rpb24gKmFjdGlvbiwgdm9p
ZCAoXmRlY2lzaW9uSGFuZGxlcikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSkgeworICAgICAg
ICAgICAgaWYgKFthY3Rpb24uX21haW5GcmFtZU5hdmlnYXRpb24gaXNFcXVhbDpjb250ZW50TmF2
aWdhdGlvbi5nZXQoKV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlY2lzaW9uSGFuZGxlcihX
S05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRs
ZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5Q2FuY2VsKTsKKyAgICAgICAgfTsKKworICAgICAg
ICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkud2ViQ29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUg
PSBeKFdLV2ViVmlldyAqKSB7CisgICAgICAgICAgICBjYW5jZWwoV0tFcnJvcldlYkNvbnRlbnRQ
cm9jZXNzVGVybWluYXRlZCwgbmlsKTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0aW9u
RGVsZWdhdGUuZ2V0KCkuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3
ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgY2FuY2Vs
KFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRvTG9hZCwgZXJyb3IpOworICAg
ICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKS5kaWRGYWlsTmF2aWdh
dGlvbiA9IF4oV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICplcnJvcikgewor
ICAgICAgICAgICAgY2FuY2VsKFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRv
TG9hZCwgZXJyb3IpOworICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5n
ZXQoKS5kaWRGaW5pc2hOYXZpZ2F0aW9uID0gXihXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICop
IHsKKyAgICAgICAgICAgIGlmIChmaW5pc2hlZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgICAgIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IG5pbDsKKworICAgICAgICAgICAgW3dl
YlZpZXcgX2dldENvbnRlbnRzQXNBdHRyaWJ1dGVkU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVy
Ol4oTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nLCBOU0RpY3Rpb25hcnk8TlNB
dHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRBdHRyaWJ1dGVLZXksIGlkPiAqZG9jdW1lbnRBdHRyaWJ1
dGVzLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChlcnJvcikKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGNhbmNlbChXS0Vycm9yVW5rbm93biwgZXJyb3IpOworICAg
ICAgICAgICAgICAgIGZpbmlzaChbW2F0dHJpYnV0ZWRTdHJpbmcgcmV0YWluXSBhdXRvcmVsZWFz
ZV0sIFtbZG9jdW1lbnRBdHRyaWJ1dGVzIHJldGFpbl0gYXV0b3JlbGVhc2VdLCBuaWwpOworICAg
ICAgICAgICAgfV07CisgICAgICAgIH07CisKKyAgICAgICAgYXV0byB0aW1lb3V0SW50ZXJ2YWwg
PSBkZWZhdWx0VGltZW91dEludGVydmFsOworICAgICAgICBpZiAoYXV0byogdGltZW91dE9wdGlv
biA9IGR5bmFtaWNfb2JqY19jYXN0PE5TTnVtYmVyPihvcHRpb25zW05TVGltZW91dERvY3VtZW50
T3B0aW9uXSkpIHsKKyAgICAgICAgICAgIGlmICh0aW1lb3V0T3B0aW9uLmRvdWJsZVZhbHVlID49
IDApCisgICAgICAgICAgICAgICAgdGltZW91dEludGVydmFsID0gdGltZW91dE9wdGlvbi5kb3Vi
bGVWYWx1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3Rp
bWUoRElTUEFUQ0hfVElNRV9OT1csIHRpbWVvdXRJbnRlcnZhbCAqIE5TRUNfUEVSX1NFQyksIGRp
c3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgICAgICBpZiAoZmluaXNoZWQpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgY2FuY2VsKFdLRXJyb3JBdHRyaWJ1
dGVkU3RyaW5nQ29udGVudExvYWRUaW1lZE91dCwgbmlsKTsKKyAgICAgICAgfSk7CisKKyAgICAg
ICAgY29udGVudE5hdmlnYXRpb24gPSBsb2FkV2ViQ29udGVudCh3ZWJWaWV3LmdldCgpKTsKKwor
ICAgICAgICBBU1NFUlQoY29udGVudE5hdmlnYXRpb24pOworICAgICAgICBBU1NFUlQod2ViVmll
dy5nZXQoKS5sb2FkaW5nKTsKKyAgICB9OworCisgICAgaWYgKFtOU1RocmVhZCBpc01haW5UaHJl
YWRdKQorICAgICAgICBydW5Db252ZXJzaW9uKCk7CisgICAgZWxzZQorICAgICAgICBkaXNwYXRj
aF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBydW5Db252ZXJzaW9uKTsKK30KKwor
QGVuZAorCitAaW1wbGVtZW50YXRpb24gTlNBdHRyaWJ1dGVkU3RyaW5nIChOU0F0dHJpYnV0ZWRT
dHJpbmdXZWJLaXRBZGRpdGlvbnMpCisKKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRl
ZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9u
SGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhh
bmRsZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250
ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAg
cmV0dXJuIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIH0gY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhG
aWxlVVJMOihOU1VSTCAqKWZpbGVVUkwgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRl
ZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9u
SGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhh
bmRsZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9ucyBjb250
ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAgICAgICAg
YXV0byogcmVhZEFjY2Vzc1VSTCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TVVJMPihvcHRpb25zW05T
UmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uXSk7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBs
b2FkRmlsZVVSTDpmaWxlVVJMIGFsbG93aW5nUmVhZEFjY2Vzc1RvVVJMOnJlYWRBY2Nlc3NVUkxd
OworICAgIH0gY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2
b2lkKWxvYWRGcm9tSFRNTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KE5T
RGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlk
PiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRp
b25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2xvYWRGcm9tSFRNTFdp
dGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpeV0tOYXZpZ2F0aW9uICooV0tXZWJWaWV3
ICp3ZWJWaWV3KSB7CisgICAgICAgIGF1dG8qIGJhc2VVUkwgPSBkeW5hbWljX29iamNfY2FzdDxO
U1VSTD4ob3B0aW9uc1tOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbl0pOworICAgICAgICByZXR1cm4g
W3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6c3RyaW5nIGJhc2VVUkw6YmFzZVVSTF07CisgICAgfSBj
b21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKKysgKHZvaWQpbG9hZEZy
b21IVE1MV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0
cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21w
bGV0aW9uSGFuZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxl
dGlvbkhhbmRsZXIKK3sKKyAgICBbc2VsZiBfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6b3B0aW9u
cyBjb250ZW50TG9hZGVyOl5XS05hdmlnYXRpb24gKihXS1dlYlZpZXcgKndlYlZpZXcpIHsKKyAg
ICAgICAgYXV0byogdGV4dEVuY29kaW5nTmFtZSA9IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5n
PihvcHRpb25zW05TVGV4dEVuY29kaW5nTmFtZURvY3VtZW50T3B0aW9uXSk7CisgICAgICAgIGF1
dG8gY2hhcmFjdGVyRW5jb2RpbmcgPSBzdGF0aWNfY2FzdDxOU1N0cmluZ0VuY29kaW5nPihkeW5h
bWljX29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tOU0NoYXJhY3RlckVuY29kaW5nRG9jdW1l
bnRPcHRpb25dKS51bnNpZ25lZEludGVnZXJWYWx1ZSk7CisgICAgICAgIGF1dG8qIGJhc2VVUkwg
PSBkeW5hbWljX29iamNfY2FzdDxOU1VSTD4ob3B0aW9uc1tOU0Jhc2VVUkxEb2N1bWVudE9wdGlv
bl0pOworCisgICAgICAgIGlmIChjaGFyYWN0ZXJFbmNvZGluZyAmJiAhdGV4dEVuY29kaW5nTmFt
ZSkgeworICAgICAgICAgICAgYXV0byBzdHJpbmdFbmNvZGluZyA9IENGU3RyaW5nQ29udmVydE5T
U3RyaW5nRW5jb2RpbmdUb0VuY29kaW5nKGNoYXJhY3RlckVuY29kaW5nKTsKKyAgICAgICAgICAg
IGlmIChzdHJpbmdFbmNvZGluZyAhPSBrQ0ZTdHJpbmdFbmNvZGluZ0ludmFsaWRJZCkKKyAgICAg
ICAgICAgICAgICB0ZXh0RW5jb2RpbmdOYW1lID0gKF9fYnJpZGdlIE5TU3RyaW5nICopQ0ZTdHJp
bmdDb252ZXJ0RW5jb2RpbmdUb0lBTkFDaGFyU2V0TmFtZShzdHJpbmdFbmNvZGluZyk7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZERhdGE6ZGF0YSBNSU1FVHlwZTpA
InRleHQvaHRtbCIgY2hhcmFjdGVyRW5jb2RpbmdOYW1lOnRleHRFbmNvZGluZ05hbWUgYmFzZVVS
TDpiYXNlVVJMXTsKKyAgICB9IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsK
K30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L05TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg1ODJmMDA5
YjYzNjdjNmUzNGY1NTZlMzgzYzJmYWYwYTEzMjc5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmgK
QEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9OU0F0dHJpYnV0
ZWRTdHJpbmcuaD4KKworQGNsYXNzIFdLTmF2aWdhdGlvbjsKK0BjbGFzcyBXS1dlYlZpZXc7CisK
K05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKKy8qIQorIEBkaXNjdXNzaW9uIFByaXZhdGUgZXh0
ZW5zaW9uIG9mIEBsaW5rIC8vYXBwbGVfcmVmL29jYy9OU0F0dHJpYnV0ZWRTdHJpbmcgTlNBdHRy
aWJ1dGVkU3RyaW5nIEAvbGluayB0bworIHRyYW5zbGF0ZSBIVE1MIGNvbnRlbnQgaW50byBhdHRy
aWJ1dGVkIHN0cmluZ3MgdXNpbmcgV2ViS2l0LgorICovCitAaW50ZXJmYWNlIE5TQXR0cmlidXRl
ZFN0cmluZyAoV0tQcml2YXRlKQorCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMgdGhlIGNvbnRl
bnRzIGxvYWRlZCBieSBhIGNvbnRlbnQgbG9hZGVyIGJsb2NrIGludG8gYW4gYXR0cmlidXRlZCBz
dHJpbmcuCisgQHBhcmFtIG9wdGlvbnMgRG9jdW1lbnQgYXR0cmlidXRlcyBmb3IgaW50ZXJwcmV0
aW5nIHRoZSBkb2N1bWVudCBjb250ZW50cy4KKyBOU1RleHRTaXplTXVsdGlwbGllckRvY3VtZW50
T3B0aW9uLCBhbmQgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24g
a2V5cy4KKyBAcGFyYW0gY29udGVudExvYWRlciBBIGJsb2NrIHRvIGludm9rZSB3aGVuIGNvbnRl
bnQgbmVlZHMgdG8gYmUgbG9hZGVkIGluIHRoZSBzdXBwbGllZAorIEBsaW5rIFdLV2ViVmlldyBA
L2xpbmsuIEEgQGxpbmsgV0tOYXZpZ2F0aW9uIEAvbGluayBmb3IgdGhlIG1haW4gZnJhbWUgbXVz
dCBiZSByZXR1cm5lZC4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZv
a2Ugd2hlbiB0aGUgdHJhbnNsYXRpb24gY29tcGxldGVzIG9yIGZhaWxzLgorIEBkaXNjdXNzaW9u
IFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIHJl
c3VsdCBhbG9uZyB3aXRoIGFueQorIGRvY3VtZW50LWxldmVsIGF0dHJpYnV0ZXMsIG9yIGFuIGVy
cm9yLgorICovCisrICh2b2lkKV9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczooTlNEaWN0aW9uYXJ5
PE5TQXR0cmlidXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9u
cyBjb250ZW50TG9hZGVyOihXS05hdmlnYXRpb24gKiheKShXS1dlYlZpZXcgKikpbG9hZFdlYkNv
bnRlbnQgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5k
bGVyKWNvbXBsZXRpb25IYW5kbGVyOworCitAZW5kCisKK05TX0FTU1VNRV9OT05OVUxMX0VORApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgKaW5kZXggZjI3N2U4
ZDhmYTI5YjdhNTM4ZDRlZWE2OWJjZDAxZmM2NTcwZDBhNy4uYjA4MDhlYzQ4MjU3Mjc4ZjVlYjE0
ZWNmNmY4YWJjZmY4ZDY0YmI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tFcnJvci5oCkBAIC00Myw2ICs0Myw4IEBAIFdLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0
IFdLRXJyb3JEb21haW4gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wCiAg
QGNvbnN0YW50IFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tVcEZhaWxlZCAgICAgSW5k
aWNhdGVzIHRoYXQgbG9va2luZyB1cCBhIFdLVXNlckNvbnRlbnRSdWxlTGlzdCBmYWlsZWQuCiAg
QGNvbnN0YW50IFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCAgICAgSW5k
aWNhdGVzIHRoYXQgcmVtb3ZpbmcgYSBXS1VzZXJDb250ZW50UnVsZUxpc3QgZmFpbGVkLgogIEBj
b25zdGFudCBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVWZXJzaW9uTWlzbWF0Y2ggIEluZGlj
YXRlcyB0aGF0IHRoZSBXS1VzZXJDb250ZW50UnVsZUxpc3QgdmVyc2lvbiBkaWQgbm90IG1hdGNo
IHRoZSBsYXRlc3QuCisgQGNvbnN0YW50IFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZh
aWxlZFRvTG9hZCAgSW5kaWNhdGVzIHRoYXQgdGhlIGF0dHJpYnV0ZWQgc3RyaW5nIGNvbnRlbnQg
ZmFpbGVkIHRvIGxvYWQuCisgQGNvbnN0YW50IFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVu
dExvYWRUaW1lZE91dCAgSW5kaWNhdGVzIHRoYXQgbG9hZGluZyBhdHRyaWJ1dGVkIHN0cmluZyBj
b250ZW50IHRpbWVkIG91dC4KICAqLwogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tFcnJv
ckNvZGUpIHsKICAgICBXS0Vycm9yVW5rbm93biA9IDEsCkBAIC01NCw2ICs1Niw4IEBAIHR5cGVk
ZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRXJyb3JDb2RlKSB7CiAgICAgV0tFcnJvckNvbnRlbnRS
dWxlTGlzdFN0b3JlTG9va1VwRmFpbGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwg
aW9zKDExLjApKSwKICAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpLAogICAgIFdLRXJyb3JD
b250ZW50UnVsZUxpc3RTdG9yZVZlcnNpb25NaXNtYXRjaCBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMyksIGlvcygxMS4wKSksCisgICAgV0tFcnJvckF0dHJpYnV0ZWRTdHJpbmdDb250ZW50
RmFpbGVkVG9Mb2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpLAorICAgIFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudExvYWRUaW1lZE91
dCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwK
IH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4wKSk7CiAKIE5TX0FTU1VN
RV9OT05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJv
ci5tbQppbmRleCBmY2JmYzRkOTNhZTljODVhMzVhYzhjZjM3ZTUxMmNlM2U1ODU3YTAxLi4zNmUx
ZjRiZDY4OTFlODkwMjFiMzViMWY4YmI4YjNhMDRhZjc1OGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQpAQCAtNjcsMTIgKzY3LDIyIEBAIE5TU3Ry
aW5nICpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSBlcnJvckNv
ZGUpCiAKICAgICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZDoK
ICAgICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlJlbW92aW5nIGEgV0tDb250ZW50UnVsZUxp
c3QgZmFpbGVkIiwgIldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92ZUZhaWxlZCBkZXNj
cmlwdGlvbiIpOworCisgICAgY2FzZSBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWls
ZWRUb0xvYWQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJBdHRyaWJ1dGVkIHN0cmlu
ZyBjb250ZW50IGZhaWxlZCB0byBsb2FkIiwgIldLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVu
dEZhaWxlZFRvTG9hZCBkZXNjcmlwdGlvbiIpOworCisgICAgY2FzZSBXS0Vycm9yQXR0cmlidXRl
ZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5H
KCJUaW1lZCBvdXQgd2hpbGUgbG9hZGluZyBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IiwgIldL
RXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudExvYWRUaW1lZE91dCBkZXNjcmlwdGlvbiIpOwog
ICAgIH0KIH0KIAotUmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUg
ZXJyb3JDb2RlKQorUmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNvZGUg
ZXJyb3JDb2RlLCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IpCiB7Ci0gICAgYXV0byB1c2VySW5m
byA9IGFkb3B0TlMoW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoT2JqZWN0c0FuZEtleXM6
bG9jYWxpemVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoZXJyb3JDb2RlKSwgTlNMb2NhbGl6ZWRE
ZXNjcmlwdGlvbktleSwgbmlsXSk7CisgICAgTlNEaWN0aW9uYXJ5ICp1c2VySW5mbyA9IG5pbDsK
KyAgICBpZiAodW5kZXJseWluZ0Vycm9yKQorICAgICAgICB1c2VySW5mbyA9IEB7IE5TTG9jYWxp
emVkRGVzY3JpcHRpb25LZXk6IGxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKGVycm9y
Q29kZSksIE5TVW5kZXJseWluZ0Vycm9yS2V5OiB1bmRlcmx5aW5nRXJyb3IgfTsKKyAgICBlbHNl
CisgICAgICAgIHVzZXJJbmZvID0gQHsgTlNMb2NhbGl6ZWREZXNjcmlwdGlvbktleTogbG9jYWxp
emVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoZXJyb3JDb2RlKSB9OwogCi0gICAgcmV0dXJuIGFk
b3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6
ZXJyb3JDb2RlIHVzZXJJbmZvOnVzZXJJbmZvLmdldCgpXSk7CisgICAgcmV0dXJuIGFkb3B0TlMo
W1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6ZXJyb3JD
b2RlIHVzZXJJbmZvOnVzZXJJbmZvXSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKaW5kZXggMjYxZTJlOTk2MWEzMjU0MDZi
MjFlMWEwMDM3YmMwOTk4ZmRiMjE3NS4uMTFiZDFmNWQyMjc0MzIyMDlkYWMwODFhNmViMjJmY2M4
NDM2MWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
RXJyb3JJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Vycm9ySW50ZXJuYWwuaApAQCAtMjgsNSArMjgsNSBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogI2ltcG9ydCAiR2VuZXJpY0NhbGxiYWNrLmgiCiAKLVJldGFpblB0cjxOU0Vycm9yPiBj
cmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlKTsKK1JldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vy
cm9yKFdLRXJyb3JDb2RlLCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IgPSBuaWwpOwogTlNTdHJp
bmcgKmxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJyb3JDb2RlKFdLRXJyb3JDb2RlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdlMzk2
N2YxMTM1NWQyMzE2OWZjNTM3Zjg0ZTg2Yjc3ZTZlMWEyNzkuLmE2ZjkyZjAxNmQ2MTNkMGQ2MmI0
ZmY2NGUwOTc4MDA5YzAwZTIxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzg1LDYgKzM4NSw4IEBACiAJCTFDMEExOTU3MUM5MDA2
OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzBBMTk1NTFDOTAw
NjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwogCQkxQzBBMTk1ODFDOTAwNjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25N
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUMwQTE5NTYxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZXMu
aCAqLzsgfTsKIAkJMUMwQTE5NUMxQzkxNkUxQjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHlTY3JpcHRTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDMEExOTVCMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vz
c2lvblByb3h5U2NyaXB0U291cmNlLmggKi87IH07CisJCTFDMjA5MzYwMjIzMThDQjAwMDAyNkEz
OSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDMjA5MzVFMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRT
dHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxQzIxODQwMjIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyMTg0MDEy
MjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzg5MUQ2NjE5QjEyNEZG
MDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDODkxRDYzMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0
b3JVSS5oICovOyB9OwogCQkxQzhFMjgyMDEyNzVEMTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjgx
RTEyNzVEMTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmggKi87IH07CiAJCTFDOEUyODM0MTI3
NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MzIxMjc1RDczODAwQkM3QkQwIC8qIFdl
Ykluc3BlY3RvclByb3h5LmggKi87IH07CkBAIC0yMzk2LDYgKzIzOTgsOSBAQAogCQkxQzBBMTk1
OTFDOTAwNkVBMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb24ubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViQXV0b21hdGlvblNlc3Npb24ubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDMEExOTVBMUM5MTY2OTUwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMwQTE5NUIxQzkxNkUxQjAwRkUw
RUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNv
dXJjZS5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5U2NyaXB0U291cmNlLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCTFDMjA5MzVFMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTlNBdHRyaWJ1dGVkU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDMjA5MzVGMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJpbmcubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMjE4NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0
ZWRTdHJpbmdQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQXR0
cmlidXRlZFN0cmluZ1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM3
N0MxOTUxMjg4QTg3MjAwNkE3NDJGIC8qIFdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5MUQ2MjE5QjEyNEZGMDBCQTc5REQgLyogV2Vi
SW5zcGVjdG9yVUkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
SW5zcGVjdG9yVUkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5MUQ2MzE5
QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yVUkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTYxMzcsNiArNjE0Miw5IEBACiAJCQkJRkVEM0MxREExQjQ0N0FFODAwRTBFQjdGIC8qIEFQ
SVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovLAogCQkJCTFBMzYzNUFCMUEzMTQ1RTUw
MEVENjE5NyAvKiBBUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gKi8sCiAJCQkJMUFGREU2NDMx
OTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tICovLAorCQkJCTFDMjA5
MzVFMjIzMThDQjAwMDAyNkEzOSAvKiBOU0F0dHJpYnV0ZWRTdHJpbmcuaCAqLywKKwkJCQkxQzIw
OTM1RjIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLm1tICovLAorCQkJCTFD
MjE4NDAxMjIzMzg3MjgwMEJBQzcwMCAvKiBOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmggKi8s
CiAJCQkJMzdDNEMwOEIxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0LmggKi8s
CiAJCQkJMzdDNEMwOEExODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tICov
LAogCQkJCTM3QzRDMDhFMTgxNEFGM0EwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEludGVy
bmFsLmggKi8sCkBAIC05Mjg3LDYgKzkyOTUsOCBAQAogCQkJCTFBMjE2MUIwMTFGMzc2NjQwMDhB
RDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjE2MkIx
MTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMkQ4NEEzMTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5n
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQzIxODQwMjIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRy
aWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc1NEQ1NDUxQjNBMjlG
RDAwM0E0QzdGIC8qIE5TSW52b2NhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4QUNB
MTMxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzdCNDdFMkQxRDY0REI3NjAwNUY0RUZGIC8qIG9iamNTUEkuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCmluZGV4IGJkODdiZmUwNzM4ZDk4ZTA0MzkzYWM3MTAxOGNhNjYyZjgxODhjYmIu
LjE2ZjNmYTgyMzQ3YjJmZjc3YzhjNzdmZmNiYzY4YjdiZWUyZWM4YTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0K
QEAgLTIwOCw2ICsyMDgsMTAgQEAgdm9pZCBXZWJQYWdlOjpnZXRDb250ZW50c0FzQXR0cmlidXRl
ZFN0cmluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEF0dHJpYnUKICAgICBGcmFtZSYg
ZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogCiAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9
IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoZnJhbWUuZG9jdW1lbnQo
KS0+ZG9jdW1lbnRFbGVtZW50KCksIDAsIElOVF9NQVgpOworICAgIGlmICghcmFuZ2UpIHsKKyAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAog
ICAgIE5TRGljdGlvbmFyeSogZG9jdW1lbnRBdHRyaWJ1dGVzID0gbmlsOwogCg==
</data>
<flag name="review"
          id="381416"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="381417"
          type_id="3"
          status="-"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365082</attachid>
            <date>2019-03-18 15:52:13 -0700</date>
            <delta_ts>2019-03-18 16:32:26 -0700</delta_ts>
            <desc>Patch 4 / 4</desc>
            <filename>bug-195636-20190318155212.patch</filename>
            <type>text/plain</type>
            <size>41360</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3OTdlODJkZjg2MzIz
ZGJiYjQwZjVlN2ViYjFjMmY1YTVjNzcyMy4uNzdkYmMwYzhkZDg0MTI4ZDMwYmMwZWNjYjY5MTRh
MDI3MzU3ZjRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IE5TQXR0
cmlidXRlZFN0cmluZyBBUEkgZm9yIGNvbnZlcnRpbmcgSFRNTC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzNgorICAgICAgICByZGFyOi8vcHJv
YmxlbS80NTA1NTY5NworCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAg
ICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBVcGRhdGVkLgorCiAyMDE5LTAzLTE2
ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIExheW91dCB0ZXN0
cyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi8qLWV4Y2VwdGlvbi1v
cmRlci5odG1sIGFyZSBmYWlsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdkYTQ1NWUxZWEyYzYwZmFkMTFlN2Jh
Y2IxMTk0YTg4MmViZTNhZDUuLjEzZGVjOWFlNDhlMzRjMzcwOTNhZDkyZDgxMWZlODUyMmNmMzFj
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDMtMTYgIFRpbW90aHkgSGF0Y2hl
ciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgTlNBdHRyaWJ1dGVkU3Ry
aW5nIEFQSSBmb3IgY29udmVydGluZyBIVE1MLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NjM2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ1MDU1
Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFBsYXRm
b3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLmg6IEFkZGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tOiBBZGRl
ZC4KKyAgICAgICAgKC1bX1dLQXR0cmlidXRlZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJW
aWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOl0pOgor
ICAgICAgICAoLVtfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6
ZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19X
S0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGYWlsTmF2aWdh
dGlvbjp3aXRoRXJyb3I6XSk6CisgICAgICAgICgtW19XS0F0dHJpYnV0ZWRTdHJpbmdOYXZpZ2F0
aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZpZ2F0aW9uOl0pOgorICAgICAgICAoK1tf
V0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNhY2hlXSk6CisgICAgICAgICgrW19XS0F0
dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgY29uZmlndXJhdGlvbl0pOgorICAgICAgICAoK1tf
V0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIGNsZWFyQ29uZmlndXJhdGlvbl0pOgorICAg
ICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIHJldHJpZXZlT3JDcmVhdGVX
ZWJWaWV3XSk6CisgICAgICAgICgrW19XS0F0dHJpYnV0ZWRTdHJpbmdXZWJWaWV3Q2FjaGUgY2Fj
aGVXZWJWaWV3Ol0pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hl
IHJlc2V0UHVyZ2VEZWxheV0pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3RyaW5nV2ViVmll
d0NhY2hlIHB1cmdlU2luZ2xlV2ViVmlld10pOgorICAgICAgICAoK1tfV0tBdHRyaWJ1dGVkU3Ry
aW5nV2ViVmlld0NhY2hlIHB1cmdlQWxsV2ViVmlld3NdKToKKyAgICAgICAgKCtbTlNBdHRyaWJ1
dGVkU3RyaW5nIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczpjb250ZW50TG9hZGVyOmNvbXBsZXRp
b25IYW5kbGVyOl0pOgorICAgICAgICAoK1tOU0F0dHJpYnV0ZWRTdHJpbmcgbG9hZEZyb21IVE1M
V2l0aFJlcXVlc3Q6b3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKCtbTlNB
dHRyaWJ1dGVkU3RyaW5nIGxvYWRGcm9tSFRNTFdpdGhGaWxlVVJMOm9wdGlvbnM6Y29tcGxldGlv
bkhhbmRsZXI6XSk6CisgICAgICAgICgrW05TQXR0cmlidXRlZFN0cmluZyBsb2FkRnJvbUhUTUxX
aXRoU3RyaW5nOm9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgrW05TQXR0
cmlidXRlZFN0cmluZyBsb2FkRnJvbUhUTUxXaXRoRGF0YTpvcHRpb25zOmNvbXBsZXRpb25IYW5k
bGVyOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5n
UHJpdmF0ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tFcnJvckludGVybmFsLmguCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9y
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tOgorICAgICAgICAo
bG9jYWxpemVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUpOgorICAgICAgICAoY3JlYXRlTlNFcnJv
cik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJuYWwuaDoKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cmluZyk6CisKIDIwMTktMDMtMTYgIFRp
bW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNDI4MDcpOiBVbmlmaWVkIHNvdXJjZXMgYnVpbGQgZmFpbHVyZSBmcm9tIG1pc3NpbmcgaW1w
b3J0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4
IDUxM2UzMjgwOWVkNzI2ZDcyOGE1YjUxZTAwMmI2N2FkYTY5NGI0ZmMuLjk2ZGY1YTRhZjY1Y2I5
ZGUwODUzYTJkNjIyZjQwNmFjODI2MGYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vu
Lmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwpAQCAtMTA5LDYgKzEwOSw5IEBACiAvKiBNYWx3YXJlIGNvbmZp
cm1hdGlvbiBkaWFsb2cgdGl0bGUgKi8KICJBcmUgeW91IHN1cmUgeW91IHdpc2ggdG8gZ28gdG8g
dGhpcyBzaXRlPyIgPSAiQXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGdvIHRvIHRoaXMgc2l0ZT8i
OwogCisvKiBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQgZGVzY3Jp
cHRpb24gKi8KKyJBdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IGZhaWxlZCB0byBsb2FkIiA9ICJB
dHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IGZhaWxlZCB0byBsb2FkIjsKKwogLyogTWVudSBpdGVt
IGxhYmVsIGZvciBhdXRvbWF0aWMgdHJhY2sgc2VsZWN0aW9uIGJlaGF2aW9yICovCiAiQXV0byAo
UmVjb21tZW5kZWQpIiA9ICJBdXRvIChSZWNvbW1lbmRlZCkiOwogCkBAIC04MDIsNiArODA1LDkg
QEAKIC8qIFVuZG8gYWN0aW9uIG5hbWUgKi8KICJUaWdodGVuIEtlcm5pbmcgKFVuZG8gYWN0aW9u
IG5hbWUpIiA9ICJUaWdodGVuIEtlcm5pbmciOwogCisvKiBXS0Vycm9yQXR0cmlidXRlZFN0cmlu
Z0NvbnRlbnRMb2FkVGltZWRPdXQgZGVzY3JpcHRpb24gKi8KKyJUaW1lZCBvdXQgd2hpbGUgbG9h
ZGluZyBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IiA9ICJUaW1lZCBvdXQgd2hpbGUgbG9hZGlu
ZyBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IjsKKwogLyogcHJvbXB0IHN0cmluZyBpbiBhdXRo
ZW50aWNhdGlvbiBwYW5lbCAqLwogIlRvIHZpZXcgdGhpcyBwYWdlLCB5b3UgbXVzdCBsb2cgaW4g
dG8gYXJlYSDigJwlQOKAnSBvbiAlQC4iID0gIlRvIHZpZXcgdGhpcyBwYWdlLCB5b3UgbXVzdCBs
b2cgaW4gdG8gYXJlYSDigJwlQOKAnSBvbiAlQC4iOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
c3BpL2lvcy9VSUtpdFNQSS5oCmluZGV4IDRhN2JhYTMyMDVmYjdmNmIwMjk2ZWNmNDFkZmZhOTBh
NDNiNThkY2EuLmNhMzZmNWMxZTJiNWI3ZGRjYzFhYmVhMTMzOWFiOWY3NDhiOTExYjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCkBAIC0xMTkzLDQgKzExOTMs
MTEgQEAgVUlFZGdlSW5zZXRzIFVJRWRnZUluc2V0c0FkZChVSUVkZ2VJbnNldHMgbGhzLCBVSUVk
Z2VJbnNldHMgcmhzLCBVSVJlY3RFZGdlKTsKIAogZXh0ZXJuIE5TU3RyaW5nICpjb25zdCBVSUJh
Y2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIAorZXh0ZXJuIE5TU3RyaW5nICogY29u
c3QgTlNUZXh0RW5jb2RpbmdOYW1lRG9jdW1lbnRPcHRpb247CitleHRlcm4gTlNTdHJpbmcgKiBj
b25zdCBOU0Jhc2VVUkxEb2N1bWVudE9wdGlvbjsKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IE5T
VGltZW91dERvY3VtZW50T3B0aW9uOworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgTlNXZWJQcmVm
ZXJlbmNlc0RvY3VtZW50T3B0aW9uOworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgTlNXZWJSZXNv
dXJjZUxvYWREZWxlZ2F0ZURvY3VtZW50T3B0aW9uOworZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qg
TlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbjsKKwogV1RGX0VYVEVSTl9DX0VORApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGI1NjBiNGE3NjU5MzJmYzhiNjE4NThkZDk1YzEwYjhi
ZTExNzRiZWUuLmU1MGRiMDI5YmE2NmU5NjZmNjJiYzMxYTI0ZDQwMDczYjVlZTBjNzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI3Miw2ICsyNzIsNyBAQCBVSVByb2Nlc3MvQVBJL0NvY29h
L0FQSUhUVFBDb29raWVTdG9yZUNvY29hLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVE
YXRhU3RvcmVDb2NvYS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9MZWdhY3lCdW5kbGVGb3JDbGFz
cy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZGZmOWU4NDY3MDU5Y2M5
NmZiNDZhMGEwYzkyMGM1NGFjYzRkNjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLmgKQEAgLTAsMCArMSwxMTcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBU
QVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxVSUtpdC9OU0F0dHJpYnV0ZWRTdHJpbmcuaD4KKyNl
bHNlCisjaW1wb3J0IDxBcHBLaXQvTlNBdHRyaWJ1dGVkU3RyaW5nLmg+CisjZW5kaWYKKworTlNf
QVNTVU1FX05PTk5VTExfQkVHSU4KKworLyohCisgQGFic3RyYWN0IEluZGljYXRlcyB3aGljaCBs
b2NhbCBmaWxlcyBXZWJLaXQgY2FuIGFjY2VzcyB3aGVuIGxvYWRpbmcgY29udGVudC4KKyBAZGlz
Y3Vzc2lvbiBJZiBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbiByZWZlcmVuY2VzIGEgc2lu
Z2xlIGZpbGUsIG9ubHkgdGhhdCBmaWxlIG1heSBiZQorIGxvYWRlZCBieSBXZWJLaXQuIElmIE5T
UmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksIGZpbGVz
IGluc2lkZSB0aGF0CisgZGlyZWN0b3J5IG1heSBiZSBsb2FkZWQgYnkgV2ViS2l0LgorKi8KK1dL
X0VYVEVSTiBOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXkgY29uc3Qg
TlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24KKyAgICBOU19TV0lGVF9OQU1FKE5TQXR0cmli
dXRlZFN0cmluZ0RvY3VtZW50UmVhZGluZ09wdGlvbktleS5yZWFkQWNjZXNzVVJMKSBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohCisg
QGFic3RyYWN0IFR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGNvbXBsZXRpb24gaGFuZGxlciBibG9j
ayB1c2VkIHRvIGdldCBhc3luY2hyb25vdXMgYXR0cmlidXRlZCBzdHJpbmdzLgorIEBkaXNjdXNz
aW9uIFRoZSBjb21wbGV0aW9uIGhhbmRsZXIgYmxvY2sgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVk
IHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVz
LCBsaWtlIE5TQmFja2dyb3VuZENvbG9yRG9jdW1lbnRBdHRyaWJ1dGUsIG9yIGFuIGVycm9yLiBB
biBpbXBsZW1lbnRhdGlvbgorIG9mIHRoaXMgYmxvY2sgdHlwZSBtdXN0IGV4cGVjdCB0byBiZSBj
YWxsZWQgYXN5bmNocm9ub3VzbHkgd2hlbiBwYXNzZWQgdG8gSFRNTCBsb2FkaW5nIG1ldGhvZHMu
CisqLwordHlwZWRlZiB2b2lkICheTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIp
KE5TQXR0cmlidXRlZFN0cmluZyAqIF9OdWxsYWJsZSwgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRl
ZFN0cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKiBfTnVsbGFibGUsIE5TRXJyb3IgKiBf
TnVsbGFibGUpCisgICAgTlNfU1dJRlRfTkFNRShOU0F0dHJpYnV0ZWRTdHJpbmcuQ29tcGxldGlv
bkhhbmRsZXIpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworCisvKiEKKyBAZGlzY3Vzc2lvbiBFeHRlbnNpb24gb2YgQGxpbmsgLy9hcHBsZV9y
ZWYvb2NjL05TQXR0cmlidXRlZFN0cmluZyBOU0F0dHJpYnV0ZWRTdHJpbmcgQC9saW5rIHRvCisg
Y3JlYXRlIGF0dHJpYnV0ZWQgc3RyaW5ncyBmcm9tIEhUTUwgY29udGVudCB1c2luZyBXZWJLaXQu
CisqLworQGludGVyZmFjZSBOU0F0dHJpYnV0ZWRTdHJpbmcgKE5TQXR0cmlidXRlZFN0cmluZ1dl
YktpdEFkZGl0aW9ucykKKworLyohCisgQGFic3RyYWN0IExvYWRzIGFuIEhUTUwgVVJMIHJlcXVl
c3QgYW5kIGNvbnZlcnRzIHRoZSBjb250ZW50cyBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgor
IEBwYXJhbSByZXF1ZXN0IFRoZSByZXF1ZXN0IHNwZWNpZnlpbmcgdGhlIFVSTCB0byBsb2FkLgor
IEBwYXJhbSBvcHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUg
ZG9jdW1lbnQgY29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiBh
bmQgTlNUaW1lb3V0RG9jdW1lbnRPcHRpb24gYXJlIHN1cHBvcnRlZCBvcHRpb24ga2V5cy4KKyBA
cGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiB0aGUgb3BlcmF0
aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxldGlvbkhhbmRs
ZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcgd2l0aCBhbnkK
KyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4KKyovCisrICh2b2lkKWxv
YWRGcm9tSFRNTFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IG9wdGlvbnM6KE5T
RGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlk
PiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRp
b25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRfTkFNRShsb2FkRnJvbUhU
TUwocmVxdWVzdDpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEKKyBAYWJzdHJhY3Qg
Q29udmVydHMgYSBsb2NhbCBIVE1MIGZpbGUgaW50byBhbiBhdHRyaWJ1dGVkIHN0cmluZy4KKyBA
cGFyYW0gZmlsZVVSTCBUaGUgZmlsZSBVUkwgdG8gbG9hZC4KKyBAcGFyYW0gb3B0aW9ucyBEb2N1
bWVudCBhdHRyaWJ1dGVzIGZvciBpbnRlcnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnRzLgor
IE5TVGV4dFNpemVNdWx0aXBsaWVyRG9jdW1lbnRPcHRpb24sIE5TVGltZW91dERvY3VtZW50T3B0
aW9uIGFuZCBOU1JlYWRBY2Nlc3NVUkxEb2N1bWVudE9wdGlvbgorIGFyZSBzdXBwb3J0ZWQgb3B0
aW9uIGtleXMuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdo
ZW4gdGhlIG9wZXJhdGlvbiBjb21wbGV0ZXMgb3IgZmFpbHMuCisgQGRpc2N1c3Npb24gVGhlIGNv
bXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBzdHJpbmcgcmVzdWx0IGFs
b25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywgb3IgYW4gZXJyb3IuIElm
IE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uIHJlZmVyZW5jZXMgYSBzaW5nbGUgZmlsZSwK
KyBvbmx5IHRoYXQgZmlsZSBtYXkgYmUgbG9hZGVkIGJ5IFdlYktpdC4gSWYgTlNSZWFkQWNjZXNz
VVJMRG9jdW1lbnRPcHRpb24gcmVmZXJlbmNlcyBhIGRpcmVjdG9yeSwKKyBmaWxlcyBpbnNpZGUg
dGhhdCBkaXJlY3RvcnkgbWF5IGJlIGxvYWRlZCBieSBXZWJLaXQuCisqLworKyAodm9pZClsb2Fk
RnJvbUhUTUxXaXRoRmlsZVVSTDooTlNVUkwgKilmaWxlVVJMIG9wdGlvbnM6KE5TRGljdGlvbmFy
eTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlv
bnMgY29tcGxldGlvbkhhbmRsZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVy
KWNvbXBsZXRpb25IYW5kbGVyCisgICAgTlNfU1dJRlRfTkFNRShsb2FkRnJvbUhUTUwoZmlsZVVS
TDpvcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEKKyBAYWJzdHJhY3QgQ29udmVydHMg
YW4gSFRNTCBzdHJpbmcgaW50byBhbiBhdHRyaWJ1dGVkIHN0cmluZy4KKyBAcGFyYW0gc3RyaW5n
IFRoZSBIVE1MIHN0cmluZyB0byB1c2UgYXMgdGhlIGNvbnRlbnRzLgorIEBwYXJhbSBvcHRpb25z
IERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9jdW1lbnQgY29udGVu
dHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgTlNUaW1lb3V0RG9jdW1l
bnRPcHRpb24gYW5kIE5TQmFzZVVSTERvY3VtZW50T3B0aW9uCisgYXJlIHN1cHBvcnRlZCBvcHRp
b24ga2V5cy4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ugd2hl
biB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29t
cGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxv
bmcgd2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4gTlNC
YXNlVVJMRG9jdW1lbnRPcHRpb24gaXMgdXNlZCB0byByZXNvbHZlIHJlbGF0aXZlIFVSTHMKKyB3
aXRoaW4gdGhlIGRvY3VtZW50LgorKi8KKysgKHZvaWQpbG9hZEZyb21IVE1MV2l0aFN0cmluZzoo
TlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0cmlu
Z0RvY3VtZW50UmVhZGluZ09wdGlvbktleSwgaWQ+ICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxl
cjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRsZXIK
KyAgICBOU19TV0lGVF9OQU1FKGxvYWRGcm9tSFRNTChzdHJpbmc6b3B0aW9uczpjb21wbGV0aW9u
SGFuZGxlcjopKSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKworLyohCisgQGFic3RyYWN0IENvbnZlcnRzIEhUTUwgZGF0YSBpbnRvIGFuIGF0
dHJpYnV0ZWQgc3RyaW5nLgorIEBwYXJhbSBkYXRhIFRoZSBIVE1MIGRhdGEgdG8gdXNlIGFzIHRo
ZSBjb250ZW50cy4KKyBAcGFyYW0gb3B0aW9ucyBEb2N1bWVudCBhdHRyaWJ1dGVzIGZvciBpbnRl
cnByZXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnRzLgorIE5TVGV4dFNpemVNdWx0aXBsaWVyRG9j
dW1lbnRPcHRpb24sIE5TVGltZW91dERvY3VtZW50T3B0aW9uLCBOU1RleHRFbmNvZGluZ05hbWVE
b2N1bWVudE9wdGlvbiwKKyBhbmQgTlNDaGFyYWN0ZXJFbmNvZGluZ0RvY3VtZW50T3B0aW9uIGFy
ZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxv
Y2sgdG8gaW52b2tlIHdoZW4gdGhlIG9wZXJhdGlvbiBjb21wbGV0ZXMgb3IgZmFpbHMuCisgQGRp
c2N1c3Npb24gVGhlIGNvbXBsZXRpb25IYW5kbGVyIGlzIHBhc3NlZCB0aGUgYXR0cmlidXRlZCBz
dHJpbmcgcmVzdWx0IGFsb25nIHdpdGggYW55CisgZG9jdW1lbnQtbGV2ZWwgYXR0cmlidXRlcywg
b3IgYW4gZXJyb3IuIElmIG5laXRoZXIgTlNUZXh0RW5jb2RpbmdOYW1lRG9jdW1lbnRPcHRpb24g
bm9yCisgTlNDaGFyYWN0ZXJFbmNvZGluZ0RvY3VtZW50T3B0aW9uIGlzIHN1cHBsaWVkLCBhIGJl
c3QtZ3Vlc3MgZW5jb2RpbmcgaXMgdXNlZC4KKyovCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhE
YXRhOihOU0RhdGEgKilkYXRhIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJp
bmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRs
ZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVy
CisgICAgTlNfU1dJRlRfTkFNRShsb2FkRnJvbUhUTUwoZGF0YTpvcHRpb25zOmNvbXBsZXRpb25I
YW5kbGVyOikpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworCitAZW5kCisKK05TX0FTU1VNRV9OT05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTBhNzY5NTIzNzBmYjNiYmNjNDUxZjQ1YWQ3YWE3NGZhZTA3YjZhYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0
ZWRTdHJpbmcubW0KQEAgLTAsMCArMSwzNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKworI2ltcG9ydCAiTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIgorCisjaW1wb3J0
ICJXS0Vycm9ySW50ZXJuYWwuaCIKKyNpbXBvcnQgIldLTmF2aWdhdGlvbkFjdGlvblByaXZhdGUu
aCIKKyNpbXBvcnQgIldLTmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJXS1ByZWZlcmVu
Y2VzLmgiCisjaW1wb3J0ICJXS1Byb2Nlc3NQb29sUHJpdmF0ZS5oIgorI2ltcG9ydCAiV0tXZWJW
aWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKKyNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGUuaCIK
KyNpbXBvcnQgIldLV2Vic2l0ZURhdGFTdG9yZS5oIgorI2ltcG9ydCAiX1dLUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmgiCisjaW1wb3J0IDx3dGYvRGVxdWUuaD4KKyNpbXBvcnQgPHd0Zi9NZW1v
cnlQcmVzc3VyZUhhbmRsZXIuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisjaW1wb3J0IDxVSUtpdFNQSS5oPgorI2VuZGlmCisKK05TU3Ry
aW5nICogY29uc3QgTlNSZWFkQWNjZXNzVVJMRG9jdW1lbnRPcHRpb24gPSBAIlJlYWRBY2Nlc3NV
UkwiOworCitjb25zdGV4cHIgTlNSZWN0IHdlYlZpZXdSZWN0ID0ge3swLCAwfSwgezgwMCwgNjAw
fX07Citjb25zdGV4cHIgTlNUaW1lSW50ZXJ2YWwgZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCA9IDYw
OworY29uc3RleHByIE5TVGltZUludGVydmFsIHB1cmdlV2ViVmlld0NhY2hlRGVsYXkgPSAxNTsK
K2NvbnN0ZXhwciBOU1VJbnRlZ2VyIG1heGltdW1XZWJWaWV3Q2FjaGVTaXplID0gMzsKKworQGlu
dGVyZmFjZSBfV0tBdHRyaWJ1dGVkU3RyaW5nTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3Qg
PFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9p
ZCAoXndlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlKShXS1dlYlZpZXcgKik7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24pKFdLTmF2aWdhdGlvbkFjdGlvbiAqLCB2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xp
Y3kpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheZGlkRmFpbFByb3Zpc2lv
bmFsTmF2aWdhdGlvbikoV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopOwor
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRGYWlsTmF2aWdhdGlvbikoV0tX
ZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopOworQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIHZvaWQgKF5kaWRGaW5pc2hOYXZpZ2F0aW9uKShXS1dlYlZpZXcgKiwgV0tOYXZp
Z2F0aW9uICopOworCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBfV0tBdHRyaWJ1dGVkU3RyaW5n
TmF2aWdhdGlvbkRlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmlld1dlYkNvbnRlbnRQcm9jZXNzRGlk
VGVybWluYXRlOihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKF93ZWJDb250ZW50UHJv
Y2Vzc0RpZFRlcm1pbmF0ZSkKKyAgICAgICAgX3dlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRl
KHdlYlZpZXcpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdh
dGlvbkFjdGlvbiBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBv
bGljeSkpZGVjaXNpb25IYW5kbGVyCit7CisgICAgaWYgKF9kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKQorICAgICAgICByZXR1cm4gX2RlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24obmF2aWdhdGlvbkFjdGlvbiwgZGVjaXNpb25IYW5kbGVyKTsKKyAgICBkZWNpc2lvbkhhbmRs
ZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3cpOworfQorCistICh2b2lkKXdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbjooV0tOYXZp
Z2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgoreworICAgIGlm
IChfZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZhaWxQcm92aXNp
b25hbE5hdmlnYXRpb24od2ViVmlldywgbmF2aWdhdGlvbiwgZXJyb3IpOworfQorCistICh2b2lk
KXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmFpbE5hdmlnYXRpb246KFdLTmF2aWdh
dGlvbiAqKW5hdmlnYXRpb24gd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKK3sKKyAgICBpZiAo
X2RpZEZhaWxOYXZpZ2F0aW9uKQorICAgICAgICBfZGlkRmFpbE5hdmlnYXRpb24od2ViVmlldywg
bmF2aWdhdGlvbiwgZXJyb3IpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGlkRmluaXNoTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbgorewor
ICAgIGlmIChfZGlkRmluaXNoTmF2aWdhdGlvbikKKyAgICAgICAgX2RpZEZpbmlzaE5hdmlnYXRp
b24od2ViVmlldywgbmF2aWdhdGlvbik7Cit9CisKK0BlbmQKKworQGludGVyZmFjZSBfV0tBdHRy
aWJ1dGVkU3RyaW5nV2ViVmlld0NhY2hlIDogTlNPYmplY3QKKworKyAoUmV0YWluUHRyPFdLV2Vi
Vmlldz4pcmV0cmlldmVPckNyZWF0ZVdlYlZpZXc7CisrICh2b2lkKWNhY2hlV2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldzsKKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gX1dLQXR0cmlidXRl
ZFN0cmluZ1dlYlZpZXdDYWNoZQorCisrIChOU011dGFibGVBcnJheTxXS1dlYlZpZXcgKj4gKilj
YWNoZQoreworICAgIHN0YXRpYyBhdXRvKiBjYWNoZSA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2Nd
IGluaXRXaXRoQ2FwYWNpdHk6bWF4aW11bVdlYlZpZXdDYWNoZVNpemVdOworICAgIHJldHVybiBj
YWNoZTsKK30KKworc3RhdGljIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb247
CisKKysgKFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCit7CisgICAgaWYg
KCFjb25maWd1cmF0aW9uKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgICAgICBjb25maWd1cmF0aW9uLnByb2Nlc3NQ
b29sID0gW1tbV0tQcm9jZXNzUG9vbCBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOworICAgICAg
ICBjb25maWd1cmF0aW9uLndlYnNpdGVEYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIG5v
blBlcnNpc3RlbnREYXRhU3RvcmVdOworICAgICAgICBjb25maWd1cmF0aW9uLm1lZGlhVHlwZXNS
ZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlQWxs
OworICAgICAgICBjb25maWd1cmF0aW9uLl9hbGxvd3NKYXZhU2NyaXB0TWFya3VwID0gTk87Cisg
ICAgICAgIGNvbmZpZ3VyYXRpb24uX2FsbG93c01ldGFSZWZyZXNoID0gTk87CisgICAgICAgIGNv
bmZpZ3VyYXRpb24uX2F0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IFlFUzsKKyAgICAgICAgY29u
ZmlndXJhdGlvbi5faW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBZRVM7CisgICAgICAg
IGNvbmZpZ3VyYXRpb24uX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IE5POworICAgICAg
ICBjb25maWd1cmF0aW9uLl9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayA9IE5P
OworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgICAgIGNvbmZpZ3VyYXRpb24uYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayA9IE5POworICAgICAgICBjb25maWd1cmF0aW9uLl9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSBZRVM7CisjZW5kaWYKKyAgICB9CisKKyAgICByZXR1
cm4gY29uZmlndXJhdGlvbjsKK30KKworKyAodm9pZCljbGVhckNvbmZpZ3VyYXRpb24KK3sKKyAg
ICBbY29uZmlndXJhdGlvbiByZWxlYXNlXTsKKyAgICBjb25maWd1cmF0aW9uID0gbmlsOworfQor
CisrIChSZXRhaW5QdHI8V0tXZWJWaWV3PilyZXRyaWV2ZU9yQ3JlYXRlV2ViVmlldworeworICAg
IFtzZWxmIHJlc2V0UHVyZ2VEZWxheV07CisKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9u
Y2VUb2tlbjsKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGF1dG8m
IG1lbW9yeVByZXNzdXJlSGFuZGxlciA9IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9u
KCk7CisgICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5zZXRMb3dNZW1vcnlIYW5kbGVyKFtz
ZWxmXSAoQ3JpdGljYWwsIFN5bmNocm9ub3VzKSB7CisgICAgICAgICAgICBbc2VsZiBwdXJnZUFs
bFdlYlZpZXdzXTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBhdXRvKiBjYWNoZSA9IHNl
bGYuY2FjaGU7CisgICAgaWYgKGNhY2hlLmNvdW50KSB7CisgICAgICAgIFJldGFpblB0cjxXS1dl
YlZpZXc+IHdlYlZpZXcgPSBjYWNoZS5sYXN0T2JqZWN0OworICAgICAgICBbY2FjaGUgcmVtb3Zl
TGFzdE9iamVjdF07CisgICAgICAgIHJldHVybiB3ZWJWaWV3OworICAgIH0KKworICAgIHJldHVy
biBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOndlYlZpZXdSZWN0IGNv
bmZpZ3VyYXRpb246c2VsZi5jb25maWd1cmF0aW9uXSk7Cit9CisKKysgKHZvaWQpY2FjaGVXZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hl
OworICAgIGlmIChjYWNoZS5jb3VudCA+PSBtYXhpbXVtV2ViVmlld0NhY2hlU2l6ZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgW2NhY2hlIGFkZE9iamVjdDp3ZWJWaWV3XTsKKworICAgIC8vIExv
YWQgYSBibGFuayBwYWdlIHRvIGNsZWFyIGFueXRoaW5nIGxvYWRlZCB3aGlsZSBpbiB0aGUgY2Fj
aGUuCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKK30KKworKyAodm9pZCly
ZXNldFB1cmdlRGVsYXkKK3sKKyAgICBzdGF0aWMgY29uc3QgYXV0byBwdXJnZVNlbGVjdG9yID0g
QHNlbGVjdG9yKHB1cmdlU2luZ2xlV2ViVmlldyk7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZp
b3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOnB1cmdlU2VsZWN0b3Ig
b2JqZWN0Om5pbF07CisgICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOnB1cmdlU2VsZWN0b3Igd2l0
aE9iamVjdDpuaWwgYWZ0ZXJEZWxheTpwdXJnZVdlYlZpZXdDYWNoZURlbGF5XTsKK30KKworKyAo
dm9pZClwdXJnZVNpbmdsZVdlYlZpZXcKK3sKKyAgICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQ
ZXJmb3JtUmVxdWVzdHNXaXRoVGFyZ2V0OnNlbGYgc2VsZWN0b3I6X2NtZCBvYmplY3Q6bmlsXTsK
KworICAgIGF1dG8qIGNhY2hlID0gc2VsZi5jYWNoZTsKKyAgICBpZiAoIWNhY2hlLmNvdW50KQor
ICAgICAgICByZXR1cm47CisKKyAgICBbY2FjaGUubGFzdE9iamVjdCBfY2xvc2VdOworICAgIFtj
YWNoZSByZW1vdmVMYXN0T2JqZWN0XTsKKworICAgIGlmICghY2FjaGUuY291bnQpIHsKKyAgICAg
ICAgW3NlbGYgY2xlYXJDb25maWd1cmF0aW9uXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEtlZXAgZ29pbmcgdW50aWwgZXZlcnkgdmlldyBpcyByZW1vdmVkLCBvciB0aGUgZGVs
YXkgaXMgcmVzZXQuCisgICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOl9jbWQgd2l0aE9iamVjdDpu
aWwgYWZ0ZXJEZWxheTpwdXJnZVdlYlZpZXdDYWNoZURlbGF5XTsKK30KKworKyAodm9pZClwdXJn
ZUFsbFdlYlZpZXdzCit7CisgICAgYXV0byogY2FjaGUgPSBzZWxmLmNhY2hlOworICAgIGlmICgh
Y2FjaGUuY291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFtjYWNoZSBtYWtlT2JqZWN0c1Bl
cmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoX2Nsb3NlKV07CisgICAgW2NhY2hlIHJlbW92ZUFsbE9i
amVjdHNdOworCisgICAgW3NlbGYgY2xlYXJDb25maWd1cmF0aW9uXTsKK30KKworQGVuZAorCitA
aW1wbGVtZW50YXRpb24gTlNBdHRyaWJ1dGVkU3RyaW5nIChXS1ByaXZhdGUpCisKKysgKHZvaWQp
X2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOihOU0RpY3Rpb25hcnk8TlNBdHRyaWJ1dGVkU3RyaW5n
RG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25zIGNvbnRlbnRMb2FkZXI6KFdL
TmF2aWdhdGlvbiAqKF4pKFdLV2ViVmlldyAqKSlsb2FkV2ViQ29udGVudCBjb21wbGV0aW9uSGFu
ZGxlcjooTlNBdHRyaWJ1dGVkU3RyaW5nQ29tcGxldGlvbkhhbmRsZXIpY29tcGxldGlvbkhhbmRs
ZXIKK3sKKyAgICBpZiAob3B0aW9uc1tOU1dlYlByZWZlcmVuY2VzRG9jdW1lbnRPcHRpb25dKQor
ICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9y
bWF0OkAiTlNXZWJQcmVmZXJlbmNlc0RvY3VtZW50T3B0aW9uIG9wdGlvbiBpcyBub3Qgc3VwcG9y
dGVkIl07CisgICAgaWYgKG9wdGlvbnNbTlNXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZURvY3VtZW50
T3B0aW9uXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhj
ZXB0aW9uIGZvcm1hdDpAIk5TV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVEb2N1bWVudE9wdGlvbiBv
cHRpb24gaXMgbm90IHN1cHBvcnRlZCJdOworICAgIGlmIChvcHRpb25zW0AiV2ViUG9saWN5RGVs
ZWdhdGUiXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhj
ZXB0aW9uIGZvcm1hdDpAIldlYlBvbGljeURlbGVnYXRlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVk
Il07CisKKyAgICBhdXRvIHJ1bkNvbnZlcnNpb24gPSBeeworICAgICAgICBfX2Jsb2NrIGF1dG8g
ZmluaXNoZWQgPSBOTzsKKyAgICAgICAgX19ibG9jayBhdXRvIHdlYlZpZXcgPSBbX1dLQXR0cmli
dXRlZFN0cmluZ1dlYlZpZXdDYWNoZSByZXRyaWV2ZU9yQ3JlYXRlV2ViVmlld107CisgICAgICAg
IF9fYmxvY2sgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtbX1dLQXR0cmlidXRl
ZFN0cmluZ05hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworCisgICAgICAgIF9fYmxv
Y2sgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gY29udGVudE5hdmlnYXRpb247CisKKyAgICAgICAg
d2ViVmlldy5nZXQoKS5uYXZpZ2F0aW9uRGVsZWdhdGUgPSBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0
KCk7CisKKyAgICAgICAgaWYgKGF1dG8qIHRleHRab29tRmFjdG9yID0gZHluYW1pY19vYmpjX2Nh
c3Q8TlNOdW1iZXI+KG9wdGlvbnNbTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbl0p
KQorICAgICAgICAgICAgd2ViVmlldy5nZXQoKS5fdGV4dFpvb21GYWN0b3IgPSB0ZXh0Wm9vbUZh
Y3Rvci5kb3VibGVWYWx1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd2ViVmlldy5nZXQo
KS5fdGV4dFpvb21GYWN0b3IgPSAxOworCisgICAgICAgIGF1dG8gZmluaXNoID0gXihOU0F0dHJp
YnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmcsIE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRT
dHJpbmdEb2N1bWVudEF0dHJpYnV0ZUtleSwgaWQ+ICphdHRyaWJ1dGVzLCBOU0Vycm9yICplcnJv
cikgeworICAgICAgICAgICAgaWYgKGZpbmlzaGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAgICAgZmluaXNoZWQgPSBZRVM7CisKKyAgICAgICAgICAgIHdlYlZpZXcuZ2V0
KCkubmF2aWdhdGlvbkRlbGVnYXRlID0gbmlsOworICAgICAgICAgICAgbmF2aWdhdGlvbkRlbGVn
YXRlID0gbmlsOworICAgICAgICAgICAgY29udGVudE5hdmlnYXRpb24gPSBuaWw7CisKKyAgICAg
ICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAgICAgICAgW19XS0F0dHJpYnV0ZWRTdHJpbmdX
ZWJWaWV3Q2FjaGUgY2FjaGVXZWJWaWV3OndlYlZpZXcuZ2V0KCldOworICAgICAgICAgICAgd2Vi
VmlldyA9IG5pbDsKKworICAgICAgICAgICAgLy8gTWFrZSB0aGUgc3RyaW5nIGJlIGFuIGluc3Rh
bmNlIG9mIHRoZSByZWNlaXZlciBjbGFzcy4KKyAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVkU3Ry
aW5nICYmIHNlbGYgIT0gYXR0cmlidXRlZFN0cmluZy5jbGFzcykKKyAgICAgICAgICAgICAgICBh
dHRyaWJ1dGVkU3RyaW5nID0gW1tbc2VsZiBhbGxvY10gaW5pdFdpdGhBdHRyaWJ1dGVkU3RyaW5n
OmF0dHJpYnV0ZWRTdHJpbmddIGF1dG9yZWxlYXNlXTsKKworICAgICAgICAgICAgLy8gTWFrZSB0
aGUgZG9jdW1lbnQgYXR0cmlidXRlcyBpbW11dGFibGUuCisgICAgICAgICAgICBpZiAoW2F0dHJp
YnV0ZXMgaXNLaW5kT2ZDbGFzczpOU011dGFibGVEaWN0aW9uYXJ5LmNsYXNzXSkKKyAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGVzID0gW1tbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aERpY3Rp
b25hcnk6YXR0cmlidXRlc10gYXV0b3JlbGVhc2VdOworCisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihhdHRyaWJ1dGVkU3RyaW5nLCBhdHRyaWJ1dGVzLCBlcnJvcik7CisgICAgICAgIH07
CisKKyAgICAgICAgYXV0byBjYW5jZWwgPSBeKFdLRXJyb3JDb2RlIGVycm9yQ29kZSwgTlNFcnJv
ciogdW5kZXJseWluZ0Vycm9yKSB7CisgICAgICAgICAgICBmaW5pc2gobmlsLCBuaWwsIGNyZWF0
ZU5TRXJyb3IoZXJyb3JDb2RlLCB1bmRlcmx5aW5nRXJyb3IpLmdldCgpKTsKKyAgICAgICAgfTsK
KworICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbiA9IF4oV0tOYXZpZ2F0aW9uQWN0aW9uICphY3Rpb24sIHZvaWQgKF5kZWNpc2lv
bkhhbmRsZXIpKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpIHsKKyAgICAgICAgICAgIGlmIChb
YWN0aW9uLl9tYWluRnJhbWVOYXZpZ2F0aW9uIGlzRXF1YWw6Y29udGVudE5hdmlnYXRpb24uZ2V0
KCldKQorICAgICAgICAgICAgICAgIHJldHVybiBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5QWxsb3cpOworICAgICAgICAgICAgZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdh
dGlvbkFjdGlvblBvbGljeUNhbmNlbCk7CisgICAgICAgIH07CisKKyAgICAgICAgbmF2aWdhdGlv
bkRlbGVnYXRlLmdldCgpLndlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlID0gXihXS1dlYlZp
ZXcgKikgeworICAgICAgICAgICAgY2FuY2VsKFdLRXJyb3JXZWJDb250ZW50UHJvY2Vzc1Rlcm1p
bmF0ZWQsIG5pbCk7CisgICAgICAgIH07CisKKyAgICAgICAgbmF2aWdhdGlvbkRlbGVnYXRlLmdl
dCgpLmRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24gPSBeKFdLV2ViVmlldyAqLCBXS05hdmln
YXRpb24gKiwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbmNlbChXS0Vycm9yQXR0
cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQsIGVycm9yKTsKKyAgICAgICAgfTsKKwor
ICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmFpbE5hdmlnYXRpb24gPSBeKFdL
V2ViVmlldyAqLCBXS05hdmlnYXRpb24gKiwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAg
IGNhbmNlbChXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQsIGVycm9y
KTsKKyAgICAgICAgfTsKKworICAgICAgICBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkuZGlkRmlu
aXNoTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqKSB7CisgICAgICAg
ICAgICBpZiAoZmluaXNoZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBuaWw7CisKKyAgICAgICAgICAgIFt3ZWJWaWV3IF9nZXRD
b250ZW50c0FzQXR0cmlidXRlZFN0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeKE5TQXR0cmli
dXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZywgTlNEaWN0aW9uYXJ5PE5TQXR0cmlidXRlZFN0
cmluZ0RvY3VtZW50QXR0cmlidXRlS2V5LCBpZD4gKmRvY3VtZW50QXR0cmlidXRlcywgTlNFcnJv
ciAqZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBjYW5jZWwoV0tFcnJvclVua25vd24sIGVycm9yKTsKKyAgICAgICAgICAgICAg
ICBmaW5pc2goW1thdHRyaWJ1dGVkU3RyaW5nIHJldGFpbl0gYXV0b3JlbGVhc2VdLCBbW2RvY3Vt
ZW50QXR0cmlidXRlcyByZXRhaW5dIGF1dG9yZWxlYXNlXSwgbmlsKTsKKyAgICAgICAgICAgIH1d
OworICAgICAgICB9OworCisgICAgICAgIGF1dG8gdGltZW91dEludGVydmFsID0gZGVmYXVsdFRp
bWVvdXRJbnRlcnZhbDsKKyAgICAgICAgaWYgKGF1dG8qIHRpbWVvdXRPcHRpb24gPSBkeW5hbWlj
X29iamNfY2FzdDxOU051bWJlcj4ob3B0aW9uc1tOU1RpbWVvdXREb2N1bWVudE9wdGlvbl0pKSB7
CisgICAgICAgICAgICBpZiAodGltZW91dE9wdGlvbi5kb3VibGVWYWx1ZSA+PSAwKQorICAgICAg
ICAgICAgICAgIHRpbWVvdXRJbnRlcnZhbCA9IHRpbWVvdXRPcHRpb24uZG91YmxlVmFsdWU7Cisg
ICAgICAgIH0KKworICAgICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENI
X1RJTUVfTk9XLCB0aW1lb3V0SW50ZXJ2YWwgKiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRf
bWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAgaWYgKGZpbmlzaGVkKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIGNhbmNlbChXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0Nv
bnRlbnRMb2FkVGltZWRPdXQsIG5pbCk7CisgICAgICAgIH0pOworCisgICAgICAgIGNvbnRlbnRO
YXZpZ2F0aW9uID0gbG9hZFdlYkNvbnRlbnQod2ViVmlldy5nZXQoKSk7CisKKyAgICAgICAgQVNT
RVJUKGNvbnRlbnROYXZpZ2F0aW9uKTsKKyAgICAgICAgQVNTRVJUKHdlYlZpZXcuZ2V0KCkubG9h
ZGluZyk7CisgICAgfTsKKworICAgIGlmIChbTlNUaHJlYWQgaXNNYWluVGhyZWFkXSkKKyAgICAg
ICAgcnVuQ29udmVyc2lvbigpOworICAgIGVsc2UKKyAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgcnVuQ29udmVyc2lvbik7Cit9CisKK0BlbmQKKworQGlt
cGxlbWVudGF0aW9uIE5TQXR0cmlidXRlZFN0cmluZyAoTlNBdHRyaWJ1dGVkU3RyaW5nV2ViS2l0
QWRkaXRpb25zKQorCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVl
c3QgKilyZXF1ZXN0IG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1
bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5T
QXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7Cisg
ICAgW3NlbGYgX2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpe
V0tOYXZpZ2F0aW9uICooV0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIHJldHVybiBbd2Vi
VmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICB9IGNvbXBsZXRpb25IYW5kbGVyOmNvbXBs
ZXRpb25IYW5kbGVyXTsKK30KKworKyAodm9pZClsb2FkRnJvbUhUTUxXaXRoRmlsZVVSTDooTlNV
UkwgKilmaWxlVVJMIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJpbmdEb2N1
bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KE5T
QXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVyCit7Cisg
ICAgW3NlbGYgX2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExvYWRlcjpe
V0tOYXZpZ2F0aW9uICooV0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIGF1dG8qIHJlYWRB
Y2Nlc3NVUkwgPSBkeW5hbWljX29iamNfY2FzdDxOU1VSTD4ob3B0aW9uc1tOU1JlYWRBY2Nlc3NV
UkxEb2N1bWVudE9wdGlvbl0pOworICAgICAgICByZXR1cm4gW3dlYlZpZXcgbG9hZEZpbGVVUkw6
ZmlsZVVSTCBhbGxvd2luZ1JlYWRBY2Nlc3NUb1VSTDpyZWFkQWNjZXNzVVJMXTsKKyAgICB9IGNv
bXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKK30KKworKyAodm9pZClsb2FkRnJv
bUhUTUxXaXRoU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihOU0RpY3Rpb25hcnk8
TlNBdHRyaWJ1dGVkU3RyaW5nRG9jdW1lbnRSZWFkaW5nT3B0aW9uS2V5LCBpZD4gKilvcHRpb25z
IGNvbXBsZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlcilj
b21wbGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxmIF9sb2FkRnJvbUhUTUxXaXRoT3B0aW9uczpv
cHRpb25zIGNvbnRlbnRMb2FkZXI6XldLTmF2aWdhdGlvbiAqKFdLV2ViVmlldyAqd2ViVmlldykg
eworICAgICAgICBhdXRvKiBiYXNlVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+KG9wdGlv
bnNbTlNCYXNlVVJMRG9jdW1lbnRPcHRpb25dKTsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IGxv
YWRIVE1MU3RyaW5nOnN0cmluZyBiYXNlVVJMOmJhc2VVUkxdOworICAgIH0gY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCisrICh2b2lkKWxvYWRGcm9tSFRNTFdpdGhE
YXRhOihOU0RhdGEgKilkYXRhIG9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0ZWRTdHJp
bmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRs
ZXI6KE5TQXR0cmlidXRlZFN0cmluZ0NvbXBsZXRpb25IYW5kbGVyKWNvbXBsZXRpb25IYW5kbGVy
Cit7CisgICAgW3NlbGYgX2xvYWRGcm9tSFRNTFdpdGhPcHRpb25zOm9wdGlvbnMgY29udGVudExv
YWRlcjpeV0tOYXZpZ2F0aW9uICooV0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAgICAgIGF1dG8q
IHRleHRFbmNvZGluZ05hbWUgPSBkeW5hbWljX29iamNfY2FzdDxOU1N0cmluZz4ob3B0aW9uc1tO
U1RleHRFbmNvZGluZ05hbWVEb2N1bWVudE9wdGlvbl0pOworICAgICAgICBhdXRvIGNoYXJhY3Rl
ckVuY29kaW5nID0gc3RhdGljX2Nhc3Q8TlNTdHJpbmdFbmNvZGluZz4oZHluYW1pY19vYmpjX2Nh
c3Q8TlNOdW1iZXI+KG9wdGlvbnNbTlNDaGFyYWN0ZXJFbmNvZGluZ0RvY3VtZW50T3B0aW9uXSku
dW5zaWduZWRJbnRlZ2VyVmFsdWUpOworICAgICAgICBhdXRvKiBiYXNlVVJMID0gZHluYW1pY19v
YmpjX2Nhc3Q8TlNVUkw+KG9wdGlvbnNbTlNCYXNlVVJMRG9jdW1lbnRPcHRpb25dKTsKKworICAg
ICAgICBpZiAoY2hhcmFjdGVyRW5jb2RpbmcgJiYgIXRleHRFbmNvZGluZ05hbWUpIHsKKyAgICAg
ICAgICAgIGF1dG8gc3RyaW5nRW5jb2RpbmcgPSBDRlN0cmluZ0NvbnZlcnROU1N0cmluZ0VuY29k
aW5nVG9FbmNvZGluZyhjaGFyYWN0ZXJFbmNvZGluZyk7CisgICAgICAgICAgICBpZiAoc3RyaW5n
RW5jb2RpbmcgIT0ga0NGU3RyaW5nRW5jb2RpbmdJbnZhbGlkSWQpCisgICAgICAgICAgICAgICAg
dGV4dEVuY29kaW5nTmFtZSA9IChfX2JyaWRnZSBOU1N0cmluZyAqKUNGU3RyaW5nQ29udmVydEVu
Y29kaW5nVG9JQU5BQ2hhclNldE5hbWUoc3RyaW5nRW5jb2RpbmcpOworICAgICAgICB9CisKKyAg
ICAgICAgcmV0dXJuIFt3ZWJWaWV3IGxvYWREYXRhOmRhdGEgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwi
IGNoYXJhY3RlckVuY29kaW5nTmFtZTp0ZXh0RW5jb2RpbmdOYW1lIGJhc2VVUkw6YmFzZVVSTF07
CisgICAgfSBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKK0BlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0
ZWRTdHJpbmdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNB
dHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4NTgyZjAwOWI2MzY3YzZlMzRm
NTU2ZTM4M2MyZmFmMGExMzI3OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oCkBAIC0wLDAgKzEs
NTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvTlNBdHRyaWJ1dGVkU3RyaW5nLmg+
CisKK0BjbGFzcyBXS05hdmlnYXRpb247CitAY2xhc3MgV0tXZWJWaWV3OworCitOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgorCisvKiEKKyBAZGlzY3Vzc2lvbiBQcml2YXRlIGV4dGVuc2lvbiBvZiBA
bGluayAvL2FwcGxlX3JlZi9vY2MvTlNBdHRyaWJ1dGVkU3RyaW5nIE5TQXR0cmlidXRlZFN0cmlu
ZyBAL2xpbmsgdG8KKyB0cmFuc2xhdGUgSFRNTCBjb250ZW50IGludG8gYXR0cmlidXRlZCBzdHJp
bmdzIHVzaW5nIFdlYktpdC4KKyAqLworQGludGVyZmFjZSBOU0F0dHJpYnV0ZWRTdHJpbmcgKFdL
UHJpdmF0ZSkKKworLyohCisgQGFic3RyYWN0IENvbnZlcnRzIHRoZSBjb250ZW50cyBsb2FkZWQg
YnkgYSBjb250ZW50IGxvYWRlciBibG9jayBpbnRvIGFuIGF0dHJpYnV0ZWQgc3RyaW5nLgorIEBw
YXJhbSBvcHRpb25zIERvY3VtZW50IGF0dHJpYnV0ZXMgZm9yIGludGVycHJldGluZyB0aGUgZG9j
dW1lbnQgY29udGVudHMuCisgTlNUZXh0U2l6ZU11bHRpcGxpZXJEb2N1bWVudE9wdGlvbiwgYW5k
IE5TVGltZW91dERvY3VtZW50T3B0aW9uIGFyZSBzdXBwb3J0ZWQgb3B0aW9uIGtleXMuCisgQHBh
cmFtIGNvbnRlbnRMb2FkZXIgQSBibG9jayB0byBpbnZva2Ugd2hlbiBjb250ZW50IG5lZWRzIHRv
IGJlIGxvYWRlZCBpbiB0aGUgc3VwcGxpZWQKKyBAbGluayBXS1dlYlZpZXcgQC9saW5rLiBBIEBs
aW5rIFdLTmF2aWdhdGlvbiBAL2xpbmsgZm9yIHRoZSBtYWluIGZyYW1lIG11c3QgYmUgcmV0dXJu
ZWQuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIHdoZW4gdGhl
IHRyYW5zbGF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUgY29tcGxl
dGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSBhdHRyaWJ1dGVkIHN0cmluZyByZXN1bHQgYWxvbmcg
d2l0aCBhbnkKKyBkb2N1bWVudC1sZXZlbCBhdHRyaWJ1dGVzLCBvciBhbiBlcnJvci4KKyAqLwor
KyAodm9pZClfbG9hZEZyb21IVE1MV2l0aE9wdGlvbnM6KE5TRGljdGlvbmFyeTxOU0F0dHJpYnV0
ZWRTdHJpbmdEb2N1bWVudFJlYWRpbmdPcHRpb25LZXksIGlkPiAqKW9wdGlvbnMgY29udGVudExv
YWRlcjooV0tOYXZpZ2F0aW9uICooXikoV0tXZWJWaWV3ICopKWxvYWRXZWJDb250ZW50IGNvbXBs
ZXRpb25IYW5kbGVyOihOU0F0dHJpYnV0ZWRTdHJpbmdDb21wbGV0aW9uSGFuZGxlciljb21wbGV0
aW9uSGFuZGxlcjsKKworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5oCmluZGV4IGYyNzdlOGQ4ZmEyOWI3YTUz
OGQ0ZWVhNjliY2QwMWZjNjU3MGQwYTcuLmIwODA4ZWM0ODI1NzI3OGY1ZWIxNGVjZjZmOGFiY2Zm
OGQ2NGJiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Vycm9yLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3Iu
aApAQCAtNDMsNiArNDMsOCBAQCBXS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBXS0Vycm9yRG9t
YWluIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEwKSwgaW9zKDguMAogIEBjb25zdGFudCBX
S0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVMb29rVXBGYWlsZWQgICAgIEluZGljYXRlcyB0aGF0
IGxvb2tpbmcgdXAgYSBXS1VzZXJDb250ZW50UnVsZUxpc3QgZmFpbGVkLgogIEBjb25zdGFudCBX
S0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQgICAgIEluZGljYXRlcyB0aGF0
IHJlbW92aW5nIGEgV0tVc2VyQ29udGVudFJ1bGVMaXN0IGZhaWxlZC4KICBAY29uc3RhbnQgV0tF
cnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlVmVyc2lvbk1pc21hdGNoICBJbmRpY2F0ZXMgdGhhdCB0
aGUgV0tVc2VyQ29udGVudFJ1bGVMaXN0IHZlcnNpb24gZGlkIG5vdCBtYXRjaCB0aGUgbGF0ZXN0
LgorIEBjb25zdGFudCBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xvYWQg
IEluZGljYXRlcyB0aGF0IHRoZSBhdHRyaWJ1dGVkIHN0cmluZyBjb250ZW50IGZhaWxlZCB0byBs
b2FkLgorIEBjb25zdGFudCBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRP
dXQgIEluZGljYXRlcyB0aGF0IGxvYWRpbmcgYXR0cmlidXRlZCBzdHJpbmcgY29udGVudCB0aW1l
ZCBvdXQuCiAgKi8KIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRXJyb3JDb2RlKSB7CiAg
ICAgV0tFcnJvclVua25vd24gPSAxLApAQCAtNTQsNiArNTYsOCBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBXS0Vycm9yQ29kZSkgewogICAgIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9y
ZUxvb2tVcEZhaWxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSks
CiAgICAgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKSwKICAgICBXS0Vycm9yQ29udGVudFJ1bGVM
aXN0U3RvcmVWZXJzaW9uTWlzbWF0Y2ggV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBp
b3MoMTEuMCkpLAorICAgIFdLRXJyb3JBdHRyaWJ1dGVkU3RyaW5nQ29udGVudEZhaWxlZFRvTG9h
ZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwK
KyAgICBXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSksCiB9IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEwKSwgaW9zKDguMCkpOwogCiBOU19BU1NVTUVfTk9OTlVMTF9F
TkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9y
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW0KaW5kZXgg
ZmNiZmM0ZDkzYWU5Yzg1YTM1YWM4Y2YzN2U1MTJjZTNlNTg1N2EwMS4uMzZlMWY0YmQ2ODkxZTg5
MDIxYjM1YjFmOGJiOGIzYTA0YWY3NThkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRXJyb3IubW0KQEAgLTY3LDEyICs2NywyMiBAQCBOU1N0cmluZyAqbG9jYWxp
emVkRGVzY3JpcHRpb25Gb3JFcnJvckNvZGUoV0tFcnJvckNvZGUgZXJyb3JDb2RlKQogCiAgICAg
Y2FzZSBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQ6CiAgICAgICAgIHJl
dHVybiBXRUJfVUlfU1RSSU5HKCJSZW1vdmluZyBhIFdLQ29udGVudFJ1bGVMaXN0IGZhaWxlZCIs
ICJXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQgZGVzY3JpcHRpb24iKTsK
KworICAgIGNhc2UgV0tFcnJvckF0dHJpYnV0ZWRTdHJpbmdDb250ZW50RmFpbGVkVG9Mb2FkOgor
ICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiQXR0cmlidXRlZCBzdHJpbmcgY29udGVudCBm
YWlsZWQgdG8gbG9hZCIsICJXS0Vycm9yQXR0cmlidXRlZFN0cmluZ0NvbnRlbnRGYWlsZWRUb0xv
YWQgZGVzY3JpcHRpb24iKTsKKworICAgIGNhc2UgV0tFcnJvckF0dHJpYnV0ZWRTdHJpbmdDb250
ZW50TG9hZFRpbWVkT3V0OgorICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiVGltZWQgb3V0
IHdoaWxlIGxvYWRpbmcgYXR0cmlidXRlZCBzdHJpbmcgY29udGVudCIsICJXS0Vycm9yQXR0cmli
dXRlZFN0cmluZ0NvbnRlbnRMb2FkVGltZWRPdXQgZGVzY3JpcHRpb24iKTsKICAgICB9CiB9CiAK
LVJldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlIGVycm9yQ29kZSkK
K1JldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlIGVycm9yQ29kZSwg
TlNFcnJvciogdW5kZXJseWluZ0Vycm9yKQogewotICAgIGF1dG8gdXNlckluZm8gPSBhZG9wdE5T
KFtbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRLZXlzOmxvY2FsaXplZERl
c2NyaXB0aW9uRm9yRXJyb3JDb2RlKGVycm9yQ29kZSksIE5TTG9jYWxpemVkRGVzY3JpcHRpb25L
ZXksIG5pbF0pOworICAgIE5TRGljdGlvbmFyeSAqdXNlckluZm8gPSBuaWw7CisgICAgaWYgKHVu
ZGVybHlpbmdFcnJvcikKKyAgICAgICAgdXNlckluZm8gPSBAeyBOU0xvY2FsaXplZERlc2NyaXB0
aW9uS2V5OiBsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShlcnJvckNvZGUpLCBOU1Vu
ZGVybHlpbmdFcnJvcktleTogdW5kZXJseWluZ0Vycm9yIH07CisgICAgZWxzZQorICAgICAgICB1
c2VySW5mbyA9IEB7IE5TTG9jYWxpemVkRGVzY3JpcHRpb25LZXk6IGxvY2FsaXplZERlc2NyaXB0
aW9uRm9yRXJyb3JDb2RlKGVycm9yQ29kZSkgfTsKIAotICAgIHJldHVybiBhZG9wdE5TKFtbTlNF
cnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOmVycm9yQ29kZSB1
c2VySW5mbzp1c2VySW5mby5nZXQoKV0pOworICAgIHJldHVybiBhZG9wdE5TKFtbTlNFcnJvciBh
bGxvY10gaW5pdFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOmVycm9yQ29kZSB1c2VySW5m
bzp1c2VySW5mb10pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLRXJyb3JJbnRlcm5hbC5oCmluZGV4IDI2MWUyZTk5NjFhMzI1NDA2YjIxZTFhMDAzN2Jj
MDk5OGZkYjIxNzUuLjExYmQxZjVkMjI3NDMyMjA5ZGFjMDgxYTZlYjIyZmNjODQzNjFkNzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9ySW50ZXJu
YWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVy
bmFsLmgKQEAgLTI4LDUgKzI4LDUgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBv
cnQgIkdlbmVyaWNDYWxsYmFjay5oIgogCi1SZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJv
cihXS0Vycm9yQ29kZSk7CitSZXRhaW5QdHI8TlNFcnJvcj4gY3JlYXRlTlNFcnJvcihXS0Vycm9y
Q29kZSwgTlNFcnJvciogdW5kZXJseWluZ0Vycm9yID0gbmlsKTsKIE5TU3RyaW5nICpsb2NhbGl6
ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShXS0Vycm9yQ29kZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZTM5NjdmMTEzNTVkMjMx
NjlmYzUzN2Y4NGU4NmI3N2U2ZTFhMjc5Li5hNmY5MmYwMTZkNjEzZDBkNjJiNGZmNjRlMDk3ODAw
OWMwMGUyMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM4NSw2ICszODUsOCBAQAogCQkxQzBBMTk1NzFDOTAwNjhGMDBGRTBFQkIg
LyogV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NTUxQzkwMDY4RjAwRkUwRUJC
IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUMw
QTE5NTgxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMEExOTU2MUM5
MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VzLmggKi87IH07CiAJ
CTFDMEExOTVDMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5U2Ny
aXB0U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQzBBMTk1QjFDOTE2RTFCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNj
cmlwdFNvdXJjZS5oICovOyB9OworCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRy
aWJ1dGVkU3RyaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzIwOTM1RTIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUMyMTg0MDIy
MjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMjE4NDAxMjIzMzg3MjgwMEJB
QzcwMCAvKiBOU0F0dHJpYnV0ZWRTdHJpbmdQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM4OTFENjYxOUIxMjRGRjAwQkE3OUREIC8q
IFdlYkluc3BlY3RvclVJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQzg5MUQ2MzE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCAqLzsg
fTsKIAkJMUM4RTI4MjAxMjc1RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MUUxMjc1RDE1NDAw
QkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oICovOyB9OwogCQkxQzhFMjgzNDEyNzVENzM4MDBCQzdC
RDAgLyogV2ViSW5zcGVjdG9yUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDOEUyODMyMTI3NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQ
cm94eS5oICovOyB9OwpAQCAtMjM5Niw2ICsyMzk4LDkgQEAKIAkJMUMwQTE5NTkxQzkwMDZFQTAw
RkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dG9t
YXRpb25TZXNzaW9uLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzBBMTk1QTFDOTE2Njk1MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuamF2YXNjcmlwdDsgcGF0aCA9IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMEExOTVCMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJB
dXRvbWF0aW9uU2Vzc2lvblByb3h5U2NyaXB0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHlTY3JpcHRTb3VyY2UuaDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlw
dFNvdXJjZS5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxQzIwOTM1
RTIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5TQXR0cmlidXRlZFN0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzIw
OTM1RjIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTlNBdHRyaWJ1dGVkU3RyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzIxODQwMTIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJp
dmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0F0dHJpYnV0ZWRTdHJp
bmdQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzdDMTk1MTI4OEE4
NzIwMDZBNzQyRiAvKiBXZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBXZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUM4OTFENjIxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJ
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvclVJ
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4OTFENjMxOUIxMjRGRjAwQkE3
OUREIC8qIFdlYkluc3BlY3RvclVJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkluc3BlY3RvclVJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTM3LDYg
KzYxNDIsOSBAQAogCQkJCUZFRDNDMURBMUI0NDdBRTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSAqLywKIAkJCQkxQTM2MzVBQjFBMzE0NUU1MDBFRDYxOTcgLyog
QVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tICovLAogCQkJCTFBRkRFNjQzMTk1MTBCNTUwMEM0
OEZGQSAvKiBMZWdhY3lCdW5kbGVGb3JDbGFzcy5tbSAqLywKKwkJCQkxQzIwOTM1RTIyMzE4Q0Iw
MDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi8sCisJCQkJMUMyMDkzNUYyMjMxOENC
MDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5tbSAqLywKKwkJCQkxQzIxODQwMTIyMzM4
NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oICovLAogCQkJCTM3QzRD
MDhCMTgxNEFDNUMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovLAogCQkJCTM3QzRD
MDhBMTgxNEFDNUMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5tbSAqLywKIAkJCQkzN0M0
QzA4RTE4MTRBRjNBMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJbnRlcm5hbC5oICovLApA
QCAtOTI4Nyw2ICs5Mjk1LDggQEAKIAkJCQkxQTIxNjFCMDExRjM3NjY0MDA4QUQwRjUgLyogTlBS
dW50aW1lT2JqZWN0TWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIxNjJCMTExRjM4OTcxMDA4
QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTJEODRB
MzEyN0Y2QUQxMDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MUMyMDkzNjAyMjMxOENCMDAwMDI2QTM5IC8qIE5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMUMyMTg0MDIyMjMzODcyODAwQkFDNzAwIC8qIE5TQXR0cmlidXRlZFN0cmlu
Z1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NTRENTQ1MUIzQTI5RkQwMDNBNEM3RiAv
KiBOU0ludm9jYXRpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOEFDQTEzMTY2NzBEODkw
MDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGguaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QjQ3RTJE
MUQ2NERCNzYwMDVGNEVGRiAvKiBvYmpjU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQpp
bmRleCBiZDg3YmZlMDczOGQ5OGUwNDM5M2FjNzEwMThjYTY2MmY4MTg4Y2JiLi4xNmYzZmE4MjM0
N2IyZmY3N2M4Yzc3ZmZjYmM2OGI3YmVlMmVjOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC0yMDgsNiAr
MjA4LDEwIEBAIHZvaWQgV2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHJpbmcoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBBdHRyaWJ1CiAgICAgRnJhbWUmIGZyYW1lID0gbV9w
YWdlLT5tYWluRnJhbWUoKTsKIAogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBUZXh0SXRlcmF0
b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKGZyYW1lLmRvY3VtZW50KCktPmRvY3VtZW50
RWxlbWVudCgpLCAwLCBJTlRfTUFYKTsKKyAgICBpZiAoIXJhbmdlKSB7CisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKHsgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBOU0RpY3Rp
b25hcnkqIGRvY3VtZW50QXR0cmlidXRlcyA9IG5pbDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>