<?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>90819</bug_id>
          
          <creation_ts>2012-07-09 13:56:18 -0700</creation_ts>
          <short_desc>Update Media Source to the new OO design</short_desc>
          <delta_ts>2017-07-18 08:29:53 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91649</dependson>
    
    <dependson>91771</dependson>
    
    <dependson>91773</dependson>
    
    <dependson>91775</dependson>
    
    <dependson>93285</dependson>
    
    <dependson>93302</dependson>
    
    <dependson>93303</dependson>
    
    <dependson>93406</dependson>
          <blocked>80583</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anna Cavender">annacc</reporter>
          <assigned_to name="Anna Cavender">annacc</assigned_to>
          <cc>abarth</cc>
    
    <cc>acolwell</cc>
    
    <cc>ddorwin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>syoichi</cc>
    
    <cc>vestbo</cc>
    
    <cc>vrk</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>665139</commentid>
    <comment_count>0</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-09 13:56:18 -0700</bug_when>
    <thetext>The Media Source spec is changing to a more Object Oriented design and introducing separate objects: MediaSource, SourceBuffer, and SourceBufferList:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17082

This uber-bug will track the WebKit changes needed to implement those changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669342</commentid>
    <comment_count>1</comment_count>
      <attachid>152320</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-13 12:36:11 -0700</bug_when>
    <thetext>Created attachment 152320
Patch for discussion/reference only - not intended for review/commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669357</commentid>
    <comment_count>2</comment_count>
      <attachid>152320</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-13 12:58:04 -0700</bug_when>
    <thetext>Comment on attachment 152320
Patch for discussion/reference only - not intended for review/commit

I have a few questions inline.  Also, what is the best way handle the webkit- prefix for the new objects?

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

&gt; Source/WebCore/Modules/mediasource/MediaSource.h:100
&gt; +    MediaPlayer* m_player; // &lt;-- should this be a RefPtr?

Should we go ahead and make MediaPlayer RefCounted so that this can be a RefPtr (and also make HTMLMediaElement&apos;s m_player a RefPtr instead of an OwnPtr)?

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:13971
&gt; +				B1EF1A3515A3A1F4001682A6 /* MediaSource.cpp */,

I have never figured out how to properly add new files to xcode project files and I&apos;m sure this is not the right way.  Pointers please!

&gt; Source/WebCore/html/HTMLMediaElement.cpp:4287
&gt; +        m_mediaSource-&gt;setMediaPlayer(m_player.get());

This seems a little suspect.  Other ideas how to handle this case?

&gt; Source/WebCore/html/HTMLMediaElement.h:599
&gt; +    RefPtr&lt;MediaSource&gt; m_mediaSource;

Should this be OwnPtr?

&gt; LayoutTests/http/tests/media/media-source/media-source.js:280
&gt; +        if (videoTag.networkState != HTMLMediaElement.NETWORK_LOADING &amp;&amp;

This check was added to ensure that the video element is in an appropriate state when the webkitsoureopen event is fired.  Because webkitsourceopen and loadstart are now on two different objects, we can&apos;t guarantee the order with which they will be fired. So, I&apos;ve removed waitForEvent(loadstart) from all of the media-source LayoutTests and added this additional check here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669364</commentid>
    <comment_count>3</comment_count>
      <attachid>152322</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-13 13:13:18 -0700</bug_when>
    <thetext>Created attachment 152322
Updating to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669675</commentid>
    <comment_count>4</comment_count>
      <attachid>152322</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-07-13 19:12:42 -0700</bug_when>
    <thetext>Comment on attachment 152322
Updating to ToT

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

Here are my initial comments on the C++ changes. Overall I think this is looking pretty good. I&apos;ll review LayoutTest changes next week.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:61
&gt; +        return SourceBufferList::create(scriptExecutionContext()).get();

Why create a new SourceBufferList in this case instead of just returning m_sourceBuffers? Say someone wants to attach event handlers to the list before the source is opened. I think if they try that they&apos;ll never get the events when the source is opened and new SourceBuffers are added.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:115
&gt; +    if (!m_sourceBuffers-&gt;remove(buffer)) {

You should probably add a clear() method on SourceBuffer to clear the reference to this MediaSource so that it can&apos;t be used once it is removed.

&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:45
&gt; +        // readonly attribute SourceBufferList activeSourceBuffers;

For now we could assume that if the MediaPlayer accepts the new source it is considered active. Once we have the ability to select tracks, we could add the infrastructure to signal when SourceBuffers should be added/removed from this list.

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:44
&gt; +    , m_type(type)

It doesn&apos;t look like you use m_type anywhere so I think it can be removed.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:79
&gt; +        createAndFireEvent(eventNames().webkitremovesourcebufferEvent);

This won&apos;t cause JavaScript to run while in this loop right?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:149
&gt;  static const char* mediaSourceURLProtocol = &quot;x-media-source&quot;;

I think this patch should also rip out the old code. I don&apos;t think there is a good reason to keep both versions of the API in place at the same time.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:937
&gt; +        m_mediaSource = adoptRef(MediaSourceRegistry::registry().lookupMediaSource(url.string()));

If m_mediaSource is already set, will this cause a closed event to fire on the old object? At a minimum I think you&apos;ll need to have the old object release its reference to MediaPlayer so the old source can&apos;t mess with playback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671348</commentid>
    <comment_count>5</comment_count>
      <attachid>152322</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-17 10:08:32 -0700</bug_when>
    <thetext>Comment on attachment 152322
Updating to ToT

Thanks for the speedy feedback!!

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

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:61
&gt;&gt; +        return SourceBufferList::create(scriptExecutionContext()).get();
&gt; 
&gt; Why create a new SourceBufferList in this case instead of just returning m_sourceBuffers? Say someone wants to attach event handlers to the list before the source is opened. I think if they try that they&apos;ll never get the events when the source is opened and new SourceBuffers are added.

Good call.  Fixed.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:115
&gt;&gt; +    if (!m_sourceBuffers-&gt;remove(buffer)) {
&gt; 
&gt; You should probably add a clear() method on SourceBuffer to clear the reference to this MediaSource so that it can&apos;t be used once it is removed.

Very good point.  I originally thought the RefPtr would take care of that but forgot that JS could have a handle on the SourceBuffer object.  Thanks!  I put the call to clear in SourceBufferList::remove()

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:45
&gt;&gt; +        // readonly attribute SourceBufferList activeSourceBuffers;
&gt; 
&gt; For now we could assume that if the MediaPlayer accepts the new source it is considered active. Once we have the ability to select tracks, we could add the infrastructure to signal when SourceBuffers should be added/removed from this list.

OK.  I&apos;ll make activeSourceBuffers just return sourceBuffers for now.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:44
&gt;&gt; +    , m_type(type)
&gt; 
&gt; It doesn&apos;t look like you use m_type anywhere so I think it can be removed.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:79
&gt;&gt; +        createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
&gt; 
&gt; This won&apos;t cause JavaScript to run while in this loop right?

I&apos;m not sure what you mean.  The events should be dispatched one by one during the loop.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:149
&gt;&gt;  static const char* mediaSourceURLProtocol = &quot;x-media-source&quot;;
&gt; 
&gt; I think this patch should also rip out the old code. I don&apos;t think there is a good reason to keep both versions of the API in place at the same time.

OK.  Done.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:937
&gt;&gt; +        m_mediaSource = adoptRef(MediaSourceRegistry::registry().lookupMediaSource(url.string()));
&gt; 
&gt; If m_mediaSource is already set, will this cause a closed event to fire on the old object? At a minimum I think you&apos;ll need to have the old object release its reference to MediaPlayer so the old source can&apos;t mess with playback.

Good thinking.  Added a check here and set an already existing m_mediaSource to &quot;closed&quot;, which will release its reference to the MediaPlayer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671350</commentid>
    <comment_count>6</comment_count>
      <attachid>152776</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-17 10:13:12 -0700</bug_when>
    <thetext>Created attachment 152776
revised with acolwell suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671374</commentid>
    <comment_count>7</comment_count>
      <attachid>152776</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-17 10:42:40 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

Attachment 152776 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13279185</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671378</commentid>
    <comment_count>8</comment_count>
      <attachid>152776</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 10:44:46 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

Attachment 152776 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13275207</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671433</commentid>
    <comment_count>9</comment_count>
      <attachid>152776</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-07-17 11:29:42 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

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

This is looking pretty good to me. eric.carlson probably needs to start chiming in at this point.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:66
&gt; +    return m_sourceBuffers.get();

Eventhough these lists will contain the same objects right now, I think we should still have different list objects so that you can&apos;t add an event handler to sourceBuffers() and remove it from activeSourceBuffers(). I believe that would be possible with this code.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:96
&gt; +    RefPtr&lt;SourceBuffer&gt; buffer = SourceBuffer::create(String::number(++m_nextSourceBufferId));

Could this be moved into the MediaPlayer::Ok case and the MediaSource be passed to SourceBuffer::create() so we don&apos;t need setMediaSource()?

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:119
&gt; +

I think you need a return 0 here.

&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:57
&gt; +        attribute EventListener onwebkitsourceopen;

This and the 2 below should be removed. onwebkitsourceXXX attributes were removed from the spec. I think the DEFINE_ATTRIBUTE_EVENT_LISTENER() can be removed from the .h file as well.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.h:60
&gt; +    DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitaddsourcebuffer);

I believe these can be removed since the onxxx attributes were removed from the spec.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.idl:43
&gt; +        attribute EventListener onwebkitaddsourcebuffer;

please remove.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:933
&gt; +            mediaLoadingFailed(MediaPlayer::FormatError);

I don&apos;t think this is quite right. It is possible to have blob: URLs that are not MediaSource related. WebRTC local camera preview is one example. I believe the correct thing to do is just drop this else block. You might want to test with other types of blob: URLs just to make sure.

&gt; LayoutTests/http/tests/media/media-source/media-source.js:3
&gt; +var sourceBuffer = null;

I think sourceBuffer should be a member of SegmentHelper and all references converted to this.sourceBuffer. I also think you should be able to remove this.SourceID now since the API doesn&apos;t use source IDs.

&gt; LayoutTests/http/tests/media/media-source/media-source.js:128
&gt;      this.videoTag.webkitSourceAddId(this.SourceID, this.segmentInfo.type);

Can this addSourceId() method go away?

&gt; LayoutTests/http/tests/media/media-source/media-source.js:148
&gt; +    if (!sourceBuffer.append) {

I think this should be !this.sourceBuffer since this check is just here to make sure that the MediaSource API is present. sourceBuffer should be null if that was the case.

&gt; LayoutTests/http/tests/media/media-source/video-media-source-abort.html:20
&gt; +                    sourceBuffer.append(partialInitSegment);

I think calls like this should be converted to segmentHelper.sourceBuffer.append(). same goes for abort()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671826</commentid>
    <comment_count>10</comment_count>
      <attachid>152776</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-17 18:03:30 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

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

In my humble opinion, there are a little nits. Please take a look them.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Convert Media Source to new object-oriented API

Bug title is different from this bug.

&gt; Source/WebCore/GNUmakefile.list.am:1173
&gt; +  Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp \

Nit : wrong indentation.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:236
&gt; +     if (!m_player-&gt;sourceAppend(id, data-&gt;data(), data-&gt;length())) {

Nit : wrong indentation.

&gt; Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp:2
&gt; + * Copyright (C) 2011 Google Inc. All rights reserved.

2011 -&gt; 2012 ?

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:35
&gt; +#include &quot;SourceBuffer.h&quot;

It seems header file of implementation file is just placed below #include &quot;config.h&quot; generally.

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:67
&gt; +    SourceBuffer(const String&amp; id);

Don&apos;t you need to use *explicit* keyword as well ?

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:35
&gt; +#include &quot;SourceBufferList.h&quot;

ditto.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.h:35
&gt; +

Nit : There is an unneeded line.

&gt; Source/WebCore/dom/EventTarget.h:60
&gt; +    class MediaSource;

Nit : wrong alphabetical order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672560</commentid>
    <comment_count>11</comment_count>
      <attachid>152776</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-07-18 11:23:48 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        New Objects:
&gt; +        * Modules/mediasource/MediaSource.cpp: Added.

I don&apos;t think it is necessary to list the method names of newly added files.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:65
&gt; +    // TODO(): support track selection

We usually use &quot;FIXME:&quot;. I think it is also worth filing a bug and listing the number in the comment.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:72
&gt; +    // 1. If type is null or an empty then throw an INVALID_ACCESS_ERR exception and
&gt; +    // abort these steps.

If this is a comment from the spec, please make that clear by including a link to the appropriate section of the spec. Here and throughout the rest of the patch.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:149
&gt; +    // 4. Remove track information from audioTracks, videoTracks, and textTracks for all tracks associated with sourceBuffer and fire a simple event named change on the modified lists.
&gt; +
&gt; +    // 5. If sourceBuffer is in activeSourceBuffers, then remove it from that list and fire a removesourcebuffer event on that object.

Please include FIXMEs with bug numbers for unimplemented steps.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:157
&gt; +void MediaSource::setState(const String&amp; state)

Why &quot;setState&quot; instead of &quot;setReadyState&quot;?

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:164
&gt; +    String oldState = m_readyState;
&gt; +    m_readyState = state;
&gt; +
&gt; +    if (m_readyState == oldState)
&gt; +        return;

Nit: why update m_readyState if it does not change?

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:169
&gt; +        dispatchEvent(Event::create(eventNames().webkitsourcecloseEvent, false, true));

Does the spec really call for synchronous event dispatch? If so, you are going to have to add a bunch of code to guard against bad things happening when an event listener does something causes reentrancy.

&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:50
&gt; +        //enum State { &quot;closed&quot;, &quot;open&quot;, &quot;ended&quot; };
&gt; +        //readonly attribute State readyState;

Why are these commented out?

&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:53
&gt; +        // enum EndOfStreamError { &quot;network&quot;, &quot;decode&quot; };

Ditto.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:81
&gt; +    for (size_t i = 0; i &lt; m_list.size(); ++i)
&gt; +        createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
&gt; +    m_list.clear();

Is there any reason to not call In SourceBufferList::remove? If so, it seems like the behavior here should at least be equivalent to what it does: remove the buffer from the list, call buffer-&gt;clear(), and then fire the event. Currently this will fire the &apos;removesourcebuffer&apos; events while the buffers are still in the list.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:89
&gt; +    EventTarget::dispatchEvent(event);

Synchronous dispatch?

&gt; Source/WebCore/html/DOMURL.cpp:68
&gt; +    // Since WebWorkers cannot obtain MediaSource objects, we should be on the main thread.
&gt; +    ASSERT(isMainThread());

Shouldn&apos;t this be the first thing checked?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:922
&gt; +    // If this is a media source URL, fetch the media source from the blob url.

This comment just describes what the code does. It should be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673721</commentid>
    <comment_count>12</comment_count>
      <attachid>152776</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-19 11:24:29 -0700</bug_when>
    <thetext>Comment on attachment 152776
revised with acolwell suggestions

Thanks everyone for the feedback!  I&apos;ll upload a patch to address your suggestions, just for your reference, but I&apos;ll be splitting this patch into 3 smaller ones coming up shortly.

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Convert Media Source to new object-oriented API
&gt; 
&gt; Bug title is different from this bug.

Done.

&gt;&gt; Source/WebCore/ChangeLog:22
&gt;&gt; +        * Modules/mediasource/MediaSource.cpp: Added.
&gt; 
&gt; I don&apos;t think it is necessary to list the method names of newly added files.

Done.

&gt;&gt; Source/WebCore/GNUmakefile.list.am:1173
&gt;&gt; +  Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp \
&gt; 
&gt; Nit : wrong indentation.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:65
&gt;&gt; +    // TODO(): support track selection
&gt; 
&gt; We usually use &quot;FIXME:&quot;. I think it is also worth filing a bug and listing the number in the comment.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:66
&gt;&gt; +    return m_sourceBuffers.get();
&gt; 
&gt; Eventhough these lists will contain the same objects right now, I think we should still have different list objects so that you can&apos;t add an event handler to sourceBuffers() and remove it from activeSourceBuffers(). I believe that would be possible with this code.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:72
&gt;&gt; +    // abort these steps.
&gt; 
&gt; If this is a comment from the spec, please make that clear by including a link to the appropriate section of the spec. Here and throughout the rest of the patch.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:96
&gt;&gt; +    RefPtr&lt;SourceBuffer&gt; buffer = SourceBuffer::create(String::number(++m_nextSourceBufferId));
&gt; 
&gt; Could this be moved into the MediaPlayer::Ok case and the MediaSource be passed to SourceBuffer::create() so we don&apos;t need setMediaSource()?

Sure.  Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:119
&gt;&gt; +
&gt; 
&gt; I think you need a return 0 here.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:149
&gt;&gt; +    // 5. If sourceBuffer is in activeSourceBuffers, then remove it from that list and fire a removesourcebuffer event on that object.
&gt; 
&gt; Please include FIXMEs with bug numbers for unimplemented steps.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:157
&gt;&gt; +void MediaSource::setState(const String&amp; state)
&gt; 
&gt; Why &quot;setState&quot; instead of &quot;setReadyState&quot;?

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:164
&gt;&gt; +        return;
&gt; 
&gt; Nit: why update m_readyState if it does not change?

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:169
&gt;&gt; +        dispatchEvent(Event::create(eventNames().webkitsourcecloseEvent, false, true));
&gt; 
&gt; Does the spec really call for synchronous event dispatch? If so, you are going to have to add a bunch of code to guard against bad things happening when an event listener does something causes reentrancy.

No, that was a mistake.  I will change all dispatching to be non-cancelable.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:236
&gt;&gt; +     if (!m_player-&gt;sourceAppend(id, data-&gt;data(), data-&gt;length())) {
&gt; 
&gt; Nit : wrong indentation.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:50
&gt;&gt; +        //readonly attribute State readyState;
&gt; 
&gt; Why are these commented out?

I just wanted to document what is in the spec even though it won&apos;t appear in the IDL.  I&apos;ll remove them.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:53
&gt;&gt; +        // enum EndOfStreamError { &quot;network&quot;, &quot;decode&quot; };
&gt; 
&gt; Ditto.

Ditto.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.idl:57
&gt;&gt; +        attribute EventListener onwebkitsourceopen;
&gt; 
&gt; This and the 2 below should be removed. onwebkitsourceXXX attributes were removed from the spec. I think the DEFINE_ATTRIBUTE_EVENT_LISTENER() can be removed from the .h file as well.

Oops thanks.  Done.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp:2
&gt;&gt; + * Copyright (C) 2011 Google Inc. All rights reserved.
&gt; 
&gt; 2011 -&gt; 2012 ?

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:35
&gt;&gt; +#include &quot;SourceBuffer.h&quot;
&gt; 
&gt; It seems header file of implementation file is just placed below #include &quot;config.h&quot; generally.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:67
&gt;&gt; +    SourceBuffer(const String&amp; id);
&gt; 
&gt; Don&apos;t you need to use *explicit* keyword as well ?

Yes, but I&apos;ve added a another parameter to the constructor, so not needed anymore.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:35
&gt;&gt; +#include &quot;SourceBufferList.h&quot;
&gt; 
&gt; ditto.

done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:81
&gt;&gt; +    m_list.clear();
&gt; 
&gt; Is there any reason to not call In SourceBufferList::remove? If so, it seems like the behavior here should at least be equivalent to what it does: remove the buffer from the list, call buffer-&gt;clear(), and then fire the event. Currently this will fire the &apos;removesourcebuffer&apos; events while the buffers are still in the list.

Good catch, calling remove instead.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:89
&gt;&gt; +    EventTarget::dispatchEvent(event);
&gt; 
&gt; Synchronous dispatch?

I think I&apos;ve addressed this by making the event non-cancelable.  Is that correct?

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.h:35
&gt;&gt; +
&gt; 
&gt; Nit : There is an unneeded line.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.h:60
&gt;&gt; +    DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitaddsourcebuffer);
&gt; 
&gt; I believe these can be removed since the onxxx attributes were removed from the spec.

Done.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.idl:43
&gt;&gt; +        attribute EventListener onwebkitaddsourcebuffer;
&gt; 
&gt; please remove.

Done.

&gt;&gt; Source/WebCore/dom/EventTarget.h:60
&gt;&gt; +    class MediaSource;
&gt; 
&gt; Nit : wrong alphabetical order.

Done.

&gt;&gt; Source/WebCore/html/DOMURL.cpp:68
&gt;&gt; +    ASSERT(isMainThread());
&gt; 
&gt; Shouldn&apos;t this be the first thing checked?

Sure.  Done.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:922
&gt;&gt; +    // If this is a media source URL, fetch the media source from the blob url.
&gt; 
&gt; This comment just describes what the code does. It should be removed.

Gone.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:933
&gt;&gt; +            mediaLoadingFailed(MediaPlayer::FormatError);
&gt; 
&gt; I don&apos;t think this is quite right. It is possible to have blob: URLs that are not MediaSource related. WebRTC local camera preview is one example. I believe the correct thing to do is just drop this else block. You might want to test with other types of blob: URLs just to make sure.

Good point, thanks.

&gt;&gt; LayoutTests/http/tests/media/media-source/media-source.js:3
&gt;&gt; +var sourceBuffer = null;
&gt; 
&gt; I think sourceBuffer should be a member of SegmentHelper and all references converted to this.sourceBuffer. I also think you should be able to remove this.SourceID now since the API doesn&apos;t use source IDs.

Done.

&gt;&gt; LayoutTests/http/tests/media/media-source/media-source.js:128
&gt;&gt;      this.videoTag.webkitSourceAddId(this.SourceID, this.segmentInfo.type);
&gt; 
&gt; Can this addSourceId() method go away?

Yep.  Gone.

&gt;&gt; LayoutTests/http/tests/media/media-source/media-source.js:148
&gt;&gt; +    if (!sourceBuffer.append) {
&gt; 
&gt; I think this should be !this.sourceBuffer since this check is just here to make sure that the MediaSource API is present. sourceBuffer should be null if that was the case.

Done.

&gt;&gt; LayoutTests/http/tests/media/media-source/video-media-source-abort.html:20
&gt;&gt; +                    sourceBuffer.append(partialInitSegment);
&gt; 
&gt; I think calls like this should be converted to segmentHelper.sourceBuffer.append(). same goes for abort()

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673722</commentid>
    <comment_count>13</comment_count>
      <attachid>153313</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-19 11:25:54 -0700</bug_when>
    <thetext>Created attachment 153313
update based on feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673756</commentid>
    <comment_count>14</comment_count>
      <attachid>153313</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-19 12:00:03 -0700</bug_when>
    <thetext>Comment on attachment 153313
update based on feedback

Attachment 153313 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13277940</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673862</commentid>
    <comment_count>15</comment_count>
      <attachid>153313</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 13:28:47 -0700</bug_when>
    <thetext>Comment on attachment 153313
update based on feedback

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

New failing tests:
http/tests/media/media-source/video-media-source-objects.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673863</commentid>
    <comment_count>16</comment_count>
      <attachid>153335</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 13:28:51 -0700</bug_when>
    <thetext>Created attachment 153335
Archive of layout-test-results from gce-cr-linux-05

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-05  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673909</commentid>
    <comment_count>17</comment_count>
      <attachid>153345</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-19 14:30:33 -0700</bug_when>
    <thetext>Created attachment 153345
win build files and layout test expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673947</commentid>
    <comment_count>18</comment_count>
      <attachid>153345</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-19 14:58:50 -0700</bug_when>
    <thetext>Comment on attachment 153345
win build files and layout test expectations

Attachment 153345 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13284990</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674003</commentid>
    <comment_count>19</comment_count>
      <attachid>153345</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 15:49:12 -0700</bug_when>
    <thetext>Comment on attachment 153345
win build files and layout test expectations

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

New failing tests:
http/tests/messaging/cross-domain-message-event-dispatch.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674004</commentid>
    <comment_count>20</comment_count>
      <attachid>153366</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 15:49:18 -0700</bug_when>
    <thetext>Created attachment 153366
Archive of layout-test-results from gce-cr-linux-02

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-02  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674021</commentid>
    <comment_count>21</comment_count>
      <attachid>153368</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-19 16:12:42 -0700</bug_when>
    <thetext>Created attachment 153368
another try at windows build files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674060</commentid>
    <comment_count>22</comment_count>
      <attachid>153368</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-19 16:46:50 -0700</bug_when>
    <thetext>Comment on attachment 153368
another try at windows build files

Attachment 153368 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13304108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674704</commentid>
    <comment_count>23</comment_count>
      <attachid>153536</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-20 10:31:41 -0700</bug_when>
    <thetext>Created attachment 153536
fix typo in vcproj file - using bots to check windows build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674793</commentid>
    <comment_count>24</comment_count>
      <attachid>153550</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-07-20 11:30:14 -0700</bug_when>
    <thetext>Created attachment 153550
testing windows build

lets see if this one applies</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152320</attachid>
            <date>2012-07-13 12:36:11 -0700</date>
            <delta_ts>2012-07-13 13:13:14 -0700</delta_ts>
            <desc>Patch for discussion/reference only - not intended for review/commit</desc>
            <filename>bug-90819-20120713123610.patch</filename>
            <type>text/plain</type>
            <size>129319</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVlZWQzODUwYTlmNDFh
OTBlZjU4ZWRkYzc3ZWFjZTc0NTU0MTdhNS4uN2NjMWM5NGUxNWVmY2Y0OTgzZjI5M2IzMTU0ZTg2
ZmJlZDBlZDIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNyBAQAorMjAxMi0wNy0xMyAgQW5u
YSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29udmVydCBNZWRp
YSBTb3VyY2UgdG8gbmV3IG9iamVjdC1vcmllbnRlZCBBUEkgKG5vdCBpbnRlbmRlZCBmb3IgY29t
bWl0IG9yIHJldmlldyAtIGZvciBkaXNjdXNzaW9uL3JlZmVyZW5jZSBvbmx5KS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODE5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoYW5nZXMgcmVmbGVj
dCB0aGUgbmV3IE1lZGlhU291cmNlIEFQSToKKyAgICAgICAgaHR0cDovL3d3dy5jb3JwLmdvb2ds
ZS5jb20vfmFjb2x3ZWxsL25vX2NyYXdsL2h0bWwtbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNv
dXJjZS5odG1sCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
KgorCisgICAgICAgIFVwZGF0ZSBidWlsZCBmaWxlcyB3aXRoIG5ldyBjbGFzc2VzOgorICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6IEFkZGVkLgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgTmV3
IE9iamVjdHM6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291
cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Ok1lZGlhU291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzb3VyY2VCdWZmZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTb3VyY2U6OnJlbW92ZVNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNvdXJjZTo6cmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZTo6c2V0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmJ1ZmZlcmVkKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2U6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpl
bmRPZlN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6aW50ZXJmYWNlTmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZXZlbnRUYXJnZXREYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKE1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU291cmNlOjpvcGVuS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6
Y2xvc2VkS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZW5kZWRLZXl3
b3JkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjp+TWVkaWFTb3VyY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnNldE1lZGlhUGxheWVyKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lz
dHJ5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVk
aWFTb3VyY2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VSZWdpc3RyeTo6dW5y
ZWdpc3Rlck1lZGlhU291cmNlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVn
aXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlUmVnaXN0cnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKE1lZGlhU291cmNlUmVnaXN0cnkpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZm
ZXI6OmJ1ZmZlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YWJvcnQpOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjppZCk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNldE1lZGlhU291cmNlKToKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpTb3VyY2VCdWZmZXJM
aXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlckxpc3Q6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJM
aXN0OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlQW5kRmlyZUV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OmludGVyZmFjZU5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpldmVudFRhcmdldERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6ZW5zdXJlRXZlbnRUYXJnZXRE
YXRhKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNvdXJjZUJ1ZmZlckxpc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6On5Tb3VyY2VCdWZmZXJMaXN0KToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsOiBBZGRlZC4KKworICAgICAg
ICBBZGRpbmcgbmV3IG9iamVjdHMsIG5ldyBldmVudHMsIGFuZCBuZXcgY29uc3RydWN0b3JzOgor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9F
dmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6
CisgICAgICAgICogaHRtbC9ET01VUkwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RE9NVVJMKToKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorCisgICAg
ICAgIEF0dGFjaGluZyBNZWRpYSBTb3VyY2Ugb2JqZWN0cyB0byBIVE1MTWVkaWFFbGVtZW50Ogor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBJ
bml0aWFsaXplIG5ldyBNZWRpYVNvdXJjZSBsb2NhbC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAiY2xvc2Vk
Ii4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6IEdl
dCBNZWRpYVNvdXJjZSBvYmplY3QgZnJvbSBibG9iIHJlZ2lzdHJ5CisgICAgICAgICAgICBsb29r
IHVwIGFuZCwgaWYgZm91bmQsIHNldCBpdCdzIE1lZGlhUGxheWVyIHBvaW50ZXIgdG8gdGhlIGN1
cnJlbnQgTWVkaWFQbGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpu
b25lU3VwcG9ydGVkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAiY2xvc2VkIi4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lRXJyb3IpOiBTZXQgc291cmNlIHN0
YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVk
aWFQbGF5ZXJTb3VyY2VPcGVuZWQpOiBTZXQgc291cmNlIHN0YXRlIHRvICJvcGVuIi4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNlZWspOiAgQ2hlY2sgaWYgc291cmNlIHN0
YXRlIGlzICJjbG9zZWQiIHRvIGluZGljYXRlIHRoYXQKKyAgICAgICAgICAgIG5vIHNlZWsgaXMg
cmVxdWlyZWQuICBJZiBzb3VyY2Ugc3RhdGUgaXMgImVuZGVkIiwgcmVvcGVuIGl0LgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0U291cmNlU3RhdGUpOiBIZWxwZXIgZnVu
Y3Rpb24gc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvCisgICAgICAgICAgICBrZWVwIGNoZWNraW5n
IGZvciBtX21lZGlhU291cmNlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
dXNlckNhbmNlbGxlZExvYWQpOiBTZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIpOiBJZiB0aGUg
Y3VycmVudCBNZWRpYVBsYXllciBpcyByZS0KKyAgICAgICAgICAgIGNyZWF0ZWQsIG5vdGlmeSB0
aGUgTWVkaWFTb3VyY2UgYW5kIHJlc2V0IGl0cyBNZWRpYVBsYXllci4KKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuaDoKKwogMjAxMi0wNy0xMyAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0NhbGxXaXRoPVhYWF0gYXJndW1lbnRzIHNob3Vs
ZCBiZSBwbGFjZWQgYXQgdGhlIGhlYWQgb2YgbWV0aG9kIGFyZ3VtZW50cwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCAwOGYwNjRhOTRlNWUyOTQyN2M3NmQxMWJhZWQ3MTQ3YjdmOTA4OGI3Li4wZWIw
OWU5YjcyYjk1ODdhZjgzNzBkMzBiMzA1M2JjMGM0ZWE3YTA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMjU1Miw2ICsyNTUyLDIzIEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICkK
IEVORElGICgpCiAKK0lGIChFTkFCTEVfTUVESUFfU09VUkNFKQorICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVz
L21lZGlhc291cmNlCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisg
ICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCisgICAgICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAorICAgICAgICBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUworICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorICAg
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisgICAgICAg
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorICAgICAgICBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCisgICAgKQorRU5ESUYoKQorCiBJRiAoRU5B
QkxFX1dFQl9BVURJTykKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICAgICAg
TW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IDZiMjg2NTUxMmY0YTg4Yzc5NjdjYjg5NDI2NDA1MTRlODBmNTczYzgu
LmUwZWNhMDg0OTYwODE2ODJjZTg4MjRiZGExZTI4ODY3N2Y1MWY0ODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtMzgzLDYgKzM4Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNZWRpYUxpc3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNl
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNlLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFT
dHJlYW1FdmVudC5jcHAgXApAQCAtNTAzLDYgKzUwNSwxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJj
ZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFyZWRXb3JrZXIuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTb3VyY2VCdWZmZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291
cmNlQnVmZmVyLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NwZWVjaElucHV0RXZlbnQuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTU3BlZWNoSW5wdXRFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU3BlZWNoSW5wdXRSZXN1bHQuY3BwIFwKQEAgLTY5Miw2ICs2OTgsOSBAQCBkb21f
YmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRp
b25DYWxsYmFjay5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlv
bkVycm9yLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJy
b3JDYWxsYmFjay5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
aWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJh
Y2suaWRsIFwKQEAgLTExNTksNiArMTE2OCwxNCBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvUGFnZUdyb3VwSW5kZXhlZERh
dGFiYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRl
eHRJbmRleGVkRGF0YWJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9Xb3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYyMGNjZWQ2NmFlZjdjNjQ3ZDk2OGJlNWE4NzAxN2VmZjJlODE4Y2YKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcApAQCAtMCwwICsxLDI0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgorCisjaW5jbHVk
ZSAiQ29udGVudFR5cGUuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRpbWVSYW5n
ZXMuaCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1Bhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IE1lZGlhU291cmNlOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlh
U291cmNlKGNvbnRleHQpKTsKK30KKworTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
cihjb250ZXh0KQorICAgICwgbV9yZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkKKyAgICAsIG1f
cGxheWVyKDApCisgICAgLCBtX25leHRTb3VyY2VCdWZmZXJJZCgwKQoreworICAgIG1fc291cmNl
QnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOworfQorCitTb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6c291cmNlQnVmZmVycygp
Cit7CisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpCisgICAgICAgIHJl
dHVybiBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5n
ZXQoKTsKKyAgICByZXR1cm4gbV9zb3VyY2VCdWZmZXJzLmdldCgpOworfQorCitTb3VyY2VCdWZm
ZXIqIE1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHko
KSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgfQorCisgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlwZSk7CisgICAgVmVjdG9y
PFN0cmluZz4gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7CisKKyAgICBpZiAoIWNvZGVj
cy5zaXplKCkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3Bl
bktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3Vy
Y2VCdWZmZXI6OmNyZWF0ZShTdHJpbmc6Om51bWJlcigrK21fbmV4dFNvdXJjZUJ1ZmZlcklkKSwg
dHlwZSk7CisKKyAgICBzd2l0Y2ggKG1fcGxheWVyLT5zb3VyY2VBZGRJZChidWZmZXItPmlkKCks
IGNvbnRlbnRUeXBlLnR5cGUoKSwgY29kZWNzKSkgeworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok9r
OgorICAgICAgICBidWZmZXItPnNldE1lZGlhU291cmNlKHRoaXMpOworICAgICAgICBtX3NvdXJj
ZUJ1ZmZlcnMtPmFkZChidWZmZXIpOworICAgICAgICByZXR1cm4gYnVmZmVyLmdldCgpOworICAg
IGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBNZWRpYVBsYXllcjo6UmVhY2hl
ZElkTGltaXQ6CisgICAgICAgIGVjID0gUVVPVEFfRVhDRUVERURfRVJSOworICAgICAgICByZXR1
cm4gMDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBNZWRp
YVNvdXJjZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWJ1ZmZlcikgeworICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5ZXIg
fHwgIW1fc291cmNlQnVmZmVycy0+bGVuZ3RoKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV9zb3VyY2VCdWZm
ZXJzLT5yZW1vdmUoYnVmZmVyKSkgeworICAgICAgICBlYyA9IE5PVF9GT1VORF9FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VSZW1vdmVJZChi
dWZmZXItPmlkKCkpKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworY29uc3Qg
U3RyaW5nJiBNZWRpYVNvdXJjZTo6cmVhZHlTdGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
cmVhZHlTdGF0ZTsKK30KKwordm9pZCBNZWRpYVNvdXJjZTo6c2V0U3RhdGUoY29uc3QgU3RyaW5n
JiBzdGF0ZSkKK3sKKyAgICBBU1NFUlQoc3RhdGUgPT0gb3BlbktleXdvcmQoKSB8fCBzdGF0ZSA9
PSBjbG9zZWRLZXl3b3JkKCkgfHwgc3RhdGUgPT0gZW5kZWRLZXl3b3JkKCkpOworICAgIFN0cmlu
ZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBtX3JlYWR5U3RhdGUgPSBzdGF0ZTsKKwor
ICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gb2xkU3RhdGUpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CisgICAgICAgIG1fc291cmNl
QnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VjbG9zZUV2ZW50LCBmYWxzZSwgdHJ1ZSkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmIChvbGRTdGF0ZSA9PSBvcGVuS2V5d29yZCgp
ICYmIG1fcmVhZHlTdGF0ZSA9PSBlbmRlZEtleXdvcmQoKSkgeworICAgICAgICBkaXNwYXRjaEV2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQsIGZh
bHNlLCB0cnVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAobV9yZWFkeVN0
YXRlID09IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VvcGVuRXZlbnQsIGZhbHNlLCB0cnVlKSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9Cit9CisKK1Bhc3NSZWZQdHI8VGltZVJhbmdlcz4gTWVkaWFT
b3VyY2U6OmJ1ZmZlcmVkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25z
dAoreworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQo
KSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisKKyAgICByZXR1cm4gbV9wbGF5ZXItPnNvdXJjZUJ1ZmZlcmVkKGlkKTsKK30KKwor
dm9pZCBNZWRpYVNvdXJjZTo6YXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8VWlu
dDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkYXRhLmdldCgp
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQo
KSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0
aCgpKSkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2U6OmFib3J0KGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5L
ZXl3b3JkKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZUFib3J0KGlkKSkKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2U6OmVuZE9mU3Ry
ZWFtKGNvbnN0IFN0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICgh
bV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlh
UGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9F
cnJvcjsKKworICAgIGlmIChlcnJvci5pc051bGwoKSB8fCBlcnJvci5pc0VtcHR5KCkpCisgICAg
ICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworICAgIGVsc2UgaWYgKGVy
cm9yID09ICJuZXR3b3JrIikKKyAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05l
dHdvcmtFcnJvcjsKKyAgICBlbHNlIGlmIChlcnJvciA9PSAiZGVjb2RlIikKKyAgICAgICAgZW9z
U3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOworICAgIGVsc2UgeworICAgICAg
ICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IHNldFN0YXRlKGVuZGVkS2V5d29yZCgpKTsKKyAgICBtX3BsYXllci0+c291cmNlRW5kT2ZTdHJl
YW0oZW9zU3RhdHVzKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYVNvdXJjZTo6aW50
ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VG
b3JNZWRpYVNvdXJjZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogTWVkaWFTb3VyY2U6
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworfQorCitFdmVudFRh
cmdldERhdGEqIE1lZGlhU291cmNlOjpldmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAm
bV9ldmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmVu
c3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWYzZTcx
ZDExOGEyMDRkN2Q4N2UxZjJhNWM2MTIzNDk2NmQwYWUwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBNZWRpYVNvdXJjZV9oCisjZGVmaW5lIE1lZGlhU291cmNlX2gKKworI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlci5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVy
LmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFTb3VyY2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxNZWRpYVNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgU3Ry
aW5nJiBvcGVuS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IFN0cmluZywgb3BlbiwgKCJvcGVuIikpOworICAgICAgICByZXR1cm4gb3BlbjsKKyAgICB9
CisKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBjbG9zZWRLZXl3b3JkKCkKKyAgICB7CisgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBjbG9zZWQsICgiY2xvc2VkIikp
OworICAgICAgICByZXR1cm4gY2xvc2VkOworICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBTdHJp
bmcmIGVuZGVkS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IFN0cmluZywgZW5kZWQsICgiZW5kZWQiKSk7CisgICAgICAgIHJldHVybiBlbmRlZDsKKyAg
ICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZSgpIHsgfQorCisgICAg
U291cmNlQnVmZmVyTGlzdCogc291cmNlQnVmZmVycygpOworCisgICAgU291cmNlQnVmZmVyKiBh
ZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJik7CisgICAg
dm9pZCByZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyKiwgRXhjZXB0aW9uQ29kZSYpOwor
CisgICAgY29uc3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdGF0
ZShjb25zdCBTdHJpbmcmKTsKKworICAgIHZvaWQgc2V0TWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIq
IHBsYXllcikgeyBtX3BsYXllciA9IHBsYXllcjsgfQorICAgIAorICAgIFBhc3NSZWZQdHI8VGlt
ZVJhbmdlcz4gYnVmZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0
OworICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8VWludDhBcnJh
eT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYWJvcnQoY29uc3QgU3RyaW5nJiBp
ZCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5nJiBl
cnJvciwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IGludGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKKwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291
bnRlZDxNZWRpYVNvdXJjZT46OmRlcmVmOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE1lZGlh
U291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFy
Z2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisKKyAgICB2aXJ0dWFs
IHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IHJlZigpOyB9CisgICAgdmlydHVhbCB2
b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IGRlcmVmKCk7IH0KKworICAgIEV2ZW50
VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKworICAgIFN0cmluZyBtX3JlYWR5U3RhdGU7
CisgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyOyAvLyA8LS0gc2hvdWxkIHRoaXMgYmUgYSBSZWZQ
dHI/CisKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gbV9zb3VyY2VCdWZmZXJzOworICAg
IGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY4ZjJkOGY4OWY4Y2ZmM2U0NDc2YTZh
ZDRhMGZjZWY0Zjk5NmMxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorbW9kdWxlIGh0
bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU09VUkNF
LAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2UsCisgICAgICAgIEV2ZW50
VGFyZ2V0LAorICAgICAgICBDb25zdHJ1Y3RvciwKKyAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dAorICAgIF0gTWVkaWFTb3VyY2UgeworICAgICAgICAvLyBBbGwgdGhlIHNv
dXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBvYmplY3QuCisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJjZUJ1ZmZlcnM7CisKKyAgICAgICAgLy8gU3Vi
c2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92aWRlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZC9l
bmFibGVkIHRyYWNrcy4KKyAgICAgICAgLy8gVE9ETzogZW5hYmxlIHRyYWNrIHNlbGVjdGlvbi4K
KyAgICAgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxpc3QgYWN0aXZlU291
cmNlQnVmZmVyczsKKworICAgICAgICBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKGluIERP
TVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3Zl
U291cmNlQnVmZmVyKGluIFNvdXJjZUJ1ZmZlciBidWZmZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKKworICAgICAgICAvL2VudW0gU3RhdGUgeyAiY2xvc2VkIiwgIm9wZW4iLCAiZW5kZWQiIH07
CisgICAgICAgIC8vcmVhZG9ubHkgYXR0cmlidXRlIFN0YXRlIHJlYWR5U3RhdGU7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVhZHlTdGF0ZTsKKyAgICAgICAgCisgICAg
ICAgIC8vIGVudW0gRW5kT2ZTdHJlYW1FcnJvciB7ICJuZXR3b3JrIiwgImRlY29kZSIgfTsKKyAg
ICAgICAgdm9pZCBlbmRPZlN0cmVhbShpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10g
RE9NU3RyaW5nIGVycm9yKQorICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworCisg
ICAgICAgIAorICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9p
ZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsK
KyAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAg
ICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYzczYWZiMTMzNWRjYjQ5YTY4ODk1MGMwYzQxZGE5ZDAxYmVlM2FlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgorCisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJNZWRp
YVNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworTWVkaWFTb3VyY2VSZWdpc3RyeSYgTWVkaWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0
cnkoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChNZWRpYVNvdXJjZVJlZ2lzdHJ5LCBpbnN0YW5jZSwgKCkpOworICAgIHJldHVybiBpbnN0
YW5jZTsKK30KKwordm9pZCBNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3Rlck1lZGlhU291cmNl
VVJMKGNvbnN0IEtVUkwmIHVybCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKQorewor
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgbV9tZWRpYVNvdXJjZXMuc2V0KHVybC5z
dHJpbmcoKSwgc291cmNlKTsKK30KKwordm9pZCBNZWRpYVNvdXJjZVJlZ2lzdHJ5Ojp1bnJlZ2lz
dGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYgdXJsKQoreworICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CisgICAgbV9tZWRpYVNvdXJjZXMucmVtb3ZlKHVybC5zdHJpbmcoKSk7Cit9CisK
K01lZGlhU291cmNlKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5Ojpsb29rdXBNZWRpYVNvdXJjZShjb25z
dCBTdHJpbmcmIHVybCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIHJldHVy
biBtX21lZGlhU291cmNlcy5nZXQodXJsKS5nZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmIwM2UzYWYxODY3ZjUw
ZTZhOGNmOTQzZTdiZWEyNmU5ZjIyYWJhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFTb3VyY2VSZWdpc3RyeV9oCisjZGVm
aW5lIE1lZGlhU291cmNlUmVnaXN0cnlfaAorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKwor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU291cmNlOworCitjbGFzcyBNZWRpYVNvdXJjZVJlZ2lz
dHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZXR1cm5zIGEgc2luZ2xlIGluc3RhbmNlIG9mIE1lZGlh
U291cmNlUmVnaXN0cnkuCisgICAgc3RhdGljIE1lZGlhU291cmNlUmVnaXN0cnkmIHJlZ2lzdHJ5
KCk7CisKKyAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIHNwZWNp
ZmllZCBtZWRpYSBzb3VyY2UuCisgICAgdm9pZCByZWdpc3Rlck1lZGlhU291cmNlVVJMKGNvbnN0
IEtVUkwmLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPik7CisgICAgdm9pZCB1bnJlZ2lzdGVyTWVk
aWFTb3VyY2VVUkwoY29uc3QgS1VSTCYpOworCisgICAgTWVkaWFTb3VyY2UqIGxvb2t1cE1lZGlh
U291cmNlKGNvbnN0IFN0cmluZyYgdXJsKTsKKworcHJpdmF0ZToKKyAgICBIYXNoTWFwPFN0cmlu
ZywgUmVmUHRyPE1lZGlhU291cmNlPiA+IG1fbWVkaWFTb3VyY2VzOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Y2Q4MGIw
MzRlZmFmZmY5ZDIzMmRkYzdiYTQzZTQwYTEyYTRkODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTAsMCAr
MSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
KyNpbmNsdWRlICJTb3VyY2VCdWZmZXIuaCIKKworI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKKyNp
bmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NvdXJj
ZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlw
ZSkKKyAgICA6IG1faWQoaWQpCisgICAgLCBtX3R5cGUodHlwZSkKKyAgICAsIG1fc291cmNlKDAp
Cit7Cit9CisKK1NvdXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcigpCit7Cit9CisKK1Bhc3NSZWZQ
dHI8VGltZVJhbmdlcz4gU291cmNlQnVmZmVyOjpidWZmZXJlZChFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBtX3NvdXJjZS0+
YnVmZmVyZWQoaWQoKSwgZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kKFBhc3NS
ZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFt
X3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFwcGVuZChpZCgpLCBkYXRhLCBlYyk7Cit9CisK
K3ZvaWQgU291cmNlQnVmZmVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAo
IW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX3NvdXJjZS0+YWJvcnQoaWQoKSwgZWMpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE5NDhjZTQ4YzMzOTFj
NTA3ODNiM2JmYWQ4MTZjN2VkOTU1ODQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTAsMCArMSw3NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgU291cmNlQnVmZmVyX2gKKyNkZWZpbmUgU291cmNlQnVmZmVyX2gKKworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
TWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGltZVJhbmdlczsKKworY2xhc3MgU291cmNlQnVmZmVy
IDogcHVibGljIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyPiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3Qg
U3RyaW5nJiB0eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VC
dWZmZXIoaWQsIHR5cGUpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXIoKTsK
KworICAgIFBhc3NSZWZQdHI8VGltZVJhbmdlcz4gYnVmZmVyZWQoRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OworCisgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNl
cHRpb25Db2RlJik7CisKKyAgICB2b2lkIGFib3J0KEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGNv
bnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisKKyAgICB2b2lkIHNldE1l
ZGlhU291cmNlKFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkgeyBtX3NvdXJjZSA9IHNv
dXJjZTsgfQorCitwcml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIGlkLCBj
b25zdCBTdHJpbmcmIHR5cGUpOworCisgICAgU3RyaW5nIG1faWQ7CisgICAgU3RyaW5nIG1fdHlw
ZTsKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2U+IG1fc291cmNlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMmI5Y2I2MThm
NTUwMTU1MjdiM2Q2OWFmMjk2ZjY5ZjdiZDlmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKQEAgLTAsMCArMSw0
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisgCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZQor
ICAgIF0gU291cmNlQnVmZmVyIHsKKworICAgICAgICAvLyBSZXR1cm5zIHRoZSB0aW1lIHJhbmdl
cyBidWZmZXJlZC4KKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgYnVmZmVy
ZWQKKyAgICAgICAgICAgIGdldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAv
LyBBcHBlbmQgc2VnbWVudCBkYXRhLgorICAgICAgICB2b2lkIGFwcGVuZChpbiBVaW50OEFycmF5
IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBBYm9ydCB0aGUgY3Vy
cmVudCBzZWdtZW50IGFwcGVuZCBzZXF1ZW5jZS4KKyAgICAgICAgdm9pZCBhYm9ydCgpIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MTAyMWM4MzQ5NDk5MzBjNDUzN2NhMjc1MzY0OGIwYWNiMzI4MzExCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNw
cApAQCAtMCwwICsxLDExMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCisKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisKKyNpbmNsdWRlICJF
dmVudC5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1NvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKKyAgICA6IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQor
eworfQorCit1bnNpZ25lZCBsb25nIFNvdXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fbGlzdC5zaXplKCk7Cit9CisKK1NvdXJjZUJ1ZmZlciogU291cmNlQnVm
ZmVyTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0g
bV9saXN0LnNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fbGlzdFtpbmRl
eF0uZ2V0KCk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyTGlzdDo6YWRkKFBhc3NSZWZQdHI8U291
cmNlQnVmZmVyPiBidWZmZXIpCit7CisgICAgbV9saXN0LmFwcGVuZChidWZmZXIpOworICAgIGNy
ZWF0ZUFuZEZpcmVFdmVudChldmVudE5hbWVzKCkud2Via2l0YWRkc291cmNlYnVmZmVyRXZlbnQp
OworfQorCitib29sIFNvdXJjZUJ1ZmZlckxpc3Q6OnJlbW92ZShTb3VyY2VCdWZmZXIqIGJ1ZmZl
cikKK3sgICAgCisgICAgc2l6ZV90IGluZGV4ID0gbV9saXN0LmZpbmQoYnVmZmVyKTsKKyAgICBp
ZiAoaW5kZXggPT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fbGlz
dC5yZW1vdmUoaW5kZXgpOworICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5hbWVzKCkud2Vi
a2l0cmVtb3Zlc291cmNlYnVmZmVyRXZlbnQpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlckxpc3Q6OmNsZWFyKCkKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fbGlzdC5zaXplKCk7ICsraSkKKyAgICAgICAgY3JlYXRlQW5kRmlyZUV2ZW50KGV2ZW50TmFt
ZXMoKS53ZWJraXRyZW1vdmVzb3VyY2VidWZmZXJFdmVudCk7CisgICAgbV9saXN0LmNsZWFyKCk7
Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnROYW1lKQoreworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpOworICAgIGV2ZW50LT5zZXRUYXJnZXQo
dGhpcyk7CisKKyAgICBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK2Nv
bnN0IEF0b21pY1N0cmluZyYgU291cmNlQnVmZmVyTGlzdDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JTb3VyY2VCdWZmZXJMaXN0
OworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBTb3VyY2VCdWZmZXJMaXN0OjpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0OworfQorCitFdmVudFRhcmdldERhdGEqIFNvdXJjZUJ1ZmZlckxpc3Q6OmV2ZW50VGFy
Z2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRU
YXJnZXREYXRhKiBTb3VyY2VCdWZmZXJMaXN0OjplbnN1cmVFdmVudFRhcmdldERhdGEoKQorewor
ICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzNzJlZTE2ZjQyNTJjNTA2YTJhODc1
MTFlZjZkOTRjMzU3ZDAxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtMCwwICsxLDg4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBTb3VyY2VCdWZmZXJMaXN0X2gKKyNkZWZpbmUgU291cmNlQnVmZmVyTGlzdF9oCisKKyNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQorCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlcjsKKworY2xhc3MgU291cmNlQnVmZmVy
TGlzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMgRXZlbnRU
YXJnZXQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKKyAgICB9Cisg
ICAgdmlydHVhbCB+U291cmNlQnVmZmVyTGlzdCgpIHsgfQorCisgICAgdW5zaWduZWQgbG9uZyBs
ZW5ndGgoKSBjb25zdDsKKyAgICBTb3VyY2VCdWZmZXIqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNv
bnN0OworCisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+KTsKKyAgICBib29s
IHJlbW92ZShTb3VyY2VCdWZmZXIqKTsKKyAgICB2b2lkIGNsZWFyKCk7CisKKyAgICAvLyBFdmVu
dFRhcmdldCBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJm
YWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNp
bmcgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0Pjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50
ZWQ8U291cmNlQnVmZmVyTGlzdD46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBF
dmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKworcHJp
dmF0ZToKKyAgICBleHBsaWNpdCBTb3VyY2VCdWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKTsKKworICAgIHZvaWQgY3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYp
OworCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsg
fQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigp
OyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCisgICAgVmVjdG9y
PFJlZlB0cjxTb3VyY2VCdWZmZXI+ID4gbV9saXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzllZGRjYWE4
ZjU0NGE0NGFmY2VkZGJmODg5YWYyM2MwYmFmMDJkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisgCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZSwKKyAgICAgICAgSW5kZXhlZEdldHRlciwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAg
ICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIFNvdXJjZUJ1ZmZlckxp
c3QgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Cisg
ICAgICAgIFNvdXJjZUJ1ZmZlciBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAg
ICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50
TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29s
ZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZl
bnRFeGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAKaW5kZXggMGRiMWI1YWVhZjJlMjIzODg2ZjUxOGUwM2U5NDJmMjI3NGExMTU4YS4uY2Ri
ZWJiMzI1MDIzNzQ2NDE1MGRmMWNiNmYzOWVlMjZmMzBkYzcyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYwLDYgKzYwLDcgQEAKICAgICAgICcuLi9Nb2R1bGVz
L2dlb2xvY2F0aW9uJywKICAgICAgICcuLi9Nb2R1bGVzL2ludGVudHMnLAogICAgICAgJy4uL01v
ZHVsZXMvaW5kZXhlZGRiJywKKyAgICAgICcuLi9Nb2R1bGVzL21lZGlhc291cmNlJywKICAgICAg
ICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMnLAogICAgICAgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKQEAgLTEwNTQsNiArMTA1
NSw3IEBACiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9maWxlc3lzdGVt
JywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2luZGV4ZWRkYicsCiAg
ICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9pbnRlbnRzJywKKyAgICAgICAg
ICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL21lZGlhc291cmNlJywKICAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICAgICAgICAg
Jy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMnLAogICAgICAgICAgICAgICAn
LS1pbmNsdWRlJywgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBiMzExMTI0N2MwNDNjNjc5YmZiNzM1NWRiMGJhZTRiNWM5MGE1NWJlLi5kMjYxMjllZGI2
NzIxNjlhZDE0NGE0NzUwOTYyZjkwZWIzZDRhNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04MjUs
NiArODI1LDkgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3VsdENhbGxiYWNrLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMuaWRsJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCcsCisgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmlkbCcsCkBAIC0xNTM1
LDYgKzE1MzgsMTQgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0
Q2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVu
dHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5o
JywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCcsCisg
ICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oJywKKyAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaCcsCisgICAg
ICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwJywKKyAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3BwJywKICAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oJywKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE1NDgy
YjcyMzBiMDQ4ZjI4ODA3ZWNlNmNjNDgzZDM3ZTgxZjVkZDkuLjkyZDAxZDdjMmFhN2YyMGYwNmNk
MGZkOWEyNWZlNDY4OWI4ZmE0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTY4LDYgKzExNTY4LDE3IEBACiAJCUIxQUQ0
RTcxMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmNwcDsgcGF0aCA9IGxvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUIx
QUQ0RTcyMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmg7IHBhdGggPSBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQjFENUVDQjQx
MzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUVGMUEzNTE1QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFTb3VyY2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3VyY2UuY3BwOyBwYXRoID0g
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxRUYxQTM2MTVBM0ExRjQwMDE2ODJBNiAvKiBNZWRpYVNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZWRpYVNvdXJjZS5oOyBwYXRoID0gTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMUVGMUEzNzE1QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFTb3VyY2UuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE1lZGlhU291cmNlLmlkbDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUVGMUEzODE1
QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcDsgcGF0aCA9IE1v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxRUYxQTM5MTVBM0ExRjQwMDE2ODJBNiAvKiBNZWRpYVNvdXJjZVJl
Z2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1lZGlhU291cmNlUmVn
aXN0cnkuaDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUVGMUEzQTE1QTNBMUY0MDAxNjgyQTYg
LyogU291cmNlQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFNvdXJjZUJ1ZmZlci5jcHA7IHBhdGggPSBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTNCMTVBM0ExRjQwMDE2
ODJBNiAvKiBTb3VyY2VCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
U291cmNlQnVmZmVyLmg7IHBhdGggPSBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUVGMUEzQzE1QTNBMUY0MDAxNjgyQTYg
LyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTb3VyY2VCdWZmZXIu
aWRsOyBwYXRoID0gTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMUVGMUEzRDE1QTNBMUY0MDAxNjgyQTYgLyogU291cmNl
QnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTb3Vy
Y2VCdWZmZXJMaXN0LmNwcDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTNFMTVBM0ExRjQw
MDE2ODJBNiAvKiBTb3VyY2VCdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFNvdXJjZUJ1ZmZlckxpc3QuaDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUVGMUEzRjE1
QTNBMUY0MDAxNjgyQTYgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gU291cmNlQnVmZmVyTGlzdC5pZGw7IHBhdGggPSBNb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlckxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEw
NTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xv
ckRpc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xv
ckRpc3RhbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzOTU3LDYgKzEz
OTY4LDE3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUIxRUYxQTM1MTVBM0ExRjQw
MDE2ODJBNiAvKiBNZWRpYVNvdXJjZS5jcHAgKi8sCisJCQkJQjFFRjFBMzYxNUEzQTFGNDAwMTY4
MkE2IC8qIE1lZGlhU291cmNlLmggKi8sCisJCQkJQjFFRjFBMzcxNUEzQTFGNDAwMTY4MkE2IC8q
IE1lZGlhU291cmNlLmlkbCAqLywKKwkJCQlCMUVGMUEzODE1QTNBMUY0MDAxNjgyQTYgLyogTWVk
aWFTb3VyY2VSZWdpc3RyeS5jcHAgKi8sCisJCQkJQjFFRjFBMzkxNUEzQTFGNDAwMTY4MkE2IC8q
IE1lZGlhU291cmNlUmVnaXN0cnkuaCAqLywKKwkJCQlCMUVGMUEzQTE1QTNBMUY0MDAxNjgyQTYg
LyogU291cmNlQnVmZmVyLmNwcCAqLywKKwkJCQlCMUVGMUEzQjE1QTNBMUY0MDAxNjgyQTYgLyog
U291cmNlQnVmZmVyLmggKi8sCisJCQkJQjFFRjFBM0MxNUEzQTFGNDAwMTY4MkE2IC8qIFNvdXJj
ZUJ1ZmZlci5pZGwgKi8sCisJCQkJQjFFRjFBM0QxNUEzQTFGNDAwMTY4MkE2IC8qIFNvdXJjZUJ1
ZmZlckxpc3QuY3BwICovLAorCQkJCUIxRUYxQTNFMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VC
dWZmZXJMaXN0LmggKi8sCisJCQkJQjFFRjFBM0YxNUEzQTFGNDAwMTY4MkE2IC8qIFNvdXJjZUJ1
ZmZlckxpc3QuaWRsICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcu
aCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICov
LAogCQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggODM2ZTYzMDhiMGRhY2Y5ZGIxZjc3NWZmZjI5
MzRmMWI3NmRmYzE4YS4uOTgzZGYyOWU4YmYyZWM3MDI3NmQ2Njg1NDUzNTljMDk0ZjZlOGRjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNTcsNiArMTU3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAogICAgIG1hY3JvKHdl
YmtpdGVuZGZ1bGxzY3JlZW4pIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0YWRkc291cmNlYnVm
ZmVyKSBcCisgICAgbWFjcm8od2Via2l0cmVtb3Zlc291cmNlYnVmZmVyKSBcCiAgICAgbWFjcm8o
d2Via2l0c291cmNlb3BlbikgXAogICAgIG1hY3JvKHdlYmtpdHNvdXJjZWVuZGVkKSBcCiAgICAg
bWFjcm8od2Via2l0c291cmNlY2xvc2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXgg
ZjM4N2U0MjczZWUyNmEyMDZiNmQ3OTk5MWRlMzJkOWRiNTVlMmE2Zi4uYTAxNGExODNlYzhkM2Vm
ZGZkNTZiMmRiNjhjODU3NjQ5YjBjNWM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAg
LTU3LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsTWVkaWFT
dHJlYW07CiAgICAgY2xhc3MgTWVkaWFDb250cm9sbGVyOwogICAgIGNsYXNzIE1lZGlhU3RyZWFt
OworICAgIGNsYXNzIE1lZGlhU291cmNlOwogICAgIGNsYXNzIE1lc3NhZ2VQb3J0OwogICAgIGNs
YXNzIE5vZGU7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOwpAQCAtNjQsNiArNjUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBj
bGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyQ29udGV4dDsKKyAgICBj
bGFzcyBTb3VyY2VCdWZmZXJMaXN0OwogICAgIGNsYXNzIFRleHRUcmFjazsKICAgICBjbGFzcyBU
ZXh0VHJhY2tDdWU7CiAgICAgY2xhc3MgV2ViU29ja2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODIxNzE3YjBkN2ZlNzY1M2FhZjNmNjVkYTM1ZWE4ZWY5
NWJkMDRlNC4uMzkyYjMwNTQ0MjQ4MTdmY2ZlMDFmMTgzMmYyYjkyNWMxYjAzYWM5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xNiw2ICsxNiw3IEBAIElE
QlZlcnNpb25DaGFuZ2VSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIEphdmFT
Y3JpcHRBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBMb2NhbE1lZGlhU3RyZWFtIGNv
bmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFDb250cm9sbGVyIGNvbmRpdGlvbmFsPVZJREVP
CitNZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIE1lZGlhU3RyZWFtIGNvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFja0xpc3QgY29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCiBNZXNzYWdlUG9ydApAQCAtMjYsNiArMjcsNyBAQCBQZWVyQ29ubmVjdGlvbjAw
IGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogUGVyZm9ybWFuY2UgY29uZGl0aW9uYWw9V0VCX1RJ
TUlORwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJTCiBTaGFyZWRXb3Jr
ZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJTCitTb3VyY2VCdWZmZXJMaXN0IGNv
bmRpdGlvbmFsPU1FRElBX1NPVVJDRQogU3BlZWNoUmVjb2duaXRpb24gY29uZGl0aW9uYWw9U0NS
SVBURURfU1BFRUNICiBTVkdFbGVtZW50SW5zdGFuY2UgY29uZGl0aW9uYWw9U1ZHCiBUZXh0VHJh
Y2sgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAppbmRleCA0Zjk3
ODBkY2Q2YjMzNDc2Mzk4YmI0YzY4YjQ5OGU1Y2IwOTkxOTk3Li4xZDcxOTBlNjljOTNkNzYwOWI4
NmRiMWI1MDdjZWRmNzI2MTVjYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCkBAIC00Miw2ICs0
MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3Vy
Y2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCisjZW5kaWYKKwogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCkBAIC00OSw2ICs1NCwyNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorU3RyaW5nIERPTVVSTDo6Y3JlYXRl
T2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IE1lZGlhU291cmNlKiBzb3VyY2UpCit7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0
IHx8ICFzb3VyY2UpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIEtVUkwgcHVibGlj
VVJMID0gQmxvYlVSTDo6Y3JlYXRlUHVibGljVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNl
Y3VyaXR5T3JpZ2luKCkpOworICAgIGlmIChwdWJsaWNVUkwuaXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CisKKyAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4g
TWVkaWFTb3VyY2Ugb2JqZWN0cywgd2Ugc2hvdWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgTWVkaWFTb3VyY2VSZWdpc3RyeTo6cmVn
aXN0cnkoKS5yZWdpc3Rlck1lZGlhU291cmNlVVJMKHB1YmxpY1VSTCwgc291cmNlKTsKKyAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5wdWJsaWNVUkxNYW5hZ2VyKCkuc3RyZWFtVVJMcygpLmFk
ZChwdWJsaWNVUkwuc3RyaW5nKCkpOworCisgICAgcmV0dXJuIHB1YmxpY1VSTC5zdHJpbmcoKTsK
K30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFN0cmluZyBET01VUkw6OmNy
ZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBNZWRpYVN0cmVhbSogc3RyZWFtKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKaW5kZXggMjVhZTAx
M2ViMGE4YTEwYmM0MzMzYTBiYmI0YTA3NzkxN2IyN2ZhNy4uZDcxZmI5M2YzNTViNWFkMmUyZmVi
ZDJmYjkwMzE4M2Q5NzQxMjE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01V
UkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCkBAIC0zNiw2ICszNiw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBNZWRpYVNvdXJjZTsK
IGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIApAQCAt
NDksNiArNTAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZU9iamVjdFVS
TChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopOwogICAgIHN0YXRpYyB2b2lkIHJldm9r
ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJik7CisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTb3VyY2UqKTsKKyNlbmRpZgogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU3RyZWFtKik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJM
LmlkbAppbmRleCBlZDA0YzIzZDVjNjdiMzFjM2I5MzczNjIwN2ZiNDBhZTk2YTE2YWFhLi5iZDdm
MjYwZjhiZDIzOGNiYWFhMjQyNTk0NWRhMjExNTIzNTc2NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwu
aWRsCkBAIC0zNiw2ICszNiwxMCBAQCBtb2R1bGUgaHRtbCB7CiAjaWYgZGVmaW5lZChFTkFCTEVf
TUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCiAgICAgICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3Rh
dGljIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVkaWFTdHJlYW0/IHN0cmVhbSk7CiAj
ZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICYmIEVOQUJMRV9NRURJQV9T
T1VSQ0UKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChp
biBNZWRpYVNvdXJjZT8gc291cmNlKTsKKyNlbmRpZgorCiAgICAgICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3RhdGlj
IERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gQmxvYj8gYmxvYik7CiAgICAgICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgdm9pZCByZXZva2VPYmplY3RVUkwo
aW4gRE9NU3RyaW5nIHVybCk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4KaW5kZXggNDU5MDc4ZjY0YzA4YmUyYmU0MzFiMDA4ODhkY2YzOWJkYjMwYjg2
OS4uY2MyNjA1MTU1YzBmYWM2MzIzOGQ1NzdkNDAxMDc2NjkxY2IzMDk3OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI0Myw2ICsyNDMsNyBAQCBvbnRv
dWNoY2FuY2VsCiBvbnVubG9hZAogb252b2x1bWVjaGFuZ2UKIG9ud2FpdGluZworb253ZWJraXRh
ZGRzb3VyY2VidWZmZXIKIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQKIG9ud2Via2l0YW5pbWF0aW9u
aXRlcmF0aW9uCiBvbndlYmtpdGFuaW1hdGlvbmVuZApAQCAtMjU0LDYgKzI1NSw3IEBAIG9ud2Vi
a2l0a2V5YWRkZWQKIG9ud2Via2l0a2V5ZXJyb3IKIG9ud2Via2l0a2V5bWVzc2FnZQogb253ZWJr
aXRuZWVka2V5CitvbndlYmtpdHJlbW92ZXNvdXJjZWJ1ZmZlcgogb253ZWJraXRzb3VyY2VjbG9z
ZQogb253ZWJraXRzb3VyY2VlbmRlZAogb253ZWJraXRzb3VyY2VvcGVuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiYzFhOWU2MmVkN2RiNWRhZjkwMjEyNDM4
OTY0MDE3YmFiZjAwMGUwLi41MWUzYzdjNmE2NzdlMWY5MWExOWViMDQ0MjczODZiZWViZDg5YWRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY0LDYgKzY0
LDggQEAKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgog
I2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZS5o
IgorI2luY2x1ZGUgIk1lZGlhU291cmNlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50
LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJp
bmdDb250ZXh0LmgiCkBAIC0xNDUsNiArMTQ3LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xT
dHJpbmcoYm9vbCB2YWwpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vIFVSTCBwcm90b2Nv
bCB1c2VkIHRvIHNpZ25hbCB0aGF0IHRoZSBtZWRpYSBzb3VyY2UgQVBJIGlzIGJlaW5nIHVzZWQu
CiBzdGF0aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VVUkxQcm90b2NvbCA9ICJ4LW1lZGlhLXNv
dXJjZSI7CitzdGF0aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wgPSAiYmxv
YiI7CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTIyMCw2ICsyMjMs
NyBAQCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bQogICAgICwgbV9wcm9jZXNzaW5nTWVkaWFQbGF5
ZXJDYWxsYmFjaygwKQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICAgICAgCiAgICAgLCBtX3Nv
dXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpCisgICAgLCBtX21lZGlhU291cmNlKDApCiAjZW5kaWYK
ICAgICAsIG1fY2FjaGVkVGltZShNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkKICAgICAsIG1f
Y2FjaGVkVGltZVdhbGxDbG9ja1VwZGF0ZVRpbWUoMCkKQEAgLTcwMSw2ICs3MDUsNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKCkKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQogICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCiAgICAgICAgIHNl
dFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291
cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA0IC0gSWYgdGhlIG1lZGlh
IGVsZW1lbnQncyBuZXR3b3JrU3RhdGUgaXMgbm90IHNldCB0byBORVRXT1JLX0VNUFRZLCB0aGVu
IHJ1biB0aGVzZSBzdWJzdGVwcwpAQCAtOTI3LDYgKzkzMiwxNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBLVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYg
Y29udGVudAogICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkZvcm1hdEVy
cm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIGlmICh1cmwucHJvdG9jb2xJcyht
ZWRpYVNvdXJjZUJsb2JQcm90b2NvbCkpIHsKKyAgICAgICAgbV9tZWRpYVNvdXJjZSA9IGFkb3B0
UmVmKE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkubG9va3VwTWVkaWFTb3VyY2UodXJs
LnN0cmluZygpKSk7CisgICAgICAgIGlmIChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBt
X21lZGlhU291cmNlLT5zZXRNZWRpYVBsYXllcihtX3BsYXllci5nZXQoKSk7CisgICAgICAgICAg
ICBtX21lZGlhU291cmNlVVJMID0gdXJsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
bWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcik7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CiAjZW5kaWYKIAogICAgIC8vIFRoZSByZXNvdXJj
ZSBmZXRjaCBhbGdvcml0aG0gCkBAIC0xNDI5LDYgKzE0NDUsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om5vbmVTdXBwb3J0ZWQoKQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgaWYg
KG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKICAgICAgICAgc2V0U291cmNlU3RhdGUo
U09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtl
eXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDggLSBTZXQgdGhlIGVsZW1lbnQncyBkZWxheWlu
Zy10aGUtbG9hZC1ldmVudCBmbGFnIHRvIGZhbHNlLiBUaGlzIHN0b3BzIGRlbGF5aW5nIHRoZSBs
b2FkIGV2ZW50LgpAQCAtMTQ2MSw2ICsxNDc4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYUVuZ2luZUVycm9yKFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyKQogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAgICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKICAg
ICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUo
TWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBTZXQg
dGhlIGVsZW1lbnQncyBuZXR3b3JrU3RhdGUgYXR0cmlidXRlIHRvIHRoZSBORVRXT1JLX0VNUFRZ
IHZhbHVlIGFuZCBxdWV1ZSBhCkBAIC0xNzI2LDYgKzE3NDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlT3BlbmVkKCkKICAgICBiZWdpblByb2Nlc3NpbmdNZWRp
YVBsYXllckNhbGxiYWNrKCk7CiAKICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7Cisg
ICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOwogCiAgICAgZW5k
UHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKIH0KQEAgLTE5NjEsOCArMTk4MCw5IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBFeGNlcHRpb25Db2RlJiBl
YykKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIC8vIEFsd2F5cyBub3RpZnkgdGhlIG1l
ZGlhIGVuZ2luZSBvZiBhIHNlZWsgaWYgdGhlIHNvdXJjZSBpcyBub3QgY2xvc2VkLiBUaGlzIGVu
c3VyZXMgdGhhdCB0aGUgc291cmNlIGlzCiAgICAgLy8gYWx3YXlzIGluIGEgZmx1c2hlZCBzdGF0
ZSB3aGVuIHRoZSAnc2Vla2luZycgZXZlbnQgZmlyZXMuCi0gICAgaWYgKG1fc291cmNlU3RhdGUg
IT0gU09VUkNFX0NMT1NFRCkKLSAgICAgIG5vU2Vla1JlcXVpcmVkID0gZmFsc2U7CisgICAgaWYg
KG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRAorICAgICAgICB8fCAobV9tZWRpYVNvdXJj
ZSAmJiBtX21lZGlhU291cmNlLT5yZWFkeVN0YXRlKCkgIT0gTWVkaWFTb3VyY2U6OmNsb3NlZEtl
eXdvcmQoKSkpCisgICAgICAgIG5vU2Vla1JlcXVpcmVkID0gZmFsc2U7CiAjZW5kaWYKIAogICAg
IGlmIChub1NlZWtSZXF1aXJlZCkgewpAQCAtMTk4Niw2ICsyMDA2LDggQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAgICAgaWYgKG1fc291cmNlU3RhdGUgPT0gU09VUkNFX0VOREVEKQog
ICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CisgICAgaWYgKG1fbWVkaWFTb3Vy
Y2UgJiYgbV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0ZSgpID09IE1lZGlhU291cmNlOjplbmRlZEtl
eXdvcmQoKSkKKyAgICAgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3Jk
KCkpOwogI2VuZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBjdXJyZW50IHBsYXliYWNrIHBvc2l0
aW9uIHRvIHRoZSBnaXZlbiBuZXcgcGxheWJhY2sgcG9zaXRpb24KQEAgLTI1MDMsNiArMjUyNSwx
NCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRlIHN0
YXRlKQogICAgICAgICByZXR1cm47CiAgICAgfQogfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCit7CisgICAgaWYgKCFtX21lZGlh
U291cmNlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX21lZGlhU291cmNlLT5zZXRTdGF0ZShz
dGF0ZSk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC0zNzQz
LDYgKzM3NzMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVzZXJDYW5jZWxsZWRMb2FkKCkK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJD
RV9DTE9TRUQpCiAgICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNl
dFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAg
ICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyByZWFkeVN0YXRlIGF0dHJpYnV0ZSBoYXMg
YSB2YWx1ZSBlcXVhbCB0byBIQVZFX05PVEhJTkcsIHNldCB0aGUgCkBAIC00MjUwLDYgKzQyODEs
MTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBsYXllcigpCiAgICAgICAg
IG1fYXVkaW9Tb3VyY2VOb2RlLT51bmxvY2soKTsKICAgICB9CiAjZW5kaWYKKworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgIG1fbWVkaWFT
b3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyNlbmRpZgogfQogCiAjaWYg
RU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggODJmNmI3NWJkNTZkNDJhNDc3Y2RkMzkwMzcxNGJmY2NjNmRiZmE3Zi4uNTFmMjFkY2I4ODI3
NTYzOWM2YWRkNzVhZDlmYWE0NjI3MTJiOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1LDEwIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgi
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3Vy
Y2UuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX0FV
RElPKQpAQCAtMTgyLDYgKzE4Niw3IEBAIHB1YmxpYzoKICAgICBlbnVtIFNvdXJjZVN0YXRlIHsg
U09VUkNFX0NMT1NFRCwgU09VUkNFX09QRU4sIFNPVVJDRV9FTkRFRCB9OwogICAgIFNvdXJjZVN0
YXRlIHdlYmtpdFNvdXJjZVN0YXRlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShT
b3VyY2VTdGF0ZSk7CisgICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShjb25zdCBTdHJpbmcmKTsKIAog
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291cmNlb3Blbik7CiAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3VyY2VlbmRlZCk7CkBA
IC01OTEsNiArNTk2LDcgQEAgcHJpdmF0ZToKICAgICBLVVJMIG1fbWVkaWFTb3VyY2VVUkw7CiAg
ICAgU291cmNlU3RhdGUgbV9zb3VyY2VTdGF0ZTsKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zb3Vy
Y2VJRHM7CisgICAgUmVmUHRyPE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwogI2VuZGlmCiAK
ICAgICBtdXRhYmxlIGZsb2F0IG1fY2FjaGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAppbmRleCA5ODZjYmQ4ODJiYzhjZTYwMWY2YTlkN2Q2ZmRkZTBmMTkxZjVmODRkLi42OTNiNDkz
OWZjODdiY2MyY2Q5ZWJkMTEzNTU2M2ZjMTNhNGEyZDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsCkBAIC03ODEsNiArNzgxLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVy
Q29uc3RydWN0b3IgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjsKIAorICAgICAgICBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNl
XSBNZWRpYVNvdXJjZUNvbnN0cnVjdG9yIE1lZGlhU291cmNlOworICAgICAgICBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNl
XSBTb3VyY2VCdWZmZXJDb25zdHJ1Y3RvciBTb3VyY2VCdWZmZXI7CisgICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3Vy
Y2VdIFNvdXJjZUJ1ZmZlckxpc3RDb25zdHJ1Y3RvciBTb3VyY2VCdWZmZXJMaXN0OworCiAjZW5k
aWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5E
SU5HKSAmJiBWOF9CSU5ESU5HCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWU2ZTAxZGFlOGU4ZTZhMjk4NmU1MTZjYWVmZDg0
NDliYTQ4OGE5NS4uZThhYzk5NjdhYjRmNGZmNjFmMGRhOTM3MTM4YWY0YWNlMTdmNDAwZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTEzICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBDb252ZXJ0IE1lZGlhIFNvdXJjZSB0byBuZXcgb2JqZWN0
LW9yaWVudGVkIEFQSSAobm90IGludGVuZGVkIGZvciBjb21taXQgb3IgcmV2aWV3IC0gZm9yIGRp
c2N1c3Npb24vcmVmZXJlbmNlIG9ubHkpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyByZWZsZWN0IHRoZSBuZXcgTWVkaWFTb3VyY2Ug
QVBJOgorICAgICAgICBodHRwOi8vd3d3LmNvcnAuZ29vZ2xlLmNvbS9+YWNvbHdlbGwvbm9fY3Jh
d2wvaHRtbC1tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICAq
IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qczoKKyAgICAgICAg
KE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VCdWZmZXIp
OgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVu
ZEluaXRTZWdtZW50KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnBy
b3RvdHlwZS5hcHBlbmRNZWRpYVNlZ21lbnQpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNl
Z21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0pOgorICAgICAgICAo
TWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKToKKyAgICAgICAgKE1l
ZGlhU291cmNlVGVzdC5ydW5PblNvdXJjZU9wZW4uZXZlbnRIYW5kbGVyRnVuY3Rpb24pOgorICAg
ICAgICAoTWVkaWFTb3VyY2VUZXN0LnJ1bk9uU291cmNlT3Blbik6CisgICAgICAgIChNZWRpYVNv
dXJjZVRlc3QubG9nU291cmNlU3RhdGUpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmV4cGVj
dFNvdXJjZVN0YXRlKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
ZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQt
YW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3Jz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1wbGF5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLXN0YXRlLWNoYW5nZXMuaHRtbDoKKwogMjAxMi0wNy0xMyAgVnNldm9sb2QgVmxhc292ICA8
dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZywgdXBk
YXRlZCBjaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwppbmRleCA2
ZGJiN2NhYTExOWM3ZjljMTM3YTlhMTFmNjhhMjllYzA2N2ZhZDI1Li4xMWRhMGVkYmM1YTJiZGM1
MmNhZmI5YTlmZTljNjEzZGZkYTU1ZjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCkBAIC0xLDQgKzEs
NiBAQAogdmFyIE1lZGlhU291cmNlVGVzdCA9IHt9OwordmFyIG1lZGlhU291cmNlID0gbmV3IE1l
ZGlhU291cmNlKCk7Cit2YXIgc291cmNlQnVmZmVyID0gbnVsbDsKIAogTWVkaWFTb3VyY2VUZXN0
LlNlZ21lbnRIZWxwZXIgPSBmdW5jdGlvbihzZWdtZW50SW5mbykKIHsKQEAgLTEyNiwyNyArMTI4
LDMyIEBAIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VJ
ZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHRoaXMu
U291cmNlSUQsIHRoaXMuc2VnbWVudEluZm8udHlwZSk7CiB9OwogCitNZWRpYVNvdXJjZVRlc3Qu
U2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlQnVmZmVyID0gZnVuY3Rpb24oKQorewor
ICAgIHNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcih0aGlzLnNlZ21l
bnRJbmZvLnR5cGUpOworfTsKKwogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90
eXBlLmFwcGVuZEluaXRTZWdtZW50ID0gZnVuY3Rpb24oKQogewotICAgIHRoaXMudmlkZW9UYWcu
d2Via2l0U291cmNlQXBwZW5kKHRoaXMuU291cmNlSUQsIHRoaXMuaW5pdFNlZ21lbnQpOworICAg
IHNvdXJjZUJ1ZmZlci5hcHBlbmQodGhpcy5pbml0U2VnbWVudCk7CiB9OwogCiBNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kTWVkaWFTZWdtZW50ID0gZnVuY3Rp
b24oaW5kZXgpCiB7Ci0gICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5T
b3VyY2VJRCwgdGhpcy5tZWRpYVNlZ21lbnRzW2luZGV4XSk7CisgICAgc291cmNlQnVmZmVyLmFw
cGVuZCh0aGlzLm1lZGlhU2VnbWVudHNbaW5kZXhdKTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5T
ZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtID0gZnVuY3Rpb24o
c3RhcnRJbmRleCkKIHsKLSAgICBpZiAoIXRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5k
KSB7Ci0gICAgICAgIGZhaWxUZXN0KCJ3ZWJraXRTb3VyY2VBcHBlbmQoKSBpcyBub3QgYXZhaWxh
YmxlIik7CisgICAgaWYgKCFzb3VyY2VCdWZmZXIuYXBwZW5kKSB7CisgICAgICAgIGZhaWxUZXN0
KCJTb3VyY2VCdWZmZXIuYXBwZW5kKCkgaXMgbm90IGF2YWlsYWJsZSIpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgZm9yICh2YXIgaW5kZXggPSBzdGFydEluZGV4OyBpbmRleCA8IHRo
aXMubWVkaWFTZWdtZW50cy5sZW5ndGg7IGluZGV4KyspCiAgICAgICAgIHRoaXMuYXBwZW5kTWVk
aWFTZWdtZW50KGluZGV4KTsKIAotICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZT
dHJlYW0odGhpcy52aWRlb1RhZy5FT1NfTk9fRVJST1IpOworICAgIG1lZGlhU291cmNlLmVuZE9m
U3RyZWFtKCk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUu
Z2V0VGltZUZvck1lZGlhU2VnbWVudCA9IGZ1bmN0aW9uKGluZGV4KQpAQCAtMTc2LDcgKzE4Myw3
IEBAIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCA9IGZ1bmN0aW9u
KHZpZGVvVGFnKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdmlkZW9UYWcuc3JjID0g
dmlkZW9UYWcud2Via2l0TWVkaWFTb3VyY2VVUkw7CisgICAgdmlkZW9UYWcuc3JjID0gd2Via2l0
VVJMLmNyZWF0ZU9iamVjdFVSTChtZWRpYVNvdXJjZSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3Qu
bWVkaWFFcnJvclN0cmluZyA9IGZ1bmN0aW9uKHZpZGVvVGFnKQpAQCAtMjcwLDI0ICsyNzcsMzEg
QEAgTWVkaWFTb3VyY2VUZXN0LnJ1bk9uU291cmNlT3BlbiA9IGZ1bmN0aW9uKHZpZGVvVGFnLCBv
bk9wZW5GdW5jdGlvbikKIHsKICAgICB2YXIgZXZlbnRIYW5kbGVyRnVuY3Rpb24gPSBmdW5jdGlv
biAoZXZlbnQpCiAgICAgeworICAgICAgICBpZiAodmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhU
TUxNZWRpYUVsZW1lbnQuTkVUV09SS19MT0FESU5HICYmCisgICAgICAgICAgICB2aWRlb1RhZy5u
ZXR3b3JrU3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUpIHsKKyAgICAgICAg
ICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIG5ldHdvcmsgc3RhdGUuIEV4cGVjdGVkICIgKworICAg
ICAgICAgICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0xPQURJTkcgKyAiIG9y
ICIgKworICAgICAgICAgICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUg
KworICAgICAgICAgICAgICAgICAgICAgIiBnb3QgIiArIHZpZGVvVGFnLnJlYWR5U3RhdGUpOwor
ICAgICAgICB9CiAgICAgICAgIGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOwogICAgICAgICBvbk9wZW5GdW5j
dGlvbigpOwogICAgIH07Ci0gICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKKworICAgIG1lZGlhU291cmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CiAg
ICAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvVGFnKTsK
IH07CiAKLU1lZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9uKHZpZGVvVGFn
KQorTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlID0gZnVuY3Rpb24obWVkaWFTb3VyY2Up
CiB7Ci0gICAgY29uc29sZVdyaXRlKCJ3ZWJraXRTb3VyY2VTdGF0ZSA6ICIgKyBNZWRpYVNvdXJj
ZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlKSk7Cisg
ICAgY29uc29sZVdyaXRlKCJ3ZWJraXRTb3VyY2VTdGF0ZSA6ICIgKyBtZWRpYVNvdXJjZS5yZWFk
eVN0YXRlKTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSA9IGZ1bmN0
aW9uKHZpZGVvVGFnLCBleHBlY3RlZCkKK01lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0
ZSA9IGZ1bmN0aW9uKG1lZGlhU291cmNlLCBleHBlY3RlZCkKIHsKLSAgICBpZiAodmlkZW9UYWcu
d2Via2l0U291cmNlU3RhdGUgIT0gZXhwZWN0ZWQpIHsKLSAgICAgICAgZmFpbFRlc3QoIlVuZXhw
ZWN0ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAiICsKLSAgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShleHBlY3RlZCkgKwotICAgICAgICAgICAgICAg
ICAiIGdvdCAiICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53
ZWJraXRTb3VyY2VTdGF0ZSkpOworICAgIGlmIChtZWRpYVNvdXJjZS5yZWFkeVN0YXRlICE9IGV4
cGVjdGVkKSB7CisgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhw
ZWN0ZWQgIiArIGV4cGVjdGVkICsKKyAgICAgICAgICAgICAgICAgIiBnb3QgIiArIG1lZGlhU291
cmNlLnJlYWR5U3RhdGUpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDY1OGZmNzExNmUxMzcxZjZk
YzM1NjdhZGZjNTQ4ODVhNWYxMjQ5YmUuLmM1ZDI4YmZhMjI3YmMwMmY1MWQyNTJjMTViOGJjYTgy
MTM3OGY1ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFi
b3J0LWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDYgQEAgVGVzdHMgd2Via2l0U291cmNlQWJvcnQo
KSBmdW5jdGlvbmFsaXR5CiAKIAogcnVubmluZyBhYm9ydER1cmluZ0luaXRTZWdtZW50Ci1FVkVO
VChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhYm9ydGluZyBkdXJp
bmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KIEFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0
aW9uIHNlZ21lbnQuCkBAIC0xMyw3ICsxMiw2IEBAIEVWRU5UKGxvYWRlZGRhdGEpCiAKIHJ1bm5p
bmcgYWJvcnREdXJpbmdNZWRpYVNlZ21lbnQKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3Rh
cnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhYm9ydGluZyBpbiB0aGUgbWlkZGxl
IG9mIGEgbWVkaWEgc2VnbWVudC4KIEFwcGVuZGluZyBwYXJ0aWFsIG1lZGlhIHNlZ21lbnQuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sCmluZGV4IDQ4OWM5NWE5
OThjMDU4MmM2ZjA2MGE1NzY2OWMxNmU2YjA4Njk4MzIuLjY3ZDEyZGRiZWRhYmM1MDVmNDU1MjAx
MDk2MzA0OWQ2NWU3NWYzMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
Ym9ydC5odG1sCkBAIC05LDcgKzksNyBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBhYm9ydER1
cmluZ0luaXRTZWdtZW50KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlRlc3QgYWJvcnRpbmcgZHVyaW5nIGluaXRpYWxpemF0aW9uIHNlZ21l
bnQuIik7CiAgICAgICAgICAgICAgICAgdHJ5IHsKQEAgLTE3LDEwICsxNywxMCBAQAogICAgICAg
ICAgICAgICAgICAgICB2YXIgcGFydGlhbEluaXRTZWdtZW50ID0gaW5pdFNlZ21lbnQuc3ViYXJy
YXkoMCwgaW5pdFNlZ21lbnQubGVuZ3RoIC8gMik7CiAKICAgICAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJBcHBlbmRpbmcgcGFydGlhbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwot
ICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc2VnbWVudEhl
bHBlci5Tb3VyY2VJRCwgcGFydGlhbEluaXRTZWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAg
c291cmNlQnVmZmVyLmFwcGVuZChwYXJ0aWFsSW5pdFNlZ21lbnQpOwogCiAgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiQWJvcnRpbmcgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVyLlNvdXJjZUlEKTsK
KyAgICAgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyLmFib3J0KCk7CiAKICAgICAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZnVsbCBpbml0aWFsaXphdGlvbiBzZWdt
ZW50LiIpOwogICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdt
ZW50KCk7CkBAIC00Miw3ICs0Miw3IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGFib3J0RHVy
aW5nTWVkaWFTZWdtZW50KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlRlc3QgYWJvcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIG1lZGlhIHNl
Z21lbnQuIik7CiAgICAgICAgICAgICAgICAgdHJ5IHsKQEAgLTUxLDEwICs1MSwxMCBAQAogICAg
ICAgICAgICAgICAgICAgICB2YXIgcGFydGlhbE1lZGlhU2VnbWVudCA9IG1lZGlhU2VnbWVudC5z
dWJhcnJheSgwLCBtZWRpYVNlZ21lbnQubGVuZ3RoIC8gMik7CiAKICAgICAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LiIpOwotICAg
ICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc2VnbWVudEhlbHBl
ci5Tb3VyY2VJRCwgcGFydGlhbE1lZGlhU2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNv
dXJjZUJ1ZmZlci5hcHBlbmQocGFydGlhbE1lZGlhU2VnbWVudCk7CiAKICAgICAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJBYm9ydGluZyBhcHBlbmQuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOwor
ICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYWJvcnQoKTsKIAogICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmdWxsIG1lZGlhIHNlZ21lbnQuIik7CiAg
ICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwpA
QCAtNzcsMTEgKzc3LDEwIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1l
ZGlhRWxlbWVudCgpOwogCi0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQn
KTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRlZGRhdGEnKTsKLSAgICAgICAg
ICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRp
YVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNl
LCBtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwog
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1v
dmUtYnVmZmVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzUxZjkxYjVmOWZlYTMzODU1ZDVj
ZDBiMDMzODgzMzkwMWJmYzBmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92
ZS1idWZmZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ3IEBACitUZXN0cyB3ZWJraXRTb3Vy
Y2VBZGRJZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzCisKK1Rlc3QgYWRkaW5n
IGFuIElEIHdoaWxlIGNsb3NlZC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZlckZh
aWx1cmVDYXNlcworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgZW1wdHkgdHlwZS4KK0dv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxNQorVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlv
biBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQorVGVzdCBhIHN1cHBv
cnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29kZWMuCitHb3QgZXhwZWN0ZWQgZXhjZXB0
aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitUZXN0IHJlYWNo
aW5nIHNvdXJjZUlEIGxpbWl0LgorVGVzdCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRk
ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJv
cjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0UmVt
b3ZlTnVsbEJ1ZmZlcgorRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgbnVsbCBidWZmZXIg
Y2FzZQorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBE
T00gRXhjZXB0aW9uIDE1CisKK3J1bm5pbmcgdGVzdFJlbW92ZUFnYWluCitFVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKQorVGVzdCByZW1vdmluZyBhIGJ1ZmZlciB0aGF0IHdhcyBhbHJlYWR5IHJlbW92
ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RSZW1vdmVCdWZmZXJBZnRlckVuZGVkCitFVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdo
aWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KKworcnVubmluZyB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1v
dmluZworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUg
YWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4KK1VuZXhwZWN0ZWQgZXhjZXB0aW9uOiBF
cnJvcjogUVVPVEFfRVhDRUVERURfRVJSOiBET00gRXhjZXB0aW9uIDIyCisKK3J1bm5pbmcgdGVz
dEFwcGVuZEZhaWx1cmVDYXNlcworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgYSBzdWNj
ZXNzZnVsIGFwcGVuZC4KK1Rlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4KK0dvdCBleHBl
Y3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAx
NQorVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorVGVzdCBhcHBlbmQgYWZ0ZXIg
YnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorRU5EIE9GIFRFU1QKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92
ZS1idWZmZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM1ZDJjZTVkM2E3MWY3NzgyZjU4OGRkZmNhZDc1
NWY4ZWQwODViOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJz
Lmh0bWwKQEAgLTAsMCArMSwyMDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1z
b3VyY2Uvd2VibS9zZWdtZW50LWluZm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0ibWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
ICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVy
KFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7CisgICAgICAgICAgICB2YXIgZGVmYXVsdFNvdXJj
ZU1pbWV0eXBlID0gc2VnbWVudEhlbHBlci5zZWdtZW50SW5mby50eXBlOworCisgICAgICAgICAg
ICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcih0eXBlLCBlcnJvcikKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzb3Vy
Y2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodHlwZSk7CisgICAgICAgICAg
ICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBl
cnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4
Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4
cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PblJlbW92ZUJ1ZmZlcihi
dWZmZXIsIGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihidWZmZXIpOwor
ICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIShl
LmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5l
eHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cg
ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BcHBl
bmQoYnVmLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kKGJ1Zik7CisgICAgICAgICAgICAg
ICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJv
cikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkQnVmZmVyV2hpbGVDbG9zZWQodmlkZW9UYWcp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFkZGlu
ZyBhbiBJRCB3aGlsZSBjbG9zZWQuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9u
T25BZGRCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9T
VEFURV9FUlIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRk
QnVmZmVyRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGVtcHR5IHR5cGUuIik7Cisg
ICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIoIiIsIERPTUV4Y2VwdGlv
bi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0
aW9uT25BZGRCdWZmZXIoImF1ZGlvL3gtdW5zdXBwb3J0ZWQtZm9ybWF0IiwgRE9NRXhjZXB0aW9u
Lk5PVF9TVVBQT1JURURfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVz
dCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29kZWMuIik7CisgICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIoInZpZGVvL3dlYm07IGNvZGVjcz1c
InZwOCwgc3BlZXhcIiIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7CisKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuIik7
CisgICAgICAgICAgICAgICAgdmFyIHJlYWNoZWRJZExpbWl0ID0gZmFsc2U7CisKKyAgICAgICAg
ICAgICAgICAvLyBUaGUgMjAgaGVyZSBpcyBhbiBhcmJpdHJhcnkgdXBwZXIgbGltaXQgdG8gbWFr
ZSBzdXJlIHRoZSB0ZXN0IHRlcm1pbmF0ZXMuIFRoaXMgdGVzdAorICAgICAgICAgICAgICAgIC8v
IGFzc3VtZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgd29uJ3Qgc3VwcG9ydCBtb3JlIHRoYW4gMjAg
c291cmNlSUQncyBzaW11bHRhbmVvdXNseS4KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDIwOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWlt
ZXR5cGUpOworICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChlLmNvZGUgIT0gRE9NRXhjZXB0aW9uLlFVT1RBX0VYQ0VFREVEX0VSUikg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHJlYWNoZWRJZExp
bWl0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFyZWFj
aGVkSWRMaW1pdCkgeworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIHJl
YWNoIFNvdXJjZUlEIGxpbWl0LiIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQg
U291cmNlQnVmZmVycyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuIik7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAg
ICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUsIERP
TUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0
VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJl
bW92ZU51bGxCdWZmZXIocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgbnVsbCBidWZmZXIgY2FzZSIpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlQnVmZmVyKG51bGwsIERPTUV4
Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAgICAgICAgcnVuTmV4dFRl
c3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1v
dmVBZ2FpbihydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZW1vdmluZyBhIGJ1ZmZlciB0aGF0IHdhcyBh
bHJlYWR5IHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyID0gbWVkaWFT
b3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAg
ICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNvdXJjZUJ1ZmZlcik7CisgICAg
ICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIoc291cmNlQnVmZmVyLCBE
T01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAgICAgcnVuTmV4
dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RS
ZW1vdmVCdWZmZXJBZnRlckVuZGVkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYSBidWZmZXIg
Y2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOworICAgICAgICAgICAg
ICAgIHNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291
cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNvdXJjZUJ1
ZmZlcik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlckFmdGVyUmVtb3ZpbmcocnVu
TmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIg
aXQgaXMgcmVtb3ZlZC4iKTsKKyAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIgPSBtZWRpYVNv
dXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyKTsKKworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlciA9IG1l
ZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiArIGUpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlk
ZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGluaXRTZWdtZW50ID0g
c2VnbWVudEhlbHBlci5pbml0U2VnbWVudDsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTZWdt
ZW50ID0gc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzBdOworCisgICAgICAgICAgICAgICAg
c291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdWNjZXNz
ZnVsIGFwcGVuZC4iKTsKKyAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kKGluaXRT
ZWdtZW50KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0
aCBhIG51bGwgYnVmZmVyLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBw
ZW5kKG51bGwsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBlbmRlZC4iKTsKKyAgICAgICAg
ICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIGV4cGVj
dEV4Y2VwdGlvbk9uQXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRl
ciBidWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJj
ZS5yZW1vdmVTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyKTsKKyAgICAgICAgICAgICAgICBleHBl
Y3RFeGNlcHRpb25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RB
VEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgICAgIG1lZGlh
U291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOworCisg
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNz
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVu
dCBkYXRhIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyV2hpbGVDbG9zZWQo
dmlkZW8pOworCisgICAgICAgICAgICAgICAgICAgIHZhciB0ZXN0Q2FzZXMgPSBbCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyRmFpbHVyZUNhc2VzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJlbW92ZU51bGxCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UmVtb3ZlQWdhaW4sCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlQnVm
ZmVyQWZ0ZXJFbmRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRCdWZmZXJBZnRl
clJlbW92aW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFwcGVuZEZhaWx1cmVDYXNl
cywKKyAgICAgICAgICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRlbywgdGVzdENhc2VzKTsKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9o
ZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgorICAgICAgICA8dmlkZW8+IDwvdmlk
ZW8+CisgICAgICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkgJmFtcDsgd2Via2l0U291
cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVt
b3ZlLWlkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwODU5
MTFhOGY1N2NiZDE0MWVmNzhkZmZmYzU2YmVhNTg4MjZkNmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1UZXN0cyB3ZWJraXRTb3VyY2VB
ZGRJZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzCi0KLVRlc3QgYWRkaW5nIGFu
IElEIHdoaWxlIGNsb3NlZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi0KLXJ1bm5pbmcgdGVzdEFkZElkRmFpbHVyZUNh
c2VzCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0
eSBJRCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19F
UlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYWRkaW5nIHRoZSBzYW1lIElEIGFnYWluLgotR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRp
b24gMTEKLVRlc3QgZW1wdHkgdHlwZS4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElO
VkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhbiB1bnN1cHBvcnRlZCB0
eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERP
TSBFeGNlcHRpb24gOQotVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQg
Y29kZWMuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5Ci1UZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LgotVGVzdCB0aGF0
IFNvdXJjZUlEcyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi1Hb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMQotCi1ydW5uaW5nIHRlc3RSZW1vdmVFbXB0eUlkCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJRCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhj
ZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLQotcnVu
bmluZyB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Vi
a2l0c291cmNlb3BlbikKLVRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgbmV2ZXIgYWRkZWQu
Ci1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9u
IDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUFnYWluCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3
ZWJraXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBhbHJlYWR5IHJl
bW92ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhj
ZXB0aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZAotRVZFTlQobG9hZHN0
YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgcmVt
b3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi0KLXJ1bm5pbmcgdGVzdEFkZElkQWZ0ZXJS
ZW1vdmluZwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qg
dGhhdCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4KLVVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVERURfRVJSOiBET00gRXhjZXB0aW9u
IDIyCi0KLXJ1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcwotRVZFTlQobG9hZHN0YXJ0KQot
RVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgYXBwZW5kIHdpdGggZW1wdHkgSUQuCi1Hb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRp
b24gMTUKLVRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxpZCBJRAotR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgotVGVzdCBhcHBlbmQgd2l0
aCBhIG51bGwgYnVmZmVyLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9B
Q0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuCi1H
b3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEy
Ci1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDgyMzc5ZjVjYTcxZjdiNTgwNmZkZTQ5ZjY3NjFiZjA5NjJlYWEzZTYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlk
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2Vz
L3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jl
c291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50LWluZm8uanMiPjwvc2NyaXB0PgotICAg
ICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNj
cmlwdD4KLSAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNlVGVz
dC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7Ci0gICAgICAgICAgICB2
YXIgZGVmYXVsdFNvdXJjZU1pbWV0eXBlID0gc2VnbWVudEhlbHBlci5zZWdtZW50SW5mby50eXBl
OwotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFn
LCBpZCwgdHlwZSwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoaWQsIHR5cGUp
OwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7
Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
IShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgi
VW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhy
b3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25S
ZW1vdmVJZCh2aWRlb1RhZywgaWQsIGVycm9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92
ZUlkKGlkKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2Vw
dGlvbiIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZmFp
bFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2Vw
dGlvbk9uQXBwZW5kKHZpZGVvVGFnLCBpZCwgYnVmLCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VBcHBlbmQoaWQsIGJ1Zik7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBl
Y3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlv
biB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4iKTsK
LSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMTIzIiwg
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRGYWlsdXJlQ2Fz
ZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQgY2FzZSIpOwotICAgICAgICAgICAgICAg
IGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIiLCBkZWZhdWx0U291cmNlTWltZXR5
cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7
Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIHRoZSBzYW1lIElE
IGFnYWluLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9U
YWcsICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NU
QVRFX0VSUik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQo
IjEyMyIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGVtcHR5IHR5cGUu
Iik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjIz
NCIsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLiIpOwotICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIyMzQiLCAiYXVkaW8veC11
bnN1cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOwotCi0g
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBh
biB1bnN1cHBvcnRlZCBjb2RlYy4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25P
bkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgInZpZGVvL3dlYm07IGNvZGVjcz1cInZwOCwgc3BlZXhc
IiIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAg
ICAgICAgdmFyIHJlYWNoZWRJZExpbWl0ID0gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICAvLyBU
aGUgMjAgaGVyZSBpcyBhbiBhcmJpdHJhcnkgdXBwZXIgbGltaXQgdG8gbWFrZSBzdXJlIHRoZSB0
ZXN0IHRlcm1pbmF0ZXMuIFRoaXMgdGVzdAotICAgICAgICAgICAgICAgIC8vIGFzc3VtZXMgdGhh
dCBpbXBsZW1lbnRhdGlvbnMgd29uJ3Qgc3VwcG9ydCBtb3JlIHRoYW4gMjAgc291cmNlSUQncyBz
aW11bHRhbmVvdXNseS4KLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDIwOyAr
K2kpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUlEID0gInNvdXJjZUlELSIgKyBp
OwotICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmlk
ZW9UYWcud2Via2l0U291cmNlQWRkSWQoc291cmNlSUQsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7
Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGUuY29kZSAhPSBET01FeGNlcHRpb24uUVVPVEFfRVhDRUVERURfRVJSKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIg
KyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgcmVhY2hlZElkTGltaXQgPSB0
cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoIXJlYWNoZWRJZExp
bWl0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gcmVhY2ggU291
cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBTb3VyY2VJ
RHMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOwotICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19F
UlJPUik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywg
IjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVf
RVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlRW1wdHlJZChydW5OZXh0VGVzdENh
c2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9u
T25SZW1vdmVJZCh2aWRlb1RhZywgIiIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIp
OwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOb25leGlzdGVudElkKHJ1bk5leHRUZXN0
Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5ldmVyIGFkZGVkLiIpOwotICAgICAg
ICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcsICIzNDUiLCBET01F
eGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2Uo
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUFnYWlu
KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIGFscmVhZHkgcmVt
b3ZlZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIz
IiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9u
T25SZW1vdmVJZCh2aWRlb1RhZywgIjEyMyIsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQot
ICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IHRoYXQgYW4gSUQgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIp
OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZh
dWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7Ci0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAgICAgICAgICAgICAgcnVu
TmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRl
c3RBZGRJZEFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhbiBJRCBjYW4g
YmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICB2
aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsK
LSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0K
LSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVW5l
eHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdEFwcGVuZEZhaWx1cmVDYXNlcyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFn
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBpbml0U2VnbWVudCA9IHNlZ21l
bnRIZWxwZXIuaW5pdFNlZ21lbnQ7Ci0gICAgICAgICAgICAgICAgdmFyIG1lZGlhU2VnbWVudCA9
IHNlZ21lbnRIZWxwZXIubWVkaWFTZWdtZW50c1swXTsKLQotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotCi0g
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGVtcHR5IElELiIp
OwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiIiwg
aW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGFuIGludmFsaWQgSUQiKTsK
LSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjIzNCIs
IGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4iKTsKLSAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjEyMyIsIG51bGws
IERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7Ci0gICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKCIxMjMiLCBpbml0U2VnbWVudCk7Ci0KLSAgICAg
ICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIxMjMiLCBtZWRpYVNl
Z21lbnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5l
eHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBvbkxv
YWQoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsK
LQotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0gICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0KLSAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRhdGEiKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RBZGRJZFdoaWxlQ2xvc2VkKHZpZGVvKTsKLQotICAgICAg
ICAgICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWwotICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEFkZElkRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92
ZUVtcHR5SWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJ
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVBZ2FpbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0QWRkSWRBZnRlclJlbW92aW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEFwcGVuZEZhaWx1cmVDYXNlcywKLSAgICAgICAgICAgICAgICAgICAgXTsKLQotICAgICAgICAg
ICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRlbywg
dGVzdENhc2VzKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
PC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgotICAg
ICAgICA8dmlkZW8+IDwvdmlkZW8+Ci0gICAgICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFkZElk
KCkgJmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9wPgotICAgIDwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9y
cy1leHBlY3RlZC50eHQKaW5kZXggNTVmMjBiYjFjNzhiYzkzODQ1MDJmOGE2NTQzMDAwYzFlYzg1
N2JlOS4uMmU2YjM0MGY1ODE0MjVjYWY5OGU4OTU0NWRkMjg2ZjIxZGEyZWJjYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQK
QEAgLTIsNDEgKzIsMzYgQEAgVGVzdHMgZXJyb3IgY2FzZXMgd2l0aCBNZWRpYVNvdXJjZSBBUEkK
IAogCiBydW5uaW5nIGRpZE5vdFNlbmRJbml0U2VnbWVudEZpcnN0Ci1FVkVOVChsb2Fkc3RhcnQp
CiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhcHBlbmRpbmcgYSBtZWRpYSBzZWdtZW50
IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50LgogRVZFTlQoZXJyb3Ip
IDogTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcgaW1tZWRpYXRlRGVjb2Rl
RXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKIEVW
RU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0
aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJv
ciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZFTlQod2Via2l0c291cmNlZW5kZWQp
CiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBp
bW1lZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkKLUVWRU5U
KGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBu
ZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uCitUZXN0IHNpZ25hbGxp
bmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0uCiBFVkVOVCh3
ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBP
UlRFRAogCiBydW5uaW5nIGRlY29kZUVycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVWRU5UKGVtcHRp
ZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWdu
YWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIg
d2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEg
c3RhdGUuCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5l
bmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0
aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVWRU5UKGxvYWRlZG1ldGFkYXRhKQogRVZFTlQod2Vi
a2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfREVDT0RFCiAKIHJ1bm5p
bmcgbmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChs
b2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgbmV0
d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBw
ZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgorVGVz
dCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFt
IGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01F
VEFEQVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEpCiBFVkVOVCh3ZWJraXRzb3VyY2Vl
bmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ORVRXT1JLCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
ZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKaW5kZXggZmU5Y2VhYWI1NGVhYzAyOTJhYTkz
ZWUwNThlNWZiYmJjOTIwMGVkZC4uMDlhYWU1NzYyODI4MmRjZTY2Zjc5MWM3ODVkYjAyMDQ0ZDJh
NTFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbApA
QCAtMjMsNDYgKzIzLDQ2IEBACiAgICAgICAgICAgICBmdW5jdGlvbiBkaWROb3RTZW5kSW5pdFNl
Z21lbnRGaXJzdChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmRpbmcgYSBtZWRpYSBzZWdtZW50
IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwotICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBm
dW5jdGlvbiBpbW1lZGlhdGVEZWNvZGVFcnJvclZpYUVuZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2Fz
ZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZT
dHJlYW0uIik7Ci0gICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsK
LSAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1l
ZGlhRWxlbWVudC5FT1NfREVDT0RFX0VSUik7CisgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZT
dHJlYW0uIik7CisgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0Owor
ICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgiZGVjb2RlIik7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGltbWVkaWF0ZU5ldHdvcmtFcnJvclZp
YUVuZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVy
cm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7Ci0gICAgICAgICAgICAgICAgdmFy
IHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtp
dFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05FVFdPUktfRVJSKTsKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJy
b3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4iKTsKKyAgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRP
ZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlv
biBkZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcp
CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25h
bGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3
ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBz
dGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0g
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVk
aWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0
byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5h
ZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZElu
aXRTZWdtZW50KCk7CiAKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbE1ldGFkYXRhTG9hZGVk
KHZpZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVP
U19ERUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJl
YW0oImRlY29kZSIpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBuZXR3b3JrRXJyb3JBZnRlckhhdmVNZXRhZGF0YShydW5OZXh0VGVz
dENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVu
ZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRo
ZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9
IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlk
KCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3
b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBl
bmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7Cisg
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAg
ICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAgICAgICAgICAgICAgYXBwZW5kVW50
aWxNZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRN
TE1lZGlhRWxlbWVudC5FT1NfTkVUV09SS19FUlIpOworICAgICAgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgfQogCkBAIC03MCwxMSArNzAsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkbWV0
YWRhdGEnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4n
KTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwg
ZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNl
KTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApp
bmRleCAxZTc4NzVjMjE1MTUwZTkwODNhNzQ1YmM5NWQ0YzlkNmEzNzIxNDZlLi5lMjdmYWQ5MjVk
MmMyMDZlNjcyNWVmOTljZjA5OThkNWE5ZjQyNzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0CkBAIC0yLDcgKzIsNyBAQCBUZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVyIGF0dHJp
YnV0ZXMKIAogb25Mb2FkKCkKIG9uU291cmNlT3BlbigpCi1DYWxsaW5nIHdlYmtpdFNvdXJjZUVu
ZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4KK0NhbGxpbmcg
TWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2
ZW50Lgogb25Tb3VyY2VFbmRlZCgpCiBTZXR0aW5nIHNyYyBhdHRyaWJ1dGUgdG8gIiIgdG8gdHJp
Z2dlciBhIHdlYmtpdHNvdXJjZWNsb3NlZCBldmVudC4KIG9uU291cmNlQ2xvc2UoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0
bWwKaW5kZXggZmYyZjdjODhiMGZjOTJlOTI3ZThjN2ZlOGRjZTE3NzgyNWZkYWRmZS4uNTJjMGFj
OWM2MzVkMmUxOTM5M2RlYTJhODM2NDgxNGQxYWI2NDI5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50
LWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy5odG1sCkBAIC0zLDIy
ICszLDI2IEBACiAgICA8aGVhZD4KICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNl
cy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3Blbih2aWRlbykKKworICAg
ICAgICAgICB2YXIgdmlkZW8gPSBudWxsOworICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBu
dWxsOworCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbigpCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VPcGVuKCkiKTsKLQotICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIHRv
IHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsKLSAgICAgICAgICAgICAgIHZp
ZGVvLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9S
KTsKKyAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2FsbGluZyBNZWRpYVNvdXJjZS5lbmRP
ZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuIik7CisgICAgICAg
ICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCh2aWRlbykKKyAgICAgICAgICAgZnVuY3Rpb24g
b25Tb3VyY2VFbmRlZCgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgib25Tb3VyY2VFbmRlZCgpIik7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlNldHRp
bmcgc3JjIGF0dHJpYnV0ZSB0byBcIlwiIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VjbG9zZWQg
ZXZlbnQuIik7CiAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSAiIjsKKyAgICAgICAgICAgICAg
IGVuZFRlc3QoKTsKICAgICAgICAgICAgfQogCi0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNl
Q2xvc2UodmlkZW8pCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlQ2xvc2UoKQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291cmNlQ2xvc2UoKSIpOwog
ICAgICAgICAgICAgICAgZW5kVGVzdCgpOwpAQCAtMjcsMTMgKzMxLDE3IEBACiAgICAgICAgICAg
IGZ1bmN0aW9uIG9uTG9hZChlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIm9uTG9hZCgpIik7Ci0gICAgICAgICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndicpOwotICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gdmlkZW8ud2Vi
a2l0TWVkaWFTb3VyY2VVUkw7CisgICAgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd2Jyk7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNv
dXJjZSgpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJj
ZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291cmNlRW5kZWQpOwor
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
Y2xvc2UnLCBvblNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHdlYmtp
dFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3VyY2UpOwogICAgICAgICAgICB9CiAgICAgICAg
PC9zY3JpcHQ+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KICAgICAg
ICA8cD5UZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZXM8L3A+Ci0gICAg
ICAgPHZpZGVvIGlkPSd2JyBvbndlYmtpdHNvdXJjZW9wZW49J29uU291cmNlT3Blbih0aGlzKScg
b253ZWJraXRzb3VyY2VlbmRlZD0nb25Tb3VyY2VFbmRlZCh0aGlzKTsnIG9ud2Via2l0c291cmNl
Y2xvc2U9J29uU291cmNlQ2xvc2UodGhpcyk7Jz48L3ZpZGVvPgorICAgICAgIDx2aWRlbyBpZD0n
dic+PC92aWRlbz4KICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dAppbmRleCAxOTg4YjcyY2QyZjkxOGYy
NGNhODIxZGUxOTE4YjAxMzY0ZWIxY2FjLi41MWEyMDU0MTI1ZGY3OTVhNjIxMzBlNjhlNDg3NzZk
M2M4ZDhjNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBs
YXktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNSBAQAogVGVzdHMgbm9ybWFsIHBsYXliYWNrIGNh
c2Ugd2l0aCBNZWRpYVNvdXJjZSBBUEkKIAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0
c291cmNlb3BlbikKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQocGxheWluZykKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDNhYjhlNDU2ZTE3
ODgxYWM1N2U4Y2VmMTg5YjU1N2IzNTFkZjUwYjMuLmQ1Njc5ZWI2M2Y0MTVmZmZjNjAzNWIxZWEx
MDE3M2VmYjc5Y2RlMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXku
aHRtbApAQCAtOSwyOCArOSwyOSBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9w
ZW4oZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5h
ZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVm
ZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgp
OwogCiAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGp1c3QgZW5vdWdoIHNlZ21lbnRzIHRvIGlu
Y2x1ZGUgYXQgbGVhc3QgMSBzZWNvbmQgb2YgbWVkaWEgZGF0YS4KICAgICAgICAgICAgICAgICB2
YXIgZW5kSW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0
YW1wKDEpOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZEluZGV4OyBp
KyspCiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50
KGkpOwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAgICAgZXZlbnQu
dGFyZ2V0LmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0
aW9uIG9uTG9hZCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOwogCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2Uo
KTsKKwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNv
dXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKCdlbmRlZCcpOwogCi0g
ICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CiAKICAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAgICAgICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKaW5kZXgg
ZDI0N2VkNWQ0YzU2N2ZiYzExZWJhNTY0YWNkNjI1NWU2Yjk5MWQxYS4uMmRjMWU2NjBjMTE1YzI5
ZTg2NTBiZGE3YzM3YTc0NTRlZjM4Mjk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2Utc2Vlay5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgKGZp
cnN0T3BlbikgewogICAgICAgICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsKIAotICAg
ICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwogICAgICAgICAg
ICAgICAgIH0KQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7CiAKICAgICAgICAgICAgICAgICAvLyBDYWxsIGFib3J0IHRvIG1ha2Ug
c3VyZSB0aGUgc291cmNlIGJ1ZmZlciBpcyBpbiBhIHN0YXRlIHdoZXJlIGl0IGNhbiBhY2NlcHQg
bmV3IHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0
KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFi
b3J0KCk7CiAKICAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IHNlZ21lbnRIZWxwZXIu
Z2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAodmlkZW9UYWcuY3VycmVudFRpbWUpOwog
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbShzdGFy
dEluZGV4KTsKQEAgLTYwLDEwICs2MCwxMSBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0g
bmV3IE1lZGlhU291cmNlKCk7CisKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWls
KCdlcnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0g
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1l
ZGlhU291cmNlKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVu
ZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgncGxheWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vl
a2luZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1l
eHBlY3RlZC50eHQKaW5kZXggYTc5NWQ5OGNkMjg1OWNjMTY5ZWIzYmViNzNiMmFiNWJiODIyNjY4
MS4uMzc5MDVlMjE1NTc3MmE1ODk1YzRhYjAxM2IyN2E0ZTE3ZTkxMjFjOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxMyBAQAogVGVzdHMgTWVkaWFTb3VyY2UgQVBJIHN0YXRl
IHRyYW5zaXRpb25zLgogCi13ZWJraXRTb3VyY2VTdGF0ZSA6IFNPVVJDRV9DTE9TRUQKLUVWRU5U
KGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KK3dlYmtp
dFNvdXJjZVN0YXRlIDogY2xvc2VkCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9u
Rmlyc3RTb3VyY2VPcGVuCi1FVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQK
K0VWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IGVuZGVkCiBvbkZpcnN0U291cmNlRW5kZWQKIEVW
RU5UKHBsYXlpbmcpCiB0cmlnZ2VyRmlyc3RTZWVrCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6
IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIEVWRU5UKHNlZWtp
bmcpCiBvbkZpcnN0U2Vla2luZwogRVZFTlQoc2Vla2VkKQpAQCAtMTcsMjEgKzE2LDE5IEBAIEVW
RU5UKHNlZWtpbmcpCiBvblNlY29uZFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKIG9uU2Vjb25kU2Vl
a2VkCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECitFVkVOVCh3ZWJr
aXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uRmlyc3RTb3VyY2VDbG9zZQogRVZFTlQoZW1wdGll
ZCkKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09Q
RU4KK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25TZWNvbmRTb3VyY2VPcGVuCi1F
VkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQKK0VWRU5UKHdlYmtpdHNvdXJj
ZWVuZGVkKSA6IGVuZGVkCiBvblNlY29uZFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5nKQogdHJp
Z2dlclNlY29uZFNvdXJjZUNsb3NlCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0Vf
Q0xPU0VECitFVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uU2Vjb25kU291cmNl
Q2xvc2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3Vy
Y2VvcGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9u
VGhpcmRTb3VyY2VPcGVuCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hh
bmdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAppbmRleCA5YTU0ZGNkN2ZhNDY5ZTYw
OTE5ZTViNjRkZTBhZDExOTE0ZmFmYjRiLi5mMjZjZDUyODA4MDU2NmYyOGI0MjczYTA2NzMwYjEw
ZTEwNGM4OGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1z
dGF0ZS1jaGFuZ2VzLmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgICAgICB2YXIgc2VnbWVu
dEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudElu
Zm8udGVzdFdlYk0pOwogICAgICAgICAgICAgdmFyIHNlZWtUaW1lOwogCi0gICAgICAgICAgICBm
dW5jdGlvbiBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgc2VnbWVudFNlZWtU
aW1lKQorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsoc2Vn
bWVudFNlZWtUaW1lKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciBpbmRleCA9
IHNlZ21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoc2VnbWVudFNl
ZWtUaW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5kSW5kZXggPSBpbmRleCArIDI7CkBAIC0x
OSwxNCArMTksMTQgQEAKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAo
aW5kZXggPj0gdG90YWxNZWRpYVNlZ21lbnRzKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9S
KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFdmVudChldmVudCkKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50eXBlICsg
JykgOiAnICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShldmVudC50YXJnZXQu
d2Via2l0U291cmNlU3RhdGUpKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5U
KCcgKyBldmVudC50eXBlICsgJykgOiAnICsgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3BlbihldmVu
dCkKQEAgLTM2LDE3ICszNiwxNyBAQAogICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZp
cnN0IHRpbWUgdGhlIHNvdXJjZSBpcyBvcGVuZWQuIFdlIGp1c3Qgd2FudCB0byBhcHBlbmQKICAg
ICAgICAgICAgICAgICAvLyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBhbmQgYWxsIG1lZGlh
IHNlZ21lbnRzIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLgogICAgICAgICAgICAgICAgIC8vIFRo
aXMgaXMgdGVzdGluZyB0aGUKLSAgICAgICAgICAgICAgICAvLyBTT1VSQ0VfQ0xPU0VEIC0+IFNP
VVJDRV9PUEVOIC0+IFNPVVJDRV9FTkRFRCB0cmFuc2l0aW9uIHBhdGguCisgICAgICAgICAgICAg
ICAgLy8gImNsb3NlZCIgLT4gIm9wZW4iIC0+ICJlbmRlZCIgdHJhbnNpdGlvbiBwYXRoLgogCi0g
ICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZp
cnN0U291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJ
ZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAg
ICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Qu
ZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4p
OworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRp
YVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5k
SW5pdFNlZ21lbnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9u
Rmlyc3RTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcg
bWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRp
bEVuZE9mU3RyZWFtKDApOwpAQCAtNTUsMTIgKzU1LDEzIEBACiAgICAgICAgICAgICBmdW5jdGlv
biBvbkZpcnN0U291cmNlRW5kZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJvbkZpcnN0U291cmNlRW5kZWQiKTsKLSAgICAgICAgICAgICAgICB2
YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVt
b3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCB2aWRlb1RhZy5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIHZhciBtZWRp
YVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1v
dmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7
CisKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVk
aWFTb3VyY2UsICJlbmRlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRM
aXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOworICAgICAgICAgICAgICAgIHZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlckZpcnN0U2VlayhldmVudCkK
QEAgLTcxLDcgKzcyLDcgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExp
c3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAKICAgICAgICAgICAgICAgICAv
LyBOb3cgdGhhdCB3ZSBoYXZlIGFwcGVuZGVkIGFsbCBvZiB0aGUgbWVkaWEgc2VnbWVudHMgYW5k
IGVuZGVkIHRoZSBzdHJlYW0sCi0gICAgICAgICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8g
dGVzdCB0aGUgU09VUkNFX0VOREVEIC0+IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24uCisgICAgICAg
ICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVzdCB0aGUgImVuZGVkIiAtPiAib3BlbiIg
dHJhbnNpdGlvbi4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdz
ZWVraW5nJywgb25GaXJzdFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2
ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC04NCwxMCArODUsMTAgQEAKICAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAg
dmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVraW5nKTsK
IAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRl
b1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAg
ICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgotICAgICAg
ICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5j
dXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWso
dmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5j
dGlvbiBvbkZpcnN0U2Vla2VkKGV2ZW50KQpAQCAtOTcsOSArOTgsOSBAQAogICAgICAgICAgICAg
ICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKIAotICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRN
TE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAgICAgICAg
ICAgICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdoaWxlIHN0aWxsIGluIFNP
VVJDRV9PUEVOLgorICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBpcyB0aW1lIHRvIHRlc3Qgc2Vl
a2luZyB3aGlsZSBzdGlsbCBpbiAib3BlbiIuCiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRk
RXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25kU2Vla2luZyk7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVrZWQpOwog
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC0xMTIs
MjIgKzExMywyMyBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdl
dDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVraW5n
Jywgb25TZWNvbmRTZWVraW5nKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7
CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlh
U291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1l
ZGlhIHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVr
KHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5k
TWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU2Vla2VkIik7CisK
ICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVr
ZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7
CiAKLSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9PUEVOIC0+IFNPVVJDRV9DTE9TRUQg
LT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAgICAgIHZpZGVvVGFn
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3Nl
KTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJvcGVuIiAtPiAiY2xvc2VkIiAtPiAib3BlbiIg
dHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKICAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9U
YWcpOwogICAgICAgICAgICAgfQogCkBAIC0xMzUsMjcgKzEzNywyNyBAQAogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25GaXJzdFNvdXJjZUNsb3NlIik7CiAK
LSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBv
bkZpcnN0U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2
ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAKLSAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25T
ZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExp
c3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VPcGVuKGV2ZW50KQog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3Vy
Y2VPcGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7
Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2
ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCi0gICAgICAgICAgICAgICAg
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVt
ZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0
U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5k
ZWQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAv
LyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwpAQCAtMTY1LDEzICsxNjcsMTMgQEAK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291
cmNlRW5kZWQiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdl
dDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIHZhciBt
ZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5y
ZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5k
ZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9FTkRFRCk7CisgICAgICAgICAgICAg
ICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiZW5kZWQi
KTsKICAgICAgICAgICAgICAgICAvL01lZGlhU291cmNlVGVzdC5leHBlY3RSZWFkeVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LkhBVkVfTk9USElORyk7CiAKLSAgICAgICAgICAgICAg
ICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29uZFNvdXJj
ZUNsb3NlKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5n
JywgdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgZnVuY3Rpb24gdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQpAQCAtMTgxLDggKzE4
Myw4IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmln
Z2VyU2Vjb25kU291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgLy8gVGVzdCBTT1VSQ0Vf
RU5ERUQgLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uIHBhdGguCi0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xv
c2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJlbmRl
ZCIgLT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vj
b25kU291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNU
b01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKQEAgLTE5MCwy
MiArMTkyLDIyIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJvblNlY29uZFNvdXJjZUNsb3NlIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKLSAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291
cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7Cisg
ICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291
cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRo
aXJkU291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9u
VGhpcmRTb3VyY2VPcGVuKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgib25UaGlyZFNvdXJjZU9wZW4iKTsKIAotICAgICAgICAgICAgICAgIHZhciB2
aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVF
dmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOwotICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAg
ICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3Vy
Y2VPcGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAK
ICAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CkBAIC0yMTQsMjEgKzIx
NiwyMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQo
KTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5n
Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCdlbXB0aWVkJyk7CiAKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgdmlkZW8u
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsKLSAg
ICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScs
IG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291
cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VFdmVudCk7CiAKLSAgICAgICAgICAgICAgICB2
aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9w
ZW4pOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CiAKLSAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUodmlkZW8pOworICAgICAgICAgICAgICAgIE1lZGlh
U291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152322</attachid>
            <date>2012-07-13 13:13:18 -0700</date>
            <delta_ts>2012-07-17 10:13:07 -0700</delta_ts>
            <desc>Updating to ToT</desc>
            <filename>bug-90819-20120713131317.patch</filename>
            <type>text/plain</type>
            <size>129302</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODliOGUzN2I5Mzg2N2Fi
YzA1YzQ3MmM5MDEyOTkxZjJhNzE2NzhlOC4uMTJkMmFlODA1MDM4YzNiMTk5MmRkNmFmNzMyM2Nm
ZDBiNmE0YTI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyOCBAQAorMjAxMi0wNy0xMyAgQW5u
YSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29udmVydCBNZWRp
YSBTb3VyY2UgdG8gbmV3IG9iamVjdC1vcmllbnRlZCBBUEkgKG5vdCBpbnRlbmRlZCBmb3IgY29t
bWl0IG9yIHJldmlldyAtIGZvciAKKyAgICAgICAgICAgIGRpc2N1c3Npb24vcmVmZXJlbmNlIG9u
bHkpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4
MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Y2hhbmdlcyByZWZsZWN0IHRoZSBuZXcgTWVkaWFTb3VyY2UgQVBJOgorICAgICAgICBodHRwOi8v
ZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS5odG1sCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvKgorCisgICAgICAgIFVwZGF0ZSBidWlsZCBmaWxlcyB3aXRoIG5ldyBjbGFzc2VzOgorICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKworICAgICAg
ICBOZXcgT2JqZWN0czoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Ok1lZGlhU291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzb3VyY2VCdWZmZXJzKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTb3VyY2U6OnJlbW92ZVNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZTo6cmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6c2V0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmJ1ZmZlcmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphcHBlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTb3VyY2U6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
OjplbmRPZlN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZXZlbnRUYXJnZXREYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKE1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU291cmNlOjpvcGVuS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZTo6Y2xvc2VkS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZW5kZWRL
ZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjp+TWVkaWFTb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnNldE1lZGlhUGxheWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJl
Z2lzdHJ5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVy
TWVkaWFTb3VyY2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VSZWdpc3RyeTo6
dW5yZWdpc3Rlck1lZGlhU291cmNlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
UmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKE1lZGlhU291cmNlUmVnaXN0cnkpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXI6OmJ1ZmZlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YWJvcnQpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjppZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNldE1lZGlhU291cmNlKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpTb3VyY2VCdWZm
ZXJMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZm
ZXJMaXN0OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y2xl
YXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlQW5kRmlyZUV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OmludGVyZmFjZU5hbWUp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpldmVudFRhcmdldERh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNvdXJjZUJ1ZmZlckxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6On5Tb3VyY2VCdWZmZXJMaXN0KToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsOiBBZGRlZC4KKworICAg
ICAgICBBZGRpbmcgbmV3IG9iamVjdHMsIG5ldyBldmVudHMsIGFuZCBuZXcgY29uc3RydWN0b3Jz
OgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVS
TCk6CisgICAgICAgICogaHRtbC9ET01VUkwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoRE9NVVJMKToKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW46CisKKyAgICAgICAgQXR0YWNoaW5nIE1lZGlhIFNvdXJjZSBv
YmplY3RzIHRvIEhUTUxNZWRpYUVsZW1lbnQ6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudCk6IEluaXRpYWxpemUgbmV3IE1lZGlhU291cmNlIGxv
Y2FsLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxvYWQp
OiBTZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKTogR2V0IE1lZGlhU291cmNlIG9iamVjdCBmcm9tIGJs
b2IgcmVnaXN0cnkKKyAgICAgICAgICAgIGxvb2sgdXAgYW5kLCBpZiBmb3VuZCwgc2V0IGl0J3Mg
TWVkaWFQbGF5ZXIgcG9pbnRlciB0byB0aGUgY3VycmVudCBNZWRpYVBsYXllci4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om5vbmVTdXBwb3J0ZWQpOiBTZXQgc291cmNlIHN0
YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVk
aWFFbmdpbmVFcnJvcik6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXJjZU9wZW5lZCk6IFNldCBz
b3VyY2Ugc3RhdGUgdG8gIm9wZW4iLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2Vlayk6IENoZWNrIGlmIHNvdXJjZSBzdGF0ZSBpcyAiY2xvc2VkIiB0byBpbmRpY2F0ZSB0
aGF0CisgICAgICAgICAgICBubyBzZWVrIGlzIHJlcXVpcmVkLiAgSWYgc291cmNlIHN0YXRlIGlz
ICJlbmRlZCIsIHJlb3BlbiBpdC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnNldFNvdXJjZVN0YXRlKTogSGVscGVyIGZ1bmN0aW9uIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0
bworICAgICAgICAgICAga2VlcCBjaGVja2luZyBmb3IgbV9tZWRpYVNvdXJjZS4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVzZXJDYW5jZWxsZWRMb2FkKTogU2V0IHNvdXJj
ZSBzdGF0ZSB0byAiY2xvc2VkIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmNyZWF0ZU1lZGlhUGxheWVyKTogSWYgdGhlIGN1cnJlbnQgTWVkaWFQbGF5ZXIgaXMgcmUtCisg
ICAgICAgICAgICBjcmVhdGVkLCBub3RpZnkgdGhlIE1lZGlhU291cmNlIGFuZCByZXNldCBpdHMg
TWVkaWFQbGF5ZXIuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEyLTA3LTEzICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhUTUxDb2xsZWN0aW9uIHNob3VsZCB1c2UgRHluYW1p
Y05vZGVMaXN0J3MgaW52YWxpZGF0aW9uIG1vZGVsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDA4
ZjA2NGE5NGU1ZTI5NDI3Yzc2ZDExYmFlZDcxNDdiN2Y5MDg4YjcuLjBlYjA5ZTliNzJiOTU4N2Fm
ODM3MGQzMGIzMDUzYmMwYzRlYTdhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNTUyLDYg
KzI1NTIsMjMgQEAgSUYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgKQogRU5ESUYgKCkKIAor
SUYgKEVOQUJMRV9NRURJQV9TT1VSQ0UpCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JTkNMVURF
X0RJUkVDVE9SSUVTCisgICAgICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFzb3VyY2UK
KyAgICApCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuaWRsCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5pZGwKKyAgICApCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAg
ICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisgICAgICAgIE1vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAKKyAgICAgICAgTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyTGlzdC5jcHAKKyAgICApCitFTkRJRigpCisKIElGIChFTkFCTEVfV0VCX0FVRElP
KQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBNb2R1bGVzL3dlYmF1
ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggNmIyODY1NTEyZjRhODhjNzk2N2NiODk0MjY0MDUxNGU4MGY1NzNjOC4uZTBlY2EwODQ5NjA4
MTY4MmNlODgyNGJkYTFlMjg4Njc3ZjUxZjQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0zODMsNiArMzgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWVkaWFMaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlz
dC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lZGlhU3RyZWFtLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlh
U3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbUV2ZW50LmNw
cCBcCkBAIC01MDMsNiArNTA1LDEwIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NoYXJlZFdvcmtlci5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU2lnbmFsaW5nQ2FsbGJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU2lnbmFsaW5nQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJj
ZUJ1ZmZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXIuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyTGlzdC5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTU3BlZWNoSW5wdXRFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTcGVlY2hJbnB1dEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTcGVl
Y2hJbnB1dFJlc3VsdC5jcHAgXApAQCAtNjkyLDYgKzY5OCw5IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3IuaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlk
bCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCisJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAorCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAJJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwg
XAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwgXApAQCAt
MTE1OSw2ICsxMTY4LDE0IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdlR3JvdXBJbmRleGVkRGF0YWJhc2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRh
YmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRl
eHRJbmRleGVkRGF0YWJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjIwY2NlZDY2YWVmN2M2NDdkOTY4YmU1YTg3MDE3ZWZmMmU4MThjZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBA
IC0wLDAgKzEsMjQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKKworI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisKKyNpbmNsdWRlICJDb250ZW50VHlw
ZS5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiVGltZVJhbmdlcy5oIgorI2luY2x1
ZGUgPHd0Zi9VaW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0
cjxNZWRpYVNvdXJjZT4gTWVkaWFTb3VyY2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTb3VyY2UoY29udGV4
dCkpOworfQorCitNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKGNvbnRleHQpCisg
ICAgLCBtX3JlYWR5U3RhdGUoY2xvc2VkS2V5d29yZCgpKQorICAgICwgbV9wbGF5ZXIoMCkKKyAg
ICAsIG1fbmV4dFNvdXJjZUJ1ZmZlcklkKDApCit7CisgICAgbV9zb3VyY2VCdWZmZXJzID0gU291
cmNlQnVmZmVyTGlzdDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK1Nv
dXJjZUJ1ZmZlckxpc3QqIE1lZGlhU291cmNlOjpzb3VyY2VCdWZmZXJzKCkKK3sKKyAgICBpZiAo
bV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQoKSkKKyAgICAgICAgcmV0dXJuIFNvdXJjZUJ1
ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLmdldCgpOworICAgIHJl
dHVybiBtX3NvdXJjZUJ1ZmZlcnMuZ2V0KCk7Cit9CisKK1NvdXJjZUJ1ZmZlciogTWVkaWFTb3Vy
Y2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICh0eXBlLmlzTnVsbCgpIHx8IHR5cGUuaXNFbXB0eSgpKSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBDb250ZW50VHlwZSBjb250ZW50VHlwZSh0eXBlKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBjb2Rl
Y3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKKworICAgIGlmICghY29kZWNzLnNpemUoKSkgewor
ICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1ZmZlciA9IFNvdXJjZUJ1ZmZlcjo6Y3Jl
YXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNlQnVmZmVySWQpLCB0eXBlKTsKKworICAg
IHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGJ1ZmZlci0+aWQoKSwgY29udGVudFR5cGUu
dHlwZSgpLCBjb2RlY3MpKSB7CisgICAgY2FzZSBNZWRpYVBsYXllcjo6T2s6CisgICAgICAgIGJ1
ZmZlci0+c2V0TWVkaWFTb3VyY2UodGhpcyk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy0+YWRk
KGJ1ZmZlcik7CisgICAgICAgIHJldHVybiBidWZmZXIuZ2V0KCk7CisgICAgY2FzZSBNZWRpYVBs
YXllcjo6Tm90U3VwcG9ydGVkOgorICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAg
ICAgICByZXR1cm4gMDsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVkSWRMaW1pdDoKKyAg
ICAgICAgZWMgPSBRVU9UQV9FWENFRURFRF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIE1lZGlhU291cmNlOjpyZW1v
dmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyKiBidWZmZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIGlmICghYnVmZmVyKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFtX3BsYXllciB8fCAhbV9zb3VyY2VC
dWZmZXJzLT5sZW5ndGgoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFtX3NvdXJjZUJ1ZmZlcnMtPnJlbW92ZShi
dWZmZXIpKSB7CisgICAgICAgIGVjID0gTk9UX0ZPVU5EX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZVJlbW92ZUlkKGJ1ZmZlci0+aWQoKSkp
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitjb25zdCBTdHJpbmcmIE1lZGlh
U291cmNlOjpyZWFkeVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWFkeVN0YXRlOwor
fQorCit2b2lkIE1lZGlhU291cmNlOjpzZXRTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQorewor
ICAgIEFTU0VSVChzdGF0ZSA9PSBvcGVuS2V5d29yZCgpIHx8IHN0YXRlID09IGNsb3NlZEtleXdv
cmQoKSB8fCBzdGF0ZSA9PSBlbmRlZEtleXdvcmQoKSk7CisgICAgU3RyaW5nIG9sZFN0YXRlID0g
bV9yZWFkeVN0YXRlOworICAgIG1fcmVhZHlTdGF0ZSA9IHN0YXRlOworCisgICAgaWYgKG1fcmVh
ZHlTdGF0ZSA9PSBvbGRTdGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcmVhZHlT
dGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsKKyAgICAgICAgbV9zb3VyY2VCdWZmZXJzLT5jbGVh
cigpOworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndl
YmtpdHNvdXJjZWNsb3NlRXZlbnQsIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgCisgICAgaWYgKG9sZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0
YXRlID09IGVuZGVkS2V5d29yZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIHRydWUpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gb3Blbktl
eXdvcmQoKSkgeworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCwgZmFsc2UsIHRydWUpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KK30KKworUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBNZWRpYVNvdXJjZTo6YnVmZmVy
ZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYg
KCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAg
IHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQpOworfQorCit2b2lkIE1lZGlhU291
cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRh
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRhdGEuZ2V0KCkpIHsKKyAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoIWRhdGEtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGxheWVy
LT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEtPmRhdGEoKSwgZGF0YS0+bGVuZ3RoKCkpKSB7CisgICAg
ICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKwordm9pZCBN
ZWRpYVNvdXJjZTo6YWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgewor
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKwordm9pZCBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oY29uc3QgU3Ry
aW5nJiBlcnJvciwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFtX3BsYXllciB8fCBt
X3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RB
VEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6OkVuZE9m
U3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworCisgICAg
aWYgKGVycm9yLmlzTnVsbCgpIHx8IGVycm9yLmlzRW1wdHkoKSkKKyAgICAgICAgZW9zU3RhdHVz
ID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7CisgICAgZWxzZSBpZiAoZXJyb3IgPT0gIm5ldHdv
cmsiKQorICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0d29ya0Vycm9yOwor
ICAgIGVsc2UgaWYgKGVycm9yID09ICJkZWNvZGUiKQorICAgICAgICBlb3NTdGF0dXMgPSBNZWRp
YVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2V0U3RhdGUoZW5k
ZWRLZXl3b3JkKCkpOworICAgIG1fcGxheWVyLT5zb3VyY2VFbmRPZlN0cmVhbShlb3NTdGF0dXMp
OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNlOjppbnRlcmZhY2VOYW1lKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvck1lZGlhU291cmNl
OworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBNZWRpYVNvdXJjZTo6c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogTWVk
aWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0
RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBNZWRpYVNvdXJjZTo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ZjNlNzFkMTE4YTIwNGQ3ZDg3
ZTFmMmE1YzYxMjM0OTY2ZDBhZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTAsMCArMSwxMDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE1lZGlhU291cmNlX2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VfaAorCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5j
bHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXIuaCIKKyNpbmNsdWRl
ICJTb3VyY2VCdWZmZXJMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVk
PE1lZGlhU291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQ29udGV4dERlc3RydWN0
aW9uT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIG9wZW5LZXl3
b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBv
cGVuLCAoIm9wZW4iKSk7CisgICAgICAgIHJldHVybiBvcGVuOworICAgIH0KKworICAgIHN0YXRp
YyBjb25zdCBTdHJpbmcmIGNsb3NlZEtleXdvcmQoKQorICAgIHsKKyAgICAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJjbG9zZWQiKSk7CisgICAgICAgIHJl
dHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgZW5kZWRLZXl3
b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBl
bmRlZCwgKCJlbmRlZCIpKTsKKyAgICAgICAgcmV0dXJuIGVuZGVkOworICAgIH0KKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlKCkgeyB9CisKKyAgICBTb3VyY2VCdWZmZXJM
aXN0KiBzb3VyY2VCdWZmZXJzKCk7CisKKyAgICBTb3VyY2VCdWZmZXIqIGFkZFNvdXJjZUJ1ZmZl
cihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlbW92ZVNv
dXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIqLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBjb25zdCBT
dHJpbmcmIHJlYWR5U3RhdGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFN0YXRlKGNvbnN0IFN0cmlu
ZyYpOworCisgICAgdm9pZCBzZXRNZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKSB7IG1f
cGxheWVyID0gcGxheWVyOyB9CisgICAgCisgICAgUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZm
ZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdm9pZCBh
cHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNl
cHRpb25Db2RlJik7CisgICAgdm9pZCBhYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25D
b2RlJik7CisgICAgdm9pZCBlbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVycm9yLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFt
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVm
Q291bnRlZDxNZWRpYVNvdXJjZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291
cmNlPjo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTWVkaWFTb3VyY2UoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50
VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1
cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgdm9pZCByZWZFdmVu
dFRhcmdldCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVu
dFRhcmdldCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQorCisgICAgRXZlbnRUYXJnZXREYXRhIG1f
ZXZlbnRUYXJnZXREYXRhOworCisgICAgU3RyaW5nIG1fcmVhZHlTdGF0ZTsKKyAgICBNZWRpYVBs
YXllciogbV9wbGF5ZXI7IC8vIDwtLSBzaG91bGQgdGhpcyBiZSBhIFJlZlB0cj8KKworICAgIFJl
ZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBtX3NvdXJjZUJ1ZmZlcnM7CisgICAgaW50IG1fbmV4dFNv
dXJjZUJ1ZmZlcklkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NjhmMmQ4Zjg5ZjhjZmYzZTQ0NzZhNmFkNGEwZmNlZjRmOTk2
YzFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5pZGwKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCittb2R1bGUgaHRtbCB7CisKKyAgICBp
bnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4
RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAg
ICAgIENvbnN0cnVjdG9yLAorICAgICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
CisgICAgXSBNZWRpYVNvdXJjZSB7CisgICAgICAgIC8vIEFsbCB0aGUgc291cmNlIGJ1ZmZlcnMg
Y3JlYXRlZCBieSB0aGlzIG9iamVjdC4KKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJj
ZUJ1ZmZlckxpc3Qgc291cmNlQnVmZmVyczsKKworICAgICAgICAvLyBTdWJzZXQgb2Ygc291cmNl
QnVmZmVycyB0aGF0IHByb3ZpZGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkL2VuYWJsZWQgdHJhY2tz
LgorICAgICAgICAvLyBUT0RPOiBlbmFibGUgdHJhY2sgc2VsZWN0aW9uLgorICAgICAgICAvLyBy
ZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyTGlzdCBhY3RpdmVTb3VyY2VCdWZmZXJzOwor
CisgICAgICAgIFNvdXJjZUJ1ZmZlciBhZGRTb3VyY2VCdWZmZXIoaW4gRE9NU3RyaW5nIHR5cGUp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1vdmVTb3VyY2VCdWZmZXIo
aW4gU291cmNlQnVmZmVyIGJ1ZmZlcikgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAgICAg
IC8vZW51bSBTdGF0ZSB7ICJjbG9zZWQiLCAib3BlbiIsICJlbmRlZCIgfTsKKyAgICAgICAgLy9y
ZWFkb25seSBhdHRyaWJ1dGUgU3RhdGUgcmVhZHlTdGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOworICAgICAgICAKKyAgICAgICAgLy8gZW51bSBF
bmRPZlN0cmVhbUVycm9yIHsgIm5ldHdvcmsiLCAiZGVjb2RlIiB9OworICAgICAgICB2b2lkIGVu
ZE9mU3RyZWFtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgZXJy
b3IpCisgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgCisgICAg
ICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50
TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29s
ZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZl
bnRFeGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNjNzNhZmIxMzM1ZGNiNDlhNjg4OTUwYzBjNDFkYTlkMDFiZWUzYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisj
aW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRp
YVNvdXJjZVJlZ2lzdHJ5JiBNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCit7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU291
cmNlUmVnaXN0cnksIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2
b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VS
TCYgdXJsLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCit7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICBtX21lZGlhU291cmNlcy5zZXQodXJsLnN0cmluZygpLCBzb3Vy
Y2UpOworfQorCit2b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVNvdXJj
ZVVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAg
ICBtX21lZGlhU291cmNlcy5yZW1vdmUodXJsLnN0cmluZygpKTsKK30KKworTWVkaWFTb3VyY2Uq
IE1lZGlhU291cmNlUmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJs
KQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fbWVkaWFTb3Vy
Y2VzLmdldCh1cmwpLmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlUmVnaXN0cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjAzZTNhZjE4NjdmNTBlNmE4Y2Y5NDNlN2Jl
YTI2ZTlmMjJhYmEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBNZWRpYVNvdXJjZVJlZ2lzdHJ5X2gKKyNkZWZpbmUgTWVkaWFTb3Vy
Y2VSZWdpc3RyeV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOwor
Y2xhc3MgTWVkaWFTb3VyY2U7CisKK2NsYXNzIE1lZGlhU291cmNlUmVnaXN0cnkgeworcHVibGlj
OgorICAgIC8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgTWVkaWFTb3VyY2VSZWdpc3Ry
eS4KKyAgICBzdGF0aWMgTWVkaWFTb3VyY2VSZWdpc3RyeSYgcmVnaXN0cnkoKTsKKworICAgIC8v
IFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIG1lZGlhIHNv
dXJjZS4KKyAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYsIFBhc3NS
ZWZQdHI8TWVkaWFTb3VyY2U+KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChj
b25zdCBLVVJMJik7CisKKyAgICBNZWRpYVNvdXJjZSogbG9va3VwTWVkaWFTb3VyY2UoY29uc3Qg
U3RyaW5nJiB1cmwpOworCitwcml2YXRlOgorICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVk
aWFTb3VyY2U+ID4gbV9tZWRpYVNvdXJjZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZjZDgwYjAzNGVmYWZmZjlkMjMy
ZGRjN2JhNDNlNDBhMTJhNGQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIlNv
dXJjZUJ1ZmZlci5oIgorCisjaW5jbHVkZSAiVGltZVJhbmdlcy5oIgorI2luY2x1ZGUgPHd0Zi9V
aW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU291cmNlQnVmZmVyOjpTb3Vy
Y2VCdWZmZXIoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlKQorICAgIDogbV9p
ZChpZCkKKyAgICAsIG1fdHlwZSh0eXBlKQorICAgICwgbV9zb3VyY2UoMCkKK3sKK30KKworU291
cmNlQnVmZmVyOjp+U291cmNlQnVmZmVyKCkKK3sKK30KKworUGFzc1JlZlB0cjxUaW1lUmFuZ2Vz
PiBTb3VyY2VCdWZmZXI6OmJ1ZmZlcmVkKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAg
IGlmICghbV9zb3VyY2UpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIG1fc291cmNlLT5idWZmZXJlZChpZCgp
LCBlYyk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyOjphcHBlbmQoUGFzc1JlZlB0cjxVaW50OEFy
cmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7Cisg
ICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBtX3NvdXJjZS0+YXBwZW5kKGlkKCksIGRhdGEsIGVjKTsKK30KKwordm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0KEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghbV9zb3VyY2UpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIG1fc291cmNlLT5hYm9ydChpZCgpLCBlYyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTk0OGNlNDhjMzM5MWM1MDc4M2IzYmZhZDgx
NmM3ZWQ5NTU4NDhmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTb3VyY2VC
dWZmZXJfaAorI2RlZmluZSBTb3VyY2VCdWZmZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZS5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBUaW1lUmFuZ2VzOworCitjbGFzcyBTb3VyY2VCdWZmZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxTb3VyY2VCdWZmZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
b3VyY2VCdWZmZXI+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlcihpZCwgdHlw
ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlcigpOworCisgICAgUGFzc1Jl
ZlB0cjxUaW1lUmFuZ2VzPiBidWZmZXJlZChFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKKyAgICB2
b2lkIGFwcGVuZChQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsK
KworICAgIHZvaWQgYWJvcnQoRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3QgU3RyaW5nJiBp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KKworICAgIHZvaWQgc2V0TWVkaWFTb3VyY2UoUGFz
c1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKSB7IG1fc291cmNlID0gc291cmNlOyB9CisKK3By
aXZhdGU6CisgICAgU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYg
dHlwZSk7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV90eXBlOworICAgIFJlZlB0
cjxNZWRpYVNvdXJjZT4gbV9zb3VyY2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyYjljYjYxOGY1NTAxNTUyN2IzZDY5
YWYyOTZmNjlmN2JkOWY1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21vZHVsZSBo
dG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJD
RSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlCisgICAgXSBTb3VyY2VC
dWZmZXIgeworCisgICAgICAgIC8vIFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkLgor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyBidWZmZXJlZAorICAgICAgICAg
ICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworCisgICAgICAgIC8vIEFwcGVuZCBzZWdt
ZW50IGRhdGEuCisgICAgICAgIHZvaWQgYXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworCisgICAgICAgIC8vIEFib3J0IHRoZSBjdXJyZW50IHNlZ21lbnQg
YXBwZW5kIHNlcXVlbmNlLgorICAgICAgICB2b2lkIGFib3J0KCkgcmFpc2VzIChET01FeGNlcHRp
b24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxMDIxYzgzNDk0OTkz
MGM0NTM3Y2EyNzUzNjQ4YjBhY2IzMjgzMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC0wLDAgKzEs
MTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKwor
I2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3QuaCIKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5j
bHVkZSAiU291cmNlQnVmZmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU291cmNlQnVm
ZmVyTGlzdDo6U291cmNlQnVmZmVyTGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQorICAgIDogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHQpCit7Cit9CisKK3Vuc2ln
bmVkIGxvbmcgU291cmNlQnVmZmVyTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9saXN0LnNpemUoKTsKK30KKworU291cmNlQnVmZmVyKiBTb3VyY2VCdWZmZXJMaXN0OjppdGVt
KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBtX2xpc3Quc2l6ZSgp
KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9saXN0W2luZGV4XS5nZXQoKTsKK30K
Kwordm9pZCBTb3VyY2VCdWZmZXJMaXN0OjphZGQoUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1
ZmZlcikKK3sKKyAgICBtX2xpc3QuYXBwZW5kKGJ1ZmZlcik7CisgICAgY3JlYXRlQW5kRmlyZUV2
ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRhZGRzb3VyY2VidWZmZXJFdmVudCk7Cit9CisKK2Jvb2wg
U291cmNlQnVmZmVyTGlzdDo6cmVtb3ZlKFNvdXJjZUJ1ZmZlciogYnVmZmVyKQoreyAgICAKKyAg
ICBzaXplX3QgaW5kZXggPSBtX2xpc3QuZmluZChidWZmZXIpOworICAgIGlmIChpbmRleCA9PSBu
b3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9saXN0LnJlbW92ZShpbmRl
eCk7CisgICAgY3JlYXRlQW5kRmlyZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRyZW1vdmVzb3Vy
Y2VidWZmZXJFdmVudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVy
TGlzdDo6Y2xlYXIoKQoreworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9saXN0LnNpemUo
KTsgKytpKQorICAgICAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHJl
bW92ZXNvdXJjZWJ1ZmZlckV2ZW50KTsKKyAgICBtX2xpc3QuY2xlYXIoKTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJMaXN0OjpjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudE5hbWUpCit7CisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lLCBmYWxzZSwgdHJ1ZSk7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKworICAg
IEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBTb3VyY2VCdWZmZXJMaXN0OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNvdXJjZUJ1ZmZlckxpc3Q7Cit9CisKK1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIFNvdXJjZUJ1ZmZlckxpc3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Cit9CisK
K0V2ZW50VGFyZ2V0RGF0YSogU291cmNlQnVmZmVyTGlzdDo6ZXZlbnRUYXJnZXREYXRhKCkKK3sK
KyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEqIFNv
dXJjZUJ1ZmZlckxpc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZt
X2V2ZW50VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXJMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM3MmVlMTZmNDI1MmM1MDZhMmE4NzUxMWVmNmQ5NGMzNTdk
MDEyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNvdXJjZUJ1ZmZl
ckxpc3RfaAorI2RlZmluZSBTb3VyY2VCdWZmZXJMaXN0X2gKKworI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisKKworI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU291cmNlQnVmZmVyOworCitjbGFzcyBTb3VyY2VCdWZmZXJMaXN0IDogcHVibGlj
IFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyTGlzdD4sIHB1YmxpYyBFdmVudFRhcmdldCB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNvdXJjZUJ1ZmZlckxpc3QoY29udGV4dCkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5T
b3VyY2VCdWZmZXJMaXN0KCkgeyB9CisKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgpIGNvbnN0
OworICAgIFNvdXJjZUJ1ZmZlciogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisKKyAgICB2
b2lkIGFkZChQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4pOworICAgIGJvb2wgcmVtb3ZlKFNvdXJj
ZUJ1ZmZlciopOworICAgIHZvaWQgY2xlYXIoKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZQorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29u
c3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKKyAgICB1c2luZyBSZWZDb3VudGVk
PFNvdXJjZUJ1ZmZlckxpc3Q+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxTb3VyY2VCdWZm
ZXJMaXN0Pjo6ZGVyZWY7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0
YSogZXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERh
dGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IFNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAg
dm9pZCBjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJik7CisKKyAgICB2aXJ0
dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IHJlZigpOyB9CisgICAgdmlydHVh
bCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IGRlcmVmKCk7IH0KKworICAgIEV2
ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKKyAgICBWZWN0b3I8UmVmUHRyPFNvdXJj
ZUJ1ZmZlcj4gPiBtX2xpc3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlckxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWVkZGNhYThmNTQ0YTQ0YWZjZWRk
YmY4ODlhZjIzYzBiYWYwMmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21v
ZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlLAorICAgICAg
ICBJbmRleGVkR2V0dGVyLAorICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gU291cmNlQnVmZmVyTGlzdCB7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgU291cmNl
QnVmZmVyIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisKKyAgICAgICAgLy8gRXZlbnRU
YXJnZXQgaW50ZXJmYWNlCisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJp
bmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIg
bGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJv
b2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBE
T01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50
TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hF
dmVudChpbiBFdmVudCBldmVudCkKKyAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7
CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCBj
Mjc0ZTJmMDNlYmJlMmMzYjgzODg4ZTk5OWRmZjg0MWY5MmE5Y2QwLi5hMGZjYWFhMWMwNGYyYTM1
M2JmZTNhZmYwNmQ2MGIzOGU2NjIzNTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cApAQCAtNjAsNiArNjAsNyBAQAogICAgICAgJy4uL01vZHVsZXMvZ2VvbG9jYXRpb24n
LAogICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAnLi4vTW9kdWxlcy9pbmRleGVk
ZGInLAorICAgICAgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4uL01vZHVsZXMv
bWVkaWFzdHJlYW0nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAn
Li4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApAQCAtMTA1NCw2ICsxMDU1LDcgQEAKICAgICAg
ICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ZpbGVzeXN0ZW0nLAogICAgICAgICAg
ICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAgICAgICAgICAg
Jy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAorICAgICAgICAgICAgICAnLS1pbmNs
dWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywg
Jy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAn
Li4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGIzMTExMjQ3
YzA0M2M2NzliZmI3MzU1ZGIwYmFlNGI1YzkwYTU1YmUuLmQyNjEyOWVkYjY3MjE2OWFkMTQ0YTQ3
NTA5NjJmOTBlYjNkNGE2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTgyNSw2ICs4MjUsOSBAQAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsJywKQEAgLTE1MzUsNiArMTUzOCwxNCBA
QAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxsYmFjay5oJywK
ICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5jcHAnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmgnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywKKyAgICAgICAgICAgICdNb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3Ry
ZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTU0ODJiNzIzMGIwNDhmMjg4
MDdlY2U2Y2M0ODNkMzdlODFmNWRkOS4uOTJkMDFkN2MyYWE3ZjIwZjA2Y2QwZmQ5YTI1ZmU0Njg5
YjhmYTRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTE1NjgsNiArMTE1NjgsMTcgQEAKIAkJQjFBRDRFNzExM0ExMkE0NjAw
ODQ2QjI3IC8qIFRleHRUcmFja0xvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBUZXh0VHJhY2tMb2FkZXIuY3BwOyBwYXRoID0gbG9hZGVyL1RleHRUcmFja0xv
YWRlci5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQjFBRDRFNzIxM0ExMkE0
NjAwODQ2QjI3IC8qIFRleHRUcmFja0xvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBUZXh0VHJhY2tMb2FkZXIuaDsgcGF0aCA9IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIu
aDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlCMUQ1RUNCNDEzNEI1OERBMDA4N0M3
OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDYWxsYmFja0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYx
QTM1MTVBM0ExRjQwMDE2ODJBNiAvKiBNZWRpYVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVNvdXJjZS5jcHA7IHBhdGggPSBNb2R1bGVzL21lZGlh
c291cmNlL01lZGlhU291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFF
RjFBMzYxNUEzQTFGNDAwMTY4MkE2IC8qIE1lZGlhU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE1lZGlhU291cmNlLmg7IHBhdGggPSBNb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTM3MTVB
M0ExRjQwMDE2ODJBNiAvKiBNZWRpYVNvdXJjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0g
TWVkaWFTb3VyY2UuaWRsOyBwYXRoID0gTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTM4MTVBM0ExRjQwMDE2ODJB
NiAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IE1lZGlhU291cmNlUmVnaXN0cnkuY3BwOyBwYXRoID0gTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjFFRjFBMzkxNUEzQTFGNDAwMTY4MkE2IC8qIE1lZGlhU291cmNlUmVnaXN0cnkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5oOyBwYXRo
ID0gTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTNBMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VCdWZm
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU291cmNlQnVmZmVy
LmNwcDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFRjFBM0IxNUEzQTFGNDAwMTY4MkE2IC8qIFNvdXJj
ZUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXIu
aDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTNDMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VCdWZm
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFNvdXJjZUJ1ZmZlci5pZGw7IHBhdGggPSBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxRUYxQTNEMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VCdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNvdXJjZUJ1ZmZlckxpc3Qu
Y3BwOyBwYXRoID0gTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFRjFBM0UxNUEzQTFGNDAwMTY4MkE2IC8qIFNv
dXJjZUJ1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNl
QnVmZmVyTGlzdC5oOyBwYXRoID0gTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRUYxQTNGMTVBM0ExRjQwMDE2ODJB
NiAvKiBTb3VyY2VCdWZmZXJMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTb3VyY2VC
dWZmZXJMaXN0LmlkbDsgcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlz
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUwMERC
MEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1NWR0FFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjIyMjc3Q0IwRDAwQkYxRjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGlzdGFuY2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM5NTcsNiArMTM5NjgsMTcgQEAKIAkJ
MDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjFFRjFBMzUxNUEzQTFGNDAwMTY4MkE2IC8qIE1l
ZGlhU291cmNlLmNwcCAqLywKKwkJCQlCMUVGMUEzNjE1QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFT
b3VyY2UuaCAqLywKKwkJCQlCMUVGMUEzNzE1QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFTb3VyY2Uu
aWRsICovLAorCQkJCUIxRUYxQTM4MTVBM0ExRjQwMDE2ODJBNiAvKiBNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmNwcCAqLywKKwkJCQlCMUVGMUEzOTE1QTNBMUY0MDAxNjgyQTYgLyogTWVkaWFTb3VyY2VS
ZWdpc3RyeS5oICovLAorCQkJCUIxRUYxQTNBMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VCdWZm
ZXIuY3BwICovLAorCQkJCUIxRUYxQTNCMTVBM0ExRjQwMDE2ODJBNiAvKiBTb3VyY2VCdWZmZXIu
aCAqLywKKwkJCQlCMUVGMUEzQzE1QTNBMUY0MDAxNjgyQTYgLyogU291cmNlQnVmZmVyLmlkbCAq
LywKKwkJCQlCMUVGMUEzRDE1QTNBMUY0MDAxNjgyQTYgLyogU291cmNlQnVmZmVyTGlzdC5jcHAg
Ki8sCisJCQkJQjFFRjFBM0UxNUEzQTFGNDAwMTY4MkE2IC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCAq
LywKKwkJCQlCMUVGMUEzRjE1QTNBMUY0MDAxNjgyQTYgLyogU291cmNlQnVmZmVyTGlzdC5pZGwg
Ki8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVE
RUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2
MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAppbmRleCA4MzZlNjMwOGIwZGFjZjlkYjFmNzc1ZmZmMjkzNGYxYjc2ZGZjMThh
Li45ODNkZjI5ZThiZjJlYzcwMjc2ZDY2ODU0NTM1OWMwOTRmNmU4ZGMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmgKQEAgLTE1Nyw2ICsxNTcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBcCiAgICAgbWFjcm8od2Via2l0ZW5kZnVsbHNj
cmVlbikgXAogICAgIFwKKyAgICBtYWNybyh3ZWJraXRhZGRzb3VyY2VidWZmZXIpIFwKKyAgICBt
YWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2Vv
cGVuKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNlZW5kZWQpIFwKICAgICBtYWNybyh3ZWJraXRz
b3VyY2VjbG9zZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBmMzg3ZTQyNzNlZTI2
YTIwNmI2ZDc5OTkxZGUzMmQ5ZGI1NWUyYTZmLi5hMDE0YTE4M2VjOGQzZWZkZmQ1NmIyZGI2OGM4
NTc2NDliMGM1YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNTcsNiArNTcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBj
bGFzcyBNZWRpYUNvbnRyb2xsZXI7CiAgICAgY2xhc3MgTWVkaWFTdHJlYW07CisgICAgY2xhc3Mg
TWVkaWFTb3VyY2U7CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgTm9kZTsKICAg
ICBjbGFzcyBOb3RpZmljYXRpb247CkBAIC02NCw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNzIFNoYXJlZFdv
cmtlcjsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXJDb250ZXh0OworICAgIGNsYXNzIFNvdXJjZUJ1
ZmZlckxpc3Q7CiAgICAgY2xhc3MgVGV4dFRyYWNrOwogICAgIGNsYXNzIFRleHRUcmFja0N1ZTsK
ICAgICBjbGFzcyBXZWJTb2NrZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9y
eS5pbgppbmRleCA4MjE3MTdiMGQ3ZmU3NjUzYWFmM2Y2NWRhMzVlYThlZjk1YmQwNGU0Li4zOTJi
MzA1NDQyNDgxN2ZjZmUwMWYxODMyZjJiOTI1YzFiMDNhYzk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE2LDYgKzE2LDcgQEAgSURCVmVyc2lvbkNoYW5n
ZVJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSmF2YVNjcmlwdEF1ZGlvTm9k
ZSBjb25kaXRpb25hbD1XRUJfQVVESU8KIExvY2FsTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KK01lZGlhU291cmNl
IGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNCiBNZWRpYVN0cmVhbVRyYWNrTGlzdCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1l
c3NhZ2VQb3J0CkBAIC0yNiw2ICsyNyw3IEBAIFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9uYWw9
TUVESUFfU1RSRUFNCiBQZXJmb3JtYW5jZSBjb25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFyZWRX
b3JrZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQgY29u
ZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKK1NvdXJjZUJ1ZmZlckxpc3QgY29uZGl0aW9uYWw9TUVE
SUFfU09VUkNFCiBTcGVlY2hSZWNvZ25pdGlvbiBjb25kaXRpb25hbD1TQ1JJUFRFRF9TUEVFQ0gK
IFNWR0VsZW1lbnRJbnN0YW5jZSBjb25kaXRpb25hbD1TVkcKIFRleHRUcmFjayBjb25kaXRpb25h
bD1WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCmluZGV4IDRmOTc4MGRjZDZiMzM0NzYz
OThiYjRjNjhiNDk4ZTVjYjA5OTE5OTcuLjFkNzE5MGU2OWM5M2Q3NjA5Yjg2ZGIxYjUwN2NlZGY3
MjYxNWNhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKQEAgLTQyLDYgKzQyLDExIEBACiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgorI2luY2x1
ZGUgIk1lZGlhU291cmNlUmVnaXN0cnkuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVn
aXN0cnkuaCIKQEAgLTQ5LDYgKzU0LDI2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCitTdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWVkaWFTb3VyY2Uq
IHNvdXJjZSkKK3sKKyAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgfHwgIXNvdXJjZSkK
KyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJM
OjpjcmVhdGVQdWJsaWNVUkwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4o
KSk7CisgICAgaWYgKHB1YmxpY1VSTC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBTdHJpbmco
KTsKKworICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBNZWRpYVNvdXJjZSBv
YmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisKKyAgICBNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnJlZ2lz
dGVyTWVkaWFTb3VyY2VVUkwocHVibGljVVJMLCBzb3VyY2UpOworICAgIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQtPnB1YmxpY1VSTE1hbmFnZXIoKS5zdHJlYW1VUkxzKCkuYWRkKHB1YmxpY1VSTC5z
dHJpbmcoKSk7CisKKyAgICByZXR1cm4gcHVibGljVVJMLnN0cmluZygpOworfQorI2VuZGlmCisK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJM
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1lZGlhU3Ry
ZWFtKiBzdHJlYW0pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAppbmRleCAyNWFlMDEzZWIwYThhMTBiYzQz
MzNhMGJiYjRhMDc3OTE3YjI3ZmE3Li5kNzFmYjkzZjM1NWI1YWQyZTJmZWJkMmZiOTAzMTgzZDk3
NDEyMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIE1lZGlhU291cmNlOwogY2xhc3MgTWVkaWFT
dHJlYW07CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBAIC00OSw2ICs1MCw5IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBCbG9iKik7CiAgICAgc3RhdGljIHZvaWQgcmV2b2tlT2JqZWN0VVJMKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmKTsKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBNZWRpYVNvdXJjZSopOworI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgTWVkaWFTdHJlYW0qKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCmluZGV4IGVk
MDRjMjNkNWM2N2IzMWMzYjkzNzM2MjA3ZmI0MGFlOTZhMTZhYWEuLmJkN2YyNjBmOGJkMjM4Y2Jh
YWEyNDI1OTQ1ZGEyMTE1MjM1NzY0ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKQEAgLTM2LDYg
KzM2LDEwIEBAIG1vZHVsZSBodG1sIHsKICNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3RyaW5n
IGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVhbT8gc3RyZWFtKTsKICNlbmRpZgorI2lmIGRl
ZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQorICAgICAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCxUcmVhdFJldHVybmVkTnVsbFN0cmlu
Z0FzPU51bGxdIHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlhU291cmNl
PyBzb3VyY2UpOworI2VuZGlmCisKICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3RyaW5nIGNy
ZWF0ZU9iamVjdFVSTChpbiBCbG9iPyBibG9iKTsKICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyB2b2lkIHJldm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcg
dXJsKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCA0NTkwNzhmNjRjMDhiZTJiZTQzMWIwMDg4OGRjZjM5YmRiMzBiODY5Li5jYzI2MDUxNTVj
MGZhYzYzMjM4ZDU3N2Q0MDEwNzY2OTFjYjMwOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjQzLDYgKzI0Myw3IEBAIG9udG91Y2hjYW5jZWwKIG9u
dW5sb2FkCiBvbnZvbHVtZWNoYW5nZQogb253YWl0aW5nCitvbndlYmtpdGFkZHNvdXJjZWJ1ZmZl
cgogb253ZWJraXRhbmltYXRpb25zdGFydAogb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24KIG9u
d2Via2l0YW5pbWF0aW9uZW5kCkBAIC0yNTQsNiArMjU1LDcgQEAgb253ZWJraXRrZXlhZGRlZAog
b253ZWJraXRrZXllcnJvcgogb253ZWJraXRrZXltZXNzYWdlCiBvbndlYmtpdG5lZWRrZXkKK29u
d2Via2l0cmVtb3Zlc291cmNlYnVmZmVyCiBvbndlYmtpdHNvdXJjZWNsb3NlCiBvbndlYmtpdHNv
dXJjZWVuZGVkCiBvbndlYmtpdHNvdXJjZW9wZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCmluZGV4IGJjMWE5ZTYyZWQ3ZGI1ZGFmOTAyMTI0Mzg5NjQwMTdiYWJmMDAw
ZTAuLjUxZTNjN2M2YTY3N2UxZjkxYTE5ZWIwNDQyNzM4NmJlZWJkODlhZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNjQsNiArNjQsOCBAQAogI2luY2x1
ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAi
TWVkaWFTb3VyY2VSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRl
ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIK
QEAgLTE0NSw2ICsxNDcsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZh
bCkKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogLy8gVVJMIHByb3RvY29sIHVzZWQgdG8gc2ln
bmFsIHRoYXQgdGhlIG1lZGlhIHNvdXJjZSBBUEkgaXMgYmVpbmcgdXNlZC4KIHN0YXRpYyBjb25z
dCBjaGFyKiBtZWRpYVNvdXJjZVVSTFByb3RvY29sID0gIngtbWVkaWEtc291cmNlIjsKK3N0YXRp
YyBjb25zdCBjaGFyKiBtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCA9ICJibG9iIjsKICNlbmRpZgog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMjIwLDYgKzIyMyw3IEBAIEhUTUxNZWRp
YUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDAp
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgICAgICAKICAgICAsIG1fc291cmNlU3RhdGUoU09V
UkNFX0NMT1NFRCkKKyAgICAsIG1fbWVkaWFTb3VyY2UoMCkKICNlbmRpZgogICAgICwgbV9jYWNo
ZWRUaW1lKE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKQogICAgICwgbV9jYWNoZWRUaW1lV2Fs
bENsb2NrVXBkYXRlVGltZSgwKQpAQCAtNzAxLDYgKzcwNSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6cHJlcGFyZUZvckxvYWQoKQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgaWYg
KG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKICAgICAgICAgc2V0U291cmNlU3RhdGUo
U09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtl
eXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBJZiB0aGUgbWVkaWEgZWxlbWVudCdzIG5l
dHdvcmtTdGF0ZSBpcyBub3Qgc2V0IHRvIE5FVFdPUktfRU1QVFksIHRoZW4gcnVuIHRoZXNlIHN1
YnN0ZXBzCkBAIC05MjcsNiArOTMyLDE3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFJl
c291cmNlKGNvbnN0IEtVUkwmIGluaXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50CiAgICAg
ICAgIG1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6Rm9ybWF0RXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorCisgICAgaWYgKHVybC5wcm90b2NvbElzKG1lZGlhU291cmNlQmxv
YlByb3RvY29sKSkgeworICAgICAgICBtX21lZGlhU291cmNlID0gYWRvcHRSZWYoTWVkaWFTb3Vy
Y2VSZWdpc3RyeTo6cmVnaXN0cnkoKS5sb29rdXBNZWRpYVNvdXJjZSh1cmwuc3RyaW5nKCkpKTsK
KyAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpIHsKKyAgICAgICAgICAgIG1fbWVkaWFTb3VyY2Ut
PnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyAgICAgICAgICAgIG1fbWVkaWFTb3Vy
Y2VVUkwgPSB1cmw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZWRpYUxvYWRpbmdG
YWlsZWQoTWVkaWFQbGF5ZXI6OkZvcm1hdEVycm9yKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KICNlbmRpZgogCiAgICAgLy8gVGhlIHJlc291cmNlIGZldGNoIGFsZ29y
aXRobSAKQEAgLTE0MjksNiArMTQ0NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1
cHBvcnRlZCgpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBpZiAobV9zb3VyY2VTdGF0
ZSAhPSBTT1VSQ0VfQ0xPU0VEKQogICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfQ0xPU0VE
KTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKICNl
bmRpZgogCiAgICAgLy8gOCAtIFNldCB0aGUgZWxlbWVudCdzIGRlbGF5aW5nLXRoZS1sb2FkLWV2
ZW50IGZsYWcgdG8gZmFsc2UuIFRoaXMgc3RvcHMgZGVsYXlpbmcgdGhlIGxvYWQgZXZlbnQuCkBA
IC0xNDYxLDYgKzE0NzgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lRXJy
b3IoUGFzc1JlZlB0cjxNZWRpYUVycm9yPiBlcnIpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
ICAgICBpZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQogICAgICAgICBzZXRTb3Vy
Y2VTdGF0ZShTT1VSQ0VfQ0xPU0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6
Y2xvc2VkS2V5d29yZCgpKTsKICNlbmRpZgogCiAgICAgLy8gNCAtIFNldCB0aGUgZWxlbWVudCdz
IG5ldHdvcmtTdGF0ZSBhdHRyaWJ1dGUgdG8gdGhlIE5FVFdPUktfRU1QVFkgdmFsdWUgYW5kIHF1
ZXVlIGEKQEAgLTE3MjYsNiArMTc0NCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJTb3VyY2VPcGVuZWQoKQogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKIAogICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9PUEVOKTsKKyAgICBzZXRTb3VyY2VT
dGF0ZShNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQoKSk7CiAKICAgICBlbmRQcm9jZXNzaW5nTWVk
aWFQbGF5ZXJDYWxsYmFjaygpOwogfQpAQCAtMTk2MSw4ICsxOTgwLDkgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAgICAgLy8gQWx3YXlzIG5vdGlmeSB0aGUgbWVkaWEgZW5naW5lIG9m
IGEgc2VlayBpZiB0aGUgc291cmNlIGlzIG5vdCBjbG9zZWQuIFRoaXMgZW5zdXJlcyB0aGF0IHRo
ZSBzb3VyY2UgaXMKICAgICAvLyBhbHdheXMgaW4gYSBmbHVzaGVkIHN0YXRlIHdoZW4gdGhlICdz
ZWVraW5nJyBldmVudCBmaXJlcy4KLSAgICBpZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xP
U0VEKQotICAgICAgbm9TZWVrUmVxdWlyZWQgPSBmYWxzZTsKKyAgICBpZiAobV9zb3VyY2VTdGF0
ZSAhPSBTT1VSQ0VfQ0xPU0VECisgICAgICAgIHx8IChtX21lZGlhU291cmNlICYmIG1fbWVkaWFT
b3VyY2UtPnJlYWR5U3RhdGUoKSAhPSBNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKSkKKyAg
ICAgICAgbm9TZWVrUmVxdWlyZWQgPSBmYWxzZTsKICNlbmRpZgogCiAgICAgaWYgKG5vU2Vla1Jl
cXVpcmVkKSB7CkBAIC0xOTg2LDYgKzIwMDYsOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNl
ZWsoZmxvYXQgdGltZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKICAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfRU5ERUQpCiAgICAgICAgIHNldFNv
dXJjZVN0YXRlKFNPVVJDRV9PUEVOKTsKKyAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiBtX21lZGlh
U291cmNlLT5yZWFkeVN0YXRlKCkgPT0gTWVkaWFTb3VyY2U6OmVuZGVkS2V5d29yZCgpKQorICAg
ICAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQoKSk7CiAjZW5kaWYK
IAogICAgIC8vIDggLSBTZXQgdGhlIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gdG8gdGhlIGdp
dmVuIG5ldyBwbGF5YmFjayBwb3NpdGlvbgpAQCAtMjUwMyw2ICsyNTI1LDE0IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6c2V0U291cmNlU3RhdGUoU291cmNlU3RhdGUgc3RhdGUpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiB9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U291cmNlU3Rh
dGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKK3sKKyAgICBpZiAoIW1fbWVkaWFTb3VyY2UpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fbWVkaWFTb3VyY2UtPnNldFN0YXRlKHN0YXRlKTsKK30KICNl
bmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTM3NDMsNiArMzc3Myw3IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXNlckNhbmNlbGxlZExvYWQoKQogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAgICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKICAg
ICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUo
TWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBJZiB0
aGUgbWVkaWEgZWxlbWVudCdzIHJlYWR5U3RhdGUgYXR0cmlidXRlIGhhcyBhIHZhbHVlIGVxdWFs
IHRvIEhBVkVfTk9USElORywgc2V0IHRoZSAKQEAgLTQyNTAsNiArNDI4MSwxMSBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlhUGxheWVyKCkKICAgICAgICAgbV9hdWRpb1NvdXJj
ZU5vZGUtPnVubG9jaygpOwogICAgIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKyAgICBpZiAobV9tZWRpYVNvdXJjZSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+c2V0TWVk
aWFQbGF5ZXIobV9wbGF5ZXIuZ2V0KCkpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoV0VCX0FV
RElPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA4MmY2Yjc1YmQ1
NmQ0MmE0NzdjZGQzOTAzNzE0YmZjY2M2ZGJmYTdmLi41MWYyMWRjYjg4Mjc1NjM5YzZhZGQ3NWFk
OWZhYTQ2MjcxMmI5MjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApA
QCAtNDUsNiArNDUsMTAgQEAKICNpbmNsdWRlICJUZXh0VHJhY2tDdWUuaCIKICNlbmRpZgogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShXRUJfQVVESU8pCkBAIC0xODIs
NiArMTg2LDcgQEAgcHVibGljOgogICAgIGVudW0gU291cmNlU3RhdGUgeyBTT1VSQ0VfQ0xPU0VE
LCBTT1VSQ0VfT1BFTiwgU09VUkNFX0VOREVEIH07CiAgICAgU291cmNlU3RhdGUgd2Via2l0U291
cmNlU3RhdGUoKSBjb25zdDsKICAgICB2b2lkIHNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRlKTsK
KyAgICB2b2lkIHNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYpOwogCiAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3VyY2VvcGVuKTsKICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJjZWVuZGVkKTsKQEAgLTU5MSw2ICs1OTYs
NyBAQCBwcml2YXRlOgogICAgIEtVUkwgbV9tZWRpYVNvdXJjZVVSTDsKICAgICBTb3VyY2VTdGF0
ZSBtX3NvdXJjZVN0YXRlOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NvdXJjZUlEczsKKyAgICBS
ZWZQdHI8TWVkaWFTb3VyY2U+IG1fbWVkaWFTb3VyY2U7CiAjZW5kaWYKIAogICAgIG11dGFibGUg
ZmxvYXQgbV9jYWNoZWRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDk4NmNi
ZDg4MmJjOGNlNjAxZjZhOWQ3ZDZmZGRlMGYxOTFmNWY4NGQuLjY5M2I0OTM5ZmM4N2JjYzJjZDll
YmQxMTM1NTYzZmMxM2E0YTJkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTc4
MSw2ICs3ODEsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlNdIE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvciBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOwogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
TUVESUFfU09VUkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIE1lZGlhU291cmNl
Q29uc3RydWN0b3IgTWVkaWFTb3VyY2U7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
TUVESUFfU09VUkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZl
ckNvbnN0cnVjdG9yIFNvdXJjZUJ1ZmZlcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gU291cmNlQnVm
ZmVyTGlzdENvbnN0cnVjdG9yIFNvdXJjZUJ1ZmZlckxpc3Q7CisKICNlbmRpZiAvLyBkZWZpbmVk
KExBTkdVQUdFX0pBVkFTQ1JJUFQpCiAKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJ
TkRJTkcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBkMzRmODZjOGZiYTM4MDE5Mzk0NDgzOGQ0YzlkODE5NmQ4YTdkNzM3Li4z
NmE2NzRmMWNmNjEyOTM4OTFlMWNiNWI1NmZjNjAwNzBjMzQ0ZTRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTItMDctMTMgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIENvbnZlcnQgTWVkaWEgU291cmNlIHRvIG5ldyBvYmplY3Qtb3JpZW50ZWQgQVBJ
IChub3QgaW50ZW5kZWQgZm9yIGNvbW1pdCBvciByZXZpZXcgLSBmb3IgZGlzY3Vzc2lvbi9yZWZl
cmVuY2Ugb25seSkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRpYVNvdXJjZSBBUEk6CisgICAgICAg
IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL21lZGlhLXNvdXJjZS5qczoKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50
SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoTWVkaWFTb3VyY2VU
ZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZEluaXRTZWdtZW50KToKKyAgICAgICAg
KE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRNZWRpYVNlZ21l
bnQpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFw
cGVuZFVudGlsRW5kT2ZTdHJlYW0pOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LnNldFNyY1Rv
TWVkaWFTb3VyY2VUZXN0VVJMKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5ydW5PblNvdXJj
ZU9wZW4uZXZlbnRIYW5kbGVyRnVuY3Rpb24pOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LnJ1
bk9uU291cmNlT3Blbik6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUp
OgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKToKKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJl
bW92ZS1pZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3Jz
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1
dGVzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbDoK
KwogMjAxMi0wNy0xMyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IE1vdmUgbGF5b3V0IGNoZWNraW5nIGpzIHNjcmlwdCBpbnRvIExheW91dFRlc3QvcmVzb3VyY2Vz
IGFuZCBnZW5lcmFsaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKaW5kZXggNmRiYjdjYWExMTljN2Y5YzEz
N2E5YTExZjY4YTI5ZWMwNjdmYWQyNS4uMTFkYTBlZGJjNWEyYmRjNTJjYWZiOWE5ZmU5YzYxM2Rm
ZGE1NWY1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvbWVkaWEtc291cmNlLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwpAQCAtMSw0ICsxLDYgQEAKIHZhciBNZWRpYVNv
dXJjZVRlc3QgPSB7fTsKK3ZhciBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOwordmFy
IHNvdXJjZUJ1ZmZlciA9IG51bGw7CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyID0g
ZnVuY3Rpb24oc2VnbWVudEluZm8pCiB7CkBAIC0xMjYsMjcgKzEyOCwzMiBAQCBNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlSWQgPSBmdW5jdGlvbigpCiAg
ICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCh0aGlzLlNvdXJjZUlELCB0aGlzLnNl
Z21lbnRJbmZvLnR5cGUpOwogfTsKIAorTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJv
dG90eXBlLmFkZFNvdXJjZUJ1ZmZlciA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzb3VyY2VCdWZmZXIg
PSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodGhpcy5zZWdtZW50SW5mby50eXBlKTsKK307
CisKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRJbml0U2Vn
bWVudCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVu
ZCh0aGlzLlNvdXJjZUlELCB0aGlzLmluaXRTZWdtZW50KTsKKyAgICBzb3VyY2VCdWZmZXIuYXBw
ZW5kKHRoaXMuaW5pdFNlZ21lbnQpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxw
ZXIucHJvdG90eXBlLmFwcGVuZE1lZGlhU2VnbWVudCA9IGZ1bmN0aW9uKGluZGV4KQogewotICAg
IHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHRoaXMuU291cmNlSUQsIHRoaXMubWVk
aWFTZWdtZW50c1tpbmRleF0pOworICAgIHNvdXJjZUJ1ZmZlci5hcHBlbmQodGhpcy5tZWRpYVNl
Z21lbnRzW2luZGV4XSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90
b3R5cGUuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSA9IGZ1bmN0aW9uKHN0YXJ0SW5kZXgpCiB7Ci0g
ICAgaWYgKCF0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCkgewotICAgICAgICBmYWls
VGVzdCgid2Via2l0U291cmNlQXBwZW5kKCkgaXMgbm90IGF2YWlsYWJsZSIpOworICAgIGlmICgh
c291cmNlQnVmZmVyLmFwcGVuZCkgeworICAgICAgICBmYWlsVGVzdCgiU291cmNlQnVmZmVyLmFw
cGVuZCgpIGlzIG5vdCBhdmFpbGFibGUiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGZvciAodmFyIGluZGV4ID0gc3RhcnRJbmRleDsgaW5kZXggPCB0aGlzLm1lZGlhU2VnbWVudHMu
bGVuZ3RoOyBpbmRleCsrKQogICAgICAgICB0aGlzLmFwcGVuZE1lZGlhU2VnbWVudChpbmRleCk7
CiAKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHRoaXMudmlkZW9U
YWcuRU9TX05PX0VSUk9SKTsKKyAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogfTsKIAog
TWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmdldFRpbWVGb3JNZWRpYVNl
Z21lbnQgPSBmdW5jdGlvbihpbmRleCkKQEAgLTE3Niw3ICsxODMsNyBAQCBNZWRpYVNvdXJjZVRl
c3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwgPSBmdW5jdGlvbih2aWRlb1RhZykKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHZpZGVvVGFnLnNyYyA9IHZpZGVvVGFnLndlYmtpdE1l
ZGlhU291cmNlVVJMOworICAgIHZpZGVvVGFnLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RV
UkwobWVkaWFTb3VyY2UpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0Lm1lZGlhRXJyb3JTdHJpbmcg
PSBmdW5jdGlvbih2aWRlb1RhZykKQEAgLTI3MCwyNCArMjc3LDMxIEBAIE1lZGlhU291cmNlVGVz
dC5ydW5PblNvdXJjZU9wZW4gPSBmdW5jdGlvbih2aWRlb1RhZywgb25PcGVuRnVuY3Rpb24pCiB7
CiAgICAgdmFyIGV2ZW50SGFuZGxlckZ1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KQogICAgIHsK
KyAgICAgICAgaWYgKHZpZGVvVGFnLm5ldHdvcmtTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50Lk5F
VFdPUktfTE9BRElORyAmJgorICAgICAgICAgICAgdmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhU
TUxNZWRpYUVsZW1lbnQuTkVUV09SS19JRExFKSB7CisgICAgICAgICAgICBmYWlsVGVzdCgiVW5l
eHBlY3RlZCBuZXR3b3JrIHN0YXRlLiBFeHBlY3RlZCAiICsKKyAgICAgICAgICAgICAgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19MT0FESU5HICsgIiBvciAiICsKKyAgICAgICAgICAg
ICAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19JRExFICsKKyAgICAgICAgICAgICAg
ICAgICAgICIgZ290ICIgKyB2aWRlb1RhZy5yZWFkeVN0YXRlKTsKKyAgICAgICAgfQogICAgICAg
ICBldmVudC50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2
ZW50SGFuZGxlckZ1bmN0aW9uKTsKICAgICAgICAgb25PcGVuRnVuY3Rpb24oKTsKICAgICB9Owot
ICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhh
bmRsZXJGdW5jdGlvbik7CisKKyAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOwogICAgIE1lZGlhU291cmNlVGVz
dC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiB9OwogCi1NZWRpYVNvdXJj
ZVRlc3QubG9nU291cmNlU3RhdGUgPSBmdW5jdGlvbih2aWRlb1RhZykKK01lZGlhU291cmNlVGVz
dC5sb2dTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9uKG1lZGlhU291cmNlKQogewotICAgIGNvbnNvbGVX
cml0ZSgid2Via2l0U291cmNlU3RhdGUgOiAiICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0
YXRlTmFtZSh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSkpOworICAgIGNvbnNvbGVXcml0ZSgi
d2Via2l0U291cmNlU3RhdGUgOiAiICsgbWVkaWFTb3VyY2UucmVhZHlTdGF0ZSk7CiB9OwogCi1N
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUgPSBmdW5jdGlvbih2aWRlb1RhZywgZXhw
ZWN0ZWQpCitNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRp
YVNvdXJjZSwgZXhwZWN0ZWQpCiB7Ci0gICAgaWYgKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRl
ICE9IGV4cGVjdGVkKSB7Ci0gICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0
ZS4gRXhwZWN0ZWQgIiArCi0gICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5nZXRTb3Vy
Y2VTdGF0ZU5hbWUoZXhwZWN0ZWQpICsKLSAgICAgICAgICAgICAgICAgIiBnb3QgIiArIE1lZGlh
U291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUp
KTsKKyAgICBpZiAobWVkaWFTb3VyY2UucmVhZHlTdGF0ZSAhPSBleHBlY3RlZCkgeworICAgICAg
ICBmYWlsVGVzdCgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVkICIgKyBleHBlY3Rl
ZCArCisgICAgICAgICAgICAgICAgICIgZ290ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0YXRlKTsK
ICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFi
b3J0LWV4cGVjdGVkLnR4dAppbmRleCA2NThmZjcxMTZlMTM3MWY2ZGMzNTY3YWRmYzU0ODg1YTVm
MTI0OWJlLi5jNWQyOGJmYTIyN2JjMDJmNTFkMjUyYzE1YjhiY2E4MjEzNzhmNWQyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQK
QEAgLTIsNyArMiw2IEBAIFRlc3RzIHdlYmtpdFNvdXJjZUFib3J0KCkgZnVuY3Rpb25hbGl0eQog
CiAKIHJ1bm5pbmcgYWJvcnREdXJpbmdJbml0U2VnbWVudAotRVZFTlQobG9hZHN0YXJ0KQogRVZF
TlQod2Via2l0c291cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgZHVyaW5nIGluaXRpYWxpemF0aW9u
IHNlZ21lbnQuCiBBcHBlbmRpbmcgcGFydGlhbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LgpAQCAt
MTMsNyArMTIsNiBAQCBFVkVOVChsb2FkZWRkYXRhKQogCiBydW5uaW5nIGFib3J0RHVyaW5nTWVk
aWFTZWdtZW50CiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0
c291cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIG1lZGlhIHNlZ21l
bnQuCiBBcHBlbmRpbmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFi
b3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAppbmRleCA0ODljOTVhOTk4YzA1ODJjNmYwNjBhNTc2
NjljMTZlNmIwODY5ODMyLi42N2QxMmRkYmVkYWJjNTA1ZjQ1NTIwMTA5NjMwNDlkNjVlNzVmMzEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbApAQCAtOSw3
ICs5LDcgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gYWJvcnREdXJpbmdJbml0U2VnbWVudChy
dW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFib3J0aW5nIGR1cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwogICAgICAgICAg
ICAgICAgIHRyeSB7CkBAIC0xNywxMCArMTcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgdmFy
IHBhcnRpYWxJbml0U2VnbWVudCA9IGluaXRTZWdtZW50LnN1YmFycmF5KDAsIGluaXRTZWdtZW50
Lmxlbmd0aCAvIDIpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5k
aW5nIHBhcnRpYWwgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNlZ21lbnRIZWxwZXIuU291cmNlSUQsIHBh
cnRpYWxJbml0U2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5hcHBl
bmQocGFydGlhbEluaXRTZWdtZW50KTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkFib3J0aW5nIGFwcGVuZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Vi
a2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7CisgICAgICAgICAgICAgICAg
ICAgIHNvdXJjZUJ1ZmZlci5hYm9ydCgpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiQXBwZW5kaW5nIGZ1bGwgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKICAgICAgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwpAQCAtNDIsNyAr
NDIsNyBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBhYm9ydER1cmluZ01lZGlhU2VnbWVudChy
dW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFib3J0aW5nIGluIHRoZSBtaWRkbGUgb2YgYSBtZWRpYSBzZWdtZW50LiIpOwogICAgICAg
ICAgICAgICAgIHRyeSB7CkBAIC01MSwxMCArNTEsMTAgQEAKICAgICAgICAgICAgICAgICAgICAg
dmFyIHBhcnRpYWxNZWRpYVNlZ21lbnQgPSBtZWRpYVNlZ21lbnQuc3ViYXJyYXkoMCwgbWVkaWFT
ZWdtZW50Lmxlbmd0aCAvIDIpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
QXBwZW5kaW5nIHBhcnRpYWwgbWVkaWEgc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNlZ21lbnRIZWxwZXIuU291cmNlSUQsIHBhcnRp
YWxNZWRpYVNlZ21lbnQpOworICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5k
KHBhcnRpYWxNZWRpYVNlZ21lbnQpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiQWJvcnRpbmcgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVyLlNvdXJjZUlEKTsKKyAgICAgICAgICAgICAgICAg
ICAgc291cmNlQnVmZmVyLmFib3J0KCk7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJBcHBlbmRpbmcgZnVsbCBtZWRpYSBzZWdtZW50LiIpOwogICAgICAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudCgwKTsKQEAgLTc3LDExICs3NywxMCBA
QAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAot
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdsb2FkZWRkYXRhJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3
ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwog
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW5kZWQnKTsKICAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3Zl
LWJ1ZmZlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM1MWY5MWI1ZjlmZWEzMzg1NWQ1Y2QwYjAzMzg4MzM5MDFiZmMw
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0NyBAQAorVGVzdHMgd2Via2l0U291cmNlQWRkSWQoKSAmIHdlYmtp
dFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kcworCitUZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9z
ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMKK0VWRU5U
KHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGVtcHR5IHR5cGUuCitHb3QgZXhwZWN0ZWQgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKK1Rlc3QgYW4g
dW5zdXBwb3J0ZWQgdHlwZS4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQ
T1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1Rlc3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFu
IHVuc3VwcG9ydGVkIGNvZGVjLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQorVGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1p
dC4KK1Rlc3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNhbid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBl
bmRlZCBzdGF0ZS4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVf
RVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5pbmcgdGVzdFJlbW92ZU51bGxCdWZmZXIKK0VW
RU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IG51bGwgYnVmZmVyIGNhc2UKK0dvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQor
CitydW5uaW5nIHRlc3RSZW1vdmVBZ2FpbgorRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3Qg
cmVtb3ZpbmcgYSBidWZmZXIgdGhhdCB3YXMgYWxyZWFkeSByZW1vdmVkLgorR290IGV4cGVjdGVk
IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKKwor
cnVubmluZyB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJFbmRlZAorRVZFTlQod2Via2l0c291cmNlb3Bl
bikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQg
c3RhdGUuCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZlckFmdGVyUmVtb3ZpbmcKK0VWRU5UKHdlYmtp
dHNvdXJjZW9wZW4pCitUZXN0IHRoYXQgYSBidWZmZXIgY2FuIGJlIGFkZGVkIGFnYWluIGFmdGVy
IGl0IGlzIHJlbW92ZWQuCitVbmV4cGVjdGVkIGV4Y2VwdGlvbjogRXJyb3I6IFFVT1RBX0VYQ0VF
REVEX0VSUjogRE9NIEV4Y2VwdGlvbiAyMgorCitydW5uaW5nIHRlc3RBcHBlbmRGYWlsdXJlQ2Fz
ZXMKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuCitU
ZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKK1Rlc3QgYXBwZW5kIGFm
dGVyIGVuZGVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEKK1Rlc3QgYXBwZW5kIGFmdGVyIGJ1ZmZlciBoYXMgYmVlbiBy
ZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5k
LXJlbW92ZS1idWZmZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjNWQyY2U1ZDNhNzFmNzc4MmY1ODhkZGZjYWQ3NTVmOGVkMDg1YjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sCkBAIC0wLDAgKzEs
MjAxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVu
dC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhl
bHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8u
dGVzdFdlYk0pOworICAgICAgICAgICAgdmFyIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSA9IHNlZ21l
bnRIZWxwZXIuc2VnbWVudEluZm8udHlwZTsKKworICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0
RXhjZXB0aW9uT25BZGRCdWZmZXIodHlwZSwgZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyID0gbWVkaWFT
b3VyY2UuYWRkU291cmNlQnVmZmVyKHR5cGUpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVz
dCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24g
IiArIGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIoYnVmZmVyLCBlcnJvcikKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
ICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQg
ZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKGJ1ZiwgZXJyb3IpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
c291cmNlQnVmZmVyLmFwcGVuZChidWYpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgi
RXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiAr
IGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gdGVzdEFkZEJ1ZmZlcldoaWxlQ2xvc2VkKHZpZGVvVGFnKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xv
c2VkLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKGRlZmF1
bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNl
cyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSB0eXBlLiIpOworICAgICAgICAgICAgICAgIGV4
cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1Nf
RVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRl
ZCB0eXBlLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCJh
dWRpby94LXVuc3VwcG9ydGVkLWZvcm1hdCIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VS
Uik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdXBwb3J0ZWQgdHlw
ZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQWRkQnVmZmVyKCJ2aWRlby93ZWJtOyBjb2RlY3M9XCJ2cDgsIHNwZWV4XCIiLCBE
T01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LiIpOworICAgICAgICAgICAgICAg
IHZhciByZWFjaGVkSWRMaW1pdCA9IGZhbHNlOworCisgICAgICAgICAgICAgICAgLy8gVGhlIDIw
IGhlcmUgaXMgYW4gYXJiaXRyYXJ5IHVwcGVyIGxpbWl0IHRvIG1ha2Ugc3VyZSB0aGUgdGVzdCB0
ZXJtaW5hdGVzLiBUaGlzIHRlc3QKKyAgICAgICAgICAgICAgICAvLyBhc3N1bWVzIHRoYXQgaW1w
bGVtZW50YXRpb25zIHdvbid0IHN1cHBvcnQgbW9yZSB0aGFuIDIwIHNvdXJjZUlEJ3Mgc2ltdWx0
YW5lb3VzbHkuCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7
CisgICAgICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAg
ICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5j
b2RlICE9IERPTUV4Y2VwdGlvbi5RVU9UQV9FWENFRURFRF9FUlIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgICAgICByZWFjaGVkSWRMaW1pdCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghcmVhY2hlZElkTGltaXQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byByZWFjaCBTb3VyY2VJRCBsaW1p
dC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2Fu
J3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOworICAgICAgICAgICAgICAg
IG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0
aW9uT25BZGRCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOdWxsQnVmZmVyKHJ1
bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IG51bGwgYnVmZmVyIGNhc2UiKTsKKyAgICAgICAgICAgICAgICBl
eHBlY3RFeGNlcHRpb25PblJlbW92ZUJ1ZmZlcihudWxsLCBET01FeGNlcHRpb24uSU5WQUxJRF9B
Q0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQWdhaW4ocnVuTmV4dFRl
c3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgcmVtb3ZpbmcgYSBidWZmZXIgdGhhdCB3YXMgYWxyZWFkeSByZW1vdmVkLiIp
OworICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1
ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LnJlbW92ZVNvdXJjZUJ1ZmZlcihzb3VyY2VCdWZmZXIpOworICAgICAgICAgICAgICAgIGV4cGVj
dEV4Y2VwdGlvbk9uUmVtb3ZlQnVmZmVyKHNvdXJjZUJ1ZmZlciwgRE9NRXhjZXB0aW9uLklOVkFM
SURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJF
bmRlZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdo
aWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIg
PSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAg
ICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAg
IG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzb3VyY2VCdWZmZXIpOworCisgICAgICAg
ICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3RBZGRCdWZmZXJBZnRlclJlbW92aW5nKHJ1bk5leHRUZXN0Q2FzZSwgdmlk
ZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHRoYXQgYSBidWZmZXIgY2FuIGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuIik7
CisgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVm
ZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
cmVtb3ZlU291cmNlQnVmZmVyKHNvdXJjZUJ1ZmZlcik7CisKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3Vy
Y2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBleGNl
cHRpb246ICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBydW5O
ZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dEFwcGVuZEZhaWx1cmVDYXNlcyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHZhciBpbml0U2VnbWVudCA9IHNlZ21lbnRIZWxwZXIuaW5p
dFNlZ21lbnQ7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU2VnbWVudCA9IHNlZ21lbnRIZWxw
ZXIubWVkaWFTZWdtZW50c1swXTsKKworICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlciA9IG1l
ZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworCisgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7Cisg
ICAgICAgICAgICAgICAgc291cmNlQnVmZmVyLmFwcGVuZChpbml0U2VnbWVudCk7CisKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4i
KTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChudWxsLCBET01FeGNl
cHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVu
ZChpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVu
IHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVm
ZmVyKHNvdXJjZUJ1ZmZlcik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBl
bmQoaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisKKyAgICAg
ICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmaW5k
TWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRp
YVNvdXJjZSgpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3Bl
bicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKKworICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEFkZEJ1ZmZlcldoaWxlQ2xvc2VkKHZpZGVvKTsKKworICAgICAg
ICAgICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWworICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
ZW1vdmVOdWxsQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUFnYWlu
LAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUJ1ZmZlckFmdGVyRW5kZWQsCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1vdmluZywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMsCisgICAgICAgICAgICAg
ICAgICAgIF07CisKKyAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LnN0YXJ0U291
cmNlT3BlblRlc3RpbmcodmlkZW8sIHRlc3RDYXNlcyk7CisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBv
bmxvYWQ9Im9uTG9hZCgpIj4KKyAgICAgICAgPHZpZGVvPiA8L3ZpZGVvPgorICAgICAgICA8cD5U
ZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICZhbXA7IHdlYmtpdFNvdXJjZVJlbW92ZUlkKCkgbWV0
aG9kczwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtaWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDg1OTExYThmNTdjYmQxNDFlZjc4
ZGZmZmM1NmJlYTU4ODI2ZDZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNjQgKzAsMCBAQAotVGVzdHMgd2Via2l0U291cmNlQWRkSWQoKSAmIHdlYmtpdFNv
dXJjZVJlbW92ZUlkKCkgbWV0aG9kcwotCi1UZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQu
Ci1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMQotCi1ydW5uaW5nIHRlc3RBZGRJZEZhaWx1cmVDYXNlcwotRVZFTlQobG9hZHN0
YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgZW1wdHkgSUQgY2FzZQotR290IGV4
cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9u
IDE1Ci1UZXN0IGFkZGluZyB0aGUgc2FtZSBJRCBhZ2Fpbi4KLUdvdCBleHBlY3RlZCBleGNlcHRp
b24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi1UZXN0IGVtcHR5
IHR5cGUuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6
IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4KLUdvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKLVRl
c3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLgotR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQot
VGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4KLVRlc3QgdGhhdCBTb3VyY2VJRHMgY2FuJ3Qg
YmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKLQotcnVubmluZyB0
ZXN0UmVtb3ZlRW1wdHlJZAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3Bl
bikKLVRlc3QgZW1wdHkgSUQgY2FzZQotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci0KLXJ1bm5pbmcgdGVzdFJlbW92ZU5v
bmV4aXN0ZW50SWQKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1U
ZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5ldmVyIGFkZGVkLgotR290IGV4cGVjdGVkIGV4
Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgotCi1ydW5uaW5nIHRl
c3RSZW1vdmVBZ2FpbgotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikK
LVRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgYWxyZWFkeSByZW1vdmVkLgotR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgotCi1ydW5u
aW5nIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtp
dHNvdXJjZW9wZW4pCi1UZXN0IHRoYXQgYW4gSUQgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhl
IGVuZGVkIHN0YXRlLgotCi1ydW5uaW5nIHRlc3RBZGRJZEFmdGVyUmVtb3ZpbmcKLUVWRU5UKGxv
YWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHRoYXQgYW4gSUQgY2FuIGJl
IGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuCi1VbmV4cGVjdGVkIGV4Y2VwdGlvbjog
RXJyb3I6IFFVT1RBX0VYQ0VFREVEX0VSUjogRE9NIEV4Y2VwdGlvbiAyMgotCi1ydW5uaW5nIHRl
c3RBcHBlbmRGYWlsdXJlQ2FzZXMKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJj
ZW9wZW4pCi1UZXN0IGFwcGVuZCB3aXRoIGVtcHR5IElELgotR290IGV4cGVjdGVkIGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGFwcGVu
ZCB3aXRoIGFuIGludmFsaWQgSUQKLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRB
WF9FUlI6IERPTSBFeGNlcHRpb24gMTIKLVRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4K
LUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4
Y2VwdGlvbiAxNQotVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5kLgotR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgotRU5EIE9GIFRFU1QKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVt
b3ZlLWlkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjM3OWY1Y2E3MWY3
YjU4MDZmZGU0OWY2NzYxYmYwOTYyZWFhM2U2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDIyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFk
PgotICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291
cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9
Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAg
ICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihX
ZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOwotICAgICAgICAgICAgdmFyIGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSA9IHNlZ21lbnRIZWxwZXIuc2VnbWVudEluZm8udHlwZTsKLQotICAgICAgICAgICAg
ZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgaWQsIHR5cGUsIGVycm9y
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKGlkLCB0eXBlKTsKLSAgICAgICAgICAgICAg
ICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9y
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0
aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0
ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcs
IGlkLCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZChpZCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9
PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVk
IGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRl
b1RhZywgaWQsIGJ1ZiwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdHJ5
IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGlkLCBi
dWYpOwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9u
Iik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVz
dCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAg
dGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkV2hpbGVD
bG9zZWQodmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQuIik7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1l
dHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2Fz
ZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUZXN0IGVtcHR5IElEIGNhc2UiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25P
bkFkZElkKHZpZGVvVGFnLCAiIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24u
SU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotCi0gICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IGFkZGluZyB0aGUgc2FtZSBJRCBhZ2Fpbi4iKTsKLSAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMTIzIiwgZGVmYXVs
dFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwotICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKLQotICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSB0eXBlLiIpOwotICAgICAgICAgICAg
ICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIyMzQiLCAiIiwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNl
cHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgImF1ZGlvL3gtdW5zdXBwb3J0ZWQtZm9ybWF0
IiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29k
ZWMuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywg
IjIzNCIsICJ2aWRlby93ZWJtOyBjb2RlY3M9XCJ2cDgsIHNwZWV4XCIiLCBET01FeGNlcHRpb24u
Tk9UX1NVUFBPUlRFRF9FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LiIpOwotICAgICAgICAgICAgICAgIHZhciByZWFjaGVk
SWRMaW1pdCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAgLy8gVGhlIDIwIGhlcmUgaXMgYW4g
YXJiaXRyYXJ5IHVwcGVyIGxpbWl0IHRvIG1ha2Ugc3VyZSB0aGUgdGVzdCB0ZXJtaW5hdGVzLiBU
aGlzIHRlc3QKLSAgICAgICAgICAgICAgICAvLyBhc3N1bWVzIHRoYXQgaW1wbGVtZW50YXRpb25z
IHdvbid0IHN1cHBvcnQgbW9yZSB0aGFuIDIwIHNvdXJjZUlEJ3Mgc2ltdWx0YW5lb3VzbHkuCi0g
ICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHZhciBzb3VyY2VJRCA9ICJzb3VyY2VJRC0iICsgaTsKLSAgICAgICAgICAgICAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZUFkZElkKHNvdXJjZUlELCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAg
ICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT0g
RE9NRXhjZXB0aW9uLlFVT1RBX0VYQ0VFREVEX0VSUikgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlYWNoZWRJZExpbWl0ID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKCFyZWFjaGVkSWRMaW1pdCkgewotICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIHJlYWNoIFNvdXJjZUlEIGxpbWl0LiIpOwot
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgU291cmNlSURzIGNhbid0IGJlIGFkZGVk
IHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh2aWRlb1RhZy5FT1NfTk9fRVJST1IpOwotICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIxMjMiLCBkZWZhdWx0U291
cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7Ci0KLSAgICAgICAg
ICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdFJlbW92ZUVtcHR5SWQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQg
Y2FzZSIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9U
YWcsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAg
ICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZW1vdmlu
ZyBhbiBJRCB0aGF0IHdhcyBuZXZlciBhZGRlZC4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RF
eGNlcHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCAiMzQ1IiwgRE9NRXhjZXB0aW9uLlNZTlRBWF9F
UlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVBZ2FpbihydW5OZXh0VGVzdENhc2Us
IHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuIik7Ci0gICAgICAg
ICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQo
IjEyMyIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9U
YWcsICIxMjMiLCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBy
dW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFuIElEIGNh
biBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKLSAgICAgICAgICAgICAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBl
KTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh2aWRl
b1RhZy5FT1NfTk9fRVJST1IpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZVJlbW92ZUlkKCIxMjMiKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRBZnRlclJlbW92
aW5nKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYW4gSUQgY2FuIGJlIGFkZGVkIGFnYWluIGFm
dGVyIGl0IGlzIHJlbW92ZWQuIik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAgICAgICAgICAgICAg
dHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEy
MyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkg
ewotICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRl
c3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcHBl
bmRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICB2YXIgaW5pdFNlZ21lbnQgPSBzZWdtZW50SGVscGVyLmluaXRTZWdt
ZW50OwotICAgICAgICAgICAgICAgIHZhciBtZWRpYVNlZ21lbnQgPSBzZWdtZW50SGVscGVyLm1l
ZGlhU2VnbWVudHNbMF07Ci0KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VB
ZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLQotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJRC4iKTsKLSAgICAgICAgICAgICAg
ICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIiIsIGluaXRTZWdtZW50LCBET01F
eGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhbiBpbnZhbGlkIElEIik7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIyMzQiLCBpbml0U2VnbWVudCwgRE9N
RXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0
RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIxMjMiLCBudWxsLCBET01FeGNlcHRpb24uSU5W
QUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBh
IHN1Y2Nlc3NmdWwgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFwcGVuZCgiMTIzIiwgaW5pdFNlZ21lbnQpOwotCi0gICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMTIzIiwgbWVkaWFTZWdtZW50LCBET01FeGNlcHRp
b24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7Ci0KLSAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dCgnd2Via2l0c291cmNlb3BlbicpOwotCi0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5p
bml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWls
VGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlbyk7Ci0KLSAgICAgICAgICAgICAgICAgICAgdmFy
IHRlc3RDYXNlcyA9IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRJZEZhaWx1cmVD
YXNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVFbXB0eUlkLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZU5vbmV4aXN0ZW50SWQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UmVtb3ZlQWdhaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UmVtb3ZlSWRBZnRlckVuZGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZElkQWZ0
ZXJSZW1vdmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBcHBlbmRGYWlsdXJlQ2Fz
ZXMsCi0gICAgICAgICAgICAgICAgICAgIF07Ci0KLSAgICAgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LnN0YXJ0U291cmNlT3BlblRlc3RpbmcodmlkZW8sIHRlc3RDYXNlcyk7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwv
aGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KLSAgICAgICAgPHZpZGVvPiA8L3Zp
ZGVvPgotICAgICAgICA8cD5UZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICZhbXA7IHdlYmtpdFNv
dXJjZVJlbW92ZUlkKCkgbWV0aG9kczwvcD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDU1ZjIwYmIxYzc4YmM5Mzg0NTAyZjhhNjU0MzAwMGMxZWM4NTdiZTkuLjJlNmIzNDBmNTgx
NDI1Y2FmOThlODk1NDVkZDI4NmYyMWRhMmViY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CkBAIC0yLDQxICsyLDM2IEBA
IFRlc3RzIGVycm9yIGNhc2VzIHdpdGggTWVkaWFTb3VyY2UgQVBJCiAKIAogcnVubmluZyBkaWRO
b3RTZW5kSW5pdFNlZ21lbnRGaXJzdAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291
cmNlb3BlbikKIFRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2VnbWVudCBiZWZvcmUgc2VuZGluZyB0
aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9TUkNf
Tk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGltbWVkaWF0ZURlY29kZUVycm9yVmlhRW5kT2ZTdHJl
YW0KIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQotVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5k
T2ZTdHJlYW0uCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJj
ZS5lbmRPZlN0cmVhbS4KIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQoZXJyb3IpIDog
TUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcgaW1tZWRpYXRlTmV0d29ya0Vy
cm9yVmlhRW5kT2ZTdHJlYW0KIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRo
IHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLgorVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJv
ciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZFTlQod2Via2l0c291cmNlZW5kZWQp
CiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBk
ZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0
YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBl
cnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQg
ZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgorVGVzdCBzaWdu
YWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIg
d2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEg
c3RhdGUuCiBFVkVOVChsb2FkZWRtZXRhZGF0YSkKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQog
RVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX0RFQ09ERQogCiBydW5uaW5nIG5ldHdvcmtFcnJvckFm
dGVySGF2ZU1ldGFkYXRhCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQo
d2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCB3
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRh
IHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KK1Rlc3Qgc2lnbmFsbGluZyBhIG5l
dHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFw
cGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVW
RU5UKGxvYWRlZG1ldGFkYXRhKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJv
cikgOiBNRURJQV9FUlJfTkVUV09SSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWVycm9ycy5odG1sCmluZGV4IGZlOWNlYWFiNTRlYWMwMjkyYWE5M2VlMDU4ZTVmYmJiYzkyMDBl
ZGQuLjA5YWFlNTc2MjgyODJkY2U2NmY3OTFjNzg1ZGIwMjA0NGQyYTUxYjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKQEAgLTIzLDQ2ICsyMyw0NiBA
QAogICAgICAgICAgICAgZnVuY3Rpb24gZGlkTm90U2VuZEluaXRTZWdtZW50Rmlyc3QocnVuTmV4
dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2VnbWVudCBiZWZvcmUgc2VuZGluZyB0
aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3Vy
Y2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2Vn
bWVudCgwKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gaW1tZWRpYXRl
RGVjb2RlRXJyb3JWaWFFbmRPZlN0cmVhbShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGlu
ZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLiIpOwotICAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX0RF
Q09ERV9FUlIpOworICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGlu
ZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLiIpOworICAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oImRlY29kZSIpOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBpbW1lZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbShydW5O
ZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNv
dXJjZUVuZE9mU3RyZWFtLiIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bShIVE1MTWVkaWFFbGVtZW50LkVPU19ORVRXT1JLX0VSUik7CisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3Vy
Y2UuZW5kT2ZTdHJlYW0uIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50
YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oIm5ldHdvcmsi
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gZGVjb2RlRXJyb3JBZnRl
ckhhdmVNZXRhZGF0YShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVy
cm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBl
bm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7Ci0gICAgICAg
ICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3Ry
ZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZF
X01FVEFEQVRBIHN0YXRlLiIpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gZXZlbnQu
dGFyZ2V0OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7
CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogCiAg
ICAgICAgICAgICAgICAgYXBwZW5kVW50aWxNZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rp
b24oKQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Vi
a2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfREVDT0RFX0VSUik7Cisg
ICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJkZWNvZGUiKTsKICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24g
bmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFs
bGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3
ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBz
dGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0g
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEg
dG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOworICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJ
bml0U2VnbWVudCgpOwogICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsTWV0YWRhdGFMb2FkZWQo
dmlkZW9UYWcsIGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9T
X05FVFdPUktfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJl
YW0oIm5ldHdvcmsiKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KIApAQCAt
NzAsMTEgKzcwLDEwIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlh
RWxlbWVudCgpOwogCi0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRlZG1ldGFkYXRhJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7CisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVk
aWFTb3VyY2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJr
aXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291
cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
ZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggMWU3ODc1YzIxNTE1
MGU5MDgzYTc0NWJjOTVkNGM5ZDZhMzcyMTQ2ZS4uZTI3ZmFkOTI1ZDJjMjA2ZTY3MjVlZjk5Y2Yw
OTk4ZDVhOWY0Mjc5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDcg
QEAgVGVzdCBNZWRpYSBTb3VyY2UgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzCiAKIG9uTG9hZCgp
CiBvblNvdXJjZU9wZW4oKQotQ2FsbGluZyB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSB0byB0cmln
Z2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuCitDYWxsaW5nIE1lZGlhU291cmNlLmVuZE9m
U3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4KIG9uU291cmNlRW5k
ZWQoKQogU2V0dGluZyBzcmMgYXR0cmlidXRlIHRvICIiIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3Vy
Y2VjbG9zZWQgZXZlbnQuCiBvblNvdXJjZUNsb3NlKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1h
dHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy5odG1sCmluZGV4IGZmMmY3Yzg4
YjBmYzkyZTkyN2U4YzdmZThkY2UxNzc4MjVmZGFkZmUuLjUyYzBhYzljNjM1ZDJlMTkzOTNkZWEy
YTgzNjQ4MTRkMWFiNjQyOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAtMywyMiArMywyNiBAQAogICAgPGhl
YWQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVzdC5qcyI+
PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAg
ICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4odmlkZW8pCisKKyAgICAgICAgICAgdmFyIHZpZGVv
ID0gbnVsbDsKKyAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gbnVsbDsKKworICAgICAgICAg
ICBmdW5jdGlvbiBvblNvdXJjZU9wZW4oKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIm9uU291cmNlT3BlbigpIik7Ci0KLSAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiQ2FsbGluZyB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0
c291cmNlZW5kZWQgZXZlbnQuIik7Ci0gICAgICAgICAgICAgICB2aWRlby53ZWJraXRTb3VyY2VF
bmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dl
ciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50LiIpOworICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuZW5kT2ZTdHJlYW0oKTsKICAgICAgICAgICAgfQogCi0gICAgICAgICAgIGZ1bmN0aW9uIG9u
U291cmNlRW5kZWQodmlkZW8pCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlRW5kZWQoKQog
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291cmNlRW5kZWQo
KSIpOwogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTZXR0aW5nIHNyYyBhdHRyaWJ1dGUg
dG8gXCJcIiB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlY2xvc2VkIGV2ZW50LiIpOwogICAgICAg
ICAgICAgICAgdmlkZW8uc3JjID0gIiI7CisgICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUNsb3NlKHZpZGVvKQorICAg
ICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUNsb3NlKCkKICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJjZUNsb3NlKCkiKTsKICAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKQEAgLTI3LDEzICszMSwxNyBAQAogICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQo
ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvbkxvYWQoKSIp
OwotICAgICAgICAgICAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Yn
KTsKLSAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLndlYmtpdE1lZGlhU291cmNlVVJM
OworICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndicpOwor
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VD
bG9zZSk7CisgICAgICAgICAgICAgICB2aWRlby5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0
VVJMKG1lZGlhU291cmNlKTsKICAgICAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgPC9o
ZWFkPgogICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CiAgICAgICAgPHA+VGVzdCBNZWRpYSBT
b3VyY2UgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzPC9wPgotICAgICAgIDx2aWRlbyBpZD0ndicg
b253ZWJraXRzb3VyY2VvcGVuPSdvblNvdXJjZU9wZW4odGhpcyknIG9ud2Via2l0c291cmNlZW5k
ZWQ9J29uU291cmNlRW5kZWQodGhpcyk7JyBvbndlYmtpdHNvdXJjZWNsb3NlPSdvblNvdXJjZUNs
b3NlKHRoaXMpOyc+PC92aWRlbz4KKyAgICAgICA8dmlkZW8gaWQ9J3YnPjwvdmlkZW8+CiAgICA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
cGxheS1leHBlY3RlZC50eHQKaW5kZXggMTk4OGI3MmNkMmY5MThmMjRjYTgyMWRlMTkxOGIwMTM2
NGViMWNhYy4uNTFhMjA1NDEyNWRmNzk1YTYyMTMwZTY4ZTQ4Nzc2ZDNjOGQ4YzVlMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dApA
QCAtMSw2ICsxLDUgQEAKIFRlc3RzIG5vcm1hbCBwbGF5YmFjayBjYXNlIHdpdGggTWVkaWFTb3Vy
Y2UgQVBJCiAKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBFVkVO
VCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKHBsYXlpbmcpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxh
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXBsYXkuaHRtbAppbmRleCAzYWI4ZTQ1NmUxNzg4MWFjNTdlOGNlZjE4OWI1
NTdiMzUxZGY1MGIzLi5kNTY3OWViNjNmNDE1ZmZmYzYwMzViMWVhMTAxNzNlZmI3OWNkZTM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKQEAgLTksMjggKzks
MjkgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KQogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKIAogICAgICAgICAgICAg
ICAgIC8vIEFwcGVuZCBqdXN0IGVub3VnaCBzZWdtZW50cyB0byBpbmNsdWRlIGF0IGxlYXN0IDEg
c2Vjb25kIG9mIG1lZGlhIGRhdGEuCiAgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gc2Vn
bWVudEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcCgxKTsKICAgICAgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBlbmRJbmRleDsgaSsrKQogICAgICAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudChpKTsKLSAgICAgICAgICAg
ICAgICBldmVudC50YXJnZXQud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVu
dC5FT1NfTk9fRVJST1IpOworICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5lbmRPZlN0cmVh
bSgpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAorICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisKICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJr
aXRzb3VyY2VvcGVuJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3Vy
Y2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
d2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtp
dHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudEFuZEVuZCgnZW5kZWQnKTsKIAotICAgICAgICAgICAgICAgIHZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOwor
ICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZW9wZW4nLCBvblNvdXJjZU9wZW4pOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5p
bml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1zZWVrLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCmluZGV4IGQyNDdlZDVkNGM1NjdmYmMx
MWViYTU2NGFjZDYyNTVlNmI5OTFkMWEuLjJkYzFlNjYwYzExNWMyOWU4NjUwYmRhN2MzN2E3NDU0
ZWYzODI5N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbApA
QCAtMTYsNyArMTYsNyBAQAogICAgICAgICAgICAgICAgIGlmIChmaXJzdE9wZW4pIHsKICAgICAg
ICAgICAgICAgICAgICAgZmlyc3RPcGVuID0gZmFsc2U7CiAKLSAgICAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsKICAgICAgICAgICAgICAgICB9CkBAIC0zOCw3
ICszOCw3IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0Owog
CiAgICAgICAgICAgICAgICAgLy8gQ2FsbCBhYm9ydCB0byBtYWtlIHN1cmUgdGhlIHNvdXJjZSBi
dWZmZXIgaXMgaW4gYSBzdGF0ZSB3aGVyZSBpdCBjYW4gYWNjZXB0IG5ldyBzZWdtZW50cy4KLSAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVyLlNv
dXJjZUlEKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hYm9ydCgpOwogCiAgICAgICAg
ICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudElu
ZGV4Rm9yVGltZXN0YW1wKHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0oc3RhcnRJbmRleCk7CkBAIC02MCwx
MCArNjAsMTEgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVt
ZW50KCk7CiAKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgp
OworCiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKLSAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwotICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisgICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwg
ZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlp
bmcnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtpbmcnKTsKICAgICAgICAg
ICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtlZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNo
YW5nZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CmluZGV4
IGE3OTVkOThjZDI4NTljYzE2OWViM2JlYjczYjJhYjViYjgyMjY2ODEuLjM3OTA1ZTIxNTU3NzJh
NTg5NWM0YWIwMTNiMjdhNGUxN2U5MTIxYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2Vz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQKQEAgLTEs
MTQgKzEsMTMgQEAKIFRlc3RzIE1lZGlhU291cmNlIEFQSSBzdGF0ZSB0cmFuc2l0aW9ucy4KIAot
d2Via2l0U291cmNlU3RhdGUgOiBTT1VSQ0VfQ0xPU0VECi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCit3ZWJraXRTb3VyY2VTdGF0ZSA6IGNs
b3NlZAorRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBvbkZpcnN0U291cmNlT3Blbgot
RVZFTlQod2Via2l0c291cmNlZW5kZWQpIDogU09VUkNFX0VOREVECitFVkVOVCh3ZWJraXRzb3Vy
Y2VlbmRlZCkgOiBlbmRlZAogb25GaXJzdFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5nKQogdHJp
Z2dlckZpcnN0U2VlawotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0VfT1BFTgorRVZF
TlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBFVkVOVChzZWVraW5nKQogb25GaXJzdFNlZWtp
bmcKIEVWRU5UKHNlZWtlZCkKQEAgLTE3LDIxICsxNiwxOSBAQCBFVkVOVChzZWVraW5nKQogb25T
ZWNvbmRTZWVraW5nCiBFVkVOVChzZWVrZWQpCiBvblNlY29uZFNlZWtlZAotRVZFTlQod2Via2l0
c291cmNlY2xvc2UpIDogU09VUkNFX0NMT1NFRAorRVZFTlQod2Via2l0c291cmNlY2xvc2UpIDog
Y2xvc2VkCiBvbkZpcnN0U291cmNlQ2xvc2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3Rh
cnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKSA6IG9wZW4KIG9uU2Vjb25kU291cmNlT3BlbgotRVZFTlQod2Via2l0c291cmNl
ZW5kZWQpIDogU09VUkNFX0VOREVECitFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBlbmRlZAog
b25TZWNvbmRTb3VyY2VFbmRlZAogRVZFTlQocGxheWluZykKIHRyaWdnZXJTZWNvbmRTb3VyY2VD
bG9zZQotRVZFTlQod2Via2l0c291cmNlY2xvc2UpIDogU09VUkNFX0NMT1NFRAorRVZFTlQod2Vi
a2l0c291cmNlY2xvc2UpIDogY2xvc2VkCiBvblNlY29uZFNvdXJjZUNsb3NlCiBFVkVOVChlbXB0
aWVkKQotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0Vf
T1BFTgorRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBvblRoaXJkU291cmNlT3Blbgog
RU5EIE9GIFRFU1QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1z
dGF0ZS1jaGFuZ2VzLmh0bWwKaW5kZXggOWE1NGRjZDdmYTQ2OWU2MDkxOWU1YjY0ZGUwYWQxMTkx
NGZhZmI0Yi4uZjI2Y2Q1MjgwODA1NjZmMjhiNDI3M2EwNjczMGIxMGUxMDRjODhkNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1s
CkBAIC04LDcgKzgsNyBAQAogICAgICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVk
aWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKICAg
ICAgICAgICAgIHZhciBzZWVrVGltZTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVk
aWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcsIHNlZ21lbnRTZWVrVGltZSkKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHNlZ21lbnRTZWVrVGltZSkKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBzZWdtZW50SGVscGVyLmdl
dE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1wKHNlZ21lbnRTZWVrVGltZSk7CiAgICAgICAg
ICAgICAgICAgdmFyIGVuZEluZGV4ID0gaW5kZXggKyAyOwpAQCAtMTksMTQgKzE5LDE0IEBACiAg
ICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IHRvdGFsTWVk
aWFTZWdtZW50cykgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VF
bmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1
bmN0aW9uIG9uU291cmNlRXZlbnQoZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQudHlwZSArICcpIDogJyArIE1lZGlhU291
cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUoZXZlbnQudGFyZ2V0LndlYmtpdFNvdXJjZVN0YXRl
KSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQudHlwZSAr
ICcpIDogJyArIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlKTsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZlbnQpCkBAIC0zNiwxNyArMzYs
MTcgQEAKICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRoZSBzb3Vy
Y2UgaXMgb3BlbmVkLiBXZSBqdXN0IHdhbnQgdG8gYXBwZW5kCiAgICAgICAgICAgICAgICAgLy8g
dGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgYW5kIGFsbCBtZWRpYSBzZWdtZW50cyB1bnRpbCB0
aGUgZW5kIG9mIHN0cmVhbS4KICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRlc3RpbmcgdGhl
Ci0gICAgICAgICAgICAgICAgLy8gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiAtPiBTT1VS
Q0VfRU5ERUQgdHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIC8vICJjbG9zZWQiIC0+
ICJvcGVuIiAtPiAiZW5kZWQiIHRyYW5zaXRpb24gcGF0aC4KIAotICAgICAgICAgICAgICAgIHZh
ciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1v
dmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOwot
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAg
ICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RT
b3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZl
cigpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7
CiAKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAK
LSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2Vl
bmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQp
OwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgog
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsK
QEAgLTU1LDEyICs1NSwxMyBAQAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZUVu
ZGVkKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
b25GaXJzdFNvdXJjZUVuZGVkIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZl
bnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKIAotICAgICAgICAgICAg
ICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgdmlkZW9UYWcu
U09VUkNFX0VOREVEKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50
YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcign
d2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQpOworCisgICAgICAgICAgICAg
ICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiZW5kZWQi
KTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcn
LCB0cmlnZ2VyRmlyc3RTZWVrKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3Rl
bmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJGaXJzdFNlZWsoZXZlbnQpCkBAIC03MSw3ICs3Miw3IEBA
CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycs
IHRyaWdnZXJGaXJzdFNlZWspOwogCiAgICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2
ZSBhcHBlbmRlZCBhbGwgb2YgdGhlIG1lZGlhIHNlZ21lbnRzIGFuZCBlbmRlZCB0aGUgc3RyZWFt
LAotICAgICAgICAgICAgICAgIC8vIGxldHMgZG8gYSBzZWVrIHRvIHRlc3QgdGhlIFNPVVJDRV9F
TkRFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uLgorICAgICAgICAgICAgICAgIC8vIGxldHMg
ZG8gYSBzZWVrIHRvIHRlc3QgdGhlICJlbmRlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24uCiAgICAg
ICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RT
ZWVraW5nKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdzZWVr
ZWQnLCBvbkZpcnN0U2Vla2VkKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGlt
ZSA9IHNlZWtUaW1lOwpAQCAtODQsMTAgKzg1LDEwIEBACiAgICAgICAgICAgICAgICAgdmFyIHZp
ZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZpcnN0U2Vla2luZyk7CiAKLSAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVs
ZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBl
Y3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIC8v
IFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50cy4KLSAgICAgICAgICAgICAgICBhcHBlbmRN
ZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgdmlkZW9UYWcuY3VycmVudFRpbWUpOworICAg
ICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLmN1cnJlbnRU
aW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtl
ZChldmVudCkKQEAgLTk3LDkgKzk4LDkgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0
ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09V
UkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VT
dGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAotICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBp
cyB0aW1lIHRvIHRlc3Qgc2Vla2luZyB3aGlsZSBzdGlsbCBpbiBTT1VSQ0VfT1BFTi4KKyAgICAg
ICAgICAgICAgICAvLyBOb3cgaXQgaXMgdGltZSB0byB0ZXN0IHNlZWtpbmcgd2hpbGUgc3RpbGwg
aW4gIm9wZW4iLgogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3Nl
ZWtpbmcnLCBvblNlY29uZFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2
ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uU2Vjb25kU2Vla2VkKTsKICAgICAgICAgICAgICAgICB2
aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1lOwpAQCAtMTEyLDIyICsxMTMsMjMgQEAKICAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25kU2Vla2lu
Zyk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUo
dmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsK
IAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50cy4KLSAg
ICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgdmlkZW9U
YWcuY3VycmVudFRpbWUpOworICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JT
ZWVrKHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
ZnVuY3Rpb24gb25TZWNvbmRTZWVrZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNlZWtlZCIpOworCiAgICAgICAgICAgICAgICAg
dmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uU2Vjb25kU2Vla2VkKTsKIAotICAgICAgICAg
ICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1l
ZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAgICAgICAgICAg
ICAgLy8gVGVzdCBTT1VSQ0VfT1BFTiAtPiBTT1VSQ0VfQ0xPU0VEIC0+IFNPVVJDRV9PUEVOIHRy
YW5zaXRpb24gcGF0aC4KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CisgICAgICAgICAgICAg
ICAgLy8gVGVzdCAib3BlbiIgLT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4K
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAgICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAg
IH0KIApAQCAtMTM1LDI3ICsxMzcsMjcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIm9uRmlyc3RTb3VyY2VDbG9zZSIpOwogCi0gICAgICAgICAgICAgICAg
dmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3Nl
KTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
Y2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJD
RV9DTE9TRUQpOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VT
dGF0ZShtZWRpYVNvdXJjZSwgImNsb3NlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3BlbihldmVudCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291cmNlT3BlbiIpOwogCi0gICAg
ICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29u
ZFNvdXJjZU9wZW4pOwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQo
KTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hZGRTb3VyY2VCdWZmZXIoKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7
CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlh
U291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJ
bml0U2VnbWVudCgpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9u
U2Vjb25kU291cmNlRW5kZWQpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5n
IG1lZGlhIHNlZ21lbnRzLgogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50
aWxFbmRPZlN0cmVhbSgwKTsKQEAgLTE2NSwxMyArMTY3LDEzIEBACiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNvdXJjZUVuZGVkIik7CiAKLSAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNl
Y29uZFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVu
dC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKIAotICAgICAgICAg
ICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1l
ZGlhRWxlbWVudC5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVz
dC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CiAgICAgICAgICAgICAg
ICAgLy9NZWRpYVNvdXJjZVRlc3QuZXhwZWN0UmVhZHlTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlh
RWxlbWVudC5IQVZFX05PVEhJTkcpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZl
bnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZSk7CisgICAgICAg
ICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNvbmRT
b3VyY2VDbG9zZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHRyaWdn
ZXJTZWNvbmRTb3VyY2VDbG9zZShldmVudCkKQEAgLTE4MSw4ICsxODMsOCBAQAogICAgICAgICAg
ICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRl
b1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29uZFNvdXJjZUNs
b3NlKTsKIAotICAgICAgICAgICAgICAgIC8vIFRlc3QgU09VUkNFX0VOREVEIC0+IFNPVVJDRV9D
TE9TRUQgLT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3Vy
Y2VDbG9zZSk7CisgICAgICAgICAgICAgICAgLy8gVGVzdCAiZW5kZWQiIC0+ICJjbG9zZWQiIC0+
ICJvcGVuIiB0cmFuc2l0aW9uIHBhdGguCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsK
ICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RV
UkwodmlkZW9UYWcpOwogICAgICAgICAgICAgfQogCkBAIC0xOTAsMjIgKzE5MiwyMiBAQAogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3VyY2VD
bG9zZSIpOwogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0Owot
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7Ci0gICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJD
RV9DTE9TRUQpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdl
dDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VjbG9zZScsIG9uU2Vjb25kU291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIE1l
ZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImNsb3NlZCIpOwog
Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblRoaXJkU291cmNlT3Blbihl
dmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uVGhp
cmRTb3VyY2VPcGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50
YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Vi
a2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKLSAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNl
ID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRoaXJkU291cmNlT3Blbik7CisgICAgICAg
ICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAotICAgICAgICAgICAg
ICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlh
RWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4
cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAg
ZW5kVGVzdCgpOwogICAgICAgICAgICAgfQpAQCAtMjE0LDIxICsyMTYsMjIgQEAKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCiAgICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycp
OwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2luZycpOwogICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW1wdGllZCcpOwogCi0g
ICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uU291cmNlRXZlbnQpOwotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgdmlk
ZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNvdXJjZUV2ZW50KTsK
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VvcGVuJywgb25Tb3VyY2VFdmVudCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9z
ZScsIG9uU291cmNlRXZlbnQpOwogCi0gICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3VyY2VPcGVuKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25G
aXJzdFNvdXJjZU9wZW4pOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmxvZ1Nv
dXJjZVN0YXRlKHZpZGVvKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QubG9nU291
cmNlU3RhdGUobWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5p
dCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICghc3VjY2Vzcykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152776</attachid>
            <date>2012-07-17 10:13:12 -0700</date>
            <delta_ts>2012-07-19 11:25:48 -0700</delta_ts>
            <desc>revised with acolwell suggestions</desc>
            <filename>bug-90819-20120717101311.patch</filename>
            <type>text/plain</type>
            <size>132622</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg0ODBiZWM5NTBiYzQy
ZmQ5ZjlmYTJmZWMzNDI3OGE2ZDEzZjgxYy4uNzQwYjEwZWY1ZTMyNGQzZTIxMzlhZjA1YmUyODQ2
NjdjNDNhOWU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMyBAQAorMjAxMi0wNy0xNyAgQW5u
YSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29udmVydCBNZWRp
YSBTb3VyY2UgdG8gbmV3IG9iamVjdC1vcmllbnRlZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoYW5nZXMgcmVmbGVjdCB0aGUgbmV3IE1l
ZGlhU291cmNlIEFQSToKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbAorCisgICAgICAgIFRl
c3RzOiBVcGRhdGVzIHRvIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlLyoKKworICAgICAg
ICBVcGRhdGUgYnVpbGQgZmlsZXMgd2l0aCBuZXcgY2xhc3NlczoKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisKKyAgICAgICAgTmV3IE9iamVjdHM6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291
cmNlOjpNZWRpYVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6c291cmNl
QnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6YWN0aXZlU291cmNlQnVm
ZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2U6OnNldFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
OjplbmRPZlN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6YnVmZmVyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmFwcGVuZCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZTo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6
OmludGVyZmFjZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmV2ZW50VGFy
Z2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3Vy
Y2U6OmVuZGVkS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6fk1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXRNZWRpYVBsYXllcik6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGw6IEFkZGVkLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVJl
Z2lzdHJ5OjpyZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVJlZ2lzdHJ5
OjpyZWdpc3Rlck1lZGlhU291cmNlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
UmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZVJlZ2lzdHJ5Ojpsb29rdXBNZWRpYVNvdXJjZSk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVVJMLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKE1lZGlh
U291cmNlUmVnaXN0cnkpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
cjo6flNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmJ1ZmZl
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YWJvcnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjppZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTb3VyY2VCdWZmZXI6OnNldE1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlcjo6Y2xlYXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXJMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
ckxpc3Q6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6YWRkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJMaXN0OjpjcmVhdGVBbmRGaXJlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyTGlzdDo6aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXJMaXN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlckxpc3Q6OmV2ZW50VGFyZ2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJMaXN0OjplbnN1cmVFdmVudFRhcmdldERhdGEpOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoU291cmNlQnVmZmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXJMaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6
flNvdXJjZUJ1ZmZlckxpc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5pZGw6IEFkZGVkLgorCisgICAgICAgIEFkZGluZyBuZXcgb2JqZWN0cywgbmV3
IGV2ZW50cywgYW5kIG5ldyBjb25zdHJ1Y3RvcnM6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAg
ICAgICAgKiBodG1sL0RPTVVSTC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKToKKyAgICAgICAgKiBodG1sL0RPTVVSTC5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChET01VUkwpOgorICAgICAgICAqIGh0bWwv
RE9NVVJMLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKworICAg
ICAgICBSZW1vdmluZyBvbGQgc3R5bGUgQVBJIGFuZCBhdHRhY2luZyBuZXcgTWVkaWFTb3VyY2Ug
b2JqZWN0cyB0byBIVE1MTWVkaWFFbGVtZW50OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBSZW1vdmUgb2xkIHN0eWxlIEFQSSByZXNvdXJj
ZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCk6IFNl
dCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50Ojpsb2FkUmVzb3VyY2UpOiBHZXQgTWVkaWFTb3VyY2Ugb2JqZWN0IGZyb20gYmxvYiBy
ZWdpc3RyeQorICAgICAgICAgICAgbG9vayB1cCBhbmQsIGlmIGZvdW5kLCBzZXQgaXQncyBNZWRp
YVBsYXllciBwb2ludGVyIHRvIHRoZSBjdXJyZW50IE1lZGlhUGxheWVyLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCk6IFNldCBzb3VyY2Ugc3RhdGUg
dG8gImNsb3NlZCIuICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhRW5naW5lRXJyb3IpOiBTZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VPcGVuZWQpOiBT
ZXQgc291cmNlIHN0YXRlIHRvICJvcGVuIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlVVJMKTogQ2hhbmdlIHRvIG5ldyBibG9iIFVSTC4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNlZWspOiBDaGVjayBpZiBzb3VyY2Ug
c3RhdGUgaXMgImNsb3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZXRTb3VyY2VTdGF0ZSk6IEhlbHBlciBmdW5jdGlvbiBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8K
KyAgICAgICAgICAgIGtlZXAgY2hlY2tpbmcgZm9yIG1fbWVkaWFTb3VyY2UuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1c2VyQ2FuY2VsbGVkTG9hZCk6IFNldCBzb3VyY2Ug
c3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpj
cmVhdGVNZWRpYVBsYXllcik6IElmIHRoZSBjdXJyZW50IE1lZGlhUGxheWVyIGlzIHJlLQorICAg
ICAgICAgICAgY3JlYXRlZCwgbm90aWZ5IHRoZSBNZWRpYVNvdXJjZSBhbmQgcmVzZXQgaXRzIE1l
ZGlhUGxheWVyLgorICAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGw6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEyLTA3LTE2ICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGlt
cGxlbWVudCBzZWFyY2ggLyByZXBsYWNlIGluIHNvdXJjZSBmaWxlcyAoYmVoaW5kIGV4cGVyaW1l
bnQgZmxhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDZhMzc3ZjBhMmI5NjIwYWY1MGI3
MGE4NjUzYjUzMmYxM2Y2Mi4uNTdkMWM3MTM4MjMzZWRhZTA2NWQ5ZmU5MjA3ODk1ZjQxNmIxOGZi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTI1NTMsNiArMjU1MywyMyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NPVVJD
RSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAg
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXNvdXJjZQorICAgICkKKyAgICBMSVNUKEFQUEVO
RCBXZWJDb3JlX0lETF9GSUxFUworICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmlkbAorICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKKyAg
ICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAorICAgICkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZVJlZ2lzdHJ5LmNwcAorICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorICAg
ICkKK0VORElGKCkKKwogSUYgKEVOQUJMRV9XRUJfQVVESU8pCiAgICAgTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFhMTAyYzhjMTU3ZTkzZmI0ZWYxMzE0MzAwOTA2
N2VmOGJiNjViM2IuLjhlNGQ0NTk1ODdiMDdjZjA3NjRiZjdhOGExYzhjNjQ5NDY4Y2U0MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xNSw2ICsxNSw3IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0g
XAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZCBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbiBcCiAJLUkkKHNyY2Rpcikv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
cm90b2NvbGhhbmRsZXIgXApAQCAtODgxLDYgKzg4Miw3IEBAIElETF9QQVRIIDo9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xv
Y2F0aW9uIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0
cmVhbSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJhdWRpbyBcCkBAIC0xMDQ5LDYgKzEwNTEsNyBAQCBFWFRSQV9ESVNU
ICs9IFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQvKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvKi5pZGwpIFwKKwkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNy
Y2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS8qLmlkbCkgXAogCSQoc2hl
bGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy8qLmlk
bCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9j
b2xoYW5kbGVyLyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2NTIw
MzgyMjRjZTFmYjJjOTdhMjBjM2VhZmEzYjJiODhkYTFhMThjLi5mZWFhYTg0YmMwNDc5YTlkM2I1
MDc1YzZjNjVlMDYyYTRmOTU0M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTM4Myw2ICszODMsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZWRpYUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVNvdXJjZS5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZWRpYVNvdXJjZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWVkaWFTdHJlYW0uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTdHJlYW0u
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtRXZlbnQuY3BwIFwKQEAg
LTUwMyw2ICs1MDUsMTAgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU2hhcmVkV29ya2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTaWduYWxpbmdDYWxsYmFjay5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaWdu
YWxpbmdDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVy
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlci5oIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyTGlzdC5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTcGVlY2hJbnB1dEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Nw
ZWVjaElucHV0RXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NwZWVjaElucHV0
UmVzdWx0LmNwcCBcCkBAIC02OTIsNiArNjk4LDkgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsIFwKKwkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCBcCisJJChXZWJDb3JlKS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCBcCiAJJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbCBcCiAJJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmlkbCBcCkBAIC0xMTU5LDYg
KzExNjgsMTQgQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL1BhZ2VHcm91cEluZGV4ZWREYXRhYmFzZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4
ZWREYXRhYmFzZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5oIFwKKyAgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZVJlZ2lzdHJ5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAyYzRm
Y2YzMGRhMmU3YTNkNTE4ZWFjZmQzMTlkZjA3NzRmNTc5ZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0wLDAg
KzEsMjc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
KworI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisKKyNpbmNsdWRlICJDb250ZW50VHlwZS5oIgor
I2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiVGltZVJhbmdlcy5oIgorI2luY2x1ZGUgPHd0
Zi9VaW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxNZWRp
YVNvdXJjZT4gTWVkaWFTb3VyY2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTb3VyY2UoY29udGV4dCkpOwor
fQorCitNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKGNvbnRleHQpCisgICAgLCBt
X3JlYWR5U3RhdGUoY2xvc2VkS2V5d29yZCgpKQorICAgICwgbV9wbGF5ZXIoMCkKKyAgICAsIG1f
bmV4dFNvdXJjZUJ1ZmZlcklkKDApCit7CisgICAgbV9zb3VyY2VCdWZmZXJzID0gU291cmNlQnVm
ZmVyTGlzdDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK1NvdXJjZUJ1
ZmZlckxpc3QqIE1lZGlhU291cmNlOjpzb3VyY2VCdWZmZXJzKCkKK3sKKyAgICByZXR1cm4gbV9z
b3VyY2VCdWZmZXJzLmdldCgpOworfQorCitTb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6
YWN0aXZlU291cmNlQnVmZmVycygpCit7CisgICAgLy8gVE9ETygpOiBzdXBwb3J0IHRyYWNrIHNl
bGVjdGlvbgorICAgIHJldHVybiBtX3NvdXJjZUJ1ZmZlcnMuZ2V0KCk7Cit9CisKK1NvdXJjZUJ1
ZmZlciogTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIC8vIDEuIElmIHR5cGUgaXMgbnVsbCBvciBhbiBlbXB0
eSB0aGVuIHRocm93IGFuIElOVkFMSURfQUNDRVNTX0VSUiBleGNlcHRpb24gYW5kCisgICAgLy8g
YWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKHR5cGUuaXNOdWxsKCkgfHwgdHlwZS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKworICAgIC8vIDIuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgdGhhdCBp
cyBub3Qgc3VwcG9ydGVkIC4uLiwgdGhlbiB0aHJvdyBhCisgICAgLy8gTk9UX1NVUFBPUlRFRF9F
UlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBDb250ZW50VHlwZSBjb250
ZW50VHlwZSh0eXBlKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBjb2RlY3MgPSBjb250ZW50VHlwZS5j
b2RlY3MoKTsKKworICAgIGlmICghY29kZWNzLnNpemUoKSkgeworICAgICAgICBlYyA9IE5PVF9T
VVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAgLy8gNC4g
SWYgdGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIGlzIG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRo
ZW4gdGhyb3cgYW4KKyAgICAvLyBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgorICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5L
ZXl3b3JkKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgLy8gNS4gQ3JlYXRlIGEgbmV3IFNvdXJjZUJ1ZmZlciBvYmpl
Y3QgYW5kIGFzc29jaWF0ZWQgcmVzb3VyY2VzLgorICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1
ZmZlciA9IFNvdXJjZUJ1ZmZlcjo6Y3JlYXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNl
QnVmZmVySWQpKTsKKworICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGJ1ZmZlci0+
aWQoKSwgY29udGVudFR5cGUudHlwZSgpLCBjb2RlY3MpKSB7CisgICAgY2FzZSBNZWRpYVBsYXll
cjo6T2s6CisgICAgICAgIC8vIDYuIEFkZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJz
IGFuZCBmaXJlIGEgYWRkc291cmNlYnVmZmVyIG9uIHRoYXQgb2JqZWN0LgorICAgICAgICBidWZm
ZXItPnNldE1lZGlhU291cmNlKHRoaXMpOworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMtPmFkZChi
dWZmZXIpOworICAgICAgICAvLyA3LiBSZXR1cm4gdGhlIG5ldyBvYmplY3QgdG8gdGhlIGNhbGxl
ci4KKyAgICAgICAgcmV0dXJuIGJ1ZmZlci5nZXQoKTsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpO
b3RTdXBwb3J0ZWQ6CisgICAgICAgIC8vIDIgKGNvbnQpLiBJZiB0eXBlIGNvbnRhaW5zIGEgTUlN
RSB0eXBlIC4uLiB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgdHlwZXMgCisgICAgICAg
IC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJj
ZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKKyAgICAgICAgLy8gYSBOT1RfU1VQUE9SVEVEX0VSUiBleGNl
cHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURf
RVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVkSWRM
aW1pdDoKKyAgICAgICAgLy8gMyAoY29udCkuIElmIHRoZSB1c2VyIGFnZW50IGNhbid0IGhhbmRs
ZSBhbnkgbW9yZSBTb3VyY2VCdWZmZXIgb2JqZWN0cyB0aGVuIHRocm93IAorICAgICAgICAvLyBh
IFFVT1RBX0VYQ0VFREVEX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAg
ICAgICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKK30KKwordm9pZCBNZWRpYVNvdXJjZTo6cmVt
b3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICAvLyAxLiBJZiBzb3VyY2VCdWZmZXIgaXMgbnVsbCB0aGVuIHRocm93IGFuIElOVkFM
SURfQUNDRVNTX0VSUiBleGNlcHRpb24gYW5kCisgICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMuCisg
ICAgaWYgKCFidWZmZXIpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyAyLiBJZiBzb3VyY2VCdWZmZXJzIGlzIGVtcHR5
IHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uIGFuZAorICAgIC8vIGFi
b3J0IHRoZXNlIHN0ZXBzLgorICAgIGlmICghbV9wbGF5ZXIgfHwgIW1fc291cmNlQnVmZmVycy0+
bGVuZ3RoKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIC8vIDMuIElmIHNvdXJjZUJ1ZmZlciBzcGVjaWZpZXMgYW4gb2Jq
ZWN0IHRoYXQgaXMgbm90IGluIHNvdXJjZUJ1ZmZlcnMgdGhlbgorICAgIC8vIHRocm93IGEgTk9U
X0ZPVU5EX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIC8vIDYuIFJl
bW92ZSBzb3VyY2VCdWZmZXIgZnJvbSBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEgcmVtb3Zlc291
cmNlYnVmZmVyIGV2ZW50IG9uIHRoYXQgb2JqZWN0LgorICAgIC8vIDcuIERlc3Ryb3kgYWxsIHJl
c291cmNlcyBmb3Igc291cmNlQnVmZmVyLgorICAgIGlmICghbV9zb3VyY2VCdWZmZXJzLT5yZW1v
dmUoYnVmZmVyKSkgeworICAgICAgICBlYyA9IE5PVF9GT1VORF9FUlI7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyA0LiBSZW1vdmUgdHJhY2sgaW5mb3JtYXRpb24gZnJvbSBhdWRp
b1RyYWNrcywgdmlkZW9UcmFja3MsIGFuZCB0ZXh0VHJhY2tzIGZvciBhbGwgdHJhY2tzIGFzc29j
aWF0ZWQgd2l0aCBzb3VyY2VCdWZmZXIgYW5kIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgY2hh
bmdlIG9uIHRoZSBtb2RpZmllZCBsaXN0cy4KKworICAgIC8vIDUuIElmIHNvdXJjZUJ1ZmZlciBp
cyBpbiBhY3RpdmVTb3VyY2VCdWZmZXJzLCB0aGVuIHJlbW92ZSBpdCBmcm9tIHRoYXQgbGlzdCBh
bmQgZmlyZSBhIHJlbW92ZXNvdXJjZWJ1ZmZlciBldmVudCBvbiB0aGF0IG9iamVjdC4KK30KKwor
Y29uc3QgU3RyaW5nJiBNZWRpYVNvdXJjZTo6cmVhZHlTdGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fcmVhZHlTdGF0ZTsKK30KKwordm9pZCBNZWRpYVNvdXJjZTo6c2V0U3RhdGUoY29uc3Qg
U3RyaW5nJiBzdGF0ZSkKK3sKKyAgICBBU1NFUlQoc3RhdGUgPT0gb3BlbktleXdvcmQoKSB8fCBz
dGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkgfHwgc3RhdGUgPT0gZW5kZWRLZXl3b3JkKCkpOworICAg
IFN0cmluZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBtX3JlYWR5U3RhdGUgPSBzdGF0
ZTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gb2xkU3RhdGUpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CisgICAgICAgIG1f
c291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9wbGF5ZXIgPSAwOworICAgICAgICBk
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWNsb3Nl
RXZlbnQsIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAg
aWYgKG9sZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0YXRlID09IGVuZGVkS2V5
d29yZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIHRydWUpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gb3BlbktleXdvcmQoKSkgeworICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJj
ZW9wZW5FdmVudCwgZmFsc2UsIHRydWUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKwor
dm9pZCBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5nJiBlcnJvciwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgLy8gMS4gSWYgdGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIGlz
IG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cgYW4KKyAgICAvLyBJTlZBTElEX1NU
QVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlmICghbV9wbGF5
ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZWMgPSBJTlZB
TElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlhUGxheWVy
OjpFbmRPZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsK
KworICAgIGlmIChlcnJvci5pc051bGwoKSB8fCBlcnJvci5pc0VtcHR5KCkpCisgICAgICAgIGVv
c1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworICAgIGVsc2UgaWYgKGVycm9yID09
ICJuZXR3b3JrIikKKyAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05ldHdvcmtF
cnJvcjsKKyAgICBlbHNlIGlmIChlcnJvciA9PSAiZGVjb2RlIikKKyAgICAgICAgZW9zU3RhdHVz
ID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOworICAgIGVsc2UgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDIu
IENoYW5nZSB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgdmFsdWUgdG8gImVuZGVkIi4KKyAgICBz
ZXRTdGF0ZShlbmRlZEtleXdvcmQoKSk7CisgICAgbV9wbGF5ZXItPnNvdXJjZUVuZE9mU3RyZWFt
KGVvc1N0YXR1cyk7Cit9CisKK1Bhc3NSZWZQdHI8VGltZVJhbmdlcz4gTWVkaWFTb3VyY2U6OmJ1
ZmZlcmVkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAg
IGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQoKSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisK
KyAgICByZXR1cm4gbV9wbGF5ZXItPnNvdXJjZUJ1ZmZlcmVkKGlkKTsKK30KKwordm9pZCBNZWRp
YVNvdXJjZTo6YXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8VWludDhBcnJheT4g
ZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkYXRhLmdldCgpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgIGlmICghbV9w
bGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkpIHsK
KyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCit2
b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgp
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNlOjpp
bnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFj
ZUZvck1lZGlhU291cmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBNZWRpYVNvdXJj
ZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK0V2ZW50
VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJu
ICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBNZWRpYVNvdXJjZTo6
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRh
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2NDJl
ZGNmYWI2ZWJkZTM1ZDI4MjRiZGQyMTc3ZThmZTE3ODczOTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTAsMCAr
MSwxMTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIE1lZGlhU291cmNlX2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VfaAorCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZm
ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVNvdXJjZSA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMg
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBT
dHJpbmcmIG9wZW5LZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgU3RyaW5nLCBvcGVuLCAoIm9wZW4iKSk7CisgICAgICAgIHJldHVybiBvcGVuOworICAg
IH0KKworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIGNsb3NlZEtleXdvcmQoKQorICAgIHsKKyAg
ICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJjbG9zZWQi
KSk7CisgICAgICAgIHJldHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFN0
cmluZyYgZW5kZWRLZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgU3RyaW5nLCBlbmRlZCwgKCJlbmRlZCIpKTsKKyAgICAgICAgcmV0dXJuIGVuZGVkOwor
ICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlKCkgeyB9CisKKyAg
ICBTb3VyY2VCdWZmZXJMaXN0KiBzb3VyY2VCdWZmZXJzKCk7CisgICAgU291cmNlQnVmZmVyTGlz
dCogYWN0aXZlU291cmNlQnVmZmVycygpOworCisgICAgU291cmNlQnVmZmVyKiBhZGRTb3VyY2VC
dWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1v
dmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyKiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29u
c3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdGF0ZShjb25zdCBT
dHJpbmcmKTsKKworICAgIHZvaWQgZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5nJiBlcnJvciwgRXhj
ZXB0aW9uQ29kZSYpOworCisgICAgdm9pZCBzZXRNZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxh
eWVyKSB7IG1fcGxheWVyID0gcGxheWVyOyB9CisgICAgCisgICAgUGFzc1JlZlB0cjxUaW1lUmFu
Z2VzPiBidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Cisg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBk
YXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhYm9ydChjb25zdCBTdHJpbmcmIGlkLCBF
eGNlcHRpb25Db2RlJik7CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdl
YmtpdHNvdXJjZW9wZW4pOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Vi
a2l0c291cmNlZW5kZWQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Vi
a2l0c291cmNlY2xvc2UpOworCisgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCisgICAgdmly
dHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdCBPVkVSUklERTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+
OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVNvdXJjZT46OmRlcmVmOworCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IE1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsK
KworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkg
T1ZFUlJJREU7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7
IHJlZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7
IGRlcmVmKCk7IH0KKworICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKwor
ICAgIFN0cmluZyBtX3JlYWR5U3RhdGU7CisgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyOyAvLyA8
LS0gc2hvdWxkIHRoaXMgYmUgYSBSZWZQdHI/CisKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlz
dD4gbV9zb3VyY2VCdWZmZXJzOworICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2EyYTVmNjUwNTMyYzI1NDQyODc4OWM1MGRjMTI4YWY2Yzk2OTY3ZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCkBA
IC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworIAorbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
Q29uZGl0aW9uYWw9TUVESUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVk
aWFTb3VyY2UsCisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAgICAgICBDb25zdHJ1Y3RvciwKKyAg
ICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gTWVkaWFTb3VyY2Ug
eworICAgICAgICAvLyBBbGwgdGhlIHNvdXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBvYmpl
Y3QuCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJjZUJ1
ZmZlcnM7CisKKyAgICAgICAgLy8gU3Vic2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92aWRl
IGRhdGEgZm9yIHRoZSBzZWxlY3RlZC9lbmFibGVkIHRyYWNrcy4KKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxpc3QgYWN0aXZlU291cmNlQnVmZmVyczsKKworICAgICAg
ICBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKGluIFNvdXJj
ZUJ1ZmZlciBidWZmZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvL2VudW0g
U3RhdGUgeyAiY2xvc2VkIiwgIm9wZW4iLCAiZW5kZWQiIH07CisgICAgICAgIC8vcmVhZG9ubHkg
YXR0cmlidXRlIFN0YXRlIHJlYWR5U3RhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVhZHlTdGF0ZTsKKyAgICAgICAgCisgICAgICAgIC8vIGVudW0gRW5kT2ZTdHJl
YW1FcnJvciB7ICJuZXR3b3JrIiwgImRlY29kZSIgfTsKKyAgICAgICAgdm9pZCBlbmRPZlN0cmVh
bShpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKQorICAg
ICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ud2Via2l0c291cmNlb3BlbjsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlz
dGVuZXIgb253ZWJraXRzb3VyY2VlbmRlZDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb253ZWJraXRzb3VyY2VjbG9zZTsKKyAgICAgICAgCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0
IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3Rl
bmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFu
IHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3Ry
aW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3Rl
bmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQo
aW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NWMyYmY0ZGQ3M2UxNzRm
ODlmNGUwYzU5ZjkyZWIyYjZhMjMwZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCkBAIC0wLDAgKzEs
NjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRp
YVNvdXJjZVJlZ2lzdHJ5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVk
ZSAiS1VSTC5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYVNvdXJjZVJlZ2lzdHJ5JiBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCit7CisgICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNZWRpYVNvdXJjZVJlZ2lzdHJ5LCBp
bnN0YW5jZSwgKCkpOworICAgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2b2lkIE1lZGlhU291
cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYgdXJsLCBQYXNz
UmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKKyAgICBtX21lZGlhU291cmNlcy5zZXQodXJsLnN0cmluZygpLCBzb3VyY2UpOworfQorCit2
b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBL
VVJMJiB1cmwpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX21lZGlhU291
cmNlcy5yZW1vdmUodXJsLnN0cmluZygpKTsKK30KKworTWVkaWFTb3VyY2UqIE1lZGlhU291cmNl
UmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VzLmdldCh1cmwp
LmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yYjAzZTNhZjE4NjdmNTBlNmE4Y2Y5NDNlN2JlYTI2ZTlmMjJhYmEy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBNZWRpYVNvdXJjZVJlZ2lzdHJ5X2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VSZWdpc3RyeV9o
CisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFT
b3VyY2U7CisKK2NsYXNzIE1lZGlhU291cmNlUmVnaXN0cnkgeworcHVibGljOgorICAgIC8vIFJl
dHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgTWVkaWFTb3VyY2VSZWdpc3RyeS4KKyAgICBzdGF0
aWMgTWVkaWFTb3VyY2VSZWdpc3RyeSYgcmVnaXN0cnkoKTsKKworICAgIC8vIFJlZ2lzdGVycyBh
IGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIG1lZGlhIHNvdXJjZS4KKyAgICB2
b2lkIHJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFT
b3VyY2U+KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJik7
CisKKyAgICBNZWRpYVNvdXJjZSogbG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwp
OworCitwcml2YXRlOgorICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFTb3VyY2U+ID4g
bV9tZWRpYVNvdXJjZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlNzNjNTg3NjZlNTU1Mzk5N2Q3NTdkYTRkZDI1NGJj
NTIyMTAyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5o
IgorCisjaW5jbHVkZSAiVGltZVJhbmdlcy5oIgorI2luY2x1ZGUgPHd0Zi9VaW50OEFycmF5Lmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIoY29u
c3QgU3RyaW5nJiBpZCkKKyAgICA6IG1faWQoaWQpCisgICAgLCBtX3NvdXJjZSgwKQoreworfQor
CitTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIoKQoreworfQorCitQYXNzUmVmUHRyPFRpbWVS
YW5nZXM+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7
CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gbV9zb3VyY2UtPmJ1ZmZlcmVk
KGlkKCksIGVjKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZChQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghbV9zb3VyY2Up
IHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIG1fc291cmNlLT5hcHBlbmQoaWQoKSwgZGF0YSwgZWMpOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlcjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFtX3NvdXJj
ZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgbV9zb3VyY2UtPmFib3J0KGlkKCksIGVjKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1OGE1NGFmOGRhMzA4ZWZhODcxZGNi
ZTk0NmQyNzY1MDE3YTA2ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNv
dXJjZUJ1ZmZlcl9oCisjZGVmaW5lIFNvdXJjZUJ1ZmZlcl9oCisKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIk1lZGlhU291
cmNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFRpbWVSYW5nZXM7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNvdXJjZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlcihpZCkpOworICAgIH0KKworICAgIHZp
cnR1YWwgflNvdXJjZUJ1ZmZlcigpOworCisgICAgUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZm
ZXJlZChFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKKyAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRy
PFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZvaWQgYWJvcnQoRXhj
ZXB0aW9uQ29kZSYpOworICAgIAorICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVy
biBtX2lkOyB9CisKKyAgICB2b2lkIHNldE1lZGlhU291cmNlKFBhc3NSZWZQdHI8TWVkaWFTb3Vy
Y2U+IHNvdXJjZSkgeyBtX3NvdXJjZSA9IHNvdXJjZTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IG1f
c291cmNlLmNsZWFyKCk7IH0KKworcHJpdmF0ZToKKyAgICBTb3VyY2VCdWZmZXIoY29uc3QgU3Ry
aW5nJiBpZCk7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2U+IG1f
c291cmNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQxMmI5Y2I2MThmNTUwMTU1MjdiM2Q2OWFmMjk2ZjY5ZjdiZDlmNTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZQorICAgIF0gU291cmNlQnVmZmVyIHsKKworICAgICAg
ICAvLyBSZXR1cm5zIHRoZSB0aW1lIHJhbmdlcyBidWZmZXJlZC4KKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFRpbWVSYW5nZXMgYnVmZmVyZWQKKyAgICAgICAgICAgIGdldHRlciByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBBcHBlbmQgc2VnbWVudCBkYXRhLgorICAgICAg
ICB2b2lkIGFwcGVuZChpbiBVaW50OEFycmF5IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
KworICAgICAgICAvLyBBYm9ydCB0aGUgY3VycmVudCBzZWdtZW50IGFwcGVuZCBzZXF1ZW5jZS4K
KyAgICAgICAgdm9pZCBhYm9ydCgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTNlMjlkOGFhN2IzMWEwZDczODBiM2MzZmMxNzgy
YTY5MDNlZDM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJTb3VyY2VC
dWZmZXJMaXN0LmgiCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZl
ci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1
ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQoreworfQorCit1bnNpZ25lZCBsb25nIFNvdXJjZUJ1
ZmZlckxpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGlzdC5zaXplKCk7Cit9
CisKK1NvdXJjZUJ1ZmZlciogU291cmNlQnVmZmVyTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkg
Y29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9saXN0LnNpemUoKSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG1fbGlzdFtpbmRleF0uZ2V0KCk7Cit9CisKK3ZvaWQgU291cmNlQnVm
ZmVyTGlzdDo6YWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIpCit7CisgICAgbV9s
aXN0LmFwcGVuZChidWZmZXIpOworICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5hbWVzKCku
d2Via2l0YWRkc291cmNlYnVmZmVyRXZlbnQpOworfQorCitib29sIFNvdXJjZUJ1ZmZlckxpc3Q6
OnJlbW92ZShTb3VyY2VCdWZmZXIqIGJ1ZmZlcikKK3sgICAgCisgICAgc2l6ZV90IGluZGV4ID0g
bV9saXN0LmZpbmQoYnVmZmVyKTsKKyAgICBpZiAoaW5kZXggPT0gbm90Rm91bmQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIG1fbGlzdC5yZW1vdmUoaW5kZXgpOworICAgIGJ1ZmZlci0+
Y2xlYXIoKTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHJlbW92
ZXNvdXJjZWJ1ZmZlckV2ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBTb3VyY2VC
dWZmZXJMaXN0OjpjbGVhcigpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xpc3Qu
c2l6ZSgpOyArK2kpCisgICAgICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5hbWVzKCkud2Vi
a2l0cmVtb3Zlc291cmNlYnVmZmVyRXZlbnQpOworICAgIG1fbGlzdC5jbGVhcigpOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50TmFtZSkKK3sKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKTsKKyAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOwor
CisgICAgRXZlbnRUYXJnZXQ6OmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcmIFNvdXJjZUJ1ZmZlckxpc3Q6OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAg
IHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yU291cmNlQnVmZmVyTGlzdDsKK30KKwor
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogU291cmNlQnVmZmVyTGlzdDo6c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
K30KKworRXZlbnRUYXJnZXREYXRhKiBTb3VyY2VCdWZmZXJMaXN0OjpldmVudFRhcmdldERhdGEo
KQoreworICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0
YSogU291cmNlQnVmZmVyTGlzdDo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1
cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWRmMjBkNTg5Y2MzMjA1MTk5ZTMxMGE1YTRjYjY2
ZWUyMDBjNmViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU291cmNl
QnVmZmVyTGlzdF9oCisjZGVmaW5lIFNvdXJjZUJ1ZmZlckxpc3RfaAorCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKKworCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBTb3VyY2VCdWZmZXI7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlckxpc3QgOiBw
dWJsaWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU291cmNlQnVmZmVyTGlzdChjb250ZXh0KSk7CisgICAgfQorICAgIHZpcnR1
YWwgflNvdXJjZUJ1ZmZlckxpc3QoKSB7IH0KKworICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKCkg
Y29uc3Q7CisgICAgU291cmNlQnVmZmVyKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKwor
ICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPik7CisgICAgYm9vbCByZW1vdmUo
U291cmNlQnVmZmVyKik7CisgICAgdm9pZCBjbGVhcigpOworCisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRhZGRzb3VyY2VidWZmZXIpOworICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVtb3Zlc291cmNlYnVmZmVyKTsKKworICAgIC8v
IEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBp
bnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKKyAg
ICB1c2luZyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+OjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDxTb3VyY2VCdWZmZXJMaXN0Pjo6ZGVyZWY7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOwor
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IFNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopOworCisgICAgdm9pZCBjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IHJl
ZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IGRl
cmVmKCk7IH0KKworICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKyAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKKyAgICBW
ZWN0b3I8UmVmUHRyPFNvdXJjZUJ1ZmZlcj4gPiBtX2xpc3Q7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTMw
ZjNlMTE3ZTYwNmZkYzEyNjY0NzA4YmVjZGMwZGM0ZTRiMmJhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbApA
QCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPW1l
ZGlhU291cmNlLAorICAgICAgICBJbmRleGVkR2V0dGVyLAorICAgICAgICBFdmVudFRhcmdldCwK
KyAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gU291cmNlQnVm
ZmVyTGlzdCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKKyAgICAgICAgU291cmNlQnVmZmVyIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisK
KyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJraXRhZGRzb3VyY2VidWZmZXI7
CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Via2l0cmVtb3Zlc291cmNlYnVm
ZmVyOworCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lk
IHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOwor
ICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAg
ICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKaW5kZXggYzI3NGUyZjAzZWJiZTJjM2I4Mzg4OGU5OTlkZmY4NDFm
OTJhOWNkMC4uYTBmY2FhYTFjMDRmMmEzNTNiZmUzYWZmMDZkNjBiMzhlNjYyMzU3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYwLDYgKzYwLDcgQEAKICAgICAg
ICcuLi9Nb2R1bGVzL2dlb2xvY2F0aW9uJywKICAgICAgICcuLi9Nb2R1bGVzL2ludGVudHMnLAog
ICAgICAgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKKyAgICAgICcuLi9Nb2R1bGVzL21lZGlhc291
cmNlJywKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMnLAogICAgICAgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKQEAg
LTEwNTQsNiArMTA1NSw3IEBACiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxl
cy9maWxlc3lzdGVtJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2lu
ZGV4ZWRkYicsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9pbnRlbnRz
JywKKyAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL21lZGlhc291cmNlJywK
ICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAg
ICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMnLAogICAg
ICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAzNjY3OGFmNGU1YWNlZmNhOGJjYmFlZmYxZjRkYzU0YmViNTBlZTlk
Li42MjZiMWQxZjQzYjNmMDRiMTRiM2E0NDc0YzQ1ZGU1N2Q1OGUxYTE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC04MjUsNiArODI1LDkgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50
ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3VsdENhbGxi
YWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMu
aWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCcs
CisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsJywKKyAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJl
YW0uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmlk
bCcsCkBAIC0xNTM1LDYgKzE1MzgsMTQgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMv
SW50ZW50UmVzdWx0Q2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05h
dmlnYXRvckludGVudHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdh
dG9ySW50ZW50cy5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5o
JywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnku
Y3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
JywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oJywKKyAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwJywKKyAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbi5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmgn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDkzYmUyNzUwNDkxMGI4YjA5NGY4YjkxMzgxYzA3ZTc4NmYyNGEwZjcuLjE0ZDhhMWU5
Yjg5NmM4MzUyMWVhMGZhMDU4NjUyODYzNDIzNzA2MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTcyLDYgKzExNTcyLDE3
IEBACiAJCUIxMEI2OTdFMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVlRUVG9rZW5pemVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjEwQjY5N0YxNDBDMTc0MDAwQkMxQzI2IC8q
IFdlYlZUVFRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJW
VFRUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRD
QTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIxQTk0MkRFMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBN
ZWRpYVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFMDE1QjVDRTIyMDBENTI1
RDEgLyogTWVkaWFTb3VyY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU291cmNl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTExNUI1Q0UyMjAwRDUy
NUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0cnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQx
IC8qIFNvdXJjZUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTb3VyY2VCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJF
NDE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMUE5NDJFNTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMUE5NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQxIC8q
IFNvdXJjZUJ1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291
cmNlQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFODE1
QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU291cmNlQnVmZmVyTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIxQUQ0RTcxMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmNwcDsgcGF0aCA9
IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CiAJCUIxQUQ0RTcyMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmg7IHBhdGggPSBsb2Fk
ZXIvVGV4dFRyYWNrTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQjFE
NUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTc1NDEsNiArMTc1NTIsNyBAQAogCQk5NzExNDVGRTE0RUYwMDZFMDA2
NzRGRDkgLyogTW9kdWxlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJQjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovLAogCQkJ
CTk3MTE0NUZGMTRFRjAwNzkwMDY3NEZEOSAvKiBnZW9sb2NhdGlvbiAqLywKIAkJCQk5NzEyQTU1
MzE1MDA0RTNDMDA0OEFGMTAgLyogaW5kZXhlZGRiICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYw
MDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLApAQCAtMTg5NzUsNiArMTg5ODcsMjUgQEAKIAkJ
CW5hbWUgPSBQbHVnaW5zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQjFB
OTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEgLyog
TWVkaWFTb3VyY2UuY3BwICovLAorCQkJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRp
YVNvdXJjZS5oICovLAorCQkJCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJj
ZS5pZGwgKi8sCisJCQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNlUmVn
aXN0cnkuY3BwICovLAorCQkJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJj
ZVJlZ2lzdHJ5LmggKi8sCisJCQkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1
ZmZlci5jcHAgKi8sCisJCQkJQjFBOTQyRTQxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZl
ci5oICovLAorCQkJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIuaWRs
ICovLAorCQkJCUIxQTk0MkU2MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0LmNw
cCAqLywKKwkJCQlCMUE5NDJFNzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5o
ICovLAorCQkJCUIxQTk0MkU4MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0Lmlk
bCAqLywKKwkJCSk7CisJCQluYW1lID0gbWVkaWFzb3VyY2U7CisJCQlwYXRoID0gTW9kdWxlcy9t
ZWRpYXNvdXJjZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUIxQUQ0RTc3
MTNBMTJBNzIwMDg0NkIyNyAvKiB0cmFjayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA4MzZlNjMwOGIwZGFjZjlk
YjFmNzc1ZmZmMjkzNGYxYjc2ZGZjMThhLi45ODNkZjI5ZThiZjJlYzcwMjc2ZDY2ODU0NTM1OWMw
OTRmNmU4ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1Nyw2ICsxNTcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBcCiAg
ICAgbWFjcm8od2Via2l0ZW5kZnVsbHNjcmVlbikgXAogICAgIFwKKyAgICBtYWNybyh3ZWJraXRh
ZGRzb3VyY2VidWZmZXIpIFwKKyAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwK
ICAgICBtYWNybyh3ZWJraXRzb3VyY2VvcGVuKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNlZW5k
ZWQpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaAppbmRleCBmMzg3ZTQyNzNlZTI2YTIwNmI2ZDc5OTkxZGUzMmQ5ZGI1NWUyYTZmLi5hMDE0
YTE4M2VjOGQzZWZkZmQ1NmIyZGI2OGM4NTc2NDliMGM1YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaApAQCAtNTcsNiArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
TG9jYWxNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZWRpYUNvbnRyb2xsZXI7CiAgICAgY2xhc3Mg
TWVkaWFTdHJlYW07CisgICAgY2xhc3MgTWVkaWFTb3VyY2U7CiAgICAgY2xhc3MgTWVzc2FnZVBv
cnQ7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CkBAIC02NCw2ICs2
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogICAgIGNsYXNzIFNoYXJlZFdvcmtlcjsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXJDb250
ZXh0OworICAgIGNsYXNzIFNvdXJjZUJ1ZmZlckxpc3Q7CiAgICAgY2xhc3MgVGV4dFRyYWNrOwog
ICAgIGNsYXNzIFRleHRUcmFja0N1ZTsKICAgICBjbGFzcyBXZWJTb2NrZXQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA4MjE3MTdiMGQ3ZmU3NjUzYWFmM2Y2
NWRhMzVlYThlZjk1YmQwNGU0Li4zOTJiMzA1NDQyNDgxN2ZjZmUwMWYxODMyZjJiOTI1YzFiMDNh
Yzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE2LDYg
KzE2LDcgQEAgSURCVmVyc2lvbkNoYW5nZVJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRB
QkFTRQogSmF2YVNjcmlwdEF1ZGlvTm9kZSBjb25kaXRpb25hbD1XRUJfQVVESU8KIExvY2FsTWVk
aWFTdHJlYW0gY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0
aW9uYWw9VklERU8KK01lZGlhU291cmNlIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogTWVkaWFT
dHJlYW0gY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYVN0cmVhbVRyYWNrTGlzdCBjb25k
aXRpb25hbD1NRURJQV9TVFJFQU0KIE1lc3NhZ2VQb3J0CkBAIC0yNiw2ICsyNyw3IEBAIFBlZXJD
b25uZWN0aW9uMDAgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBQZXJmb3JtYW5jZSBjb25kaXRp
b25hbD1XRUJfVElNSU5HCiBTaGFyZWRXb3JrZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMK
IFNoYXJlZFdvcmtlckNvbnRleHQgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKK1NvdXJjZUJ1
ZmZlckxpc3QgY29uZGl0aW9uYWw9TUVESUFfU09VUkNFCiBTcGVlY2hSZWNvZ25pdGlvbiBjb25k
aXRpb25hbD1TQ1JJUFRFRF9TUEVFQ0gKIFNWR0VsZW1lbnRJbnN0YW5jZSBjb25kaXRpb25hbD1T
VkcKIFRleHRUcmFjayBjb25kaXRpb25hbD1WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3Bw
CmluZGV4IDRmOTc4MGRjZDZiMzM0NzYzOThiYjRjNjhiNDk4ZTVjYjA5OTE5OTcuLjFkNzE5MGU2
OWM5M2Q3NjA5Yjg2ZGIxYjUwN2NlZGY3MjYxNWNhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAK
QEAgLTQyLDYgKzQyLDExIEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRl
ICJNZWRpYVNvdXJjZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUmVnaXN0cnkuaCIKKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgog
I2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKQEAgLTQ5LDYgKzU0LDI2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitTdHJpbmcgRE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgTWVkaWFTb3VyY2UqIHNvdXJjZSkKK3sKKyAgICBpZiAoIXNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgfHwgIXNvdXJjZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAg
S1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgaWYgKHB1YmxpY1VSTC5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fu
bm90IG9idGFpbiBNZWRpYVNvdXJjZSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4g
dGhyZWFkLgorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBNZWRpYVNvdXJjZVJl
Z2lzdHJ5OjpyZWdpc3RyeSgpLnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwocHVibGljVVJMLCBzb3Vy
Y2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnB1YmxpY1VSTE1hbmFnZXIoKS5zdHJl
YW1VUkxzKCkuYWRkKHB1YmxpY1VSTC5zdHJpbmcoKSk7CisKKyAgICByZXR1cm4gcHVibGljVVJM
LnN0cmluZygpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogU3RyaW5n
IERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIE1lZGlhU3RyZWFtKiBzdHJlYW0pCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaApp
bmRleCAyNWFlMDEzZWIwYThhMTBiYzQzMzNhMGJiYjRhMDc3OTE3YjI3ZmE3Li5kNzFmYjkzZjM1
NWI1YWQyZTJmZWJkMmZiOTAzMTgzZDk3NDEyMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVVSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKQEAgLTM2
LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIE1l
ZGlhU291cmNlOwogY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogCkBAIC00OSw2ICs1MCw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBTdHJpbmcgY3Jl
YXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBCbG9iKik7CiAgICAgc3RhdGlj
IHZvaWQgcmV2b2tlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJp
bmcmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRl
T2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNZWRpYVNvdXJjZSopOworI2VuZGlm
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZU9iamVj
dFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTdHJlYW0qKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuaWRsCmluZGV4IGVkMDRjMjNkNWM2N2IzMWMzYjkzNzM2MjA3ZmI0MGFlOTZh
MTZhYWEuLmIzNmU4ZjdjZWJhZTdkYzM3NmU5YmFhMzI5Y2RjZTk4ZTJlYTBhY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVVSTC5pZGwKQEAgLTMzLDYgKzMzLDkgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBK
U05vU3RhdGljVGFibGVzLAogICAgICAgICBJbnRlcmZhY2VOYW1lPVVSTAogICAgIF0gRE9NVVJM
IHsKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICYmIEVOQUJMRV9NRURJQV9TT1VS
Q0UKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsVHJlYXRSZXR1cm5l
ZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBN
ZWRpYVNvdXJjZT8gc291cmNlKTsKKyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVBTQogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCxUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIHN0YXRpYyBET01T
dHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlhU3RyZWFtPyBzdHJlYW0pOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDQ1OTA3OGY2NGMw
OGJlMmJlNDMxYjAwODg4ZGNmMzliZGIzMGI4NjkuLmNjMjYwNTE1NWMwZmFjNjMyMzhkNTc3ZDQw
MTA3NjY5MWNiMzA5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCkBAIC0yNDMsNiArMjQzLDcgQEAgb250b3VjaGNhbmNlbAogb251bmxvYWQKIG9udm9sdW1l
Y2hhbmdlCiBvbndhaXRpbmcKK29ud2Via2l0YWRkc291cmNlYnVmZmVyCiBvbndlYmtpdGFuaW1h
dGlvbnN0YXJ0CiBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbgogb253ZWJraXRhbmltYXRpb25l
bmQKQEAgLTI1NCw2ICsyNTUsNyBAQCBvbndlYmtpdGtleWFkZGVkCiBvbndlYmtpdGtleWVycm9y
CiBvbndlYmtpdGtleW1lc3NhZ2UKIG9ud2Via2l0bmVlZGtleQorb253ZWJraXRyZW1vdmVzb3Vy
Y2VidWZmZXIKIG9ud2Via2l0c291cmNlY2xvc2UKIG9ud2Via2l0c291cmNlZW5kZWQKIG9ud2Vi
a2l0c291cmNlb3BlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5k
ZXggNzA1YTA1YzVmOGRiNTE2YzY4Yjg1MDg1YTdiM2I1MDc4NjZmZDYxMC4uYmFkMWM2MDEyNTYx
OGQwOGUzMDNmNjE0NmY3MDI2MDFmMmUyMWZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCkBAIC0xMTAsNiArMTEwLDExIEBACiAjaW5jbHVkZSAiRGlzcGxheVNs
ZWVwRGlzYWJsZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNs
dWRlICJNZWRpYVNvdXJjZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUmVnaXN0cnkuaCIKKyNl
bmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
NDQsNyArMTQ5LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogLy8gVVJMIHByb3RvY29sIHVzZWQgdG8gc2lnbmFs
IHRoYXQgdGhlIG1lZGlhIHNvdXJjZSBBUEkgaXMgYmVpbmcgdXNlZC4KLXN0YXRpYyBjb25zdCBj
aGFyKiBtZWRpYVNvdXJjZVVSTFByb3RvY29sID0gIngtbWVkaWEtc291cmNlIjsKK3N0YXRpYyBj
b25zdCBjaGFyKiBtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCA9ICJibG9iIjsKICNlbmRpZgogCiB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMjE4LDkgKzIyMyw2IEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtCiAgICAgLCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBt
X2Rpc3BsYXlNb2RlKFVua25vd24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxi
YWNrKDApCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgICAgICAKLSAgICAsIG1fc291cmNlU3Rh
dGUoU09VUkNFX0NMT1NFRCkKLSNlbmRpZgogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVy
OjppbnZhbGlkVGltZSgpKQogICAgICwgbV9jYWNoZWRUaW1lV2FsbENsb2NrVXBkYXRlVGltZSgw
KQogICAgICwgbV9taW5pbXVtV2FsbENsb2NrVGltZVRvQ2FjaGVNZWRpYVRpbWUoMCkKQEAgLTI3
MSw3ICsyNzMsNyBAQCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bQogICAgIH0KIAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCi0gICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90b2NvbChtZWRpYVNv
dXJjZVVSTFByb3RvY29sKTsKKyAgICBtX21lZGlhU291cmNlVVJMLnNldFByb3RvY29sKG1lZGlh
U291cmNlQmxvYlByb3RvY29sKTsKICAgICBtX21lZGlhU291cmNlVVJMLnNldFBhdGgoY3JlYXRl
Q2Fub25pY2FsVVVJRFN0cmluZygpKTsKICNlbmRpZgogCkBAIC00MjAsMTQgKzQyMiw2IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRy
aWJ1dGUpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndl
YmtpdGJlZ2luZnVsbHNjcmVlbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRo
aXMsIGF0dHJpYnV0ZSkpOwogICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJr
aXRlbmRmdWxsc2NyZWVuQXR0cikKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkud2Via2l0ZW5kZnVsbHNjcmVlbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOwotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0g
ICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtpdHNvdXJjZWNsb3NlQXR0cikK
LSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0c291
cmNlY2xvc2VFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1
dGUpKTsKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0c291cmNlZW5k
ZWRBdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53
ZWJraXRzb3VyY2VlbmRlZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMs
IGF0dHJpYnV0ZSkpOwotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRz
b3VyY2VvcGVuQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkud2Via2l0c291cmNlb3BlbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KHRoaXMsIGF0dHJpYnV0ZSkpOwotI2VuZGlmCiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKTsKIH0KQEAgLTcwMiw4ICs2OTYsNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKCkKICNlbmRpZgogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQot
ICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfQ0xPU0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0
ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKICNlbmRpZgogCiAgICAgLy8gNCAtIElm
IHRoZSBtZWRpYSBlbGVtZW50J3MgbmV0d29ya1N0YXRlIGlzIG5vdCBzZXQgdG8gTkVUV09SS19F
TVBUWSwgdGhlbiBydW4gdGhlc2Ugc3Vic3RlcHMKQEAgLTkyNiwxMCArOTE5LDIwIEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKGNvbnN0IEtVUkwmIGluaXRpYWxVUkwsIENv
bnRlbnRUeXBlJiBjb250ZW50CiAgICAgfQogICAgIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci0gICAgLy8gSWYgdGhpcyBpcyBhIG1lZGlhIHNvdXJjZSBVUkwsIG1ha2Ugc3VyZSBpdCBpcyB0
aGUgb25lIGZvciB0aGlzIG1lZGlhIGVsZW1lbnQuCi0gICAgaWYgKHVybC5wcm90b2NvbElzKG1l
ZGlhU291cmNlVVJMUHJvdG9jb2wpICYmIHVybCAhPSBtX21lZGlhU291cmNlVVJMKSB7Ci0gICAg
ICAgIG1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6Rm9ybWF0RXJyb3IpOwotICAgICAg
ICByZXR1cm47CisgICAgLy8gSWYgdGhpcyBpcyBhIG1lZGlhIHNvdXJjZSBVUkwsIGZldGNoIHRo
ZSBtZWRpYSBzb3VyY2UgZnJvbSB0aGUgYmxvYiB1cmwuCisgICAgaWYgKHVybC5wcm90b2NvbElz
KG1lZGlhU291cmNlQmxvYlByb3RvY29sKSkgeworICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSkK
KyAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnNldFN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRL
ZXl3b3JkKCkpOworCisgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBhZG9wdFJlZihNZWRpYVNvdXJj
ZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLmxvb2t1cE1lZGlhU291cmNlKHVybC5zdHJpbmcoKSkpOwor
CisgICAgICAgIGlmIChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBtX21lZGlhU291cmNl
LT5zZXRNZWRpYVBsYXllcihtX3BsYXllci5nZXQoKSk7CisgICAgICAgICAgICBtX21lZGlhU291
cmNlVVJMID0gdXJsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbWVkaWFMb2FkaW5n
RmFpbGVkKE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcik7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICB9CiAjZW5kaWYKIApAQCAtMTQzMSw4ICsxNDM0LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKCkKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFt
ZXMoKS5lcnJvckV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgaWYgKG1f
c291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgICAgc2V0U291cmNlU3RhdGUoU09V
UkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdv
cmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDggLSBTZXQgdGhlIGVsZW1lbnQncyBkZWxheWluZy10
aGUtbG9hZC1ldmVudCBmbGFnIHRvIGZhbHNlLiBUaGlzIHN0b3BzIGRlbGF5aW5nIHRoZSBsb2Fk
IGV2ZW50LgpAQCAtMTQ2Myw4ICsxNDY1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRp
YUVuZ2luZUVycm9yKFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyKQogICAgIHNjaGVkdWxlRXZl
bnQoZXZlbnROYW1lcygpLmVycm9yRXZlbnQpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
LSAgICBpZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQotICAgICAgICBzZXRTb3Vy
Y2VTdGF0ZShTT1VSQ0VfQ0xPU0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6
Y2xvc2VkS2V5d29yZCgpKTsKICNlbmRpZgogCiAgICAgLy8gNCAtIFNldCB0aGUgZWxlbWVudCdz
IG5ldHdvcmtTdGF0ZSBhdHRyaWJ1dGUgdG8gdGhlIE5FVFdPUktfRU1QVFkgdmFsdWUgYW5kIHF1
ZXVlIGEKQEAgLTE3MjksNyArMTczMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJTb3VyY2VPcGVuZWQoKQogewogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2Fs
bGJhY2soKTsKIAotICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9PUEVOKTsKKyAgICBzZXRTb3Vy
Y2VTdGF0ZShNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQoKSk7CiAKICAgICBlbmRQcm9jZXNzaW5n
TWVkaWFQbGF5ZXJDYWxsYmFjaygpOwogfQpAQCAtMTczOCwyMiArMTczOSw2IEBAIFN0cmluZyBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fbWVkaWFTb3VyY2VVUkwuc3RyaW5nKCk7CiB9Ci0KLWJvb2wgSFRNTE1lZGlhRWxlbWVu
dDo6aXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBj
b25zdAotewotICAgIGlmIChpZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0K
LSAgICBpZiAoIW1fc291cmNlSURzLmNvbnRhaW5zKGlkKSkgewotICAgICAgICBlYyA9IFNZTlRB
WF9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtMTk4Myw4ICsx
OTY4LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgLy8gQWx3YXlzIG5vdGlm
eSB0aGUgbWVkaWEgZW5naW5lIG9mIGEgc2VlayBpZiB0aGUgc291cmNlIGlzIG5vdCBjbG9zZWQu
IFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBzb3VyY2UgaXMKICAgICAvLyBhbHdheXMgaW4gYSBmbHVz
aGVkIHN0YXRlIHdoZW4gdGhlICdzZWVraW5nJyBldmVudCBmaXJlcy4KLSAgICBpZiAobV9zb3Vy
Y2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQotICAgICAgbm9TZWVrUmVxdWlyZWQgPSBmYWxzZTsK
KyAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiBtX21lZGlhU291cmNlLT5yZWFkeVN0YXRlKCkgIT0g
TWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSkKKyAgICAgICAgbm9TZWVrUmVxdWlyZWQgPSBm
YWxzZTsKICNlbmRpZgogCiAgICAgaWYgKG5vU2Vla1JlcXVpcmVkKSB7CkBAIC0yMDA2LDggKzE5
OTEsOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWsoZmxvYXQgdGltZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgbV9zZW50RW5kRXZlbnQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgPT0gU09VUkNFX0VOREVEKQotICAgICAg
ICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CisgICAgaWYgKG1fbWVkaWFTb3VyY2UgJiYg
bV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0ZSgpID09IE1lZGlhU291cmNlOjplbmRlZEtleXdvcmQo
KSkKKyAgICAgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOwog
I2VuZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uIHRv
IHRoZSBnaXZlbiBuZXcgcGxheWJhY2sgcG9zaXRpb24KQEAgLTIzNTUsMTc1ICsyMzQwLDEyIEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCgpCiB9CiAKICNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFkZElk
KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYgc3Rh
dGUpCiB7Ci0gICAgaWYgKGlkLmlzTnVsbCgpIHx8IGlkLmlzRW1wdHkoKSkgewotICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlm
IChtX3NvdXJjZUlEcy5jb250YWlucyhpZCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRF
X0VSUjsKKyAgICBpZiAoIW1fbWVkaWFTb3VyY2UpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAK
LSAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgewotICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICgh
bV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VT
dGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlw
ZSk7Ci0gICAgVmVjdG9yPFN0cmluZz4gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0K
LSAgICBpZiAoIWNvZGVjcy5zaXplKCkpIHsKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJj
ZUFkZElkKGlkLCBjb250ZW50VHlwZS50eXBlKCksIGNvZGVjcykpIHsKLSAgICBjYXNlIE1lZGlh
UGxheWVyOjpPazoKLSAgICAgICAgbV9zb3VyY2VJRHMuYWRkKGlkKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDoKLSAgICAgICAgZWMgPSBOT1Rf
U1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJl
YWNoZWRJZExpbWl0OgotICAgICAgICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1f
bWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAg
ICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAoIW1fcGxheWVyLT5zb3VyY2VSZW1vdmVJZChpZCkpCi0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotCi0gICAgbV9zb3VyY2VJRHMucmVtb3ZlKGlkKTsKLX0KLQotUGFzc1JlZlB0
cjxUaW1lUmFuZ2VzPiBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25z
dCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFsaWRTb3Vy
Y2VJZChpZCwgZWMpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICghbV9wbGF5ZXIgfHwg
bV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VS
Q0VfQ0xPU0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJl
dHVybiAwOwotICAgIH0KLQotICAgIHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQp
OwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChjb25zdCBT
dHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVj
KQotewotICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwg
fHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRhLmdldCgp
KSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
aWYgKCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0
aCgpKSkgewotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci19Ci0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQWJvcnQoY29uc3QgU3Ry
aW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQo
aWQsIGVjKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3BsYXllciB8fCBtX2N1cnJl
bnRTcmMgIT0gbV9tZWRpYVNvdXJjZVVSTCB8fCBtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9PUEVO
KSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCi0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtKHVuc2lnbmVkIHNob3J0IHN0YXR1cywgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgaWYgKCFtX3BsYXllciB8fCBtX2N1cnJlbnRTcmMgIT0gbV9tZWRpYVNvdXJjZVVSTCB8
fCBtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9PUEVOKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBNZWRpYVBsYXllcjo6RW5k
T2ZTdHJlYW1TdGF0dXMgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7Ci0KLSAg
ICBzd2l0Y2ggKHN0YXR1cykgewotICAgIGNhc2UgRU9TX05PX0VSUk9SOgotICAgICAgICBlb3NT
dGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBFT1NfTkVUV09SS19FUlI6Ci0gICAgICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NO
ZXR3b3JrRXJyb3I7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRU9TX0RFQ09ERV9FUlI6Ci0g
ICAgICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NEZWNvZGVFcnJvcjsKLSAgICAgICAg
YnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0VOREVEKTsKLSAgICBt
X3BsYXllci0+c291cmNlRW5kT2ZTdHJlYW0oZW9zU3RhdHVzKTsKLX0KLQotSFRNTE1lZGlhRWxl
bWVudDo6U291cmNlU3RhdGUgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlU3RhdGUoKSBj
b25zdAotewotICAgIHJldHVybiBtX3NvdXJjZVN0YXRlOwotfQotCi12b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRlIHN0YXRlKQotewotICAgIFNvdXJjZVN0
YXRlIG9sZFN0YXRlID0gbV9zb3VyY2VTdGF0ZTsKLSAgICBtX3NvdXJjZVN0YXRlID0gc3RhdGlj
X2Nhc3Q8U291cmNlU3RhdGU+KHN0YXRlKTsKLQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IG9s
ZFN0YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VS
Q0VfQ0xPU0VEKSB7Ci0gICAgICAgIG1fc291cmNlSURzLmNsZWFyKCk7Ci0gICAgICAgIHNjaGVk
dWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWNsb3NlRXZlbnQpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG9sZFN0YXRlID09IFNPVVJDRV9PUEVOICYmIG1fc291
cmNlU3RhdGUgPT0gU09VUkNFX0VOREVEKSB7Ci0gICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnRO
YW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKG1fc291cmNlU3RhdGUgPT0gU09VUkNFX09QRU4pIHsKLSAgICAgICAgc2NoZWR1
bGVFdmVudChldmVudE5hbWVzKCkud2Via2l0c291cmNlb3BlbkV2ZW50KTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KKyAgICBtX21lZGlhU291cmNlLT5zZXRTdGF0ZShzdGF0ZSk7CiB9CiAjZW5k
aWYKIApAQCAtMzc3Myw4ICszNTk1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1c2VyQ2Fu
Y2VsbGVkTG9hZCgpCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuYWJvcnRFdmVudCk7
CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNP
VVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAg
IHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAK
ICAgICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyByZWFkeVN0YXRlIGF0dHJpYnV0ZSBo
YXMgYSB2YWx1ZSBlcXVhbCB0byBIQVZFX05PVEhJTkcsIHNldCB0aGUgCkBAIC00Mjc3LDYgKzQw
OTgsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBsYXllcigpCiAgICAg
ICAgIAogICAgIG1fcGxheWVyID0gTWVkaWFQbGF5ZXI6OmNyZWF0ZSh0aGlzKTsKIAorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgIG1fbWVk
aWFTb3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFdFQl9BVURJTykKICAgICBpZiAobV9hdWRpb1NvdXJjZU5vZGUpIHsKICAgICAgICAg
Ly8gV2hlbiBjcmVhdGluZyB0aGUgcGxheWVyLCBtYWtlIHN1cmUgaXRzIEF1ZGlvU291cmNlUHJv
dmlkZXIga25vd3MgYWJvdXQgdGhlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzM1YmZiZDM2NDEzMjllNTZiMmFh
ZDk0ZWE4OTQ4ZWVhMzFmNThhNC4uZjM0NzIyNDdhOTJmOTVjN2M3MTRiOTZiNjk0YjhkNGQ1NDFh
Y2E4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1
LDEwIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtMTc1LDIwICsxNzksNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vICBNZWRpYSBTb3VyY2UuCiAg
ICAgY29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX21l
ZGlhU291cmNlVVJMOyB9Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VS
ZW1vdmVJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgUGFzc1JlZlB0cjxU
aW1lUmFuZ2VzPiB3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiwgUGFzc1Jl
ZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRT
b3VyY2VBYm9ydChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgZW51bSBFbmRP
ZlN0cmVhbVN0YXR1cyB7IEVPU19OT19FUlJPUiwgRU9TX05FVFdPUktfRVJSLCBFT1NfREVDT0RF
X0VSUiB9OwotICAgIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0odW5zaWduZWQgc2hvcnQs
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBlbnVtIFNvdXJjZVN0YXRlIHsgU09VUkNFX0NMT1NFRCwg
U09VUkNFX09QRU4sIFNPVVJDRV9FTkRFRCB9OwotICAgIFNvdXJjZVN0YXRlIHdlYmtpdFNvdXJj
ZVN0YXRlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSk7Ci0K
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJjZW9wZW4pOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291cmNlZW5kZWQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291cmNlY2xvc2UpOwor
ICAgIHZvaWQgc2V0U291cmNlU3RhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYgCiAKICNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtNDE4LDcgKzQwOSw2IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJTb3VyY2VP
cGVuZWQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0
OwotICAgIGJvb2wgaXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTU5Niw4
ICs1ODYsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBLVVJM
IG1fbWVkaWFTb3VyY2VVUkw7Ci0gICAgU291cmNlU3RhdGUgbV9zb3VyY2VTdGF0ZTsKLSAgICBI
YXNoU2V0PFN0cmluZz4gbV9zb3VyY2VJRHM7CisgICAgUmVmUHRyPE1lZGlhU291cmNlPiBtX21l
ZGlhU291cmNlOwogI2VuZGlmCiAKICAgICBtdXRhYmxlIGZsb2F0IG1fY2FjaGVkVGltZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGFjMGZhNDY3YjQwNDll
MTYzZTkwY2I2YjYzZmEzMzdhY2JjMmUyNjQuLjlkMGFlOGE3Nzk5OWE3NTFhNzVjZDU0ZGMxNTFh
OTM3Y2VlNjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApA
QCAtOTgsMzUgKzk4LDYgQEAgbW9kdWxlIGh0bWwgewogI2lmIGRlZmluZWQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQogICAgIC8vIFVSTCBwYXNzZWQgdG8gc3Jj
IGF0dHJpYnV0ZSB0byBlbmFibGUgdGhlIG1lZGlhIHNvdXJjZSBsb2dpYy4KICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwgVVJMXSBET01TdHJp
bmcgd2Via2l0TWVkaWFTb3VyY2VVUkw7Ci0KLSAgICAvLyBNYW5hZ2VzIElEcyBmb3IgYXBwZW5k
aW5nIG1lZGlhIHRvIHRoZSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChpbiBET01TdHJpbmcgaWQsIGluIERPTVN0cmlu
ZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1t
ZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VSZW1vdmVJZChpbiBET01TdHJpbmcgaWQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgIC8vIFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1
ZmZlcmVkIGZvciBhIHNwZWNpZmljIHNvdXJjZSBJRC4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1l
PW1lZGlhU291cmNlXSBUaW1lUmFuZ2VzIHdlYmtpdFNvdXJjZUJ1ZmZlcmVkKGluIERPTVN0cmlu
ZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIAotICAgIC8vIEFwcGVuZHMgc2VnbWVu
dCBkYXRhLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0
U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwgaW4gVWludDhBcnJheSBkYXRhKSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBBYm9ydHMgdGhlIGN1cnJlbnQgc2VnbWVudC4KLSAg
ICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUFib3J0
KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0gICAgLy8gU2lnbmFs
cyB0aGUgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNl
XSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9fRVJST1IgPSAwOyAvLyBFbmQgb2Ygc3RyZWFt
IHJlYWNoZWQgdy9vIGVycm9yLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2Vd
IGNvbnN0IHVuc2lnbmVkIHNob3J0IEVPU19ORVRXT1JLX0VSUiA9IDE7IC8vIEEgbmV0d29yayBl
cnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1l
ZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfREVDT0RFX0VSUiA9IDI7IC8vIEEg
ZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFtLgotICAgIFtWOEVuYWJsZWRBdFJ1
bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0oaW4gdW5zaWdu
ZWQgc2hvcnQgc3RhdHVzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBJbmRpY2F0
ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG1lZGlhIHNvdXJjZS4KLSAgICBbVjhFbmFibGVk
QXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfQ0xPU0VE
ID0gMDsKLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX0VOREVEID0gMjsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hv
cnQgd2Via2l0U291cmNlU3RhdGU7Ci0KLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGlt
ZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZW9wZW47Ci0gICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253
ZWJraXRzb3VyY2VlbmRlZDsKLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRp
YVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZWNsb3NlOwogI2VuZGlmCiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRV9FTkNSWVBURURfTUVE
SUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA5ODZjYmQ4ODJiYzhjZTYwMWY2YTlk
N2Q2ZmRkZTBmMTkxZjVmODRkLi42OTNiNDkzOWZjODdiY2MyY2Q5ZWJkMTEzNTU2M2ZjMTNhNGEy
ZDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03ODEsNiArNzgxLDEwIEBAIG1v
ZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05f
T0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjsKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBNZWRpYVNvdXJjZUNvbnN0cnVjdG9yIE1lZGlh
U291cmNlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJDb25zdHJ1Y3RvciBTb3Vy
Y2VCdWZmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBW
OEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckxpc3RDb25zdHJ1Y3Rv
ciBTb3VyY2VCdWZmZXJMaXN0OworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NS
SVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2I5
YjgwNjg4MGZlOWVlNzNlZDc0ZTE4NDY0NTQwMTBmYmJlOWE4ZC4uOWFhNmRhN2Q2M2NhOGYxNTk1
NGUxNDQ0ODFiNzRmMTA0NDE3YjBjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA3LTE3
ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb252ZXJ0
IE1lZGlhIFNvdXJjZSB0byBuZXcgb2JqZWN0LW9yaWVudGVkIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyByZWZsZWN0IHRoZSBu
ZXcgTWVkaWFTb3VyY2UgQVBJOgorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1t
ZWRpYS9yYXctZmlsZS90aXAvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanM6CisgICAg
ICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlQnVm
ZmVyKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5h
cHBlbmRJbml0U2VnbWVudCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBl
ci5wcm90b3R5cGUuYXBwZW5kTWVkaWFTZWdtZW50KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVz
dC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKToKKyAgICAg
ICAgKE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCk6CisgICAgICAg
IChNZWRpYVNvdXJjZVRlc3QucnVuT25Tb3VyY2VPcGVuLmV2ZW50SGFuZGxlckZ1bmN0aW9uKToK
KyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5ydW5PblNvdXJjZU9wZW4pOgorICAgICAgICAoTWVk
aWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSk6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtaWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9y
cy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmli
dXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWw6
CisKIDIwMTItMDctMTYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVtZW50IHNlYXJjaCAvIHJlcGxhY2UgaW4gc291
cmNlIGZpbGVzIChiZWhpbmQgZXhwZXJpbWVudCBmbGFnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCmluZGV4
IDZkYmI3Y2FhMTE5YzdmOWMxMzdhOWExMWY2OGEyOWVjMDY3ZmFkMjUuLjExZGEwZWRiYzVhMmJk
YzUyY2FmYjlhOWZlOWM2MTNkZmRhNTVmNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcworKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKQEAgLTEsNCAr
MSw2IEBACiB2YXIgTWVkaWFTb3VyY2VUZXN0ID0ge307Cit2YXIgbWVkaWFTb3VyY2UgPSBuZXcg
TWVkaWFTb3VyY2UoKTsKK3ZhciBzb3VyY2VCdWZmZXIgPSBudWxsOwogCiBNZWRpYVNvdXJjZVRl
c3QuU2VnbWVudEhlbHBlciA9IGZ1bmN0aW9uKHNlZ21lbnRJbmZvKQogewpAQCAtMTI2LDI3ICsx
MjgsMzIgQEAgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJj
ZUlkID0gZnVuY3Rpb24oKQogICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQodGhp
cy5Tb3VyY2VJRCwgdGhpcy5zZWdtZW50SW5mby50eXBlKTsKIH07CiAKK01lZGlhU291cmNlVGVz
dC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VCdWZmZXIgPSBmdW5jdGlvbigpCit7
CisgICAgc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKHRoaXMuc2Vn
bWVudEluZm8udHlwZSk7Cit9OworCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90
b3R5cGUuYXBwZW5kSW5pdFNlZ21lbnQgPSBmdW5jdGlvbigpCiB7Ci0gICAgdGhpcy52aWRlb1Rh
Zy53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5Tb3VyY2VJRCwgdGhpcy5pbml0U2VnbWVudCk7Cisg
ICAgc291cmNlQnVmZmVyLmFwcGVuZCh0aGlzLmluaXRTZWdtZW50KTsKIH07CiAKIE1lZGlhU291
cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRNZWRpYVNlZ21lbnQgPSBmdW5j
dGlvbihpbmRleCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCh0aGlz
LlNvdXJjZUlELCB0aGlzLm1lZGlhU2VnbWVudHNbaW5kZXhdKTsKKyAgICBzb3VyY2VCdWZmZXIu
YXBwZW5kKHRoaXMubWVkaWFTZWdtZW50c1tpbmRleF0pOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0
LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0gPSBmdW5jdGlv
bihzdGFydEluZGV4KQogewotICAgIGlmICghdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBl
bmQpIHsKLSAgICAgICAgZmFpbFRlc3QoIndlYmtpdFNvdXJjZUFwcGVuZCgpIGlzIG5vdCBhdmFp
bGFibGUiKTsKKyAgICBpZiAoIXNvdXJjZUJ1ZmZlci5hcHBlbmQpIHsKKyAgICAgICAgZmFpbFRl
c3QoIlNvdXJjZUJ1ZmZlci5hcHBlbmQoKSBpcyBub3QgYXZhaWxhYmxlIik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBmb3IgKHZhciBpbmRleCA9IHN0YXJ0SW5kZXg7IGluZGV4IDwg
dGhpcy5tZWRpYVNlZ21lbnRzLmxlbmd0aDsgaW5kZXgrKykKICAgICAgICAgdGhpcy5hcHBlbmRN
ZWRpYVNlZ21lbnQoaW5kZXgpOwogCi0gICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRP
ZlN0cmVhbSh0aGlzLnZpZGVvVGFnLkVPU19OT19FUlJPUik7CisgICAgbWVkaWFTb3VyY2UuZW5k
T2ZTdHJlYW0oKTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlw
ZS5nZXRUaW1lRm9yTWVkaWFTZWdtZW50ID0gZnVuY3Rpb24oaW5kZXgpCkBAIC0xNzYsNyArMTgz
LDcgQEAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMID0gZnVuY3Rp
b24odmlkZW9UYWcpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB2aWRlb1RhZy5zcmMg
PSB2aWRlb1RhZy53ZWJraXRNZWRpYVNvdXJjZVVSTDsKKyAgICB2aWRlb1RhZy5zcmMgPSB3ZWJr
aXRVUkwuY3JlYXRlT2JqZWN0VVJMKG1lZGlhU291cmNlKTsKIH07CiAKIE1lZGlhU291cmNlVGVz
dC5tZWRpYUVycm9yU3RyaW5nID0gZnVuY3Rpb24odmlkZW9UYWcpCkBAIC0yNzAsMjQgKzI3Nywz
MSBAQCBNZWRpYVNvdXJjZVRlc3QucnVuT25Tb3VyY2VPcGVuID0gZnVuY3Rpb24odmlkZW9UYWcs
IG9uT3BlbkZ1bmN0aW9uKQogewogICAgIHZhciBldmVudEhhbmRsZXJGdW5jdGlvbiA9IGZ1bmN0
aW9uIChldmVudCkKICAgICB7CisgICAgICAgIGlmICh2aWRlb1RhZy5uZXR3b3JrU3RhdGUgIT0g
SFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0xPQURJTkcgJiYKKyAgICAgICAgICAgIHZpZGVvVGFn
Lm5ldHdvcmtTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfSURMRSkgeworICAgICAg
ICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgbmV0d29yayBzdGF0ZS4gRXhwZWN0ZWQgIiArCisg
ICAgICAgICAgICAgICAgICAgICBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfTE9BRElORyArICIg
b3IgIiArCisgICAgICAgICAgICAgICAgICAgICBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfSURM
RSArCisgICAgICAgICAgICAgICAgICAgICAiIGdvdCAiICsgdmlkZW9UYWcucmVhZHlTdGF0ZSk7
CisgICAgICAgIH0KICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CiAgICAgICAgIG9uT3BlbkZ1
bmN0aW9uKCk7CiAgICAgfTsKLSAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOworCisgICAgbWVkaWFTb3VyY2UuYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsK
ICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcp
OwogfTsKIAotTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlID0gZnVuY3Rpb24odmlkZW9U
YWcpCitNZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRpYVNvdXJj
ZSkKIHsKLSAgICBjb25zb2xlV3JpdGUoIndlYmtpdFNvdXJjZVN0YXRlIDogIiArIE1lZGlhU291
cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUpKTsK
KyAgICBjb25zb2xlV3JpdGUoIndlYmtpdFNvdXJjZVN0YXRlIDogIiArIG1lZGlhU291cmNlLnJl
YWR5U3RhdGUpOwogfTsKIAotTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlID0gZnVu
Y3Rpb24odmlkZW9UYWcsIGV4cGVjdGVkKQorTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0
YXRlID0gZnVuY3Rpb24obWVkaWFTb3VyY2UsIGV4cGVjdGVkKQogewotICAgIGlmICh2aWRlb1Rh
Zy53ZWJraXRTb3VyY2VTdGF0ZSAhPSBleHBlY3RlZCkgewotICAgICAgICBmYWlsVGVzdCgiVW5l
eHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVkICIgKwotICAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKGV4cGVjdGVkKSArCi0gICAgICAgICAgICAg
ICAgICIgZ290ICIgKyBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKHZpZGVvVGFn
LndlYmtpdFNvdXJjZVN0YXRlKSk7CisgICAgaWYgKG1lZGlhU291cmNlLnJlYWR5U3RhdGUgIT0g
ZXhwZWN0ZWQpIHsKKyAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgc291cmNlIHN0YXRlLiBF
eHBlY3RlZCAiICsgZXhwZWN0ZWQgKworICAgICAgICAgICAgICAgICAiIGdvdCAiICsgbWVkaWFT
b3VyY2UucmVhZHlTdGF0ZSk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggNjU4ZmY3MTE2ZTEzNzFm
NmRjMzU2N2FkZmM1NDg4NWE1ZjEyNDliZS4uYzVkMjhiZmEyMjdiYzAyZjUxZDI1MmMxNWI4YmNh
ODIxMzc4ZjVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
YWJvcnQtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNiBAQCBUZXN0cyB3ZWJraXRTb3VyY2VBYm9y
dCgpIGZ1bmN0aW9uYWxpdHkKIAogCiBydW5uaW5nIGFib3J0RHVyaW5nSW5pdFNlZ21lbnQKLUVW
RU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFib3J0aW5nIGR1
cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwgaW5pdGlhbGl6
YXRpb24gc2VnbWVudC4KQEAgLTEzLDcgKzEyLDYgQEAgRVZFTlQobG9hZGVkZGF0YSkKIAogcnVu
bmluZyBhYm9ydER1cmluZ01lZGlhU2VnbWVudAogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRz
dGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFib3J0aW5nIGluIHRoZSBtaWRk
bGUgb2YgYSBtZWRpYSBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwgbWVkaWEgc2VnbWVudC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwKaW5kZXggNDg5Yzk1
YTk5OGMwNTgyYzZmMDYwYTU3NjY5YzE2ZTZiMDg2OTgzMi4uNjdkMTJkZGJlZGFiYzUwNWY0NTUy
MDEwOTYzMDQ5ZDY1ZTc1ZjMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWFib3J0Lmh0bWwKQEAgLTksNyArOSw3IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGFib3J0
RHVyaW5nSW5pdFNlZ21lbnQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAg
ICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAogICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gc2Vn
bWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkgewpAQCAtMTcsMTAgKzE3LDEwIEBACiAgICAg
ICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsSW5pdFNlZ21lbnQgPSBpbml0U2VnbWVudC5zdWJh
cnJheSgwLCBpbml0U2VnbWVudC5sZW5ndGggLyAyKTsKIAogICAgICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7
Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChzZWdtZW50
SGVscGVyLlNvdXJjZUlELCBwYXJ0aWFsSW5pdFNlZ21lbnQpOworICAgICAgICAgICAgICAgICAg
ICBzb3VyY2VCdWZmZXIuYXBwZW5kKHBhcnRpYWxJbml0U2VnbWVudCk7CiAKICAgICAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJBYm9ydGluZyBhcHBlbmQuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0KHNlZ21lbnRIZWxwZXIuU291cmNlSUQp
OworICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYWJvcnQoKTsKIAogICAgICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmdWxsIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQuIik7CiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNl
Z21lbnQoKTsKQEAgLTQyLDcgKzQyLDcgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gYWJvcnRE
dXJpbmdNZWRpYVNlZ21lbnQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAg
ICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAogICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBpbiB0aGUgbWlkZGxlIG9mIGEgbWVkaWEg
c2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkgewpAQCAtNTEsMTAgKzUxLDEwIEBACiAg
ICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsTWVkaWFTZWdtZW50ID0gbWVkaWFTZWdtZW50
LnN1YmFycmF5KDAsIG1lZGlhU2VnbWVudC5sZW5ndGggLyAyKTsKIAogICAgICAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0aWFsIG1lZGlhIHNlZ21lbnQuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChzZWdtZW50SGVs
cGVyLlNvdXJjZUlELCBwYXJ0aWFsTWVkaWFTZWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAg
c291cmNlQnVmZmVyLmFwcGVuZChwYXJ0aWFsTWVkaWFTZWdtZW50KTsKIAogICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkFib3J0aW5nIGFwcGVuZC4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7
CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5hYm9ydCgpOwogCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGZ1bGwgbWVkaWEgc2VnbWVudC4iKTsK
ICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7
CkBAIC03NywxMSArNzcsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5k
TWVkaWFFbGVtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFy
dCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkZGF0YScpOwotICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1l
ZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFs
c2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3Zl
LWlkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwODU5MTFh
OGY1N2NiZDE0MWVmNzhkZmZmYzU2YmVhNTg4MjZkNmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1UZXN0cyB3ZWJraXRTb3VyY2VBZGRJ
ZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzCi0KLVRlc3QgYWRkaW5nIGFuIElE
IHdoaWxlIGNsb3NlZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RB
VEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi0KLXJ1bm5pbmcgdGVzdEFkZElkRmFpbHVyZUNhc2Vz
Ci1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJ
RCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6
IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYWRkaW5nIHRoZSBzYW1lIElEIGFnYWluLgotR290IGV4
cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24g
MTEKLVRlc3QgZW1wdHkgdHlwZS4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBl
LgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBF
eGNlcHRpb24gOQotVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29k
ZWMuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9N
IEV4Y2VwdGlvbiA5Ci1UZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LgotVGVzdCB0aGF0IFNv
dXJjZUlEcyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi1Hb3QgZXhw
ZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
MQotCi1ydW5uaW5nIHRlc3RSZW1vdmVFbXB0eUlkCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3
ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJRCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLQotcnVubmlu
ZyB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0
c291cmNlb3BlbikKLVRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgbmV2ZXIgYWRkZWQuCi1H
b3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEy
Ci0KLXJ1bm5pbmcgdGVzdFJlbW92ZUFnYWluCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJr
aXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBhbHJlYWR5IHJlbW92
ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0
aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZAotRVZFTlQobG9hZHN0YXJ0
KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgcmVtb3Zl
ZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi0KLXJ1bm5pbmcgdGVzdEFkZElkQWZ0ZXJSZW1v
dmluZwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgdGhh
dCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4KLVVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVERURfRVJSOiBET00gRXhjZXB0aW9uIDIy
Ci0KLXJ1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcwotRVZFTlQobG9hZHN0YXJ0KQotRVZF
TlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgYXBwZW5kIHdpdGggZW1wdHkgSUQuCi1Hb3QgZXhw
ZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24g
MTUKLVRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxpZCBJRAotR290IGV4cGVjdGVkIGV4Y2VwdGlv
biBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgotVGVzdCBhcHBlbmQgd2l0aCBh
IG51bGwgYnVmZmVyLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NF
U1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuCi1Hb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi1F
TkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDgyMzc5ZjVjYTcxZjdiNTgwNmZkZTQ5ZjY3NjFiZjA5NjJlYWEzZTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3Zp
ZGVvLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291
cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50LWluZm8uanMiPjwvc2NyaXB0PgotICAgICAg
ICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlw
dD4KLSAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5T
ZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7Ci0gICAgICAgICAgICB2YXIg
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlID0gc2VnbWVudEhlbHBlci5zZWdtZW50SW5mby50eXBlOwot
Ci0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCBp
ZCwgdHlwZSwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAg
ICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoaWQsIHR5cGUpOwot
ICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7Ci0g
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIShl
LmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5l
eHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cg
ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25SZW1v
dmVJZCh2aWRlb1RhZywgaWQsIGVycm9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlk
KGlkKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlv
biIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRl
c3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlv
bk9uQXBwZW5kKHZpZGVvVGFnLCBpZCwgYnVmLCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VBcHBlbmQoaWQsIGJ1Zik7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3Rl
ZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4iKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMTIzIiwgZGVm
YXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRGYWlsdXJlQ2FzZXMo
cnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQgY2FzZSIpOwotICAgICAgICAgICAgICAgIGV4
cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIiLCBkZWZhdWx0U291cmNlTWltZXR5cGUs
IERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0K
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIHRoZSBzYW1lIElEIGFn
YWluLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcs
ICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEy
MyIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGVtcHR5IHR5cGUuIik7
Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjIzNCIs
ICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLiIpOwotICAgICAgICAgICAg
ICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIyMzQiLCAiYXVkaW8veC11bnN1
cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOwotCi0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1
bnN1cHBvcnRlZCBjb2RlYy4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFk
ZElkKHZpZGVvVGFnLCAiMjM0IiwgInZpZGVvL3dlYm07IGNvZGVjcz1cInZwOCwgc3BlZXhcIiIs
IERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAgICAg
ICAgdmFyIHJlYWNoZWRJZExpbWl0ID0gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICAvLyBUaGUg
MjAgaGVyZSBpcyBhbiBhcmJpdHJhcnkgdXBwZXIgbGltaXQgdG8gbWFrZSBzdXJlIHRoZSB0ZXN0
IHRlcm1pbmF0ZXMuIFRoaXMgdGVzdAotICAgICAgICAgICAgICAgIC8vIGFzc3VtZXMgdGhhdCBp
bXBsZW1lbnRhdGlvbnMgd29uJ3Qgc3VwcG9ydCBtb3JlIHRoYW4gMjAgc291cmNlSUQncyBzaW11
bHRhbmVvdXNseS4KLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDIwOyArK2kp
IHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUlEID0gInNvdXJjZUlELSIgKyBpOwot
ICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlQWRkSWQoc291cmNlSUQsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGUuY29kZSAhPSBET01FeGNlcHRpb24uUVVPVEFfRVhDRUVERURfRVJSKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBl
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgcmVhY2hlZElkTGltaXQgPSB0cnVl
OwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoIXJlYWNoZWRJZExpbWl0
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gcmVhY2ggU291cmNl
SUQgbGltaXQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBTb3VyY2VJRHMg
Y2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOwotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJP
Uik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjEy
MyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJS
KTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlRW1wdHlJZChydW5OZXh0VGVzdENhc2Us
IHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25S
ZW1vdmVJZCh2aWRlb1RhZywgIiIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwot
Ci0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOb25leGlzdGVudElkKHJ1bk5leHRUZXN0Q2Fz
ZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5ldmVyIGFkZGVkLiIpOwotICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcsICIzNDUiLCBET01FeGNl
cHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUFnYWluKHJ1
bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIGFscmVhZHkgcmVtb3Zl
ZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwg
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25S
ZW1vdmVJZCh2aWRlb1RhZywgIjEyMyIsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAg
ICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkKHJ1bk5leHRUZXN0Q2FzZSwgdmlk
ZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHRoYXQgYW4gSUQgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOwot
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0
U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVu
ZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7Ci0gICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4
dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RB
ZGRJZEFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhbiBJRCBjYW4gYmUg
YWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRl
b1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0KLSAg
ICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAg
ICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBl
Y3RlZCBleGNlcHRpb246ICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
ICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gdGVzdEFwcGVuZEZhaWx1cmVDYXNlcyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBpbml0U2VnbWVudCA9IHNlZ21lbnRI
ZWxwZXIuaW5pdFNlZ21lbnQ7Ci0gICAgICAgICAgICAgICAgdmFyIG1lZGlhU2VnbWVudCA9IHNl
Z21lbnRIZWxwZXIubWVkaWFTZWdtZW50c1swXTsKLQotICAgICAgICAgICAgICAgIHZpZGVvVGFn
LndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotCi0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGVtcHR5IElELiIpOwot
ICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiIiwgaW5p
dFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGFuIGludmFsaWQgSUQiKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjIzNCIsIGlu
aXRTZWdtZW50LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4iKTsKLSAgICAgICAg
ICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjEyMyIsIG51bGwsIERP
TUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7Ci0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcud2Via2l0U291cmNlQXBwZW5kKCIxMjMiLCBpbml0U2VnbWVudCk7Ci0KLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAgICAg
ICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIxMjMiLCBtZWRpYVNlZ21l
bnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRU
ZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQo
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLQot
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0KLSAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRhdGEiKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RBZGRJZFdoaWxlQ2xvc2VkKHZpZGVvKTsKLQotICAgICAgICAg
ICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWwotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEFkZElkRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUVt
cHR5SWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVBZ2FpbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0QWRkSWRBZnRlclJlbW92aW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFw
cGVuZEZhaWx1cmVDYXNlcywKLSAgICAgICAgICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRlbywgdGVz
dENhc2VzKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9z
Y3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgotICAgICAg
ICA8dmlkZW8+IDwvdmlkZW8+Ci0gICAgICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkg
JmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9wPgotICAgIDwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1l
eHBlY3RlZC50eHQKaW5kZXggNTVmMjBiYjFjNzhiYzkzODQ1MDJmOGE2NTQzMDAwYzFlYzg1N2Jl
OS4uMmU2YjM0MGY1ODE0MjVjYWY5OGU4OTU0NWRkMjg2ZjIxZGEyZWJjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKQEAg
LTIsNDEgKzIsMzYgQEAgVGVzdHMgZXJyb3IgY2FzZXMgd2l0aCBNZWRpYVNvdXJjZSBBUEkKIAog
CiBydW5uaW5nIGRpZE5vdFNlbmRJbml0U2VnbWVudEZpcnN0Ci1FVkVOVChsb2Fkc3RhcnQpCiBF
VkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhcHBlbmRpbmcgYSBtZWRpYSBzZWdtZW50IGJl
Zm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50LgogRVZFTlQoZXJyb3IpIDog
TUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcgaW1tZWRpYXRlRGVjb2RlRXJy
b3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5U
KHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3
aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBF
VkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBpbW1l
ZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxv
YWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBuZXR3
b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uCitUZXN0IHNpZ25hbGxpbmcg
YSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0uCiBFVkVOVCh3ZWJr
aXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRF
RAogCiBydW5uaW5nIGRlY29kZUVycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVWRU5UKGVtcHRpZWQp
Ci1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxs
aW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2Ug
aGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3Rh
dGUuCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRP
ZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUg
SEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVWRU5UKGxvYWRlZG1ldGFkYXRhKQogRVZFTlQod2Via2l0
c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfREVDT0RFCiAKIHJ1bm5pbmcg
bmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fk
c3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgbmV0d29y
ayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5k
ZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgorVGVzdCBz
aWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIGFm
dGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFE
QVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEpCiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRl
ZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ORVRXT1JLCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJy
b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKaW5kZXggZmU5Y2VhYWI1NGVhYzAyOTJhYTkzZWUw
NThlNWZiYmJjOTIwMGVkZC4uMDlhYWU1NzYyODI4MmRjZTY2Zjc5MWM3ODVkYjAyMDQ0ZDJhNTFi
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbApAQCAt
MjMsNDYgKzIzLDQ2IEBACiAgICAgICAgICAgICBmdW5jdGlvbiBkaWROb3RTZW5kSW5pdFNlZ21l
bnRGaXJzdChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmRpbmcgYSBtZWRpYSBzZWdtZW50IGJl
Zm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwotICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YXBwZW5kTWVkaWFTZWdtZW50KDApOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5j
dGlvbiBpbW1lZGlhdGVEZWNvZGVFcnJvclZpYUVuZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJl
YW0uIik7Ci0gICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAg
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlh
RWxlbWVudC5FT1NfREVDT0RFX0VSUik7CisgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJl
YW0uIik7CisgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAg
ICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgiZGVjb2RlIik7CiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGltbWVkaWF0ZU5ldHdvcmtFcnJvclZpYUVu
ZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9y
IHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZp
ZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05FVFdPUktfRVJSKTsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Ig
d2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBk
ZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxp
bmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBo
YXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0
ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFT
b3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBn
ZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRT
b3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRT
ZWdtZW50KCk7CiAKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbE1ldGFkYXRhTG9hZGVkKHZp
ZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19E
RUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0o
ImRlY29kZSIpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBmdW5jdGlvbiBuZXR3b3JrRXJyb3JBZnRlckhhdmVNZXRhZGF0YShydW5OZXh0VGVzdENh
c2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9m
U3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBI
QVZFX01FVEFEQVRBIHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2
ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3Jr
IGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRl
ZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7CisgICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAgICAgICAgICAgICAgYXBwZW5kVW50aWxN
ZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1l
ZGlhRWxlbWVudC5FT1NfTkVUV09SS19FUlIpOworICAgICAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgfQogCkBAIC03MCwxMSArNzAsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkbWV0YWRh
dGEnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsK
KyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFs
c2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRl
eCAxZTc4NzVjMjE1MTUwZTkwODNhNzQ1YmM5NWQ0YzlkNmEzNzIxNDZlLi5lMjdmYWQ5MjVkMmMy
MDZlNjcyNWVmOTljZjA5OThkNWE5ZjQyNzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CkBAIC0yLDcgKzIsNyBAQCBUZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVyIGF0dHJpYnV0
ZXMKIAogb25Mb2FkKCkKIG9uU291cmNlT3BlbigpCi1DYWxsaW5nIHdlYmtpdFNvdXJjZUVuZE9m
U3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4KK0NhbGxpbmcgTWVk
aWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50
Lgogb25Tb3VyY2VFbmRlZCgpCiBTZXR0aW5nIHNyYyBhdHRyaWJ1dGUgdG8gIiIgdG8gdHJpZ2dl
ciBhIHdlYmtpdHNvdXJjZWNsb3NlZCBldmVudC4KIG9uU291cmNlQ2xvc2UoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwK
aW5kZXggZmYyZjdjODhiMGZjOTJlOTI3ZThjN2ZlOGRjZTE3NzgyNWZkYWRmZS4uNTJjMGFjOWM2
MzVkMmUxOTM5M2RlYTJhODM2NDgxNGQxYWI2NDI5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0
dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy5odG1sCkBAIC0zLDIyICsz
LDI2IEBACiAgICA8aGVhZD4KICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92
aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3Blbih2aWRlbykKKworICAgICAg
ICAgICB2YXIgdmlkZW8gPSBudWxsOworICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBudWxs
OworCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbigpCiAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VPcGVuKCkiKTsKLQotICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIHRvIHRy
aWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsKLSAgICAgICAgICAgICAgIHZpZGVv
LndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9SKTsK
KyAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2FsbGluZyBNZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuIik7CisgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCh2aWRlbykKKyAgICAgICAgICAgZnVuY3Rpb24gb25T
b3VyY2VFbmRlZCgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
b25Tb3VyY2VFbmRlZCgpIik7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlNldHRpbmcg
c3JjIGF0dHJpYnV0ZSB0byBcIlwiIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VjbG9zZWQgZXZl
bnQuIik7CiAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSAiIjsKKyAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKICAgICAgICAgICAgfQogCi0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlQ2xv
c2UodmlkZW8pCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlQ2xvc2UoKQogICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291cmNlQ2xvc2UoKSIpOwogICAg
ICAgICAgICAgICAgZW5kVGVzdCgpOwpAQCAtMjcsMTMgKzMxLDE3IEBACiAgICAgICAgICAgIGZ1
bmN0aW9uIG9uTG9hZChlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIm9uTG9hZCgpIik7Ci0gICAgICAgICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndicpOwotICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gdmlkZW8ud2Via2l0
TWVkaWFTb3VyY2VVUkw7CisgICAgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd2Jyk7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJj
ZSgpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291cmNlRW5kZWQpOworICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xv
c2UnLCBvblNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHdlYmtpdFVS
TC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3VyY2UpOwogICAgICAgICAgICB9CiAgICAgICAgPC9z
Y3JpcHQ+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KICAgICAgICA8
cD5UZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZXM8L3A+Ci0gICAgICAg
PHZpZGVvIGlkPSd2JyBvbndlYmtpdHNvdXJjZW9wZW49J29uU291cmNlT3Blbih0aGlzKScgb253
ZWJraXRzb3VyY2VlbmRlZD0nb25Tb3VyY2VFbmRlZCh0aGlzKTsnIG9ud2Via2l0c291cmNlY2xv
c2U9J29uU291cmNlQ2xvc2UodGhpcyk7Jz48L3ZpZGVvPgorICAgICAgIDx2aWRlbyBpZD0ndic+
PC92aWRlbz4KICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dAppbmRleCAxOTg4YjcyY2QyZjkxOGYyNGNh
ODIxZGUxOTE4YjAxMzY0ZWIxY2FjLi41MWEyMDU0MTI1ZGY3OTVhNjIxMzBlNjhlNDg3NzZkM2M4
ZDhjNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkt
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNSBAQAogVGVzdHMgbm9ybWFsIHBsYXliYWNrIGNhc2Ug
d2l0aCBNZWRpYVNvdXJjZSBBUEkKIAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291
cmNlb3BlbikKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQocGxheWluZykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDNhYjhlNDU2ZTE3ODgx
YWM1N2U4Y2VmMTg5YjU1N2IzNTFkZjUwYjMuLmQ1Njc5ZWI2M2Y0MTVmZmZjNjAzNWIxZWExMDE3
M2VmYjc5Y2RlMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRt
bApAQCAtOSwyOCArOSwyOSBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4o
ZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRT
b3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVy
KCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwog
CiAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGp1c3QgZW5vdWdoIHNlZ21lbnRzIHRvIGluY2x1
ZGUgYXQgbGVhc3QgMSBzZWNvbmQgb2YgbWVkaWEgZGF0YS4KICAgICAgICAgICAgICAgICB2YXIg
ZW5kSW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1w
KDEpOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZEluZGV4OyBpKysp
CiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KGkp
OwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShI
VE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAgICAgZXZlbnQudGFy
Z2V0LmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9u
IG9uTG9hZCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVu
dCgpOwogCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsK
KwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CiAg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJj
ZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKCdlbmRlZCcpOwogCi0gICAg
ICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9u
U291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CiAKICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAgICAgICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKaW5kZXggZDI0
N2VkNWQ0YzU2N2ZiYzExZWJhNTY0YWNkNjI1NWU2Yjk5MWQxYS4uMmRjMWU2NjBjMTE1YzI5ZTg2
NTBiZGE3YzM3YTc0NTRlZjM4Mjk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2Utc2Vlay5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgKGZpcnN0
T3BlbikgewogICAgICAgICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsKIAotICAgICAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAgICAg
ICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7CiAKICAgICAgICAgICAgICAgICAvLyBDYWxsIGFib3J0IHRvIG1ha2Ugc3Vy
ZSB0aGUgc291cmNlIGJ1ZmZlciBpcyBpbiBhIHN0YXRlIHdoZXJlIGl0IGNhbiBhY2NlcHQgbmV3
IHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0KHNl
Z21lbnRIZWxwZXIuU291cmNlSUQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFib3J0
KCk7CiAKICAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IHNlZ21lbnRIZWxwZXIuZ2V0
TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbShzdGFydElu
ZGV4KTsKQEAgLTYwLDEwICs2MCwxMSBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
IGZpbmRNZWRpYUVsZW1lbnQoKTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3
IE1lZGlhU291cmNlKCk7CisKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdl
cnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0gICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlh
U291cmNlKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVk
JywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgncGxheWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2lu
ZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBl
Y3RlZC50eHQKaW5kZXggYTc5NWQ5OGNkMjg1OWNjMTY5ZWIzYmViNzNiMmFiNWJiODIyNjY4MS4u
Mzc5MDVlMjE1NTc3MmE1ODk1YzRhYjAxM2IyN2E0ZTE3ZTkxMjFjOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4cGVj
dGVkLnR4dApAQCAtMSwxNCArMSwxMyBAQAogVGVzdHMgTWVkaWFTb3VyY2UgQVBJIHN0YXRlIHRy
YW5zaXRpb25zLgogCi13ZWJraXRTb3VyY2VTdGF0ZSA6IFNPVVJDRV9DTE9TRUQKLUVWRU5UKGxv
YWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KK3dlYmtpdFNv
dXJjZVN0YXRlIDogY2xvc2VkCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9uRmly
c3RTb3VyY2VPcGVuCi1FVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQKK0VW
RU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IGVuZGVkCiBvbkZpcnN0U291cmNlRW5kZWQKIEVWRU5U
KHBsYXlpbmcpCiB0cmlnZ2VyRmlyc3RTZWVrCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNP
VVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIEVWRU5UKHNlZWtpbmcp
CiBvbkZpcnN0U2Vla2luZwogRVZFTlQoc2Vla2VkKQpAQCAtMTcsMjEgKzE2LDE5IEBAIEVWRU5U
KHNlZWtpbmcpCiBvblNlY29uZFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKIG9uU2Vjb25kU2Vla2Vk
Ci1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECitFVkVOVCh3ZWJraXRz
b3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uRmlyc3RTb3VyY2VDbG9zZQogRVZFTlQoZW1wdGllZCkK
LUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4K
K0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25TZWNvbmRTb3VyY2VPcGVuCi1FVkVO
VCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQKK0VWRU5UKHdlYmtpdHNvdXJjZWVu
ZGVkKSA6IGVuZGVkCiBvblNlY29uZFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5nKQogdHJpZ2dl
clNlY29uZFNvdXJjZUNsb3NlCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xP
U0VECitFVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uU2Vjb25kU291cmNlQ2xv
c2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9uVGhp
cmRTb3VyY2VPcGVuCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdl
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAppbmRleCA5YTU0ZGNkN2ZhNDY5ZTYwOTE5
ZTViNjRkZTBhZDExOTE0ZmFmYjRiLi5mMjZjZDUyODA4MDU2NmYyOGI0MjczYTA2NzMwYjEwZTEw
NGM4OGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0
ZS1jaGFuZ2VzLmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgICAgICB2YXIgc2VnbWVudEhl
bHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8u
dGVzdFdlYk0pOwogICAgICAgICAgICAgdmFyIHNlZWtUaW1lOwogCi0gICAgICAgICAgICBmdW5j
dGlvbiBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgc2VnbWVudFNlZWtUaW1l
KQorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsoc2VnbWVu
dFNlZWtUaW1lKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHNl
Z21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoc2VnbWVudFNlZWtU
aW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5kSW5kZXggPSBpbmRleCArIDI7CkBAIC0xOSwx
NCArMTksMTQgQEAKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoaW5k
ZXggPj0gdG90YWxNZWRpYVNlZ21lbnRzKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFn
LndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9SKTsK
KyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFdmVudChldmVudCkKICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50eXBlICsgJykg
OiAnICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShldmVudC50YXJnZXQud2Vi
a2l0U291cmNlU3RhdGUpKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcg
KyBldmVudC50eXBlICsgJykgOiAnICsgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUpOwogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3BlbihldmVudCkK
QEAgLTM2LDE3ICszNiwxNyBAQAogICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0
IHRpbWUgdGhlIHNvdXJjZSBpcyBvcGVuZWQuIFdlIGp1c3Qgd2FudCB0byBhcHBlbmQKICAgICAg
ICAgICAgICAgICAvLyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBhbmQgYWxsIG1lZGlhIHNl
Z21lbnRzIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLgogICAgICAgICAgICAgICAgIC8vIFRoaXMg
aXMgdGVzdGluZyB0aGUKLSAgICAgICAgICAgICAgICAvLyBTT1VSQ0VfQ0xPU0VEIC0+IFNPVVJD
RV9PUEVOIC0+IFNPVVJDRV9FTkRFRCB0cmFuc2l0aW9uIHBhdGguCisgICAgICAgICAgICAgICAg
Ly8gImNsb3NlZCIgLT4gIm9wZW4iIC0+ICJlbmRlZCIgdHJhbnNpdGlvbiBwYXRoLgogCi0gICAg
ICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0
U291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgp
OworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2Vv
cGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhw
ZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOwor
ICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNv
dXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5p
dFNlZ21lbnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmly
c3RTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcgbWVk
aWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVu
ZE9mU3RyZWFtKDApOwpAQCAtNTUsMTIgKzU1LDEzIEBACiAgICAgICAgICAgICBmdW5jdGlvbiBv
bkZpcnN0U291cmNlRW5kZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJvbkZpcnN0U291cmNlRW5kZWQiKTsKLSAgICAgICAgICAgICAgICB2YXIg
dmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3Zl
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQpOwog
Ci0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVv
VGFnLCB2aWRlb1RhZy5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNv
dXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVF
dmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CisK
KyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFT
b3VyY2UsICJlbmRlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0
ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOworICAgICAgICAgICAgICAgIHZpZGVv
LmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlckZpcnN0U2VlayhldmVudCkKQEAg
LTcxLDcgKzcyLDcgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3Rl
bmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAKICAgICAgICAgICAgICAgICAvLyBO
b3cgdGhhdCB3ZSBoYXZlIGFwcGVuZGVkIGFsbCBvZiB0aGUgbWVkaWEgc2VnbWVudHMgYW5kIGVu
ZGVkIHRoZSBzdHJlYW0sCi0gICAgICAgICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVz
dCB0aGUgU09VUkNFX0VOREVEIC0+IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24uCisgICAgICAgICAg
ICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVzdCB0aGUgImVuZGVkIiAtPiAib3BlbiIgdHJh
bnNpdGlvbi4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdzZWVr
aW5nJywgb25GaXJzdFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50
TGlzdGVuZXIoJ3NlZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogICAgICAgICAgICAgICAgIHZpZGVv
VGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC04NCwxMCArODUsMTAgQEAKICAgICAgICAg
ICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlk
ZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVraW5nKTsKIAot
ICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1Rh
ZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAg
ICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgotICAgICAgICAg
ICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJy
ZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlk
ZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlv
biBvbkZpcnN0U2Vla2VkKGV2ZW50KQpAQCAtOTcsOSArOTgsOSBAQAogICAgICAgICAgICAgICAg
IHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5y
ZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKIAotICAgICAgICAg
ICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1l
ZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAgICAgICAgICAg
ICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdoaWxlIHN0aWxsIGluIFNPVVJD
RV9PUEVOLgorICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBpcyB0aW1lIHRvIHRlc3Qgc2Vla2lu
ZyB3aGlsZSBzdGlsbCBpbiAib3BlbiIuCiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZl
bnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25kU2Vla2luZyk7CiAgICAgICAgICAgICAgICAg
dmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVrZWQpOwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC0xMTIsMjIg
KzExMywyMyBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsK
ICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVraW5nJywg
b25TZWNvbmRTZWVraW5nKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBl
Y3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7Cisg
ICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291
cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlh
IHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZp
ZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVk
aWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU2Vla2VkIik7CisKICAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVrZWQp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAK
LSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9PUEVOIC0+IFNPVVJDRV9DTE9TRUQgLT4g
U09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFk
ZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsK
KyAgICAgICAgICAgICAgICAvLyBUZXN0ICJvcGVuIiAtPiAiY2xvc2VkIiAtPiAib3BlbiIgdHJh
bnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAg
ICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcp
OwogICAgICAgICAgICAgfQogCkBAIC0xMzUsMjcgKzEzNywyNyBAQAogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25GaXJzdFNvdXJjZUNsb3NlIik7CiAKLSAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvbkZp
cnN0U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50
LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAKLSAgICAgICAgICAg
ICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRp
YUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAgICAg
ICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNv
bmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VPcGVuKGV2ZW50KQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3VyY2VP
cGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50
LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCi0gICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50
LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291
cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQp
OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAvLyBT
dGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwpAQCAtMTY1LDEzICsxNjcsMTMgQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291cmNl
RW5kZWQiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsK
LSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIHZhciBtZWRp
YVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1v
dmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9FTkRFRCk7CisgICAgICAgICAgICAgICAg
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiZW5kZWQiKTsK
ICAgICAgICAgICAgICAgICAvL01lZGlhU291cmNlVGVzdC5leHBlY3RSZWFkeVN0YXRlKHZpZGVv
VGFnLCBIVE1MTWVkaWFFbGVtZW50LkhBVkVfTk9USElORyk7CiAKLSAgICAgICAgICAgICAgICB2
aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29uZFNvdXJjZUNs
b3NlKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywg
dHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
ZnVuY3Rpb24gdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQpAQCAtMTgxLDggKzE4Myw4
IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2Vy
U2Vjb25kU291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgLy8gVGVzdCBTT1VSQ0VfRU5E
RUQgLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uIHBhdGguCi0gICAg
ICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2Un
LCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJlbmRlZCIg
LT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vjb25k
U291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01l
ZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKQEAgLTE5MCwyMiAr
MTkyLDIyIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJv
blNlY29uZFNvdXJjZUNsb3NlIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKLSAgICAgICAgICAg
ICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRp
YUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNl
ID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7CisgICAg
ICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNl
LCAiY2xvc2VkIik7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAg
IG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRoaXJk
U291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uVGhp
cmRTb3VyY2VPcGVuKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgib25UaGlyZFNvdXJjZU9wZW4iKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRl
b1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOwotICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICB2
YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VP
cGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwog
Ci0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVv
VGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAg
ICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CkBAIC0yMTQsMjEgKzIxNiwy
MiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsK
IAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisKICAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5nJyk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKICAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdl
bXB0aWVkJyk7CiAKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgdmlkZW8uYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsKLSAgICAg
ICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9u
U291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291cmNl
RXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VFdmVudCk7CiAKLSAgICAgICAgICAgICAgICB2aWRl
by5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4p
OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QubG9nU291cmNlU3RhdGUodmlkZW8pOworICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153313</attachid>
            <date>2012-07-19 11:25:54 -0700</date>
            <delta_ts>2012-07-19 14:30:27 -0700</delta_ts>
            <desc>update based on feedback</desc>
            <filename>bug-90819-20120719112553.patch</filename>
            <type>text/plain</type>
            <size>150972</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JhYTIwNzY3NjczNzRm
NGI0MjU5MWU4NDMzMDlkZjM5NDBiOTc1NC4uMGJmZDEwZDgzMmUwM2I4MDA2OWFkZTE3YTZmOWUy
NzZjMDQ2OTkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTA3LTE5ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTWVkaWEg
U291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRpYVNvdXJj
ZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICBUZXN0czogVXBk
YXRlcyB0byBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8qCisKKyAgICAgICAgVXBkYXRl
IGJ1aWxkIGZpbGVzIHdpdGggbmV3IGNsYXNzZXM6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisg
ICAgICAgIE5ldyBvYmplY3RzOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVn
aXN0cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlUmVnaXN0cnkuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuaWRsOiBBZGRlZC4KKworICAgICAgICBBZGRpbmcgbmV3IG9iamVjdHMsIG5l
dyBldmVudHMsIGFuZCBuZXcgY29uc3RydWN0b3JzOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46Cisg
ICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAgICogaHRtbC9ET01VUkwu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRE9NVVJMKToKKyAgICAgICAgKiBodG1s
L0RPTVVSTC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisKKyAg
ICAgICAgUmVtb3Zpbmcgb2xkIHN0eWxlIEFQSSBhbmQgYXR0YWNpbmcgbmV3IE1lZGlhU291cmNl
IG9iamVjdHM6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlh
RWxlbWVudCk6IFJlbW92ZSBvbGQgc3R5bGUgQVBJIHJlc291cmNlcy4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAi
Y2xvc2VkIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJj
ZSk6IEdldCBNZWRpYVNvdXJjZSBvYmplY3QgZnJvbSBibG9iIHJlZ2lzdHJ5CisgICAgICAgICAg
ICBsb29rIHVwIGFuZCwgaWYgZm91bmQsIHNldCBpdCdzIE1lZGlhUGxheWVyIHBvaW50ZXIgdG8g
dGhlIGN1cnJlbnQgTWVkaWFQbGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojpub25lU3VwcG9ydGVkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAiY2xvc2VkIi4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lRXJyb3IpOiBTZXQgc291
cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJTb3VyY2VPcGVuZWQpOiBTZXQgc291cmNlIHN0YXRlIHRvICJvcGVuIi4K
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlVVJM
KTogQ2hhbmdlIHRvIG5ldyBibG9iIFVSTC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNlZWspOiBDaGVjayBpZiBzb3VyY2Ugc3RhdGUgaXMgImNsb3NlZCIuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZSk6IEhlbHBlciBmdW5j
dGlvbiBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8KKyAgICAgICAgICAgIGtlZXAgY2hlY2tpbmcg
Zm9yIG1fbWVkaWFTb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1
c2VyQ2FuY2VsbGVkTG9hZCk6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBsYXllcik6IElmIHRoZSBj
dXJyZW50IE1lZGlhUGxheWVyIGlzIHJlLQorICAgICAgICAgICAgY3JlYXRlZCwgbm90aWZ5IHRo
ZSBNZWRpYVNvdXJjZSBhbmQgcmVzZXQgaXRzIE1lZGlhUGxheWVyLgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6CisKIDIwMTItMDctMTkgIFNjb3R0IEdyYWhhbSAgPHNjb3R0bWdAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVzZSBuYXRpdmUgKG5vbi1jeWd3aW4pIGJpbmFyaWVzIGZvciBwZXJsLCBncGVy
ZiwgYW5kIGJpc29uIGluIENocm9taXVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4
MTJiNzc0YTljZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLmQ1NzAyMTQ2ZmM1ZDYzNjA0NmVhOWNi
M2RhYjZiYzVjY2M0NGE5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAs
MjMgQEAgU0VUKFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcAogKQogCitJRiAoRU5BQkxFX01FRElBX1NPVVJDRSkKKyAgICBMSVNUKEFQ
UEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy9tZWRpYXNvdXJjZQorICAgICkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9G
SUxFUworICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAorICAgICAg
ICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKKyAgICAgICAgTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAorICAgICkKKyAgICBMSVNUKEFQUEVORCBX
ZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5j
cHAKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcAor
ICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKyAgICAgICAgTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorICAgICkKK0VORElGKCkKKwog
IyBNb2R1bGVzIHRoYXQgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKIFNF
VChTQ1JJUFRTX1JFU09MVkVfU1VQUExFTUVOVEFMCiAgICAgJHtXRUJDT1JFX0RJUn0vYmluZGlu
Z3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWExMDJjOGMx
NTdlOTNmYjRlZjEzMTQzMDA5MDY3ZWY4YmI2NWIzYi4uOGU0ZDQ1OTU4N2IwN2NmMDc2NGJmN2E4
YTFjOGM2NDk0NjhjZTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE1LDYgKzE1LDcgQEAg
d2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYiBcCisJ
LUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCiAJLUkkKHNyY2Rpcikv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKIAktSSQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlciBcCkBAIC04ODEsNiArODgyLDcgQEAg
SURMX1BBVEggOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRl
eGVkZGIgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZp
Y2F0aW9ucyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKQEAgLTEwNDksNiAr
MTA1MSw3IEBAIEVYVFJBX0RJU1QgKz0gXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQo
c3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi8qLmlkbCkgXAorCSQoc2hl
bGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvKi5pZGwp
IFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvKi5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IDNlYjk0Mzk5MWQ3ZWYzN2MyYzA5NGFhMzcyODAwMDc3MzJmOTkwNDgu
LjYzZjNiZGQ2OTYxNjYyMTZiNWVkZjdmN2NlYTEyOWMzYjYxZWZmYWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtMzgzLDYgKzM4Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNZWRpYUxpc3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNl
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNlLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFT
dHJlYW1FdmVudC5jcHAgXApAQCAtNTAzLDYgKzUwNSwxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJj
ZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFyZWRXb3JrZXIuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTb3VyY2VCdWZmZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291
cmNlQnVmZmVyLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NwZWVjaElucHV0RXZlbnQuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTU3BlZWNoSW5wdXRFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU3BlZWNoSW5wdXRSZXN1bHQuY3BwIFwKQEAgLTY5Miw2ICs2OTgsOSBAQCBkb21f
YmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRp
b25DYWxsYmFjay5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlv
bkVycm9yLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJy
b3JDYWxsYmFjay5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
aWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJh
Y2suaWRsIFwKQEAgLTExNTksNiArMTE2OCwxNCBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvUGFnZUdyb3VwSW5kZXhlZERh
dGFiYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRl
eHRJbmRleGVkRGF0YWJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9Xb3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU0NmIxMzI0ZTIyOGQ2OWFiMGNmMWI4NzgyNGY4MGQ0Y2YxYzBhNDMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcApAQCAtMCwwICsxLDI4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJNZWRpYVNvdXJjZS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
IkNvbnRlbnRUeXBlLmgiCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJUaW1lUmFuZ2Vz
LmgiCisjaW5jbHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBNZWRpYVNvdXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVNv
dXJjZShjb250ZXh0KSk7Cit9CisKK01lZGlhU291cmNlOjpNZWRpYVNvdXJjZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIo
Y29udGV4dCkKKyAgICAsIG1fcmVhZHlTdGF0ZShjbG9zZWRLZXl3b3JkKCkpCisgICAgLCBtX3Bs
YXllcigwKQorICAgICwgbV9uZXh0U291cmNlQnVmZmVySWQoMCkKK3sKKyAgICBtX3NvdXJjZUJ1
ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKKyAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworU291cmNlQnVmZmVyTGlzdCogTWVkaWFT
b3VyY2U6OnNvdXJjZUJ1ZmZlcnMoKQoreworICAgIHJldHVybiBtX3NvdXJjZUJ1ZmZlcnMuZ2V0
KCk7Cit9CisKK1NvdXJjZUJ1ZmZlckxpc3QqIE1lZGlhU291cmNlOjphY3RpdmVTb3VyY2VCdWZm
ZXJzKCkKK3sKKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2VsZWN0aW9uCisg
ICAgcmV0dXJuIG1fYWN0aXZlU291cmNlQnVmZmVycy5nZXQoKTsKK30KKworU291cmNlQnVmZmVy
KiBNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1l
ZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjZG9tLWFkZHNv
dXJjZWJ1ZmZlcgorICAgIC8vIDEuIElmIHR5cGUgaXMgbnVsbCBvciBhbiBlbXB0eSB0aGVuIHRo
cm93IGFuIElOVkFMSURfQUNDRVNTX0VSUiBleGNlcHRpb24gYW5kCisgICAgLy8gYWJvcnQgdGhl
c2Ugc3RlcHMuCisgICAgaWYgKHR5cGUuaXNOdWxsKCkgfHwgdHlwZS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KworICAgIC8vIDIuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgdGhhdCBpcyBub3Qgc3Vw
cG9ydGVkIC4uLiwgdGhlbiB0aHJvdyBhCisgICAgLy8gTk9UX1NVUFBPUlRFRF9FUlIgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBDb250ZW50VHlwZSBjb250ZW50VHlwZSh0
eXBlKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsK
KworICAgIGlmICghY29kZWNzLnNpemUoKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURf
RVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAgLy8gNC4gSWYgdGhlIHJl
YWR5U3RhdGUgYXR0cmlidXRlIGlzIG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cg
YW4KKyAgICAvLyBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0
ZXBzLgorICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkp
IHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorCisgICAgLy8gNS4gQ3JlYXRlIGEgbmV3IFNvdXJjZUJ1ZmZlciBvYmplY3QgYW5kIGFz
c29jaWF0ZWQgcmVzb3VyY2VzLgorICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1ZmZlciA9IFNv
dXJjZUJ1ZmZlcjo6Y3JlYXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNlQnVmZmVySWQp
LCB0aGlzKTsKKworICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGJ1ZmZlci0+aWQo
KSwgY29udGVudFR5cGUudHlwZSgpLCBjb2RlY3MpKSB7CisgICAgY2FzZSBNZWRpYVBsYXllcjo6
T2s6CisgICAgICAgIC8vIDYuIEFkZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFu
ZCBmaXJlIGEgYWRkc291cmNlYnVmZmVyIG9uIHRoYXQgb2JqZWN0LgorICAgICAgICBtX3NvdXJj
ZUJ1ZmZlcnMtPmFkZChidWZmZXIpOworICAgICAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMtPmFk
ZChidWZmZXIpOworICAgICAgICAvLyA3LiBSZXR1cm4gdGhlIG5ldyBvYmplY3QgdG8gdGhlIGNh
bGxlci4KKyAgICAgICAgcmV0dXJuIGJ1ZmZlci5nZXQoKTsKKyAgICBjYXNlIE1lZGlhUGxheWVy
OjpOb3RTdXBwb3J0ZWQ6CisgICAgICAgIC8vIDIgKGNvbnQpLiBJZiB0eXBlIGNvbnRhaW5zIGEg
TUlNRSB0eXBlIC4uLiB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgdHlwZXMgCisgICAg
ICAgIC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNv
dXJjZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKKyAgICAgICAgLy8gYSBOT1RfU1VQUE9SVEVEX0VSUiBl
eGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICBlYyA9IE5PVF9TVVBQT1JU
RURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVk
SWRMaW1pdDoKKyAgICAgICAgLy8gMyAoY29udCkuIElmIHRoZSB1c2VyIGFnZW50IGNhbid0IGhh
bmRsZSBhbnkgbW9yZSBTb3VyY2VCdWZmZXIgb2JqZWN0cyB0aGVuIHRocm93IAorICAgICAgICAv
LyBhIFFVT1RBX0VYQ0VFREVEX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgor
ICAgICAgICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQg
TWVkaWFTb3VyY2U6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIqIGJ1ZmZlciwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1s
LW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjZG9tLXJl
bW92ZXNvdXJjZWJ1ZmZlcgorICAgIC8vIDEuIElmIHNvdXJjZUJ1ZmZlciBpcyBudWxsIHRoZW4g
dGhyb3cgYW4gSU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0
aGVzZSBzdGVwcy4KKyAgICBpZiAoIWJ1ZmZlcikgeworICAgICAgICBlYyA9IElOVkFMSURfQUND
RVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDIuIElmIHNvdXJjZUJ1
ZmZlcnMgaXMgZW1wdHkgdGhlbiB0aHJvdyBhbiBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24g
YW5kCisgICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3BsYXllciB8fCAhbV9z
b3VyY2VCdWZmZXJzLT5sZW5ndGgoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMy4gSWYgc291cmNlQnVmZmVyIHNw
ZWNpZmllcyBhbiBvYmplY3QgdGhhdCBpcyBub3QgaW4gc291cmNlQnVmZmVycyB0aGVuCisgICAg
Ly8gdGhyb3cgYSBOT1RfRk9VTkRfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMu
CisgICAgLy8gNi4gUmVtb3ZlIHNvdXJjZUJ1ZmZlciBmcm9tIHNvdXJjZUJ1ZmZlcnMgYW5kIGZp
cmUgYSByZW1vdmVzb3VyY2VidWZmZXIgZXZlbnQgb24gdGhhdCBvYmplY3QuCisgICAgaWYgKCFt
X3NvdXJjZUJ1ZmZlcnMtPnJlbW92ZShidWZmZXIpKSB7CisgICAgICAgIGVjID0gTk9UX0ZPVU5E
X0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDcuIERlc3Ryb3kgYWxsIHJl
c291cmNlcyBmb3Igc291cmNlQnVmZmVyLgorICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+cmVt
b3ZlKGJ1ZmZlcik7CisgICAgbV9wbGF5ZXItPnNvdXJjZVJlbW92ZUlkKGJ1ZmZlci0+aWQoKSk7
CisKKyAgICAvLyA0LiBSZW1vdmUgdHJhY2sgaW5mb3JtYXRpb24gZnJvbSBhdWRpb1RyYWNrcywg
dmlkZW9UcmFja3MsIGFuZCB0ZXh0VHJhY2tzIGZvciBhbGwgdHJhY2tzIGFzc29jaWF0ZWQgd2l0
aCBzb3VyY2VCdWZmZXIgYW5kIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgY2hhbmdlIG9uIHRo
ZSBtb2RpZmllZCBsaXN0cy4KKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2Vs
ZWN0aW9uCisKKyAgICAvLyA1LiBJZiBzb3VyY2VCdWZmZXIgaXMgaW4gYWN0aXZlU291cmNlQnVm
ZmVycywgdGhlbiByZW1vdmUgaXQgZnJvbSB0aGF0IGxpc3QgYW5kIGZpcmUgYSByZW1vdmVzb3Vy
Y2VidWZmZXIgZXZlbnQgb24gdGhhdCBvYmplY3QuCisgICAgLy8gRklYTUUoOTE2NDkpOiBzdXBw
b3J0IHRyYWNrIHNlbGVjdGlvbgorfQorCitjb25zdCBTdHJpbmcmIE1lZGlhU291cmNlOjpyZWFk
eVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWFkeVN0YXRlOworfQorCit2b2lkIE1l
ZGlhU291cmNlOjpzZXRSZWFkeVN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCit7CisgICAgQVNT
RVJUKHN0YXRlID09IG9wZW5LZXl3b3JkKCkgfHwgc3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpIHx8
IHN0YXRlID09IGVuZGVkS2V5d29yZCgpKTsKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IHN0YXRl
KQorICAgICAgICByZXR1cm47CisKKyAgICBTdHJpbmcgb2xkU3RhdGUgPSBtX3JlYWR5U3RhdGU7
CisgICAgbV9yZWFkeVN0YXRlID0gc3RhdGU7CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IGNs
b3NlZEtleXdvcmQoKSkgeworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMtPmNsZWFyKCk7CisgICAg
ICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9wbGF5ZXIgPSAw
OworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtp
dHNvdXJjZWNsb3NlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAorICAgIGlmIChvbGRTdGF0ZSA9PSBvcGVuS2V5d29yZCgpICYmIG1fcmVhZHlTdGF0
ZSA9PSBlbmRlZEtleXdvcmQoKSkgeworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBvcGVuS2V5
d29yZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkud2Via2l0c291cmNlb3BlbkV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KK30KKwordm9pZCBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5n
JiBlcnJvciwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLncz
Lm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNl
Lmh0bWwjZG9tLWVuZG9mc3RyZWFtCisgICAgLy8gMS4gSWYgdGhlIHJlYWR5U3RhdGUgYXR0cmli
dXRlIGlzIG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cgYW4KKyAgICAvLyBJTlZB
TElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlmICgh
bV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlh
UGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9F
cnJvcjsKKworICAgIGlmIChlcnJvci5pc051bGwoKSB8fCBlcnJvci5pc0VtcHR5KCkpCisgICAg
ICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworICAgIGVsc2UgaWYgKGVy
cm9yID09ICJuZXR3b3JrIikKKyAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05l
dHdvcmtFcnJvcjsKKyAgICBlbHNlIGlmIChlcnJvciA9PSAiZGVjb2RlIikKKyAgICAgICAgZW9z
U3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOworICAgIGVsc2UgeworICAgICAg
ICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IC8vIDIuIENoYW5nZSB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgdmFsdWUgdG8gImVuZGVkIi4K
KyAgICBzZXRSZWFkeVN0YXRlKGVuZGVkS2V5d29yZCgpKTsKKyAgICBtX3BsYXllci0+c291cmNl
RW5kT2ZTdHJlYW0oZW9zU3RhdHVzKTsKK30KKworUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBNZWRp
YVNvdXJjZTo6YnVmZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0Cit7CisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29y
ZCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKworICAgIHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQpOworfQor
Cit2b2lkIE1lZGlhU291cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxV
aW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRhdGEuZ2V0
KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29y
ZCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIWRhdGEtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEtPmRhdGEoKSwgZGF0YS0+bGVu
Z3RoKCkpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KK30KKwordm9pZCBNZWRpYVNvdXJjZTo6YWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3Bl
bktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBNZWRp
YVNvdXJjZTo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMo
KS5pbnRlcmZhY2VGb3JNZWRpYVNvdXJjZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
TWVkaWFTb3VyY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVy
biBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwor
fQorCitFdmVudFRhcmdldERhdGEqIE1lZGlhU291cmNlOjpldmVudFRhcmdldERhdGEoKQorewor
ICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogTWVk
aWFTb3VyY2U6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50
VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzFkNmQzYTA4N2MxZmNjMWUxMTU2NTUzYmYxYTU0Y2QwYWU4MzIxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5o
CkBAIC0wLDAgKzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYVNvdXJjZV9oCisjZGVmaW5lIE1lZGlhU291
cmNlX2gKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCisjaW5jbHVkZSAi
U291cmNlQnVmZmVyLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyTGlzdC5oIgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFT
b3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdl
dCwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgY29uc3QgU3RyaW5nJiBvcGVuS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IFN0cmluZywgb3BlbiwgKCJvcGVuIikpOworICAgICAgICByZXR1cm4g
b3BlbjsKKyAgICB9CisKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBjbG9zZWRLZXl3b3JkKCkK
KyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBjbG9zZWQs
ICgiY2xvc2VkIikpOworICAgICAgICByZXR1cm4gY2xvc2VkOworICAgIH0KKworICAgIHN0YXRp
YyBjb25zdCBTdHJpbmcmIGVuZGVkS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZW5kZWQsICgiZW5kZWQiKSk7CisgICAgICAgIHJldHVy
biBlbmRlZDsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZSgp
IHsgfQorCisgICAgU291cmNlQnVmZmVyTGlzdCogc291cmNlQnVmZmVycygpOworICAgIFNvdXJj
ZUJ1ZmZlckxpc3QqIGFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKTsKKworICAgIFNvdXJjZUJ1ZmZlciog
YWRkU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciosIEV4Y2VwdGlvbkNvZGUmKTsK
KworICAgIGNvbnN0IFN0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0OworICAgIHZvaWQgc2V0UmVh
ZHlTdGF0ZShjb25zdCBTdHJpbmcmKTsKKworICAgIHZvaWQgZW5kT2ZTdHJlYW0oY29uc3QgU3Ry
aW5nJiBlcnJvciwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgdm9pZCBzZXRNZWRpYVBsYXllcihN
ZWRpYVBsYXllciogcGxheWVyKSB7IG1fcGxheWVyID0gcGxheWVyOyB9CisgICAgCisgICAgUGFz
c1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CisgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0
cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhYm9ydChjb25z
dCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbnRl
cmZhY2UKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVmQ291bnRl
ZDxNZWRpYVNvdXJjZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291cmNlPjo6
ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopOworCisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0
RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVu
dFRhcmdldERhdGEoKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdl
dCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdl
dCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQorCisgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRU
YXJnZXREYXRhOworCisgICAgU3RyaW5nIG1fcmVhZHlTdGF0ZTsKKyAgICBNZWRpYVBsYXllciog
bV9wbGF5ZXI7IC8vIDwtLSBzaG91bGQgdGhpcyBiZSBhIFJlZlB0cj8KKworICAgIFJlZlB0cjxT
b3VyY2VCdWZmZXJMaXN0PiBtX3NvdXJjZUJ1ZmZlcnM7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZl
ckxpc3Q+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKKyAgICBpbnQgbV9uZXh0U291cmNlQnVmZmVy
SWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI1ZjdkZWMxYmJkNWI5Nzc2YjhjZDhiNzYwNDY3ZDAzMTRiYTZkYjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmlkbApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAgICAgVjhFbmFibGVkQXRS
dW50aW1lPW1lZGlhU291cmNlLAorICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgQ29uc3Ry
dWN0b3IsCisgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIE1l
ZGlhU291cmNlIHsKKyAgICAgICAgLy8gQWxsIHRoZSBzb3VyY2UgYnVmZmVycyBjcmVhdGVkIGJ5
IHRoaXMgb2JqZWN0LgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyTGlz
dCBzb3VyY2VCdWZmZXJzOworCisgICAgICAgIC8vIFN1YnNldCBvZiBzb3VyY2VCdWZmZXJzIHRo
YXQgcHJvdmlkZSBkYXRhIGZvciB0aGUgc2VsZWN0ZWQvZW5hYmxlZCB0cmFja3MuCisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IGFjdGl2ZVNvdXJjZUJ1ZmZlcnM7
CisKKyAgICAgICAgU291cmNlQnVmZmVyIGFkZFNvdXJjZUJ1ZmZlcihpbiBET01TdHJpbmcgdHlw
ZSkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZl
cihpbiBTb3VyY2VCdWZmZXIgYnVmZmVyKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOworICAgICAgICAKKyAg
ICAgICAgdm9pZCBlbmRPZlN0cmVhbShpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10g
RE9NU3RyaW5nIGVycm9yKQorICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
ICAgICAKKyAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCisgICAgICAgIHZvaWQgYWRk
RXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQg
cmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Cisg
ICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKKyAgICAgICAgICAg
IHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGZkNDAwMTcxOWUxMDliNGIwZmYwMjZlM2ExZjFmNTZhOGM3NjZiNAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2VSZWdpc3RyeS5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYVNvdXJj
ZVJlZ2lzdHJ5JiBNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCit7CisgICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNZWRpYVNvdXJj
ZVJlZ2lzdHJ5LCBpbnN0YW5jZSwgKCkpOworICAgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2
b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VS
TCYgdXJsLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCit7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICBtX21lZGlhU291cmNlcy5zZXQodXJsLnN0cmluZygpLCBzb3Vy
Y2UpOworfQorCit2b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVNvdXJj
ZVVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAg
ICBtX21lZGlhU291cmNlcy5yZW1vdmUodXJsLnN0cmluZygpKTsKK30KKworTWVkaWFTb3VyY2Uq
IE1lZGlhU291cmNlUmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJs
KQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fbWVkaWFTb3Vy
Y2VzLmdldCh1cmwpLmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlUmVnaXN0cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NmRhNmIzNDdjNzBjNTExY2I0NjhmZWQyMTcy
NzI5NzE2Njc1Mzc0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
TWVkaWFTb3VyY2VSZWdpc3RyeV9oCisjZGVmaW5lIE1lZGlhU291cmNlUmVnaXN0cnlfaAorCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU291cmNl
OworCitjbGFzcyBNZWRpYVNvdXJjZVJlZ2lzdHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZXR1cm5z
IGEgc2luZ2xlIGluc3RhbmNlIG9mIE1lZGlhU291cmNlUmVnaXN0cnkuCisgICAgc3RhdGljIE1l
ZGlhU291cmNlUmVnaXN0cnkmIHJlZ2lzdHJ5KCk7CisKKyAgICAvLyBSZWdpc3RlcnMgYSBibG9i
IFVSTCByZWZlcnJpbmcgdG8gdGhlIHNwZWNpZmllZCBtZWRpYSBzb3VyY2UuCisgICAgdm9pZCBy
ZWdpc3Rlck1lZGlhU291cmNlVVJMKGNvbnN0IEtVUkwmLCBQYXNzUmVmUHRyPE1lZGlhU291cmNl
Pik7CisgICAgdm9pZCB1bnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYpOworCisg
ICAgTWVkaWFTb3VyY2UqIGxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKTsKKwor
cHJpdmF0ZToKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU291cmNlPiA+IG1fbWVk
aWFTb3VyY2VzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU5MTkxMDgwMzA4MDgwNTdhOGY4NzBiYWIzZDg4ZjAyZjVkYjA5
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJTb3VyY2VCdWZmZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJUaW1lUmFuZ2VzLmgiCisjaW5jbHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihjb25zdCBTdHJp
bmcmIGlkLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCisgICAgOiBtX2lkKGlkKQor
ICAgICwgbV9zb3VyY2Uoc291cmNlKQoreworfQorCitTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZm
ZXIoKQoreworfQorCitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVy
ZWQoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisK
KyAgICByZXR1cm4gbV9zb3VyY2UtPmJ1ZmZlcmVkKGlkKCksIGVjKTsKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXI6OmFwcGVuZChQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQoreworICAgIGlmICghbV9zb3VyY2UpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc291cmNlLT5hcHBlbmQo
aWQoKSwgZGF0YSwgZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlcjo6YWJvcnQoRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFib3J0
KGlkKCksIGVjKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM0YzUyNTAwMzgwMjk5MWY4ZjEyZjM2MGFlYTkxNzI1OTBhMGI0ZGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNvdXJjZUJ1ZmZlcl9oCisjZGVmaW5lIFNvdXJj
ZUJ1ZmZlcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRpbWVSYW5nZXM7
CisKK2NsYXNzIFNvdXJjZUJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlcj4g
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gY3JlYXRlKGNv
bnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyKGlkLCBzb3VyY2UpKTsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXIoKTsKKworICAgIFBhc3NSZWZQdHI8VGlt
ZVJhbmdlcz4gYnVmZmVyZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCisgICAgdm9pZCBhcHBl
bmQoUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICB2
b2lkIGFib3J0KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcmIGlkKCkg
Y29uc3QgeyByZXR1cm4gbV9pZDsgfQorCisgICAgdm9pZCBjbGVhcigpIHsgbV9zb3VyY2UuY2xl
YXIoKTsgfQorCitwcml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIGlkLCBQ
YXNzUmVmUHRyPE1lZGlhU291cmNlPik7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBSZWZQdHI8
TWVkaWFTb3VyY2U+IG1fc291cmNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMmI5Y2I2MThmNTUwMTU1MjdiM2Q2OWFm
Mjk2ZjY5ZjdiZDlmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCittb2R1bGUgaHRt
bCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0Us
CisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZQorICAgIF0gU291cmNlQnVm
ZmVyIHsKKworICAgICAgICAvLyBSZXR1cm5zIHRoZSB0aW1lIHJhbmdlcyBidWZmZXJlZC4KKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgYnVmZmVyZWQKKyAgICAgICAgICAg
IGdldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBBcHBlbmQgc2VnbWVu
dCBkYXRhLgorICAgICAgICB2b2lkIGFwcGVuZChpbiBVaW50OEFycmF5IGRhdGEpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBBYm9ydCB0aGUgY3VycmVudCBzZWdtZW50IGFw
cGVuZCBzZXF1ZW5jZS4KKyAgICAgICAgdm9pZCBhYm9ydCgpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjJiNDZmMGZiNjdhODYx
NTcyOGZiOGEzNGQwYjJiYTE3NjMyZWQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApAQCAtMCwwICsxLDEx
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRl
ICJTb3VyY2VCdWZmZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTb3VyY2VCdWZmZXJM
aXN0OjpTb3VyY2VCdWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisg
ICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKK3sKK30KKwordW5zaWduZWQg
bG9uZyBTb3VyY2VCdWZmZXJMaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBtX2xp
c3Quc2l6ZSgpOworfQorCitTb3VyY2VCdWZmZXIqIFNvdXJjZUJ1ZmZlckxpc3Q6Oml0ZW0odW5z
aWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IG1fbGlzdC5zaXplKCkpCisg
ICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2xpc3RbaW5kZXhdLmdldCgpOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlckxpc3Q6OmFkZChQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVy
KQoreworICAgIG1fbGlzdC5hcHBlbmQoYnVmZmVyKTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQo
ZXZlbnROYW1lcygpLndlYmtpdGFkZHNvdXJjZWJ1ZmZlckV2ZW50KTsKK30KKworYm9vbCBTb3Vy
Y2VCdWZmZXJMaXN0OjpyZW1vdmUoU291cmNlQnVmZmVyKiBidWZmZXIpCit7ICAgIAorICAgIHNp
emVfdCBpbmRleCA9IG1fbGlzdC5maW5kKGJ1ZmZlcik7CisgICAgaWYgKGluZGV4ID09IG5vdEZv
dW5kKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2xpc3QucmVtb3ZlKGluZGV4KTsK
KyAgICBidWZmZXItPmNsZWFyKCk7CisgICAgY3JlYXRlQW5kRmlyZUV2ZW50KGV2ZW50TmFtZXMo
KS53ZWJraXRyZW1vdmVzb3VyY2VidWZmZXJFdmVudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgU291cmNlQnVmZmVyTGlzdDo6Y2xlYXIoKQoreworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbV9saXN0LnNpemUoKTsgKytpKQorICAgICAgICByZW1vdmUobV9saXN0W2ldLmdldCgp
KTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudE5hbWUpCit7CisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpOworICAgIGV2ZW50LT5zZXRUYXJn
ZXQodGhpcyk7CisKKyAgICBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisK
K2NvbnN0IEF0b21pY1N0cmluZyYgU291cmNlQnVmZmVyTGlzdDo6aW50ZXJmYWNlTmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JTb3VyY2VCdWZmZXJM
aXN0OworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBTb3VyY2VCdWZmZXJMaXN0OjpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0OworfQorCitFdmVudFRhcmdldERhdGEqIFNvdXJjZUJ1ZmZlckxpc3Q6OmV2ZW50
VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZl
bnRUYXJnZXREYXRhKiBTb3VyY2VCdWZmZXJMaXN0OjplbnN1cmVFdmVudFRhcmdldERhdGEoKQor
eworICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmN2Y5YTc4OTI3ZTE2NzEyMWI3
YTYzMGY4OGI5ZjUxNzQxN2NlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtMCwwICsxLDg3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBTb3VyY2VCdWZmZXJMaXN0X2gKKyNkZWZpbmUgU291cmNlQnVmZmVyTGlzdF9oCisKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBTb3VyY2VCdWZmZXI7CisKK2NsYXNzIFNvdXJjZUJ1ZmZl
ckxpc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0PiwgcHVibGljIEV2ZW50
VGFyZ2V0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJMaXN0
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyTGlzdChjb250ZXh0KSk7CisgICAgfQor
ICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlckxpc3QoKSB7IH0KKworICAgIHVuc2lnbmVkIGxvbmcg
bGVuZ3RoKCkgY29uc3Q7CisgICAgU291cmNlQnVmZmVyKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBj
b25zdDsKKworICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPik7CisgICAgYm9v
bCByZW1vdmUoU291cmNlQnVmZmVyKik7CisgICAgdm9pZCBjbGVhcigpOworCisgICAgLy8gRXZl
bnRUYXJnZXQgaW50ZXJmYWNlCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVy
ZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKKworICAgIHVz
aW5nIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyTGlzdD46OnJlZjsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkPFNvdXJjZUJ1ZmZlckxpc3Q+OjpkZXJlZjsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisKK3By
aXZhdGU6CisgICAgZXhwbGljaXQgU291cmNlQnVmZmVyTGlzdChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CisKKyAgICB2b2lkIGNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
KTsKKworICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgcmVmKCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgZGVyZWYo
KTsgfQorCisgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworICAgIFZlY3Rv
cjxSZWZQdHI8U291cmNlQnVmZmVyPiA+IG1fbGlzdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZWRkY2Fh
OGY1NDRhNDRhZmNlZGRiZjg4OWFmMjNjMGJhZjAyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworIAorbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29u
ZGl0aW9uYWw9TUVESUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFT
b3VyY2UsCisgICAgICAgIEluZGV4ZWRHZXR0ZXIsCisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAg
ICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0CisgICAgXSBTb3VyY2VCdWZmZXJM
aXN0IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwor
ICAgICAgICBTb3VyY2VCdWZmZXIgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKKworICAg
ICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3Rl
bmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVFdmVu
dExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgYm9v
bGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAgICAgcmFpc2VzKEV2
ZW50RXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwCmluZGV4IDliNjc4YzU1YzUxYjVhYzc0ZmRjOTdkYmUwMzE3NzgwZDNjOTk1OWEuLjRj
Y2UxOThjN2FhM2ZiMzcyNzQ2YTU4MTE1ZmMwY2MwZjBlNjRjZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC02MCw2ICs2MCw3IEBACiAgICAgICAnLi4vTW9kdWxl
cy9nZW9sb2NhdGlvbicsCiAgICAgICAnLi4vTW9kdWxlcy9pbnRlbnRzJywKICAgICAgICcuLi9N
b2R1bGVzL2luZGV4ZWRkYicsCisgICAgICAnLi4vTW9kdWxlcy9tZWRpYXNvdXJjZScsCiAgICAg
ICAnLi4vTW9kdWxlcy9tZWRpYXN0cmVhbScsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmljYXRp
b25zJywKICAgICAgICcuLi9Nb2R1bGVzL3Byb3RvY29saGFuZGxlcicsCkBAIC0xMDc4LDYgKzEw
NzksNyBAQAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvZmlsZXN5c3Rl
bScsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9pbmRleGVkZGInLAog
ICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW50ZW50cycsCisgICAgICAg
ICAgICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9tZWRpYXNvdXJjZScsCiAgICAgICAgICAg
ICAgICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9tZWRpYXN0cmVhbScsCiAgICAgICAgICAgICAg
ICctLWluY2x1ZGUnLCAnLi4vTW9kdWxlcy9ub3RpZmljYXRpb25zJywKICAgICAgICAgICAgICAg
Jy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL3Byb3RvY29saGFuZGxlcicsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggZGFiMzE0MDc5ODIyMzBiNDA5ZjE3ZmU2YmEwODE1MTY1MTkxMDU1Yy4uNjk3ZjA0OWYz
ZjljNzQ1ODY1YzQyMTk3ODZmOTFjMGJkNTAxMzljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtODI1
LDYgKzgyNSw5IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudC5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmlkbCcsCisgICAg
ICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCcsCisgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwnLApAQCAtMTUz
NSw2ICsxNTM4LDE0IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3Vs
dENhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRl
bnRzLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMu
aCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCcsCisgICAgICAg
ICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCcsCisgICAg
ICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgnLAorICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCcsCisgICAgICAg
ICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCcsCisgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCcsCisgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5M2Jl
Mjc1MDQ5MTBiOGIwOTRmOGI5MTM4MWMwN2U3ODZmMjRhMGY3Li4xNGQ4YTFlOWI4OTZjODM1MjFl
YTBmYTA1ODY1Mjg2MzQyMzcwNjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTU3Miw2ICsxMTU3MiwxNyBAQAogCQlCMTBC
Njk3RTE0MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlZUVFRva2VuaXplci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUIxMEI2OTdGMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tl
bml6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVlRUVG9rZW5pemVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxODI3NDkyMTM0Q0E0QzEwMEI5OEMy
RCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMUE5NDJERjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTb3VyY2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTAxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlh
U291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVNvdXJjZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkUxMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRp
YVNvdXJjZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhU291cmNlUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MUE5NDJFMjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZVJlZ2lzdHJ5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkUzMTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VC
dWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQnVm
ZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTQxNUI1Q0UyMjAw
RDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTb3VyY2VCdWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTUx
NUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gU291cmNlQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQy
RTYxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkU3MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxp
c3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTgxNUI1Q0UyMjAwRDUy
NUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJj
ZUJ1ZmZlckxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUFENEU3MTEz
QTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IFRleHRUcmFja0xvYWRlci5jcHA7IHBhdGggPSBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlCMUFENEU3
MjEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFRleHRUcmFja0xvYWRlci5oOyBwYXRoID0gbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUIxRDVFQ0I0MTM0QjU4
REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE3NTQxLDYgKzE3NTUyLDcgQEAKIAkJOTcxMTQ1RkUxNEVGMDA2RTAwNjc0RkQ5IC8qIE1v
ZHVsZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUIx
QTk0MkREMTVCNUNFMjIwMEQ1MjVEMSAvKiBtZWRpYXNvdXJjZSAqLywKIAkJCQk5NzExNDVGRjE0
RUYwMDc5MDA2NzRGRDkgLyogZ2VvbG9jYXRpb24gKi8sCiAJCQkJOTcxMkE1NTMxNTAwNEUzQzAw
NDhBRjEwIC8qIGluZGV4ZWRkYiAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyog
bm90aWZpY2F0aW9ucyAqLywKQEAgLTE4OTc1LDYgKzE4OTg3LDI1IEBACiAJCQluYW1lID0gUGx1
Z2luczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUIxQTk0MkREMTVCNUNF
MjIwMEQ1MjVEMSAvKiBtZWRpYXNvdXJjZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJQjFBOTQyREUxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNl
LmNwcCAqLywKKwkJCQlCMUE5NDJERjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2UuaCAq
LywKKwkJCQlCMUE5NDJFMDE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2UuaWRsICovLAor
CQkJCUIxQTk0MkUxMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCAq
LywKKwkJCQlCMUE5NDJFMjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5o
ICovLAorCQkJCUIxQTk0MkUzMTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIuY3BwICov
LAorCQkJCUIxQTk0MkU0MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIuaCAqLywKKwkJ
CQlCMUE5NDJFNTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLywKKwkJCQlC
MUE5NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5jcHAgKi8sCisJCQkJ
QjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCAqLywKKwkJCQlC
MUE5NDJFODE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8sCisJCQkp
OworCQkJbmFtZSA9IG1lZGlhc291cmNlOworCQkJcGF0aCA9IE1vZHVsZXMvbWVkaWFzb3VyY2U7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlCMUFENEU3NzEzQTEyQTcyMDA4
NDZCMjcgLyogdHJhY2sgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggODM2ZTYzMDhiMGRhY2Y5ZGIxZjc3NWZmZjI5
MzRmMWI3NmRmYzE4YS4uOTgzZGYyOWU4YmYyZWM3MDI3NmQ2Njg1NDUzNTljMDk0ZjZlOGRjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNTcsNiArMTU3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAogICAgIG1hY3JvKHdl
YmtpdGVuZGZ1bGxzY3JlZW4pIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0YWRkc291cmNlYnVm
ZmVyKSBcCisgICAgbWFjcm8od2Via2l0cmVtb3Zlc291cmNlYnVmZmVyKSBcCiAgICAgbWFjcm8o
d2Via2l0c291cmNlb3BlbikgXAogICAgIG1hY3JvKHdlYmtpdHNvdXJjZWVuZGVkKSBcCiAgICAg
bWFjcm8od2Via2l0c291cmNlY2xvc2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXgg
ZjM4N2U0MjczZWUyNmEyMDZiNmQ3OTk5MWRlMzJkOWRiNTVlMmE2Zi4uMjljNjBiYjEwNWJjOTk4
ZjVkZTIzYzRmYTIxN2IzNmIxNTk0OWZkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAg
LTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEphdmFTY3JpcHRB
dWRpb05vZGU7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZWRpYUNv
bnRyb2xsZXI7CisgICAgY2xhc3MgTWVkaWFTb3VyY2U7CiAgICAgY2xhc3MgTWVkaWFTdHJlYW07
CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgTm9kZTsKQEAgLTY0LDYgKzY1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyOwogICAgIGNsYXNzIFNoYXJlZFdvcmtlckNvbnRleHQ7
CisgICAgY2xhc3MgU291cmNlQnVmZmVyTGlzdDsKICAgICBjbGFzcyBUZXh0VHJhY2s7CiAgICAg
Y2xhc3MgVGV4dFRyYWNrQ3VlOwogICAgIGNsYXNzIFdlYlNvY2tldDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDgyMTcxN2IwZDdmZTc2NTNhYWYzZjY1ZGEz
NWVhOGVmOTViZDA0ZTQuLjM5MmIzMDU0NDI0ODE3ZmNmZTAxZjE4MzJmMmI5MjVjMWIwM2FjOTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMTYsNiArMTYs
NyBAQCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNF
CiBKYXZhU2NyaXB0QXVkaW9Ob2RlIGNvbmRpdGlvbmFsPVdFQl9BVURJTwogTG9jYWxNZWRpYVN0
cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25h
bD1WSURFTworTWVkaWFTb3VyY2UgY29uZGl0aW9uYWw9TUVESUFfU09VUkNFCiBNZWRpYVN0cmVh
bSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU3RyZWFtVHJhY2tMaXN0IGNvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogTWVzc2FnZVBvcnQKQEAgLTI2LDYgKzI3LDcgQEAgUGVlckNvbm5l
Y3Rpb24wMCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIFBlcmZvcm1hbmNlIGNvbmRpdGlvbmFs
PVdFQl9USU1JTkcKIFNoYXJlZFdvcmtlciBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU2hh
cmVkV29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUworU291cmNlQnVmZmVy
TGlzdCBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIFNwZWVjaFJlY29nbml0aW9uIGNvbmRpdGlv
bmFsPVNDUklQVEVEX1NQRUVDSAogU1ZHRWxlbWVudEluc3RhbmNlIGNvbmRpdGlvbmFsPVNWRwog
VGV4dFRyYWNrIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKaW5k
ZXggNGY5NzgwZGNkNmIzMzQ3NjM5OGJiNGM2OGI0OThlNWNiMDk5MTk5Ny4uZjQyMzVkOTViZjcw
NjQ1ODc1NjZlYjA2ZWFkM2FmNTE4NDlkZDM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcApAQCAt
NDIsNiArNDIsMTEgQEAKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIk1l
ZGlhU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgorI2VuZGlmCisK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5j
bHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgpAQCAtNDksNiArNTQsMjYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK1N0cmluZyBET01VUkw6
OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBNZWRpYVNvdXJjZSogc291cmNlKQoreworICAgIC8vIFNpbmNlIFdlYldvcmtlcnMg
Y2Fubm90IG9idGFpbiBNZWRpYVNvdXJjZSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1h
aW4gdGhyZWFkLgorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBpZiAoIXNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQgfHwgIXNvdXJjZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOwor
CisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgaWYgKHB1YmxpY1VSTC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIE1lZGlhU291cmNlUmVnaXN0
cnk6OnJlZ2lzdHJ5KCkucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChwdWJsaWNVUkwsIHNvdXJjZSk7
CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cHVibGljVVJMTWFuYWdlcigpLnN0cmVhbVVS
THMoKS5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKworICAgIHJldHVybiBwdWJsaWNVUkwuc3Ry
aW5nKCk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBTdHJpbmcgRE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgTWVkaWFTdHJlYW0qIHN0cmVhbSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCmluZGV4
IDI1YWUwMTNlYjBhOGExMGJjNDMzM2EwYmJiNGEwNzc5MTdiMjdmYTcuLmQ3MWZiOTNmMzU1YjVh
ZDJlMmZlYmQyZmI5MDMxODNkOTc0MTIxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaApAQCAtMzYsNiAr
MzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCbG9iOworY2xhc3MgTWVkaWFT
b3VyY2U7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAKQEAgLTQ5LDYgKzUwLDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVP
YmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEJsb2IqKTsKICAgICBzdGF0aWMgdm9p
ZCByZXZva2VPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYp
OworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgc3RhdGljIFN0cmluZyBjcmVhdGVPYmpl
Y3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU291cmNlKik7CisjZW5kaWYKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlT2JqZWN0VVJM
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNZWRpYVN0cmVhbSopOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RPTVVSTC5pZGwKaW5kZXggZWQwNGMyM2Q1YzY3YjMxYzNiOTM3MzYyMDdmYjQwYWU5NmExNmFh
YS4uYjM2ZThmN2NlYmFlN2RjMzc2ZTliYWEzMjljZGNlOThlMmVhMGFjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmlkbApAQCAtMzMsNiArMzMsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEpTTm9T
dGF0aWNUYWJsZXMsCiAgICAgICAgIEludGVyZmFjZU5hbWU9VVJMCiAgICAgXSBET01VUkwgewor
I2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQor
ICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCxUcmVhdFJldHVybmVkTnVs
bFN0cmluZ0FzPU51bGxdIHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlh
U291cmNlPyBzb3VyY2UpOworI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFfU1RSRUFN
KSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0LFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3RhdGljIERPTVN0cmlu
ZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVkaWFTdHJlYW0/IHN0cmVhbSk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggNDU5MDc4ZjY0YzA4YmUy
YmU0MzFiMDA4ODhkY2YzOWJkYjMwYjg2OS4uY2MyNjA1MTU1YzBmYWM2MzIzOGQ1NzdkNDAxMDc2
NjkxY2IzMDk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4K
QEAgLTI0Myw2ICsyNDMsNyBAQCBvbnRvdWNoY2FuY2VsCiBvbnVubG9hZAogb252b2x1bWVjaGFu
Z2UKIG9ud2FpdGluZworb253ZWJraXRhZGRzb3VyY2VidWZmZXIKIG9ud2Via2l0YW5pbWF0aW9u
c3RhcnQKIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uCiBvbndlYmtpdGFuaW1hdGlvbmVuZApA
QCAtMjU0LDYgKzI1NSw3IEBAIG9ud2Via2l0a2V5YWRkZWQKIG9ud2Via2l0a2V5ZXJyb3IKIG9u
d2Via2l0a2V5bWVzc2FnZQogb253ZWJraXRuZWVka2V5CitvbndlYmtpdHJlbW92ZXNvdXJjZWJ1
ZmZlcgogb253ZWJraXRzb3VyY2VjbG9zZQogb253ZWJraXRzb3VyY2VlbmRlZAogb253ZWJraXRz
b3VyY2VvcGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBm
MTYyNzFiY2QxM2NiZGY1ZTJlMGUwZDI4MGU4NjQyOGY1MDEzZDA0Li5mYTY1ODQ4MzQzMjhiMDcw
NDY1MGJlNDhmZTI0MDhhNDRkM2U3YjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKQEAgLTExMCw2ICsxMTAsMTEgQEAKICNpbmNsdWRlICJEaXNwbGF5U2xlZXBE
aXNhYmxlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUg
Ik1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgorI2VuZGlm
CisKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE0NCw3
ICsxNDksNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIAogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyBVUkwgcHJvdG9jb2wgdXNlZCB0byBzaWduYWwgdGhh
dCB0aGUgbWVkaWEgc291cmNlIEFQSSBpcyBiZWluZyB1c2VkLgotc3RhdGljIGNvbnN0IGNoYXIq
IG1lZGlhU291cmNlVVJMUHJvdG9jb2wgPSAieC1tZWRpYS1zb3VyY2UiOworc3RhdGljIGNvbnN0
IGNoYXIqIG1lZGlhU291cmNlQmxvYlByb3RvY29sID0gImJsb2IiOwogI2VuZGlmCiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0yMTgsOSArMjIzLDYgQEAgSFRNTE1lZGlhRWxlbWVu
dDo6SFRNTE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW0KICAgICAsIG1fcHJlbG9hZChNZWRpYVBsYXllcjo6QXV0bykKICAgICAsIG1fZGlz
cGxheU1vZGUoVW5rbm93bikKICAgICAsIG1fcHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2so
MCkKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAgICAgIAotICAgICwgbV9zb3VyY2VTdGF0ZShT
T1VSQ0VfQ0xPU0VEKQotI2VuZGlmCiAgICAgLCBtX2NhY2hlZFRpbWUoTWVkaWFQbGF5ZXI6Omlu
dmFsaWRUaW1lKCkpCiAgICAgLCBtX2NhY2hlZFRpbWVXYWxsQ2xvY2tVcGRhdGVUaW1lKDApCiAg
ICAgLCBtX21pbmltdW1XYWxsQ2xvY2tUaW1lVG9DYWNoZU1lZGlhVGltZSgwKQpAQCAtMjcxLDcg
KzI3Myw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtCiAgICAgfQogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLSAgICBtX21lZGlhU291cmNlVVJMLnNldFByb3RvY29sKG1lZGlhU291cmNl
VVJMUHJvdG9jb2wpOworICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UHJvdG9jb2wobWVkaWFTb3Vy
Y2VCbG9iUHJvdG9jb2wpOwogICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UGF0aChjcmVhdGVDYW5v
bmljYWxVVUlEU3RyaW5nKCkpOwogI2VuZGlmCiAKQEAgLTQyMCwxNCArNDIyLDYgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0
ZSkKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0
YmVnaW5mdWxsc2NyZWVuRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywg
YXR0cmlidXRlKSk7CiAgICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtpdGVu
ZGZ1bGxzY3JlZW5BdHRyKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS53ZWJraXRlbmRmdWxsc2NyZWVuRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIodGhpcywgYXR0cmlidXRlKSk7Ci0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBl
bHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0c291cmNlY2xvc2VBdHRyKQotICAg
ICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2Vj
bG9zZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkp
OwotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRzb3VyY2VlbmRlZEF0
dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtp
dHNvdXJjZWVuZGVkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0
cmlidXRlKSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtpdHNvdXJj
ZW9wZW5BdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS53ZWJraXRzb3VyY2VvcGVuRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cmlidXRlKSk7Ci0jZW5kaWYKICAgICBlbHNlCiAgICAgICAgIEhUTUxFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQpAQCAtNzAyLDggKzY5Niw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxvYWQoKQogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAg
ICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1l
ZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA0IC0gSWYgdGhl
IG1lZGlhIGVsZW1lbnQncyBuZXR3b3JrU3RhdGUgaXMgbm90IHNldCB0byBORVRXT1JLX0VNUFRZ
LCB0aGVuIHJ1biB0aGVzZSBzdWJzdGVwcwpAQCAtOTI2LDEwICs5MTksMTYgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgS1VSTCYgaW5pdGlhbFVSTCwgQ29udGVu
dFR5cGUmIGNvbnRlbnQKICAgICB9CiAgICAgCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAg
ICAvLyBJZiB0aGlzIGlzIGEgbWVkaWEgc291cmNlIFVSTCwgbWFrZSBzdXJlIGl0IGlzIHRoZSBv
bmUgZm9yIHRoaXMgbWVkaWEgZWxlbWVudC4KLSAgICBpZiAodXJsLnByb3RvY29sSXMobWVkaWFT
b3VyY2VVUkxQcm90b2NvbCkgJiYgdXJsICE9IG1fbWVkaWFTb3VyY2VVUkwpIHsKLSAgICAgICAg
bWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcik7Ci0gICAgICAgIHJl
dHVybjsKKyAgICBpZiAodXJsLnByb3RvY29sSXMobWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wpKSB7
CisgICAgICAgIGlmIChtX21lZGlhU291cmNlKQorICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+
c2V0UmVhZHlTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKKworICAgICAgICBt
X21lZGlhU291cmNlID0gYWRvcHRSZWYoTWVkaWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0cnkoKS5s
b29rdXBNZWRpYVNvdXJjZSh1cmwuc3RyaW5nKCkpKTsKKworICAgICAgICBpZiAobV9tZWRpYVNv
dXJjZSkgeworICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+c2V0TWVkaWFQbGF5ZXIobV9wbGF5
ZXIuZ2V0KCkpOworICAgICAgICAgICAgbV9tZWRpYVNvdXJjZVVSTCA9IHVybDsKKyAgICAgICAg
fQogICAgIH0KICNlbmRpZgogCkBAIC0xNDMxLDggKzE0MzAsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om5vbmVTdXBwb3J0ZWQoKQogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLmVy
cm9yRXZlbnQpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9zb3VyY2VT
dGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQotICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfQ0xP
U0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsK
ICNlbmRpZgogCiAgICAgLy8gOCAtIFNldCB0aGUgZWxlbWVudCdzIGRlbGF5aW5nLXRoZS1sb2Fk
LWV2ZW50IGZsYWcgdG8gZmFsc2UuIFRoaXMgc3RvcHMgZGVsYXlpbmcgdGhlIGxvYWQgZXZlbnQu
CkBAIC0xNDYzLDggKzE0NjEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5l
RXJyb3IoUGFzc1JlZlB0cjxNZWRpYUVycm9yPiBlcnIpCiAgICAgc2NoZWR1bGVFdmVudChldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlm
IChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRl
KFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRL
ZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA0IC0gU2V0IHRoZSBlbGVtZW50J3MgbmV0d29y
a1N0YXRlIGF0dHJpYnV0ZSB0byB0aGUgTkVUV09SS19FTVBUWSB2YWx1ZSBhbmQgcXVldWUgYQpA
QCAtMTcyOSw3ICsxNzI2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNv
dXJjZU9wZW5lZCgpCiB7CiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygp
OwogCi0gICAgc2V0U291cmNlU3RhdGUoU09VUkNFX09QRU4pOworICAgIHNldFNvdXJjZVN0YXRl
KE1lZGlhU291cmNlOjpvcGVuS2V5d29yZCgpKTsKIAogICAgIGVuZFByb2Nlc3NpbmdNZWRpYVBs
YXllckNhbGxiYWNrKCk7CiB9CkBAIC0xNzM4LDIyICsxNzM1LDYgQEAgU3RyaW5nIEhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9t
ZWRpYVNvdXJjZVVSTC5zdHJpbmcoKTsKIH0KLQotYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc1Zh
bGlkU291cmNlSWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17
Ci0gICAgaWYgKGlkLmlzTnVsbCgpIHx8IGlkLmlzRW1wdHkoKSkgewotICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlm
ICghbV9zb3VyY2VJRHMuY29udGFpbnMoaWQpKSB7Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC0xOTc3LDggKzE5NTgsOCBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWsoZmxvYXQgdGltZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICAvLyBBbHdheXMgbm90aWZ5IHRoZSBt
ZWRpYSBlbmdpbmUgb2YgYSBzZWVrIGlmIHRoZSBzb3VyY2UgaXMgbm90IGNsb3NlZC4gVGhpcyBl
bnN1cmVzIHRoYXQgdGhlIHNvdXJjZSBpcwogICAgIC8vIGFsd2F5cyBpbiBhIGZsdXNoZWQgc3Rh
dGUgd2hlbiB0aGUgJ3NlZWtpbmcnIGV2ZW50IGZpcmVzLgotICAgIGlmIChtX3NvdXJjZVN0YXRl
ICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICBub1NlZWtSZXF1aXJlZCA9IGZhbHNlOworICAgIGlm
IChtX21lZGlhU291cmNlICYmIG1fbWVkaWFTb3VyY2UtPnJlYWR5U3RhdGUoKSAhPSBNZWRpYVNv
dXJjZTo6Y2xvc2VkS2V5d29yZCgpKQorICAgICAgICBub1NlZWtSZXF1aXJlZCA9IGZhbHNlOwog
I2VuZGlmCiAKICAgICBpZiAobm9TZWVrUmVxdWlyZWQpIHsKQEAgLTIwMDAsOCArMTk4MSw4IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBFeGNlcHRpb25Db2RlJiBl
YykKICAgICBtX3NlbnRFbmRFdmVudCA9IGZhbHNlOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLSAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfRU5ERUQpCi0gICAgICAgIHNldFNv
dXJjZVN0YXRlKFNPVVJDRV9PUEVOKTsKKyAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiBtX21lZGlh
U291cmNlLT5yZWFkeVN0YXRlKCkgPT0gTWVkaWFTb3VyY2U6OmVuZGVkS2V5d29yZCgpKQorICAg
ICAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQoKSk7CiAjZW5kaWYK
IAogICAgIC8vIDggLSBTZXQgdGhlIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gdG8gdGhlIGdp
dmVuIG5ldyBwbGF5YmFjayBwb3NpdGlvbgpAQCAtMjM0OSwxNzUgKzIzMzAsMTIgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFsKCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCi0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQWRkSWQoY29uc3Qg
U3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBpZiAoaWQuaXNOdWxsKCkgfHwgaWQuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fc291cmNl
SURzLmNvbnRhaW5zKGlkKSkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHR5cGUuaXNOdWxsKCkgfHwgdHlwZS5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlh
U291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsKLSAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENvbnRl
bnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOwotICAgIFZlY3RvcjxTdHJpbmc+IGNvZGVjcyA9IGNv
bnRlbnRUeXBlLmNvZGVjcygpOwotCi0gICAgaWYgKCFjb2RlY3Muc2l6ZSgpKSB7Ci0gICAgICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBz
d2l0Y2ggKG1fcGxheWVyLT5zb3VyY2VBZGRJZChpZCwgY29udGVudFR5cGUudHlwZSgpLCBjb2Rl
Y3MpKSB7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6T2s6Ci0gICAgICAgIG1fc291cmNlSURzLmFk
ZChpZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpOb3RTdXBwb3J0
ZWQ6Ci0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVkSWRMaW1pdDoKLSAgICAgICAgZWMgPSBRVU9UQV9F
WENFRURFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VSZW1vdmVJ
ZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFs
aWRTb3VyY2VJZChpZCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fcGxheWVy
IHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgPT0g
U09VUkNFX0NMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNlUmVtb3ZlSWQoaWQp
KQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIG1fc291cmNlSURzLnJlbW92
ZShpZCk7Ci19Ci0KLVBhc3NSZWZQdHI8VGltZVJhbmdlcz4gSFRNTE1lZGlhRWxlbWVudDo6d2Vi
a2l0U291cmNlQnVmZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0K
LSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8
IG1fc291cmNlU3RhdGUgPT0gU09VUkNFX0NMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICByZXR1cm4gbV9wbGF5
ZXItPnNvdXJjZUJ1ZmZlcmVkKGlkKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJr
aXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBk
YXRhLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFsaWRTb3VyY2VJZChpZCwg
ZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNy
YyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsK
LSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGlmICghZGF0YS5nZXQoKSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghZGF0YS0+bGVuZ3RoKCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0
YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkpIHsKLSAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtp
dFNvdXJjZUFib3J0KGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQogewot
ICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCisgICAgaWYgKCFtX21lZGlhU291cmNl
KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAh
PSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZUFib3J0KGlkKSkKLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci19Ci0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlRW5kT2ZT
dHJlYW0odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBp
ZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291
cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIE1lZGlhUGxheWVyOjpFbmRPZlN0cmVh
bVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsKLQotICAgIHN3aXRj
aCAoc3RhdHVzKSB7Ci0gICAgY2FzZSBFT1NfTk9fRVJST1I6Ci0gICAgICAgIGVvc1N0YXR1cyA9
IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVPU19O
RVRXT1JLX0VSUjoKLSAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05ldHdvcmtF
cnJvcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFT1NfREVDT0RFX0VSUjoKLSAgICAgICAg
ZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOwotICAgICAgICBicmVhazsK
LSAgICBkZWZhdWx0OgotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfRU5ERUQpOwotICAgIG1fcGxheWVy
LT5zb3VyY2VFbmRPZlN0cmVhbShlb3NTdGF0dXMpOwotfQotCi1IVE1MTWVkaWFFbGVtZW50OjpT
b3VyY2VTdGF0ZSBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VTdGF0ZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fc291cmNlU3RhdGU7Ci19Ci0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2V0U291cmNlU3RhdGUoU291cmNlU3RhdGUgc3RhdGUpCi17Ci0gICAgU291cmNlU3RhdGUgb2xk
U3RhdGUgPSBtX3NvdXJjZVN0YXRlOwotICAgIG1fc291cmNlU3RhdGUgPSBzdGF0aWNfY2FzdDxT
b3VyY2VTdGF0ZT4oc3RhdGUpOwotCi0gICAgaWYgKG1fc291cmNlU3RhdGUgPT0gb2xkU3RhdGUp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9DTE9T
RUQpIHsKLSAgICAgICAgbV9zb3VyY2VJRHMuY2xlYXIoKTsKLSAgICAgICAgc2NoZWR1bGVFdmVu
dChldmVudE5hbWVzKCkud2Via2l0c291cmNlY2xvc2VFdmVudCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBpZiAob2xkU3RhdGUgPT0gU09VUkNFX09QRU4gJiYgbV9zb3VyY2VTdGF0
ZSA9PSBTT1VSQ0VfRU5ERUQpIHsKLSAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCku
d2Via2l0c291cmNlZW5kZWRFdmVudCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfT1BFTikgewotICAgICAgICBzY2hlZHVsZUV2ZW50
KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VvcGVuRXZlbnQpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQorICAgIG1fbWVkaWFTb3VyY2UtPnNldFJlYWR5U3RhdGUoc3RhdGUpOwogfQogI2VuZGlm
CiAKQEAgLTM3NjcsOCArMzU4NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXNlckNhbmNl
bGxlZExvYWQoKQogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOwog
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VS
Q0VfQ0xPU0VEKQotICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfQ0xPU0VEKTsKKyAgICBz
ZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKICNlbmRpZgogCiAg
ICAgLy8gNCAtIElmIHRoZSBtZWRpYSBlbGVtZW50J3MgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgaGFz
IGEgdmFsdWUgZXF1YWwgdG8gSEFWRV9OT1RISU5HLCBzZXQgdGhlIApAQCAtNDI3Miw2ICs0MDg5
LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKQogICAgICAg
ICAKICAgICBtX3BsYXllciA9IE1lZGlhUGxheWVyOjpjcmVhdGUodGhpcyk7CiAKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQorICAgIGlmIChtX21lZGlhU291cmNlKQorICAgICAgICBtX21lZGlh
U291cmNlLT5zZXRNZWRpYVBsYXllcihtX3BsYXllci5nZXQoKSk7CisjZW5kaWYKKwogI2lmIEVO
QUJMRShXRUJfQVVESU8pCiAgICAgaWYgKG1fYXVkaW9Tb3VyY2VOb2RlKSB7CiAgICAgICAgIC8v
IFdoZW4gY3JlYXRpbmcgdGhlIHBsYXllciwgbWFrZSBzdXJlIGl0cyBBdWRpb1NvdXJjZVByb3Zp
ZGVyIGtub3dzIGFib3V0IHRoZSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDMzNWJmYmQzNjQxMzI5ZTU2YjJhYWQ5
NGVhODk0OGVlYTMxZjU4YTQuLmYzNDcyMjQ3YTkyZjk1YzdjNzE0Yjk2YjY5NGI4ZDRkNTQxYWNh
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00NSw2ICs0NSwx
MCBAQAogI2luY2x1ZGUgIlRleHRUcmFja0N1ZS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKQEAgLTE3NSwyMCArMTc5LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEgU291cmNlLgogICAg
IGNvbnN0IEtVUkwmIHdlYmtpdE1lZGlhU291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9tZWRp
YVNvdXJjZVVSTDsgfQotICAgIHZvaWQgd2Via2l0U291cmNlQWRkSWQoY29uc3QgU3RyaW5nJiwg
Y29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgd2Via2l0U291cmNlUmVt
b3ZlSWQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIFBhc3NSZWZQdHI8VGlt
ZVJhbmdlcz4gd2Via2l0U291cmNlQnVmZmVyZWQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgd2Via2l0U291
cmNlQWJvcnQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIGVudW0gRW5kT2ZT
dHJlYW1TdGF0dXMgeyBFT1NfTk9fRVJST1IsIEVPU19ORVRXT1JLX0VSUiwgRU9TX0RFQ09ERV9F
UlIgfTsKLSAgICB2b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHVuc2lnbmVkIHNob3J0LCBF
eGNlcHRpb25Db2RlJik7Ci0gICAgZW51bSBTb3VyY2VTdGF0ZSB7IFNPVVJDRV9DTE9TRUQsIFNP
VVJDRV9PUEVOLCBTT1VSQ0VfRU5ERUQgfTsKLSAgICBTb3VyY2VTdGF0ZSB3ZWJraXRTb3VyY2VT
dGF0ZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0U291cmNlU3RhdGUoU291cmNlU3RhdGUpOwotCi0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3VyY2VvcGVuKTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJjZWVuZGVkKTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJjZWNsb3NlKTsKKyAg
ICB2b2lkIHNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYpOwogI2VuZGlmIAogCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTQxOCw3ICs0MDksNiBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyU291cmNlT3Bl
bmVkKCk7CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdDsK
LSAgICBib29sIGlzVmFsaWRTb3VyY2VJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikg
Y29uc3Q7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC01OTYsOCAr
NTg2LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgS1VSTCBt
X21lZGlhU291cmNlVVJMOwotICAgIFNvdXJjZVN0YXRlIG1fc291cmNlU3RhdGU7Ci0gICAgSGFz
aFNldDxTdHJpbmc+IG1fc291cmNlSURzOworICAgIFJlZlB0cjxNZWRpYVNvdXJjZT4gbV9tZWRp
YVNvdXJjZTsKICNlbmRpZgogCiAgICAgbXV0YWJsZSBmbG9hdCBtX2NhY2hlZFRpbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBhYzBmYTQ2N2I0MDQ5ZTE2
M2U5MGNiNmI2M2ZhMzM3YWNiYzJlMjY0Li45ZDBhZThhNzc5OTlhNzUxYTc1Y2Q1NGRjMTUxYTkz
N2NlZTYxNmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAg
LTk4LDM1ICs5OCw2IEBAIG1vZHVsZSBodG1sIHsKICNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICYmIEVOQUJMRV9NRURJQV9TT1VSQ0UKICAgICAvLyBVUkwgcGFzc2VkIHRvIHNyYyBh
dHRyaWJ1dGUgdG8gZW5hYmxlIHRoZSBtZWRpYSBzb3VyY2UgbG9naWMuCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2UsIFVSTF0gRE9NU3RyaW5n
IHdlYmtpdE1lZGlhU291cmNlVVJMOwotCi0gICAgLy8gTWFuYWdlcyBJRHMgZm9yIGFwcGVuZGlu
ZyBtZWRpYSB0byB0aGUgc291cmNlLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3Vy
Y2VdIHZvaWQgd2Via2l0U291cmNlQWRkSWQoaW4gRE9NU3RyaW5nIGlkLCBpbiBET01TdHJpbmcg
dHlwZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVk
aWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlUmVtb3ZlSWQoaW4gRE9NU3RyaW5nIGlkKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBSZXR1cm5zIHRoZSB0aW1lIHJhbmdlcyBidWZm
ZXJlZCBmb3IgYSBzcGVjaWZpYyBzb3VyY2UgSUQuCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1t
ZWRpYVNvdXJjZV0gVGltZVJhbmdlcyB3ZWJraXRTb3VyY2VCdWZmZXJlZChpbiBET01TdHJpbmcg
aWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICAKLSAgICAvLyBBcHBlbmRzIHNlZ21lbnQg
ZGF0YS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNv
dXJjZUFwcGVuZChpbiBET01TdHJpbmcgaWQsIGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwotCi0gICAgLy8gQWJvcnRzIHRoZSBjdXJyZW50IHNlZ21lbnQuCi0gICAg
W1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBYm9ydChp
biBET01TdHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgIC8vIFNpZ25hbHMg
dGhlIGVuZCBvZiBzdHJlYW0uCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0g
Y29uc3QgdW5zaWduZWQgc2hvcnQgRU9TX05PX0VSUk9SID0gMDsgLy8gRW5kIG9mIHN0cmVhbSBy
ZWFjaGVkIHcvbyBlcnJvci4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBj
b25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTkVUV09SS19FUlIgPSAxOyAvLyBBIG5ldHdvcmsgZXJy
b3IgdHJpZ2dlcmVkIGVuZCBvZiBzdHJlYW0uCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRp
YVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgRU9TX0RFQ09ERV9FUlIgPSAyOyAvLyBBIGRl
Y29kZSBlcnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50
aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKGluIHVuc2lnbmVk
IHNob3J0IHN0YXR1cykgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0gICAgLy8gSW5kaWNhdGVz
IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBtZWRpYSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0
UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX0NMT1NFRCA9
IDA7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQg
c2hvcnQgU09VUkNFX09QRU4gPSAxOwotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3Vy
Y2VdIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNPVVJDRV9FTkRFRCA9IDI7Ci0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHVuc2lnbmVkIHNob3J0
IHdlYmtpdFNvdXJjZVN0YXRlOwotCi0gICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9
bWVkaWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRzb3VyY2VvcGVuOwotICAgIGF0dHJp
YnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBFdmVudExpc3RlbmVyIG9ud2Vi
a2l0c291cmNlZW5kZWQ7Ci0gICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFT
b3VyY2VdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRzb3VyY2VjbG9zZTsKICNlbmRpZgogCiAjaWYg
ZGVmaW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5DUllQVEVEX01FRElB
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOTg2Y2JkODgyYmM4Y2U2MDFmNmE5ZDdk
NmZkZGUwZjE5MWY1Zjg0ZC4uNjkzYjQ5MzlmYzg3YmNjMmNkOWViZDExMzU1NjNmYzEzYTRhMmQ4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzgxLDYgKzc4MSwxMCBAQCBtb2R1
bGUgd2luZG93IHsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1VVEFUSU9OX09C
U0VSVkVSU10gTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXI7CiAKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsIFY4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gTWVkaWFTb3VyY2VDb25zdHJ1Y3RvciBNZWRpYVNv
dXJjZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsIFY4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gU291cmNlQnVmZmVyQ29uc3RydWN0b3IgU291cmNl
QnVmZmVyOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJMaXN0Q29uc3RydWN0b3Ig
U291cmNlQnVmZmVyTGlzdDsKKwogI2VuZGlmIC8vIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQ
VCkKIAogI2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRmZThh
ZGNhNTA3OTc0ZThiYzBlYzIwOTZjMjgzNmE3ZjhjZWUwMTIuLjg3NzcyOTYxM2MxYWExZTMwMWU0
NjBiNDUxY2IyMjBkNzZhNTIyMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMi0wNy0xOSAg
QW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXBkYXRlIE1l
ZGlhIFNvdXJjZSB0byB0aGUgbmV3IE9PIGRlc2lnbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyByZWZsZWN0IHRoZSBuZXcgTWVkaWFT
b3VyY2UgQVBJOgorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXct
ZmlsZS90aXAvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanM6CisgICAgICAgIChNZWRp
YVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcik6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKE1lZGlhU291
cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRJbml0U2VnbWVudCk6CisgICAg
ICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kTWVkaWFT
ZWdtZW50KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlw
ZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5zZXRT
cmNUb01lZGlhU291cmNlVGVzdFVSTCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QucnVuT25T
b3VyY2VPcGVuLmV2ZW50SGFuZGxlckZ1bmN0aW9uKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVz
dC5ydW5PblNvdXJjZU9wZW4pOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0
YXRlKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSk6CisgICAg
ICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFi
b3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVy
cy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4cGVj
dGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFu
ZC1yZW1vdmUtaWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVy
cm9ycy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0
cmlidXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRt
bDoKKwogMjAxMi0wNy0xOSAgTHVjaWFubyBXb2xmICA8bHVjaWFuby53b2xmQG9wZW5ib3NzYS5v
cmc+CiAKICAgICAgICAgW1F0XSBbUGFydCAzXSBwbGF0Zm9ybS9xdC9jc3MxIHRlc3RzIG5lZWRz
IHVwZGF0ZSBhZnRlciByZWJhc2VsaW5lIGFuZCBuZXcgdGVzdGZvbnRzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Uu
anMKaW5kZXggNmRiYjdjYWExMTljN2Y5YzEzN2E5YTExZjY4YTI5ZWMwNjdmYWQyNS4uOTVkM2Iz
NGJmOTA1YmE4ZmU4ZGQ0MjViODI5ZmRiZjQ2MmFlZDFhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwpA
QCAtMSw5ICsxLDEwIEBACiB2YXIgTWVkaWFTb3VyY2VUZXN0ID0ge307Cit2YXIgbWVkaWFTb3Vy
Y2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIg
PSBmdW5jdGlvbihzZWdtZW50SW5mbykKIHsKICAgICB0aGlzLk1lZGlhU2VnbWVudHNUb0xvYWQg
PSAwOwotICAgIHRoaXMuU291cmNlSUQgPSAnc291cmNlSWQnOworICAgIHRoaXMuc291cmNlQnVm
ZmVyID0gbnVsbDsKIAogICAgIHRoaXMudmlkZW9UYWcgPSBudWxsOwogICAgIHRoaXMuc2VnbWVu
dEluZm8gPSBzZWdtZW50SW5mbzsKQEAgLTEyMSwzMiArMTIyLDMyIEBAIE1lZGlhU291cmNlVGVz
dC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5nZXREYXRhXyA9IGZ1bmN0aW9uICh1cmwsIHN0YXJ0
LCBsZW5ndGgsCiAgICAgcmVxdWVzdC5zZW5kKCk7CiB9OwogCi1NZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlSWQgPSBmdW5jdGlvbigpCitNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlQnVmZmVyID0gZnVuY3Rpb24o
KQogewotICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQodGhpcy5Tb3VyY2VJRCwg
dGhpcy5zZWdtZW50SW5mby50eXBlKTsKKyAgICB0aGlzLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291
cmNlLmFkZFNvdXJjZUJ1ZmZlcih0aGlzLnNlZ21lbnRJbmZvLnR5cGUpOwogfTsKIAogTWVkaWFT
b3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZEluaXRTZWdtZW50ID0gZnVu
Y3Rpb24oKQogewotICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHRoaXMuU291
cmNlSUQsIHRoaXMuaW5pdFNlZ21lbnQpOworICAgIHRoaXMuc291cmNlQnVmZmVyLmFwcGVuZCh0
aGlzLmluaXRTZWdtZW50KTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnBy
b3RvdHlwZS5hcHBlbmRNZWRpYVNlZ21lbnQgPSBmdW5jdGlvbihpbmRleCkKIHsKLSAgICB0aGlz
LnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCh0aGlzLlNvdXJjZUlELCB0aGlzLm1lZGlhU2Vn
bWVudHNbaW5kZXhdKTsKKyAgICB0aGlzLnNvdXJjZUJ1ZmZlci5hcHBlbmQodGhpcy5tZWRpYVNl
Z21lbnRzW2luZGV4XSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90
b3R5cGUuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSA9IGZ1bmN0aW9uKHN0YXJ0SW5kZXgpCiB7Ci0g
ICAgaWYgKCF0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCkgewotICAgICAgICBmYWls
VGVzdCgid2Via2l0U291cmNlQXBwZW5kKCkgaXMgbm90IGF2YWlsYWJsZSIpOworICAgIGlmICgh
dGhpcy5zb3VyY2VCdWZmZXIpIHsKKyAgICAgICAgZmFpbFRlc3QoIk1lZGlhU291cmNlIEFQSSBp
cyBub3QgYXZhaWxhYmxlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBmb3IgKHZh
ciBpbmRleCA9IHN0YXJ0SW5kZXg7IGluZGV4IDwgdGhpcy5tZWRpYVNlZ21lbnRzLmxlbmd0aDsg
aW5kZXgrKykKICAgICAgICAgdGhpcy5hcHBlbmRNZWRpYVNlZ21lbnQoaW5kZXgpOwogCi0gICAg
dGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh0aGlzLnZpZGVvVGFnLkVPU19O
T19FUlJPUik7CisgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKIH07CiAKIE1lZGlhU291
cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5nZXRUaW1lRm9yTWVkaWFTZWdtZW50ID0g
ZnVuY3Rpb24oaW5kZXgpCkBAIC0xNzYsNyArMTc3LDcgQEAgTWVkaWFTb3VyY2VUZXN0LnNldFNy
Y1RvTWVkaWFTb3VyY2VUZXN0VVJMID0gZnVuY3Rpb24odmlkZW9UYWcpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICB2aWRlb1RhZy5zcmMgPSB2aWRlb1RhZy53ZWJraXRNZWRpYVNvdXJj
ZVVSTDsKKyAgICB2aWRlb1RhZy5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKG1lZGlh
U291cmNlKTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5tZWRpYUVycm9yU3RyaW5nID0gZnVuY3Rp
b24odmlkZW9UYWcpCkBAIC0yMDYsOSArMjA3LDkgQEAgTWVkaWFTb3VyY2VUZXN0LmRlZmF1bHRP
bkVycm9yQ2hlY2tzID0gZnVuY3Rpb24oZXZlbnQpCiAKICAgICBjb25zb2xlV3JpdGUoIkVWRU5U
KGVycm9yKSA6ICIgKyBNZWRpYVNvdXJjZVRlc3QubWVkaWFFcnJvclN0cmluZyh2aWRlb1RhZykp
OwogCi0gICAgaWYgKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlICE9IEhUTUxNZWRpYUVsZW1l
bnQuU09VUkNFX0NMT1NFRCkgewotICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgc291
cmNlIHN0YXRlLiBFeHBlY3RlZCBTT1VSQ0VfQ0xPU0VEIiArCi0gICAgICAgICAgICAgICAgICAg
ICAiIGdvdCAiICsgZ2V0U291cmNlU3RhdGVOYW1lKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRl
KSk7CisgICAgaWYgKG1lZGlhU291cmNlLnJlYWR5U3RhdGUgIT0gImNsb3NlZCIpIHsKKyAgICAg
ICAgY29uc29sZVdyaXRlKCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgJ2Nsb3Nl
ZCciICsKKyAgICAgICAgICAgICAgICAgICAgICIgZ290ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0
YXRlKTsKICAgICB9CiB9OwogCkBAIC0yNzAsNDIgKzI3MSwzMiBAQCBNZWRpYVNvdXJjZVRlc3Qu
cnVuT25Tb3VyY2VPcGVuID0gZnVuY3Rpb24odmlkZW9UYWcsIG9uT3BlbkZ1bmN0aW9uKQogewog
ICAgIHZhciBldmVudEhhbmRsZXJGdW5jdGlvbiA9IGZ1bmN0aW9uIChldmVudCkKICAgICB7Cisg
ICAgICAgIGlmICh2aWRlb1RhZy5uZXR3b3JrU3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5ORVRX
T1JLX0xPQURJTkcgJiYKKyAgICAgICAgICAgIHZpZGVvVGFnLm5ldHdvcmtTdGF0ZSAhPSBIVE1M
TWVkaWFFbGVtZW50Lk5FVFdPUktfSURMRSkgeworICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhw
ZWN0ZWQgbmV0d29yayBzdGF0ZS4gRXhwZWN0ZWQgIiArCisgICAgICAgICAgICAgICAgICAgICBI
VE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfTE9BRElORyArICIgb3IgIiArCisgICAgICAgICAgICAg
ICAgICAgICBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfSURMRSArCisgICAgICAgICAgICAgICAg
ICAgICAiIGdvdCAiICsgdmlkZW9UYWcucmVhZHlTdGF0ZSk7CisgICAgICAgIH0KICAgICAgICAg
ZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVu
dEhhbmRsZXJGdW5jdGlvbik7CiAgICAgICAgIG9uT3BlbkZ1bmN0aW9uKCk7CiAgICAgfTsKLSAg
ICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgZXZlbnRIYW5k
bGVyRnVuY3Rpb24pOwotICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVz
dFVSTCh2aWRlb1RhZyk7Ci19OwogCi1NZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUgPSBm
dW5jdGlvbih2aWRlb1RhZykKLXsKLSAgICBjb25zb2xlV3JpdGUoIndlYmtpdFNvdXJjZVN0YXRl
IDogIiArIE1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0
U291cmNlU3RhdGUpKTsKKyAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOworICAgIE1lZGlhU291cmNlVGVzdC5z
ZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiB9OwogCi1NZWRpYVNvdXJjZVRl
c3QuZXhwZWN0U291cmNlU3RhdGUgPSBmdW5jdGlvbih2aWRlb1RhZywgZXhwZWN0ZWQpCitNZWRp
YVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRpYVNvdXJjZSkKIHsKLSAg
ICBpZiAodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUgIT0gZXhwZWN0ZWQpIHsKLSAgICAgICAg
ZmFpbFRlc3QoIlVuZXhwZWN0ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAiICsKLSAgICAgICAg
ICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShleHBlY3RlZCkgKwot
ICAgICAgICAgICAgICAgICAiIGdvdCAiICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRl
TmFtZSh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSkpOwotICAgIH0KKyAgICBjb25zb2xlV3Jp
dGUoIndlYmtpdFNvdXJjZVN0YXRlIDogIiArIG1lZGlhU291cmNlLnJlYWR5U3RhdGUpOwogfTsK
IAotTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZSA9IGZ1bmN0aW9uKHN0YXRlKQor
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlID0gZnVuY3Rpb24obWVkaWFTb3VyY2Us
IGV4cGVjdGVkKQogewotICAgIHZhciBzdGF0ZU5hbWUgPSAiVU5LTk9XTiI7Ci0gICAgc3dpdGNo
IChzdGF0ZSkgewotICAgICAgICBjYXNlIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRDoK
LSAgICAgICAgICAgIHN0YXRlTmFtZSA9ICJTT1VSQ0VfQ0xPU0VEIjsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU46Ci0gICAgICAg
ICAgICBzdGF0ZU5hbWUgPSAiU09VUkNFX09QRU4iOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfRU5ERUQ6Ci0gICAgICAgICAgICBzdGF0
ZU5hbWUgPSAiU09VUkNFX0VOREVEIjsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGlmIChtZWRp
YVNvdXJjZS5yZWFkeVN0YXRlICE9IGV4cGVjdGVkKSB7CisgICAgICAgIGZhaWxUZXN0KCJVbmV4
cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgIiArIGV4cGVjdGVkICsKKyAgICAgICAgICAg
ICAgICAgIiBnb3QgIiArIG1lZGlhU291cmNlLnJlYWR5U3RhdGUpOwogICAgIH0KLSAgICByZXR1
cm4gc3RhdGVOYW1lOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFJlYWR5U3RhdGUgPSBm
dW5jdGlvbih2aWRlb1RhZywgZXhwZWN0ZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCA2NThmZjcxMTZlMTM3MWY2ZGMz
NTY3YWRmYzU0ODg1YTVmMTI0OWJlLi5jNWQyOGJmYTIyN2JjMDJmNTFkMjUyYzE1YjhiY2E4MjEz
NzhmNWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9y
dC1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw2IEBAIFRlc3RzIHdlYmtpdFNvdXJjZUFib3J0KCkg
ZnVuY3Rpb25hbGl0eQogCiAKIHJ1bm5pbmcgYWJvcnREdXJpbmdJbml0U2VnbWVudAotRVZFTlQo
bG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgZHVyaW5n
IGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCiBBcHBlbmRpbmcgcGFydGlhbCBpbml0aWFsaXphdGlv
biBzZWdtZW50LgpAQCAtMTMsNyArMTIsNiBAQCBFVkVOVChsb2FkZWRkYXRhKQogCiBydW5uaW5n
IGFib3J0RHVyaW5nTWVkaWFTZWdtZW50CiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0
KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgaW4gdGhlIG1pZGRsZSBv
ZiBhIG1lZGlhIHNlZ21lbnQuCiBBcHBlbmRpbmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFib3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAppbmRleCA0ODljOTVhOTk4
YzA1ODJjNmYwNjBhNTc2NjljMTZlNmIwODY5ODMyLi4zMTgxNDU2YThiNWNlNmE0YTQyNGNiMWQy
ZTE3MTBmYmJmMzJlNjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJv
cnQuaHRtbApAQCAtOSw3ICs5LDcgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gYWJvcnREdXJp
bmdJbml0U2VnbWVudChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCiAgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IGFib3J0aW5nIGR1cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50
LiIpOwogICAgICAgICAgICAgICAgIHRyeSB7CkBAIC0xNywxMCArMTcsMTAgQEAKICAgICAgICAg
ICAgICAgICAgICAgdmFyIHBhcnRpYWxJbml0U2VnbWVudCA9IGluaXRTZWdtZW50LnN1YmFycmF5
KDAsIGluaXRTZWdtZW50Lmxlbmd0aCAvIDIpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiQXBwZW5kaW5nIHBhcnRpYWwgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNlZ21lbnRIZWxw
ZXIuU291cmNlSUQsIHBhcnRpYWxJbml0U2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVuZChwYXJ0aWFsSW5pdFNlZ21lbnQpOwogCiAg
ICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQWJvcnRpbmcgYXBwZW5kLiIpOwotICAg
ICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVy
LlNvdXJjZUlEKTsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZm
ZXIuYWJvcnQoKTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGlu
ZyBmdWxsIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7CiAgICAgICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKQEAgLTQyLDcgKzQyLDcgQEAKIAogICAg
ICAgICAgICAgZnVuY3Rpb24gYWJvcnREdXJpbmdNZWRpYVNlZ21lbnQocnVuTmV4dFRlc3RDYXNl
LCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVy
LmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VC
dWZmZXIoKTsKIAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBp
biB0aGUgbWlkZGxlIG9mIGEgbWVkaWEgc2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkg
ewpAQCAtNTEsMTAgKzUxLDEwIEBACiAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsTWVk
aWFTZWdtZW50ID0gbWVkaWFTZWdtZW50LnN1YmFycmF5KDAsIG1lZGlhU2VnbWVudC5sZW5ndGgg
LyAyKTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0
aWFsIG1lZGlhIHNlZ21lbnQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtp
dFNvdXJjZUFwcGVuZChzZWdtZW50SGVscGVyLlNvdXJjZUlELCBwYXJ0aWFsTWVkaWFTZWdtZW50
KTsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5k
KHBhcnRpYWxNZWRpYVNlZ21lbnQpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiQWJvcnRpbmcgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVyLlNvdXJjZUlEKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYWJvcnQoKTsKIAogICAgICAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmdWxsIG1lZGlhIHNlZ21lbnQuIik7CiAgICAg
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwpAQCAt
NzcsMTEgKzc3LDEwIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlh
RWxlbWVudCgpOwogCi0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRlZGRhdGEnKTsKLSAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNv
dXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBt
ZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
YWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUt
YnVmZmVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzUxZjkxYjVmOWZlYTMzODU1ZDVjZDBi
MDMzODgzMzkwMWJmYzBmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1i
dWZmZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ3IEBACitUZXN0cyB3ZWJraXRTb3VyY2VB
ZGRJZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzCisKK1Rlc3QgYWRkaW5nIGFu
IElEIHdoaWxlIGNsb3NlZC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZlckZhaWx1
cmVDYXNlcworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgZW1wdHkgdHlwZS4KK0dvdCBl
eHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlv
biAxNQorVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBF
cnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQorVGVzdCBhIHN1cHBvcnRl
ZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29kZWMuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9u
IEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitUZXN0IHJlYWNoaW5n
IHNvdXJjZUlEIGxpbWl0LgorVGVzdCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRkZWQg
d2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0UmVtb3Zl
TnVsbEJ1ZmZlcgorRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgbnVsbCBidWZmZXIgY2Fz
ZQorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00g
RXhjZXB0aW9uIDE1CisKK3J1bm5pbmcgdGVzdFJlbW92ZUFnYWluCitFVkVOVCh3ZWJraXRzb3Vy
Y2VvcGVuKQorVGVzdCByZW1vdmluZyBhIGJ1ZmZlciB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQu
CitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RSZW1vdmVCdWZmZXJBZnRlckVuZGVkCitFVkVOVCh3
ZWJraXRzb3VyY2VvcGVuKQorVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdoaWxl
IGluIHRoZSBlbmRlZCBzdGF0ZS4KKworcnVubmluZyB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1vdmlu
ZworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRk
ZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4KK1VuZXhwZWN0ZWQgZXhjZXB0aW9uOiBFcnJv
cjogUVVPVEFfRVhDRUVERURfRVJSOiBET00gRXhjZXB0aW9uIDIyCisKK3J1bm5pbmcgdGVzdEFw
cGVuZEZhaWx1cmVDYXNlcworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgYSBzdWNjZXNz
ZnVsIGFwcGVuZC4KK1Rlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4KK0dvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQor
VGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorVGVzdCBhcHBlbmQgYWZ0ZXIgYnVm
ZmVyIGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZB
TElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1i
dWZmZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkwZmQ0NTA3YjY2ZDQxY2U5N2QwMTIwMmNkYjRhMmQz
ZjI5MDdjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0
bWwKQEAgLTAsMCArMSwyMDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3Vy
Y2Uvd2VibS9zZWdtZW50LWluZm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
bWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
IHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdl
Yk1TZWdtZW50SW5mby50ZXN0V2ViTSk7CisgICAgICAgICAgICB2YXIgZGVmYXVsdFNvdXJjZU1p
bWV0eXBlID0gc2VnbWVudEhlbHBlci5zZWdtZW50SW5mby50eXBlOworCisgICAgICAgICAgICBm
dW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcih0eXBlLCBlcnJvcikKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcih0eXBlKTsK
KyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCEo
ZS5jb2RlID09IGVycm9yKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVu
ZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRocm93
IGU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uUmVt
b3ZlQnVmZmVyKGJ1ZmZlciwgZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVy
KGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNl
cHRpb24iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZh
aWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNl
cHRpb25PbkFwcGVuZChidWYsIGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFw
cGVuZChidWYpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhj
ZXB0aW9uIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBm
YWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1
ZmZlcldoaWxlQ2xvc2VkKHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xvc2VkLiIpOworICAgICAg
ICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlw
ZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcyhydW5OZXh0VGVzdENh
c2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBlbXB0eSB0eXBlLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9u
QWRkQnVmZmVyKCIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLiIpOworICAg
ICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCJhdWRpby94LXVuc3VwcG9y
dGVkLWZvcm1hdCIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7CisKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3Vw
cG9ydGVkIGNvZGVjLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVm
ZmVyKCJ2aWRlby93ZWJtOyBjb2RlY3M9XCJ2cDgsIHNwZWV4XCIiLCBET01FeGNlcHRpb24uTk9U
X1NVUFBPUlRFRF9FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJl
YWNoaW5nIHNvdXJjZUlEIGxpbWl0LiIpOworICAgICAgICAgICAgICAgIHZhciByZWFjaGVkSWRM
aW1pdCA9IGZhbHNlOworCisgICAgICAgICAgICAgICAgLy8gVGhlIDIwIGhlcmUgaXMgYW4gYXJi
aXRyYXJ5IHVwcGVyIGxpbWl0IHRvIG1ha2Ugc3VyZSB0aGUgdGVzdCB0ZXJtaW5hdGVzLiBUaGlz
IHRlc3QKKyAgICAgICAgICAgICAgICAvLyBhc3N1bWVzIHRoYXQgaW1wbGVtZW50YXRpb25zIHdv
bid0IHN1cHBvcnQgbW9yZSB0aGFuIDIwIHNvdXJjZUlEJ3Mgc2ltdWx0YW5lb3VzbHkuCisgICAg
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRTb3Vy
Y2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgfSBj
YXRjaChlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5jb2RlICE9IERPTUV4Y2Vw
dGlvbi5RVU9UQV9FWENFRURFRF9FUlIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
YWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgICAgICByZWFjaGVkSWRMaW1pdCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGlmICghcmVhY2hlZElkTGltaXQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZmFpbFRlc3QoIkZhaWxlZCB0byByZWFjaCBTb3VyY2VJRCBsaW1pdC4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRkZWQgd2hp
bGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVu
ZE9mU3RyZWFtKCk7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIo
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwor
CisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOdWxsQnVmZmVyKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IG51bGwgYnVmZmVyIGNhc2UiKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25P
blJlbW92ZUJ1ZmZlcihudWxsLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKwor
ICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQWdhaW4ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1Rh
ZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVt
b3ZpbmcgYSBidWZmZXIgdGhhdCB3YXMgYWxyZWFkeSByZW1vdmVkLiIpOworICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVm
ZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
cmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKyAgICAgICAg
ICAgICAgICBleHBlY3RFeGNlcHRpb25PblJlbW92ZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJj
ZUJ1ZmZlciwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAg
ICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJFbmRlZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFn
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0
IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFk
ZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVt
b3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKworICAgICAgICAg
ICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1vdmluZyhydW5OZXh0VGVzdENhc2UsIHZpZGVv
VGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0
aGF0IGEgYnVmZmVyIGNhbiBiZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLiIpOwor
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2Uu
YWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVy
KTsKKworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRI
ZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRT
b3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcHBlbmRGYWlsdXJlQ2Fz
ZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICB2YXIgaW5pdFNlZ21lbnQgPSBzZWdtZW50SGVscGVyLmluaXRTZWdtZW50OworICAgICAg
ICAgICAgICAgIHZhciBtZWRpYVNlZ21lbnQgPSBzZWdtZW50SGVscGVyLm1lZGlhU2VnbWVudHNb
MF07CisKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlh
U291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworCisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7CisgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKGluaXRTZWdtZW50
KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51
bGwgYnVmZmVyLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKG51
bGwsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBlbmRlZC4iKTsKKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2Vw
dGlvbk9uQXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIp
OworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBidWZm
ZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1v
dmVTb3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOworICAgICAgICAgICAg
ICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5W
QUxJRF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAg
ICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJj
ZSk7CisKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9u
KHN1Y2Nlc3MpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN1
Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9h
ZCBzZWdtZW50IGRhdGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRCdWZmZXJXaGls
ZUNsb3NlZCh2aWRlbyk7CisKKyAgICAgICAgICAgICAgICAgICAgdmFyIHRlc3RDYXNlcyA9IFsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSZW1vdmVBZ2FpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
ZW1vdmVCdWZmZXJBZnRlckVuZGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZEJ1
ZmZlckFmdGVyUmVtb3ZpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QXBwZW5kRmFp
bHVyZUNhc2VzLAorICAgICAgICAgICAgICAgICAgICBdOworCisgICAgICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5zdGFydFNvdXJjZU9wZW5UZXN0aW5nKHZpZGVvLCB0ZXN0Q2FzZXMp
OworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CisgICAgICAgIDx2aWRl
bz4gPC92aWRlbz4KKyAgICAgICAgPHA+VGVzdHMgd2Via2l0U291cmNlQWRkSWQoKSAmYW1wOyB3
ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHM8L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtaWRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzA4NTkxMWE4ZjU3Y2JkMTQxZWY3OGRmZmZjNTZiZWE1ODgyNmQ2ZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRz
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLVRlc3RzIHdlYmtp
dFNvdXJjZUFkZElkKCkgJiB3ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHMKLQotVGVzdCBh
ZGRpbmcgYW4gSUQgd2hpbGUgY2xvc2VkLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKLQotcnVubmluZyB0ZXN0QWRkSWRG
YWlsdXJlQ2FzZXMKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1U
ZXN0IGVtcHR5IElEIGNhc2UKLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
QUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhZGRpbmcgdGhlIHNhbWUgSUQgYWdh
aW4uCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQotVGVzdCBlbXB0eSB0eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGFuIHVuc3Vw
cG9ydGVkIHR5cGUuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVE
X0VSUjogRE9NIEV4Y2VwdGlvbiA5Ci1UZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1bnN1
cHBvcnRlZCBjb2RlYy4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JU
RURfRVJSOiBET00gRXhjZXB0aW9uIDkKLVRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuCi1U
ZXN0IHRoYXQgU291cmNlSURzIGNhbid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0
ZS4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00g
RXhjZXB0aW9uIDExCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUVtcHR5SWQKLUVWRU5UKGxvYWRzdGFy
dCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IGVtcHR5IElEIGNhc2UKLUdvdCBleHBl
Y3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAx
NQotCi1ydW5uaW5nIHRlc3RSZW1vdmVOb25leGlzdGVudElkCi1FVkVOVChsb2Fkc3RhcnQpCi1F
VkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBuZXZl
ciBhZGRlZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBF
eGNlcHRpb24gMTIKLQotcnVubmluZyB0ZXN0UmVtb3ZlQWdhaW4KLUVWRU5UKGxvYWRzdGFydCkK
LUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIGFs
cmVhZHkgcmVtb3ZlZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6
IERPTSBFeGNlcHRpb24gMTIKLQotcnVubmluZyB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkCi1FVkVO
VChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCB0aGF0IGFuIElEIGNh
biBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KLQotcnVubmluZyB0ZXN0QWRk
SWRBZnRlclJlbW92aW5nCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVu
KQotVGVzdCB0aGF0IGFuIElEIGNhbiBiZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVk
LgotVW5leHBlY3RlZCBleGNlcHRpb246IEVycm9yOiBRVU9UQV9FWENFRURFRF9FUlI6IERPTSBF
eGNlcHRpb24gMjIKLQotcnVubmluZyB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzCi1FVkVOVChsb2Fk
c3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJ
RC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNQotVGVzdCBhcHBlbmQgd2l0aCBhbiBpbnZhbGlkIElECi1Hb3QgZXhwZWN0
ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi1UZXN0IGFw
cGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYSBzdWNjZXNzZnVsIGFw
cGVuZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNl
cHRpb24gMTIKLUVORCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1p
ZHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggODIzNzlmNWNhNzFmN2I1ODA2ZmRlNDlmNjc2MWJmMDk2MmVhYTNlNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtaWRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1y
ZXNvdXJjZXMvdmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIv
bWVkaWEvcmVzb3VyY2VzL21lZGlhLXNvdXJjZS93ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3Jp
cHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgotICAg
ICAgICA8c2NyaXB0PgotICAgICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFT
b3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKLSAgICAg
ICAgICAgIHZhciBkZWZhdWx0U291cmNlTWltZXR5cGUgPSBzZWdtZW50SGVscGVyLnNlZ21lbnRJ
bmZvLnR5cGU7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQo
dmlkZW9UYWcsIGlkLCB0eXBlLCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZChp
ZCwgdHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNl
cHRpb24iKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZh
aWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNl
cHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCBpZCwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlUmVtb3ZlSWQoaWQpOwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQg
YW4gZXhjZXB0aW9uIik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhw
ZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsIGlkLCBidWYsIGVycm9yKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFn
LndlYmtpdFNvdXJjZUFwcGVuZChpZCwgYnVmKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRl
c3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9u
ICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3RBZGRJZFdoaWxlQ2xvc2VkKHZpZGVvVGFnKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xv
c2VkLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcs
ICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRJZEZh
aWx1cmVDYXNlcyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIiIsIGRlZmF1bHRTb3Vy
Y2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1p
bWV0eXBlKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgdGhl
IHNhbWUgSUQgYWdhaW4uIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJ
ZCh2aWRlb1RhZywgIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklO
VkFMSURfU1RBVEVfRVJSKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VS
ZW1vdmVJZCgiMTIzIik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1w
dHkgdHlwZS4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVv
VGFnLCAiMjM0IiwgIiIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuIik7Ci0g
ICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjIzNCIsICJh
dWRpby94LXVuc3VwcG9ydGVkLWZvcm1hdCIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VS
Uik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdXBwb3J0ZWQgdHlw
ZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIyMzQiLCAidmlkZW8vd2VibTsgY29kZWNzPVwidnA4
LCBzcGVleFwiIiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKLQotICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4iKTsKLSAg
ICAgICAgICAgICAgICB2YXIgcmVhY2hlZElkTGltaXQgPSBmYWxzZTsKLQotICAgICAgICAgICAg
ICAgIC8vIFRoZSAyMCBoZXJlIGlzIGFuIGFyYml0cmFyeSB1cHBlciBsaW1pdCB0byBtYWtlIHN1
cmUgdGhlIHRlc3QgdGVybWluYXRlcy4gVGhpcyB0ZXN0Ci0gICAgICAgICAgICAgICAgLy8gYXNz
dW1lcyB0aGF0IGltcGxlbWVudGF0aW9ucyB3b24ndCBzdXBwb3J0IG1vcmUgdGhhbiAyMCBzb3Vy
Y2VJRCdzIHNpbXVsdGFuZW91c2x5LgotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMjA7ICsraSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgc291cmNlSUQgPSAic291cmNl
SUQtIiArIGk7Ci0gICAgICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZChzb3VyY2VJRCwgZGVmYXVsdFNvdXJjZU1p
bWV0eXBlKTsKLSAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoZS5jb2RlICE9IERPTUV4Y2VwdGlvbi5RVU9UQV9FWENFRURFRF9FUlIp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNl
cHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICByZWFjaGVkSWRM
aW1pdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmICghcmVh
Y2hlZElkTGltaXQpIHsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byBy
ZWFjaCBTb3VyY2VJRCBsaW1pdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0
IFNvdXJjZUlEcyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuIik7Ci0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0odmlkZW9UYWcu
RU9TX05PX0VSUk9SKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZp
ZGVvVGFnLCAiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVFbXB0eUlkKHJ1bk5l
eHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IGVtcHR5IElEIGNhc2UiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RF
eGNlcHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCAiIiwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUND
RVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZU5vbmV4aXN0ZW50SWQocnVu
TmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgbmV2ZXIgYWRkZWQuIik7
Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIjM0
NSIsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRU
ZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVt
b3ZlQWdhaW4ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgYWxy
ZWFkeSByZW1vdmVkLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFk
ZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RF
eGNlcHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCAiMTIzIiwgRE9NRXhjZXB0aW9uLlNZTlRBWF9F
UlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQocnVuTmV4dFRl
c3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQg
c3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEy
MyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Vi
a2l0U291cmNlRW5kT2ZTdHJlYW0odmlkZW9UYWcuRU9TX05PX0VSUk9SKTsKLSAgICAgICAgICAg
ICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0KLSAgICAgICAgICAg
ICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gdGVzdEFkZElkQWZ0ZXJSZW1vdmluZyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFu
IElEIGNhbiBiZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLiIpOwotICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWlt
ZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIx
MjMiKTsKLQotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBmdW5jdGlvbiB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGluaXRTZWdtZW50
ID0gc2VnbWVudEhlbHBlci5pbml0U2VnbWVudDsKLSAgICAgICAgICAgICAgICB2YXIgbWVkaWFT
ZWdtZW50ID0gc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzBdOwotCi0gICAgICAgICAgICAg
ICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlw
ZSk7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggZW1w
dHkgSUQuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9U
YWcsICIiLCBpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0K
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxp
ZCBJRCIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFn
LCAiMjM0IiwgaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLiIp
OwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMTIz
IiwgbnVsbCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4iKTsKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoIjEyMyIsIGluaXRTZWdtZW50KTsK
LQotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsK
LSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjEyMyIs
IG1lZGlhU2VnbWVudCwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAgICAg
ICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0
aW9uIG9uTG9hZCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOwotCi0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKLQotICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKLSAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykgewotICAg
ICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byBsb2FkIHNlZ21lbnQgZGF0
YSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVzdEFkZElkV2hpbGVDbG9zZWQodmlkZW8pOwot
Ci0gICAgICAgICAgICAgICAgICAgIHZhciB0ZXN0Q2FzZXMgPSBbCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0QWRkSWRGYWlsdXJlQ2FzZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UmVtb3ZlRW1wdHlJZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVOb25l
eGlzdGVudElkLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUFnYWluLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RBZGRJZEFmdGVyUmVtb3ZpbmcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAgICBdOwotCi0g
ICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zdGFydFNvdXJjZU9wZW5UZXN0aW5n
KHZpZGVvLCB0ZXN0Q2FzZXMpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQot
ICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHkgb25sb2FkPSJvbkxvYWQo
KSI+Ci0gICAgICAgIDx2aWRlbz4gPC92aWRlbz4KLSAgICAgICAgPHA+VGVzdHMgd2Via2l0U291
cmNlQWRkSWQoKSAmYW1wOyB3ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHM8L3A+Ci0gICAg
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtZXJyb3JzLWV4cGVjdGVkLnR4dAppbmRleCA1NWYyMGJiMWM3OGJjOTM4NDUwMmY4YTY1NDMw
MDBjMWVjODU3YmU5Li4yZTZiMzQwZjU4MTQyNWNhZjk4ZTg5NTQ1ZGQyODZmMjFkYTJlYmNiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVj
dGVkLnR4dApAQCAtMiw0MSArMiwzNiBAQCBUZXN0cyBlcnJvciBjYXNlcyB3aXRoIE1lZGlhU291
cmNlIEFQSQogCiAKIHJ1bm5pbmcgZGlkTm90U2VuZEluaXRTZWdtZW50Rmlyc3QKLUVWRU5UKGxv
YWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFwcGVuZGluZyBhIG1lZGlh
IHNlZ21lbnQgYmVmb3JlIHNlbmRpbmcgdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCiBFVkVO
VChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBpbW1lZGlh
dGVEZWNvZGVFcnJvclZpYUVuZE9mU3RyZWFtCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0
YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBl
cnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLgorVGVzdCBzaWduYWxsaW5nIGEgZGVj
b2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0uCiBFVkVOVCh3ZWJraXRzb3Vy
Y2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAogCiBy
dW5uaW5nIGltbWVkaWF0ZU5ldHdvcmtFcnJvclZpYUVuZE9mU3RyZWFtCiBFVkVOVChlbXB0aWVk
KQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFs
bGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qg
c2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4K
IEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX1NSQ19O
T1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcgZGVjb2RlRXJyb3JBZnRlckhhdmVNZXRhZGF0YQogRVZF
TlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1U
ZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9N
RVRBREFUQSBzdGF0ZS4KK1Rlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlh
U291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8g
Z2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEpCiBF
VkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ERUNPREUK
IAogcnVubmluZyBuZXR3b3JrRXJyb3JBZnRlckhhdmVNZXRhZGF0YQogRVZFTlQoZW1wdGllZCkK
LUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxp
bmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2Ug
aGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3Rh
dGUuCitUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5k
T2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhl
IEhBVkVfTUVUQURBVEEgc3RhdGUuCiBFVkVOVChsb2FkZWRtZXRhZGF0YSkKIEVWRU5UKHdlYmtp
dHNvdXJjZWVuZGVkKQogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX05FVFdPUksKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbAppbmRleCBmZTljZWFhYjU0ZWFj
MDI5MmFhOTNlZTA1OGU1ZmJiYmM5MjAwZWRkLi4wOWFhZTU3NjI4MjgyZGNlNjZmNzkxYzc4NWRi
MDIwNDRkMmE1MWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9y
cy5odG1sCkBAIC0yMyw0NiArMjMsNDYgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZE5vdFNl
bmRJbml0U2VnbWVudEZpcnN0KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZGluZyBhIG1lZGlh
IHNlZ21lbnQgYmVmb3JlIHNlbmRpbmcgdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7Ci0g
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIGZ1bmN0aW9uIGltbWVkaWF0ZURlY29kZUVycm9yVmlhRW5kT2ZTdHJlYW0ocnVuTmV4
dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbS4iKTsKLSAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQu
dGFyZ2V0OwotICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bShIVE1MTWVkaWFFbGVtZW50LkVPU19ERUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJj
ZS5lbmRPZlN0cmVhbS4iKTsKKyAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50
YXJnZXQ7CisgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJkZWNvZGUi
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gaW1tZWRpYXRlTmV0d29y
a0Vycm9yVmlhRW5kT2ZTdHJlYW0ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5l
dHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4iKTsKLSAgICAgICAgICAg
ICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTkVUV09SS19F
UlIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0
d29yayBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLiIpOworICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlLmVuZE9mU3RyZWFtKCJuZXR3b3JrIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGZ1bmN0aW9uIGRlY29kZUVycm9yQWZ0ZXJIYXZlTWV0YWRhdGEocnVuTmV4dFRlc3RDYXNlLCB2
aWRlb1RhZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFt
IGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01F
VEFEQVRBIHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRh
cmdldDsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Ig
d2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3Vn
aCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YXBwZW5kSW5pdFNlZ21lbnQoKTsKIAogICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsTWV0YWRh
dGFMb2FkZWQodmlkZW9UYWcsIGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVs
ZW1lbnQuRU9TX0RFQ09ERV9FUlIpOworICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5l
bmRPZlN0cmVhbSgiZGVjb2RlIik7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG5ldHdvcmtFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1
bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0
U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBn
ZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZp
ZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRk
U291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGlu
ZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBo
YXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0
ZS4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAgICBh
cHBlbmRVbnRpbE1ldGFkYXRhTG9hZGVkKHZpZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0
cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19ORVRXT1JLX0VSUik7CisgICAgICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJuZXR3b3JrIik7CiAgICAgICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICB9CiAKQEAgLTcwLDExICs3MCwxMCBAQAogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAotICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCds
b2FkZWRtZXRhZGF0YScpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291
cmNlb3BlbicpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3Bl
bicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVk
aWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW5kZWQnKTsKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2
ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0CmluZGV4IDFlNzg3NWMyMTUxNTBlOTA4M2E3NDViYzk1ZDRjOWQ2YTM3MjE0NmUuLmUy
N2ZhZDkyNWQyYzIwNmU2NzI1ZWY5OWNmMDk5OGQ1YTlmNDI3OTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
dmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFRlc3QgTWVkaWEgU291cmNlIGV2ZW50IGhhbmRs
ZXIgYXR0cmlidXRlcwogCiBvbkxvYWQoKQogb25Tb3VyY2VPcGVuKCkKLUNhbGxpbmcgd2Via2l0
U291cmNlRW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50Lgor
Q2FsbGluZyBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNl
ZW5kZWQgZXZlbnQuCiBvblNvdXJjZUVuZGVkKCkKIFNldHRpbmcgc3JjIGF0dHJpYnV0ZSB0byAi
IiB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlY2xvc2VkIGV2ZW50Lgogb25Tb3VyY2VDbG9zZSgp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJp
YnV0ZXMuaHRtbAppbmRleCBmZjJmN2M4OGIwZmM5MmU5MjdlOGM3ZmU4ZGNlMTc3ODI1ZmRhZGZl
Li41MmMwYWM5YzYzNWQyZTE5MzkzZGVhMmE4MzY0ODE0ZDFhYjY0MjkyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtZXZlbnQtYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwK
QEAgLTMsMjIgKzMsMjYgQEAKICAgIDxoZWFkPgogICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEt
cmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKHZpZGVv
KQorCisgICAgICAgICAgIHZhciB2aWRlbyA9IG51bGw7CisgICAgICAgICAgIHZhciBtZWRpYVNv
dXJjZSA9IG51bGw7CisKKyAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKCkKICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJjZU9wZW4oKSIpOwot
Ci0gICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgd2Via2l0U291cmNlRW5kT2ZT
dHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50LiIpOwotICAgICAgICAg
ICAgICAgdmlkZW8ud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1Nf
Tk9fRVJST1IpOworICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIE1lZGlhU291
cmNlLmVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsK
KyAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgIH0K
IAotICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUVuZGVkKHZpZGVvKQorICAgICAgICAgICBm
dW5jdGlvbiBvblNvdXJjZUVuZGVkKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJvblNvdXJjZUVuZGVkKCkiKTsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiU2V0dGluZyBzcmMgYXR0cmlidXRlIHRvIFwiXCIgdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJj
ZWNsb3NlZCBldmVudC4iKTsKICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9ICIiOworICAgICAg
ICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICAgICB9CiAKLSAgICAgICAgICAgZnVuY3Rpb24g
b25Tb3VyY2VDbG9zZSh2aWRlbykKKyAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VDbG9zZSgp
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VDbG9z
ZSgpIik7CiAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CkBAIC0yNywxMyArMzEsMTcgQEAKICAg
ICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKGUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgib25Mb2FkKCkiKTsKLSAgICAgICAgICAgICAgIHZhciB2aWRlbyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Jyk7Ci0gICAgICAgICAgICAgICB2aWRlby5zcmMgPSB2
aWRlby53ZWJraXRNZWRpYVNvdXJjZVVSTDsKKyAgICAgICAgICAgICAgIHZpZGVvID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3YnKTsKKyAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3
IE1lZGlhU291cmNlKCk7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VF
bmRlZCk7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VjbG9zZScsIG9uU291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgdmlkZW8uc3Jj
ID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgIH0K
ICAgICAgICA8L3NjcmlwdD4KICAgIDwvaGVhZD4KICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCki
PgogICAgICAgIDxwPlRlc3QgTWVkaWEgU291cmNlIGV2ZW50IGhhbmRsZXIgYXR0cmlidXRlczwv
cD4KLSAgICAgICA8dmlkZW8gaWQ9J3YnIG9ud2Via2l0c291cmNlb3Blbj0nb25Tb3VyY2VPcGVu
KHRoaXMpJyBvbndlYmtpdHNvdXJjZWVuZGVkPSdvblNvdXJjZUVuZGVkKHRoaXMpOycgb253ZWJr
aXRzb3VyY2VjbG9zZT0nb25Tb3VyY2VDbG9zZSh0aGlzKTsnPjwvdmlkZW8+CisgICAgICAgPHZp
ZGVvIGlkPSd2Jz48L3ZpZGVvPgogICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LW9iamVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDhlMjYyOGUwNzE3MmUyZDlhNWY4ZTUwMDUxNmQ5YjcyZTE3NTgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2Utb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorVGVzdHMg
TWVkaWFTb3VyY2UsIFNvdXJjZUJ1ZmZlciwgYW5kIFNvdXJjZUJ1ZmZlckxpc3Qgb2JqZWN0cy4K
KworRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgTWVkaWFTb3VyY2Ugb2JqZWN0IHR5cGUK
K0VYUEVDVEVEIChtZWRpYVNvdXJjZSA9PSAnW29iamVjdCBNZWRpYVNvdXJjZV0nKSBPSworRVhQ
RUNURUQgKG1lZGlhU291cmNlIGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhU291cmNlID09ICd0cnVl
JykgT0sKKworQWRkIGEgU291cmNlQnVmZmVyCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNl
QnVmZmVycy5sZW5ndGggPT0gJzAnKSBPSworUlVOKHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVm
ZmVyKCkpCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGggPT0gJzEn
KSBPSworCitUZXN0IFNvdXJjZUJ1ZmZlckxpc3Qgb2JqZWN0IHR5cGU6CitFWFBFQ1RFRCAobWVk
aWFTb3VyY2Uuc291cmNlQnVmZmVycyA9PSAnW29iamVjdCBTb3VyY2VCdWZmZXJMaXN0XScpIE9L
CitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyBpbnN0YW5jZW9mIHdpbmRvdy5T
b3VyY2VCdWZmZXJMaXN0ID09ICd0cnVlJykgT0sKKworVGVzdCBTb3VyY2VCdWZmZXIgb2JqZWN0
IHR5cGUKK0VYUEVDVEVEIChzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciBpbnN0YW5jZW9mIHdp
bmRvdy5Tb3VyY2VCdWZmZXIgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNv
dXJjZUJ1ZmZlcnNbMF0gaW5zdGFuY2VvZiB3aW5kb3cuU291cmNlQnVmZmVyID09ICd0cnVlJykg
T0sKKworQXBwZW5kIGluaXQgc2VnbWVudAorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1
ZmZlcnNbMF0uYnVmZmVyZWQubGVuZ3RoID09ICcwJykgT0sKKworQXBwZW5kIDEgc2Vjb25kIG9m
IGRhdGEuCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZmZXJlZC5s
ZW5ndGggPT0gJzEnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0u
YnVmZmVyZWQuc3RhcnQoMCkgPT0gJzAnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJj
ZUJ1ZmZlcnNbMF0uYnVmZmVyZWQuZW5kKDApID4gJzEnKSBPSworCitSZW1vdmUgU291cmNlQnVm
ZmVyCitSVU4obWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291
cmNlQnVmZmVyKSkKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCA9
PSAnMCcpIE9LCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyA9PSAnW29iamVj
dCBTb3VyY2VCdWZmZXJMaXN0XScpIE9LCisKK1Rlc3QgdGhhdCBhcHBlbmQoKSB0aHJvd3MgYW4g
ZXJyb3IgYWZ0ZXIgU291cmNlQnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQg
ZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorVGVz
dCB0aGF0IGJ1ZmZlcmVkIHRocm93cyBhbiBlcnJvciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJl
ZW4gcmVtb3ZlZC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVf
RVJSOiBET00gRXhjZXB0aW9uIDExCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVy
cy5sZW5ndGggPT0gJzAnKSBPSworVGVzdCB0aGF0IGFkZFNvdXJjZUJ1ZmZlcigpIHRocm93cyBh
bmQgZXJyb3Igd2hlbiB0aGUgTWVkaWFTb3VyY2UgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIG1l
ZGlhIGVsZW1lbnQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRF
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9i
amVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVjYTc4Yjk1MmJlNmM2
YTU1YmNiNDRjYTRhNDhlYzhjNDI3OTQxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3Rz
Lmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1z
b3VyY2Uvd2VibS9zZWdtZW50LWluZm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0ibWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
ICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVy
KFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291
cmNlT3BlbihldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRlc3QgTWVkaWFTb3VyY2Ugb2JqZWN0IHR5cGUiKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIm1lZGlhU291cmNlIiwgZXZlbnQudGFyZ2V0KTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlIGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhU291cmNlIiwg
dHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiQWRkIGEgU291cmNlQnVmZmVyIik7CisKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoIiwgMCk7CisK
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdGFkZHNvdXJjZWJ1ZmZlcicsIG9uU291cmNlQnVmZmVyQWRkZWQpOworCisgICAg
ICAgICAgICAgICAgcnVuKCJzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpIik7CisKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBTb3VyY2VCdWZmZXIgb2JqZWN0IHR5cGUiKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoInNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyIGluc3RhbmNlb2Ygd2luZG93
LlNvdXJjZUJ1ZmZlciIsIHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVk
aWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXSBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXIi
LCB0cnVlKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmQgaW5pdCBzZWdtZW50Iik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxl
bmd0aCIsIDApOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21l
bnQoKTsKKworICAgICAgICAgICAgICAgIC8vIEFwcGVuZCBqdXN0IGVub3VnaCBzZWdtZW50cyB0
byBpbmNsdWRlIGF0IGxlYXN0IDEgc2Vjb25kIG9mIG1lZGlhIGRhdGEuCisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVu
ZCAxIHNlY29uZCBvZiBkYXRhLiIpOworICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IHNl
Z21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoMSk7CisgICAgICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gZW5kSW5kZXg7IGkrKykKKyAgICAgICAgICAg
ICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoaSk7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVk
Lmxlbmd0aCIsIDEpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uu
c291cmNlQnVmZmVyc1swXS5idWZmZXJlZC5zdGFydCgwKSIsIDApOworICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZmZXJlZC5lbmQo
MCkiLCAxLCAnPicpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlJlbW92ZSBTb3VyY2VCdWZmZXIiKTsKKworICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0cmVtb3Zlc291cmNlYnVmZmVyJywgb25Tb3VyY2VCdWZmZXJSZW1vdmVkKTsKKworICAgICAg
ICAgICAgICAgIHJ1bigibWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxw
ZXIuc291cmNlQnVmZmVyKSIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHRoYXQgYWRkU291cmNlQnVmZmVyKCkgdGhyb3dzIGFuZCBlcnJvciB3aGVuIHRoZSBNZWRpYVNv
dXJjZSBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgbWVkaWEgZWxlbWVudC4iKTsKKyAgICAgICAg
ICAgICAgICB2YXIgbWVkaWFTb3VyY2UyID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgICAg
ICAgICAgdmlkZW8uc3JjID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChtZWRpYVNvdXJjZTIp
OworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LmFkZFNvdXJjZUJ1ZmZlcigndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsdnA4IicpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlQnVmZmVyQWRkZWQoZXZlbnQpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VC
dWZmZXJzLmxlbmd0aCIsIDEpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgU291cmNlQnVmZmVyTGlzdCBvYmpl
Y3QgdHlwZToiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNv
dXJjZUJ1ZmZlcnMiLCBldmVudC50YXJnZXQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZm
ZXJMaXN0IiwgdHJ1ZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9u
U291cmNlQnVmZmVyUmVtb3ZlZChldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoIiwgMCk7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIiwg
ZXZlbnQudGFyZ2V0KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYXBwZW5kKCkgdGhyb3dzIGFuIGVy
cm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLiIpOworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFT
ZWdtZW50KDApOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBi
dWZmZXJlZCB0aHJvd3MgYW4gZXJyb3IgYWZ0ZXIgU291cmNlQnVmZmVyIGhhcyBiZWVuIHJlbW92
ZWQuIik7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmJ1ZmZlcmVkLCAwKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
R290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGgi
LCAwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCisgICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKKyAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJj
ZSk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIi
LCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKKworICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOwor
CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNj
ZXNzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNz
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2Vn
bWVudCBkYXRhIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3Jj
VG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW8pOworICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2Fk
PSJvbkxvYWQoKSI+CisgICAgICAgIDx2aWRlbz4gPC92aWRlbz4KKyAgICAgICAgPHA+VGVzdHMg
TWVkaWFTb3VyY2UsIFNvdXJjZUJ1ZmZlciwgYW5kIFNvdXJjZUJ1ZmZlckxpc3Qgb2JqZWN0cy48
L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0CmluZGV4IDE5ODhiNzJjZDJmOTE4ZjI0Y2E4MjFk
ZTE5MThiMDEzNjRlYjFjYWMuLjUxYTIwNTQxMjVkZjc5NWE2MjEzMGU2OGU0ODc3NmQzYzhkOGM1
ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBl
Y3RlZC50eHQKQEAgLTEsNiArMSw1IEBACiBUZXN0cyBub3JtYWwgcGxheWJhY2sgY2FzZSB3aXRo
IE1lZGlhU291cmNlIEFQSQogCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChwbGF5aW5nKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKaW5kZXggM2FiOGU0NTZlMTc4ODFhYzU3
ZThjZWYxODliNTU3YjM1MWRmNTBiMy4uZDU2NzllYjYzZjQxNWZmZmM2MDM1YjFlYTEwMTczZWZi
NzljZGUzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCkBA
IC05LDI4ICs5LDI5IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbihldmVu
dCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJj
ZUlkKCk7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsK
ICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKICAg
ICAgICAgICAgICAgICAvLyBBcHBlbmQganVzdCBlbm91Z2ggc2VnbWVudHMgdG8gaW5jbHVkZSBh
dCBsZWFzdCAxIHNlY29uZCBvZiBtZWRpYSBkYXRhLgogICAgICAgICAgICAgICAgIHZhciBlbmRJ
bmRleCA9IHNlZ21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoMSk7
CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gZW5kSW5kZXg7IGkrKykKICAg
ICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoaSk7Ci0g
ICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxN
ZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9SKTsKKyAgICAgICAgICAgICAgICBldmVudC50YXJnZXQu
ZW5kT2ZTdHJlYW0oKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25M
b2FkKCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7
CiAKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCiAg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKLSAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlb3BlbicpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
d2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRFbmQoJ2VuZGVkJyk7CiAKLSAgICAgICAg
ICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3Vy
Y2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VPcGVuKTsKIAogICAgICAgICAgICAgICAgIHNlZ21l
bnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKICAgICAgICAgICAgICAgICB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAppbmRleCBkMjQ3ZWQ1
ZDRjNTY3ZmJjMTFlYmE1NjRhY2Q2MjU1ZTZiOTkxZDFhLi4yZGMxZTY2MGMxMTVjMjllODY1MGJk
YTdjMzdhNzQ1NGVmMzgyOTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1z
ZWVrLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAKICAgICAgICAgICAgICAgICBpZiAoZmlyc3RPcGVu
KSB7CiAgICAgICAgICAgICAgICAgICAgIGZpcnN0T3BlbiA9IGZhbHNlOwogCi0gICAgICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogICAgICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0oMCk7CiAgICAgICAgICAgICAgICAg
fQpAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKIAogICAgICAgICAgICAgICAgIC8vIENhbGwgYWJvcnQgdG8gbWFrZSBzdXJlIHRo
ZSBzb3VyY2UgYnVmZmVyIGlzIGluIGEgc3RhdGUgd2hlcmUgaXQgY2FuIGFjY2VwdCBuZXcgc2Vn
bWVudHMuCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVu
dEhlbHBlci5Tb3VyY2VJRCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWJvcnQoKTsK
IAogICAgICAgICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gc2VnbWVudEhlbHBlci5nZXRNZWRp
YVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcCh2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAg
ICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHN0YXJ0SW5kZXgp
OwpAQCAtNjAsMTAgKzYwLDExIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmlu
ZE1lZGlhRWxlbWVudCgpOwogCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVk
aWFTb3VyY2UoKTsKKwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9y
Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAg
ICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKLSAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3Vy
Y2UpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAi
IiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5nJyk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1zdGF0ZS1jaGFuZ2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4cGVjdGVk
LnR4dAppbmRleCBhNzk1ZDk4Y2QyODU5Y2MxNjllYjNiZWI3M2IyYWI1YmI4MjI2NjgxLi4zNzkw
NWUyMTU1NzcyYTU4OTVjNGFiMDEzYjI3YTRlMTdlOTEyMWM5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3Rh
dGUtY2hhbmdlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE0ICsxLDEzIEBACiBUZXN0cyBNZWRpYVNvdXJjZSBBUEkgc3RhdGUgdHJhbnNp
dGlvbnMuCiAKLXdlYmtpdFNvdXJjZVN0YXRlIDogU09VUkNFX0NMT1NFRAotRVZFTlQobG9hZHN0
YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0VfT1BFTgord2Via2l0U291cmNl
U3RhdGUgOiBjbG9zZWQKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25GaXJzdFNv
dXJjZU9wZW4KLUVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IFNPVVJDRV9FTkRFRAorRVZFTlQo
d2Via2l0c291cmNlZW5kZWQpIDogZW5kZWQKIG9uRmlyc3RTb3VyY2VFbmRlZAogRVZFTlQocGxh
eWluZykKIHRyaWdnZXJGaXJzdFNlZWsKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNF
X09QRU4KK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3BlbgogRVZFTlQoc2Vla2luZykKIG9u
Rmlyc3RTZWVraW5nCiBFVkVOVChzZWVrZWQpCkBAIC0xNywyMSArMTYsMTkgQEAgRVZFTlQoc2Vl
a2luZykKIG9uU2Vjb25kU2Vla2luZwogRVZFTlQoc2Vla2VkKQogb25TZWNvbmRTZWVrZWQKLUVW
RU5UKHdlYmtpdHNvdXJjZWNsb3NlKSA6IFNPVVJDRV9DTE9TRUQKK0VWRU5UKHdlYmtpdHNvdXJj
ZWNsb3NlKSA6IGNsb3NlZAogb25GaXJzdFNvdXJjZUNsb3NlCiBFVkVOVChlbXB0aWVkKQotRVZF
TlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0VfT1BFTgorRVZF
TlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBvblNlY29uZFNvdXJjZU9wZW4KLUVWRU5UKHdl
YmtpdHNvdXJjZWVuZGVkKSA6IFNPVVJDRV9FTkRFRAorRVZFTlQod2Via2l0c291cmNlZW5kZWQp
IDogZW5kZWQKIG9uU2Vjb25kU291cmNlRW5kZWQKIEVWRU5UKHBsYXlpbmcpCiB0cmlnZ2VyU2Vj
b25kU291cmNlQ2xvc2UKLUVWRU5UKHdlYmtpdHNvdXJjZWNsb3NlKSA6IFNPVVJDRV9DTE9TRUQK
K0VWRU5UKHdlYmtpdHNvdXJjZWNsb3NlKSA6IGNsb3NlZAogb25TZWNvbmRTb3VyY2VDbG9zZQog
RVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4p
IDogU09VUkNFX09QRU4KK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25UaGlyZFNv
dXJjZU9wZW4KIEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCmluZGV4IDlhNTRkY2Q3ZmE0NjllNjA5MTllNWI2
NGRlMGFkMTE5MTRmYWZiNGIuLmYyNmNkNTI4MDgwNTY2ZjI4YjQyNzNhMDY3MzBiMTBlMTA0Yzg4
ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNo
YW5nZXMuaHRtbApAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVy
ID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0
V2ViTSk7CiAgICAgICAgICAgICB2YXIgc2Vla1RpbWU7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9u
IGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLCBzZWdtZW50U2Vla1RpbWUpCisg
ICAgICAgICAgICBmdW5jdGlvbiBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2VlayhzZWdtZW50U2Vl
a1RpbWUpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gc2VnbWVu
dEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcChzZWdtZW50U2Vla1RpbWUp
OwogICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IGluZGV4ICsgMjsKQEAgLTE5LDE0ICsx
OSwxNCBAQAogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlmIChpbmRleCA+
PSB0b3RhbE1lZGlhU2VnbWVudHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Vi
a2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTk9fRVJST1IpOworICAg
ICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUV2ZW50KGV2ZW50KQogICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnRVZFTlQoJyArIGV2ZW50LnR5cGUgKyAnKSA6ICcg
KyBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKGV2ZW50LnRhcmdldC53ZWJraXRT
b3VyY2VTdGF0ZSkpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnRVZFTlQoJyArIGV2
ZW50LnR5cGUgKyAnKSA6ICcgKyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSk7CiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RTb3VyY2VPcGVuKGV2ZW50KQpAQCAt
MzYsMTcgKzM2LDE3IEBACiAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdGlt
ZSB0aGUgc291cmNlIGlzIG9wZW5lZC4gV2UganVzdCB3YW50IHRvIGFwcGVuZAogICAgICAgICAg
ICAgICAgIC8vIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50IGFuZCBhbGwgbWVkaWEgc2VnbWVu
dHMgdW50aWwgdGhlIGVuZCBvZiBzdHJlYW0uCiAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0
ZXN0aW5nIHRoZQotICAgICAgICAgICAgICAgIC8vIFNPVVJDRV9DTE9TRUQgLT4gU09VUkNFX09Q
RU4gLT4gU09VUkNFX0VOREVEIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAgICAvLyAi
Y2xvc2VkIiAtPiAib3BlbiIgLT4gImVuZGVkIiB0cmFuc2l0aW9uIHBhdGguCiAKLSAgICAgICAg
ICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3Vy
Y2VPcGVuKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7Cisg
ICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4n
LCBvbkZpcnN0U291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRT
b3VyY2VCdWZmZXIoKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAg
ICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNl
LCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2Vn
bWVudCgpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNv
dXJjZUVuZGVkKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBz
ZWdtZW50cy4KICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZT
dHJlYW0oMCk7CkBAIC01NSwxMiArNTUsMTMgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmly
c3RTb3VyY2VFbmRlZChldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIm9uRmlyc3RTb3VyY2VFbmRlZCIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRl
b1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CiAKLSAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcs
IHZpZGVvVGFnLlNPVVJDRV9FTkRFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNl
ID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKworICAg
ICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJj
ZSwgImVuZGVkIik7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVy
KCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRk
RXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBmdW5jdGlvbiB0cmlnZ2VyRmlyc3RTZWVrKGV2ZW50KQpAQCAtNzEs
NyArNzIsNyBAQAogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKIAogICAgICAgICAgICAgICAgIC8vIE5vdyB0
aGF0IHdlIGhhdmUgYXBwZW5kZWQgYWxsIG9mIHRoZSBtZWRpYSBzZWdtZW50cyBhbmQgZW5kZWQg
dGhlIHN0cmVhbSwKLSAgICAgICAgICAgICAgICAvLyBsZXRzIGRvIGEgc2VlayB0byB0ZXN0IHRo
ZSBTT1VSQ0VfRU5ERUQgLT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbi4KKyAgICAgICAgICAgICAg
ICAvLyBsZXRzIGRvIGEgc2VlayB0byB0ZXN0IHRoZSAiZW5kZWQiIC0+ICJvcGVuIiB0cmFuc2l0
aW9uLgogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcn
LCBvbkZpcnN0U2Vla2luZyk7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0
ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcu
Y3VycmVudFRpbWUgPSBzZWVrVGltZTsKQEAgLTg0LDEwICs4NSwxMCBAQAogICAgICAgICAgICAg
ICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVraW5nJywgb25GaXJzdFNlZWtpbmcpOwogCi0gICAg
ICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBI
VE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJj
ZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAg
ICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCi0gICAgICAgICAgICAg
ICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJlbnRU
aW1lKTsKKyAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1Rh
Zy5jdXJyZW50VGltZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9u
Rmlyc3RTZWVrZWQoZXZlbnQpCkBAIC05Nyw5ICs5OCw5IEBACiAgICAgICAgICAgICAgICAgdmFy
IHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogCi0gICAgICAgICAgICAg
ICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFF
bGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhw
ZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKLSAgICAgICAgICAgICAgICAv
LyBOb3cgaXQgaXMgdGltZSB0byB0ZXN0IHNlZWtpbmcgd2hpbGUgc3RpbGwgaW4gU09VUkNFX09Q
RU4uCisgICAgICAgICAgICAgICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdo
aWxlIHN0aWxsIGluICJvcGVuIi4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExp
c3RlbmVyKCdzZWVraW5nJywgb25TZWNvbmRTZWVraW5nKTsKICAgICAgICAgICAgICAgICB2aWRl
b1RhZy5hZGRFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvblNlY29uZFNlZWtlZCk7CiAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcuY3VycmVudFRpbWUgPSBzZWVrVGltZTsKQEAgLTExMiwyMiArMTEz
LDIzIEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvblNl
Y29uZFNlZWtpbmcpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNv
dXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAg
ICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2Us
ICJvcGVuIik7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2Vn
bWVudHMuCi0gICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9U
YWcsIHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKKyAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNl
Z21lbnRzRm9yU2Vlayh2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU2Vla2VkKGV2ZW50KQogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTZWVrZWQiKTsKKwogICAgICAg
ICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2
aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvblNlY29uZFNlZWtlZCk7CiAK
LSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9U
YWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlh
U291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAotICAg
ICAgICAgICAgICAgIC8vIFRlc3QgU09VUkNFX09QRU4gLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VS
Q0VfT1BFTiB0cmFuc2l0aW9uIHBhdGguCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOworICAg
ICAgICAgICAgICAgIC8vIFRlc3QgIm9wZW4iIC0+ICJjbG9zZWQiIC0+ICJvcGVuIiB0cmFuc2l0
aW9uIHBhdGguCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcign
d2Via2l0c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAg
ICAgICAgICAgICB9CiAKQEAgLTEzNSwyNyArMTM3LDI3IEBACiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvbkZpcnN0U291cmNlQ2xvc2UiKTsKIAotICAgICAg
ICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2
aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RT
b3VyY2VDbG9zZSk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFy
Z2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKIAotICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxl
bWVudC5TT1VSQ0VfQ0xPU0VEKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhw
ZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJjbG9zZWQiKTsKIAotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNv
dXJjZU9wZW4pOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4pOwogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZU9wZW4oZXZlbnQpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNvdXJjZU9wZW4i
KTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAg
ICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
Jywgb25TZWNvbmRTb3VyY2VPcGVuKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFk
ZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFy
Z2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09V
UkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VT
dGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7Cisg
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
ZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0
IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50cy4KICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVy
LmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0oMCk7CkBAIC0xNjUsMTMgKzE2NywxMyBAQAogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3VyY2VFbmRl
ZCIpOwogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVu
ZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291
cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAK
LSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9U
YWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0VOREVEKTsKKyAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJlbmRlZCIpOwogICAg
ICAgICAgICAgICAgIC8vTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFJlYWR5U3RhdGUodmlkZW9UYWcs
IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9OT1RISU5HKTsKIAotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyU2Vjb25kU291cmNlQ2xvc2Up
OworICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmln
Z2VyU2Vjb25kU291cmNlQ2xvc2UpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5j
dGlvbiB0cmlnZ2VyU2Vjb25kU291cmNlQ2xvc2UoZXZlbnQpCkBAIC0xODEsOCArMTgzLDggQEAK
ICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNv
bmRTb3VyY2VDbG9zZSk7CiAKLSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9FTkRFRCAt
PiBTT1VSQ0VfQ0xPU0VEIC0+IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24gcGF0aC4KLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9u
U2Vjb25kU291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIC8vIFRlc3QgImVuZGVkIiAtPiAi
Y2xvc2VkIiAtPiAib3BlbiIgdHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlh
U291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3Vy
Y2VDbG9zZSk7CiAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFT
b3VyY2VUZXN0VVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAgIH0KIApAQCAtMTkwLDIyICsxOTIs
MjIgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vj
b25kU291cmNlQ2xvc2UiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vjb25kU291cmNlQ2xvc2UpOwotICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxl
bWVudC5TT1VSQ0VfQ0xPU0VEKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBl
dmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJj
bG9zZWQiKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZW9wZW4nLCBvblRoaXJkU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3Vy
Y2VPcGVuKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25UaGlyZFNv
dXJjZU9wZW4oZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJvblRoaXJkU291cmNlT3BlbiIpOwogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFn
ID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRoaXJkU291cmNlT3Blbik7Ci0gICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBt
ZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5y
ZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4p
OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcs
IEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAg
ICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgICAgIH0KQEAgLTIxNCwyMSArMjE2LDIyIEBA
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwogCisg
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKwogICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J3BsYXlpbmcnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtpbmcnKTsKICAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtlZCcpOwogICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnZW5kZWQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VtcHRp
ZWQnKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZW9wZW4nLCBvblNvdXJjZUV2ZW50KTsKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291cmNlRXZlbnQpOwotICAgICAgICAg
ICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3Vy
Y2VFdmVudCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcign
d2Via2l0c291cmNlb3BlbicsIG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlh
U291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VFdmVu
dCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlY2xvc2UnLCBvblNvdXJjZUV2ZW50KTsKIAotICAgICAgICAgICAgICAgIHZpZGVvLmFk
ZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7Cisg
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uRmlyc3RTb3VyY2VPcGVuKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNl
VGVzdC5sb2dTb3VyY2VTdGF0ZSh2aWRlbyk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmxvZ1NvdXJjZVN0YXRlKG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>153335</attachid>
            <date>2012-07-19 13:28:51 -0700</date>
            <delta_ts>2012-07-19 13:28:51 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-05</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>300757</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
BxxxwDEHnHDAWxY3eLxj8OPI4TTjuLCHCx484sFjHjzhwbc8+I4H3zMZyeyrYHZWMHsreN3lDhzu
yOEOHe7Y4Q4e7ujhDh/u+Ck4ap11XDgSMCXMHhKMMXGg102OPNrSDwu39MPCLd07s6W7XLZ0l8uW
7nLZ0l0uW7rLZUt3YmzpTowt3YmxpTsxtnQnxpbuxNjSLe8t3fLe0i3vLd3yBiijW0dOx06MdWLA
CyaezJI9vSl7eiv2nAbEdGhCh27p0B0dumfwdcPAMoQQMqRA9Zft6Fp/R9f6O7rW39F98jv6ArGj
LxA7+gKxoy8QO/oCsaP75Hd0n/yOvuzs6MvOjr7s7OjLzo6+7Ozoy86Ovuzs6MvOjr7s7OjLzo4e
0L+jr1A7zgq1Y65QO+YKtWOuUDv6CrWjr1A7+gq1o69QO/oKtaOvUDv6CrWjr1A7xgq1Y6xQO8YK
tWOsUHv6CrWnr1B7+gq1p69Qe/oKtaevUHv6CrWnr1B7+gq1p69Qe/qys6cvO3v6srOnLzt7+rKz
py87e/qys6cvO3v6srOnLzt7+rKz56wle+ZasmeuJXv62rCnrw17+tqwp68Ne/rasKevDXv62rCn
rw17+vnInrGM7BnLyJ6xjBzoS8OBvjQc6EvDgb40HOhLw4G+NBzoS8OBvjQc6EvDgb40HOhLw4G+
NBzoS8OBvjQc6EvDgb40HOjRPAd6NM+BrgwPdGV4oCvDA10ZHujK8EBXhgfOSR+AOWvTgBc8POMD
Bw5U0KERHUqTn9iQNa7YkDWuhMb0WmNOrREdGtOhCR26pUN3dOieCk3ofE3ofE3ofE3ofE3ofE3o
fN3SObClc2BL58CWzoEtnQNbDgd2dCh5ZB3ofD3Q+Xqg85Whsw50vh7ofKXfXEcwY80Z8YKHZ3wg
3LCwgoGNGFiiDEP6uhPS152Qvu6E9HUnpK87IX3dCenrTkhfd0L6uhPS152Qvu6E9HUnpK87IX3d
CenrTkhfd0KypY9QMl93dL7u6Hzd0fm6o/N1R+frjs7XHZ2vOw5fD1QoWPchByw4YLIgDvRGHOhN
OHAaENOhCR26pUOPHB6ceGD6WhoyF+sBHzHxZH6HjMUyZKyW9LU9ZK3t4YY+QMINfYSEG7qykFii
thB0W0TQbRFBt0UE3RYRdFtE0G0RQbdFBN0WEXRbRNBtEUG3RQTdFhF0W0TQbRFBt0UE3RYRdFtE
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
HI3wV/wQbjnfwqaSSp0bZmzEaCRHX/+siNiNJuEsPHM/wpwW4Vd5vAa5Rt4atSXHPCGBjiG5h3Xf
AZR0MN/Ppo0toJT7rKhbQ3hAwoHeWMr3p/4+caq/PU7WI5WXI0AAuClQBJgXgFcxJUcp0PAIzAbg
msePxS+Cw01eygC6lgqzUEHdgoMmbfmN70OnhzPm3j40ru/zCJDTmdfXGdT+COQWAf0UfpX5BLBv
HU7X3xSRLFfgE1i0bi0FOmgunPSugap8ur74+afrnz9t0OfN9fWHHzZLsw8tlui3IsaVppgbqFIb
ITRuLnBRcEs4pYAbgAAEnkLMThFPUVEx5s6B6IB1/tG0tAG207Wbdmv/sx9lBjeY5135rBsnL/Dg
2bAHP3za/HqzRDcALWAFKQn0mb/z6CsgBH28+fzpCtqRDSO6YPzR9c//U/zsBYpPhxX/P8HqPEwS
QqaYD/7/AlBLAwQKAAIAAAADnfNA1tHaeS4AAAAuAAAAPwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVjdGVkLnR4dFVUCQADlWIIUJViCFB1
eAsAAQToAwAABOgDAABBTEVSVDogVGVzdCBwYXNzZWQ6IFtvYmplY3QgSFRNTEZvcm1FbGVtZW50
XQoKUEsDBBQAAgAIAAOd80BsoyryvgAAAPAAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUCQADlWIIUJViCFB1eAsAAQTo
AwAABOgDAABdjjFPwzAUhPf8ipMYujUzxkSqKheGlEokTIjh1X5pAde2np0hQvx3XHVjO+nuuzt9
ZnKdzmXx3K0de/zgSPb7JHEOTuFuInrAL9bk3H+Lpqul2xus21tVkqpzogDrKefHCnbbw8tw6A32
Zhg2T0bBfwbGvcJbsDSfzgXjktiIRFHYUgixIHNBkphYyoJVFrtCnBBm7+tire+aTW9eR4WRc03W
Ka6n3uPxi23B87jvd1EuxvOFQ/loGt1en/0BUEsDBBQAAgAIAAOd80ApJndpdAAAAH0AAAA9ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtYWN0dWFs
LnR4dFVUCQADlWIIUJViCFB1eAsAAQToAwAABOgDAAANyjsOwjAQBcA+p3hdzoC7KDJQOETCpkIU
xiw/OV5rvSlye5h6xvnkZ2cxWe+HgzXIn0LYGVxKiuvrrQhbJSvCYjDGUljRSFGFK4lu6JukHvxE
WXPuBmfPwSBQ+5fYGj0Mrnz/UlIcw+T2LIvNtFDRW9f9AFBLAwQUAAIACAADnfNANF0G5sUAAAAa
AQAAOwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNz
LWRpZmYudHh0VVQJAAOVYghQlWIIUHV4CwABBOgDAAAE6AMAAJ2PvU7DMBRGdz/Ft3VITVSY8JSq
Mj9SShEJE2Iwye0Pcmzr+lpq3p4I3oDpDJ909B2tNWqZUu3dHItooSyaKRcvuT66LLWPbiT+xXN4
5Xha1qzpmmgQGm/kKlBVVf3L4gYpzv85mgZ6s75FtVnfoWlUtTu8dIfWYm+7bvtoDfwlEO4N3sPg
yuks6OdEljmywc6FEAWZBIljIpYZq8zDCvGIULxX2Lb2rTfol29ILmcaDT7i1/fSgad+3z5Enqyn
iYJ8KqgfUEsDBAoAAAAAACGd80AAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC94c2wvVVQJAAPOYghQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAhnfNAgUp3
rUsAAACsAAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNm
b3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA85iCFDOYghQdXgLAAEE6AMAAATo
AwAAtcyxDYAwDETRPlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1Kl
G1ty51DXV8TAYdHFvo7iVW375foAUEsDBBQAAgAIACGd80BQXUg3jAAAAPgAAAA/ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0
VVQJAAPNYghQzWIIUHV4CwABBOgDAAAE6AMAAK2OwQ3DMAwD/51CC7h69JcZ+uwCiqM0QmUrkGWk
3b5Js0I/BMkDCGYrqyiFWAV2Nx9gFuWfDIhYauBTAjceXxIpL25Fekm8NbzTx3o8uEXDmVrguyk6
N+ueuR0p0khTkrKaR+ou170DlcpwA1YuXANOetnJcFoYoFca9xNhoEbTP85Uaz0vxxAFqV6+UEsD
BBQAAgAIACGd80BtR9RehQAAAPEAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94
c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADzWIIUM1iCFB1eAsAAQToAwAABOgD
AACtjrENwzAMBHtPwQUUFuk0Q8osIMt0TEQSDZKCne3txCukeTz+i7ssdeWSnKUBqYpGmLnQLyIi
1ub4YseNxjd7yItK5V4DbYaP9JHuTzI3nJM57lZQyaRrJsN90TBJvp0rFG4Ed6BClZoD11XUh/OJ
V4UIvaXxBLtAkTT9USBcCJq+JsMBUEsDBAoAAAAAANKc80AAAAAAAAAAAAAAAAAkABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvVVQJAAM8YghQ2GMIUHV4CwABBOgDAAAE6AMA
AFBLAwQKAAAAAADWnPNAAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvY2FudmFzL3dlYmdsL1VUCQADRGIIUNhjCFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgA1pzz
QAE2WGWJAAAAkQAAAFIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC91bmlmb3JtLWFycmF5LWxlbmd0aC1vdmVyZmxvdy1zdGRlcnIudHh0VVQJAANEYghQRGIIUHV4
CwABBOgDAAAE6AMAAB3HsQrCMBRA0d2veKMuJa1N1GxBqjiYShAcREqavLaBNpUkDv69xeVy7pOy
PeX/5DTfsbIsSrYlB14pVSvejxiLxky2sWhmiyEzZk1zwjYvuFXqVKurkMcKHkLJizxzECkF134S
AgEXwbqo2xFtBvdh2UFHiK73nTPaJ3hj6OYwaW9wsddj+q5+UEsDBBQAAgAIANSc80Cig76DeAAA
AIAAAAA+ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaXMtb2Jq
ZWN0LXN0ZGVyci50eHRVVAkAA0BiCFBAYghQdXgLAAEE6AMAAAToAwAAHcrBCgIhEADQe18xx7qE
bmk1t42WRZACoS4RYqNsgimY9P3FXt7p3YXcC5zhgu/klm0EO3QCB2MuBqcUPp2lt7c+UPGhromW
gjO5esCoYU6Ao7bqfOu1Otm/1wEQpnSM2fet1fjUhVyLJSOo/HUpeqCXq45aqIsfUEsDBBQAAgAI
ANOc80Dto/iWqgAAANUCAABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMv
d2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQJAAM+YghQPmII
UHV4CwABBOgDAAAE6AMAAM3QsQ6CMBgE4N2n+EddSAu0FDZi0DgIpjFxMIaUtkATKIbWwbeXuPoA
slzuti93J5SR7BuY4IRGjKURjZOs4LziWTdoF9ZyVLXSclJ6DqTcEozo7gGXgh8qfs7LfQG3nJen
8phB7v1smpfXgMA4UMaJZtAqgGu/zF44cKazrZHCenjquZ3mUVipl27F4N+b+w8oRUmE6JpAmIUM
rwkUpjRa1UMxjlP0N9AHUEsDBBQAAgAIANSc80DvHgb23AAAADQBAABFABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1zdGRlcnIudHh0
VVQJAAM/YghQP2IIUHV4CwABBOgDAAAE6AMAAI2PQU+DQBSE7/0Vc9RLA7SLujdikZAgmE2jh8aQ
7fKgm8DS7L5q/PdiE09evExmJnP45iDSeyGvEov4Lt1GcfKQCiFzpRolh5FC0pqpazsyc0d+bcyN
iKP09h0vuXpq1HNWP+Z4y1Rd1oVExuzt8cKECDags0EfR+rW2J+WeNIBwQ6ut0Y7xpl8P/tJO0OL
d3rkr9XhL9Am2iTbfwAVFa4jyKJqy/o1q8pd2yyY2b5sakgM487rz3ykiRwHCc1M05nBM7QxFALm
C2Pu4bUbCB/k2S41rPuZ/v5afQNQSwMEFAACAAgA0pzzQMrTNKnGAAAASgYAAE4AHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91
bmRzLXN0ZGVyci50eHRVVAkAAzxiCFA8YghQdXgLAAEE6AMAAAToAwAAzdC7CsIwGAXg3af4R10k
SXNrtoIihWKliItIiWkshdZKGhXf3svsA/zLGQ5n+DhHIbUwv6CCKpkoSoiS3KyrqqxM2/uJ1W5o
6sa7sfFh6dxcUCIXJ9gU8BuB2RR1vj1kRb6qy926yvZ5uQUDbb8K9pmFYF+TARujH24R4gjWOT9N
MN4jjBcI9tp6ePgQu08N3fU7Dd35Hj2Q2fEPkAqdogYywhVqIGdK4waKFDdQUM4wAxnlWuMGpiJB
DWQJxf0gk1qiAb4BUEsDBBQAAgAIANOc80DUkUKQiwAAAP0AAABEABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAkA
Az1iCFA9YghQdXgLAAEE6AMAAAToAwAAizY1szC1AhOGpobmZsbmxiampoamVq5BQf5BVuk5qcVG
8cm5KfEpqcn5KalFesnJGqaGBmaasQruPgpgRQpW7j7xnn5hjj6eLvFAMtRVwUohPcc9tcQxuSSz
LNWxpKQoM8lKITMvJbVCIb+0RCE/TaEoMS89lSsai+1mxhbmVLQ9NC8zLb8oF6v1AFBLAwQUAAIA
CADSnPNA1Q9N8/8AAACzCQAAUAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFz
L3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQJAAM8YghQPGII
UHV4CwABBOgDAAAE6AMAAM3VPWuEMBjA8b2f4hl7S0mied0OTg5BziKly1FEYxRBTYmx/fq1V7rd
WvoQSCA8w49/hly5UNzcNsqpFImkUklNTVZVZWWGya2stnNXd876zoUnax85JeLwBucCbkNgzkWd
X16PRX6qy+esOr7k5QUMDNMpNJ/Z5Ga3xNVAaJbBgd8i+B5avy3dCr0P0G5978LD9Q5FC5ngoCjC
NMdC0RQLhSmukVASqgkWSiqxVNlPiYXCEywPJJj6kypNjG5+jxA9NNa6df1l/Rg/XIjjfg3j8j0a
xnaLDsg9otapVDhqaa0ZQ12LEZISjZxIiaLYiWmCveK+cPx9O0Qw8Q+UL1BLAwQUAAIACADWnPNA
N45osUEBAABzDAAASQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmds
L3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAkAA0NiCFBDYghQdXgLAAEE6AMAAATo
AwAAzdXNS8MwFADwu3/FO+pl5KNpXnsrWstgdlKcHoaULs26QJdKm4n+97bz6mEHWXMJCQTeL+R9
bEWIIj4vVFAZBjySNGAiTotiXcRNqwdWqmNd1lp1te4XSt0KSsK7d3hOi8d18ZTk9ym8JUW+zLMY
Eud6szs5DQTMALUZql2r6wW8HMbjoRpgMI3dG1VZBx+633f9sbJKj3tbte77ZvsXKKKBVyBGQukX
iBF+AShbwfkSxNmqXOavyWr5UI7rJoUYmjbTLlHOfOpfYwzG1voLupODbg99ZRv9d3QpyT9G31gz
PfrS8IiEeZUeiJx7Bgok9QskkMyWr4go5Vz5GhCCHD3qHhMojJhfoOiidnY9UESkZyCK6BeIRXKm
ip6ii/kmUEAYGxusT7/BOA09A3Eh/AJ5NRInkJDzFRDjiPRKBfQDUEsDBBQAAgAIANSc80AXgePr
qQAAAIwCAABUABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5k
ZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAAM/YghQP2IIUHV4CwAB
BOgDAAAE6AMAAM3OQQuCMBjG8Xuf4j3WJdTccrsJigiiMaJLxFjzTQR1sc36+pXnPoCX5/DwP/yu
hCaELxOS8EgPjIVxwiKeC9EI3g3oIqnHVraoTYt2r/WWhAHd3aCoYImAF5Us60talZlsTrlIz2VT
A4duyKx65wOOOHnHQXmP49ODN6C0RufAzB7MA6yaOoQXWt9/b+inX2r7++wRgs31D5HEJFk7kRG6
ciKNYrYi4gdQSwMEFAACAAgA1JzzQPQJUTSeAAAARgEAAF8AHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55
LWluZGljZXMtc3RkZXJyLnR4dFVUCQADP2IIUD9iCFB1eAsAAQToAwAABOgDAADNjrEKwjAUAHe/
4o26SFKTKNkKLaVQWgniIhJi+iyFtpEk1d9XO/sBLjccN9yFiwOXCyine8EI2TEmiMyVapTsBgyJ
tmOrW7SuRb+1ds0pEZsrFBUsEcii0mV9Tqsy080xV+mpbGqQ0A2ZN698wBGnGCSYGHF8RIgOjLUY
Arg5gruDN1OH8EQf+4+Gfvqmvr/NEYGsLj8WOU3YHy2+AVBLAwQUAAIACADTnPNAiFOg0ZcAAAD6
AQAARAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3Rp
dmUtdGVzdC1zdGRlcnIudHh0VVQJAAM+YghQPmIIUHV4CwABBOgDAAAE6AMAAIs2NbMwtQIThqaG
5mbGFkYmBkaWllauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmhgZmmrEK7j4KYEUKVu4+8Z5+
YY4+ni7xQDLUVcFKIT3HPbXEMbkksyw1NC8zLb8o10ohMy8ltUIhv7REIT9NoSgxLz2VKxqL9UDT
jQbQenMTI2MqWu9YUlKUmUS87ZZmJvSxHQBQSwMEFAACAAgA05zzQAkOZwyUAAAAIgEAAFEAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1s
b2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAkAAz5iCFA+YghQdXgLAAEE6AMAAAToAwAAxY6xCsIw
FAB3v+KNupTEmliyFaniYCtBcChS0uS1DbSpJHHw7y3O7i7H3XY14xkTX1BG9zzNUkJ3nItCykqK
fsSwbfRkGoN6NugTrdeMEr55wLWQx0pe8vJQwD2X5bk8Cchj9LZ9RQQCNoCxQbUjmgRuw5KDChBs
7zqrlYvwRN/NflJO4+JOjfG9qn8MMZKlfxv6AFBLAwQUAAIACADUnPNA1NL1Y5IAAAAiAQAARAAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luc3RhbmNlb2YtdGVz
dC1zdGRlcnIudHh0VVQJAAM/YghQP2IIUHV4CwABBOgDAAAE6AMAAMWOsQ6CMBQAd7/ijboQiraQ
boSgcRBMY+JADCntA5pAMW0d/HuJs7vL5W67hrKM8i8IJSk7xCRjNMl4KUQt+DChT1o161ajWjS6
SKktJTHbPeBaimMtLnlVlHDPRXWuThzyEJzpXgEhBuNBGy+7CXUEt3HNUXrwZrC9UdIGeKLrFzdL
q3B1K6fw3jS/htL9/4Y+UEsDBBQAAgAIANSc80ARQNKZWQAAAF8AAABKABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVy
ci50eHRVVAkAA0BiCFBAYghQdXgLAAEE6AMAAAToAwAAizY1szC1AhOGpobmZiYGJkbmJsYWVq5B
Qf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGBmaasQruPgpgRQpW7j7xnn5hjj6eLvH+Aa5BjiGe
/n4KVkDIBQBQSwMECgAAAAAA6pzzQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAANoYghQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIA
CADqnPNAHLnjdWYAAABvAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5
c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAkAA2hiCFBoYghQdXgLAAEE6AMAAAToAwAAizY1NzCx
AhOGpobmZhYGpkbGJobGVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoW
pqaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAOqc80BEcd3X
ZgAAAG8AAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLW1v
dmUtc3RkZXJyLnR4dFVUCQADaGIIUGhiCFB1eAsAAQToAwAABOgDAACLNjU3MLECE4amhuZmFgbm
ZuZmlpZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl+UWV8SmJJYlJicWpesnJGhamppqxCs6Jeeol
CkWpufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQSwMEFAACAAgA6pzzQPluDrxmAAAAbwAAADwA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3ZlLXN0ZGVy
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
QcLB0fHgnsRmGUk4aOPZBE6gEfs1nQls5tzkLVXD/q74ze0etiNsW6trdc0w2avvv1ORpK/ZPBwN
pAyK7XeRLyB8Tdea2tU9/pepWdpbrc6NVP3A1IwGQ8dJ5qTTEI4C73rJcLreSc7hkMgUPQSh/zFc
DFkY+bEa9nJHV42SMP8CUEsDBAoAAAAAADWd80AAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQJAAP1YghQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAA
AABlnfNAAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL1VUCQADTmMIUNhjCFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAZZ3zQAAAAAAAAAAA
AAAAADIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L1VUCQADTmMIUNhjCFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAZZ3zQAAAAAAAAAAAAAAAADYA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9V
VAkAA05jCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAGWd80AAAAAAAAAAAAAAAAA7ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9VVAkAA05jCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAGWd80AAAAAAAAAAAAAAAABC
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvVVQJAANOYwhQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABpnfNAAAAA
AAAAAAAAAAAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUCQADVWMIUNhjCFB1eAsAAQToAwAABOgDAABQ
SwMEFAACAAgAaZ3zQI4YdeGIAAAAkQAAAHAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWFycmF5
LWxlbmd0aC1vdmVyZmxvdy1zdGRlcnIudHh0VVQJAANVYwhQVWMIUHV4CwABBOgDAAAE6AMAAB3H
sQrCMBRA0d2veKMupYnU0mxFojjYShAcREr68toG0lSSOPj3FpfDvc+qYKX4w1YqVu4ZL3IupFKt
EqOjyDucTWcIF0MhQ9wWLD/sXnCT6tSqa90cJTxq1Vyas4A6pWD7TyLIwUYwNurekcngPq076QjR
jn6wqH2CN4VhCbP2SGt77dJ38wNQSwMEFAACAAgAZp3zQNayAvKoAAAA1QIAAG8AHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAkAA09jCFBP
YwhQdXgLAAEE6AMAAAToAwAAzc69DoIwGIXh3av4Rl1IC22hbMSgcRBMY+JgDCltgSb8GFoH717i
6gXI8uac7blziuP0G7yEY5wQRnmY5kKUIm1748JKDbrSRk3azIFSW4oR2z3gkotDKc5Zsc/hloni
VBxTyLyfbf3yBhBYB9o6WfdGB3DtlttJB862Y2OVHD08zdxM8yBHZZY9yt6/N/dfEMMk4WsCxRGK
0JpACQkJXhOIU0TZ30AfUEsDBBQAAgAIAGed80D3G1uLzgAAAKIBAABuABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvcmVuZGVyZXItYW5kLXZlbmRvci1zdHJpbmdzLXN0ZGVyci50eHRVVAkAA1JjCFBSYwhQdXgL
AAEE6AMAAAToAwAAxY6xasMwFEX3fsUb2yXYct1gbW7iGoPrBJEmQyjm5UmxBYpcJCXQv69IxnTo
1uVwL1w4d1/k6ZxfkUYU6TObZwXLeCXESvDBKM96OsleKpqkcjOixzxNXp4+oW7hOgJet33Tbcu2
WfaRHxVwGMyrtrIMwelDOxEGPVkOjb2g0RJoRIcUlHvY3/mjnWXJH/zrSrytxHvZLSrYlaJruprD
zXgOChLQHqT2eDBKzmAzxjqiB68He9SENsCXcsfJndCSitmiCd+/H8oz9m+HfgBQSwMEFAACAAgA
Zp3zQFge2ojZAAAANAEAAGMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVy
ci50eHRVVAkAA1BjCFBQYwhQdXgLAAEE6AMAAAToAwAAjY9Ba4NAFITv+RVzbC7BTdDi3qSxIlgt
S2gPIchmfZoFXcPuS0v/fW2gtx56GWaGOXxzTGPxKO8iFknFNhXxLk1krlSj5DBS2LZm6tqOzNyR
3xjzEIsoWZ/wmqvnRr1k9VOO90zVZV1IZMzenm9MiGADOhv0eaRug8NliRcdEOzgemu0Y1zJ97Of
tDO0eKdH/lod/wBKIiH+AVRUuI8gi6ot67esKvdts2Bmh7KpITGMe68/85EmchwkNDNNVwbP0MZQ
CJhvjLmH124gfJBnu9Sw7mf6+2v1DVBLAwQUAAIACABlnfNAKYTQSsYAAABKBgAAbAAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQADTmMIUE5j
CFB1eAsAAQToAwAABOgDAADN0rEKwjAQBuDdp7hRF0nSJJpshRYpFCtFXIqUmMZSqFbSqPj21s4+
wC3/cPxwH8dVStCNnoNOoSjhW8kF02lZFqVuezey2t6aunF2aJxfW7sUlMjVGXY5zCXQu7zO9qc4
z5K6OKRlfMyKPWho+8Sbd+y9+YwaTAju9ggQBjDWunGE4RlguII399bBy/nQTWPo7r+q7y7P4IAs
qj/ATRRJ3EBFOGagIjRiuIGSKNTAaT/mC4rpC4lADRSccdxARXEDJRN4gF9QSwMEFAACAAgAZZ3z
QKC3dnKKAAAA/QAAAGIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4
dFVUCQADTmMIUE5jCFB1eAsAAQToAwAABOgDAACLtjQ1NLcCE4ZAwtLQwNzY0MLC0so1KMg/yCo9
J7XYKD45NyU+JTU5PyW1SC85WcPU0MBMM1bB3UcBrEjByt0n3tMvzNHH0yUeSIa6KlgppOe4p5Y4
JpdklqU6lpQUZSZZKWTmpaRWKOSXlijkpykUJealp3JFY7HdyNzQjIq2h+ZlpuUX5WK1HgBQSwME
FAACAAgAZZ3zQKASrKQBAQAAswkAAG4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91
dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQADTmMIUE5jCFB1eAsAAQToAwAABOgDAADN1j1rwzAQ
BuC9v+LGZimSog9LWyAmGExcTOkSirFl2Rhsq8hy+/frpnTL2NBbbjhueHjhuLtoQZW5FroVTYmQ
RCpi0rIsStOPbmGVndqqdda3LjxZ+ygokbs3OOVwHQJzyqvs/HrIs2NVPKfl4SUrzmCgH4+h/kxH
N7k5LgZCPfcO/BrBd9D4dW4X6HyAZu06Fx4uNyhUECwURniChaIUQ0LhKqFIKIIRjYUiucBBUXvB
kKSiOOESC0ULdQ9KHaOb3iNED7W1bll+WT/GDxfisLVhmL9Hw9Cs0QG5RdQETVqaSC2Rp0UZYdiJ
MsFOZPQ+l/8viYnmSNZiv70n/0D5AlBLAwQUAAIACABonfNAbHEibDoBAABzDAAAZwAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAkAA1RjCFBUYwhQdXgL
AAEE6AMAAAToAwAAzdU7a8MwEADgvb/ixnYJ0fuxmdY1gdQppkmHUIwjK47AkYutlPbf103XDBlK
reWQ4OA+cXdoqxgS+hzQGBQSc4aVwjotilWhm9YOuDTHuqyt6Wrbz4y5ZWjO797gOS0eV8VTkt+n
8JoU+SLPNCQh9G53Chbm4Aao3VDtWlvP4OUwXg/VAINr/N6Zygd4t/2+64+VN3Y8+6oNXzfbCyDC
WGQgrlhcIEnoFaBsCeck0NmyXOSbZLl4KMe4TkFD02Y2JCa4D/tr1OB8bT+hOwXo9tBXvrEXq1Ok
1B9WX3v38+hry3NEcFTd4IhJHhdIIBoXSGIy2bxyjBCdbl4FQSiq8RCESBEXiHEZF0iQyFomGYoL
pASfbKMFpZhPt9GSYqli6oakjNO4QILiuECSRwZScroFkgzz//oSvwFQSwMEFAACAAgAZp3zQClT
coypAAAAjAIAAHIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRp
Y2VzLXN0ZGVyci50eHRVVAkAA1BjCFBQYwhQdXgLAAEE6AMAAAToAwAAzc7NCoJAFIbhfVdxlrWJ
GU2nmZ2giCAaEm0kZBpPIvgT47FuP3PdBbh5Fx/f4imlx4Vaw5dI7ggmpHtSUVHkhWo6nJzK9HVV
oxlrtEdj9h5n/uEOcQrrCVScVkl2C9IkrPJLVATXJM9AQdOFVn+iDnscaFKgibB/EdAI2hicJhhn
gvEJVg8NwhsttcsM7fC72vYxEwLblX+IZ8GdjROl67CtE4Xvb4j4BVBLAwQUAAIACABmnfNAN0/S
PZ4AAABGAQAAfQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9v
LW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQJAANQYwhQUGMIUHV4CwABBOgDAAAE6AMAAM2OuwqD
MBRA937FHdulGMFHshUUEURLKF2khDTeiqCmJNf292td+wNdznA4w2l5xBKxga3gLExSzpNU5FI2
UvQj+lCZqVMdGtuhOxqzj1gQH25QVLBFIIpKlfX1VJWZas65PF3KpgYB/Zg5/c5HnHAmL0AT4fQk
IAvaGPQe7EJgH+D03CO80NGwahjmb+qG+0IIwa79XeRBGkd/tPgBUEsDBBQAAgAIAGWd80BmqSt1
lgAAAPoBAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAkA
A05jCFBOYwhQdXgLAAEE6AMAAAToAwAAxc0xC4JAGIDhvV/xjbWEn3rK3SYoIkiBYIvEUXefcqAe
XFf08xPXloao5Z1eeDrOMBVrcAnHgDMeJ5EomubYiGGkWyjVpKUmZTW5vVJbhkGyO0NZwzqBKGtZ
HU5ZXeVyaVuAgGEsyWfKmwe1s+mtmwSYWdMT7N2D7cFd5oE23TufBDHyP/IsjNIv8pn3zlw/1zni
b/QXUEsDBBQAAgAIAGWd80BnlKWwkwAAACIBAABvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQJAANOYwhQTmMIUHV4CwABBOgDAAAE6AMA
AMWOsQrCMBQAd7/ijbqURBprswWp4mArQXAoUtLktQ20qSRx8O8tzu4ux912dc5oxr+gC3JKyZ6S
LOWFlJXk/Yhh2+jJNAb1bNAnWq8ZJbvNA66FPFbyIspDAXchy3N54iBi9LZ9RQQCNoCxQbUjmgRu
w5KDChBs7zqrlYvwRN/NflJO4+JOjfG9qn8MMZKyvw19AFBLAwQUAAIACABnnfNAO7FaPVYAAABf
AAAAaAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQJ
AANRYwhQUWMIUHV4CwABBOgDAAAE6AMAAIu2NDU0twIThkDC0tDYCEgam1i5BgX5B1ml56QWG8Un
56bEp6Qm56ekFuklJ2uYGhqYacYquPsogBUpWLn7xHv6hTn6eLrE+we4BjmGePr7KVgBIRcAUEsD
BAoAAAAAADWd80AAAAAAAAAAAAAAAAAvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vaHR0cC9VVAkAA/ViCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAADWd
80AAAAAAAAAAAAAAAAA1ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9VVAkAA/ViCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAADWd80AA
AAAAAAAAAAAAAAA+ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAA/ViCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAA
ADWd80AAAAAAAAAAAAAAAABLABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvVVQJAAP1YghQ2GMIUHV4CwAB
BOgDAAAE6AMAAFBLAwQUAAIACAA1nfNApXgsOmsAAABwAAAAewAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L2luc2VjdXJlLWlmcmFtZS1pbi1tYWluLWZyYW1lLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQAD9WII
UPViCFB1eAsAAQToAwAABOgDAACLNje1sLAyNzMwszI0NTS3MDI0MwOSBlauQUH+QVbJqUUl8WWp
RZlplfEFRfnJ8XnFxXrJyRrmJiaasQrOrkEh8QHenhFhYBXOQMUKaflFCoZG5noGQGiokJaYmZOa
opBaVGSra2FoYcgFAFBLAwQUAAIACACSnfNAiJCZPTtYAAANgQIAJgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3Rlc3RzX3J1bjAudHh0VVQJAAOkYwhQuGEIUHV4CwABBOgDAAAE6AMAAL19aZfb
NtLu9/tfmO5Wd3v56DjL5L3JJMf2bPeLDyVCEtMUySFItZRff6sKAFfslN85Z2JbrOchiLWqUCgc
27a+axlv+V1a17t0d2R36W7HOE/OeZo0LMsbtmu/q4/1/zlqZHdNyo/J65GVSZme80Pa5uUhSV/T
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
GOXDMKgPqIBb0lVaVDl9i/7OOb/Wm2GAzzLmIgw/81dweaCc1LZcd4Daz8l1ed9nvR5gxdFjRT4+
bkHVbJWD4Nmr1iHHizIpynFQCoksReyOW+ZOD+tRKs6d/wVQSwMECgAAAAAAZ53zQAAAAAAAAAAA
AAAAACAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbHVnaW5zL1VUCQADUWMIUNhjCFB1eAsA
AQToAwAABOgDAABQSwMEFAACAAgAZ53zQMtCDDDvAAAAVQEAAEQAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbHVnaW5zL251bGwtbnBwLWdldHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVUCQAD
UWMIUFFjCFB1eAsAAQToAwAABOgDAABtULtOw0AQ7PMV15EU+LCT+HESoggUNIBMQRFFln23sle5
l+I9GfH1nJ100OxIo53RzBzzotyL5aT7tKjSbb4rdw+FeKnr91pM0HkderSNAg19S9Cg8brp6ZxI
uU6zanNib47YzIIBS6DYBVo5RETLOuc0iyZnJCGsbz0K8QXdx+L5fLN8jdpIo1VuAnWIcoLrx3rD
phvNrjlYFyhyNLiI32A6UAn7BGADkRecS6cg6Z3rNSTSGe65HC7OYDAcxzHAyBVQi/oJ1eO2zLJq
dfxvgTyv/iwwV5xLZ/lc+uCCVvYuNrdI2Gr8gSXiPdrVL1BLAwQUAAIACACtnfNAJsoH9QACAACN
BAAAKQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uVVQJAAPWYwhQ
12MIUHV4CwABBOgDAAAE6AMAAK2Ty27bMBBFf6XgqgXEGHl1oa6MxmgNJG0QOUB3AiWNJNYUyXJG
fjTwv3dIuUZ2TYKuLF2NDzl37sxvbsqHRfF4uyrePwkCJBT5k+iJfPw9CQM0Wp0eJLox1BDfN7oB
J5+r0lU/oSY862kwsQR2nt+hEbm4nxeFyISqaVT8TXx+mBdfWegVlkgNhCByCiMcDodMINRj0LSP
DKyD9iTr4BBd0J220jjVoKxdCEw3+5cct1r8WL1LYuTXqu5TD94hya2mXiapkThWAaZu8Mz3/h/Y
u2VRLL99YUljOWhEbbtSD6qDYzfZdERgl+JlZQf0P7DM3Q0mzirAr5FHFYG/IThpwHbcDjfhnUV4
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
vsbazCZlOPCZvrUGCmm8G+yawV+ScH/gdZP3yLcHJ8s0HUCFuQ11pj+ZwTt+8SLee53LO4VTyNUs
B3yA9BDrPFm3XCOFGq7ZYCX6wwB1Cw2FCRQT9yu2lpUz9I82eg45iuIk5jedrH2/z0zb9vCLj8i4
Xw/d/jttdOqnZlA3ThFnj8tlNuajHrTGXeG9ca9bD36ITnEL5o4E8FXr8Yfw/pivdJq99uOz0FXE
eVDu8UmI4zW4n9EM0GYenau/nOeHQosWm+AWL8uxPrLx0vxKyjCYhSW5PSMXppbZqdvtVfscIhPt
16s/6RVl+GagBtvsbdEDbg5rNSoih1zgjh25pfQrjgcffMPxN4JWLh2PMAkTHjdwElaPGTiSt08J
Jj7TIk3c3Pglb7VhVcTum7wlACvgUgaS6CvvnUp3YeeVpsqh9aQN2QpcSG9lKWpJ5mBVZ7L73QPS
TzzQDzdkYWd871Y7Z/Ks+xMFjmV1kxc2u6noK/3cAdNFzN9RV+Qu5esxXiHLRdTWw8OczvLZ/1we
//un46vrmw/H1z9eHP3d/Of15cHhcXvgJYAHz83I/HTyS2/xVk+Cec4vvpGFN15S4h+uzhpsvh93
Gib+H1BLAwQKAAAAAACPnPNAAAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvVVQJAAO9YQhQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAWnfNAAAAAAAAAAAAA
AAAAIwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvVVQJAAO8YghQ2GMIUHV4
CwABBOgDAAAE6AMAAFBLAwQKAAAAAACPnPNAAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvVVQJAAO+YQhQ2GMIUHV4CwABBOgDAAAE6AMAAFBL
AwQUAAIACACPnPNA/sGlHUABAABaAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUCQADvWEIUL1hCFB1eAsA
AQToAwAABOgDAACN0V1LwzAUBuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//dzFmH
wmBXIYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+seQ2b
yezqZWeTbvJj42RUhcno2zZ6jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUilQiZ
9ncCWzCG1maFBINrKgWnTmgFTgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20OIgOt
EHQGLtf7BtbplW+TY/vQtP0wbOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588uX30xYAtx
Ifh5PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAIAAACP
nPNAnOmndQYAAAAGAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0VVQJAAO9YQhQvWEIUHV4CwABBOgDAAAE
6AMAAFBBU1MKClBLAwQUAAIACACPnPNAVzVCW5kBAAAXAwAAQwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZGlmZi50eHRVVAkAA71h
CFC9YQhQdXgLAAEE6AMAAAToAwAApZJRb9MwEMff8ylO5WGgxInTrU00CVEKkwAxFdEKxBNy7Etj
5sVVfF5Tqn13HEo3gVRpEk+2z7/7+3/nY4xBRrebzIid9cQIHbEOnTfksoZokw0Rl0khG8w29vet
0h1KYmskhv0mbFGl1BNEcRz/l5qQ5IU5aM1mwPJkDHGe5Bxms4h9er1cRiyKgzh2IAie84S/AKd/
IpSc91POoxjgM7YKuy8at6eYJwnMjZU3sH+3uv54f5p9oK3awX6+ePvtAJdJ+Qcuyot+Ul4c4CO+
wlDi/hmF5V/xopj2efHAAwwQdL595LZaUTOAlzB6T2cOQiedrgxCbUNd4LyU6FztDXR4J4xWgrRt
gSxI4R0C3mFLbjjXofngdq1sOtta78wuha8h0lhvVHtGIDvhGtA12BbB1kCNfRRwZDdBpsHRSbv5
ZHI0fD7lwbCxQqWwRIRhINxlllV+7dItVjeaUtuts/D49nsIpnKtX2n1shgX03EKoye3kPf8b/bq
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
80NPhrB2vk1BddEffyNb4ncC287xW5XiH80ln0lXeZqGbO0uhusMNC0RNVeRS5hvPkNck5TLPldC
nLb9+p9jv3+G/TPsn2H/DPtn2D/D/u8Pk2oWpfWuOXD4VRQCXqijjkdKfjl95b8AUEsDBBQAAgAI
AI+c80CNpXyKjwEAAOgCAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXJlZGlyZWN0LWdldC13ZGlmZi5odG1sVVQJAAO9YQhQvWEIUHV4CwABBOgDAAAE
6AMAAI2SX0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7pjH17MjXockqvvuclYJAqsST
7Xt/5/j4T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9bvOhaWbwTZ/HOqnJhThU3IDQn
ugie05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59pK9awvV7++P54
EH2GrWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxgGyV92XET6H31
JwSVJVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLWWpoT
D8JxKkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJuFYe9
N79DMRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39t6Ms
7n7kP1BLAwQKAAIAAACPnPNAnOmndQYAAAAGAAAAUwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0ZWQu
dHh0VVQJAAO9YQhQvmEIUHV4CwABBOgDAAAE6AMAAFBBU1MKClBLAwQUAAIACACPnPNA1fYdYpAI
AAAbHwAAVwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13
aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADvmEIUL5hCFB1eAsA
AQToAwAABOgDAADVWWtv20YW/e5fMbCRui1MirIkW4/EReMHukW7KdbBLvaTMSSH4sQkR50Z2lKy
/e9750WRFCm52ADuNmhEzuPOue8zzNtU5tnV0duU4Bh+hNxk5OpontHi8QzNn6igksToyxGC/yRZ
Sy8mEeNYUlbMUcEKstBTIeMx4V7IpGT5HA1XaxTDM4kXR38cGXFWSMQyxufoJBjN9Jx/RzNyQ5PE
zoc4elxyVhax55YmU/WnfpA5QbCMxugkjmMzl7BCegnOabaZo5wVTKxwZAHmmC8pQB6SHAVmaMVA
Oa0HJxlo9EQ0oHTYQjoajTrkC1wITxBOk9qkoJ+JPqN+qJeRRM5R4E/ceEzFKsMgROIwI15EssxM
PNNYpiAgCN5YjDiOabGsdht81j3qqekhC5kWKQCT1fKUPRHe0moymSz6DE6IMYWv/PILnCXs5iRj
GFThdJnKpvfUqmswAaZFdRQD81MJagYH1LZaelpuw1LPKWjnaT+qcHvmeLVFdk8i5b/ewNGbm2HT
Dhkbt87uEFTBam1OuF2vwMUgH1QjZ8hXP20Ne+EJGpNwo/5GGur7jEWPv2EufVB1nlAupBelNIt7
DauOu4f9Z/uEcZKDa88OnGfPcOanBYQP8UK1pBF2Exd1EC2SRjjzcEaXkB+SdajFiYr2n3ARZ8SZ
w8pRJlTvKTEO3cZzVHKhXKNgt7MQh+Cd0nkMzqwCxySQhrcPRSPOd8Nhyclm0QpMf3LIX8bEyJfs
oJn9hLO8ZWxbI9UZyup/L/OQcIgmUo8uM+qA75ZSG7WzWaMIunTpKoUuk8fjcSv3dr1f1RglaGJS
wKRBVfRtHNjw7AoRA7cRTiNbsGqKaxU7C45pFL1m2VekFEJrO1dIbMA4HRppuuLEM4mqp8CU+hVU
4AQ/emrAyKU5XpKGU+bovLJ1mGFlQLUwgqoAGMCr9gm1Vd46ZDqe9ZbdhCTb3FcRBRKr7lhL5I6t
cRI3t4KfRf/yGZkt9rX0SpItMHUcNiH6u3Uc7whAMcn6d5DZQTSD79F9uVoxLqHRchvEYNQ8J4UU
6PsBnIdLmTJjb9OMFZeBgJcQopHzlN6g1/S0/2qNAoMhJPRiV8kuXEyrSoOz7Noh6Fx9btpYjtde
o7N3HQM23iuzSuAqc3dEtvf7bEVMd/SeSfhIpSe5yi6jtQGJ/HOxqEEeWwVPhMSyFO/LEFp11fZ8
lSmdcGBLyOKNnrO0x1WwsWupJ5KxLMS8KcBhC5nO1u14zj67wapEjUxKW0alHh1nUM/95LCvfuwl
ddsISejaViing4+LCKLNMi+natDU08eaoJhE3G3xzxSqBW8Foz0Koc8eLWKyhjK2R+Ntl6xB6FLX
lqtG75vaOlcomDalO/sWnAeOOAj0Ygt0aBq+61DmTYO1z1V7s68V4Iq2NY6mCce5QdjiyE2OUcus
655avGubDRBR9myJAMmAVYJbX9C1LmZ326iz4d4zqQ3RnKs4ZrzLnZvM2cow5tsN7V6+ELtKbI75
0ZUSdxcK6rMfXRdtXVouLl3J24W5J3dq1yGRY0P061W5YByGFz21yeqv+JnoOhzbrDPpHnQumePE
ZZduywWoc4z+g44XR1U7rjXx9u4MA0VniSc3K9Ip6tjsS0mmK2JFMrEimT0N6CQnQjhW0WuiLovW
AvteV+aX9DnoKcB2nigrxXU1AiT1Mymua52wq4k7PtHuKfVuAonpJZnK/KF2pC3Y9TEbTLYOjNzd
6kWorHeByBCpwrrRCCy362F29QYblpAYRb10uCYe06d5wiJrS1ZKlfL1DAqzUvcIOwXhkAAWaE1D
p0i9S2opQFQ+psScNLAtdgn4lQ6SIQlzoVltI0mgJ4pVWZW/2tgAsCFnz+B4oAAphr2W+VDpK6ZT
6TGeWJZe8Q377hJcsVX1f9Bsj+6zTZvD5zSGW5T1kCBlzB7M9eqBPAHSh1oR3lbdNw0q8qbZN+tX
Ol2+vOHQVmkVAcLd3ju6DrA5JvATOBdMTFq9py53px16Q39kiNf264kjDh1OPrm5uamVhJPp3c3d
5K6zhgFF7U6X29vbLtRzkq/kphldlgy1VvrwCEhtibFCZ9NgamtblBHMHzSFcBcKNaLvXala8nZg
P929FRGnKwgaHr07TqVciflggD/htb9kbAmbVlSo3NBjg4yGYvDp95LwzWDoj/1z++LntPA/ieMr
kKvlXaGm5IjFxFM+JM+w7gcIJeXMd+NRbQuAsp8VFTWEH0g4wI2FeHfq7hOn6tvj8Gog89UAIgDM
5EkClRcCr8ykGCgNBmpEDCIcpWSgMgXYtEw9/R57ooSLm2Alj4jwgMmUOPMl9DI4fNg8s/bN6HR3
Rt/l+8bVHR+Zu0xribrloOa3oe06KEyFW6g/DmxJxenVEAwF81eNVVAj6mu+KUKxWnQuhH59evXb
j/f3dhasDbC+FrjzrwCuDUz/9JsXkvWwbe2ivdj34GIv8IDGDrGoTpPo2+As+A6pKoCmQbC+CII/
Z++vCvi8HzBC/yBAw/k/ISP/crhH/2+GHh82tA5c9OWnj7/+8sdfDv9kH/5KA31hf//h5t9GgenZ
1CpwOR2vJ9PxKypwsV8Bp4K5tZyoibYTLi8v1sPL19Th8pAO5osX4mWxxa6plAI/R9/8XjK5+Js8
FYr6CKpYo/r6hYERRtDtRFJmUM+fgL7F+oOZYpgRLgVBmrAJ9Z5QTpDYFFHKWQGUO9v46F8wkrIy
i4tTiSKORQoXbOCdwD0ToJxsK0AAo1IslBgsr2jM6Z825nAyceYcXQTOnEChYh/dE4IcOQrLpfDN
lcZnfDkA0zw/wKAfLekPNH53eX55ce6jV7fA7H9OiWD9mjVpGLxMgVtYHsck/hB+ArKGvnx4//Pt
9UejCzjy7NypM4IyO5wEB2lGjTwrUqKn62u3P5qnAnHU/yb+X1BLAwQUAAIACACPnPNAjaV8io8B
AADoAgAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13
aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtd2RpZmYuaHRtbFVUCQADvmEIUL5hCFB1eAsAAQToAwAA
BOgDAACNkl9P2zAUxd/5FFflgSFViVtoE3WhE92Q2LSpE61Ae5oc+6Yx9ezI16HJKr77nJWCQKrE
k+17f+f4+E9WIpfTjHyrcRpJ1LCFnIv1ytnayAkcF5x/hEeIuJRvW7zoWlm8E2fxzqpyYU4VNyA0
J7oIntOfl4tF4ELxVSt4TjVv0QH38IH12SmQ+ouQMtaMGTsCuEEj0d0q3BxA3iOfaSvWsL1e/vj+
eBB9hq1sYTubf/m1Y9N++sQm6XkzSs//s3t6iY2H7bEPw1vrJBk3g2SPA3QMuNq8YBslfdlxE+h9
9ScElSVSuUYobDgTUC0EEhW1BocPXCvJvbIGvAXBa0LABzSeunWhHAK1RpTOGluTbiO4C5XS1lqa
Ew/CcSpBFWANgi3Al/bFgLytgk2JvUNpB6PRPu/ZmIW82nIZwQIRSu8rmsRxXq8o2mC+Vj6ybhWH
vTe/QzESK/VJyYtkmIyHEfTee3+sYa/Qqz85Solynt+jCKL57NvV5+VOFTL1h3vhWXjTwYg9/bej
LO5+5D9QSwMEFAACAAgAj5zzQLnHjybbHwAAqCsAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC5w
bmdVVAkAA75hCFC+YQhQdXgLAAEE6AMAAAToAwAA7XppVJNXu3astbai0FbFCiJtBVEQsDIJCLFF
5Q0IFBmCIERFxDDKlIAhYFVKCyoaBWQIODAIMUSGEMIUJ0BAQRMiQxhkCMiQMAdISHLutO951/nW
+n6c32c1CxYryX6evfc9XMN++PNXR9tNG9Q2IBCITah/HTmBQKz9HoH4zOPLz+CTrVu26sCfvZFH
PSJ9L/j5BkZEBSNMjM6c9d1vbmRkfNDIz/cno7PnTA4Yn/fzNTUyN/b1O2AU8YM6E4H4HoE68rNr
dLagj3DLlU82m1mru/Hq9z/uMTv6q/NhPun03rOmJUv2J6ob2febS7L6uNRXU5cMHRr0DVNb0oSe
D7/+1vedll7AL1+jD3sfaTDpVz1e+8P977+fOHIr+erGjS9j5AeneaGhS+M5O0ebjs6vrEaNZnPa
Y3IG5rM5GEJmqU1mwVcIRJiFcEIZgYh9/6UHAvH8832Iy6c/U0Uc3r9GCfH9vcvrEF8ff/YZ4svd
p9cgPt/8FIG48tV/hm1d654op458enrmJe5ik67F4LXNJK0Mk8APg4maPnEVbNmpt2/fdvoQgmk+
dZcWJ6LGyPhjonAzF2JesG6PaG/9EdOrgnGbEKWpXxqUpm7ZKHdz+1Akclkx75xEHDGYsO2808fy
dmtLFClsuHFrTvONGzdQpOs7zA9IZl8oGfZi64rzE9y9+rGhP9Kvl878q5seuoHqQ8R7cTEbLZ8W
Y9fp6+vPj7U7kUZS0T5YLHavuSc/wdKWFScNl+w//exyjwT3cpPZm2zzCKl4UcV6+eMPiTu+7Xne
Z794u7LoAq+Qa78wzvFPN9St5IVE67ldOjKly8OnB3eX8RvVQ3dY4qbS9L3YxsEBAdWrc601OIG4
WSf3nI6xiQk5eujPzlMRDi4uHNxCsdSt2LjEffoT2dQyWG24xLv5P2ssKdZgG1O/ZVlELst1XHv6
tU1D+0+h0ej+RDtJxKYdB2fI+P7uQFod7vB6vCHXtqfgYXCuu+H7ia9K7UPSDT96PxQ5M+jWNYPU
is3uUVkVhUi0Twx/iSWXXlWxPogiOVmvjFRwHAn8VHSZDTbzpprJBHMsZ/IDlecodFtUDWA9wi+8
XTa/5PI4cvGXP3EMN+9HouOzN712Wj4opsetn3xrNvAkco8D54a62ReLOoX0XpElXpgtmYPF1cll
EkvxsSR9RwF6b/e/84ld/Jbr9LhstdImKNCkx1zvQdKcM3qCjevQmXDf8ITt6MGl6u50JIjn34bG
zUMI31QSRFMrNQNSIeyzOS5WImDY3lDjFkRu5VIm9Du65pSrtzMI1y0HHR5Q0YYG73FvOsc+NbvE
VUhbH6UV9irHurvKL1Muvnj3wKZ8vt1yunZo827HbA80Gv983ba7ZiZw9zMvf9f3eHr61R/fLC4u
qhyaOTz7PlEzrsop1xomGxhpvkOpcC/zH32TYfP7xr0Lggz/nO2mQR4pO62E1ZMlc9ahPRXjXgNi
93QD75vW4k8NydvSVah5X/K9M6HGv7Hd8ROWnSddGpC3YmThKKWlfsL0/Z+vinoj2mVSyQBxqY/P
1RuPnaUnMbw8PUuYo5lEUXchzI2UjjtRpt5oOFOOUozHtXnaZENNQjPXvz2HTL9FvEt8f3SbHzJu
dbaJmbo397mxQ/xSzYBG2KtvCNN1Sx1FLkrEPfExs3N62AfsJ3XzbZZNOwlBjJC+uLk7uXc3UmN/
GitpPMvkOPe32/H1cx9NJJc7cA1CdRmfaT8qCR+rpFs32FP2W1JLcudwSTV3qYlaqPp58nQe9tJ4
fvp5pGOWqT4+PEJnD4qkbZ92fbtRgRcjBCnpbg8npFpW69o/Xh3p0alrqbKWLnDmrmyxnHj8CKo2
O1g+asZiTpW1lgkwq0PbGvoCXW7ruRVRd+n7/MLHRy5KStmW9plmhXxOuuRxEfF6xouH+vH/UqUQ
yRUWSm4tXnGLpG+51hhmfhc59xDfNjBG1Q2lRkfywymerYfc0YHP7Ob7r3KMBf11kjK/1gKnXJ+4
SLl0yYl0bm6kebKThqmOHK8KG94ZM3J76p29YV3kXLMOgI6iJXv9c4k5ceJxO2rq1DiPETprNf9s
rUpQb1XY7FBDkwa+10bFypXdTqHVi2WS6dCAAEVysYVkd2Ik03uirwZP0jI6/+a1ftvP6zUqYlfm
RkdHY+ZHowQ9dO7QPq/KJxcbjiarbq0MrVv8oCn9ZJtlGpx5wK8FCqH47xTr7cTmW991wqx0tdLq
AQUB0QicAgdspqmZWYqGpSlB5TX1+MrGtgyjMT3MSgs7376zxJvAcTDbKkLHxKCUmOVp5P1nXlyD
VQFWlaNpPnwXzkRH+mvyzbk4d93QlesV1QcDabiVjFTdXw9N6OKFuI7CWFzASaR2Uk0Hmz23Ot+u
omm9OpyCdORE8iqD1++M/nhlnZLuJn38lTIjmMwSOsWaKB4RFTvY71n6O78tFOehXNl47vm3manB
Tvf2n1meGaSgaY6cBU3ZoGYSpr/gR3TxCS9bT+nNkMW4N96/Yfuz05wwwvKHjT+p3q2ljuAKHCbz
uCcfRzq5VV9qVg+7MZ/qldS32uzCf0th76do3ejJDWe6BdPdqQGhz9QsIj9BN2ZlZbWq+OW2bo3L
RsbLziRqpAVrxq/Otqbpt1YWHs8IH7lt6x5APdde4JAVPll/cfDF+0e26VPt9cSMIhqNZl3da2Bi
YuLmOZtRUFBAEDL9Ox47m6jqMHLWrlc+VYMLbg6MwI/efMx96FYdMouLkbc25RAWp+Plkvjll5ps
Y6KQOVZSI6weSk933c3bk/McIiYDmGir7KR6oWOZdoaGoQ/ET4L7qulcLwo7YF+apQZXcrLW23oX
1aCth+Iddz5/w5Ylagu5RmNxby5ZrdOpdM7AG98XJRfT5JkF4xwnpFVIb5WuTSv5/pAREMg9HsVU
/4Fd/uMwtlJiSxO3GApLKhiQBWcW2Kfty7CImtBn9IZPUhkF2EtTpU2VWG+3cbcHdsEa2EXLai70
lFFlrGOE5mv+0ukbvvseL1SeePJ30PNrG8JbfVpjicKcQ9yB2vDEk9rYDtndVmoAhR7gRlj7YY7f
alg78+L51fVI+eo8F1Pv15rWRrb055Etonqqwnwr+7q6PLow/Z4rOb3mvDI/e5E2fUiacD5wu3e+
AUQYm2kAuPrm3k9mfZEcXijL2zcsfJIJSHSXZYr3F/7R41phx2NKDbszCIvbfKJ/kPg1Lc8Oj7Xn
5greQLUfA0Qti1d3K2OJW5MZgRl090T3otsK1CIgW/3zuA0nCfSI9qCotEBWRGCRk35yMfeHdDx2
nJ0PQN1dGcyLGSOjl0dYoqzHaT507Ff08RFdxhlhVXEgFrvdOjY6ImL+hln/8nhhbskpZvizy2sC
PzxZSWYtJw9xKh+9FmhiKX9jklEl19xBr/cqHYmg4OkeWRvYE/sqFgUF3PXRgtCimpU7heJe7gnG
UJ6zxCVEMlrqJtjkkcGMGFPecXD/Ej9BEtxM0t517PrrSiAuk+CeiqCaBw8GX212etLvOQuBIyxy
0UoDj/dMaZoEuA5ew8jFnVxbdJG92zGr6JmPU8jOD09OuviGkbRgS15nLCX36dDdgLf6MW7CNt1d
xaUXUsW/2j8rjlwcfJloeKrqIjRhghWwwkDV8lAyJnowIYgA2iWhzTU+RswqrOKeDIy6wEX77sZb
6C6W19ZmDG3HRoV98BH0GgVef+8m7B0SeVGd9NMDo14zvS0AwadrpuvjpOKtuhkEau9XxaVouuED
XZ3OA+MNwWkpFLd0b1z3mwwjw7oF9lSTUfuheRpUMq16opg0uKUycF+4xLZnQqOOuIYCUaRYX/PS
8A0pT7XgfIg60XVyXBjC4TlQnO+LGB2Kto+raGSM9+Y5Sz3prvTYy8EnflKtqKg4J/82Wra60j3w
vCei3WrsbRZ6TumKFmpn3PIgsO00YyCOubZqKEnPNKjraQC32MXJiv6uYSw3Pu7d/Z8N65fP2tjY
hP1oEAqYkLRVj6R1svTs0cwC7xoc+YCfna/v8FBDcor56L0ppQ3dX02z5HGZBZ2YeCkwc2dX18Go
iQ7YU3leqB665DhphIvGUNn5U9l28acLbFN2cgqdMPQALvDD+1LfpnZryZPYZe2X493lY1Pd5QCa
WdJvmEDzhViLuNVl84hR2Ezt4gevBBaRVGOEP0JVpZ7L4xP3GHiiiElNPkU5yOXnKsrmI7fUQ6oe
2PltSAd8SQFNcW2z47J0On6gqyua64bWRrEZoQN2Cfr7WEOq4f76koLXxW4UtrH041UV2B0z3K+5
Y4vhqB2l1EMYOSIywie1jj0WDwW50Fvbn7j+NuSMZkXwXHOH1rnfI/d0Ov0ckn7+zT1nUETSxU5/
pLua58rn+pj62oujtprEu+ST/f+GHz+2vbCMFMYdYskmWcqghItcCv+WAjVHZs2D9cNDUnuM2UNh
/P731P4U5vQ+ZoSnNZH5F+rsOVmRYOtXakq94+7/oIXnIOQqaQdM/oU8f/O4nZqJNV/Xjc71pBef
fWYnYxg7QOaGIAl4YS9Tu1C6OoacBl5/9efmCPUMY+wJIlF6ec1aOxm5Dz4iLHx6DyEZWn8kJlCb
kCQpP/38CuQDN9GBBVWXYiXyQDE4xn3gQMzHsjmwbqCEzjnal601dzWsZp6tjbA3Bu4Ui8W+N83P
91VHvfx9U81oZmCLofOBbEth1aPAzhKMmJ2etu/kgXOvb2UY+Rdge969u9iyt7CDy72x00qczlr1
w50XtvV+w/WpCFKktMgmvxRdPOYVWpeqhRKpi+1SUS3n/OtFPYGJGjgPuUyaC/ofRIVxVlPvC9U0
zA0g8FuWFRVB/1Zmt3ntvXsN/luZIctPrEuy9Za2BbsQW3QY99MWXXodY9Izs7ImJycHQPKRAlOD
0p1+FWbw61o0vFO173olee6uyyOTwvKxFriprrnMLYEhITv3nz7s6+srGgZTonzw4+Uh1b+BrpnS
Mv1JN/31SH15XupYRbQ4fPp5T5PHYxRzjs2td/QkJ0xQUzFWS+Po1ljtXIaO08p7z5yjqARFo1Ld
6WkxT0KaZAkMZDty7MsjMcCQITWCSqieSDReq2tb1Kmn84JKlO96WXuOupoaSavZ+uLaCxSQSPHy
pXjWXIsePsr2CtG5aZ3lgDDbGHdaqLdq+BDffuGrqbZjN3cwQV38JWpdnPq4xD8Xjmpsm/q2JoLd
5YD0WItYXu35jfXj54jlea3/j/f8X1rUf4b9NUzApFgiZlbuFIyXCD8LBseU6N23Tja1/LnS/eA8
SruGS2Obzuk1Fb8xJtr3bm5y/OvCeY19lxHguUEFLWeF1jOxnIKQvmqNqA7nQjLOc6yNzOtpM+k8
dUerOZjR5z4sMyW72O8SjI8Icd5dCZ/vuyzqqY2Zz0Pd8fT0NAAGybEi1INRBi29zMmVLeDjl/CW
5eoEAR1dOSusmQazeke+nCKvMqIpb4E190wCe8uWh1OaUjQHwDVpoRrBiIJ8Ig/cANw1MzPTQR2I
mRshxy+Sn/mjY29+6YEQLI5mhe5Ghb/+IfGuZg/IBCAv+Vi8TMeB85NvY3bUh5MalrjjsqXQGl3p
aCBAAUvMpX2geuEbt/tvmW5vk0tYconCIObn82vBWc293nVHa0WIZ3kdzAx2RWmlWohmmzTlIgbL
mxnOh/tfWhJK6TRi8OtbP7hZuPSXJhtUXxAvjNcRlmRZrJWsuqV+y6Xsud/MTE1lE2iWGHbjdHDw
2sny83zVvFU6/+jlvmuGzLUVnWA5SFp7VTajSG/Ilvj+2hj/7LBG2L91aH8tyI0P/VO+AHXgL8nh
LXtb0w0NkQqvkqKJrC8tDWu8vr1BosTME49ZwQI15bOaCldDZfRfWuGnxy+8t1WxWvhVn7y3MnKc
Xd5mEbgyx1fg5o1db3sUtgmmydlafiw1CVGTfXndOx832efP9Gi10MvvbTWtwkdea6F8wBv2ZHnX
RoeJelwczfNXP5U27bS8+PGZFgqI+d0HZfR4F1I+j1ya6o4AM61ivXyapJUbJ8bCrDjxeKEm1AyK
tM+z4rFIdk7HX37wvghNL//y6bAiZ9xHtil5e5K3tPYv18AK8+3TeyOKr5U7ZJkCG8LmS7xr0jSp
NNoAhOAvpcTDLTBPNI2+zcJ3euNNjI1jh9UH9gh9Ftu2TMLV3t7eMDdRdDKVY/dFDvkUGp0u+fm0
tmDfZ1MH66/C/l4mqsSLuv3T9b3SiGquT0BuAQcEBwS0zL2ylkzdEUx3lQ7DJIofkON2bz90dkL+
VH3UKSeacmLnmsEvL1JDg/H+aurqS+D1p7T5tnqbat/JoJCSl7bVnxhVF8bW/1WN6fEr6bQ6UQ8Y
iX4ahrXT6lIt6Db5Sq68G97qlVSdBYcSMdYmHdaU3yO+CgeNf96wGz9A7HxysvxsQ1KC0jb3ANHM
S5VcsEOBcCeoPkYR0rs6srsC6wIvEepEiZ3GZEcRB8KBXP54NVUPHYLxz7k0UQQ9Ag0S+end3KPU
L6xBPqVj4lYWQf4A3iYtMUzQK14np3avJn19v25icpK1VDetETvzfLOO4+qgSvwyIPImNeNPV5QM
/kUagTca0HmgexTMttnp0CwFIw0QkWhEQaACvoHrIrvOJLoFiJ6Ut6kdvPgRVq/gINPFMYiPAFYH
ZI/mZ9tpSMSdLB8MJn6AuASJC8L4Q7PMf3qUogxzwbW6SE/sR0XpP1+vuQoyeuN3++///sMLYclV
udXmw4JDRpQvVxb2OHAgFJUlJcI0r5CvJjrlXECzri8ebMg9vebpZF/08A0Qqm8gHooTGC3UF5vU
KiiEzwVDlh4IAL6rKjL8H0oGVadFU90AbNFNNzUSN24PB2JrrJwe1sMdcNpw2XR+ZDX2dknXyl+4
CkXzD7/8ddj7QZFX5OoMrtLHd9fbt2/RPjF+7TlWigo3G4gtt0lUthQnCRYAzFVLSMHT2ZOVbvk+
b7PNIwAemYbmg9c24y6kJ9mjg8a2XNzm6PLgKZS+1dAfu8DnGgd0PF6npHp3h767fajC2Cj7wWxA
LSBnDFirc9A6O6A8nawWXSlj/v3xcinYBQZ+up8wVWpbqcPQQHjedlcc6uraBnYAW7irYy9cuGca
3KM4zKFhkETxgo2yeZ5Vp6CThpHU9BWj7uwmThMG9Pr7zTuDKXZ1GzJ6BS6nqs9aFl6ueWlMjmSj
NGE+mL3AKdf67Ks/dP0/hEtOgZcH2/xLRESEaPjh0eTflTUyg+UzicjsQzFzQE/gLRZBf8qhgx7H
gdmgoGmw8IVkw/qu3l4gw1FdAeJX74YmPLSuZCApADvyzkalD+z2YBMaQ6RbdVIjG4bIAs1O0LKK
tlANTbyrdyrfh8vmaRhnD7HpdHsBw/I4B2AgNzgIqME+3cCt7Uk+A9b682wKuCUJvdMnK1jOY0m9
zshhxsabGl7SVWMH+QRNNsFgSYObtcN5a+5XB6RM32I8dFdfGTVjrQDAMOS/uJUsN6qHbsGphqIZ
gH2NjY1zUkhy3aVF8QLHyb7SpsVt/CGPeoJWvFQp0qWjwpjssufC7E/lrWvdnyvkXrx0EkOLc/Qi
SLi0uCggMb7ELLS/F4IwMdaeZUb7WqZb1KGM0A6QkiShcfNZ9USJaII7WYiUYs+MGcbNJj+/un4a
1r/2i433DoadPSNfGOckKmv0UL0Y6zVjn3LTCo9nzM21GuYShMzp2nnH5gcFBQWh8RLe4uIimHCP
snOoVLJ2f8wYGbR+AWFJCOjsRNJSuEWSloZF5HKjWb1zrRRIWHEcBnZPwzz8HDi5Qkey54Uz7DwU
3GdgpQ2/AfOlXqz9aH66jxqwG5CudxlZq1nxICJ2eQYwZQkKvE10biBs74BP1cVBoEIe0JSSYe3F
yQ/UVAPP7xxFPRRavQWvH2q0JmoSJ5cuYXDdft2K9dql7p12ew7k4mgxnvdL0waMeG/JiZiY1m0v
AV5ht+I7uasjl9cqf2d0/nj+GtV0PfxT7c3pBKYaxblfoLsOyzFO3TLTE0gTQJ0N1BPjReW5bpfc
hIwiYb1EqFBpqxdWBC4yatGVoS86IXIXB1+AXUpbmn+pgjwEAbHHpWUjw4ZePUqxvgTWqq8GzxJU
8sLt03nKCPPia7QX79OB7UfuOCme2NxxsmaC8z0kXeB0y64qW1wA6QAlMT/6drKHHlgZ0ZZtjllp
QacZeFfjBD1ZIdVFYu0N1qszL71CmHyQYj5gx8+MQaSJEAIzE5O3mSaTFRxHSll5Hm/z7uMeNTgB
7FqyMO5yIG1IIF0aQKJIzXd0gBvjQAgMN94gjNy2LbOBRWIqg7qhHFolckP5nCFIm8AVHElL5dDM
M2i7bYY+sb1hTVYL72ywmQZelU/evYDm3MBT2BRcuPvDKfRRNwOFYFoS8BgPHvwgKYUJNIkLztCh
7tSJTtqATm7siaIDzDrdLWcakramnwpvFjAGcui94Dxf5Os5nBKe/fTfB8F7stMsnw2Fp6qY4ofC
DdH2JrpYufHWGrD+8QuPNIN7KrAtd/de/WJT8ULx0IvzampqJVVDSUE1y59EfdYZ4E99It8fZSYq
srU0EM8Sr0jFi1kAgIptGJw6CDwNYz50KSP4ARs8mjTjV8v8WssEe10KdsSM3E6IyMzMBKrKcX50
bGvuqogX6s+DmgvkWL6qjppsA9TAyObSu1O68aVGUMxuuFEcAb4H0buv+2RtXdhw45B0fqwdOfX0
ZZkAWNMx5xBzxvvjWYVetDesc6337u14kaBkm7LTm8+GG2SZBttxFqDy1a1joynbHDgLJHsD5lI/
gWNM5KeiLSI/7QcFbuwQypKKJktqSuz8ihcCoJF22d6Mhe836AT1VBRxL6fWfNfC0r/7n7DpUuvc
Kc4oSWFR17Pf1kIHepWVr7o1JLztBVyHjLRUJqdUjomYnx4m7wQQnlN8dgm27WkVD8J1T1A72PSR
17dNKtceZmZ+5g79u2HAJjQoaKqXGVFZd/r5FRD7vZEcxbJwgyNQnEHdZfm1t9VAjhPW77h4uNK7
6tfSXjKzz6C/re9kWZ1fa9ovw6CqWTMvlNar7FxdnW/fZlYPXgcqkpWfn3+upraourpaN10CVoDQ
qs8I6q2afZC4U/FwYDH5/E7iwnuj9kNGDhwFGKFPhTXsLcwmFYw722pAVYS6FR1P9XG4t38QoIsW
GZf/J6XiO7s2Q83TKGbL+iyvx3bpgXS11Ir4zKStiSRdX0NaOzQMmUfp5RWmOd1nhPRderZmPcjU
kjyjLLNQHxDhMTqt7dPd5WO/b1IvE4BOTt1XaCdA3KIUXDYBGgWb5sfbtGmTTk702cq/zhlZleWs
R3cEtf/zzBBF2iKrw+dTQKBZJWiC3owATbytxKtLPomRV7e09YYU0tc9eSHpJmnb28m6VyG065V3
eNT6Q4ErEHUFhyqn1Ysn0lmr/Bcy4IutleUBq7Mp8TsscUHe3n2DiZoyUHCurAvnOQUOiqdtcKPf
N24vAxYE4G+DFL6591PC5nA9l3w0NrM/TiIw671oM+vmuckjVdWmeYW/dt9e9MrpiLHHbL4n9Zi2
M+fuOJfSCSLbHjdaX5xnbbsj7EgIreeSZMsbIJdfs6+kpaXZsfbrI+VT5e0GBlFhP1Eq1h4uSVoT
CC2NIp0bYETLVsbWb1JbGEo2NDU2vq6JjFMcPZoDQ9+zJoqL3SjCquGbNzUs4yAU2Mw4cE462Rdf
KB4QABlSSqp1USRYuvvkz6QOLrcvqtM7F+zABJcSP3NVc3XcKb5F2RsEwFIfHuPrO9xR5FKeoqcr
2OdRHxsDvsUQYy3+9EgL5V5yKqNgPIcgNAdvN7XteAMPReJzz8wiEEoGiv8FgPLZqm4a5EEP4BYV
5nhm2/+Ps9AGAQacWMJBj1pyAVbBXMcz2F1dVdGzQ4rTLRBM3TJw2W3wK+ih4/tj/ElaUsmSE2fh
j10398gN7POTVbPjZSuPjt0QQ6ayC8a1Aere/bzeIftg6UVjBgBgS/ECZK4AKwZHsgwI3ubYtttK
onYqLDWJb/A7uIvdKHZHh+tBauxlbb7u9iBFNYsU6RHkFpwdbkrJNfJ3tLdv9QqtiwIT7qpGCDvT
ulUzeFLgcvGtSecWuVWCsUNWVlY5BgPtFQXOFZA3fHEe/Fo3sD9rtlEdzJgGMi52cPISl7fme3TD
Zbc5yz/+3KxzXu5avOyke/ze/gf19bJ7vjdPQms8PfNS8Vw1SK54Sg4WZHF6QP6nTs5BYAJNUIbG
DnrSlWwtlKq+Z+TLTWbAd8OgqnxAKAy+g+ZRAKYj2eLGTqvqmck//waEemgSyOAAMHpakI58Ord8
03f7PwLjG4SMjSHlMUvCPqXpbqAme07kzMfngBrtoi2hhdjq/+dcsvuWEb43zBZSxFrIN/TTZLzJ
Ngd8AB9Y/64Odu7X/Gj1ofZRwsff1k9MTLjTfMgF47tSDrEB+0GvuhqiQ2hJenekhLo7jhZFIPJS
dd3ZN+YabtVNPFursi/bxfoZKTx1YyX7Fd+nJC3AlS3D6pYcs7F5CcBzAo02A2Z/gV/finE78HBB
rl84N/4vvV5rquIhG/Bi0pLiIAR1mxRamJqbWzA+0nxniQdQCVi37PO44ybyj3W/Hk2smDA7VD9j
Edm1bmu0dLETTfMhDv2pA9lns+dAJl7XsDSVNEq3vdzme5lnlmTY2LXmQiFyUt4dYWNjo6j2PFwB
YGJEM0m7u0kf6jl6NMO/DXwZuTdRYyL5p2cC9YZtvlOICk5u1LMWGSa0G/NDT4awdr5NQXXRH38j
W+J3AtvO8VuV4h/NJZ9JV3mahmztLobrDDQtETVXkUuYbz5DXJOUyz5XQpy2/fqfY79/hv0z7J9h
/wz7Z9g/w/7vD5NqFqX1rjlw+FUUAl6oo45HSn45feW/AFBLAwQUAAIACACPnPNAnEKPLYkIAAAP
HwAASwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRp
cmVjdC1nZXQtcHJldHR5LWRpZmYuaHRtbFVUCQADvWEIUL1hCFB1eAsAAQToAwAABOgDAADVWWtv
20YW/e5fMbCRui1MirIkW4/EReMHukW7KdbBLvaTMSSH4sQkR50Z2lKy/e9750WRFCm52ADuNmhE
zuPOue8zzNtU5tnV0duU4Bh+hNxk5OpontHi8QzNn6igksToyxGC/yRZSy8mEeNYUlbMUcEKstBT
IeMx4V7IpGT5HA1XaxTDM4kXR38cGXFWSMQyxufoJBjN9Jx/RzNyQ5PEzoc4elxyVhax55YmU/Wn
fpA5QbCMxugkjmMzl7BCegnOabaZo5wVTKxwZAHmmC8pQB6SHAVmaMVAOa0HJxlo9EQ0oHTYQjoa
jTrkC1wITxBOk9qkoJ+JPqN+qJeRRM5R4E/ceEzFKsMgROIwI15EssxMPNNYpiAgCN5YjDiOabGs
dht81j3qqekhC5kWKQCT1fKUPRHe0moymSz6DE6IMYWv/PILnCXs5iRjGFThdJnKpvfUqmswAaZF
dRQD81MJagYH1LZaelpuw1LPKWjnaT+qcHvmeLVFdk8i5b/ewNGbm2HTDhkbt87uEFTBam1OuF2v
wMUgH1QjZ8hXP20Ne+EJGpNwo/5GGur7jEWPv2EufVB1nlAupBelNIt7DauOu4f9Z/uEcZKDa88O
nGfPcOanBYQP8UK1pBF2Exd1EC2SRjjzcEaXkB+SdajFiYr2n3ARZ8SZw8pRJlTvKTEO3cZzVHKh
XKNgt7MQh+Cd0nkMzqwCxySQhrcPRSPOd8Nhyclm0QpMf3LIX8bEyJfsoJn9hLO8ZWxbI9UZyup/
L/OQcIgmUo8uM+qA75ZSG7WzWaMIunTpKoUuk8fjcSv3dr1f1RglaGJSwKRBVfRtHNjw7AoRA7cR
TiNbsGqKaxU7C45pFL1m2VekFEJrO1dIbMA4HRppuuLEM4mqp8CU+hVU4AQ/emrAyKU5XpKGU+bo
vLJ1mGFlQLUwgqoAGMCr9gm1Vd46ZDqe9ZbdhCTb3FcRBRKr7lhL5I6tcRI3t4KfRf/yGZkt9rX0
SpItMHUcNiH6u3Uc7whAMcn6d5DZQTSD79F9uVoxLqHRchvEYNQ8J4UU6PsBnIdLmTJjb9OMFZeB
gJcQopHzlN6g1/S0/2qNAoMhJPRiV8kuXEyrSoOz7Noh6Fx9btpYjtdeo7N3HQM23iuzSuAqc3dE
tvf7bEVMd/SeSfhIpSe5yi6jtQGJ/HOxqEEeWwVPhMSyFO/LEFp11fZ8lSmdcGBLyOKNnrO0x1Ww
sWupJ5KxLMS8KcBhC5nO1u14zj67wapEjUxKW0alHh1nUM/95LCvfuwlddsISejaViing4+LCKLN
Mi+natDU08eaoJhE3G3xzxSqBW8Foz0Koc8eLWKyhjK2R+Ntl6xB6FLXlqtG75vaOlcomDalO/sW
nAeOOAj0Ygt0aBq+61DmTYO1z1V7s68V4Iq2NY6mCce5QdjiyE2OUcus655avGubDRBR9myJAMmA
VYJbX9C1LmZ326iz4d4zqQ3RnKs4ZrzLnZvM2cow5tsN7V6+ELtKbI750ZUSdxcK6rMfXRdtXVou
Ll3J24W5J3dq1yGRY0P061W5YByGFz21yeqv+JnoOhzbrDPpHnQumePEZZduywWoc4z+g44XR1U7
rjXx9u4MA0VniSc3K9Ip6tjsS0mmK2JFMrEimT0N6CQnQjhW0WuiLovWAvteV+aX9DnoKcB2nigr
xXU1AiT1Mymua52wq4k7PtHuKfVuAonpJZnK/KF2pC3Y9TEbTLYOjNzd6kWorHeByBCpwrrRCCy3
62F29QYblpAYRb10uCYe06d5wiJrS1ZKlfL1DAqzUvcIOwXhkAAWaE1Dp0i9S2opQFQ+psScNLAt
dgn4lQ6SIQlzoVltI0mgJ4pVWZW/2tgAsCFnz+B4oAAphr2W+VDpK6ZT6TGeWJZe8Q377hJcsVX1
f9Bsj+6zTZvD5zSGW5T1kCBlzB7M9eqBPAHSh1oR3lbdNw0q8qbZN+tXOl2+vOHQVmkVAcLd3ju6
DrA5JvATOBdMTFq9py53px16Q39kiNf264kjDh1OPrm5uamVhJPp3c3d5K6zhgFF7U6X29vbLtRz
kq/kphldlgy1VvrwCEhtibFCZ9NgamtblBHMHzSFcBcKNaLvXala8nZgP929FRGnKwgaHr07TqVc
iflggD/htb9kbAmbVlSo3NBjg4yGYvDp95LwzWDoj/1z++LntPA/ieMrkKvlXaGm5IjFxFM+JM+w
7gcIJeXMd+NRbQuAsp8VFTWEH0g4wI2FeHfq7hOn6tvj8Gog89UAIgDM5EkClRcCr8ykGCgNBmpE
DCIcpWSgMgVmY8qhT3uQWh6wlxJnvoT+BQcOm+fUvhOd7s7o+3vfuLrXI3N/aS1RNxvU/B60XQfF
qHAL9QeBLZE4vRqCcWD+qrEK6kJ9zTdFKFaLzoXQo0+vfvvx/t7OgoUB1tcCd/4VwLWB6Z9+80KC
HratXbQX+x5c7AUe0Ngh/tRpEn0bnAXfIZX5aBoE64sg+HP2/qqAz/sBI/QPAtSb/xOy8C+He/T/
ZujxYUPrwEVffvr46y9//OXwT/bhrzTQl/T3H27+bRSYnk2tApfT8XoyHb+iAhf7FXAqmJvKiZpo
O+Hy8mI9vHxNHS4P6WC+ciFeFlvsmj4p8HP0ze8lk4u/yVOh6I6giimqL14YWGAUAUNMygzq+RNQ
tlh/JFOsMsKlIEiTNKHeE2iOSGyKKOWsAJqdbXz0LxhJWZnFxalEEccihUs1cE3gmwnQTLYVIIBF
KeZJDJZXNOb0TxtzOJk4c44uAmdOoE2xj+4JQY4QheVS+OYa4zO+HIBpnh9g0I+W9Acav7s8v7w4
99GrW2D2P6dEsH7NmjQMXqbALSyPYxJ/CD8BWUNfPrz/+fb6o9EFHHl27tQZQZkdToKDNKNGmBUp
0dP1tdsfzU2BOOp/B/8vUEsDBBQAAgAIAI+c80DbKJQDoQEAAC8DAABPABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
cy1kaWZmLnR4dFVUCQADvWEIUL5hCFB1eAsAAQToAwAABOgDAACtklFv0zAQx9/zKU7lYaDEidOt
TTQJUQqTADEV0QrEE0rsS2OWxZF9XlKqfXccSjeBVGkPPFl3/t3//nc2YwwSuu2SpthpR4zQEjNo
XUM2qYm6ZMzYRBSixqTT/rZXVLPfsWTWlR7Wzgi0DIcOBaGMaSAIwjD8b8qFIFc0B93FAlgaTSFM
o5TDYhGwT6/X64AFoW+EBgqC5zziL8Cqnwg558Oc8yAE+IytRPNFYX+KeZLAstHiBvbvNtcf70+z
D7SWO9gvV2+/HeA8yv/AWX4xzPKLA3zEN+hH3D8jf/wrnmXzIc0eeIARAuPaR65XkuoRvITJezqz
4LdqVdkgVNrPBdYJv01buQYM3hWNkgUp3QJpEIWzCHiHLdkxrpRBsLtW1Ea32tlmF8NXn6m1a2R7
RiBMYWtQFegWQVdAtX4UsKQ7L1Pj5KTddDY7Gj6fc2+40YWMYY0I4+ewl0lSuq2NeyxvFMXabBPf
vP/uk7HYqldKvsym2Xwaw+TJK+QD/5u9ui1RSpSr8of/ubBfLT9cvdkcyryraHqsPPcvm8548AtQ
SwMEFAACAAgAj5zzQP7BpR1AAQAAWgIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC50eHRVVAkA
A71hCFC+YQhQdXgLAAEE6AMAAAToAwAAjdFdS8MwFAbg+/2Kw7yYwuiyj34wEGE6UFEGOhSvJE1O
17iYjCRdW4f/3cxZh8JgVyGH5z05SSSt0QB1cEq65Ays+EBICKkiQloAD6g4mieB5QEij4hPpGZL
2FzP7+8+D9JfrHkNm8ns6mVnk27yY+NkVIXJ6Ns2eo6Vg82J88v/1nEcVf244QBbA6ZQe1YK7vKt
G0P7xnUsrLS1IpUImfZ3AlswhtZmhQSDayoFp05oBU4Do4VFwDUqZ7f7TBgEWyuWG610YWUdwLOv
5LqQXHUcMENtDiIDrRB0Bi7X+wbW6ZVvk2P70LT9MGzmHUbEzys15QE8IkLu3MqOe720WNigxHQp
XKDNoufPLl99MWALcSH4eTyIo0EA7WPfj1TkD52+p8g58ln6hsyHZpPb6eV8l/IzdQdNcOj/tB+S
1hdQSwMECgAAAAAA4ZzzQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL21pc2MvVVQJAANVYghQ2GMIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACADhnPNA
FTU1knoAAAC8AAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy94
c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADVWIIUFViCFB1eAsAAQToAwAABOgDAACNjkEO
wyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9caZrb4
DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k87qX
LDEvP1BLAwQUAAIACADSnPNAYzqfBmsAAABwAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQJAAM8YghQ
PGIIUHV4CwABBOgDAAAE6AMAAIs2MzI0sAISZlaGpobmZsZmpsbGBsZGVq5BQf5BVsmpRSXxZalF
mWmV8QVF+cnxecXFesnJGuYmJpqxCs6uQSHxAd6eEWFgFc5AxQpp+UUKhkbmegZAaKiQlpiZk5qi
kFpUZKtrYWhhyAUAUEsDBAoAAAAAABad80AAAAAAAAAAAAAAAAAtABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvVVQJAAO8YghQ2GMIUHV4CwABBOgDAAAE6AMA
AFBLAwQKAAAAAAAWnfNAAAAAAAAAAAAAAAAAMwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL1VUCQADvGIIUNhjCFB1eAsAAQToAwAABOgDAABQSwME
CgAAAAAAFp3zQAAAAAAAAAAAAAAAADgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL1VUCQADvGIIUNhjCFB1eAsAAQToAwAABOgDAABQSwME
CgAAAAAAFp3zQAAAAAAAAAAAAAAAAEAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvVVQJAAO8YghQ2GMIUHV4CwABBOgDAAAE
6AMAAFBLAwQKAAIAAAAWnfNA8ju6VyQAAAAkAAAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItcmVsb2FkLXN0
ZGVyci50eHRVVAkAA7xiCFC8YghQdXgLAAEE6AMAAAToAwAARXJyb3IgaW5zdGFsbGluZyBleHRl
bnNpb24gJ3Y4L2djJy4KUEsDBAoAAAAAAM2c80AAAAAAAAAAAAAAAAApABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9tZWRpYS9VVAkAAzFiCFDYYwhQdXgLAAEE6AMAAAToAwAA
UEsDBAoAAAAAAM2c80AAAAAAAAAAAAAAAAA2ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvVVQJAAMxYghQ2GMIUHV4CwABBOgDAAAE6AMAAFBL
AwQUAAIACADNnPNAhGogvwwBAACqAQAAXgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLWNyYXNo
LWxvZy50eHRVVAkAAzFiCFAxYghQdXgLAAEE6AMAAAToAwAAdZDRSsMwFIav3VPkcr3LWk27gwhz
E/RCJmvVCxly0pzMYJqUtJXt7e3s0Cp4d3LI9+X/UwZs3pj1O6Z9YKuuqjfkFIUiELFpbRS7EOk8
gklerNaPBbBLqur2cHU832w2wM4kNgSgSHY7gLzF8r0IWNJ4nkbshe9FlvAZbf+SU3TeHSrfNcxh
RU3dA9GJPubJzc6hvUWnLIWTSWgRz0cmvk+1TM5Rk0LNf/bPJJc+9I/ckzL4YPFAAaDxXShpIX1o
B5+klGd8+x+Xf91/yu5cS6HPAtB/0VrnbSCslmit7KMOplmsRJnhSPWRAZhv8LoztjXudaizqM0R
H9C0nEkR/yqV6DnPUsVFIuLJJ1BLAwQUAAIACADNnPNAp48l/9gAAAA5AQAAWwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1vYmplY3RzLXN0ZGVyci50eHRVVAkAAzFiCFAxYghQdXgLAAEE6AMAAAToAwAAXY4x
T8MwEEbn5Fd0bDcnQY57WykDDAikIBhQhc72ubJw7MixUfvvMU2FENsN7737KokzAWiS+QgwJFSf
LxEV/b3Xm9U7O3HRsYYOdbUYa/TBn8eQ55XHkeapgJurdZfHabBHj+4evXYUrwVueLstBXbqjexu
0JBGw+rqjeQ+xBJ9JG3x2eGZIsAcclS0kyGmxZfUM8EO//nhwr2KB58olp8A5PWTGVIkHPfonCyT
lkLTaq4ElsSXALC/wm22Lln/sczdTfZHW5ReNZK3l9Gd2TLRa8Y73tbfUEsDBAoAAAAAAAGd80AA
AAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9VVAkAA5FiCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAPec80A8m99MRQAAAEkAAABb
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jv
c3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUCQADgWIIUIFiCFB1eAsAAQTo
AwAABOgDAABz9HENCrFSKE4uyiwoUShKzNPjCsnILFYoSS0uUShILC5OLVbITFMoyUiFqcnJT0wp
VkjOLypKTS7JqdTj4gpwDA7mAgBQSwMEFAACAAgA+ZzzQFZwUmliAAAAjgAAAFUAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVy
bmFsLWVudGl0eS1zdGRlcnIudHh0VVQJAAOGYghQhmIIUHV4CwABBOgDAAAE6AMAAI3MMQrDMAwF
0N2n+FuWguhqOvYG3QvC+Q4B2zKKAuntS2/QA7xX98YsIowiV29SNLTZlu8ZU/2gg+7myHhaOTtH
YD/APuOT0jvVv/kr1AOhG3hNluB6w/JYMCxQ7Rzrr/sCUEsDBBQAAgAIAPmc80BgS2YQkQAAAPsB
AABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAOGYghQhmIIUHV4
CwABBOgDAAAE6AMAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5K
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
b3JyZWN0bHktZGlmZi50eHRVVAkAA4FiCFCBYghQdXgLAAEE6AMAAAToAwAArZDBasMwDEDv+Qrd
U8fJxtjIKaWEwehWaNoP0BylMSR2sJSu/fu5LRu7jcHQQUJIT+IppUDLOOkBz34WJcSiAvE8COte
ZNKXDmsmMwcrZ80m2EmUCZ7ZB3uwTg0eW1bGh0BGhrOi0xQLajM5CSRpmv77BTQy43DjVxWoYnEP
abF4gKpK0tXmrdmsa3itm2b5XJewd4wdwQsesbmyAUVojFk8WGfFohAgODzaA4r1DkyP7kDQ+QBd
wJHgw0oP++0aLh+XWhd3j1keoyif8jz/8Ty69t2fqFX2uqgiYlTip6yXcYgwP/6RGFX5ORjiX9hZ
kiawXNfbXQk3hRDQZQnsestwcQwTMhOD7UB6+hq6uoVvt3Eh+QRQSwMEFAACAAgA95zzQMyMSI4O
AQAAtgEAAFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nj
cmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktd2RpZmYuaHRtbFVUCQADgWIIUIFiCFB1
eAsAAQToAwAABOgDAACVkMFKA0EMhu/7FAHPndl6UdZ1ocgiSLXSrQ+QzmQ7g7szyyStFvHdnVq8
eBHJIYHk/yBf7QhtU7McB2qUpQE+YIvmdZfiPtgKLnrEG/gEhdb+XmF/WtX6HK71GTWlPPOEAcyA
zLc52NytnrrVsoXHtusW920FL4GxJ3jAA3Ym+UkARWjMXSL44MWjECAEPPgdio+Z5jDsCPqYoE84
Erx5cfCyXoITmSqt55dXqsw1r67LstRMZp+8HDVjsNv4Tnbmv4OzjBhnEiflZBwyLI7/JCbiuE+G
+A+2ym6yiKYoFst2vamAz78mDKrYOM8gxAJT1kQMvgdx9HMzRLQMJqZERoajKornRdcVtT75/QJQ
SwMECgAAAAAAAZ3zQAAAAAAAAAAAAAAAAEIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAA5FiCFDYYwhQdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIAAGd80BjqqxsggAAAKgAAABqABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZm
ZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADkWIIUJFiCFB1eAsAAQToAwAABOgD
AAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lII
y22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LK
nZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAAGd80BjqqxsggAAAKgAAABYABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
eHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADkWIIUJFiCFB1eAsAAQToAwAABOgDAAAtjUEKwzAM
BO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHG
YMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFE
m4Lsak3U8Zq+UEsDBAoAAAAAAKad80AAAAAAAAAAAAAAAAAgABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcmV0cmllcy9VVAkAA8djCFDYYwhQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAK2d80Ce
vx6VowAAABIBAAAuABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy90ZXN0c19ydW4w
LnR4dFVUCQAD1WMIUMdjCFB1eAsAAQToAwAABOgDAABljkEOwjAMBO/8xeQd3PiCm7pJRGoH20GU
15PCgUqcvKudlTe7t+BkbsEodi2+BYtamkNUMRMtqTBUwdkgiipFr9s5+1pP+dd9rnV3Svc+fHiR
ClTi5BmUrAkbfTsLjpgexKM0F2voMcNKZpgIzLVwghkdD/SiOIAQMWaa4ePGks5OeqD2haSfc+Gr
Shp/7T/vvAtYRFdoYg44SXeYKvLtS78BUEsBAh4DCgAAAAAArZ3zQAAAAAAAAAAAAAAAABgAGAAA
AAAAAAAQAO1BAAAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL1VUBQAD1mMIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAAKWd80AAAAAAAAAAAAAAAABDABgAAAAAAAAAAACkgVIAAAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9weXdlYnNvY2tldC53cy5sb2ctMTlKdWwyMDEyLTE5NDUwOS1lcnIu
dHh0VVQFAAPGYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAhpzzQB3JJj8NNAAA2XwCADQA
GAAAAAAAAQAAAKSBzwAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91bml0X3Rlc3Rz
X291dHB1dC54bWxVVAUAA6thCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACVnfNA1tX2odO8
AABXmQUAJgAYAAAAAAABAAAApIFKNQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVu
MS50eHRVVAUAA6ljCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACdnfNAkEAKNfe+AABwQQUA
JgAYAAAAAAABAAAApIF98gAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMi50eHRV
VAUAA7ljCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAClnfNAAAAAAAAAAAAAAAAAQwAYAAAA
AAAAAAAApIHUsQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQud3MubG9nLTE5
SnVsMjAxMi0xOTQ1MDktb3V0LnR4dFVUBQADxWMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
ACGd80AAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQVGyAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L1VUBQADzWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAAOd80AAAAAAAAAAAAAA
AAAkABgAAAAAAAAAEADtQaiyAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9V
VAUAA5ViCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAADnfNAQTp/05oHAAD4FwAAQwAYAAAA
AAABAAAApIEGswEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJv
Z3Jlc3MtcHJldHR5LWRpZmYuaHRtbFVUBQADlWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAA
AAOd80DW0dp5LgAAAC4AAAA/ABgAAAAAAAEAAACkgR27AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1leHBlY3RlZC50eHRVVAUAA5ViCFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAADnfNAbKMq8r4AAADwAAAAPQAYAAAAAAABAAAApIHEuwEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRt
bFVUBQADlWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAOd80ApJndpdAAAAH0AAAA9ABgA
AAAAAAEAAACkgfm8AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Q
cm9ncmVzcy1hY3R1YWwudHh0VVQFAAOVYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAA53z
QDRdBubFAAAAGgEAADsAGAAAAAAAAQAAAKSB5L0BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWRpZmYudHh0VVQFAAOVYghQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAIZ3zQAAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BHr8BAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QveHNsL1VUBQADzmIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ACGd80CBSnetSwAAAKwAAABMABgAAAAAAAEAAACkgXm/AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQF
AAPOYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIZ3zQFBdSDeMAAAA+AAAAD8AGAAAAAAA
AQAAAKSBSsABAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtYmFkLWltcG9y
dC11cmktc3RkZXJyLnR4dFVUBQADzWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACGd80Bt
R9RehQAAAPEAAAA9ABgAAAAAAAEAAACkgU/BAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQFAAPNYghQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAA0pzzQAAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BS8IBAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL1VUBQADPGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAANac80AAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQanCAQB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9VVAUAA0RiCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADWnPNAATZYZYkAAACRAAAAUgAYAAAAAAABAAAApIENwwEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1hcnJheS1sZW5ndGgtb3ZlcmZsb3ctc3RkZXJy
LnR4dFVUBQADRGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANSc80Cig76DeAAAAIAAAAA+
ABgAAAAAAAEAAACkgSLEAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9pcy1vYmplY3Qtc3RkZXJyLnR4dFVUBQADQGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ANOc80Dto/iWqgAAANUCAABRABgAAAAAAAEAAACkgRLFAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVyci50
eHRVVAUAAz5iCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADUnPNA7x4G9twAAAA0AQAARQAY
AAAAAAABAAAApIFHxgEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
aW5kZXgtdmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAAM/YghQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgA0pzzQMrTNKnGAAAASgYAAE4AGAAAAAAAAQAAAKSBoscBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJy
LnR4dFVUBQADPGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANOc80DUkUKQiwAAAP0AAABE
ABgAAAAAAAEAAACkgfDIAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4dFVUBQADPWIIUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIANKc80DVD03z/wAAALMJAABQABgAAAAAAAEAAACkgfnJAQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3Rk
ZXJyLnR4dFVUBQADPGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANac80A3jmixQQEAAHMM
AABJABgAAAAAAAEAAACkgYLLAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAANDYghQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgA1JzzQBeB4+upAAAAjAIAAFQAGAAAAAAAAQAAAKSBRs0BAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVz
LWluZGljZXMtc3RkZXJyLnR4dFVUBQADP2IIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANSc
80D0CVE0ngAAAEYBAABfABgAAAAAAAEAAACkgX3OAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGlj
ZXMtc3RkZXJyLnR4dFVUBQADP2IIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANOc80CIU6DR
lwAAAPoBAABEABgAAAAAAAEAAACkgbTPAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQADPmIIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIANOc80AJDmcMlAAAACIBAABRABgAAAAAAAEAAACkgcnQAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlv
bi10ZXN0LXN0ZGVyci50eHRVVAUAAz5iCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADUnPNA
1NL1Y5IAAAAiAQAARAAYAAAAAAABAAAApIHo0QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvaW5zdGFuY2VvZi10ZXN0LXN0ZGVyci50eHRVVAUAAz9iCFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACADUnPNAEUDSmVkAAABfAAAASgAYAAAAAAABAAAApIH40gEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZp
b3VyLXN0ZGVyci50eHRVVAUAA0BiCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADqnPNAAAAA
AAAAAAAAAAAAKAAYAAAAAAAAABAA7UHV0wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9m
aWxlc3lzdGVtL1VUBQADaGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOqc80AcueN1ZgAA
AG8AAAA6ABgAAAAAAAEAAACkgTfUAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtY29weS1zdGRlcnIudHh0VVQFAANoYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgA6pzzQERx3ddmAAAAbwAAADoAGAAAAAAAAQAAAKSBEdUBAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRVVAUAA2hiCFB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACADqnPNA+W4OvGYAAABvAAAAPAAYAAAAAAABAAAApIHr1QEAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1zdGRlcnIudHh0VVQF
AANoYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApp3zQPXb9Vx0oQAA8agHACYAGAAAAAAA
AQAAAKSBx9YBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0VVQFAAPHYwhQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApJ3zQAWyTpU9iwAA7JUDACYAGAAAAAAAAQAAAKSB
m3gCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjMudHh0VVQFAAPEYwhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgApp3zQKUPTQ7qGQAALGwCACUAGAAAAAAAAQAAAKSBOAQDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vycm9yX2xvZy50eHRVVAUAA8djCFB1eAsAAQToAwAABOgD
AABQSwECHgMKAAAAAAA1nfNAAAAAAAAAAAAAAAAAIQAYAAAAAAAAABAA7UGBHgMAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQFAAP1YghQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAZZ3zQAAAAAAAAAAAAAAAACoAGAAAAAAAAAAQAO1B3B4DAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VUBQADTmMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
AGWd80AAAAAAAAAAAAAAAAAyABgAAAAAAAAAEADtQUAfAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL1VUBQADTmMIUHV4CwABBOgDAAAE6AMAAFBLAQIe
AwoAAAAAAGWd80AAAAAAAAAAAAAAAAA2ABgAAAAAAAAAEADtQawfAwB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9VVAUAA05jCFB1eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAABlnfNAAAAAAAAAAAAAAAAAOwAYAAAAAAAAABAA7UEcIAMAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9VVAUA
A05jCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABlnfNAAAAAAAAAAAAAAAAAQgAYAAAAAAAA
ABAA7UGRIAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvZmFzdC9jYW52YXMvVVQFAANOYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAaZ3z
QAAAAAAAAAAAAAAAAEgAGAAAAAAAAAAQAO1BDSEDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUBQADVWMIUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGmd80COGHXhiAAAAJEAAABwABgAAAAAAAEAAACkgY8h
AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWFycmF5LWxlbmd0aC1vdmVyZmxvdy1zdGRlcnIudHh0
VVQFAANVYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZp3zQNayAvKoAAAA1QIAAG8AGAAA
AAAAAQAAAKSBwSIDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMt
c3RkZXJyLnR4dFVUBQADT2MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGed80D3G1uLzgAA
AKIBAABuABgAAAAAAAEAAACkgRIkAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9yZW5kZXJlci1hbmQtdmVuZG9y
LXN0cmluZ3Mtc3RkZXJyLnR4dFVUBQADUmMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGad
80BYHtqI2QAAADQBAABjABgAAAAAAAEAAACkgYglAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxp
ZGF0aW9uLXN0ZGVyci50eHRVVAUAA1BjCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABlnfNA
KYTQSsYAAABKBgAAbAAYAAAAAAABAAAApIH+JgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMt
b3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAANOYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAZZ3zQKC3dnKKAAAA/QAAAGIAGAAAAAAAAQAAAKSBaigDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9y
LXJlcG9ydGluZy1zdGRlcnIudHh0VVQFAANOYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
ZZ3zQKASrKQBAQAAswkAAG4AGAAAAAAAAQAAAKSBkCkDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxl
bWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAANOYwhQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAaJ3zQGxxImw6AQAAcwwAAGcAGAAAAAAAAQAAAKSBOSsDAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmds
L3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAUAA1RjCFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACABmnfNAKVNyjKkAAACMAgAAcgAYAAAAAAABAAAApIEULQMAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQFAANQYwhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZp3zQDdP0j2eAAAARgEAAH0AGAAAAAAAAQAAAKSBaS4D
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zh
c3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNl
cy1zdGRlcnIudHh0VVQFAANQYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZZ3zQGapK3WW
AAAA+gEAAGIAGAAAAAAAAQAAAKSBvi8DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1z
dGRlcnIudHh0VVQFAANOYwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZZ3zQGeUpbCTAAAA
IgEAAG8AGAAAAAAAAQAAAKSB8DADAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0
aW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQADTmMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGed
80A7sVo9VgAAAF8AAABoABgAAAAAAAEAAACkgSwyAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVj
dC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUBQADUWMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
ADWd80AAAAAAAAAAAAAAAAAvABgAAAAAAAAAEADtQSQzAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUBQAD9WIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAADWd80AAAAAAAAAAAAAAAAA1ABgAAAAAAAAAEADtQY0zAwB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL1VUBQAD9WIIUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAADWd80AAAAAAAAAAAAAAAAA+ABgAAAAAAAAAEADtQfwzAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQAD
9WIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAADWd80AAAAAAAAAAAAAAAABLABgAAAAAAAAA
EADtQXQ0AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rl
c3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAUAA/ViCFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAA1nfNApXgsOmsAAABwAAAAewAYAAAAAAABAAAApIH5NAMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
aW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAP1YghQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAkp3zQIiQmT07WAAADYECACYAGAAAAAAAAQAAAKSB
GTYDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjAudHh0VVQFAAOkYwhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgArZ3zQCkfDzbqJAAAPJ0AACQAGAAAAAAAAQAAAKSBtI4DAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUBQAD1mMIUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAAGed80AAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQfyzAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbHVnaW5zL1VUBQADUWMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AGed80DLQgww7wAAAFUBAABEABgAAAAAAAEAAACkgVa0AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbHVnaW5zL251bGwtbnBwLWdldHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVUBQADUWMIUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAK2d80Amygf1AAIAAI0EAAApABgAAAAAAAEAAACkgcO1
AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQAD1mMIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAKSd80CR7GaBGiQAAG9hAAAiABgAAAAAAAEAAACkgSa4AwB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwZC5jb25mVVQFAAPEYwhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAj5zzQAAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BnNwDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvVVQFAAO9YQhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAFp3z
QAAAAAAAAAAAAAAAACMAGAAAAAAAAAAQAO1B89wDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvVVQFAAO8YghQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAj5zzQAAAAAAAAAAA
AAAAACkAGAAAAAAAAAAQAO1BUN0DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
Y2FjaGUvVVQFAAO+YQhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAj5zzQP7BpR1AAQAAWgIA
AEUAGAAAAAAAAQAAAKSBs90DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUBQADvWEIUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAgAAAI+c80Cc6ad1BgAAAAYAAABHABgAAAAAAAEAAACkgXLfAwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWV4cGVjdGVkLnR4
dFVUBQADvWEIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAI+c80BXNUJbmQEAABcDAABDABgA
AAAAAAEAAACkgfnfAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3QtcmVkaXJlY3QtZ2V0LWRpZmYudHh0VVQFAAO9YQhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAj5zzQLnHjybbHwAAqCsAAEUAGAAAAAAAAAAAAKSBD+IDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnBuZ1VUBQADvWEI
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAI+c80CNpXyKjwEAAOgCAABFABgAAAAAAAEAAACk
gWkCBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJl
Y3QtZ2V0LXdkaWZmLmh0bWxVVAUAA71hCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAACPnPNA
nOmndQYAAAAGAAAAUwAYAAAAAAABAAAApIF3BAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3RlZC50eHRV
VAUAA71hCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACPnPNA1fYdYpAIAAAbHwAAVwAYAAAA
AAABAAAApIEKBQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5odG1sVVQFAAO+YQhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAj5zzQI2lfIqPAQAA6AIAAFEAGAAAAAAAAQAAAKSBKw4EAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMtd2RpZmYuaHRtbFVUBQADvmEIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AI+c80C5x48m2x8AAKgrAABRABgAAAAAAAAAAACkgUUQBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC5w
bmdVVAUAA75hCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACPnPNAnEKPLYkIAAAPHwAASwAY
AAAAAAABAAAApIGrMAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9w
b3N0LXJlZGlyZWN0LWdldC1wcmV0dHktZGlmZi5odG1sVVQFAAO9YQhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAj5zzQNsolAOhAQAALwMAAE8AGAAAAAAAAQAAAKSBuTkEAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJj
ZXMtZGlmZi50eHRVVAUAA71hCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACPnPNA/sGlHUAB
AABaAgAAUQAYAAAAAAABAAAApIHjOwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1hY3R1YWwudHh0VVQFAAO9YQhQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA4ZzzQAAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1B
rj0EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9VVAUAA1ViCFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACADhnPNAFTU1knoAAAC8AAAAQgAYAAAAAAABAAAApIEQPgQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1z
dGRlcnIudHh0VVQFAANVYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA0pzzQGM6nwZrAAAA
cAAAAEcAGAAAAAAAAQAAAKSBBj8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQFAAM8YghQdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAAFp3zQAAAAAAAAAAAAAAAAC0AGAAAAAAAAAAQAO1B8j8EAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvd2Vic29ja2V0L1VUBQADvGIIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAABad80AAAAAAAAAAAAAAAAAzABgAAAAAAAAAEADtQVlABAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9VVAUAA7xiCFB1eAsA
AQToAwAABOgDAABQSwECHgMKAAAAAAAWnfNAAAAAAAAAAAAAAAAAOAAYAAAAAAAAABAA7UHGQAQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9V
VAUAA7xiCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAWnfNAAAAAAAAAAAAAAAAAQAAYAAAA
AAAAABAA7UE4QQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS93b3JrZXJzL1VUBQADvGIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAABad
80DyO7pXJAAAACQAAABYABgAAAAAAAEAAACkgbJBBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXJlbG9hZC1zdGRl
cnIudHh0VVQFAAO8YghQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAzZzzQAAAAAAAAAAAAAAA
ACkAGAAAAAAAAAAQAO1BaEIEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWVk
aWEvVVQFAAMxYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAzZzzQAAAAAAAAAAAAAAAADYA
GAAAAAAAAAAQAO1By0IEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL1VUBQADMWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAM2c80CEaiC/
DAEAAKoBAABeABgAAAAAAAEAAACkgTtDBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy1jcmFzaC1s
b2cudHh0VVQFAAMxYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAzZzzQKePJf/YAAAAOQEA
AFsAGAAAAAAAAQAAAKSB30QEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLXN0ZGVyci50eHRVVAUA
AzFiCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAABnfNAAAAAAAAAAAAAAAAALAAYAAAAAAAA
ABAA7UFMRgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUA
A5FiCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAD3nPNAPJvfTEUAAABJAAAAWwAYAAAAAAAB
AAAApIGyRgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3Jp
cHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUBQADgWIIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAPmc80BWcFJpYgAAAI4AAABVABgAAAAAAAEAAACkgYxHBAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1s
LWV4dGVybmFsLWVudGl0eS1zdGRlcnIudHh0VVQFAAOGYghQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgA+ZzzQGBLZhCRAAAA+wEAAF0AGAAAAAAAAQAAAKSBfUgEAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJp
dHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADhmIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPec
80Djs/8B8gcAAPYZAABfABgAAAAAAAEAAACkgaVJBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktcHJl
dHR5LWRpZmYuaHRtbFVUBQADgWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPec80AA82dC
yQAAAEMBAABZABgAAAAAAAEAAACkgTBSBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktYWN0dWFsLnR4
dFVUBQADgWIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPec80Bigo8GFgEAABUCAABXABgA
AAAAAAEAAACkgYxTBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktZGlmZi50eHRVVAUAA4FiCFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAD3nPNAzIxIjg4BAAC2AQAAWQAYAAAAAAABAAAApIEzVQQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3Nv
cmlnaW4tbG9hZHMtY29ycmVjdGx5LXdkaWZmLmh0bWxVVAUAA4FiCFB1eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAAABnfNAAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UHUVgQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQF
AAORYghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAAZ3zQGOqrGyCAAAAqAAAAGoAGAAAAAAA
AQAAAKSBUFcEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50
eHRVVAUAA5FiCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAABnfNAY6qsbIIAAACoAAAAWAAY
AAAAAAABAAAApIF2WAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADkWIIUHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKad80AAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQYpZ
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL1VUBQADx2MIUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAK2d80Cevx6VowAAABIBAAAuABgAAAAAAAEAAACkgeRZBAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9yZXRyaWVzL3Rlc3RzX3J1bjAudHh0VVQFAAPVYwhQdXgLAAEE6AMAAATo
AwAAUEsFBgAAAABvAG8A0DsAAO9aBAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153345</attachid>
            <date>2012-07-19 14:30:33 -0700</date>
            <delta_ts>2012-07-19 16:12:36 -0700</delta_ts>
            <desc>win build files and layout test expectations</desc>
            <filename>bug-90819-20120719143032.patch</filename>
            <type>text/plain</type>
            <size>157257</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUwMjFmY2U5YzM4NTc1
NTIxYzg2ZWIyMzIzYTEwN2I1MDI3MmI0ZC4uY2Y0NmViNzQ0NmVkZmE5OTRkMGY1ZWU5ZmY3MjZk
YWI3YmQ3NjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA3LTE5ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTWVkaWEg
U291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRpYVNvdXJj
ZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICBUZXN0czogVXBk
YXRlcyB0byBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8qCisgICAgICAgICAgICAgICBB
ZGRlZCBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2Jq
ZWN0cy5odG1sCisKKyAgICAgICAgVXBkYXRlIGJ1aWxkIGZpbGVzIHdpdGggbmV3IGNsYXNzZXM6
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3Bw
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCisgICAgICAgIE5ldyBvYmplY3RzOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c291cmNlL01lZGlhU291cmNlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlUmVnaXN0cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsOiBBZGRlZC4KKworICAgICAgICBBZGRpbmcg
bmV3IG9iamVjdHMsIG5ldyBldmVudHMsIGFuZCBuZXcgY29uc3RydWN0b3JzOgorICAgICAgICAq
IGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW46CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAg
ICogaHRtbC9ET01VUkwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRE9NVVJMKToK
KyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW46CisKKyAgICAgICAgUmVtb3Zpbmcgb2xkIHN0eWxlIEFQSSBhbmQgYXR0YWNpbmcg
bmV3IE1lZGlhU291cmNlIG9iamVjdHM6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6SFRNTE1lZGlhRWxlbWVudCk6IFJlbW92ZSBvbGQgc3R5bGUgQVBJIHJlc291cmNlcy4K
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKTogU2V0IHNv
dXJjZSBzdGF0ZSB0byAiY2xvc2VkIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmxvYWRSZXNvdXJjZSk6IEdldCBNZWRpYVNvdXJjZSBvYmplY3QgZnJvbSBibG9iIHJlZ2lz
dHJ5CisgICAgICAgICAgICBsb29rIHVwIGFuZCwgaWYgZm91bmQsIHNldCBpdCdzIE1lZGlhUGxh
eWVyIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQgTWVkaWFQbGF5ZXIuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAi
Y2xvc2VkIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5l
RXJyb3IpOiBTZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VPcGVuZWQpOiBTZXQgc291cmNlIHN0
YXRlIHRvICJvcGVuIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlh
UGxheWVyU291cmNlVVJMKTogQ2hhbmdlIHRvIG5ldyBibG9iIFVSTC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNlZWspOiBDaGVjayBpZiBzb3VyY2Ugc3RhdGUgaXMgImNs
b3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0
ZSk6IEhlbHBlciBmdW5jdGlvbiBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8KKyAgICAgICAgICAg
IGtlZXAgY2hlY2tpbmcgZm9yIG1fbWVkaWFTb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50Ojp1c2VyQ2FuY2VsbGVkTG9hZCk6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNs
b3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBs
YXllcik6IElmIHRoZSBjdXJyZW50IE1lZGlhUGxheWVyIGlzIHJlLQorICAgICAgICAgICAgY3Jl
YXRlZCwgbm90aWZ5IHRoZSBNZWRpYVNvdXJjZSBhbmQgcmVzZXQgaXRzIE1lZGlhUGxheWVyLgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoSFRNTE1lZGlhRWxl
bWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMDctMTkgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBJbiBmbGlwcGVkIGJsb2NrcyB3cml0aW5nIG1vZGVzLCBubyBm
bGlwcGluZyBvY2N1cnMgd2hlbiBtYXBwaW5nIFJlbmRlclRleHTigJlzIGxvY2FsIGNvb3JkaW5h
dGVzIHRvIGFic29sdXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTlj
ZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLmQ1NzAyMTQ2ZmM1ZDYzNjA0NmVhOWNiM2RhYjZiYzVj
Y2M0NGE5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAsMjMgQEAgU0VU
KFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcAogKQogCitJRiAoRU5BQkxFX01FRElBX1NPVVJDRSkKKyAgICBMSVNUKEFQUEVORCBXZWJD
b3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9t
ZWRpYXNvdXJjZQorICAgICkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUworICAg
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAorICAgICAgICBNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAorICAgICkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NP
VVJDRVMKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKyAgICAg
ICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcAorICAgICAgICBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKyAgICAgICAgTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorICAgICkKK0VORElGKCkKKwogIyBNb2R1bGVz
IHRoYXQgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKIFNFVChTQ1JJUFRT
X1JFU09MVkVfU1VQUExFTUVOVEFMCiAgICAgJHtXRUJDT1JFX0RJUn0vYmluZGluZ3Mvc2NyaXB0
cy9JRExQYXJzZXIucG0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3Mjg3ZDljYmIy
NzZlMzE3M2EyMGNjNDVlN2U2NTc3ODNlZWZlY2VmLi5mOGIzZDk3MzA1MDUzYzMxN2JhMzljMTM4
ZmMxMzY2OGIzMjNhNDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yMzYsNiAr
MjM2LDkgQEAKICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFM
aXN0LmNwcCIKICNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0LmNwcCIKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorI2luY2x1ZGUgIkpTTWVkaWFTb3VyY2UuY3BwIgorI2VuZGlmCiAjaW5jbHVk
ZSAiSlNNZW1vcnlJbmZvLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKICNp
bmNsdWRlICJKU01lc3NhZ2VFdmVudC5jcHAiCkBAIC0yNzksNiArMjgyLDEwIEBACiAjaW5jbHVk
ZSAiSlNTaGFkb3dSb290LmNwcCIKICNpbmNsdWRlICJKU1NoYXJlZFdvcmtlci5jcHAiCiAjaW5j
bHVkZSAiSlNTaGFyZWRXb3JrZXJDb250ZXh0LmNwcCIKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQorI2luY2x1ZGUgIkpTU291cmNlQnVmZmVyLmNwcCIKKyNpbmNsdWRlICJKU1NvdXJjZUJ1ZmZl
ckxpc3QuY3BwIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNTUUxFcnJvci5jcHAiCiAjaW5jbHVkZSAi
SlNTUUxFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTU1FMUmVzdWx0U2V0LmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDc2NzA3M2U3ZDI3YmMxNzU4YzdlNjRiNjY1NmVk
NGVkZmUwZDU1ZTIuLmY3ZjA4YWM4Mzc4ZjNhODk5ZTc4ZTMzYzcxM2YwZTZmMWJmM2Q4MmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzEsNiArMzEsNyBAQCBWUEFUSCA9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2dlb2xvY2F0aW9uIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9ub3RpZmljYXRpb25zIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpbyBcCkBAIC0xMDUsNiArMTA2LDkgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5n
ZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9u
Q2hhbmdlUmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvV29y
a2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCAyYzI5YzhmNTJhNjI4MDVmYWM1NjQ5NzA2NDUxODNhNzAyNjcx
YWU0Li5jZmI0ODE3OTU5ZTI2OWE1ZjY5NGU2NGFlYWNmN2Q3NGU4YjVkZTU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MTgsNiArNjE4LDEzIEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9WSURFT19UUkFDSz0xKSB7CiAgICAgJCRQV0QvaHRtbC90cmFjay9UcmFja0V2ZW50
LmlkbCBcCiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TT1VSQ0U9MSkgewor
ICBJRExfQklORElOR1MgKz0gXAorICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuaWRsIFwKKyAgICAkJFBXRC9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5p
ZGwgXAorICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwK
K30KKwogbWF0aG1sbmFtZXMub3V0cHV0ID0gTWF0aE1MTmFtZXMuY3BwCiBtYXRobWxuYW1lcy5p
bnB1dCA9IE1BVEhNTF9OQU1FUwogbWF0aG1sbmFtZXMuZGVwZW5kcyA9ICQkUFdEL21hdGhtbC9t
YXRoYXR0cnMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWExMDJjOGMxNTdlOTNmYjRlZjEz
MTQzMDA5MDY3ZWY4YmI2NWIzYi4uOGU0ZDQ1OTU4N2IwN2NmMDc2NGJmN2E4YTFjOGM2NDk0Njhj
ZTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE1LDYgKzE1LDcgQEAgd2ViY29yZV9jcHBm
bGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkIFwK
IAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uIFwKIAktSSQo
c3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYiBcCisJLUkkKHNyY2Rpcikv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAJLUkkKHNyY2RpcikvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3RvY29saGFuZGxlciBcCkBAIC04ODEsNiArODgyLDcgQEAgSURMX1BBVEggOj0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZ2VvbG9jYXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucyBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKQEAgLTEwNDksNiArMTA1MSw3IEBAIEVY
VFJBX0RJU1QgKz0gXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2FtZXBhZC8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi8qLmlkbCkgXAorCSQoc2hlbGwgbHMgJChzcmNk
aXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvKi5pZGwpIFwKIAkkKHNoZWxs
IGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtLyouaWRsKSBc
CiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wcm90b2NvbGhhbmRsZXIvKi5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDNlYjk0Mzk5MWQ3ZWYzN2MyYzA5NGFhMzcyODAwMDc3MzJmOTkwNDguLjYzZjNiZGQ2OTYx
NjYyMTZiNWVkZjdmN2NlYTEyOWMzYjYxZWZmYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMzgzLDYgKzM4Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lZGlhTGlzdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxp
c3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNlLmNwcCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU291cmNlLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVN0cmVhbS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTdHJlYW1FdmVudC5j
cHAgXApAQCAtNTAzLDYgKzUwNSwxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFyZWRXb3JrZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3Vy
Y2VCdWZmZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyLmgg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXJMaXN0LmNwcCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1NwZWVjaElucHV0RXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU3BlZWNoSW5wdXRFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3Bl
ZWNoSW5wdXRSZXN1bHQuY3BwIFwKQEAgLTY5Miw2ICs2OTgsOSBAQCBkb21fYmluZGluZ19pZGxz
ICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5p
ZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgXAor
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIFwKKwkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsIFwKQEAg
LTExNTksNiArMTE2OCwxNCBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvUGFnZUdyb3VwSW5kZXhlZERhdGFiYXNlLmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkRGF0
YWJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250
ZXh0SW5kZXhlZERhdGFiYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2VSZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmggXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0NmIxMzI0ZTIyOGQ2OWFiMGNmMWI4NzgyNGY4MGQ0Y2YxYzBhNDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApA
QCAtMCwwICsxLDI4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJj
ZS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRlbnRUeXBl
LmgiCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJUaW1lUmFuZ2VzLmgiCisjaW5jbHVk
ZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRy
PE1lZGlhU291cmNlPiBNZWRpYVNvdXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVNvdXJjZShjb250ZXh0
KSk7Cit9CisKK01lZGlhU291cmNlOjpNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKKyAg
ICAsIG1fcmVhZHlTdGF0ZShjbG9zZWRLZXl3b3JkKCkpCisgICAgLCBtX3BsYXllcigwKQorICAg
ICwgbV9uZXh0U291cmNlQnVmZmVySWQoMCkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlcnMgPSBTb3Vy
Y2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBtX2Fj
dGl2ZVNvdXJjZUJ1ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKK30KKworU291cmNlQnVmZmVyTGlzdCogTWVkaWFTb3VyY2U6OnNvdXJj
ZUJ1ZmZlcnMoKQoreworICAgIHJldHVybiBtX3NvdXJjZUJ1ZmZlcnMuZ2V0KCk7Cit9CisKK1Nv
dXJjZUJ1ZmZlckxpc3QqIE1lZGlhU291cmNlOjphY3RpdmVTb3VyY2VCdWZmZXJzKCkKK3sKKyAg
ICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2VsZWN0aW9uCisgICAgcmV0dXJuIG1f
YWN0aXZlU291cmNlQnVmZmVycy5nZXQoKTsKK30KKworU291cmNlQnVmZmVyKiBNZWRpYVNvdXJj
ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjZG9tLWFkZHNvdXJjZWJ1ZmZlcgor
ICAgIC8vIDEuIElmIHR5cGUgaXMgbnVsbCBvciBhbiBlbXB0eSB0aGVuIHRocm93IGFuIElOVkFM
SURfQUNDRVNTX0VSUiBleGNlcHRpb24gYW5kCisgICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMuCisg
ICAgaWYgKHR5cGUuaXNOdWxsKCkgfHwgdHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8vIDIu
IElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIC4uLiwg
dGhlbiB0aHJvdyBhCisgICAgLy8gTk9UX1NVUFBPUlRFRF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9y
dCB0aGVzZSBzdGVwcy4KKyAgICBDb250ZW50VHlwZSBjb250ZW50VHlwZSh0eXBlKTsKKyAgICBW
ZWN0b3I8U3RyaW5nPiBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKKworICAgIGlmICgh
Y29kZWNzLnNpemUoKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAgLy8gNC4gSWYgdGhlIHJlYWR5U3RhdGUgYXR0
cmlidXRlIGlzIG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cgYW4KKyAgICAvLyBJ
TlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlm
ICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAg
ZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
Ly8gNS4gQ3JlYXRlIGEgbmV3IFNvdXJjZUJ1ZmZlciBvYmplY3QgYW5kIGFzc29jaWF0ZWQgcmVz
b3VyY2VzLgorICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1ZmZlciA9IFNvdXJjZUJ1ZmZlcjo6
Y3JlYXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNlQnVmZmVySWQpLCB0aGlzKTsKKwor
ICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGJ1ZmZlci0+aWQoKSwgY29udGVudFR5
cGUudHlwZSgpLCBjb2RlY3MpKSB7CisgICAgY2FzZSBNZWRpYVBsYXllcjo6T2s6CisgICAgICAg
IC8vIDYuIEFkZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEgYWRk
c291cmNlYnVmZmVyIG9uIHRoYXQgb2JqZWN0LgorICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMtPmFk
ZChidWZmZXIpOworICAgICAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMtPmFkZChidWZmZXIpOwor
ICAgICAgICAvLyA3LiBSZXR1cm4gdGhlIG5ldyBvYmplY3QgdG8gdGhlIGNhbGxlci4KKyAgICAg
ICAgcmV0dXJuIGJ1ZmZlci5nZXQoKTsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpOb3RTdXBwb3J0
ZWQ6CisgICAgICAgIC8vIDIgKGNvbnQpLiBJZiB0eXBlIGNvbnRhaW5zIGEgTUlNRSB0eXBlIC4u
LiB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgdHlwZXMgCisgICAgICAgIC8vIHNwZWNp
ZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMs
IHRoZW4gdGhyb3cKKyAgICAgICAgLy8gYSBOT1RfU1VQUE9SVEVEX0VSUiBleGNlcHRpb24gYW5k
IGFib3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAg
ICAgICByZXR1cm4gMDsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVkSWRMaW1pdDoKKyAg
ICAgICAgLy8gMyAoY29udCkuIElmIHRoZSB1c2VyIGFnZW50IGNhbid0IGhhbmRsZSBhbnkgbW9y
ZSBTb3VyY2VCdWZmZXIgb2JqZWN0cyB0aGVuIHRocm93IAorICAgICAgICAvLyBhIFFVT1RBX0VY
Q0VFREVEX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICBlYyA9
IFFVT1RBX0VYQ0VFREVEX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2U6
OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIqIGJ1ZmZlciwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1m
aWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjZG9tLXJlbW92ZXNvdXJjZWJ1
ZmZlcgorICAgIC8vIDEuIElmIHNvdXJjZUJ1ZmZlciBpcyBudWxsIHRoZW4gdGhyb3cgYW4gSU5W
QUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0aGVzZSBzdGVwcy4K
KyAgICBpZiAoIWJ1ZmZlcikgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDIuIElmIHNvdXJjZUJ1ZmZlcnMgaXMgZW1w
dHkgdGhlbiB0aHJvdyBhbiBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kCisgICAgLy8g
YWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3BsYXllciB8fCAhbV9zb3VyY2VCdWZmZXJz
LT5sZW5ndGgoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gMy4gSWYgc291cmNlQnVmZmVyIHNwZWNpZmllcyBhbiBv
YmplY3QgdGhhdCBpcyBub3QgaW4gc291cmNlQnVmZmVycyB0aGVuCisgICAgLy8gdGhyb3cgYSBO
T1RfRk9VTkRfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgLy8gNi4g
UmVtb3ZlIHNvdXJjZUJ1ZmZlciBmcm9tIHNvdXJjZUJ1ZmZlcnMgYW5kIGZpcmUgYSByZW1vdmVz
b3VyY2VidWZmZXIgZXZlbnQgb24gdGhhdCBvYmplY3QuCisgICAgaWYgKCFtX3NvdXJjZUJ1ZmZl
cnMtPnJlbW92ZShidWZmZXIpKSB7CisgICAgICAgIGVjID0gTk9UX0ZPVU5EX0VSUjsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDcuIERlc3Ryb3kgYWxsIHJlc291cmNlcyBmb3Ig
c291cmNlQnVmZmVyLgorICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+cmVtb3ZlKGJ1ZmZlcik7
CisgICAgbV9wbGF5ZXItPnNvdXJjZVJlbW92ZUlkKGJ1ZmZlci0+aWQoKSk7CisKKyAgICAvLyA0
LiBSZW1vdmUgdHJhY2sgaW5mb3JtYXRpb24gZnJvbSBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3Ms
IGFuZCB0ZXh0VHJhY2tzIGZvciBhbGwgdHJhY2tzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2VCdWZm
ZXIgYW5kIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgY2hhbmdlIG9uIHRoZSBtb2RpZmllZCBs
aXN0cy4KKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2VsZWN0aW9uCisKKyAg
ICAvLyA1LiBJZiBzb3VyY2VCdWZmZXIgaXMgaW4gYWN0aXZlU291cmNlQnVmZmVycywgdGhlbiBy
ZW1vdmUgaXQgZnJvbSB0aGF0IGxpc3QgYW5kIGZpcmUgYSByZW1vdmVzb3VyY2VidWZmZXIgZXZl
bnQgb24gdGhhdCBvYmplY3QuCisgICAgLy8gRklYTUUoOTE2NDkpOiBzdXBwb3J0IHRyYWNrIHNl
bGVjdGlvbgorfQorCitjb25zdCBTdHJpbmcmIE1lZGlhU291cmNlOjpyZWFkeVN0YXRlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9yZWFkeVN0YXRlOworfQorCit2b2lkIE1lZGlhU291cmNlOjpz
ZXRSZWFkeVN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCit7CisgICAgQVNTRVJUKHN0YXRlID09
IG9wZW5LZXl3b3JkKCkgfHwgc3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpIHx8IHN0YXRlID09IGVu
ZGVkS2V5d29yZCgpKTsKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IHN0YXRlKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBTdHJpbmcgb2xkU3RhdGUgPSBtX3JlYWR5U3RhdGU7CisgICAgbV9yZWFk
eVN0YXRlID0gc3RhdGU7CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQo
KSkgeworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMtPmNsZWFyKCk7CisgICAgICAgIG1fYWN0aXZl
U291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9wbGF5ZXIgPSAwOworICAgICAgICBk
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWNsb3Nl
RXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAg
IGlmIChvbGRTdGF0ZSA9PSBvcGVuS2V5d29yZCgpICYmIG1fcmVhZHlTdGF0ZSA9PSBlbmRlZEtl
eXdvcmQoKSkgeworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBvcGVuS2V5d29yZCgpKSB7Cisg
ICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0c291
cmNlb3BlbkV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30K
Kwordm9pZCBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5nJiBlcnJvciwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gMy4xIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1s
LW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjZG9tLWVu
ZG9mc3RyZWFtCisgICAgLy8gMS4gSWYgdGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIGlzIG5vdCBp
biB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cgYW4KKyAgICAvLyBJTlZBTElEX1NUQVRFX0VS
UiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlmICghbV9wbGF5ZXIgfHwg
bV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlhUGxheWVyOjpFbmRP
ZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsKKworICAg
IGlmIChlcnJvci5pc051bGwoKSB8fCBlcnJvci5pc0VtcHR5KCkpCisgICAgICAgIGVvc1N0YXR1
cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworICAgIGVsc2UgaWYgKGVycm9yID09ICJuZXR3
b3JrIikKKyAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05ldHdvcmtFcnJvcjsK
KyAgICBlbHNlIGlmIChlcnJvciA9PSAiZGVjb2RlIikKKyAgICAgICAgZW9zU3RhdHVzID0gTWVk
aWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOworICAgIGVsc2UgeworICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDIuIENoYW5n
ZSB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgdmFsdWUgdG8gImVuZGVkIi4KKyAgICBzZXRSZWFk
eVN0YXRlKGVuZGVkS2V5d29yZCgpKTsKKyAgICBtX3BsYXllci0+c291cmNlRW5kT2ZTdHJlYW0o
ZW9zU3RhdHVzKTsKK30KKworUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBNZWRpYVNvdXJjZTo6YnVm
ZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAg
aWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQpOworfQorCit2b2lkIE1lZGlh
U291cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBk
YXRhLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRhdGEuZ2V0KCkpIHsKKyAgICAg
ICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoIWRhdGEtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGxh
eWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEtPmRhdGEoKSwgZGF0YS0+bGVuZ3RoKCkpKSB7Cisg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKwordm9p
ZCBNZWRpYVNvdXJjZTo6YWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkg
eworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQorICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYVNvdXJjZTo6aW50
ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VG
b3JNZWRpYVNvdXJjZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogTWVkaWFTb3VyY2U6
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworfQorCitFdmVudFRh
cmdldERhdGEqIE1lZGlhU291cmNlOjpldmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAm
bV9ldmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmVu
c3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzFkNmQz
YTA4N2MxZmNjMWUxMTU2NTUzYmYxYTU0Y2QwYWU4MzIxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCkBAIC0wLDAgKzEs
MTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBNZWRpYVNvdXJjZV9oCisjZGVmaW5lIE1lZGlhU291cmNlX2gKKworI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlci5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVy
LmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFTb3VyY2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxNZWRpYVNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgU3Ry
aW5nJiBvcGVuS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IFN0cmluZywgb3BlbiwgKCJvcGVuIikpOworICAgICAgICByZXR1cm4gb3BlbjsKKyAgICB9
CisKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBjbG9zZWRLZXl3b3JkKCkKKyAgICB7CisgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBjbG9zZWQsICgiY2xvc2VkIikp
OworICAgICAgICByZXR1cm4gY2xvc2VkOworICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBTdHJp
bmcmIGVuZGVkS2V5d29yZCgpCisgICAgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IFN0cmluZywgZW5kZWQsICgiZW5kZWQiKSk7CisgICAgICAgIHJldHVybiBlbmRlZDsKKyAg
ICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZSgpIHsgfQorCisgICAg
U291cmNlQnVmZmVyTGlzdCogc291cmNlQnVmZmVycygpOworICAgIFNvdXJjZUJ1ZmZlckxpc3Qq
IGFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKTsKKworICAgIFNvdXJjZUJ1ZmZlciogYWRkU291cmNlQnVm
ZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgcmVtb3Zl
U291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciosIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGNvbnN0
IFN0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0OworICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShjb25z
dCBTdHJpbmcmKTsKKworICAgIHZvaWQgZW5kT2ZTdHJlYW0oY29uc3QgU3RyaW5nJiBlcnJvciwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgdm9pZCBzZXRNZWRpYVBsYXllcihNZWRpYVBsYXllciog
cGxheWVyKSB7IG1fcGxheWVyID0gcGxheWVyOyB9CisgICAgCisgICAgUGFzc1JlZlB0cjxUaW1l
UmFuZ2VzPiBidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7
CisgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxVaW50OEFycmF5
PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhYm9ydChjb25zdCBTdHJpbmcmIGlk
LCBFeGNlcHRpb25Db2RlJik7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVNvdXJj
ZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291cmNlPjo6ZGVyZWY7CisKK3By
aXZhdGU6CisgICAgZXhwbGljaXQgTWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OworCisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEo
KSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURF
IHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJSSURF
IHsgZGVyZWYoKTsgfQorCisgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOwor
CisgICAgU3RyaW5nIG1fcmVhZHlTdGF0ZTsKKyAgICBNZWRpYVBsYXllciogbV9wbGF5ZXI7IC8v
IDwtLSBzaG91bGQgdGhpcyBiZSBhIFJlZlB0cj8KKworICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJM
aXN0PiBtX3NvdXJjZUJ1ZmZlcnM7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IG1fYWN0
aXZlU291cmNlQnVmZmVyczsKKyAgICBpbnQgbV9uZXh0U291cmNlQnVmZmVySWQ7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
ZjdkZWMxYmJkNWI5Nzc2YjhjZDhiNzYwNDY3ZDAzMTRiYTZkYjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbApAQCAt
MCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlh
U291cmNlLAorICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgQ29uc3RydWN0b3IsCisgICAg
ICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIE1lZGlhU291cmNlIHsK
KyAgICAgICAgLy8gQWxsIHRoZSBzb3VyY2UgYnVmZmVycyBjcmVhdGVkIGJ5IHRoaXMgb2JqZWN0
LgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyTGlzdCBzb3VyY2VCdWZm
ZXJzOworCisgICAgICAgIC8vIFN1YnNldCBvZiBzb3VyY2VCdWZmZXJzIHRoYXQgcHJvdmlkZSBk
YXRhIGZvciB0aGUgc2VsZWN0ZWQvZW5hYmxlZCB0cmFja3MuCisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IGFjdGl2ZVNvdXJjZUJ1ZmZlcnM7CisKKyAgICAgICAg
U291cmNlQnVmZmVyIGFkZFNvdXJjZUJ1ZmZlcihpbiBET01TdHJpbmcgdHlwZSkgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihpbiBTb3VyY2VC
dWZmZXIgYnVmZmVyKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOworICAgICAgICAKKyAgICAgICAgdm9pZCBl
bmRPZlN0cmVhbShpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVy
cm9yKQorICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICAKKyAgICAg
ICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5l
cihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2
ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRM
aXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIGJvb2xl
YW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKKyAgICAgICAgICAgIHJhaXNlcyhFdmVu
dEV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGZkNDAwMTcxOWUxMDliNGIwZmYwMjZlM2ExZjFmNTZhOGM3NjZiNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3Ry
eS5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRp
YVNvdXJjZVJlZ2lzdHJ5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVk
ZSAiS1VSTC5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYVNvdXJjZVJlZ2lzdHJ5JiBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCit7CisgICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNZWRpYVNvdXJjZVJlZ2lzdHJ5LCBp
bnN0YW5jZSwgKCkpOworICAgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2b2lkIE1lZGlhU291
cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYgdXJsLCBQYXNz
UmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKKyAgICBtX21lZGlhU291cmNlcy5zZXQodXJsLnN0cmluZygpLCBzb3VyY2UpOworfQorCit2
b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBL
VVJMJiB1cmwpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX21lZGlhU291
cmNlcy5yZW1vdmUodXJsLnN0cmluZygpKTsKK30KKworTWVkaWFTb3VyY2UqIE1lZGlhU291cmNl
UmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VzLmdldCh1cmwp
LmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NmRhNmIzNDdjNzBjNTExY2I0NjhmZWQyMTcyNzI5NzE2Njc1Mzc0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFTb3VyY2VS
ZWdpc3RyeV9oCisjZGVmaW5lIE1lZGlhU291cmNlUmVnaXN0cnlfaAorCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU291cmNlOworCitjbGFzcyBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZXR1cm5zIGEgc2luZ2xlIGlu
c3RhbmNlIG9mIE1lZGlhU291cmNlUmVnaXN0cnkuCisgICAgc3RhdGljIE1lZGlhU291cmNlUmVn
aXN0cnkmIHJlZ2lzdHJ5KCk7CisKKyAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVSTCByZWZlcnJp
bmcgdG8gdGhlIHNwZWNpZmllZCBtZWRpYSBzb3VyY2UuCisgICAgdm9pZCByZWdpc3Rlck1lZGlh
U291cmNlVVJMKGNvbnN0IEtVUkwmLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPik7CisgICAgdm9p
ZCB1bnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYpOworCisgICAgTWVkaWFTb3Vy
Y2UqIGxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKTsKKworcHJpdmF0ZToKKyAg
ICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU291cmNlPiA+IG1fbWVkaWFTb3VyY2VzOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU5MTkxMDgwMzA4MDgwNTdhOGY4NzBiYWIzZDg4ZjAyZjVkYjA5MWEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3Vy
Y2VCdWZmZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJUaW1l
UmFuZ2VzLmgiCisjaW5jbHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIGlkLCBQYXNz
UmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCisgICAgOiBtX2lkKGlkKQorICAgICwgbV9zb3Vy
Y2Uoc291cmNlKQoreworfQorCitTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIoKQoreworfQor
CitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQoRXhjZXB0aW9u
Q29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4g
bV9zb3VyY2UtPmJ1ZmZlcmVkKGlkKCksIGVjKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZChQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghbV9zb3VyY2UpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc291cmNlLT5hcHBlbmQoaWQoKSwgZGF0YSwg
ZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlcjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFib3J0KGlkKCksIGVjKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0YzUy
NTAwMzgwMjk5MWY4ZjEyZjM2MGFlYTkxNzI1OTBhMGI0ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0wLDAg
KzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFNvdXJjZUJ1ZmZlcl9oCisjZGVmaW5lIFNvdXJjZUJ1ZmZlcl9oCisK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgor
I2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRpbWVSYW5nZXM7CisKK2NsYXNzIFNv
dXJjZUJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlcj4geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
aWQsIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyKGlkLCBzb3VyY2UpKTsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIH5Tb3VyY2VCdWZmZXIoKTsKKworICAgIFBhc3NSZWZQdHI8VGltZVJhbmdlcz4gYnVm
ZmVyZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCisgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0
cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICB2b2lkIGFib3J0KEV4
Y2VwdGlvbkNvZGUmKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1
cm4gbV9pZDsgfQorCisgICAgdm9pZCBjbGVhcigpIHsgbV9zb3VyY2UuY2xlYXIoKTsgfQorCitw
cml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPE1l
ZGlhU291cmNlPik7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2U+
IG1fc291cmNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQxMmI5Y2I2MThmNTUwMTU1MjdiM2Q2OWFmMjk2ZjY5ZjdiZDlm
NTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCittb2R1bGUgaHRtbCB7CisKKyAgICBp
bnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4
RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZQorICAgIF0gU291cmNlQnVmZmVyIHsKKworICAg
ICAgICAvLyBSZXR1cm5zIHRoZSB0aW1lIHJhbmdlcyBidWZmZXJlZC4KKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgYnVmZmVyZWQKKyAgICAgICAgICAgIGdldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBBcHBlbmQgc2VnbWVudCBkYXRhLgorICAg
ICAgICB2b2lkIGFwcGVuZChpbiBVaW50OEFycmF5IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKKworICAgICAgICAvLyBBYm9ydCB0aGUgY3VycmVudCBzZWdtZW50IGFwcGVuZCBzZXF1ZW5j
ZS4KKyAgICAgICAgdm9pZCBhYm9ydCgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICB9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjJiNDZmMGZiNjdhODYxNTcyOGZiOGEzNGQw
YjJiYTE3NjMyZWQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisKKyNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZm
ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTb3VyY2VCdWZmZXJMaXN0OjpTb3VyY2VC
dWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKK3sKK30KKwordW5zaWduZWQgbG9uZyBTb3VyY2VC
dWZmZXJMaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBtX2xpc3Quc2l6ZSgpOwor
fQorCitTb3VyY2VCdWZmZXIqIFNvdXJjZUJ1ZmZlckxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgp
IGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IG1fbGlzdC5zaXplKCkpCisgICAgICAgIHJldHVy
biAwOworICAgIHJldHVybiBtX2xpc3RbaW5kZXhdLmdldCgpOworfQorCit2b2lkIFNvdXJjZUJ1
ZmZlckxpc3Q6OmFkZChQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyKQoreworICAgIG1f
bGlzdC5hcHBlbmQoYnVmZmVyKTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygp
LndlYmtpdGFkZHNvdXJjZWJ1ZmZlckV2ZW50KTsKK30KKworYm9vbCBTb3VyY2VCdWZmZXJMaXN0
OjpyZW1vdmUoU291cmNlQnVmZmVyKiBidWZmZXIpCit7ICAgIAorICAgIHNpemVfdCBpbmRleCA9
IG1fbGlzdC5maW5kKGJ1ZmZlcik7CisgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2xpc3QucmVtb3ZlKGluZGV4KTsKKyAgICBidWZmZXIt
PmNsZWFyKCk7CisgICAgY3JlYXRlQW5kRmlyZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRyZW1v
dmVzb3VyY2VidWZmZXJFdmVudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU291cmNl
QnVmZmVyTGlzdDo6Y2xlYXIoKQoreworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9saXN0
LnNpemUoKTsgKytpKQorICAgICAgICByZW1vdmUobV9saXN0W2ldLmdldCgpKTsKK30KKwordm9p
ZCBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudE5hbWUpCit7CisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisK
KyAgICBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK2NvbnN0IEF0b21p
Y1N0cmluZyYgU291cmNlQnVmZmVyTGlzdDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JTb3VyY2VCdWZmZXJMaXN0OworfQorCitT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBTb3VyY2VCdWZmZXJMaXN0OjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0Owor
fQorCitFdmVudFRhcmdldERhdGEqIFNvdXJjZUJ1ZmZlckxpc3Q6OmV2ZW50VGFyZ2V0RGF0YSgp
Cit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRh
KiBTb3VyY2VCdWZmZXJMaXN0OjplbnN1cmVFdmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVy
biAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmN2Y5YTc4OTI3ZTE2NzEyMWI3YTYzMGY4OGI5ZjUx
NzQxN2NlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTb3VyY2VC
dWZmZXJMaXN0X2gKKyNkZWZpbmUgU291cmNlQnVmZmVyTGlzdF9oCisKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTb3VyY2VCdWZmZXI7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlckxpc3QgOiBwdWJs
aWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU291cmNlQnVmZmVyTGlzdChjb250ZXh0KSk7CisgICAgfQorICAgIHZpcnR1YWwg
flNvdXJjZUJ1ZmZlckxpc3QoKSB7IH0KKworICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKCkgY29u
c3Q7CisgICAgU291cmNlQnVmZmVyKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKworICAg
IHZvaWQgYWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPik7CisgICAgYm9vbCByZW1vdmUoU291
cmNlQnVmZmVyKik7CisgICAgdm9pZCBjbGVhcigpOworCisgICAgLy8gRXZlbnRUYXJnZXQgaW50
ZXJmYWNlCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKKworICAgIHVzaW5nIFJlZkNvdW50
ZWQ8U291cmNlQnVmZmVyTGlzdD46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFNvdXJjZUJ1
ZmZlckxpc3Q+OjpkZXJlZjsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRE
YXRhKiBldmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0
RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgU291cmNlQnVmZmVyTGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAg
ICB2b2lkIGNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKKworICAgIHZp
cnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQorCisgICAg
RXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworICAgIFZlY3RvcjxSZWZQdHI8U291
cmNlQnVmZmVyPiA+IG1fbGlzdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZWRkY2FhOGY1NDRhNDRhZmNl
ZGRiZjg4OWFmMjNjMGJhZjAyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCkBAIC0wLDAgKzEsNTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAor
bW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2UsCisgICAg
ICAgIEluZGV4ZWRHZXR0ZXIsCisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAgICAgICBDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0CisgICAgXSBTb3VyY2VCdWZmZXJMaXN0IHsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgICAgICBTb3Vy
Y2VCdWZmZXIgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKKworICAgICAgICAvLyBFdmVu
dFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0
cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0g
Ym9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgYm9vbGVhbiBkaXNwYXRj
aEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9u
KTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAzMjQ0YmJjMDQwNDdmNTg1YTE4YjYxYjg4
OTFjMTQyMzI0ZmE4ZDIyLi45NDE1ZjUxYWRiNTdlNjA5NmVlYTkxZGQzY2EyNTdlNDIwZTk1ZTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKQEAgLTMwMDMsNiArMzAwMywxOSBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfRklMRV9TWVNURU09MSkgewogICAgICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0u
Y3BwCiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSB7CisgICAg
SEVBREVSUyArPSBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBc
CisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKKyAg
ICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisgICAgICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisgICAgU09VUkNFUyArPSBcCisgICAg
ICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKyAgICAgICAgTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisgICAgICAgIE1vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5jcHAKK30KKwogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lD
T05EQVRBQkFTRT0xKSB7CiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGxvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRl
eCA1ZTlhNzVmYWMyZmY1ZmRlNGE1ODFmNWNiNmU3YjYxOTViNzgyZjdiLi43MjZjZTUxMDYzYjkz
MTI1ZWU0OGE4NzQxYTkxZmMyZjhmZjY1M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cApAQCAtNjAsNiArNjAsNyBAQAogICAgICAgJy4uL01vZHVsZXMvZ2VvbG9jYXRp
b24nLAogICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAnLi4vTW9kdWxlcy9pbmRl
eGVkZGInLAorICAgICAgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4uL01vZHVs
ZXMvbWVkaWFzdHJlYW0nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAg
ICAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApAQCAtMTA2Niw2ICsxMDY3LDcgQEAKICAg
ICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ZpbGVzeXN0ZW0nLAogICAgICAg
ICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAorICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAnLS1pbmNs
dWRlJywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUn
LCAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGRhYjMx
NDA3OTgyMjMwYjQwOWYxN2ZlNmJhMDgxNTE2NTE5MTA1NWMuLjY5N2YwNDlmM2Y5Yzc0NTg2NWM0
MjE5Nzg2ZjkxYzBiZDUwMTM5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTgyNSw2ICs4MjUsOSBA
QAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAgICAgICAg
ICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKICAgICAgICAgICAg
ICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAorICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwnLAogICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsJywKQEAgLTE1MzUsNiArMTUzOCwx
NCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxsYmFjay5o
JywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5jcHAnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmgnLAorICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDcwNWE0YmNlOTg0YTdiNjMyM2EyMGE5
ZjkxMjM3NDdlZWZjMmRhNjIuLjk5ZDg0ZTU2Y2JmYzg5Zjc4ZWNlYTcyNGE0MTJlNGQ1OGM3NTYx
MTUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC0yNDk3MSw2ICsyNDk3MSw0MiBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgogCQkJPEZp
bHRlcgorCQkJCU5hbWU9Im1lZGlhc291cmNlIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2UuY3BwIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xt
ZWRpYXNvdXJjZVxNZWRpYVNvdXJjZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxl
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNvdXJjZVJl
Z2lzdHJ5LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgorCQkJ
CQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxl
c1xtZWRpYXNvdXJjZVxTb3VyY2VCdWZmZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcU291cmNlQnVm
ZmVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxNb2R1bGVzXG1lZGlhc291cmNlXFNvdXJjZUJ1ZmZlckxpc3QuY3BwIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRp
YXNvdXJjZVxTb3VyY2VCdWZmZXJMaXN0LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQk8L0Zp
bHRlcj4KKwkJCTxGaWx0ZXIKIAkJCQlOYW1lPSJub3RpZmljYXRpb25zIgogCQkJCT4KIAkJCQk8
RmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDkzYmUyNzUwNDkxMGI4YjA5NGY4YjkxMzgxYzA3ZTc4NmYyNGEwZjcuLjE0ZDhh
MWU5Yjg5NmM4MzUyMWVhMGZhMDU4NjUyODYzNDIzNzA2MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTcyLDYgKzExNTcy
LDE3IEBACiAJCUIxMEI2OTdFMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVlRUVG9rZW5pemVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjEwQjY5N0YxNDBDMTc0MDAwQkMxQzI2
IC8qIFdlYlZUVFRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJWVFRUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIx
MzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxQTk0MkRFMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAv
KiBNZWRpYVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNv
dXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFMDE1QjVDRTIyMDBE
NTI1RDEgLyogTWVkaWFTb3VyY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU291
cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTExNUI1Q0UyMjAw
RDUyNUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0
cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUy
NUQxIC8qIFNvdXJjZUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTb3VyY2VCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5
NDJFNDE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMUE5NDJFNTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUE5NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQx
IC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U291cmNlQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJF
ODE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU291cmNlQnVmZmVyTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIxQUQ0RTcxMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmNwcDsgcGF0
aCA9IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CiAJCUIxQUQ0RTcyMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmg7IHBhdGggPSBs
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJ
QjFENUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc1NDEsNiArMTc1NTIsNyBAQAogCQk5NzExNDVGRTE0RUYwMDZF
MDA2NzRGRDkgLyogTW9kdWxlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovLAog
CQkJCTk3MTE0NUZGMTRFRjAwNzkwMDY3NEZEOSAvKiBnZW9sb2NhdGlvbiAqLywKIAkJCQk5NzEy
QTU1MzE1MDA0RTNDMDA0OEFGMTAgLyogaW5kZXhlZGRiICovLAogCQkJCTMzM0Y3MDNEMEZCNDlD
MTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLApAQCAtMTg5NzUsNiArMTg5ODcsMjUgQEAK
IAkJCW5hbWUgPSBQbHVnaW5zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
QjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEg
LyogTWVkaWFTb3VyY2UuY3BwICovLAorCQkJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBN
ZWRpYVNvdXJjZS5oICovLAorCQkJCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNv
dXJjZS5pZGwgKi8sCisJCQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNl
UmVnaXN0cnkuY3BwICovLAorCQkJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNv
dXJjZVJlZ2lzdHJ5LmggKi8sCisJCQkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJj
ZUJ1ZmZlci5jcHAgKi8sCisJCQkJQjFBOTQyRTQxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1
ZmZlci5oICovLAorCQkJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIu
aWRsICovLAorCQkJCUIxQTk0MkU2MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0
LmNwcCAqLywKKwkJCQlCMUE5NDJFNzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlz
dC5oICovLAorCQkJCUIxQTk0MkU4MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0
LmlkbCAqLywKKwkJCSk7CisJCQluYW1lID0gbWVkaWFzb3VyY2U7CisJCQlwYXRoID0gTW9kdWxl
cy9tZWRpYXNvdXJjZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUIxQUQ0
RTc3MTNBMTJBNzIwMDg0NkIyNyAvKiB0cmFjayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA4MzZlNjMwOGIwZGFj
ZjlkYjFmNzc1ZmZmMjkzNGYxYjc2ZGZjMThhLi45ODNkZjI5ZThiZjJlYzcwMjc2ZDY2ODU0NTM1
OWMwOTRmNmU4ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1Nyw2ICsxNTcsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBc
CiAgICAgbWFjcm8od2Via2l0ZW5kZnVsbHNjcmVlbikgXAogICAgIFwKKyAgICBtYWNybyh3ZWJr
aXRhZGRzb3VyY2VidWZmZXIpIFwKKyAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIp
IFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VvcGVuKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNl
ZW5kZWQpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAppbmRleCBmMzg3ZTQyNzNlZTI2YTIwNmI2ZDc5OTkxZGUzMmQ5ZGI1NWUyYTZmLi4y
OWM2MGJiMTA1YmM5OThmNWRlMjNjNGZhMjE3YjM2YjE1OTQ5ZmRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaApAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgSmF2YVNjcmlwdEF1ZGlvTm9kZTsKICAgICBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogICAg
IGNsYXNzIE1lZGlhQ29udHJvbGxlcjsKKyAgICBjbGFzcyBNZWRpYVNvdXJjZTsKICAgICBjbGFz
cyBNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBOb2RlOwpA
QCAtNjQsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVk
V29ya2VyQ29udGV4dDsKKyAgICBjbGFzcyBTb3VyY2VCdWZmZXJMaXN0OwogICAgIGNsYXNzIFRl
eHRUcmFjazsKICAgICBjbGFzcyBUZXh0VHJhY2tDdWU7CiAgICAgY2xhc3MgV2ViU29ja2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODIxNzE3YjBkN2Zl
NzY1M2FhZjNmNjVkYTM1ZWE4ZWY5NWJkMDRlNC4uMzkyYjMwNTQ0MjQ4MTdmY2ZlMDFmMTgzMmYy
YjkyNWMxYjAzYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
CkBAIC0xNiw2ICsxNiw3IEBAIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0IGNvbmRpdGlvbmFsPUlO
REVYRURfREFUQUJBU0UKIEphdmFTY3JpcHRBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElP
CiBMb2NhbE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFDb250cm9s
bGVyIGNvbmRpdGlvbmFsPVZJREVPCitNZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VS
Q0UKIE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFj
a0xpc3QgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZXNzYWdlUG9ydApAQCAtMjYsNiArMjcs
NyBAQCBQZWVyQ29ubmVjdGlvbjAwIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogUGVyZm9ybWFu
Y2UgY29uZGl0aW9uYWw9V0VCX1RJTUlORwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJF
RF9XT1JLRVJTCiBTaGFyZWRXb3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJT
CitTb3VyY2VCdWZmZXJMaXN0IGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogU3BlZWNoUmVjb2du
aXRpb24gY29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICiBTVkdFbGVtZW50SW5zdGFuY2UgY29u
ZGl0aW9uYWw9U1ZHCiBUZXh0VHJhY2sgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmNwcAppbmRleCA0Zjk3ODBkY2Q2YjMzNDc2Mzk4YmI0YzY4YjQ5OGU1Y2IwOTkxOTk3
Li5mNDIzNWQ5NWJmNzA2NDU4NzU2NmViMDZlYWQzYWY1MTg0OWRkMzY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuY3BwCkBAIC00Miw2ICs0MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCkBAIC00OSw2ICs1NCwy
NiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQor
U3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1lZGlhU291cmNlKiBzb3VyY2UpCit7CisgICAgLy8gU2lu
Y2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIE1lZGlhU291cmNlIG9iamVjdHMsIHdlIHNob3Vs
ZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKwor
ICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCB8fCAhc291cmNlKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0ZVB1Ymxp
Y1VSTChzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpKTsKKyAgICBpZiAo
cHVibGljVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgTWVk
aWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0cnkoKS5yZWdpc3Rlck1lZGlhU291cmNlVVJMKHB1Ymxp
Y1VSTCwgc291cmNlKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wdWJsaWNVUkxNYW5h
Z2VyKCkuc3RyZWFtVVJMcygpLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkpOworCisgICAgcmV0dXJu
IHB1YmxpY1VSTC5zdHJpbmcoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNZWRpYVN0cmVhbSogc3RyZWFtKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmgKaW5kZXggMjVhZTAxM2ViMGE4YTEwYmM0MzMzYTBiYmI0YTA3NzkxN2IyN2ZhNy4u
ZDcxZmI5M2YzNTViNWFkMmUyZmViZDJmYjkwMzE4M2Q5NzQxMjE3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVS
TC5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7
CitjbGFzcyBNZWRpYVNvdXJjZTsKIGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIApAQCAtNDksNiArNTAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
U3RyaW5nIGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopOwog
ICAgIHN0YXRpYyB2b2lkIHJldm9rZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgU3RyaW5nJik7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBzdGF0aWMgU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTb3VyY2Uq
KTsKKyNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgc3RhdGljIFN0cmluZyBj
cmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU3RyZWFtKik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAppbmRleCBlZDA0YzIzZDVjNjdiMzFjM2I5MzczNjIw
N2ZiNDBhZTk2YTE2YWFhLi5iMzZlOGY3Y2ViYWU3ZGMzNzZlOWJhYTMyOWNkY2U5OGUyZWEwYWNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCkBAIC0zMyw2ICszMyw5IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgSlNOb1N0YXRpY1RhYmxlcywKICAgICAgICAgSW50ZXJmYWNlTmFtZT1VUkwKICAg
ICBdIERPTVVSTCB7CisjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKSAmJiBFTkFCTEVf
TUVESUFfU09VUkNFCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LFRy
ZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3RhdGljIERPTVN0cmluZyBjcmVhdGVPYmpl
Y3RVUkwoaW4gTWVkaWFTb3VyY2U/IHNvdXJjZSk7CisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KICAgICAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBz
dGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVhbT8gc3RyZWFtKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA0
NTkwNzhmNjRjMDhiZTJiZTQzMWIwMDg4OGRjZjM5YmRiMzBiODY5Li5jYzI2MDUxNTVjMGZhYzYz
MjM4ZDU3N2Q0MDEwNzY2OTFjYjMwOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgpAQCAtMjQzLDYgKzI0Myw3IEBAIG9udG91Y2hjYW5jZWwKIG9udW5sb2Fk
CiBvbnZvbHVtZWNoYW5nZQogb253YWl0aW5nCitvbndlYmtpdGFkZHNvdXJjZWJ1ZmZlcgogb253
ZWJraXRhbmltYXRpb25zdGFydAogb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24KIG9ud2Via2l0
YW5pbWF0aW9uZW5kCkBAIC0yNTQsNiArMjU1LDcgQEAgb253ZWJraXRrZXlhZGRlZAogb253ZWJr
aXRrZXllcnJvcgogb253ZWJraXRrZXltZXNzYWdlCiBvbndlYmtpdG5lZWRrZXkKK29ud2Via2l0
cmVtb3Zlc291cmNlYnVmZmVyCiBvbndlYmtpdHNvdXJjZWNsb3NlCiBvbndlYmtpdHNvdXJjZWVu
ZGVkCiBvbndlYmtpdHNvdXJjZW9wZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGYxNjI3MWJjZDEzY2JkZjVlMmUwZTBkMjgwZTg2NDI4ZjUwMTNkMDQuLmZh
NjU4NDgzNDMyOGIwNzA0NjUwYmU0OGZlMjQwOGE0NGQzZTdiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTEwLDYgKzExMCwxMSBAQAogI2luY2x1ZGUg
IkRpc3BsYXlTbGVlcERpc2FibGVyLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMTQ0LDcgKzE0OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJv
b2wgdmFsKQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vIFVSTCBwcm90b2NvbCB1c2Vk
IHRvIHNpZ25hbCB0aGF0IHRoZSBtZWRpYSBzb3VyY2UgQVBJIGlzIGJlaW5nIHVzZWQuCi1zdGF0
aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VVUkxQcm90b2NvbCA9ICJ4LW1lZGlhLXNvdXJjZSI7
CitzdGF0aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wgPSAiYmxvYiI7CiAj
ZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTIxOCw5ICsyMjMsNiBAQCBI
VE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bQogICAgICwgbV9wcmVsb2FkKE1lZGlhUGxheWVyOjpBdXRv
KQogICAgICwgbV9kaXNwbGF5TW9kZShVbmtub3duKQogICAgICwgbV9wcm9jZXNzaW5nTWVkaWFQ
bGF5ZXJDYWxsYmFjaygwKQotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICAgICAgCi0gICAgLCBt
X3NvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpCi0jZW5kaWYKICAgICAsIG1fY2FjaGVkVGltZShN
ZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkKICAgICAsIG1fY2FjaGVkVGltZVdhbGxDbG9ja1Vw
ZGF0ZVRpbWUoMCkKICAgICAsIG1fbWluaW11bVdhbGxDbG9ja1RpbWVUb0NhY2hlTWVkaWFUaW1l
KDApCkBAIC0yNzEsNyArMjczLDcgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW0KICAgICB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UHJvdG9j
b2wobWVkaWFTb3VyY2VVUkxQcm90b2NvbCk7CisgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90
b2NvbChtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCk7CiAgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQ
YXRoKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CiAjZW5kaWYKIApAQCAtNDIwLDE0ICs0
MjIsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJp
YnV0ZSYgYXR0cmlidXRlKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS53ZWJraXRiZWdpbmZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKICAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgp
ID09IG9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGVuZGZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRzb3VyY2Vj
bG9zZUF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LndlYmtpdHNvdXJjZWNsb3NlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cmlidXRlKSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtp
dHNvdXJjZWVuZGVkQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0
ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09
IG9ud2Via2l0c291cmNlb3BlbkF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZl
bnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSNlbmRpZgogICAgIGVsc2UKICAgICAgICAg
SFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiB9CkBAIC03MDIsOCArNjk2
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCgpCiAjZW5kaWYKIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNF
X0NMT1NFRCkKLSAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0
U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAg
IC8vIDQgLSBJZiB0aGUgbWVkaWEgZWxlbWVudCdzIG5ldHdvcmtTdGF0ZSBpcyBub3Qgc2V0IHRv
IE5FVFdPUktfRU1QVFksIHRoZW4gcnVuIHRoZXNlIHN1YnN0ZXBzCkBAIC05MjYsMTAgKzkxOSwx
NiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBLVVJMJiBpbml0
aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudAogICAgIH0KICAgICAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIC8vIElmIHRoaXMgaXMgYSBtZWRpYSBzb3VyY2UgVVJMLCBtYWtlIHN1
cmUgaXQgaXMgdGhlIG9uZSBmb3IgdGhpcyBtZWRpYSBlbGVtZW50LgotICAgIGlmICh1cmwucHJv
dG9jb2xJcyhtZWRpYVNvdXJjZVVSTFByb3RvY29sKSAmJiB1cmwgIT0gbV9tZWRpYVNvdXJjZVVS
TCkgewotICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkZvcm1hdEVycm9y
KTsKLSAgICAgICAgcmV0dXJuOworICAgIGlmICh1cmwucHJvdG9jb2xJcyhtZWRpYVNvdXJjZUJs
b2JQcm90b2NvbCkpIHsKKyAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgICAgICBt
X21lZGlhU291cmNlLT5zZXRSZWFkeVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkp
OworCisgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBhZG9wdFJlZihNZWRpYVNvdXJjZVJlZ2lzdHJ5
OjpyZWdpc3RyeSgpLmxvb2t1cE1lZGlhU291cmNlKHVybC5zdHJpbmcoKSkpOworCisgICAgICAg
IGlmIChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBtX21lZGlhU291cmNlLT5zZXRNZWRp
YVBsYXllcihtX3BsYXllci5nZXQoKSk7CisgICAgICAgICAgICBtX21lZGlhU291cmNlVVJMID0g
dXJsOworICAgICAgICB9CiAgICAgfQogI2VuZGlmCiAKQEAgLTE0MzEsOCArMTQzMCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCgpCiAgICAgc2NoZWR1bGVFdmVudChl
dmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAg
IGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0
YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9z
ZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBlbGVtZW50J3MgZGVs
YXlpbmctdGhlLWxvYWQtZXZlbnQgZmxhZyB0byBmYWxzZS4gVGhpcyBzdG9wcyBkZWxheWluZyB0
aGUgbG9hZCBldmVudC4KQEAgLTE0NjMsOCArMTQ2MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFFbmdpbmVFcnJvcihQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycikKICAgICBzY2hl
ZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgICAg
c2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFT
b3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBTZXQgdGhlIGVs
ZW1lbnQncyBuZXR3b3JrU3RhdGUgYXR0cmlidXRlIHRvIHRoZSBORVRXT1JLX0VNUFRZIHZhbHVl
IGFuZCBxdWV1ZSBhCkBAIC0xNzI5LDcgKzE3MjYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhUGxheWVyU291cmNlT3BlbmVkKCkKIHsKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBs
YXllckNhbGxiYWNrKCk7CiAKLSAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CisgICAg
c2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOwogCiAgICAgZW5kUHJv
Y2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKIH0KQEAgLTE3MzgsMjIgKzE3MzUsNiBAQCBT
dHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdAogewog
ICAgIHJldHVybiBtX21lZGlhU291cmNlVVJMLnN0cmluZygpOwogfQotCi1ib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmlzVmFsaWRTb3VyY2VJZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykgY29uc3QKLXsKLSAgICBpZiAoaWQuaXNOdWxsKCkgfHwgaWQuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotCi0gICAgaWYgKCFtX3NvdXJjZUlEcy5jb250YWlucyhpZCkpIHsKLSAgICAgICAgZWMg
PSBTWU5UQVhfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTE5
NzcsOCArMTk1OCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIC8vIEFsd2F5
cyBub3RpZnkgdGhlIG1lZGlhIGVuZ2luZSBvZiBhIHNlZWsgaWYgdGhlIHNvdXJjZSBpcyBub3Qg
Y2xvc2VkLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgc291cmNlIGlzCiAgICAgLy8gYWx3YXlzIGlu
IGEgZmx1c2hlZCBzdGF0ZSB3aGVuIHRoZSAnc2Vla2luZycgZXZlbnQgZmlyZXMuCi0gICAgaWYg
KG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgIG5vU2Vla1JlcXVpcmVkID0g
ZmFsc2U7CisgICAgaWYgKG1fbWVkaWFTb3VyY2UgJiYgbV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0
ZSgpICE9IE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpCisgICAgICAgIG5vU2Vla1JlcXVp
cmVkID0gZmFsc2U7CiAjZW5kaWYKIAogICAgIGlmIChub1NlZWtSZXF1aXJlZCkgewpAQCAtMjAw
MCw4ICsxOTgxLDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1fc2VudEVuZEV2ZW50ID0gZmFsc2U7CiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9FTkRFRCkK
LSAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX09QRU4pOworICAgIGlmIChtX21lZGlhU291
cmNlICYmIG1fbWVkaWFTb3VyY2UtPnJlYWR5U3RhdGUoKSA9PSBNZWRpYVNvdXJjZTo6ZW5kZWRL
ZXl3b3JkKCkpCisgICAgICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpvcGVuS2V5d29y
ZCgpKTsKICNlbmRpZgogCiAgICAgLy8gOCAtIFNldCB0aGUgY3VycmVudCBwbGF5YmFjayBwb3Np
dGlvbiB0byB0aGUgZ2l2ZW4gbmV3IHBsYXliYWNrIHBvc2l0aW9uCkBAIC0yMzQ5LDE3NSArMjMz
MCwxMiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogfQogCiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3Vy
Y2VBZGRJZChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQotewotICAgIGlmIChpZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAobV9zb3VyY2VJRHMuY29udGFpbnMoaWQpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAodHlwZS5pc051bGwo
KSB8fCB0eXBlLmlzRW1wdHkoKSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50
U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikg
ewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlwZSk7Ci0gICAgVmVjdG9yPFN0cmlu
Zz4gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0KLSAgICBpZiAoIWNvZGVjcy5zaXpl
KCkpIHsKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGlkLCBjb250ZW50VHlw
ZS50eXBlKCksIGNvZGVjcykpIHsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKLSAgICAgICAg
bV9zb3VyY2VJRHMuYWRkKGlkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6Ok5vdFN1cHBvcnRlZDoKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAg
ICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0OgotICAgICAg
ICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtp
dFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewot
ICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9z
b3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3Vy
Y2VSZW1vdmVJZChpZCkpCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgbV9z
b3VyY2VJRHMucmVtb3ZlKGlkKTsKLX0KLQotUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBIVE1MTWVk
aWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFsaWRTb3VyY2VJZChpZCwgZWMpKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVk
aWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAg
IHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQpOwotfQotCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRy
PFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghaXNWYWxp
ZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXIg
fHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBT
T1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRhLmdldCgpKSB7Ci0gICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRh
LT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNl
QXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgpKSkgewotICAgICAgICBlYyA9
IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLXZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6d2Via2l0U291cmNlQWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmlu
ZyYgc3RhdGUpCiB7Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKKyAgICBpZiAo
IW1fbWVkaWFTb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9wbGF5ZXIgfHwg
bV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VS
Q0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJr
aXRTb3VyY2VFbmRPZlN0cmVhbSh1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3Vy
Y2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTWVkaWFQbGF5
ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9y
OwotCi0gICAgc3dpdGNoIChzdGF0dXMpIHsKLSAgICBjYXNlIEVPU19OT19FUlJPUjoKLSAgICAg
ICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRU9TX05FVFdPUktfRVJSOgotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXll
cjo6RW9zTmV0d29ya0Vycm9yOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVPU19ERUNPREVf
RVJSOgotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9FTkRFRCk7
Ci0gICAgbV9wbGF5ZXItPnNvdXJjZUVuZE9mU3RyZWFtKGVvc1N0YXR1cyk7Ci19Ci0KLUhUTUxN
ZWRpYUVsZW1lbnQ6OlNvdXJjZVN0YXRlIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVN0
YXRlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zb3VyY2VTdGF0ZTsKLX0KLQotdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSBzdGF0ZSkKLXsKLSAgICBT
b3VyY2VTdGF0ZSBvbGRTdGF0ZSA9IG1fc291cmNlU3RhdGU7Ci0gICAgbV9zb3VyY2VTdGF0ZSA9
IHN0YXRpY19jYXN0PFNvdXJjZVN0YXRlPihzdGF0ZSk7Ci0KLSAgICBpZiAobV9zb3VyY2VTdGF0
ZSA9PSBvbGRTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fc291cmNlU3RhdGUg
PT0gU09VUkNFX0NMT1NFRCkgewotICAgICAgICBtX3NvdXJjZUlEcy5jbGVhcigpOwotICAgICAg
ICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VjbG9zZUV2ZW50KTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChvbGRTdGF0ZSA9PSBTT1VSQ0VfT1BFTiAm
JiBtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9FTkRFRCkgewotICAgICAgICBzY2hlZHVsZUV2ZW50
KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VlbmRlZEV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9PUEVOKSB7Ci0gICAgICAg
IHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CisgICAgbV9tZWRpYVNvdXJjZS0+c2V0UmVhZHlTdGF0ZShzdGF0
ZSk7CiB9CiAjZW5kaWYKIApAQCAtMzc2Nyw4ICszNTg1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp1c2VyQ2FuY2VsbGVkTG9hZCgpCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCku
YWJvcnRFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJj
ZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9D
TE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkp
OwogI2VuZGlmCiAKICAgICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyByZWFkeVN0YXRl
IGF0dHJpYnV0ZSBoYXMgYSB2YWx1ZSBlcXVhbCB0byBIQVZFX05PVEhJTkcsIHNldCB0aGUgCkBA
IC00MjcyLDYgKzQwODksMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBs
YXllcigpCiAgICAgICAgIAogICAgIG1fcGxheWVyID0gTWVkaWFQbGF5ZXI6OmNyZWF0ZSh0aGlz
KTsKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisg
ICAgICAgIG1fbWVkaWFTb3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBpZiAobV9hdWRpb1NvdXJjZU5vZGUp
IHsKICAgICAgICAgLy8gV2hlbiBjcmVhdGluZyB0aGUgcGxheWVyLCBtYWtlIHN1cmUgaXRzIEF1
ZGlvU291cmNlUHJvdmlkZXIga25vd3MgYWJvdXQgdGhlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzM1YmZiZDM2
NDEzMjllNTZiMmFhZDk0ZWE4OTQ4ZWVhMzFmNThhNC4uZjM0NzIyNDdhOTJmOTVjN2M3MTRiOTZi
Njk0YjhkNGQ1NDFhY2E4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
QEAgLTQ1LDYgKzQ1LDEwIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgiCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtMTc1
LDIwICsxNzksNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vICBNZWRp
YSBTb3VyY2UuCiAgICAgY29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3VyY2VVUkwoKSBjb25zdCB7
IHJldHVybiBtX21lZGlhU291cmNlVVJMOyB9Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3
ZWJraXRTb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
UGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiB3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcm
LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3Ry
aW5nJiwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
dm9pZCB3ZWJraXRTb3VyY2VBYm9ydChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVPU19OT19FUlJPUiwgRU9TX05FVFdPUktfRVJS
LCBFT1NfREVDT0RFX0VSUiB9OwotICAgIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0odW5z
aWduZWQgc2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBlbnVtIFNvdXJjZVN0YXRlIHsgU09V
UkNFX0NMT1NFRCwgU09VUkNFX09QRU4sIFNPVVJDRV9FTkRFRCB9OwotICAgIFNvdXJjZVN0YXRl
IHdlYmtpdFNvdXJjZVN0YXRlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3Vy
Y2VTdGF0ZSk7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNv
dXJjZW9wZW4pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291
cmNlZW5kZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291
cmNlY2xvc2UpOworICAgIHZvaWQgc2V0U291cmNlU3RhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5k
aWYgCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtNDE4LDcgKzQwOSw2IEBAIHBy
aXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQ
bGF5ZXJTb3VyY2VPcGVuZWQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJj
ZVVSTCgpIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYsIEV4
Y2VwdGlvbkNvZGUmKSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKQEAgLTU5Niw4ICs1ODYsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKICAgICBLVVJMIG1fbWVkaWFTb3VyY2VVUkw7Ci0gICAgU291cmNlU3RhdGUgbV9zb3VyY2VT
dGF0ZTsKLSAgICBIYXNoU2V0PFN0cmluZz4gbV9zb3VyY2VJRHM7CisgICAgUmVmUHRyPE1lZGlh
U291cmNlPiBtX21lZGlhU291cmNlOwogI2VuZGlmCiAKICAgICBtdXRhYmxlIGZsb2F0IG1fY2Fj
aGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGFj
MGZhNDY3YjQwNDllMTYzZTkwY2I2YjYzZmEzMzdhY2JjMmUyNjQuLjlkMGFlOGE3Nzk5OWE3NTFh
NzVjZDU0ZGMxNTFhOTM3Y2VlNjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmlkbApAQCAtOTgsMzUgKzk4LDYgQEAgbW9kdWxlIGh0bWwgewogI2lmIGRlZmluZWQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQogICAgIC8vIFVSTCBw
YXNzZWQgdG8gc3JjIGF0dHJpYnV0ZSB0byBlbmFibGUgdGhlIG1lZGlhIHNvdXJjZSBsb2dpYy4K
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwg
VVJMXSBET01TdHJpbmcgd2Via2l0TWVkaWFTb3VyY2VVUkw7Ci0KLSAgICAvLyBNYW5hZ2VzIElE
cyBmb3IgYXBwZW5kaW5nIG1lZGlhIHRvIHRoZSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0UnVu
dGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChpbiBET01TdHJpbmcgaWQs
IGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4RW5hYmxl
ZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VSZW1vdmVJZChpbiBET01T
dHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgIC8vIFJldHVybnMgdGhlIHRp
bWUgcmFuZ2VzIGJ1ZmZlcmVkIGZvciBhIHNwZWNpZmljIHNvdXJjZSBJRC4KLSAgICBbVjhFbmFi
bGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBUaW1lUmFuZ2VzIHdlYmtpdFNvdXJjZUJ1ZmZlcmVk
KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIAotICAgIC8vIEFw
cGVuZHMgc2VnbWVudCBkYXRhLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2Vd
IHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwgaW4gVWludDhBcnJheSBk
YXRhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBBYm9ydHMgdGhlIGN1cnJlbnQg
c2VnbWVudC4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtp
dFNvdXJjZUFib3J0KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0g
ICAgLy8gU2lnbmFscyB0aGUgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1l
PW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9fRVJST1IgPSAwOyAvLyBF
bmQgb2Ygc3RyZWFtIHJlYWNoZWQgdy9vIGVycm9yLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9
bWVkaWFTb3VyY2VdIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVPU19ORVRXT1JLX0VSUiA9IDE7IC8v
IEEgbmV0d29yayBlcnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVk
QXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfREVDT0RFX0VS
UiA9IDI7IC8vIEEgZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFtLgotICAgIFtW
OEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJl
YW0oaW4gdW5zaWduZWQgc2hvcnQgc3RhdHVzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAg
ICAvLyBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG1lZGlhIHNvdXJjZS4KLSAg
ICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBT
T1VSQ0VfQ0xPU0VEID0gMDsKLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7Ci0gICAgW1Y4RW5hYmxlZEF0UnVu
dGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX0VOREVEID0gMjsK
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0g
dW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3RhdGU7Ci0KLSAgICBhdHRyaWJ1dGUgW1Y4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZW9w
ZW47Ci0gICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50
TGlzdGVuZXIgb253ZWJraXRzb3VyY2VlbmRlZDsKLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0
UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZWNsb3NlOwog
I2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRV9F
TkNSWVBURURfTUVESUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiZDljZjBjMjNi
ZTBjYzE4Mjk1MzVmM2FlZmU4Y2RiZjIyYmVhMDdkLi4yYWI1YzI1NGRhOTFjZjAwN2I4MGRlOTI5
NzkwY2UzNmI1NjZlNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03ODEsNiAr
NzgxLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9TVVUQVRJT05fT0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjsKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBNZWRpYVNvdXJjZUNvbnN0
cnVjdG9yIE1lZGlhU291cmNlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJDb25z
dHJ1Y3RvciBTb3VyY2VCdWZmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVE
SUFfU09VUkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckxp
c3RDb25zdHJ1Y3RvciBTb3VyY2VCdWZmZXJMaXN0OworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5H
VUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5H
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYmY2N2FlZGUwYzE3MWFmZDhiOTRhN2NiMzljODY1YWZiOTU1NTI1MC4uOWNiOTlj
YTA5ZjVmOGVjNGI2YTY5ZGMyMWFkZGY4YTQ2YjViZWU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBA
CisyMDEyLTA3LTE5ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBVcGRhdGUgTWVkaWEgU291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3Qg
dGhlIG5ldyBNZWRpYVNvdXJjZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9o
dG1sLW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qczoK
KyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKToKKyAgICAgICAgKE1lZGlh
U291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VCdWZmZXIpOgorICAg
ICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZEluaXRT
ZWdtZW50KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlw
ZS5hcHBlbmRNZWRpYVNlZ21lbnQpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRI
ZWxwZXIucHJvdG90eXBlLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0pOgorICAgICAgICAoTWVkaWFT
b3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKToKKyAgICAgICAgKE1lZGlhU291
cmNlVGVzdC5kZWZhdWx0T25FcnJvckNoZWNrcyk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3Qu
cnVuT25Tb3VyY2VPcGVuLmV2ZW50SGFuZGxlckZ1bmN0aW9uKToKKyAgICAgICAgKE1lZGlhU291
cmNlVGVzdC5ydW5PblNvdXJjZU9wZW4pOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmxvZ1Nv
dXJjZVN0YXRlKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSk6
CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUt
YnVmZmVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRz
LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
YWRkLWFuZC1yZW1vdmUtaWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWVycm9ycy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZl
bnQtYXR0cmlidXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9i
amVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LXNlZWsuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5n
ZXMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDEyLTA3LTE5ICBMdWNpYW5vIFdvbGYgIDxsdWNpYW5vLndvbGZAb3BlbmJvc3NhLm9yZz4K
IAogICAgICAgICBbUXRdIFtQYXJ0IDVdIHBsYXRmb3JtL3F0L2NzczEgdGVzdHMgbmVlZHMgdXBk
YXRlIGFmdGVyIHJlYmFzZWxpbmUgYW5kIG5ldyB0ZXN0Zm9udHMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwpp
bmRleCA2ZGJiN2NhYTExOWM3ZjljMTM3YTlhMTFmNjhhMjllYzA2N2ZhZDI1Li45NWQzYjM0YmY5
MDViYThmZThkZDQyNWI4MjlmZGJmNDYyYWVkMWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCkBAIC0x
LDkgKzEsMTAgQEAKIHZhciBNZWRpYVNvdXJjZVRlc3QgPSB7fTsKK3ZhciBtZWRpYVNvdXJjZSA9
IG5ldyBNZWRpYVNvdXJjZSgpOwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlciA9IGZ1
bmN0aW9uKHNlZ21lbnRJbmZvKQogewogICAgIHRoaXMuTWVkaWFTZWdtZW50c1RvTG9hZCA9IDA7
Ci0gICAgdGhpcy5Tb3VyY2VJRCA9ICdzb3VyY2VJZCc7CisgICAgdGhpcy5zb3VyY2VCdWZmZXIg
PSBudWxsOwogCiAgICAgdGhpcy52aWRlb1RhZyA9IG51bGw7CiAgICAgdGhpcy5zZWdtZW50SW5m
byA9IHNlZ21lbnRJbmZvOwpAQCAtMTIxLDMyICsxMjIsMzIgQEAgTWVkaWFTb3VyY2VUZXN0LlNl
Z21lbnRIZWxwZXIucHJvdG90eXBlLmdldERhdGFfID0gZnVuY3Rpb24gKHVybCwgc3RhcnQsIGxl
bmd0aCwKICAgICByZXF1ZXN0LnNlbmQoKTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5TZWdtZW50
SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VJZCA9IGZ1bmN0aW9uKCkKK01lZGlhU291cmNlVGVz
dC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VCdWZmZXIgPSBmdW5jdGlvbigpCiB7
Ci0gICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCh0aGlzLlNvdXJjZUlELCB0aGlz
LnNlZ21lbnRJbmZvLnR5cGUpOworICAgIHRoaXMuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2Uu
YWRkU291cmNlQnVmZmVyKHRoaXMuc2VnbWVudEluZm8udHlwZSk7CiB9OwogCiBNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kSW5pdFNlZ21lbnQgPSBmdW5jdGlv
bigpCiB7Ci0gICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5Tb3VyY2VJ
RCwgdGhpcy5pbml0U2VnbWVudCk7CisgICAgdGhpcy5zb3VyY2VCdWZmZXIuYXBwZW5kKHRoaXMu
aW5pdFNlZ21lbnQpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90
eXBlLmFwcGVuZE1lZGlhU2VnbWVudCA9IGZ1bmN0aW9uKGluZGV4KQogewotICAgIHRoaXMudmlk
ZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHRoaXMuU291cmNlSUQsIHRoaXMubWVkaWFTZWdtZW50
c1tpbmRleF0pOworICAgIHRoaXMuc291cmNlQnVmZmVyLmFwcGVuZCh0aGlzLm1lZGlhU2VnbWVu
dHNbaW5kZXhdKTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlw
ZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtID0gZnVuY3Rpb24oc3RhcnRJbmRleCkKIHsKLSAgICBp
ZiAoIXRoaXMudmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKSB7Ci0gICAgICAgIGZhaWxUZXN0
KCJ3ZWJraXRTb3VyY2VBcHBlbmQoKSBpcyBub3QgYXZhaWxhYmxlIik7CisgICAgaWYgKCF0aGlz
LnNvdXJjZUJ1ZmZlcikgeworICAgICAgICBmYWlsVGVzdCgiTWVkaWFTb3VyY2UgQVBJIGlzIG5v
dCBhdmFpbGFibGUiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGZvciAodmFyIGlu
ZGV4ID0gc3RhcnRJbmRleDsgaW5kZXggPCB0aGlzLm1lZGlhU2VnbWVudHMubGVuZ3RoOyBpbmRl
eCsrKQogICAgICAgICB0aGlzLmFwcGVuZE1lZGlhU2VnbWVudChpbmRleCk7CiAKLSAgICB0aGlz
LnZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHRoaXMudmlkZW9UYWcuRU9TX05PX0VS
Uk9SKTsKKyAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogfTsKIAogTWVkaWFTb3VyY2VU
ZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmdldFRpbWVGb3JNZWRpYVNlZ21lbnQgPSBmdW5j
dGlvbihpbmRleCkKQEAgLTE3Niw3ICsxNzcsNyBAQCBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9N
ZWRpYVNvdXJjZVRlc3RVUkwgPSBmdW5jdGlvbih2aWRlb1RhZykKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHZpZGVvVGFnLnNyYyA9IHZpZGVvVGFnLndlYmtpdE1lZGlhU291cmNlVVJM
OworICAgIHZpZGVvVGFnLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3Vy
Y2UpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0Lm1lZGlhRXJyb3JTdHJpbmcgPSBmdW5jdGlvbih2
aWRlb1RhZykKQEAgLTIwNiw5ICsyMDcsOSBAQCBNZWRpYVNvdXJjZVRlc3QuZGVmYXVsdE9uRXJy
b3JDaGVja3MgPSBmdW5jdGlvbihldmVudCkKIAogICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoZXJy
b3IpIDogIiArIE1lZGlhU291cmNlVGVzdC5tZWRpYUVycm9yU3RyaW5nKHZpZGVvVGFnKSk7CiAK
LSAgICBpZiAodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5T
T1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBzb3VyY2Ug
c3RhdGUuIEV4cGVjdGVkIFNPVVJDRV9DTE9TRUQiICsKLSAgICAgICAgICAgICAgICAgICAgICIg
Z290ICIgKyBnZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUpKTsK
KyAgICBpZiAobWVkaWFTb3VyY2UucmVhZHlTdGF0ZSAhPSAiY2xvc2VkIikgeworICAgICAgICBj
b25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAnY2xvc2VkJyIg
KworICAgICAgICAgICAgICAgICAgICAgIiBnb3QgIiArIG1lZGlhU291cmNlLnJlYWR5U3RhdGUp
OwogICAgIH0KIH07CiAKQEAgLTI3MCw0MiArMjcxLDMyIEBAIE1lZGlhU291cmNlVGVzdC5ydW5P
blNvdXJjZU9wZW4gPSBmdW5jdGlvbih2aWRlb1RhZywgb25PcGVuRnVuY3Rpb24pCiB7CiAgICAg
dmFyIGV2ZW50SGFuZGxlckZ1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KQogICAgIHsKKyAgICAg
ICAgaWYgKHZpZGVvVGFnLm5ldHdvcmtTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktf
TE9BRElORyAmJgorICAgICAgICAgICAgdmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhUTUxNZWRp
YUVsZW1lbnQuTkVUV09SS19JRExFKSB7CisgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3Rl
ZCBuZXR3b3JrIHN0YXRlLiBFeHBlY3RlZCAiICsKKyAgICAgICAgICAgICAgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuTkVUV09SS19MT0FESU5HICsgIiBvciAiICsKKyAgICAgICAgICAgICAgICAg
ICAgIEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19JRExFICsKKyAgICAgICAgICAgICAgICAgICAg
ICIgZ290ICIgKyB2aWRlb1RhZy5yZWFkeVN0YXRlKTsKKyAgICAgICAgfQogICAgICAgICBldmVu
dC50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFu
ZGxlckZ1bmN0aW9uKTsKICAgICAgICAgb25PcGVuRnVuY3Rpb24oKTsKICAgICB9OwotICAgIHZp
ZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJG
dW5jdGlvbik7Ci0gICAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJM
KHZpZGVvVGFnKTsKLX07CiAKLU1lZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZSA9IGZ1bmN0
aW9uKHZpZGVvVGFnKQotewotICAgIGNvbnNvbGVXcml0ZSgid2Via2l0U291cmNlU3RhdGUgOiAi
ICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VTdGF0ZSkpOworICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CisgICAgTWVkaWFTb3VyY2VUZXN0LnNldFNy
Y1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvVGFnKTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9uKHZpZGVvVGFnLCBleHBlY3RlZCkKK01lZGlhU291
cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9uKG1lZGlhU291cmNlKQogewotICAgIGlm
ICh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSAhPSBleHBlY3RlZCkgewotICAgICAgICBmYWls
VGVzdCgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVkICIgKwotICAgICAgICAgICAg
ICAgICBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKGV4cGVjdGVkKSArCi0gICAg
ICAgICAgICAgICAgICIgZ290ICIgKyBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1l
KHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlKSk7Ci0gICAgfQorICAgIGNvbnNvbGVXcml0ZSgi
d2Via2l0U291cmNlU3RhdGUgOiAiICsgbWVkaWFTb3VyY2UucmVhZHlTdGF0ZSk7CiB9OwogCi1N
ZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lID0gZnVuY3Rpb24oc3RhdGUpCitNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRpYVNvdXJjZSwgZXhw
ZWN0ZWQpCiB7Ci0gICAgdmFyIHN0YXRlTmFtZSA9ICJVTktOT1dOIjsKLSAgICBzd2l0Y2ggKHN0
YXRlKSB7Ci0gICAgICAgIGNhc2UgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfQ0xPU0VEOgotICAg
ICAgICAgICAgc3RhdGVOYW1lID0gIlNPVVJDRV9DTE9TRUQiOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTjoKLSAgICAgICAgICAg
IHN0YXRlTmFtZSA9ICJTT1VSQ0VfT1BFTiI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9FTkRFRDoKLSAgICAgICAgICAgIHN0YXRlTmFt
ZSA9ICJTT1VSQ0VfRU5ERUQiOwotICAgICAgICAgICAgYnJlYWs7CisgICAgaWYgKG1lZGlhU291
cmNlLnJlYWR5U3RhdGUgIT0gZXhwZWN0ZWQpIHsKKyAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0
ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAiICsgZXhwZWN0ZWQgKworICAgICAgICAgICAgICAg
ICAiIGdvdCAiICsgbWVkaWFTb3VyY2UucmVhZHlTdGF0ZSk7CiAgICAgfQotICAgIHJldHVybiBz
dGF0ZU5hbWU7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0UmVhZHlTdGF0ZSA9IGZ1bmN0
aW9uKHZpZGVvVGFnLCBleHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDY1OGZmNzExNmUxMzcxZjZkYzM1Njdh
ZGZjNTQ4ODVhNWYxMjQ5YmUuLmM1ZDI4YmZhMjI3YmMwMmY1MWQyNTJjMTViOGJjYTgyMTM3OGY1
ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4
cGVjdGVkLnR4dApAQCAtMiw3ICsyLDYgQEAgVGVzdHMgd2Via2l0U291cmNlQWJvcnQoKSBmdW5j
dGlvbmFsaXR5CiAKIAogcnVubmluZyBhYm9ydER1cmluZ0luaXRTZWdtZW50Ci1FVkVOVChsb2Fk
c3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhYm9ydGluZyBkdXJpbmcgaW5p
dGlhbGl6YXRpb24gc2VnbWVudC4KIEFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQuCkBAIC0xMyw3ICsxMiw2IEBAIEVWRU5UKGxvYWRlZGRhdGEpCiAKIHJ1bm5pbmcgYWJv
cnREdXJpbmdNZWRpYVNlZ21lbnQKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBF
VkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhYm9ydGluZyBpbiB0aGUgbWlkZGxlIG9mIGEg
bWVkaWEgc2VnbWVudC4KIEFwcGVuZGluZyBwYXJ0aWFsIG1lZGlhIHNlZ21lbnQuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sCmluZGV4IDQ4OWM5NWE5OThjMDU4
MmM2ZjA2MGE1NzY2OWMxNmU2YjA4Njk4MzIuLjMxODE0NTZhOGI1Y2U2YTRhNDI0Y2IxZDJlMTcx
MGZiYmYzMmU2NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5o
dG1sCkBAIC05LDcgKzksNyBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBhYm9ydER1cmluZ0lu
aXRTZWdtZW50KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAg
IHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgYWJvcnRpbmcgZHVyaW5nIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7
CiAgICAgICAgICAgICAgICAgdHJ5IHsKQEAgLTE3LDEwICsxNywxMCBAQAogICAgICAgICAgICAg
ICAgICAgICB2YXIgcGFydGlhbEluaXRTZWdtZW50ID0gaW5pdFNlZ21lbnQuc3ViYXJyYXkoMCwg
aW5pdFNlZ21lbnQubGVuZ3RoIC8gMik7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJBcHBlbmRpbmcgcGFydGlhbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwotICAgICAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc2VnbWVudEhlbHBlci5T
b3VyY2VJRCwgcGFydGlhbEluaXRTZWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKHBhcnRpYWxJbml0U2VnbWVudCk7CiAKICAgICAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBYm9ydGluZyBhcHBlbmQuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0KHNlZ21lbnRIZWxwZXIuU291
cmNlSUQpOworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5h
Ym9ydCgpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGZ1
bGwgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwpAQCAtNDIsNyArNDIsNyBAQAogCiAgICAgICAg
ICAgICBmdW5jdGlvbiBhYm9ydER1cmluZ01lZGlhU2VnbWVudChydW5OZXh0VGVzdENhc2UsIHZp
ZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRk
U291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZl
cigpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFib3J0aW5nIGluIHRo
ZSBtaWRkbGUgb2YgYSBtZWRpYSBzZWdtZW50LiIpOwogICAgICAgICAgICAgICAgIHRyeSB7CkBA
IC01MSwxMCArNTEsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgdmFyIHBhcnRpYWxNZWRpYVNl
Z21lbnQgPSBtZWRpYVNlZ21lbnQuc3ViYXJyYXkoMCwgbWVkaWFTZWdtZW50Lmxlbmd0aCAvIDIp
OwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHBhcnRpYWwg
bWVkaWEgc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlQXBwZW5kKHNlZ21lbnRIZWxwZXIuU291cmNlSUQsIHBhcnRpYWxNZWRpYVNlZ21lbnQpOwor
ICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQocGFy
dGlhbE1lZGlhU2VnbWVudCk7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJB
Ym9ydGluZyBhcHBlbmQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFib3J0KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOworICAgICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hYm9ydCgpOwogCiAgICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGZ1bGwgbWVkaWEgc2VnbWVudC4iKTsKICAgICAgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7CkBAIC03Nywx
MSArNzcsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVt
ZW50KCk7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkZGF0YScpOwotICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOworICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNl
KTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlh
U291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQt
YW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZm
ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTFmOTFiNWY5ZmVhMzM4NTVkNWNkMGIwMzM4
ODMzOTAxYmZjMGZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZl
cnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDcgQEAKK1Rlc3RzIHdlYmtpdFNvdXJjZUFkZElk
KCkgJiB3ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHMKKworVGVzdCBhZGRpbmcgYW4gSUQg
d2hpbGUgY2xvc2VkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0QWRkQnVmZmVyRmFpbHVyZUNh
c2VzCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCBlbXB0eSB0eXBlLgorR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1
CitUZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitUZXN0IGEgc3VwcG9ydGVkIHR5
cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1Rlc3QgcmVhY2hpbmcgc291
cmNlSUQgbGltaXQuCitUZXN0IHRoYXQgU291cmNlQnVmZmVycyBjYW4ndCBiZSBhZGRlZCB3aGls
ZSBpbiB0aGUgZW5kZWQgc3RhdGUuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZB
TElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RSZW1vdmVOdWxs
QnVmZmVyCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCBudWxsIGJ1ZmZlciBjYXNlCitH
b3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNl
cHRpb24gMTUKKworcnVubmluZyB0ZXN0UmVtb3ZlQWdhaW4KK0VWRU5UKHdlYmtpdHNvdXJjZW9w
ZW4pCitUZXN0IHJlbW92aW5nIGEgYnVmZmVyIHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4KK0dv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0
aW9uIDExCisKK3J1bm5pbmcgdGVzdFJlbW92ZUJ1ZmZlckFmdGVyRW5kZWQKK0VWRU5UKHdlYmtp
dHNvdXJjZW9wZW4pCitUZXN0IHRoYXQgYSBidWZmZXIgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4g
dGhlIGVuZGVkIHN0YXRlLgorCitydW5uaW5nIHRlc3RBZGRCdWZmZXJBZnRlclJlbW92aW5nCitF
VkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSBhZGRlZCBh
Z2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLgorVW5leHBlY3RlZCBleGNlcHRpb246IEVycm9yOiBR
VU9UQV9FWENFRURFRF9FUlI6IERPTSBFeGNlcHRpb24gMjIKKworcnVubmluZyB0ZXN0QXBwZW5k
RmFpbHVyZUNhc2VzCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCBhIHN1Y2Nlc3NmdWwg
YXBwZW5kLgorVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLgorR290IGV4cGVjdGVkIGV4
Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1CitUZXN0
IGFwcGVuZCBhZnRlciBlbmRlZC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCitUZXN0IGFwcGVuZCBhZnRlciBidWZmZXIg
aGFzIGJlZW4gcmVtb3ZlZC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZl
cnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zOTBmZDQ1MDdiNjZkNDFjZTk3ZDAxMjAyY2RiNGEyZDNmMjkw
N2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbApA
QCAtMCwwICsxLDIwMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEvcmVzb3VyY2VzL21lZGlhLXNvdXJjZS93
ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJtZWRp
YS1zb3VyY2UuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFy
IHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2ViTVNl
Z21lbnRJbmZvLnRlc3RXZWJNKTsKKyAgICAgICAgICAgIHZhciBkZWZhdWx0U291cmNlTWltZXR5
cGUgPSBzZWdtZW50SGVscGVyLnNlZ21lbnRJbmZvLnR5cGU7CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKHR5cGUsIGVycm9yKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKHR5cGUpOworICAg
ICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNv
ZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBl
Y3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVC
dWZmZXIoYnVmZmVyLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoYnVm
ZmVyKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlv
biIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCEoZS5jb2RlID09IGVycm9yKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRl
c3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRocm93IGU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlv
bk9uQXBwZW5kKGJ1ZiwgZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5k
KGJ1Zik7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRp
b24iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxU
ZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkQnVmZmVy
V2hpbGVDbG9zZWQodmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQuIik7CisgICAgICAgICAg
ICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBE
T01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0QWRkQnVmZmVyRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGVtcHR5IHR5cGUuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRC
dWZmZXIoIiIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuIik7CisgICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIoImF1ZGlvL3gtdW5zdXBwb3J0ZWQt
Zm9ybWF0IiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKKworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0
ZWQgY29kZWMuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIo
InZpZGVvL3dlYm07IGNvZGVjcz1cInZwOCwgc3BlZXhcIiIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQ
UE9SVEVEX0VSUik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVhY2hp
bmcgc291cmNlSUQgbGltaXQuIik7CisgICAgICAgICAgICAgICAgdmFyIHJlYWNoZWRJZExpbWl0
ID0gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAvLyBUaGUgMjAgaGVyZSBpcyBhbiBhcmJpdHJh
cnkgdXBwZXIgbGltaXQgdG8gbWFrZSBzdXJlIHRoZSB0ZXN0IHRlcm1pbmF0ZXMuIFRoaXMgdGVz
dAorICAgICAgICAgICAgICAgIC8vIGFzc3VtZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgd29uJ3Qg
c3VwcG9ydCBtb3JlIHRoYW4gMjAgc291cmNlSUQncyBzaW11bHRhbmVvdXNseS4KKyAgICAgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1
ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgICAgICB9IGNhdGNo
KGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT0gRE9NRXhjZXB0aW9u
LlFVT1RBX0VYQ0VFREVEX0VSUikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxU
ZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJlYWNoZWRJZExpbWl0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKCFyZWFjaGVkSWRMaW1pdCkgeworICAgICAgICAgICAgICAgICAgICBm
YWlsVGVzdCgiRmFpbGVkIHRvIHJlYWNoIFNvdXJjZUlEIGxpbWl0LiIpOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IHRoYXQgU291cmNlQnVmZmVycyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBp
biB0aGUgZW5kZWQgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZT
dHJlYW0oKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcihkZWZh
dWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisKKyAg
ICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZU51bGxCdWZmZXIocnVuTmV4dFRlc3RDYXNlLCB2aWRl
b1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qg
bnVsbCBidWZmZXIgY2FzZSIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVt
b3ZlQnVmZmVyKG51bGwsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOworCisgICAg
ICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVBZ2FpbihydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZW1vdmlu
ZyBhIGJ1ZmZlciB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIo
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1v
dmVTb3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOworICAgICAgICAgICAg
ICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVm
ZmVyLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAgICAg
cnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RSZW1vdmVCdWZmZXJBZnRlckVuZGVkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYSBi
dWZmZXIgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLiIpOworICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291
cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVT
b3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOworCisgICAgICAgICAgICAg
ICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHRlc3RBZGRCdWZmZXJBZnRlclJlbW92aW5nKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQg
YSBidWZmZXIgY2FuIGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuIik7CisgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRT
b3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOwor
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJj
ZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFwcGVuZEZhaWx1cmVDYXNlcyhy
dW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHZhciBpbml0U2VnbWVudCA9IHNlZ21lbnRIZWxwZXIuaW5pdFNlZ21lbnQ7CisgICAgICAgICAg
ICAgICAgdmFyIG1lZGlhU2VnbWVudCA9IHNlZ21lbnRIZWxwZXIubWVkaWFTZWdtZW50c1swXTsK
KworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3Vy
Y2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4iKTsKKyAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQoaW5pdFNlZ21lbnQpOwor
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBi
dWZmZXIuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQobnVsbCwg
RE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7CisKKyAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgYXBwZW5kIGFmdGVyIGVuZGVkLiIpOworICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9u
T25BcHBlbmQoaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIGFmdGVyIGJ1ZmZlciBo
YXMgYmVlbiByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNv
dXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7CisgICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQoaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElE
X1NUQVRFX0VSUik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsK
KworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3Vj
Y2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vz
cykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byBsb2FkIHNl
Z21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgdGVzdEFkZEJ1ZmZlcldoaWxlQ2xv
c2VkKHZpZGVvKTsKKworICAgICAgICAgICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWworICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVOdWxsQnVmZmVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJlbW92ZUFnYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92
ZUJ1ZmZlckFmdGVyRW5kZWQsCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVy
QWZ0ZXJSZW1vdmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBcHBlbmRGYWlsdXJl
Q2FzZXMsCisgICAgICAgICAgICAgICAgICAgIF07CisKKyAgICAgICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LnN0YXJ0U291cmNlT3BlblRlc3RpbmcodmlkZW8sIHRlc3RDYXNlcyk7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KKyAgICAgICAgPHZpZGVvPiA8
L3ZpZGVvPgorICAgICAgICA8cD5UZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICZhbXA7IHdlYmtp
dFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kczwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5k
LXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MDg1OTExYThmNTdjYmQxNDFlZjc4ZGZmZmM1NmJlYTU4ODI2ZDZkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotVGVzdHMgd2Via2l0U291
cmNlQWRkSWQoKSAmIHdlYmtpdFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kcwotCi1UZXN0IGFkZGlu
ZyBhbiBJRCB3aGlsZSBjbG9zZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZB
TElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQotCi1ydW5uaW5nIHRlc3RBZGRJZEZhaWx1
cmVDYXNlcwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qg
ZW1wdHkgSUQgY2FzZQotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NF
U1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGFkZGluZyB0aGUgc2FtZSBJRCBhZ2Fpbi4K
LUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExCi1UZXN0IGVtcHR5IHR5cGUuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYW4gdW5zdXBwb3J0
ZWQgdHlwZS4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJS
OiBET00gRXhjZXB0aW9uIDkKLVRlc3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9y
dGVkIGNvZGVjLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOQotVGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4KLVRlc3Qg
dGhhdCBTb3VyY2VJRHMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLgot
R290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNl
cHRpb24gMTEKLQotcnVubmluZyB0ZXN0UmVtb3ZlRW1wdHlJZAotRVZFTlQobG9hZHN0YXJ0KQot
RVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgZW1wdHkgSUQgY2FzZQotR290IGV4cGVjdGVk
IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci0K
LXJ1bm5pbmcgdGVzdFJlbW92ZU5vbmV4aXN0ZW50SWQKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5U
KHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5ldmVyIGFk
ZGVkLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMgotCi1ydW5uaW5nIHRlc3RSZW1vdmVBZ2FpbgotRVZFTlQobG9hZHN0YXJ0KQotRVZF
TlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgYWxyZWFk
eSByZW1vdmVkLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMgotCi1ydW5uaW5nIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQKLUVWRU5UKGxv
YWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHRoYXQgYW4gSUQgY2FuIGJl
IHJlbW92ZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRlLgotCi1ydW5uaW5nIHRlc3RBZGRJZEFm
dGVyUmVtb3ZpbmcKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1U
ZXN0IHRoYXQgYW4gSUQgY2FuIGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuCi1V
bmV4cGVjdGVkIGV4Y2VwdGlvbjogRXJyb3I6IFFVT1RBX0VYQ0VFREVEX0VSUjogRE9NIEV4Y2Vw
dGlvbiAyMgotCi1ydW5uaW5nIHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMKLUVWRU5UKGxvYWRzdGFy
dCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IGFwcGVuZCB3aXRoIGVtcHR5IElELgot
R290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhj
ZXB0aW9uIDE1Ci1UZXN0IGFwcGVuZCB3aXRoIGFuIGludmFsaWQgSUQKLUdvdCBleHBlY3RlZCBl
eGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKLVRlc3QgYXBwZW5k
IHdpdGggYSBudWxsIGJ1ZmZlci4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5k
LgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlv
biAxMgotRU5EIE9GIFRFU1QKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4MjM3OWY1Y2E3MWY3YjU4MDZmZGU0OWY2NzYxYmYwOTYyZWFhM2U2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92
ZS1pZHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291
cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRp
YS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4K
LSAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+Ci0gICAgICAg
IDxzY3JpcHQ+Ci0gICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOwotICAgICAgICAg
ICAgdmFyIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSA9IHNlZ21lbnRIZWxwZXIuc2VnbWVudEluZm8u
dHlwZTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRl
b1RhZywgaWQsIHR5cGUsIGVycm9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRy
eSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKGlkLCB0
eXBlKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlv
biIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRl
c3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlv
bk9uUmVtb3ZlSWQodmlkZW9UYWcsIGlkLCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VS
ZW1vdmVJZChpZCk7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBl
eGNlcHRpb24iKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RF
eGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgaWQsIGJ1ZiwgZXJyb3IpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Vi
a2l0U291cmNlQXBwZW5kKGlkLCBidWYpOwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgi
RXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewot
ICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiAr
IGUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gdGVzdEFkZElkV2hpbGVDbG9zZWQodmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQu
Iik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjEy
MyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJS
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkRmFpbHVy
ZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGVtcHR5IElEIGNhc2UiKTsKLSAgICAgICAgICAg
ICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiIiwgZGVmYXVsdFNvdXJjZU1p
bWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5
cGUpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFkZGluZyB0aGUgc2Ft
ZSBJRCBhZ2Fpbi4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZp
ZGVvVGFnLCAiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92
ZUlkKCIxMjMiKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSB0
eXBlLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcs
ICIyMzQiLCAiIiwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4iKTsKLSAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgImF1ZGlv
L3gtdW5zdXBwb3J0ZWQtZm9ybWF0IiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsK
LQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdp
dGggYW4gdW5zdXBwb3J0ZWQgY29kZWMuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0
aW9uT25BZGRJZCh2aWRlb1RhZywgIjIzNCIsICJ2aWRlby93ZWJtOyBjb2RlY3M9XCJ2cDgsIHNw
ZWV4XCIiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOwotCi0gICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LiIpOwotICAgICAg
ICAgICAgICAgIHZhciByZWFjaGVkSWRMaW1pdCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAg
Ly8gVGhlIDIwIGhlcmUgaXMgYW4gYXJiaXRyYXJ5IHVwcGVyIGxpbWl0IHRvIG1ha2Ugc3VyZSB0
aGUgdGVzdCB0ZXJtaW5hdGVzLiBUaGlzIHRlc3QKLSAgICAgICAgICAgICAgICAvLyBhc3N1bWVz
IHRoYXQgaW1wbGVtZW50YXRpb25zIHdvbid0IHN1cHBvcnQgbW9yZSB0aGFuIDIwIHNvdXJjZUlE
J3Mgc2ltdWx0YW5lb3VzbHkuCi0gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAy
MDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBzb3VyY2VJRCA9ICJzb3VyY2VJRC0i
ICsgaTsKLSAgICAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHNvdXJjZUlELCBkZWZhdWx0U291cmNlTWltZXR5
cGUpOwotICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChlLmNvZGUgIT0gRE9NRXhjZXB0aW9uLlFVT1RBX0VYQ0VFREVEX0VSUikgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlv
biAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYWNoZWRJZExpbWl0
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKCFyZWFjaGVk
SWRMaW1pdCkgewotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIHJlYWNo
IFNvdXJjZUlEIGxpbWl0LiIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgU291
cmNlSURzIGNhbid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKLSAgICAg
ICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh2aWRlb1RhZy5FT1Nf
Tk9fRVJST1IpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9U
YWcsICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NU
QVRFX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUVtcHR5SWQocnVuTmV4dFRl
c3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgZW1wdHkgSUQgY2FzZSIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2Vw
dGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1Nf
RVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZChydW5OZXh0
VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBuZXZlciBhZGRlZC4iKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCAiMzQ1Iiwg
RE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RD
YXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVB
Z2FpbihydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBhbHJlYWR5
IHJlbW92ZWQuIik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQo
IjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcu
d2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2Vw
dGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcsICIxMjMiLCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7
Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZChydW5OZXh0VGVzdENh
c2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCB0aGF0IGFuIElEIGNhbiBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0
ZS4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwg
ZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VFbmRPZlN0cmVhbSh2aWRlb1RhZy5FT1NfTk9fRVJST1IpOwotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKLQotICAgICAgICAgICAgICAg
IHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlv
biB0ZXN0QWRkSWRBZnRlclJlbW92aW5nKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYW4gSUQg
Y2FuIGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuIik7Ci0gICAgICAgICAgICAg
ICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlw
ZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIp
OwotCi0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcu
d2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRl
b1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgaW5pdFNlZ21lbnQgPSBz
ZWdtZW50SGVscGVyLmluaXRTZWdtZW50OwotICAgICAgICAgICAgICAgIHZhciBtZWRpYVNlZ21l
bnQgPSBzZWdtZW50SGVscGVyLm1lZGlhU2VnbWVudHNbMF07Ci0KLSAgICAgICAgICAgICAgICB2
aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsK
LQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJ
RC4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywg
IiIsIGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhbiBpbnZhbGlkIElE
Iik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIy
MzQiLCBpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuIik7Ci0g
ICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIxMjMiLCBu
dWxsLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5kLiIpOwotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCgiMTIzIiwgaW5pdFNlZ21lbnQpOwotCi0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotICAg
ICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMTIzIiwgbWVk
aWFTZWdtZW50LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBy
dW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24g
b25Mb2FkKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50
KCk7Ci0KLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwotICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOwotCi0gICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlbyk7Ci0KLSAg
ICAgICAgICAgICAgICAgICAgdmFyIHRlc3RDYXNlcyA9IFsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RBZGRJZEZhaWx1cmVDYXNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
ZW1vdmVFbXB0eUlkLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZU5vbmV4aXN0
ZW50SWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlQWdhaW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdEFkZElkQWZ0ZXJSZW1vdmluZywKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMsCi0gICAgICAgICAgICAgICAgICAgIF07Ci0KLSAgICAg
ICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LnN0YXJ0U291cmNlT3BlblRlc3Rpbmcodmlk
ZW8sIHRlc3RDYXNlcyk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIDwvc2NyaXB0PgotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4K
LSAgICAgICAgPHZpZGVvPiA8L3ZpZGVvPgotICAgICAgICA8cD5UZXN0cyB3ZWJraXRTb3VyY2VB
ZGRJZCgpICZhbXA7IHdlYmtpdFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kczwvcD4KLSAgICA8L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
cnJvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDU1ZjIwYmIxYzc4YmM5Mzg0NTAyZjhhNjU0MzAwMGMx
ZWM4NTdiZTkuLjJlNmIzNDBmNTgxNDI1Y2FmOThlODk1NDVkZDI4NmYyMWRhMmViY2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQu
dHh0CkBAIC0yLDQxICsyLDM2IEBAIFRlc3RzIGVycm9yIGNhc2VzIHdpdGggTWVkaWFTb3VyY2Ug
QVBJCiAKIAogcnVubmluZyBkaWROb3RTZW5kSW5pdFNlZ21lbnRGaXJzdAotRVZFTlQobG9hZHN0
YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKIFRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2Vn
bWVudCBiZWZvcmUgc2VuZGluZyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KIEVWRU5UKGVy
cm9yKSA6IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGltbWVkaWF0ZURl
Y29kZUVycm9yVmlhRW5kT2ZTdHJlYW0KIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQp
CiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9y
IHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUg
ZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4KIEVWRU5UKHdlYmtpdHNvdXJjZWVu
ZGVkKQogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5p
bmcgaW1tZWRpYXRlTmV0d29ya0Vycm9yVmlhRW5kT2ZTdHJlYW0KIEVWRU5UKGVtcHRpZWQpCi1F
VkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5n
IGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLgorVGVzdCBzaWdu
YWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZF
TlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9T
VVBQT1JURUQKIAogcnVubmluZyBkZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhCiBFVkVOVChl
bXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qg
c2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFm
dGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFE
QVRBIHN0YXRlLgorVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3Vy
Y2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQg
dG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuCiBFVkVOVChsb2FkZWRtZXRhZGF0YSkKIEVWRU5U
KHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX0RFQ09ERQogCiBy
dW5uaW5nIG5ldHdvcmtFcnJvckFmdGVySGF2ZU1ldGFkYXRhCiBFVkVOVChlbXB0aWVkKQotRVZF
TlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBh
IG5ldHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZl
IGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4K
K1Rlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFW
RV9NRVRBREFUQSBzdGF0ZS4KIEVWRU5UKGxvYWRlZG1ldGFkYXRhKQogRVZFTlQod2Via2l0c291
cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfTkVUV09SSwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCmluZGV4IGZlOWNlYWFiNTRlYWMwMjky
YWE5M2VlMDU4ZTVmYmJiYzkyMDBlZGQuLjA5YWFlNTc2MjgyODJkY2U2NmY3OTFjNzg1ZGIwMjA0
NGQyYTUxYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0
bWwKQEAgLTIzLDQ2ICsyMyw0NiBAQAogICAgICAgICAgICAgZnVuY3Rpb24gZGlkTm90U2VuZElu
aXRTZWdtZW50Rmlyc3QocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2Vn
bWVudCBiZWZvcmUgc2VuZGluZyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudCgwKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgZnVuY3Rpb24gaW1tZWRpYXRlRGVjb2RlRXJyb3JWaWFFbmRPZlN0cmVhbShydW5OZXh0VGVz
dENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVu
ZE9mU3RyZWFtLiIpOwotICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJn
ZXQ7Ci0gICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhU
TUxNZWRpYUVsZW1lbnQuRU9TX0RFQ09ERV9FUlIpOworICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVu
ZE9mU3RyZWFtLiIpOworICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdl
dDsKKyAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oImRlY29kZSIpOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBpbW1lZGlhdGVOZXR3b3JrRXJy
b3JWaWFFbmRPZlN0cmVhbShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29y
ayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLiIpOwotICAgICAgICAgICAgICAg
IHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19ORVRXT1JLX0VSUik7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3Jr
IGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0uIik7CisgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
ZW5kT2ZTdHJlYW0oIm5ldHdvcmsiKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVu
Y3Rpb24gZGVjb2RlRXJyb3JBZnRlckhhdmVNZXRhZGF0YShydW5OZXh0VGVzdENhc2UsIHZpZGVv
VGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBz
aWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0
ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURB
VEEgc3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0
OwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRo
IE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRh
dGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOworICAgICAgICAgICAgICAg
IG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBl
bmRJbml0U2VnbWVudCgpOwogCiAgICAgICAgICAgICAgICAgYXBwZW5kVW50aWxNZXRhZGF0YUxv
YWRlZCh2aWRlb1RhZywgZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVu
dC5FT1NfREVDT0RFX0VSUik7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9m
U3RyZWFtKCJkZWNvZGUiKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgZnVuY3Rpb24gbmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEocnVuTmV4
dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0
byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9U
YWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3Vy
Y2VJZCgpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEg
bmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUg
YXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIp
OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogICAgICAgICAgICAgICAgIGFwcGVu
ZFVudGlsTWV0YWRhdGFMb2FkZWQodmlkZW9UYWcsIGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFt
KEhUTUxNZWRpYUVsZW1lbnQuRU9TX05FVFdPUktfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oIm5ldHdvcmsiKTsKICAgICAgICAgICAgICAgICB9KTsK
ICAgICAgICAgICAgIH0KIApAQCAtNzAsMTEgKzcwLDEwIEBACiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwogCi0gICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdsb2Fkc3RhcnQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRl
ZG1ldGFkYXRhJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2Vv
cGVuJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywg
IiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNv
dXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKaW5kZXggMWU3ODc1YzIxNTE1MGU5MDgzYTc0NWJjOTVkNGM5ZDZhMzcyMTQ2ZS4uZTI3ZmFk
OTI1ZDJjMjA2ZTY3MjVlZjk5Y2YwOTk4ZDVhOWY0Mjc5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dApAQCAtMiw3ICsyLDcgQEAgVGVzdCBNZWRpYSBTb3VyY2UgZXZlbnQgaGFuZGxlciBh
dHRyaWJ1dGVzCiAKIG9uTG9hZCgpCiBvblNvdXJjZU9wZW4oKQotQ2FsbGluZyB3ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuCitDYWxs
aW5nIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRl
ZCBldmVudC4KIG9uU291cmNlRW5kZWQoKQogU2V0dGluZyBzcmMgYXR0cmlidXRlIHRvICIiIHRv
IHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VjbG9zZWQgZXZlbnQuCiBvblNvdXJjZUNsb3NlKCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRl
cy5odG1sCmluZGV4IGZmMmY3Yzg4YjBmYzkyZTkyN2U4YzdmZThkY2UxNzc4MjVmZGFkZmUuLjUy
YzBhYzljNjM1ZDJlMTkzOTNkZWEyYTgzNjQ4MTRkMWFiNjQyOTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
dmVudC1hdHRyaWJ1dGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAt
MywyMiArMywyNiBAQAogICAgPGhlYWQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNv
dXJjZXMvdmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4odmlkZW8pCisK
KyAgICAgICAgICAgdmFyIHZpZGVvID0gbnVsbDsKKyAgICAgICAgICAgdmFyIG1lZGlhU291cmNl
ID0gbnVsbDsKKworICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4oKQogICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291cmNlT3BlbigpIik7Ci0KLSAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2FsbGluZyB3ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuIik7Ci0gICAgICAgICAgICAg
ICB2aWRlby53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19F
UlJPUik7CisgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgTWVkaWFTb3VyY2Uu
ZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50LiIpOworICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlRW5kZWQodmlkZW8pCisgICAgICAgICAgIGZ1bmN0
aW9uIG9uU291cmNlRW5kZWQoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIm9uU291cmNlRW5kZWQoKSIpOwogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJT
ZXR0aW5nIHNyYyBhdHRyaWJ1dGUgdG8gXCJcIiB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlY2xv
c2VkIGV2ZW50LiIpOwogICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gIiI7CisgICAgICAgICAg
ICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgIH0KIAotICAgICAgICAgICBmdW5jdGlvbiBvblNv
dXJjZUNsb3NlKHZpZGVvKQorICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUNsb3NlKCkKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJjZUNsb3NlKCki
KTsKICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKQEAgLTI3LDEzICszMSwxNyBAQAogICAgICAg
ICAgICBmdW5jdGlvbiBvbkxvYWQoZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJvbkxvYWQoKSIpOwotICAgICAgICAgICAgICAgdmFyIHZpZGVvID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3YnKTsKLSAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHZpZGVv
LndlYmtpdE1lZGlhU291cmNlVVJMOworICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndicpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVk
aWFTb3VyY2UoKTsKKyAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUVuZGVk
KTsKKyAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZWNsb3NlJywgb25Tb3VyY2VDbG9zZSk7CisgICAgICAgICAgICAgICB2aWRlby5zcmMgPSB3
ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKG1lZGlhU291cmNlKTsKICAgICAgICAgICAgfQogICAg
ICAgIDwvc2NyaXB0PgogICAgPC9oZWFkPgogICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CiAg
ICAgICAgPHA+VGVzdCBNZWRpYSBTb3VyY2UgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzPC9wPgot
ICAgICAgIDx2aWRlbyBpZD0ndicgb253ZWJraXRzb3VyY2VvcGVuPSdvblNvdXJjZU9wZW4odGhp
cyknIG9ud2Via2l0c291cmNlZW5kZWQ9J29uU291cmNlRW5kZWQodGhpcyk7JyBvbndlYmtpdHNv
dXJjZWNsb3NlPSdvblNvdXJjZUNsb3NlKHRoaXMpOyc+PC92aWRlbz4KKyAgICAgICA8dmlkZW8g
aWQ9J3YnPjwvdmlkZW8+CiAgICA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2Jq
ZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwOGUyNjI4ZTA3MTcyZTJkOWE1ZjhlNTAwNTE2ZDliNzJlMTc1OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBACitUZXN0cyBNZWRp
YVNvdXJjZSwgU291cmNlQnVmZmVyLCBhbmQgU291cmNlQnVmZmVyTGlzdCBvYmplY3RzLgorCitF
VkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCBNZWRpYVNvdXJjZSBvYmplY3QgdHlwZQorRVhQ
RUNURUQgKG1lZGlhU291cmNlID09ICdbb2JqZWN0IE1lZGlhU291cmNlXScpIE9LCitFWFBFQ1RF
RCAobWVkaWFTb3VyY2UgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFTb3VyY2UgPT0gJ3RydWUnKSBP
SworCitBZGQgYSBTb3VyY2VCdWZmZXIKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZm
ZXJzLmxlbmd0aCA9PSAnMCcpIE9LCitSVU4oc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIo
KSkKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCA9PSAnMScpIE9L
CisKK1Rlc3QgU291cmNlQnVmZmVyTGlzdCBvYmplY3QgdHlwZToKK0VYUEVDVEVEIChtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzID09ICdbb2JqZWN0IFNvdXJjZUJ1ZmZlckxpc3RdJykgT0sKK0VY
UEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIGluc3RhbmNlb2Ygd2luZG93LlNvdXJj
ZUJ1ZmZlckxpc3QgPT0gJ3RydWUnKSBPSworCitUZXN0IFNvdXJjZUJ1ZmZlciBvYmplY3QgdHlw
ZQorRVhQRUNURUQgKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyIGluc3RhbmNlb2Ygd2luZG93
LlNvdXJjZUJ1ZmZlciA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNl
QnVmZmVyc1swXSBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXIgPT0gJ3RydWUnKSBPSwor
CitBcHBlbmQgaW5pdCBzZWdtZW50CitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVy
c1swXS5idWZmZXJlZC5sZW5ndGggPT0gJzAnKSBPSworCitBcHBlbmQgMSBzZWNvbmQgb2YgZGF0
YS4KK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxlbmd0
aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZm
ZXJlZC5zdGFydCgwKSA9PSAnMCcpIE9LCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVm
ZmVyc1swXS5idWZmZXJlZC5lbmQoMCkgPiAnMScpIE9LCisKK1JlbW92ZSBTb3VyY2VCdWZmZXIK
K1JVTihtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VC
dWZmZXIpKQorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoID09ICcw
JykgT0sKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzID09ICdbb2JqZWN0IFNv
dXJjZUJ1ZmZlckxpc3RdJykgT0sKKworVGVzdCB0aGF0IGFwcGVuZCgpIHRocm93cyBhbiBlcnJv
ciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4KK0dvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCitUZXN0IHRo
YXQgYnVmZmVyZWQgdGhyb3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBoYXMgYmVlbiBy
ZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxl
bmd0aCA9PSAnMCcpIE9LCitUZXN0IHRoYXQgYWRkU291cmNlQnVmZmVyKCkgdGhyb3dzIGFuZCBl
cnJvciB3aGVuIHRoZSBNZWRpYVNvdXJjZSBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgbWVkaWEg
ZWxlbWVudC4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJS
OiBET00gRXhjZXB0aW9uIDExCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLW9iamVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWNhNzhiOTUyYmU2YzZhNTVi
Y2I0NGNhNGE0OGVjOGM0Mjc5NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMuaHRt
bApAQCAtMCwwICsxLDEyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEvcmVzb3VyY2VzL21lZGlhLXNvdXJj
ZS93ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJt
ZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
dmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2Vi
TVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VP
cGVuKGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCBNZWRpYVNvdXJjZSBvYmplY3QgdHlwZSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgibWVkaWFTb3VyY2UiLCBldmVudC50YXJnZXQpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgibWVkaWFTb3VyY2UgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFTb3VyY2UiLCB0cnVl
KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJBZGQgYSBTb3VyY2VCdWZmZXIiKTsKKworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGgiLCAwKTsKKworICAg
ICAgICAgICAgICAgIG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMuYWRkRXZlbnRMaXN0ZW5lcign
d2Via2l0YWRkc291cmNlYnVmZmVyJywgb25Tb3VyY2VCdWZmZXJBZGRlZCk7CisKKyAgICAgICAg
ICAgICAgICBydW4oInNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCkiKTsKKworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUZXN0IFNvdXJjZUJ1ZmZlciBvYmplY3QgdHlwZSIpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgic2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgaW5zdGFuY2VvZiB3aW5kb3cuU291
cmNlQnVmZmVyIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzWzBdIGluc3RhbmNlb2Ygd2luZG93LlNvdXJjZUJ1ZmZlciIsIHRy
dWUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkFwcGVuZCBpbml0IHNlZ21lbnQiKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQubGVuZ3Ro
IiwgMCk7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgp
OworCisgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGp1c3QgZW5vdWdoIHNlZ21lbnRzIHRvIGlu
Y2x1ZGUgYXQgbGVhc3QgMSBzZWNvbmQgb2YgbWVkaWEgZGF0YS4KKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kIDEg
c2Vjb25kIG9mIGRhdGEuIik7CisgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gc2VnbWVu
dEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcCgxKTsKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBlbmRJbmRleDsgaSsrKQorICAgICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudChpKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQubGVu
Z3RoIiwgMSk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3Vy
Y2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLnN0YXJ0KDApIiwgMCk7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmVuZCgwKSIs
IDEsICc+Jyk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiUmVtb3ZlIFNvdXJjZUJ1ZmZlciIpOworCisgICAgICAgICAg
ICAgICAgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRy
ZW1vdmVzb3VyY2VidWZmZXInLCBvblNvdXJjZUJ1ZmZlclJlbW92ZWQpOworCisgICAgICAgICAg
ICAgICAgcnVuKCJtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc2VnbWVudEhlbHBlci5z
b3VyY2VCdWZmZXIpIik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhh
dCBhZGRTb3VyY2VCdWZmZXIoKSB0aHJvd3MgYW5kIGVycm9yIHdoZW4gdGhlIE1lZGlhU291cmNl
IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBtZWRpYSBlbGVtZW50LiIpOworICAgICAgICAgICAg
ICAgIHZhciBtZWRpYVNvdXJjZTIgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgICAgICAg
ICB2aWRlby5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKG1lZGlhU291cmNlMik7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRk
U291cmNlQnVmZmVyKCd2aWRlby93ZWJtOyBjb2RlY3M9InZvcmJpcyx2cDgiJyk7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VCdWZmZXJBZGRlZChldmVudCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZl
cnMubGVuZ3RoIiwgMSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBTb3VyY2VCdWZmZXJMaXN0IG9iamVjdCB0
eXBlOiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNl
QnVmZmVycyIsIGV2ZW50LnRhcmdldCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJt
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIGluc3RhbmNlb2Ygd2luZG93LlNvdXJjZUJ1ZmZlckxp
c3QiLCB0cnVlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3Vy
Y2VCdWZmZXJSZW1vdmVkKGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGgiLCAwKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMiLCBldmVu
dC50YXJnZXQpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhcHBlbmQoKSB0aHJvd3MgYW4gZXJyb3Ig
YWZ0ZXIgU291cmNlQnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21l
bnQoMCk7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGJ1ZmZl
cmVkIHRocm93cyBhbiBlcnJvciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4i
KTsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYnVmZmVyZWQsIDApOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCIsIDAp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisKKyAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOworICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsK
KyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZh
bHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOworCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisKKyAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3Mp
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50
IGRhdGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01l
ZGlhU291cmNlVGVzdFVSTCh2aWRlbyk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9u
TG9hZCgpIj4KKyAgICAgICAgPHZpZGVvPiA8L3ZpZGVvPgorICAgICAgICA8cD5UZXN0cyBNZWRp
YVNvdXJjZSwgU291cmNlQnVmZmVyLCBhbmQgU291cmNlQnVmZmVyTGlzdCBvYmplY3RzLjwvcD4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtcGxheS1leHBlY3RlZC50eHQKaW5kZXggMTk4OGI3MmNkMmY5MThmMjRjYTgyMWRlMTkx
OGIwMTM2NGViMWNhYy4uNTFhMjA1NDEyNWRmNzk1YTYyMTMwZTY4ZTQ4Nzc2ZDNjOGQ4YzVlMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVk
LnR4dApAQCAtMSw2ICsxLDUgQEAKIFRlc3RzIG5vcm1hbCBwbGF5YmFjayBjYXNlIHdpdGggTWVk
aWFTb3VyY2UgQVBJCiAKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4p
CiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKHBsYXlpbmcpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtcGxheS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbAppbmRleCAzYWI4ZTQ1NmUxNzg4MWFjNTdlOGNl
ZjE4OWI1NTdiMzUxZGY1MGIzLi5kNTY3OWViNjNmNDE1ZmZmYzYwMzViMWVhMTAxNzNlZmI3OWNk
ZTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKQEAgLTks
MjggKzksMjkgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KQog
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQo
KTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKIAogICAgICAg
ICAgICAgICAgIC8vIEFwcGVuZCBqdXN0IGVub3VnaCBzZWdtZW50cyB0byBpbmNsdWRlIGF0IGxl
YXN0IDEgc2Vjb25kIG9mIG1lZGlhIGRhdGEuCiAgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4
ID0gc2VnbWVudEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcCgxKTsKICAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBlbmRJbmRleDsgaSsrKQogICAgICAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudChpKTsKLSAgICAg
ICAgICAgICAgICBldmVudC50YXJnZXQud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlh
RWxlbWVudC5FT1NfTk9fRVJST1IpOworICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5lbmRP
ZlN0cmVhbSgpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQo
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAor
ICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCd3ZWJraXRzb3VyY2VvcGVuJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJr
aXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEVuZCgnZW5kZWQnKTsKIAotICAgICAgICAgICAg
ICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9w
ZW4pOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAgICAgIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCmluZGV4IGQyNDdlZDVkNGM1
NjdmYmMxMWViYTU2NGFjZDYyNTVlNmI5OTFkMWEuLjJkYzFlNjYwYzExNWMyOWU4NjUwYmRhN2Mz
N2E3NDU0ZWYzODI5N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsu
aHRtbApAQCAtMTYsNyArMTYsNyBAQAogICAgICAgICAgICAgICAgIGlmIChmaXJzdE9wZW4pIHsK
ICAgICAgICAgICAgICAgICAgICAgZmlyc3RPcGVuID0gZmFsc2U7CiAKLSAgICAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAgICAgICAgICAgICAgICAgIHNlZ21l
bnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsKICAgICAgICAgICAgICAgICB9CkBA
IC0zOCw3ICszOCw3IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFy
Z2V0OwogCiAgICAgICAgICAgICAgICAgLy8gQ2FsbCBhYm9ydCB0byBtYWtlIHN1cmUgdGhlIHNv
dXJjZSBidWZmZXIgaXMgaW4gYSBzdGF0ZSB3aGVyZSBpdCBjYW4gYWNjZXB0IG5ldyBzZWdtZW50
cy4KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdtZW50SGVs
cGVyLlNvdXJjZUlEKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hYm9ydCgpOwogCiAg
ICAgICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2Vn
bWVudEluZGV4Rm9yVGltZXN0YW1wKHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0oc3RhcnRJbmRleCk7CkBA
IC02MCwxMCArNjAsMTEgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVk
aWFFbGVtZW50KCk7CiAKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNv
dXJjZSgpOworCiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsK
LSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwotICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOwotICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7
CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBm
YWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J3BsYXlpbmcnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtpbmcnKTsKICAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtlZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0
YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0
CmluZGV4IGE3OTVkOThjZDI4NTljYzE2OWViM2JlYjczYjJhYjViYjgyMjY2ODEuLjM3OTA1ZTIx
NTU3NzJhNTg5NWM0YWIwMTNiMjdhNGUxN2U5MTIxYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1j
aGFuZ2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQK
QEAgLTEsMTQgKzEsMTMgQEAKIFRlc3RzIE1lZGlhU291cmNlIEFQSSBzdGF0ZSB0cmFuc2l0aW9u
cy4KIAotd2Via2l0U291cmNlU3RhdGUgOiBTT1VSQ0VfQ0xPU0VECi1FVkVOVChsb2Fkc3RhcnQp
Ci1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCit3ZWJraXRTb3VyY2VTdGF0
ZSA6IGNsb3NlZAorRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBvbkZpcnN0U291cmNl
T3BlbgotRVZFTlQod2Via2l0c291cmNlZW5kZWQpIDogU09VUkNFX0VOREVECitFVkVOVCh3ZWJr
aXRzb3VyY2VlbmRlZCkgOiBlbmRlZAogb25GaXJzdFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5n
KQogdHJpZ2dlckZpcnN0U2VlawotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0VfT1BF
TgorRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBFVkVOVChzZWVraW5nKQogb25GaXJz
dFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKQEAgLTE3LDIxICsxNiwxOSBAQCBFVkVOVChzZWVraW5n
KQogb25TZWNvbmRTZWVraW5nCiBFVkVOVChzZWVrZWQpCiBvblNlY29uZFNlZWtlZAotRVZFTlQo
d2Via2l0c291cmNlY2xvc2UpIDogU09VUkNFX0NMT1NFRAorRVZFTlQod2Via2l0c291cmNlY2xv
c2UpIDogY2xvc2VkCiBvbkZpcnN0U291cmNlQ2xvc2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChs
b2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3
ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9uU2Vjb25kU291cmNlT3BlbgotRVZFTlQod2Via2l0
c291cmNlZW5kZWQpIDogU09VUkNFX0VOREVECitFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBl
bmRlZAogb25TZWNvbmRTb3VyY2VFbmRlZAogRVZFTlQocGxheWluZykKIHRyaWdnZXJTZWNvbmRT
b3VyY2VDbG9zZQotRVZFTlQod2Via2l0c291cmNlY2xvc2UpIDogU09VUkNFX0NMT1NFRAorRVZF
TlQod2Via2l0c291cmNlY2xvc2UpIDogY2xvc2VkCiBvblNlY29uZFNvdXJjZUNsb3NlCiBFVkVO
VChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBT
T1VSQ0VfT1BFTgorRVZFTlQod2Via2l0c291cmNlb3BlbikgOiBvcGVuCiBvblRoaXJkU291cmNl
T3BlbgogRU5EIE9GIFRFU1QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKaW5kZXggOWE1NGRjZDdmYTQ2OWU2MDkxOWU1YjY0ZGUw
YWQxMTkxNGZhZmI0Yi4uZjI2Y2Q1MjgwODA1NjZmMjhiNDI3M2EwNjczMGIxMGUxMDRjODhkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdl
cy5odG1sCkBAIC04LDcgKzgsNyBAQAogICAgICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBu
ZXcgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJN
KTsKICAgICAgICAgICAgIHZhciBzZWVrVGltZTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gYXBw
ZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcsIHNlZ21lbnRTZWVrVGltZSkKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHNlZ21lbnRTZWVrVGlt
ZSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBzZWdtZW50SGVs
cGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1wKHNlZ21lbnRTZWVrVGltZSk7CiAg
ICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gaW5kZXggKyAyOwpAQCAtMTksMTQgKzE5LDE0
IEBACiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IHRv
dGFsTWVkaWFTZWdtZW50cykgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAg
ICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGZ1bmN0aW9uIG9uU291cmNlRXZlbnQoZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQudHlwZSArICcpIDogJyArIE1l
ZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUoZXZlbnQudGFyZ2V0LndlYmtpdFNvdXJj
ZVN0YXRlKSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQu
dHlwZSArICcpIDogJyArIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlKTsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZlbnQpCkBAIC0zNiwx
NyArMzYsMTcgQEAKICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRo
ZSBzb3VyY2UgaXMgb3BlbmVkLiBXZSBqdXN0IHdhbnQgdG8gYXBwZW5kCiAgICAgICAgICAgICAg
ICAgLy8gdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgYW5kIGFsbCBtZWRpYSBzZWdtZW50cyB1
bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4KICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRlc3Rp
bmcgdGhlCi0gICAgICAgICAgICAgICAgLy8gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiAt
PiBTT1VSQ0VfRU5ERUQgdHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIC8vICJjbG9z
ZWQiIC0+ICJvcGVuIiAtPiAiZW5kZWQiIHRyYW5zaXRpb24gcGF0aC4KIAotICAgICAgICAgICAg
ICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9w
ZW4pOwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAg
ICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAg
ICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9u
Rmlyc3RTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJj
ZUJ1ZmZlcigpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJj
ZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJv
cGVuIik7CiAKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50
KCk7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CisgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNl
RW5kZWQpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21l
bnRzLgogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVh
bSgwKTsKQEAgLTU1LDEyICs1NSwxMyBAQAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNv
dXJjZUVuZGVkKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgib25GaXJzdFNvdXJjZUVuZGVkIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFn
ID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKIAotICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgdmlk
ZW9UYWcuU09VUkNFX0VOREVEKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBl
dmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQpOworCisgICAgICAg
ICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAi
ZW5kZWQiKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3Bs
YXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVu
dExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJGaXJzdFNlZWsoZXZlbnQpCkBAIC03MSw3ICs3
Miw3IEBACiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGxh
eWluZycsIHRyaWdnZXJGaXJzdFNlZWspOwogCiAgICAgICAgICAgICAgICAgLy8gTm93IHRoYXQg
d2UgaGF2ZSBhcHBlbmRlZCBhbGwgb2YgdGhlIG1lZGlhIHNlZ21lbnRzIGFuZCBlbmRlZCB0aGUg
c3RyZWFtLAotICAgICAgICAgICAgICAgIC8vIGxldHMgZG8gYSBzZWVrIHRvIHRlc3QgdGhlIFNP
VVJDRV9FTkRFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uLgorICAgICAgICAgICAgICAgIC8v
IGxldHMgZG8gYSBzZWVrIHRvIHRlc3QgdGhlICJlbmRlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24u
CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9u
Rmlyc3RTZWVraW5nKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVy
KCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5jdXJy
ZW50VGltZSA9IHNlZWtUaW1lOwpAQCAtODQsMTAgKzg1LDEwIEBACiAgICAgICAgICAgICAgICAg
dmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZpcnN0U2Vla2luZyk7CiAKLSAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVz
dC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAg
ICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50cy4KLSAgICAgICAgICAgICAgICBh
cHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgdmlkZW9UYWcuY3VycmVudFRpbWUp
OworICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLmN1
cnJlbnRUaW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJz
dFNlZWtlZChldmVudCkKQEAgLTk3LDkgKzk4LDkgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlk
ZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZl
bnRMaXN0ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7CiAKLSAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1l
bnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAotICAgICAgICAgICAgICAgIC8vIE5v
dyBpdCBpcyB0aW1lIHRvIHRlc3Qgc2Vla2luZyB3aGlsZSBzdGlsbCBpbiBTT1VSQ0VfT1BFTi4K
KyAgICAgICAgICAgICAgICAvLyBOb3cgaXQgaXMgdGltZSB0byB0ZXN0IHNlZWtpbmcgd2hpbGUg
c3RpbGwgaW4gIm9wZW4iLgogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVu
ZXIoJ3NlZWtpbmcnLCBvblNlY29uZFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFn
LmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uU2Vjb25kU2Vla2VkKTsKICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1lOwpAQCAtMTEyLDIyICsxMTMsMjMg
QEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25k
U2Vla2luZyk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNl
U3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAgICAg
ICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9w
ZW4iKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50
cy4KLSAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywg
dmlkZW9UYWcuY3VycmVudFRpbWUpOworICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVu
dHNGb3JTZWVrKHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgZnVuY3Rpb24gb25TZWNvbmRTZWVrZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNlZWtlZCIpOworCiAgICAgICAgICAg
ICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVv
VGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uU2Vjb25kU2Vla2VkKTsKIAotICAg
ICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywg
SFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAgICAg
ICAgICAgICAgLy8gVGVzdCBTT1VSQ0VfT1BFTiAtPiBTT1VSQ0VfQ0xPU0VEIC0+IFNPVVJDRV9P
UEVOIHRyYW5zaXRpb24gcGF0aC4KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExp
c3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CisgICAgICAg
ICAgICAgICAgLy8gVGVzdCAib3BlbiIgLT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24g
cGF0aC4KKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAgICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvVGFnKTsKICAgICAg
ICAgICAgIH0KIApAQCAtMTM1LDI3ICsxMzcsMjcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIm9uRmlyc3RTb3VyY2VDbG9zZSIpOwogCi0gICAgICAgICAg
ICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJj
ZUNsb3NlKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50
LlNPVVJDRV9DTE9TRUQpOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImNsb3NlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNl
T3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3BlbihldmVudCkKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291cmNlT3BlbiIpOwog
Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNlY29uZFNvdXJjZU9wZW4pOwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291
cmNlSWQoKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNl
VGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0Vf
T1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5h
cHBlbmRJbml0U2VnbWVudCgpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRl
ZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBw
ZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBw
ZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsKQEAgLTE2NSwxMyArMTY3LDEzIEBACiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNvdXJjZUVuZGVkIik7
CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAg
ICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQn
LCBvblNlY29uZFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2Ug
PSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKIAotICAg
ICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywg
SFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CiAgICAgICAg
ICAgICAgICAgLy9NZWRpYVNvdXJjZVRlc3QuZXhwZWN0UmVhZHlTdGF0ZSh2aWRlb1RhZywgSFRN
TE1lZGlhRWxlbWVudC5IQVZFX05PVEhJTkcpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcu
YWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZSk7Cisg
ICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJT
ZWNvbmRTb3VyY2VDbG9zZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9u
IHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZShldmVudCkKQEAgLTE4MSw4ICsxODMsOCBAQAogICAg
ICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAg
ICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29uZFNv
dXJjZUNsb3NlKTsKIAotICAgICAgICAgICAgICAgIC8vIFRlc3QgU09VUkNFX0VOREVEIC0+IFNP
VVJDRV9DTE9TRUQgLT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNv
bmRTb3VyY2VDbG9zZSk7CisgICAgICAgICAgICAgICAgLy8gVGVzdCAiZW5kZWQiIC0+ICJjbG9z
ZWQiIC0+ICJvcGVuIiB0cmFuc2l0aW9uIHBhdGguCisgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNs
b3NlKTsKICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJj
ZVRlc3RVUkwodmlkZW9UYWcpOwogICAgICAgICAgICAgfQogCkBAIC0xOTAsMjIgKzE5MiwyMiBA
QAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRT
b3VyY2VDbG9zZSIpOwogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFy
Z2V0OwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7Ci0gICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50
LlNPVVJDRV9DTE9TRUQpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50
LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vjb25kU291cmNlQ2xvc2UpOworICAgICAgICAgICAg
ICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImNsb3Nl
ZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9w
ZW4pOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblRoaXJkU291cmNl
T3BlbihldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
Im9uVGhpcmRTb3VyY2VPcGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKLSAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlh
U291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRoaXJkU291cmNlT3Blbik7Cisg
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAotICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRN
TE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAg
ICAgICAgZW5kVGVzdCgpOwogICAgICAgICAgICAgfQpAQCAtMjE0LDIxICsyMTYsMjIgQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCiAgICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKLSAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxh
eWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2luZycpOwogICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW1wdGllZCcp
OwogCi0gICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uU291cmNlRXZlbnQpOwotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAg
ICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNvdXJjZUV2
ZW50KTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgb25Tb3VyY2VFdmVudCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsK
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VjbG9zZScsIG9uU291cmNlRXZlbnQpOwogCi0gICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3VyY2VPcGVuKTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
Jywgb25GaXJzdFNvdXJjZU9wZW4pOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LmxvZ1NvdXJjZVN0YXRlKHZpZGVvKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Qu
bG9nU291cmNlU3RhdGUobWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKICAgICAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDEwMzQ2YTQ0NGUyNWIxZWRiNDkyOWJk
ZDY1ZDA1YzU1NGJlOWE3Ny4uN2RmMTk5YzM0NTI0MzUyMjdlZTc5NDI2MjVlNTg2ZjBjZjVmZmM4
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CkBAIC0zNDI0LDcgKzM0MjQsOCBAQCBCVUdXSzg1OTUyIDogaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbCA9IFBBU1MgVAogQlVHV0s4NTk1
MiA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVr
Lmh0bWwgPSBQQVNTIFRFWFQgVElNRU9VVAogQlVHV0s4NTk1MiA6IGh0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwgPSBQQVNT
IFRJTUVPVVQgVEVYVCBDUkFTSAogCi1CVUdXSzg4OTQ5IDogaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sID0gUEFT
UyBURVhUIENSQVNICitCVUdXSzg4OTQ5IDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbCA9IFBBU1MgVEVY
VCBDUkFTSAorQlVHV0s4ODk0OSA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1vYmplY3RzLmh0bWwgPSBQQVNTIFRFWFQgQ1JBU0gKIAogLy8gU3RhcnRl
ZCBmbGFraW5nIGF0IGFyb3VuZCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTYy
NzguCiBCVUdXSzg1OTUwIExJTlVYIERFQlVHIDogY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQt
bGF5ZXItYm91bmRzLXRyYW5zZm9ybWVkLW92ZXJmbG93Lmh0bWwgPSBQQVNTIFRFWFQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>153366</attachid>
            <date>2012-07-19 15:49:18 -0700</date>
            <delta_ts>2012-07-19 15:49:18 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-02</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>316378</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
ofDjIwWZn0SqVT/PfkLfTLPf4BQXTxLFqHm3pb1NVi09afZzm17SpsDlZm46i8mm6strhFaGXwcz
sWVtFGj+c5fCk6HMwBBT5Cs9YjMyZbL2K8w7j7pRvk0jeA9wRaWqfUNjcDSIUzcI+JziPng4p21y
C57SW1Oe6h8TPWuZmjhTN87UrTN150zdO1MPztSjM/XF3RrP7mR3a8Xu5ord7RW7Gyx2t1jsbrLY
3Waxu9Fid6sl7lZLPDLmbrXE3WqJu9USd6sl7lZL3K2WuFstcbfaxt1qG3erbTxD091qG3erbdyt
tnG32sbdaht3q23crbZ1t9rW3Wpbd6ttPTOau9W27lbbultt6261rbvVtu5W27lbbedutZ271Xbu
Vtt5FgJ3q+3crbZzt9rO3Wo7d6vt3a22d7fa3t1qe3er7d2ttvesn+5W27tbbe9utb271Q7uVju4
W+3gbrWDu9UO7lY7uFvt4FE73K12cLfawd1qR3erHd2tdnS32tHdakd3qx3drXZ0t9rRo6151DV3
s7x4FLJnjz737ON7NLpnj0r37NHpnj1K3bNHq3v2qHXPHr3u2aMOe/VhT/v5NGKfSuzTiX1KsU8r
9qnFPr3YoxjHHs04TnwbCk/7eZTj2KMdxx71OPbox7FHQY49KnDs0YFjjxIcb3w7Lk/7ePRg2HCf
P+AdY3bLy+zSFHmVTR6dWTn3+lSUef3oinvxZ555dtIW0mYFiUNR5tye3f8cnQShN0HobRB6F4Te
B6EPQehjEPqFg0YjvfsjumO4oTOdTcKlbwjZYLHv5cjHn3hdl2UBTCf0LUVnBK1H2AZYwoNteLAt
D7bjwXRJeqsh5l07uASX3iJfxW/0prXKMEI8PI5tP6rzSiph+WTPp+iSuIXbFTzt9sHf8zNE8m7/
KKO0ES0QivcWXzKQcD7ncEeL9s01Rs1lFhNt+pr+QZ5aZmffc/BwQaiwbXRNmxP5AyqXtixWPp7V
kyd0KLTmYpt60Nta/JxCM3Hg4fp0qHp0hpcw+HBdmYV7yjylkzgxZW9KxRuTNowzPCdf98m3WzFt
J3qSKuN6frusHLk04GwaZli6Np50fAbm+fDQo6uveXdzDhsYL3g3AQuDt+yAzt9hdJGPgsxPwXvE
tO8whjtcFQXBXchpm+l/zr8B/pPAh4go7xOGmiOn+62YKZq6bc0e2iYskOgrPsbVg9GfOgZe84wa
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
VVQJAAPGgwhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAGsPNAAAAAAAAAAAAAAAAAIwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvVVQJAANrgwhQ04QIUHV4CwABBOgD
AAAE6AMAAFBLAwQKAAAAAAAGsPNAAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvZm9ybXMvcmFuZ2UvVVQJAANsgwhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIA
CAAGsPNAiHaJ43QAAADhAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMv
cmFuZ2Uvc2xpZGVyLW9uY2hhbmdlLWV2ZW50LWRpZmYudHh0VVQJAANrgwhQbIMIUHV4CwABBOgD
AAAE6AMAAKXMMQrDMAxA0d2n0K6oWgxdfRXjKG3AsY0ll/T2JRgKnTs++HwiArajcY7vOoxM1KiL
jmzKW1TjrfZDucfyENa8r9KplvS8TPKSYiRnk2Sy3uw0cIj49zEmGzHPXwhAfvGAfrlDCA5m6WAv
bdiXOIm/BPcBUEsDBBQAAgAIAAaw80BuOEBfygAAAEgBAABWABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRlLXdoaWxlLWRyYWdnaW5nLXRodW1i
LXdkaWZmLmh0bWxVVAkAA2uDCFBrgwhQdXgLAAEE6AMAAAToAwAAXY9NTsQwDIX3OcVDLNi1ewg5
BRdwEzeNJk2qxJnRCHF30paRgI3/PvvZ1guTM7rKPbIZHEd8YiJ78SW35F7xPBO94QsDOfcf0bwj
PZ7DejyltsLmYwkVwlW6XUjAV049djm9CGxOElJjSIZQ8Swg1Bgcl97d1glhRhB0iX4PCzvclhAZ
rpD3IfkBCuqR/EyqNbfKa76y0nWjBBup1vcuYA7i8i31Szsxfxr6WyakrckDqmPnL2FlY7CXvTA1
kZzU6XCUn5TS4/7xN1BLAwQUAAIACAAGsPNAoVKKc3cAAADaAAAASQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50
eHRVVAkAA2uDCFBrgwhQdXgLAAEE6AMAAAToAwAAdcxBCgIxDEDRfU6RAxQpojeZCxQbnEInKU1a
8fZWK4MLZxPCJ3nLmhSN1MZcg6HmFKniTdiqZMU7GW7SlKI82M11k04OE5dmDgPHWVtB6sQDeqdS
pVDNT9QBpBF7yI1OALsAOwv+p35Y+Ipw8X8f5tH18O3sAV5QSwMEFAACAAgABrDzQDZVGeVdAAAA
lAAAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1v
bmNoYW5nZS1ldmVudC1hY3R1YWwudHh0VVQJAANrgwhQa4MIUHV4CwABBOgDAAAE6AMAAIWMwQ2A
MAhF70zBBE7hxYPx4gJNi5akoaag80vtACaE5P3/YM+saKTmOwdDLZyoYaxirRbFk8wLwioxBzkJ
6SExDJKGzz6K+mWH+WWX521d5LptyBMAd4Lx4RfgBVBLAwQUAAIACAAGsPNA46VFHKMAAAAHAQAA
SQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW9uY2hh
bmdlLWV2ZW50LXdkaWZmLmh0bWxVVAkAA2uDCFBrgwhQdXgLAAEE6AMAAAToAwAAZY7BCgIxDETv
/YqA99271p68eBAv/kBss9tiaZcmK4j477b2pEIIJPNmGO0JndEsj0hmcBThCVe0t7nkNbktbCbE
HbxgQOd+JZyapMdu1mOPWgqZiw8MQix1exTgGBwVsDlJyZFhJqkCQU7WY5oJ6E5JAJPrfKjDwJ/f
JNXZ4MP5dEzLKh0elArtUj3h+9C8YAIbkXlfi5t/srauiFFKj63wG1BLAwQUAAIACAAGsPNA+A2N
oXAAAACoAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xp
ZGVyLW1vdXNlLWV2ZW50cy1hY3R1YWwudHh0VVQJAANrgwhQa4MIUHV4CwABBOgDAAAE6AMAAGWM
QQrDMAwE73qFHmCCKelP8gFTi8TgSMaSXfr7OE3opZfdZRZm2ZKikdrILRhqTpEqvoStSlZcyXCX
phTlze6au3RymLg0cxg4XrQVpE48RCcqVQrV/EEdgjRgD7nRBPAzwFcA/u7Z/13Pux8e4ABQSwME
FAACAAgABrDzQLTbQH92AAAAtAAAAFYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zv
cm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1bWItYWN0dWFsLnR4dFVU
CQADa4MIUGuDCFB1eAsAAQToAwAABOgDAABNTEkOwjAQu88rzIkbr+EDaTMkI9IJSpzyfUIBiYs3
2b5m66B2TsyB0F196lj9TKzVaT4UrGBoSYmAXixqm+2xLbAbjJgXUYtSI57ZiiK2kJJ5ukAgP/Nd
ylZH163uKuaPQZFj+1eQtdh6fwfLIKvLh3DEJ5EXUEsDBBQAAgAIAAaw80BoCb0ZdwAAALgAAABY
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRl
LXdoaWxlLWRyYWdnaW5nLXRodW1iLWV4cGVjdGVkLnR4dFVUCQADa4MIUGuDCFB1eAsAAQToAwAA
BOgDAABNTEkOwyAMvPsV01NvfU0/QMAlVsCWwCTfL01aqZfZNDPPVTqcu09cg4N31qmT6d0RTV10
MNzgoWV2BPQiidtsj7pAXhDHvEhc2DnhWKUwUgs5i+YHCPQz3yVVG52r7XypZIcSnfu/EsUicfsE
y3A3pYtwxjeiN1BLAwQUAAIACAAGsPNAVVBp7mwHAABZGgAATwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW9uY2hhbmdlLWV2ZW50LXByZXR0eS1kaWZm
Lmh0bWxVVAkAA2yDCFBsgwhQdXgLAAEE6AMAAAToAwAAtVlbb9s2FH7PrxASdAGKSLZjO43t1MOa
C/awDQPS94CSKIsNJWok5cTZ9t93eJMlWbJdNFuxWuLl8DvnfOdC9SaVGV2e3KQYxfAj5Ibi5cmc
kvz5wpuviSASx97fJx78J/Gr9GMcMY4kYfncy1mOF3oqZDzG3A+ZlCybe6Pi1YvhGceLk39PjDgr
JGKU8bl3NhzP9FzwQCi+I0li50MUPa84K/PYd0uTa/WnfpA5QTBKYu8sjmMzl7Bc+gnKCN3MvYzl
TBQosgAzxFcEII9w5g3NUMFAOa0HxxQ0WmMNKB21kI7H4w75AuXCF5iTpDYpyBvWZ9QP9SlO5Nwb
BlM3HhNRUARCJAop9iNMqZl4IbFMQcBw+MFiRHFM8lW12+Cz7lFPTQ9ZyCRPAZislqdsjXlLq+l0
uugzOMbGFIHyy29wlrCbE8oQqMLJKpVN76lVt2ACRPLqKAbmJxLUHB5Q22rpa7kNS72koJ2v/ajo
9sJRsUX2iCPlv17i6M1N2rQpY3nr7A6kGhav5oT71wJcDPJBNXzhBeqnrWEvPEFiHG7U356G+oWy
6PlPxGUAqs4TwoX0o5TQuNew6rhH2H+xTxjHGbj24sB59gxnfpIDfbAfqiUN2k0d64AtkkSI+oiS
FcSHZB1qcazY/ivKY4qdOawcZUL1nmLj0C2fo5IL5RoFux2FKATvlM5jcGZFHBNAGt4+FA2e79Jh
xfFm0SJmMD3kL2NiL5DsoJmDhLOsZWybI9UZyup/lFmIObAJ19llRh3w3VRqWTubNZKgC5euVOgi
eTKZtGJv1/tVjlGCpiYETBhUSd/ywNKziyIGboNOY5uwaoprFTsTjikUvWbZl6QUQms7l0gsYZwO
jTAtOPZNoOopMKV+BRU4Rs++GjBySYZWuOGUuXdZ2TqkSBlQLYwgKwAG8Kp98toqbx1yPZn1pt0E
J9vYV4wCiVV1rAVyx9Y4iZtbwc+if/kMzxb7SnolySaYOg4bEP3VOo53BHgxpv078OwgmsFH77Es
CsYlFFpuSQxGzTKcS+F9HMB5qJQpM/Y2xVj1MkB4CRSNnKf0Br2mp/xXaxQYBJTQi10mu3KcVpkG
UXrrEHSuvjRlLEOvfqOydx0DNt4rswrgKnJ3RLb3B6zApjr6Lzh8JtKXXEWX0dqA9IJLsahBnlgF
z4REshRfyhBKdVX2AhUpnXBgS8jijZ6zbY/LYBNXUs8kYzREvCnAYQuZjtbteMbe3GCVosYmpG1H
pR5dz6Ce+5vDvvyxt6nbMiQhrzZDOR0ClEfANtt5OVWHTT0DpBsUE4i7Jf6FQLbgLTLaozzvzSd5
jF8hje3ReFslaxC61LXpqlH7rm2eyxVMG9KddQvOA0ccBHq1BToyBd9VKPOmwdrnqrzZ1wpw1bY1
jiYJR5lB2OqRmz1GLbJue3Lxrm020IiyF9sIYApdJbj1iKp1NXvYss7SvWdSG6I5V/WY8W7v3Oyc
rQxjvl1q9/YLscvE5phfXCpxd6Fhffarq6KtS8vVJ5fydmHuiZ3adUhkyDT69aycMw7Di57cZPVX
/ZnoOhzZqDPhPuxcMkeJiy5dlnNQ59T7xztdnFTluFbE27spghadJb7cFLhT1KnZl2KqM2LVZCLV
ZPYUoLMMC+G6il4TdVm0RuxHnZmPqXNQU6DbWRNWittqBJrUN5zf1iphVxF3/US7ptSrCQSmn1AV
+SPtSJuw62OWTDYPjN3d6ihU1rvQyGCpaN0oBLa36+ns6gU2LCEw8nrqcEU8Jut5wiJrS1ZKFfL1
CAppqWuEnQI6JIAFStPIKVKvkloKNCpfU2xOGtgSuwL8SgfJPAlzoVltmSS8NUEqrcrfLTcAbMjZ
CzgeWoAUwV7b+RAZqE6n0mMytV161W/YdxfgqltV/w+b5dF9tmn38BmJ4RZlPSRwGbMnc716wmtA
+lRLwtus+6HRinxo1s36lU6nL380sllaMUC423tH1YFujgm0BueCiXGr9tTl7pRDfxSMTeO1/Xri
GocOJ5/d3d3VUsLZ9cPdw/ShM4dBi9odLvf3912o5zgr5KbJLtsMtVYG8AhIbYqxQmfXw2ub2yKK
EX/SLYS7UKgRfe9K1ZKbgf10dyMiTgogDY8+n6ZSFmI+GKBv6DVYMbaCTQURKjb02ICSUAy+/VVi
vhmMgklwaV+CjOTBN3G6BLla3tJrSo5YjH3lQ/wC634GKilnfp6Ma1sAlP2sqFpD+IGAA9xIiM/n
7j5xrr49jpYDmRUDYACYyZcYMi8Qr6RSDBJIwwNo+TMxgPqwwgMBPoNyx6D9Uu++pqYPHUyJaCCh
hsGho+ZZtW9F57sz+g7fN67u9p5IoQuPW0vU7cZrfBNSCyAT5W6F/hqw7SLOlxOwDMwvG6sgKRxe
A7X5fGkUtvNgWwDzw5CmR0Ca9kMieVHK90V0dQSiq+81kv6pA6vF0/nSTu/CP44ekGQOcsMt2qv6
T3koisUR+n96T4+8L7Trd+Xv+2KbfafZ/lfWvFdS+XSE4qNhv+Y/onTrR2d5SL/6X5T+A1BLAwQU
AAIACAAGsPNAgMWnuboHAABWGwAAXAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9y
bXMvcmFuZ2Uvc2xpZGVyLWRlbGV0ZS13aGlsZS1kcmFnZ2luZy10aHVtYi1wcmV0dHktZGlmZi5o
dG1sVVQJAANrgwhQa4MIUHV4CwABBOgDAAAE6AMAAL1ZW2/bNhR+z68QEnQBhkq2YzuN7dTDljTY
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
3fShBueFib33ngyTxrqjNpifYYNviliWq2FD3EPOgDVAJfg1L2AYzLeFGzllnraCQK2ntXOLjqp2
BDY/wwZWNWgS1rQo70f6wbxVyr38n17/WuRwe4Y5bo+Y46vm37szwLw7wg2aqf8rbrg7A9vd+Yb6
J8HR+TElDsqN+ee0vwFQSwMEFAACAAgABrDzQCLk64jRAAAA3QEAAEcAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1tb3VzZS1ldmVudHMtd2RpZmYuaHRt
bFVUCQADa4MIUGuDCFB1eAsAAQToAwAABOgDAACtkUGKwzAMRfc+haDbkITS2Uxdn6IX0MRKE8a1
jWVnCKV3r1OTwAzdFGZjjP7X+xKSA6FWkuNsSNWaDNzgC7vvS3DJ6k/Y9YhHuEONWv+VsF8k2ZRm
2RSUD6TOw8gQiWN+B4zAZtQUoHM2BmcYLhTh6hKTdj+2Kt+rm6iC0foUK0CrSzV5oIlsBi0lH5yn
YGbgDBhzcUKTqBZiIwjJHi10BplPeR21xeQ5s6J+GfJS6pm4iu3r/oW8Wp7+17bkV9OhfWekgvz4
p+x9K4RsljM8AFBLAwQUAAIACAAGsPNAfIA5bY4AAAASAQAAVAAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLWRlbGV0ZS13aGlsZS1kcmFnZ2luZy10aHVt
Yi1kaWZmLnR4dFVUCQADa4MIUGuDCFB1eAsAAQToAwAABOgDAACtjUsOwjAMBfc+hffBRGLDNlcJ
jZtGyqeKHVpuj0qFxAHYPM1iNI+I0GpZbfavNpSURamzjKxiZy9q59aL2O5rZCs5Be4UOLMybUvK
TKH7GFONpMsoD+J95Uk5XHVXBGPMf/N+0uHzGXcO6Xa5oznGOUAE/Op4tgBLG8KlPRnog6FtFUyq
61A4/OPr14c3UEsDBBQAAgAIAAaw80BLMaLR0AAAALEBAABFABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItbW91c2UtZXZlbnRzLWRpZmYudHh0VVQJAANr
gwhQa4MIUHV4CwABBOgDAAAE6AMAAKXNTW4CMQwF4L1P4X3GBFqQWM4heoFoxsBImSSKnSncvumk
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
po0toJT7rKhbQ3hAwoHeWMr3p/4+caq/PU7WI5WXI0AAuClQBJgXgFcxJUcp0PAIzAbgmsePxS+C
w01eygC6lgqzUEHdgoMmbfmN70OnhzPm3j40ru/zCJDTmdfXGdT+COQWAf0UfpX5BLBvHU7X3xSR
LFfgE1i0bi0FOmgunPSugap8ur74+afrnz9t0OfN9fWHHzZLsw8tlui3IsaVppgbqFIbITRuLnBR
cEs4pYAbgAAEnkLMThFPUVEx5s6B6IB1/tG0tAG207Wbdmv/sx9lBjeY5135rBsnL/Dg2bAHP3za
/HqzRDcALWAFKQn0mb/z6CsgBH28+fzpCtqRDSO6YPzR9c//U/zsBYpPhxX/P8HqPEwSQqaYD/7/
AlBLAwQKAAIAAAAXsPNA1tHaeS4AAAAuAAAAPwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVjdGVkLnR4dFVUCQADjYMIUI2DCFB1eAsAAQTo
AwAABOgDAABBTEVSVDogVGVzdCBwYXNzZWQ6IFtvYmplY3QgSFRNTEZvcm1FbGVtZW50XQoKUEsD
BBQAAgAIABew80BsoyryvgAAAPAAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9s
b2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUCQADjYMIUI2DCFB1eAsAAQToAwAABOgD
AABdjjFPwzAUhPf8ipMYujUzxkSqKheGlEokTIjh1X5pAde2np0hQvx3XHVjO+nuuzt9ZnKdzmXx
3K0de/zgSPb7JHEOTuFuInrAL9bk3H+Lpqul2xus21tVkqpzogDrKefHCnbbw8tw6A32Zhg2T0bB
fwbGvcJbsDSfzgXjktiIRFHYUgixIHNBkphYyoJVFrtCnBBm7+tire+aTW9eR4WRc03WKa6n3uPx
i23B87jvd1EuxvOFQ/loGt1en/0BUEsDBBQAAgAIABew80ApJndpdAAAAH0AAAA9ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtYWN0dWFsLnR4dFVU
CQADjYMIUI2DCFB1eAsAAQToAwAABOgDAAANyjsOwjAQBcA+p3hdzoC7KDJQOETCpkIUxiw/OV5r
vSlye5h6xvnkZ2cxWe+HgzXIn0LYGVxKiuvrrQhbJSvCYjDGUljRSFGFK4lu6JukHvxEWXPuBmfP
wSBQ+5fYGj0Mrnz/UlIcw+T2LIvNtFDRW9f9AFBLAwQUAAIACAAXsPNANF0G5sUAAAAaAQAAOwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWRpZmYu
dHh0VVQJAAONgwhQjYMIUHV4CwABBOgDAAAE6AMAAJ2PvU7DMBRGdz/Ft3VITVSY8JSqMj9SShEJ
E2Iwye0Pcmzr+lpq3p4I3oDpDJ909B2tNWqZUu3dHItooSyaKRcvuT66LLWPbiT+xXN45Xha1qzp
mmgQGm/kKlBVVf3L4gYpzv85mgZ6s75FtVnfoWlUtTu8dIfWYm+7bvtoDfwlEO4N3sPgyuks6OdE
ljmywc6FEAWZBIljIpYZq8zDCvGIULxX2Lb2rTfol29ILmcaDT7i1/fSgad+3z5EnqyniYJ8Kqgf
UEsDBAoAAAAAADWw80AAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC94c2wvVVQJAAPGgwhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAA1sPNAgUp3rUsAAACs
AAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRv
LWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA8aDCFDGgwhQdXgLAAEE6AMAAAToAwAAtcyx
DYAwDETRPlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1KlG1ty51DX
V8TAYdHFvo7iVW375foAUEsDBBQAAgAIADWw80BQXUg3jAAAAPgAAAA/ABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAAPG
gwhQxoMIUHV4CwABBOgDAAAE6AMAAK2OwQ3DMAwD/51CC7h69JcZ+uwCiqM0QmUrkGWk3b5Js0I/
BMkDCGYrqyiFWAV2Nx9gFuWfDIhYauBTAjceXxIpL25Fekm8NbzTx3o8uEXDmVrguyk6N+ueuR0p
0khTkrKaR+ou170DlcpwA1YuXANOetnJcFoYoFca9xNhoEbTP85Uaz0vxxAFqV6+UEsDBBQAAgAI
ADWw80BtR9RehQAAAPEAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wvdHJh
bnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADxoMIUMaDCFB1eAsAAQToAwAABOgDAACtjrEN
wzAMBHtPwQUUFuk0Q8osIMt0TEQSDZKCne3txCukeTz+i7ssdeWSnKUBqYpGmLnQLyIi1ub4YseN
xjd7yItK5V4DbYaP9JHuTzI3nJM57lZQyaRrJsN90TBJvp0rFG4Ed6BClZoD11XUh/OJV4UIvaXx
BLtAkTT9USBcCJq+JsMBUEsDBAoAAAAAAGqv80AAAAAAAAAAAAAAAAAkABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvVVQJAAM4gwhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQK
AAAAAABur/NAAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL1VUCQADP4MIUNOECFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgAa6/zQOjpCbip
AAAA3wIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12
ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAkAAzmDCFA5gwhQdXgLAAEE6AMA
AAToAwAAzdA9D4IwGATg3V/xjrqQUgqUbsSgcRBMY+JgDCltgSZ8mLYO/ntJXN1ludxtT+6OUUJD
9s0wxjROCcYko5gVnFecdYN2uJajqpWWs9I2kHIbhyjZPeBS8EPFz3m5L+CW8/JUHhnk3lvTvLwG
BMaBMk40g1YBXPtl9sKBM93UGikmD09t29mOYpJ66ZMY/Htz/0WKsixZGSkOKUHrIiURWdtLKaE0
+xvpA1BLAwQUAAIACABrr/NA0nxJkdsAAAA4AQAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQADOoMIUDqD
CFB1eAsAAQToAwAABOgDAACNj0Frg0AUhO/5FXNsL0FNtLI3aYwIVssS2kMIslmfZkHXsPvS0n9f
29JbD70MM8McvjlGQZKG4kfDOErjh3gTb8IgFLmUjRTDSD5q9dS1Hem5I7fW+i4Og+T+hOdc7hv5
lNWPOV4zWZd1IZAxO3O+MSGA8eiMV+eRujUOlyVelIc3g+2NVpZxJdfPblJW0+KtGvljdfwbaZsm
/0AqKnyPIIqqLeuXrCp3bbOAZoeyqSEwjDun3vORJrLsBRQzTVcGz1Bak/eYb4y5h1N2ILyRY7PU
MPZr+vts9QlQSwMEFAACAAgAa6/zQDgML6eUAAAAJgEAAEMAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLVVURi0xNi1zdGRlcnIudHh0VVQJAAM6gwhQ
OoMIUHV4CwABBOgDAAAE6AMAAMWOsQ6CMBQAd7/ijbqQQmjBbsSgcRBMY+JADCntA5pAMW0d/HtJ
XN1dLnfbNQlhecy/jGmS04ymacoyxkshasGHCX3Sqlm3GtWi0UVKbWlM2O4B11Ica3EpqkMJ90JU
5+rEoQjBme4VEAgYD9p42U2oI7iNa47SgzeD7Y2SNsATXb+4WVqFq1s5hfem+b2U78nflj5QSwME
FAACAAgAaq/zQETLexvIAAAAXgYAAE4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkAAziDCFA4
gwhQdXgLAAEE6AMAAAToAwAAzdS9CsIwFAXg3ae4oy6SH5Mm2QqKFIqVIi4iJaaxFForaVR8e/9W
H+AuZ7ic4YML58CIVNT8kgqmRMK0YlIuzKosi9I0nR9Z5fq6qr0bah/mzk0FJXJ2hHUO3xKYdV5l
m32aZ8uq2K7KdJcVGzDQdMtgH2kI9jkasDH6/hohDmCd8+MIwy3CcIZgL42Huw+xfZ+hvXyqoT3d
ogcyOfwlckE1dqJWCXKi5IJgJ8pEYSe+f42ZyAnhlGvsRCHQEzUlyIkLJvGMzgtQSwMEFAACAAgA
aq/zQE4NvjCMAAAAAQEAAEQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4dFVUCQADOIMIUDiDCFB1eAsAAQToAwAABOgD
AACLNjIwszC0gpCGpkYWpubGRgaW5ibGVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGBmaa
sQruPgpgRQpW7j7xnn5hjj6eLvFAMtRVwUohPcc9tcQxuSSzLNWxpKQoM8lKITMvJbVCIb+0RCE/
TaEoMS89lSsam/2GBpZG1LQ/NC8zLb8oF6sDAFBLAwQUAAIACABsr/NAxMXSbXgAAACCAAAATwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1kZWxldGVk
LWJ5LWFjY2Vzc29yLXN0ZGVyci50eHRVVAkAAzyDCFA8gwhQdXgLAAEE6AMAAAToAwAAJcrBCgIh
EADQe18xx7qECtoyt42WRZACoS4RYqNsgimY9P1FXd7pXQVTA8e/XIpB7pRijHOOk7Uni0uOL+Ho
GVyIVENsW6K15ExtbjAb+CXA2Th9vIxGH9zX8wQIS96nEsbeW7qbSr6nWhB0efucAtDDN089ttUH
UEsDBBQAAgAIAGqv80B/jiwJBQEAANUJAABQABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkA
AziDCFA4gwhQdXgLAAEE6AMAAAToAwAAzdM9a8NADAbgvb9CY7OU+77zbYGYYDBJMaVLKMY+n43B
H+V8bv9+3YZuGRuqRYPQ8CDpvTCiDLXXSiUzUnNiKFPGpkVxLmw3+IWVbmzKxru58eHJuUdJidq9
wTGHnyGwx7zMTq/7PDuU5+e02L9k5xNY6IZDqD7TwY9+iouFUE2dh3mNMLdQz+vULNDOAeq1bX14
uNzGJCpBg2GCKzQYTihFgxFGaTQYSQ2eB5ZCMzQYpQ1Hg9GU4tmMNkreA1PF6Mf3CHGGyjm/LL+w
q/LDh9hvbein79HQ12v0QG4jk0RzLOejhAiSIN/YhtT3Sd+fIrccCPxIwyl6JBNSowkIJ5L8A+YL
UEsDBBQAAgAIAG2v80AKmUl+PgEAAKEMAABJABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADPoMIUD6D
CFB1eAsAAQToAwAABOgDAADN1kFLwzAUAOC7v+Id9TLysiZtcitay2B2UpwehpQuzbpAl0qbif57
o7sq7KA2FEIDIe9L8l6bDSU8QXlqkdGExQkX1D8yK8tVKdtOj7RSh6ZqtOobPcyUumRI+NUz3Gfl
7aq8S4vrDJ7SslgUuYTUucFsj04DATNCY8Z62+lmBg97393XI4ymtTujauvgRQ+7fjjUVmn/buvO
vV9sviXNkfHgSIKFRqJRdAYpX8LXIJD5sloUj+lycVP5dp2BhLbLtUuVM6/6pJRgbKPfoD866Hcw
1LbVP8WP4t+Mv7bmc+FnA2JCCCNBnYknIU9CI1EMjxTR6TLXx4/mfMrMRWShZS4iFxgaKU5CI1HC
wiOJODQSnvXJ+av6Rup/jVPWN/Xzh3WB8SRGaGgkHongSCK4XYqRT1hM1F98xT8V0wdQSwMEFAAC
AAgAa6/zQFUShBeqAAAAlAIAAFQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZh
cy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAkAAzqD
CFA6gwhQdXgLAAEE6AMAAAToAwAAzc69CoMwGIXhvVfxje1SjDXGZhMUEURLKF1KCWn8KoKaksT2
9vu39gJcznB4h+ccBnFC+G8JDRPKKEnoPmI8F6IRvBvQhVKPrWxRmxbtVus1JUG8uUBRwTcCXlSy
rE9pVWayOeQiPZZNDRy6IbPqmQ844uQdB+U9jncP3oDSGp0DM3swN7Bq6hAeaH3/vqGfPqntr7NH
CFbnv8iYMrJ4JAuiaPnIHV0S8gVQSwMEFAACAAgAa6/zQEv/Y2egAAAASgEAAF8AHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlm
aWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQADOoMIUDqDCFB1eAsAAQToAwAABOgD
AADNjr0KgzAYAPc+xTe2S4mxsZpNUEQQLaF0kRLS+FUENSWJ7ev3b+0DdLnhuOFaSqI44F8GjMZs
zyhLkh3juRCN4P2Ijko9dbJDbTq0W63XLCDR5gxFBZ8IeFHJsj6lVZnJ5pCL9Fg2NXDox8yqRz7i
hLN3HJT3ON08eANKa3QOzOLBXMGquUe4o/XDS8Mwv1M7XBaPQFbtr8mIsDD8o8knUEsDBBQAAgAI
AGqv80B05CClmQAAAAICAABEABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMv
d2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAkAAziDCFA4gwhQdXgLAAEE6AMAAATo
AwAAxY69CsIwGAB3n+IbdZH8NE2bLWAphaJQqEuRoElaAm0DMYqPr+jqIoguNx3cdQSlGRYvYkYy
xikjnGIkiqbZNWIY7ZkoPRllrPbGhrXWS4ZRujpAWcNTAlHWqtruZV1t1INtAQKGsbRR6uiutp1d
78MkwM3G3sBfIvgewnEe7KJ7P5Az/s8BSnmSf3FAxhjc6YN+QhH5Tf8OUEsDBBQAAgAIAG6v80Cu
YIngigAAAJMAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
dW5pbml0aWFsaXplZC10ZXN0LXN0ZGVyci50eHRVVAkAAz+DCFA/gwhQdXgLAAEE6AMAAAToAwAA
JcdBC4IwGIDhe7/iO9ZF5mo2dxOx6JDGCDpEyNw+daAztnXo3yd0eXneJyUZT8W/KaOcHXPGc7o/
iErKRophwkBbPZvWoF4M+kTrLUtJtnvBrZKnRl6LuqzgUcj6Up8FFDF6230iAgEbwNiguglNAvdx
3VEFCHZwvdXKRXij7xc/K6dxtVNT/G5+UEsDBBQAAgAIAGqv80DMB/vQlAAAACYBAABRABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9j
YXRpb24tdGVzdC1zdGRlcnIudHh0VVQJAAM4gwhQOIMIUHV4CwABBOgDAAAE6AMAAMWOsQrCMBQA
d7/ijbqUJNIYswWp4mArQXAoUtIkbQNtKkkc/HsLru4ux912NUGUYf4lzgnLd1uKyJ4yXkhZSd6P
NpJGT6YxVs/GhkzrdY4R3TzgWshjJS+iPBRwF7I8lycOIqXg2leygMBFMC6qdrQmg9uw5KAiRNf7
zmnlEzxt6OYwKa/t4l6N6b2qfy4xTNHflj5QSwMEFAACAAgAa6/zQFI9XEVaAAAAYQAAAEoAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhh
dmlvdXItc3RkZXJyLnR4dFVUCQADOoMIUDqDCFB1eAsAAQToAwAABOgDAACLNjIwszC0gpCGpkYW
puamZgaW5iamVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGBmaasQruPgpgRQpW7j7xnn5h
jj6eLvH+Aa5BjiGe/n4KVkDIBQBQSwMECgAAAAAAAbDzQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAANhgwhQ04QIUHV4CwABBOgDAAAE
6AMAAFBLAwQUAAIACAABsPNAkPIaBmcAAABxAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAkAA2GDCFBhgwhQdXgLAAEE6AMA
AAToAwAAizYyMDM3tYKQhqZGFmaGxhbmhubmFlauQUH+QVZpmTmp8cWVxSWpufEpmUWpySX5RZXx
KYkliUmJxal6yckaFqammrEKzol56iUKRam5+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpcAFBLAwQU
AAIACAABsPNAApSZe2cAAABxAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRVVAkAA2GDCFBhgwhQdXgLAAEE6AMAAAToAwAAizYy
MDM3tYKQhqZGFmaGJoamxuZGRlauQUH+QVZpmTmp8cWVxSWpufEpmUWpySX5RZXxKYkliUmJxal6
yckaFqammrEKzol56iUKRam5+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpcAFBLAwQUAAIACAABsPNA
YBbzBGcAAABxAAAAPAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9v
cC1yZW1vdmUtc3RkZXJyLnR4dFVUCQADYYMIUGGDCFB1eAsAAQToAwAABOgDAACLNjIwMze1gpCG
pkYWZoYmRoYWpiYWVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaa
sQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIALaw80DoarxhPaIA
AKOtBwAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZy50eHRVVAkAA7eECFCx
gghQdXgLAAEE6AMAAAToAwAA7F1tj9s4kv5+vyJYoPPljmmReh+gEcxkMrtZ7G2CS9/hgMMhUFu0
rUSWNJLc3b5ffyQlu22rKNMSJdsdzww8btvQU28ki1XFIibuO4P9i98g9u//YP/278v4lhiY/ELw
L7b7i+G9+VeD/fO/b/7y14/3b26DLJsEkzm9DSYTWhToMQpQTsMop5PyXTbP3vzt/v7LLX6H//LG
NNw36F9wZ4ScFukyZygg1rxcxFtgxDDeYOyYg+EtgiSa0qLcx7THRDQNq5dIJ3lQzNHTnCYoCR6j
WVBGyQwFT8EKlfzDh2DyA5Ks61pa2OyKb42JL9G07Z6UhL6qPz0FE2bZNCmjIEbLPAbNzCFaOKSL
rFwNPGKlGL3FtMqjOI4mTEgRJCRimpoGwzaQRFim5WrHQtM0X0CceYahBSxKSsreZOWt+CZEN78b
N/4fN7/jG8/g73/7KF6JeLW3Pv9VvBr7dNkDyuB9dNeXvIHERnrLzdFM1zSIYz479SbMHWUA6Zuy
X0SQ0PIpzY+XAPry69eve2Lw8esnLkxpgZK0RPQ5Kso+hmMxbZq+dWGWI590/mCMkpsPTBjuzQdb
vP/t5gMeaHI5Y44RuVCeQzqlOXOqEH1kflWBQhrTkjLPLoopyoOo4H5dGS1oDq22tq/H2VKnAmHQ
tyd6xtT93z59/fbHp398/Pb7549fv/3z8/23j//96es9JPlqLDvD4n4vGojG2BInoAeJjQvlfBgd
+z3GFxiHMJSGlgz2aCY9Zwi0phI948pVu4mAm1rzagxNsRVlnq6Y3KZ5sKDgILKJ3wuhrPZ+kRTB
In0UE0ZTpnqmdJTm0SxK0FohIDOWqwerYH/C3LjY6oGwtbjsY/UJo+iBU/WT5OIrgoeYhpKYcR9G
wnSyXHDqn/KILQ0cALFVQnwErr2W7euRmxx4aI0dh9xbeS1wgHwdpb29DEwE9VpHstVrftUYPpRB
TIMoRmmCllkYMHmBRohdpUTJYS4aYLsZIDEvWcMggX6Xe9FccZz3k3TBrCK8q5zNPVg0Bn9WTwsc
DWhPepBFEM8cSFEjCGzHHtiPaKnRHNqFZw7I0n4cglw4zvhDVvs4qsLq4HqHPV1TXQ0i806IHpwi
WmQxfVc+NwDMwfnoOGpeHr4OoDMmlnFQpvmOfU3SJKETDZPAIcAsKOd3EPM8kM62OuJjQMSavIrd
mP3+xtN1teqxb/XKlZ0h2TnBKGO7xbMeaFyTpnml5UrLlZYrLVdarrRcabnScqXlSsuVFji8keY0
miWoLcyBLUdTmGMfTBLu8O1B4FqZNP3RWNQYP9xD29t/7vPJN6GW4Z01NDYk0FFS0LzczSI+ReV8
k5GC8x6uSk6xOyhYqq2SO5dCxukkiBHbZZeSLB42VZKV0ue/qHAXSRZ6NN1xwBRHxTlALQI2Ha/x
0Dwo5rCeVGbmfZDB453HAkqXpaYU5AUrnqPHZKWYPdL6P41AOpr9GLHBy+JUP5ubNYzPWoxRXqQa
lQWNp2B1su1oEqkUVXbOD58AuP90XaNlQS4tS7VtQy9razDZzISJFryqVqaZbkKjcaNNPevsjKSA
BWNTL09beJ3yQeocSfjBw/AzFDfC8a2qwKZRDC5rtuHr5WkfUzKaiD06bF+z3z9eXFXOi+9QUJYc
nO/6szydMQLB6mnL17MOHEuK7DysyvjEEmrS6TSOEoYnDvvD9UpKyx4ee03HmtzHXQm0uI6ufzKq
pKonzulo2qm/F6UW2B2Rml5FNWepJ3KWFn2eVJlnZdPmGVqTeYLt5HhyUI3AdxXDJcigsy28rP6J
gNhE6uNgRXPJVs1kD+wBtcWYDFQaCrW14K4BEzbxFFkw2SJh/SNoNTGs0blW9XG78JykicgUcK9z
/btGwgAPBV4NgZcPGqTAiTAyFj0q0sHeq6GmNkq28ShpHEnOCXqurXMEvIBJ9zOuFrxJuuRdQKpp
XRy83N/HjcaWvgG9zdQyGZCtkwI9Pz9fKNZ6s47WUOCIwnrYaYDJRpQzGlx/S4/TADwV6ylFig9z
USG0nMG2XTIAkEQ1ljMOlr4ZaASoRfpYx8FAR9QzTE0rcP8DTJ1g+h6g6yQ6c0CGOhxrOyOcbanJ
4xIEE3Lh4ut9KvCcB9Xlj125PcpSc7Z/HdANnEMJTUPTfgbCkzlg/mCI3ZKOyjKUSNAchh+p/NyB
8PRKr05JQCJzLD0ufw0hy8c6A4P0dSLKNKtnNCzpjaAn9FQsHwRMwXD61Kj1RtLnda2BJJJz+6i+
boYhdbkJdvSMwEeaF1Ga0PClkre5CmBDT4St3uHzPksv8UUATntsYZDYxaiig8E2vk9R0m7I1phs
WjosRHUAWwMbyJlJ7mogVwMBwB6jkKZg0MYysR4mBIJ0Te8AsmDOYIC2qtHE36L+rFEOgF1PA4Lg
AZVcAQ0E1ydGf4T6FMatwFhk1j4bPvEsSzNMOntsqMP1lLY+PdTed/ht8jboKYrDSZCHcAs/Rwsb
AFofV14XYG8h5mkyQ0U0S4JymUvDFZahh6cGmmw68PTxBHNkekNwJOXH7YH2PM/R+vRgW7admK6e
5QYElB1w8AaDbGnna+BxOdXnKoCMkl5bXZ2gAzP6otH3Y6pUK6/1xUpBMqExCpe8FAjx+Cif0MRt
WPCdY0QPUk4fgzhim37mD6JiOZlQGsLNiD3X7Qq5FbsoVzEt5pSWTFqA04nG5KqXwtR46gWRpduH
ZGYU8tJd27kYkRVlmmVs07ENBVpal8V0+HrOA2bAALKg4Efw6/DZ92zWSFg72NFhcE058rlpGYNR
+k7L+JHc9bOL5cNmZqXPWZRXHMHhTYeYGiS4hQjvvkzL8vvj8GfL3Q4La9CLyA2+mPpkFr1fJtGf
S/opvHNNTDCxrbf7np0Ka/YlAnsedrDnW28/cjuixd39fPlvN+zpPnthQOyVQ/H/CTBis7d//ff7
sen0Pd83iKtMp3Gls5VOizg2IT4+Vu9vP4in8vBFnsZ3i6VYcetplY5uva7J/vPdnlys5+gr+UeR
TxxiEexqIJ8t0PmV/CNnGjbLsMnm+BH8JQ9mi+BkVnOpdFuWY3jYcPdnwOAZBTN6h42xCTINz7HY
WiMh6OzpUdmzOH3Gt2/7puc5MoV1kY/7iuhxPY9Yhm1LDZqPyj6j7fKIk2ys4HsXDcsbWAjYwr5p
Y/eQEDqvP95rJc63HTYXOVjJfO5uCPlKS/QhTX9ElP0xNrWWzZxAwyOt1GpwtfvQyBc/i/je218F
RYbWZfAkhHkDE2Z6luWxBbEi7Gzk5VouNn1sSgnS4Wi9agJNz3CxI12bxGjN8uiRjVJg4IqP6p86
JzDK4WgfWu6243qOa8tGuHME8ePPUmyjT4jnKceFPDjecrJpAzumbThM+KrbtnYGOtHv/8T0+4RR
Rqy3/wiYUS/SMJpGNGxhwqgQO0cXidEnsOUwU+fWrkpt3fireyz0cM+wIk6f2oqZFbIxhFySTHpR
61g+cYjvHEetSV4DtV5Xare3j7wiIX2kOSrTdXsKuBDKNY6C+/L564H8HITMpLWfrzNsDbh0Mk/R
epMHoFhnhyFTF3cpebP0KGSv3HxyeNNPjOPhVFPtRRnkJdo6a8Wsm9lznM76z1WqNDCwBgVvRaul
h9m3jDdXzBMgUz8gRTOqJBNsD0fCJKZBPpBimrbIKCijLKYoSphFJIw8uBeG2cEUvxcif79Vibz+
JMuhqm0Hq5QPHIGSQsUDBJsDrxBYox935oTwAryHNFzBXaNdDQyKp/f1oODJXvJok/SRxmOQr9Cc
BqGkq4zbZSRBdY9bQGh96hCsMHIc/YDsmyxNCsi3JXhcOONCuPs/mqcopsmsnCMGCF+K4Vn9uenR
9Lz56OQxKG6zeRRHmSiYYu4fnSzziCGEefD0acHmk3fVz2Bz9y0tsMARHMf39Tx6UjSXIhP3fXbE
RVPcrmjMNoPvsmTW4R4nJQTenm6Wp8sk3EOprtX1B1O7wIfdBcvTjLr2BmtTm0Zx/JWX9sKOs28O
C1+w5fQHbSHAGpiAMlrI7mrwHTIUdk55QxCw96PhDwaaSjqe+8ZQjFaG3WpjzMTdQdEPmBj2PKwZ
X7TKgR05lRsEiAliPdGHWXyb5tGM39LH9jYJd0enab7guw3wUjLid4AT91ptrYLBAwUmXUyISptS
Im0PDJ6hdN5gw3RVmsQ1hCTSwPxq9CU/vPznMi1pyHyReEmraxYKuoiYwGJJMb7KLRkyzO36cfFJ
tWsSJybANdHTjgXuAx2fWPqRwL0gtm0dSGzcVPn8AggZIR0Is8ERRNhhEAy2HedhlSAJmTXz6wLL
DKVJvELVD7ofQj0HxQwntk1kpv4Anirx1X6vPPwc88hrwaj6dq2HdVX7JznVeV2exlT5VU5HmG0d
SwZXJXxdla5mezZmm8z2dlbwTuo61Q6ni4InW3IeWhfBDcR7k0viVy7xugFsNxDdpExnHKWx7fO6
bGVPklg3tSfWhRpIx6y6OWxWnQxHgtasOmB9IkyJpkHIny27HMEmbl/b1hrWUiJcsXvAsWT3eOyV
5CvJMMmM4IMLDDb9n3f236QKR14B5CTVzQkrvZ0nVea5UCU6BJ5CUIoLuGtc8AIu5o4szcvipa3T
ZDWRpN98rB2mmXLxrD7y3G6f/36Zx3fv3h1HgmmQrtKcsvHD1g6mqCKftM3GvD667xryRB8EXm0T
gt9FGlJutn+wL97yLrH8vr67+pf/Uf3wA+/k27FQpkXqPMnBrwWvmtNyYobHVxfINvaxgumoqThK
fiBudWFU8B7NuwlOflSiNhAkGrXx29RpnqdgiZSDrb7S6UwOkD70elPTBKynvTjN72Y5pcl+PZ+K
FqzjITd87lcQeX43wCPlDGrbcPoyeywVXZVsdVZy3riykfiDAuq0qkVQ/DjscztdRHgSl9vS7bNx
AXX11qxhwy3GcCRo9dZAS5/GzG3hDTPULNBVOoJ0tcCrBSpaYDEP2MSNXvrLosWyrFq4ZMyjTpOi
zJfwzVyW03tVk6M3FzDL9jXhAVsU4mDd8oNFphI53esoRR/ZFr7iYPs9eghCtIgWFJWrDE4GKVWW
tqBtnTHZwQqKqNnLVB9j66gFx0ITJmBJQScxlYpHlRhcn5WAwasRKb64Z5/flfS5rB7ENJ/TYHFj
/nZDjPrnN+bv/3n/B/K6HMg5BbFPURKmTwXCxMaXQvOynF6OgG8IEQbR7JN0NiSjaZo+BDmjXDOF
2wObplM4lK10ukNJDLwSiaEAt326w0N4w0P4GrUh3qNgWtIcTeK0gEOE7EUbW1sGB/aZN/Vxl3HD
RzuI4BKiVDBxdtwJ14z3mF+31k+Cx2gmrlWUXuegcquQ6lxTo0O3h42CgrXZ5FMQsblyThOUpGU0
XaEwTaATk46KnThHak8SSjb7QWlUlDOKohTFxvan5bJgC1xYvYeLyYmlcrGzGmdbiIVYQ7c+uONg
+wvZSMC7V6ypJZp14No7uPZouLtuExkJ1zTwThoJa8StqlB3lgxgVzWSQZk7Aja1CvjMGDV3GDVf
L6Pu8VeNXyKj1s5caPWfC7cXnGUeo6As8+hhCR8YtvUtolq8xza+nqNC7AuBFVXky1BU3fgtdSBt
l+jzGKowJkiUNGlqKtXU9rGpPXNCgy80d9ZOW8oRAO2dKbA3YJImSIdpObpNS0qY1LyIpc28wpQW
39h+4pugoJGJ7ukT83QBzYtd31jMynCpga0HrrEEVF8AramUamFOvdjwopEgi26rdhDoIU4fxIQ/
zdMFCoMy4H/BN3laHeGKFTPHxe26CTN6+UyK5ahcrNYR631VENu4RqE3KNdf/MjXzwicx3H/x1fm
Ma2PxS/LKAZKHvwum/YtoGKSR1mJqgYT20w1D/vbTofJYx7xBo0r0fpmHchJE64TxJyO2Yzy1NLD
CvHvYUt0VCzRhVG3szsNfB4sDqJE0v1LKQzptjArylY2DSQn8yCZQUEXX6lox1fiD4JEZZDPJDU7
SqWREuiq6LzuFpLTLOYlhPWXKH34Lgn9KN33fphdCL3Yg6+XZDBQaPcQ+hqljkdGaVKIdgk5nbKF
FzYnR2nhPcz2nDI1twIZPYCyNBNBJzaTMszKnDKahNXFpsLpgBv8mGYvrdaVrexRnDcGPUcGEykb
oCFz7JpOjKNDlhtY+QBRm1yPYYsMxJb2GcfEB7gyDdy5h6H84Q3lzGmcMUvP4vfNUJVK7zAFPsjY
fOxHojTxYY7Nx36gSRMf7th87MeRtPDxvUBhOlmKocg7Xol6o5dZDWJR5SLbbrikHVfBVzXNLrgP
lN/5jmSnLInSTKSAzJuU8daqi6hsl7Glsm+TI7atHe+7LB7HMkfamVNRpHMc4gEVmo6vB1NxjKjU
ahwF1z40TBUdekfABUURzQ4y6Q2DSnpPP5ZxPOrBScDRjHsQ0NAMOGfu3SGVukNgHlCoCp/kWMyD
0rU1o643lwcE7A8Ee0DGCvORZXWAPShmVwPwgpYBsOUCExOObjzSH0860VcBAbGX5f0k+aUnvNId
dPVtGx8FVbWoh5yCLVSmvKcgD6u4FpDr8rw+7HWDdPVLFB4Trn55TpZ5zlxLiC+faBdlGxo+Hi1K
JjnlnnEQ31ZpoilzlYtDY9zCTj8scbZsWU49xIthmyEH7BkqhwIsVwViAjd/tpWsoQVh76jcBisD
yjhVbmywPBVuOCdQjIZhKED4g+vENlogsjjiO9xnxC8tKnlzqAzYemFTpZq3CVRkbCpP89s6vlwn
Pot8AsfvCe4DsnknUhTQmU9DxcDkADQWYitkz3eISktt+fNfzLcWVJV8i6ZTyqcYtmleBFEisnHg
Oq8yB9j4PNEn6SKLYn7rSZVlWgRZJjn15/sqfeltIoMK6cOSZ5NkajR8letH5M/fmoXq65iCjMGk
SaMRBNEJg6GWaK5OBAIIC7uDiOpblyoBOc6LdW1guHUhYQpwnb9KVluFsRo6BLTj+hdgZkeJTrHN
kxytbQ7v/fCWgd/72YcUrhGg53A35ZpOipQ3g+X5bl5oIvKVkjoMRwcSPAETolImL3/6tiogjlqS
va7K+m0dFiDs3ijNYdZRbMlZMfWwsp08r/2CdQdOsMW/SlGiEo9NYFBhKrO0fYjLzYFyUQ0Hm7yh
Uu8ph9opwHueN/qxqHTZkj+9aRt7LLWIUG20SaEXUcG78e6dIhc8qWQ1FCVWeYW7c0UlN0cbBiyi
CsXTYWb8Rrp68KCgWCXwLkipHqyFpbqBgsS5NVUSP7Zz2NA4M0J08LEj3AcFEBhceOURfczwKlV+
6q3iCjQDlbCYvR+tgvCqsFiVEGw2Y8YXoKLXKTv6zGaCQjgJ1a2RhWRzoCI7VwFF4gEZKiUM+wCg
tDZYiO/eJaNoGKwGW6aDvT5y27vRe60h6JilrUk/69l003YR8rQMpY3cMXCwWSiVImphS3W34g25
j/N6CUwniran172soPKQBS3nacibdxbLuNw+o9LpPGI/5PV3NLwr8yXdLxx1rpz3tKhlQfNgxvNG
4Jl3Aw+NczEjvPvT/THk4w8pH/808lHxIDXI57sYZuuA/5RJqtruwy6Xq6WSW6TUqrtYd90G1clF
QWhyzpB0E46VwjXnCV6/Q21pI8nJsYORB+8XQ5ouW6Qh71BSRYrq7FS+hI/9mdbhwFQbVtXRTg7Z
7KF3+JgDw8OHdvEZ74kZzeYlSjNpOJbZLjkKTL65mvBYUb254sthFN4Zb0OarO5WtOGOHoX5+cv9
p8///KoMi08DS96GQUnvMDMY17QND7uu24uAo2R9WnTzNCK3TgNr78vaM/zxZK0dXbIioHmQ8+OL
j2ynLGnDif3D5yYZ1OHMlGTbauLDrUpVnn+AFSWPpA2nt8fWVUjHP3y46JiyIlriY8TEKovfwQQe
71rHPIpSGoY7fKBgB0ZZau//XNJ89YWj4zvx/r94e3n89uVzctdFtFKWn+gDKtLJD1pWbpq8LwPG
RAVpL8XGnl89/rY6vj1fPUQH+jK4/vEwL0OIJqIv/0siUXRuZhJeViVUae2Pbh2NBfN7vqGDCiB3
ukcPPHV5tjkOfEt6znZG0UNOF+kjheutbJ0U8J7mdTWrigWolB520wEnpKKgJqedEMs3h6ajaj56
QB6eyvC3FbTBk55f6WSZR+XqSxpHkxVv+zH5IY6of2Jf548B3IYDG8YYNNxHC5ouS3jv6LsKJDiH
SODVjA9BQdn2iso2qUQL0PrA4xNjFe5P7mgCWiAe9eBXJ8iY8m0V/bmHoPZjDWFUTIIcPoNimCr6
kgYEgywTjVs2b9bRhkWQRFNZswHiKw2WI1DhZcK1TUcLzpZHwvUnTumvOawufKr/+AT0qTFszTSo
Itv2K2T+qoBW5snJmCc/A/M/tQJOZvZagX31VWUNVWl8U5TG68TEdYPg5tdztBBxjM3B5DU2wq5m
wvqRg23N5LQhip2z0p71gjWzsdviKcjg0jJXYa+EjSNEIBisI3/M49yWQ7POWjO2EqztvSKOfz5p
w6hbl8HRE5Hwms1sBI63+ldWhT28HV+ZUzhL/P/svXuT2zayN/xV9vlj7LNJ6CHAe05NuRLb2c2e
3Gqdfc6+9dZbLkqEJMYUqZDUXPbTv7hQEiUCZIsEKY3tXWdGo9Hw191oAI1GX5BjawKrFRhVnBkR
5EYaIQDWrsjvgcHKsyL3H7mmZlz2VhskxhCDCeEzISvx5lkmZ9TzsGZUVpNClf+KfA/CpKW+fYrI
I4mi2cEnpYJyLYi7AQK1f6XyfyMPoiz2GUyxztSKTiUYcOOAnDOwRLfGba6oBI2RHrzD3d4mTInU
ZWqD/JXIPQOMr9zZlrWy5r8zopk8OMQfAlwFotzyfBWekMFSTNs7LSILcqGMvC7MA6sMU7Yj+Tpg
drE2fHeKDoMpmkkzJ+M2T4oBc/4MRnevuPHB5HvHg9Ve5NQIydZNl5MfPAN8HzwCVbO+qsDKusqV
k68Wga0DWsF6Ef9H1tIIQy4+hoGiZh+l8UGxiRqcomfL6V6dnvI4SeK5SoeQ60MWkADO5A5Rer/j
6cDa8VY1vq/K2a/Jmpp9irIctl4exVKwy8iU2Ovm1HwC42dQMGLkTydHIz4aODja4KbWQS2FffoN
ETRn9vlMIboWys1vD3L2xWbPFX9nQLwQVlbDksDWhcCBs2I8xrEO8OOxZv5fUf8/zap5aSQklHfN
sCFR+Bj1Y7/hjNcBtWOWrDflk3pzhwSwncMXh5NBGTqZ2hfZCCODqo4RkYSUisgwCzJyeLqRuyao
vTzZ+cWwTVvRugWy6FlwvhjQMUvsSgji2ehG2bOUxmUcsv2Q59pUcWTyye160yNDl1RrRHusk6cR
H13PN5PULQGv+jZ0WDY5uY/JA3fN9HfAwvF2/lAGy/P92/zNGOKGxQ5UpiIVS1Zuxjd14Ox4LOKI
zMLceIijciX3ckGCy+CMDV8TwbwxN566AI0DEqQ7HV/uOXztHHaUQUPk5+3QZWdyG4LvnYU/TKze
dGLthFIV4ESWDVlOfGXihXYApazEOnXII6Hm1DyLFLAuyJ7qRK2iYcOCl+01qvoD0uwGBAEMzt1u
dtASxbB8HYCPVbx6lZNqsPw9+RUcxMFmnZxuiioe/PbfPzCUXwVIPStdBt9MdrJ6YEuSkNhl8fFP
u5pqomGk3O6C5Ez0A1eUDBoRsZVdoNFkmSMae91sFWM+HDZKo8KJfrHyZDxIApGFzkMtbqPtev3U
2jdRP6rgtcqVieQzz4Xka5zPrigAUB2AElm+P2S1wefCKjhvkTuyrTEIqXaWKjdJVs4YBaPgCrkf
cKeRfF3eO2z5DfB0476jY+ciEllrch1AI+rAbg5MqwEVqoEvOvdOx4Bn7E02DQUlcXofJnF0iMFg
PS7aj+AQL5dl9RuZFSGlsHQ3Cav00s/oPBddiIKJQBWFEkD8v+czLbzAm3R5us9Cwuosuw+Xaaa8
tfE9Vz+q8mgJjm7vy2dqbNOYntnUzeZ9iFnhDJvqx3S07bWmNQY1uz3vWBySZW8EdCEB9cnGR974
AyDgW40cyAbn6mMdary7Y55y3DFPOe60pxxXqwE+HmqLyTMRqw2LZzBuQcJ8vqppjXjDWIcl/crD
SeU9xkDenC7YCizmtwZzakul4SGHXD7ZTcia48FwFYHOJtYAURtCAVbnUOpx9OwRYCVbBYIEqkJF
SIfuKNWszcOOTEgq2PksSrP9IUj+uUhNVxvI0vPBsmwVn+t5o4AVipkGmQYBGK1lUgeQxcQ24VBl
WMoDL5EPybSxUUftx2pVPhQIVrUx9G0dcI3t4AS4R/lSDagSI9QdAnuoS3VaAUtReB+wXp627t0V
gLZMr6qwY5lW9YoV/pLudZBLa/u0IFuz1PSu/ylDPBQAPBo4CzRwuKuoNUdgQJ4KyNMF5Im2rtm2
3GxLOVoVN9kfbxYyk2BFWLvI7UxdHQtSZrUVg+T3rLlZG0YwCKNQrEoQt7zqqSLyrY1okK2mevyC
Tnlx6yMuFqpIO3r8b1nRbc/WoV4MhGfeCMxZFp3e7dkw+xfM3M61ne3zT1QuJQehkVhsoGtlmZ+m
/wjvw939MF/71mH6pHQsOZAY5G5W/0PyzEhIuixXr8rH8vzAyfMgGrbaIKHtWtmHxWrnkpg/zeWR
do7j9YdK6ZmERB/oevQhm7GaWrKmJpZl6kZ4LV7rk1mWcind08Prek0tB+Ypr3q4N/sK26Y1ZDvf
RAvW1W8dixALYx4mCetnrmrZMwCpGvxwsyEp25ZCmZcbezbA4WxbXfq8QxMH1c2ysatCUnJPYU4q
4O8yD5LXEUnCJ5aKZfbQArtdXvF6KbiQHmwgIYmnCLUiLPswvfU2YRGpR+Ua6OdIeeiBN8+2aamP
v9PLAElXOnM83nj7bpbdfMzei01Yru5G0yevH7HLxjD0pvN8IveL385ZEdLdFTW6FLr9n7yjmU+q
XaCXZGkAxabaPoB83It8X0V+tqQDUBiLOI2LFTksolI7eAjUac8debiYGQxBUPb3WWT5Wg6Iz8JT
nfJaGgodncAQaNW5aP8irfziz4xf6zPj1zuT3x54HQwjZGpYk6rqacbe5J/n1OaXroGQ++czRliB
rHUi0Z15k7S7UZAzQIx889uEOWsD3Irigsz9E+/yOi7mNcnR5yjqQZ//6D0DJTuniLOQsYs+plvu
nGxaqpL3ADywEc6KLNmWIsCgKKk1bjysYmr6bMI5aR5jHXw+2D6MOsrDpZExLxer8V7uSzW13a87
rj0Asc4nkcTKIIxtrOX5xSp7+CdhrabyH/t29QIBUTuJpNgxHx1TwlAAuV5rqh+1tsTsYQFcm5D5
1xtR7JCZ6ZijPRlJn3wI/IoIOxOzwLOm0ga9n6+Dcix7cq1UB8+PrnHC2hezFUEW2wpiBY/Gij3a
k52Tvfnk5oIlINOFg/U8Wz3N8jji3VHoOrUu7liVrW+/Q9iyHde78d6c7pTTon/D3/iev/GFmKsd
l2+ukbo31Rt+YKKrF9inQvI3z1FTxubxmp5yAXkLWszvONH0+wVICGfziNyYbxfLVfwH/X4Jrfv+
zdt3FJoK4Ie//f3Hf4iXFxsO5/tffrpx3ooxqX54IdrwlR9S8pDEKSmaZW0mG6uKJDFgV0WfGMiK
JDGUz4S+bzrG/5tr5+8L2he0bjRW4vnbV68aZ8M0S/mFCz3WfqP6jLj6a8Y0XIjkPTlKgnmVbtYO
nPuDyswo6MH9k2DgvL/A18Ozmr5ny9KnMy2ufggONlAPUsUOTs18usnTr9Tmn9zk7x4zYYVYjhd8
M/YU6vkXwg768P2HNx/efnh3xasKo/ZFUYZ5eee8ENFyd8i89mWwotjaU+xduYi/+cR5rK0dfVee
z5XfPcOB+WlZHwP1fi8XG3+ONoPyT6qr00pM2NyJyWrGao4sqMaM7TNQ7mi+2CsnbyT3bMU1Okwf
8wvbnzrbe9PN+px03NvvnJ+ThvuDDCQ127wBvUEZ3IjmsizIjr1gjbn4nmgkIet1lkXxIiZRlSxU
lSEv15sXjOC7A5ONrI5B1InI/f7UnR/l77iqIK0mHCeHB7DvN2z2oXAT39I3zve1oT7Celwnq7Lc
VMVNTxWazFeZJBoEmTrnCp8kADnsTalKqc1BR0/t5HWdlPF+k3lW1OJnIVzkXBe9x/Y2MqcxMIZS
1/M0MDJ9jKr9VHd0k9i6gxU8RS+J54Qr3pLuEfxD3TuXNZLgbin0bRtZJ+cXR6uwymzLq96cK6xB
G+lZu/q4RCh3y/U2KeMNlbxx2DclrZjs6TF9d3rMC4jWNj8TzAuokIMvgGlNjwnK+/gE5opxCdF+
HmrrOheQLaRszYUZFdlXrIiD+GpE2Xy7VpUYRqbb9+kHPu7jiGRV57ptQagxwOCYscANBZ4Zni3v
X/DGxPzDt9ly2SzK6tnXQYw7kBhW4oIXKIpYSw/6k1z0CPcFEDyWqzwry4Si8NKnzHDlLNaMSMYs
xX+x++hdwP4neA83G2q88fRFRvFpj5PAt/sPhqi7IXw8cZhkS3l/UUgdXseTQ6yze8KS7xLS1qrF
BZ0OPLWQ9w39qLWfJAch01OU+Cc+XOXm3e7Vi5W4/v1IxV7wJ3xX8qodjaNVEFiQcnd99OHowHfQ
/51KNPs52zZs8KVi4yXFD9rPG9rIVx5v2MgA1Z95LmTqzwi75aXPG9yD1NJXUzbbLlhqY2TkYboU
eZsUpjDm2zynSvJ7rMjeRMgdBtyiAUplfQhruuCYL9INPftXK8Q2irNb+oHT1REj1F0cPvjWxGpS
52E6J4mh7MTjWg4AwG4ByLKPsULO3ZXhVM+ulxkt3wgIlebRWXauOdgNW2eu2uUqTmWmIGQXaxej
qLgWzrJcOo2xaaNhiiDR2b062lQdlStYn0WLkuJ0rPXlQ6xoOuf75z++g2wXPkYtdNNV7EnsT1Vz
EVaQgRp+YRlKOyx0HxHadaLnRoPp5tVvzFqWPGpT50/KvgOA+smqxx84EbXRGNo4ZmQ7g7lIk5ez
Z5vD2TuCqZaUHegF+IWYDoGrYaJrNurEqx+yvHHrBFn1A+hs41NbNbOREwSjgBmsVhjVh0aGvT1w
+gKNuKN1BGbEBb7VTRoy1aQdDo/yThZ238df5KyqIkb4CKoevYKe+lvqnd/G3SXOuyVwBP9AZmtq
Vy3XvMpJusgkvaqQG2hhtf5DEyZwbWsM5oTFTV+djKFtOd6UeAj5ljkpIHYg5pNGQHtqQMvE1rSA
FGxakdqOOy2HdBAnVhrX1bmBwjY02zTbfaNAO7nfCi/axMo7x/Rf4jtReQ3vsCzzeLYtFX0tnH4K
XhThkhUIm+dZURhRxvuJi7eJCGeRNXWGHBXUWLUKRTLUnMxJfC89VwI6s0mAqSV6++c24w0eVmFe
SEv5Yyvo+WhWtTQK84iF0BHKDO9rVlVsrhVf4nXwDk0EuU3NahvRd0haKIqwObbfk6qTNhen8EwC
t4ssk7W7wJMKQs62OR7bfdhFnewyLosGm5W+QQfb7EmKlOuarqtG2h6fdSmjvWXexeiUDIrWBp0N
FUDWMZhXCaikLfyYbPPJxHSZ6fSuUauSe8vTyb0aW+PYbzcbks9Z+fF9+1npXmQOn60yKIlv2usl
xGJ++/2vP/OymDk1Klr6mliO3RPgwMoRFG62QoBcgpwDYWmEqD+4+VjP7fnYt7/+/EZM1J940UVh
yMlb2UCcUacgVadmdil90vzg0Nx21/4AO6c3l25fab3/v3/7gbJl8AfvjHfpJQAaPOQyLJK/Ku6X
jbAa3BMsnMcRNjbxI0kUDeMC5/xHswY4UZwbxSrbJhG3g3i9ldtGcftgCN1yinGArpLi4imd86U7
Yj7zlgXJ8XvMuT9Eb9hD/7/9O5tc4rdCLsLWYAXl000wVrHT3I4xZKPAYGYyWXdPjCC8WMpRqdom
iVgR+TUz8s2eEAcmDvOYN5HY9WZ5sS6Wd9aLKEtJo4yWj0dCxRwVnx0T2BPO4nCoD5zbMWzSm0vX
7vlk2Gj99t3794oBgyyXngSYNavbH5iSOFR00ACZlF4rY00k3tFFvHNHD0uzMD8/DHcgrO87wQc0
OeyP73+VIyNnAoaNizD8AZsYf8NzfcjdH+E31PZjh/I7s+FVs0YmZlsubrDpN1sKj4/7YXpUNuKU
XXSRufXVZWC/vQwsmnxw2bySIo++kFBk45LIhmwdQ2OPckKPfqkEF/XdfrezWSIS1MRJtZC3yDJ7
AOjtm6FgYB7OWYMvYRPJjQcX4cGjcgzT3nQmsHvzkt6zgPiwLEmeGos8Wxu8LR678A8TI+atQGSn
btBldTuH/OG845vMyeIiyOFM1uOGaa5B0nnGQtBZR/NVHEUk3ev4IiYJPxyGrDWStO94cBa0SCo5
HT8IFTKHIsgY6M8393B+Hy8daXA+di7Iue2Nz/m7f70x/vGbnPdLjvqZKteLd7aNMJNUJQDrompv
jy+A96t4UX74x4/v5exfUvcdPD774Zw14mq7MnNBLr2xZOBOoAKsj6pojiflH/VdfHuw//pD9daH
u3/9/oPhN9pU++OLI0tJRZBMGr5/yRVRG/viPq/J/H2YbOX99Tzrgoz7epYCxmK2PWFc6gYPLrrw
oQHcsicXacySuwxe/IK9ViQeIuwiLZNbCSrL90GQFQWbMv6yzRN3zCf3pGD5FIqzBu4LUOMqW/Pe
Z81m0UA7/BwGXlOokkzJhvsXdKUigtBOF0LIOoxlN0i8CaohstpZEalwHSdPxiJLy0Uoz6myIWGN
CiwSluRdws+Ov9CjKm/BiV49Ns9XkOPxKYbkbC/i+vixmNs2THyNhoPIQ1oZwq8eZfcgpq8VxZL3
SvWDvigsmkWYf2H6pIw28Zy+o38SSMMjeSQLYmAPYCAnvLHsjgG2y7COr3NeVlDupvCCK+UnSgt2
Ybwg5XzFA63yTBoYYCHkD2ZBCiZhZjyk19zWusvSxv3h6JCLxeSYiyy7AtHanySbUw7nKRKeDMm9
eiTuwD+0+lW7imE5sR3caPAVY0vFBW/pLXp478M9q6QIZf96z+oLSdaznbhE0Do9pCUxM5GX88Oh
jeEqDzKgXU2J/YY9W56/jCHhrHJBZqSg2sBjuRqhXKg3uSIMWVU3wgIdrtRP3lVWXavSd23zvFFW
HI15NmnKso5ERUZ2x5Js+axJD/iSbBHXGcSf8tAYYL/vg1luEh3V42nIhtnvOyEW4X1MF6gqEJx7
ZvjsKIwoLsJZIg8Ucz08GZ5F2QPkjGNbhsYCS9lpi431/iRW5dQyfaC/KuQMop6QtdvPeRxZnIRX
ZblorCM2JNZOwVW+FjXSmHNNmWHjQqKaawDS+SPDkrnNnL681A6QRkQPmelSGW0MutntGJRiK86q
sgXNH8RDdafJ/HBUl3nJIxbVzBPf5IluwWBumsjKe2rY7gJjr+BvqDnzzOfB2ZKkJA950mCVbROn
Bcs8KNlKJGXN0qCCIg6X2VOoaVBBYjuwLKZzSYcjMcKiIHlpVCusvFKB3xPhwIIMSz5A3AaBpHRK
EYVdyHY8afKB1fOxA/dRNaW7PFee1CxNITbxMACoiUx3zWFAOdmEbAXjNwpsgiRJrMpqxCbk+rZD
pzpwjY3iiIORNxibF+8W4daPK3lxIa+3DvPDxizJ5h9ZSFE+Z9cyqeK45no9BCnxzi5zQlLsmI+O
KYnACjxHGzNp1sYP7r2cCSRuvhe8AYPwoMqPg8NXNBWczNaBnXjVTPHlR8oIJBClgxG6iglvwDHl
fB0eTHmcbrYiJbXHwbn3cj3kuI6CvrpBV500Io+tR1SEPDzw8fwIRCcRN7RnLE90lZOFPCwTD1fz
s1ERgoSlYW8o7OvfV3HxNf0Xfs12T31U/BHeh5XJRY/kRlFmmyrHUH48NyE5jVKk455OdBsrFFrp
QAKHTyFqFfgazZyofpK7n7P0Br+5wSZG9Msv2T17aZo+/WaiG+s706JfLIv++Leff29k441A0O9b
UkTh03URtZeSZfwc5sZ10FITTuBpI8fvT45BidErmyHE/EBmeokJ+hJDtWZsYsRSEqes7GRyuEXg
9Rm3s33at9QSttAQ5lNSssKGRhGvt0lYZqLg5Txbryn4He/vs09WNar6/Sxx8PwCj31poGANCl7w
9kQ4jSThIRchxSlX10IKYnnE10GKlV/NANlTDxCLewVMHNBVXU8S5gmhu904s1esWJlonmBkebyU
+wVhxnLrw3OySULu98iKQu2BdCyrJ1LNAxnGyTZXROoM5YOn+T8WiSi9Y4gIl0dJ0FEwmI8OzKIZ
IIaGcsfNfB5KdXIKtUzcW8FqFyt0r23x4yOz767L64TTDZdCrVh0E6sjTk14KixeW05+J4EG81Px
wi70WQdflnGvuMvvy1dcMD6OBl7mnQx6aFvIutbSFWZGWAHH+ceTGmTiDro34fsru+1sHSvqiJy3
akpvufYNh7iZVR+HZqmPoO+UpOfeY/NSNgS2PYL5qssqzWY8BpAHMvBQ8+J+ua/bU8T/IUZKllR4
fBWQhmp6lobpQkHlwSjIA0jPQmrOav65XYqG8hoFkjQkxSpXcfFKAL5ikRuvqL694rEbr5bx4nTu
QMJNLgnTlJx0x4Q4Vbqf3zNkx++tFnz4q5I5uyglEdctrcvkQQrGWe3RVudiWhC/ag9MuV01KXvA
0A8LDbgP6YnBuWKV/ditcREv0100UZXjlCokCLqXq4HJtysZLm9MUANv7lyO13f4NlkSz594g/ol
3VCMeZiwms7K5jCgG98ORalUo4JG8hw5VzMMlgcYmL3lRvdjYbsYs21Zyq9PLSvQoBPnmDCQxRjL
+Nl5ozbbnALKk1ggpzzp02vMnOJImmy65iQwnt8bJopztnWVGWsbQTepWRKmH+UnFohp38GMCq/X
CayTI1blOE/DRNVryIYUND2DozpeywblQZJ0esKOIUluZPLDZSGtCuvo46YoyQbL7rM9vRiWjBHk
6wWxpfmew0Hoc+QTNBg40lqVpyES+hYrpyLp2g0yDuUoC2rNKzptOTpmmXh+C+1WfxThwlkRcc0r
eTYe79k4sAc+m/uhxF05eUjiVGFjuT1hqttwR67rlobBrSEcy8fh5dKH0S3itPgpgjxSU7/k0d1Z
HqnawnloMENHpTgldWaHS0xTkVnL6hCcvDY1xO1ktZdE3W+VSikFgzG0SclWS0kULhbdmjleLQdV
Wq+qL15jukRktl0asyx6Mmbh/OMyz7bsVrPokTXWBXjCl6S/gKNBitKiteZweR3Vlu43GwHyOULR
r2dpxmKR5BdMPmh7auchp+fAbH2AkRhM2LxqlIL3o6DPfzCyDQvVZxZ5uk3kRdwtSHn4Dm72aQDK
AwZob5cyIy6SWA2TcM7Wlk1cn4GPvd0bMrDwVFd7z2Y2EaqG8sYuBnRXslBem9DXM/s2u0SgTbLv
Rsozquimv6E2L7vfSJcv2EfKeN0sUW0hG3Sy8VRcb3LCbQzRmlvqDYUkKFoegNcjKLmvy7GGg0Fy
UESgsN1XcsLXxQIeqJ5sywVyZ/KDejCcHZHbKVoeb+i0WvMbrz/vbt7hG9+++Q7fvHNu/Lc3frPe
PNbHX/JJ82dh+fjRIyD+RBhMPkUGuTu4Ywq652G05FefcDgqM8mnw4x6cmH7OXKTfBLcfCRPSyK/
qHG1MSJARKeXJiNeb8uCBUcMuSsHlYK1fFm8ASv0WHmw5LdcZs8n15vF1jAa4R9Bz+dvU17vm+X8
HprkbFhlsKh/LIMMaHZqZzl9RTLX9qRI25OIticttT2p1oevMciSMz3qq0IrbRTH2p70h7YnfdT2
pETbk9banpRqe1Km7UkbbU/6U99c0vakQtuTSm1P2mp70r22Jz1oe9Kjtic9aXvSf7Q9CWl7Etb2
JEvbk2xtT3K0PcnV9iRP25N8bU8KtD3J1PakL7bj1LbjQt/ewmNe66anPG3F7ft8FhPV6uvBZjDc
hObRhT2cWY6jga/kk+RL5QGyQZ1Yr5mv5BPi6z6OSMZ9NaxW6RDvCqTLktwUJLMyXrNbONY1ZGBU
Wbt4FVBSp6s1mJ39DaM0os90QQFsQTtE0Td2MwAKiiHILkNBVwjBFD2uz0Dp33y6YxzKh2yvToWe
EWnGQvLFgC5E7L5YOV7HlDSyTvQqRysYfBpJZRsnicGLl+0SunNSbvO04GESBk+YVk9fx0aD2awH
S6/KcjMgUFrOIA//iLKSF+6RZ+B65z+81mdRXMHTPcvnJU4lWYWB6w4jn0WvGOWKfnnIY3kesdd/
frFHiu6RLBJHbWA62B083MNrV9pIycPDipVnfgjjUrF/YkhwiY3G5kAWo8jjd6RBzL2fuE7K7CNJ
4/9QoyPKeLl3Ue5x00y2MHuCaJWLCwXAMoC+CI9FUhqsjW683mS5VPMt2xpM/gkMXediWcEGSOBe
H6RGmQZQD90OpDQrtvMVK4oe0oWw4ZuHZFM3EHjGfpiXt7tKpcJe5tmJRRmmUZgo6ht4vjcEj1vk
PAE+pfsee35VkVZmV2JzEG/7V/uCJHvMKoRQ2m3NhTTotr1uVLZGGjOyyHJizFiUcJg/yXcVfwjg
QVM6oHmlATqszSg8awh+lZQZL1OGVi1+ktEE9bFTw/CSgMpKugGk5PPpw9PwPl7yMgi3YUqPqzmr
dhjP5dWyvUHPr9+OF+WcNWNqWO9e4PqaQKpiJapEKS/wdUiLz9xClPlpqShkB7rYElnAolOrIKEL
my4iSBP4kkVRz6n1E9UpkFpA2NIoXl7HXc2hg9Bo0u2ADiBtMa9ZtvLMKm8seUoV1La0MLTMWDaK
fOkKNDGU0dNRrqrwjfTwUWxnXG7Kii621sWEdXneJK/563/986e7dhYh4cIt2GyEdo4Add4mzGaE
cNjEM1Yk2ZBcsj+7yJ8C9XWjpbg9XKRlJhyU6oooyNPJ3BGeohqF6+rayhnSviQgopKdyw5mkJXY
78egvNMmJMoShKiRwaBDT1gllMMdQLZWVCtDpusNQjsVJ8dlq4qiINFocJb8Og4NguOdBJjPVKjH
KiZ5mM9XTzzBV12Ky/c0n3L4ehLTg1xOz7B35ot4vUR3+BEbvI4QTzyib+GTt9jR6M5qrLmOphGY
RJvHgHNMJVyUzbfMDWvsa0fO6ZGPKlq8JnQmSf29zjDIWhrpKbikgzFksR3I32ukmUMFqFSYeDyo
Jl/awdbZtiCsg6T8YsAcFa7Jn3ZA9ZpnQc5mDuqH9RqNjtZyTQHp8tYXq8HZYLSnNFzH810hu92P
VYMLOtMpJXLfHEKQM65zWvZLupJ1VY6FWFQtTO76ZamdWNh3BiHUgjsG9eaCMKE+oDsmfjZcdJ1m
8UCg0U+zl5XjIkwSPj8r50CuFCQob+k5MAOsdHlhVrL8IcwjXsRQnXmPfFvXTG0C7p3PWVqGcaqo
KuT7YxMgv9CxNcEemfdsavM6znfYMRtVKK4SEXeqUJkxQfJWv8YipsAt5hTCkLI0LaDN8VTByw/q
CENuE0AEKOSMTM1ynh5xmRk7J5Ko0a3agHykazS5r4Pi7aBZnE3v/pBnIOY8/dQIC2Ob0tfzlaoj
LcbeIOBVzAr3iIpTRiguvbj1ylOiC956s6bK8tIkji5FEmnYdbyGy8GDJHnX0FrM5jHgTpmrhQvH
6d5qM0RKgLGiq34i32E8D2uSKoiEnSddeiKz9Y1v7erqhABeWChX6Bi2PE007CIWLfMkDInFKWJI
iWzHAo529yAjD8SXBfFmkYSUxNiw2LnmJYyhCYU9vj2o1NKEVIT3xPhtXG5ELQaFyLA9jJVD40ne
za0lAESXyI4RpRsjpKIwnKe2q2GtQF2nXVCsGkiGY5121dh7P1VY8IL+YRQVxm5bjkuyll/lTgHa
cJdpg2V9Xw1W4A/GLST1TgNsk18IMO4uWipryQyMi4ewtYtCBKqOPwWqRHc04cLVZuDmCkBscjkQ
k9V+3idVtOwZSNN6V8eTXq7q5KclNgqSKtV/Ae/iEkG6ekG5bNsVIVu9DYPp3hPxILDx98QWRneN
38Shu3KpsLuUWK4/AWgA7cndVNeEeHhp8NiGfLthPobZU+vp3rMsXagH1aWGd7RNiDrq2sV4XOn2
dE6pETfxI90wlpmsuxokCucyj07Jw67G8n50qk1OHr/k6BqXPRySW3yABQS7oxpe7jlcyGP1QKcg
NU6aGfU+GfIK9AjbgSZuGnjqqE5k4gugBqBz3rmgSjgP0vflYlpYZ6EQXjU2keXzFnS/ca7gaqhq
IdpeoI/NyuaRZ9u7U+qGC0lGBbJFrTpWkbilQRikcITjTcubGq666aobHC0RzZ7va2JOCLB8LF/3
cBj2YKclTBG4U54PqtCPYWCbMC+oKdgnisk7TzPHjmJq4ZG5rudZ9jFWlCm2bU1qONwVf4IiqD4q
4E/KN+JNSRlTQ9eIDPXBe0N98KBmVJ1jXsvkE4USWKUK6TESg/aQM/CkGxUoWG5qRbtmNcCQCilf
hmXqYbFBYRYdw9KRCeoP3EY/v1GxrIFrGCuCb5mIncU2WVoo8t4cXQLbHaGFh6iCZAk4RRmW2+KO
kvJCGMh3u49SU4VTuat6VBVd4EWlXlc/3C3CpCBHBy6kbQAGESI8A56OQcLXM0hY0yDhT26QrOsZ
JEvTIFmf3CB5HYNkTzdIXq9BKvPt8Rh5+va0IYTAY+g7xkh5GWoP3PBOYy9XoaiCWMjBsC6p8uO1
GGpJMxNQXKffLrIqkl1cSEr97AGk1VsNpi87MOMaktRdReIqutfokpm8QMQ0stIy9C1j7ljec+MD
9w+CAPHBoHaNyBvD7mhjQxx2WInMvsWMQFNEiig7VWuVHwQR5F5pF2V3cAwOvLH1gllAyEYax2uP
8lpEpbMI6Tq7d+/52zfYZL+h3xjV9NsiS5LsgUT05eyJfgnpf7u/ecEKmi5ikkTo7hfywD+dr+k3
9j77Kc/YT9uC5IeP4rsXeRjFGWs/vUF3C7IOE/KCnzhn2SO+y9IXBT1Jz8vdB+JQAIU5CdHdz1lO
6DPTdrgb/IZxsornjJVilW0TzgHh1PNWwhH/AEnZN/E2q2zLnpaxL6u4oN94/MmLHb9/DzesT3Ak
M0FsR6Pqde+rCCNflxLWa+zudr9Nj4rFIF1ktfBatljs2rrFKF0LXVMTP9LYpY4idqD1I5hm/Qi+
rB/PaP0IYIrfsnBgUCDbF+X7onxfRuvzWSpw7/KLX5aKL8rXW/laqmKAIhuDcyIo1WD4TLCLK7pg
ReVQcJznALPZFivmkqZn+U1EvxWtpUUtM9DElLjbbMUCxYa3Ye0zgFsybEDh4ME0CccwXlqya3xd
oyM9Tik5hKeCXJUg2xJ4zOfGTFfqk+Uj/Swdozb4szq6wOFvTZP+G4LZI6egG/WA1Zl85QaaONSf
fNVLuucrKVScxvxprqht0pHccj4jAstATW5saxwoPB2UrG+Pr0flRUmLNBMhwcJyFSVTZblbHXd9
PRhUTTNnsIZUAPwynjO5s3a6kosDM9DNpRS6WZPW0g7cwb0k+6fLTTU2Ed0ub+0UtJgF2HOn14Xu
en7PVROk0lemBXRcm4KXgA3LPcvvOw46dqB9cStrKTn89NPcMgJ9G6GaNeQO1eKEvrgn3R2PAp04
LfVctU3LEW6RzuSy5UzSYcADgNh839fmUmYZWR1JRudo4REkk2r5tCF3/KdGyuc4oIdObRScPJZ3
P4RxY7J/yvz+FhaFZn6PAeMWTbJGlmwsFW3w6arSZRkeXZey2R8q/8XouiSwmxnVn64yXZjjEbSJ
V6oS7mxql9C1KUnIMpTG4XkYaQZTQtmOPt09Bd1QIcq9YFgfe6CrAQQBbK0gzYPksWn3KYALePxe
hgegE0+K/ZfBPLC7vqqyLhedMgfV8i19DElR5SVXqPmPBgEX8zxLEoETLkpWYIB1hCd/buN7piGU
nNWhJnYc0a/xIqYfw4r+GIBQMwuNVHxDMGtNwCz0HK+fFnkaPMiv5YxODFQswyiRppxiiEfB04oL
5fYc1FqhRpX/NIA09rG8MQvcWP6oM9jXJzDoGLVAUmagBR6dQUjHAuwu8ghwlCCrlS9WCyWHMDYM
6pixI1D5ZmpO1QG9UUMHYtyhFmXZu5faohQCXRhVTDtT/EJ1bA+GcTS+P+1awRtylovX/CQ4bAuf
QLpAWvXUA1jrKBjU7R64GbSg1Jhpi7MznwErtfQReuSYZxHpdVUFE1Z33VtdIhsp9KIFuyoEt3PE
Z+uWmn6eE+gaNAUqOzPm0m3Vt8eG3mSb7Ua+SnpjY5M06m2TtQ0u1ELStXp1WkddGc3ncdS2s1lj
TslOPrFpauSzbX/TKc/uhc56tgsdC46nj05LWUiB7Q6bAdU0zjZE0thCUajXHBux2SlgTMw+Ic3D
AZuNg/tAbpLtMk6L2zlvgmbc+1UH3+oSqJDn2wZ2f6Ra9LkCs+0y0zeH8MgbrtXuuIyQWzrynq6+
Hh7PwTT7mBk7ULa/KsodOLalgxl+k7RmwY/l4+mNFYRybCopp4RXJUm5cZBuNkZEzds8e2I5JOFa
Xq7O6o9Zr8rfIjkbOf0xam3hmmhGZWbLa8z6/VHTTbiJ9+WOjBUJI5LLTQUTYlt2c7fTCyzRC0ic
kwqhXMV5xBrVlU9VMVk+eTasZFASz5/k13w9AJs1X3lt9F3V10ZYqAs5W3eDVDxtyziJS+7Xev3n
luRPi23Ka1bdiTKKFRkNq0DH0HWJuK0QMvadL6L+tEigI/FDlgkSGuHtz1IIBZlvcwp1K7zIol1k
FQqRxOxarPXQFvgDIGts16CE9UZ3gDt2VfXtLW99layyovzWp0+R/Tkv+aMKyu2zwp6LgUysVfQ8
+DfvEL2phS8hc6ZoekQOvAxTUkaBE1aLl/JfbAuDvqvqw2r1sW8krMRpms2Z+t3HdI5JTSk3GMQR
BWDKTcd3XhT5NuFRKi0dwLDjXnJsKZHvy6eEvJoXhcaR7aBr/+DL0aUA4NPNvGoEmY4pLOeBMPch
nZRZXoi+yeVDZqxU9SndAOkRWg212M6YX1+e62VrgQtn1MhjFR64z1maZ4Ih4ecYTcsZujxnFT85
WWclEdoYhWXIz3MickLaGtO0RsIs7pdqXIR04x6n0fD3leiBqWdMe67xVBVebdJlj2UUpGYnzx5J
t+oyFopNIrEuzalYWDRXmBSKQG2seUbVESeZWDLm5byCzgXXuXocMTmjav2R8Nxf7jdUd2qwbPyJ
8VyumKdbPcrIQ+bz4PiKhBtl8y0P/YyydSjXJGw61ogUtMaLgZIT+0LLER1HL2LrBuzbjhY9EqJ8
yFkpqvwVhTyzD3YHV7UrCnE3Ybz99ecf15uEMN1Rlh4INC27dfzKPbDI8iYNhsp6xIPWQgn77Igu
X3VBfvneLLObARWTTuDpZ1L0m3vcJPE83i0Sxnc//fTr/8qTdfBY3J9PDPL9ieTx9t0v/4/UQTWe
MpxPi2VqlsYqTqJTeLlejiYFbuieSkDRmBdbuteAbVFma3nuDiSC+xws4fPu1W944IpT9elSLTrI
HnSClMNX99/NWisIdNVzjlz35o/SBvEsZ1T5HlOgFnTgTk1GizfY8SF7DYYPBEkpvLqIkWPZaABg
J/s1eLUR4WrmeRHnVMgsykzup/R047EfiLCX5PGHgXYZS6BF/EbLrbH1iZPRe2E7d6wLeaCyZrVi
NqnYC41NntHzBwsUCOcr1SkdEk7Yb3jVlLSMMwYdwc6UR3ZP8jyO5IDIwmOuZXV85WJmeb52rqVH
QDxoGkmAdmGOnWLGlj+mmGV0KMVtQ0Kee0pBvlcFzlTMK1UM2+PwTOd2mbHKGHJzzdbOeAO4tfn7
SCO92SpcG745xUhT+Bbb1NM8yfe5v52z3PJGNQylhLSsqvZ4cpBvXoMM8fPYVxvGeCSuO2a6/vW9
idw61dFYfCvmOijnScNot052P9C8wqXsNVWwUl4Dw4WkK52DV0XZU8TfdqP860JxPT6qpSYlpEXw
eBQ5tE4yHLjBBCI4TDcl9x7odGrB2d+ELKwO4sF0QYFJVg8ZyO0mXzOjWQ5i0wddElnX4ag9k395
G2n3WQ8rmzPzLIENbfBpDm0lA/nwes96eLeKyFjTHG2ashW5be/Htgty95/BpujqpHD7Is/TwyuL
Lo+X6U49a+zu8dVnd9A5tp1lEafD4lIN+u1xnbx6lFyeWlp4fRRgFMuVn1F0crPJ43XMCiNLnT+W
rVFTZagtE9INAo2MKmo3+lr46xnAeBho1DcFYQLa8BXThnrG0Z8zCS15uq1mFGkNSdfRjOJMwgvu
jWKPrzJ2X3W2z5CA3Xvhds7SmWYKBkjMzhSrRr+Z6ZylZ5r5P9o06Kn+57Bkl09v3r//J8tGkeq1
Z+qReAe2uo+AbaHxWJZaBSCPAgiwqgqxK4WRkjzPDjmD8gtI30SXVHEJ/Sc58fpUvRtL5E+POhxS
pQdlpIIwH4vE+P6nX9/8z7u38kOgqV+UFFNiv1vY08nUPpOmlbtgFO4OQdkSNkFuyNHmDz2zzeIo
IlTbWBZhsSKEUlkkGifQIV8rTeKUJypKFxLXHAjyex6mxYKwQ2gpMrYWcUJUhUaQj4asXBEpRShE
EabRLHukr46CUmQcBkOGOsrotsNSMslj3DxZ26YNq63W8vwqZE0Ri+1DKt1j99zkaOHwaosbQgNg
ozxcGlGebYwoXlDVYLjqJB9kgg653TzuYXuXcARwxAqEGts0/nNLWnjCrq2XpbacIR8UqNvKWibK
FPCEj6p1Rpt2OIPYI8U83FQtBKoFgyQRv0FTlPo7bw6IXt0SabYCz5dx48ZkiF4uCF2c6CpYiBg9
IVx59DEozKVbWRiidIN1hqg+W82Lp4L1y4trdS1b+HFANVRcwIbOC6fVCGAv5aYYxOvoqTisbs3D
iBesiMNDIPED/YCij6ztDYA8qZPYBt6Ms4Q0YD1Fbsvq5bsYpFEHgJ2Wal8usgdAMHuKLk1rduFp
zHm/nbQgaaH02zq2rYUjnTcn3Wh727GyaAr52QMha4j6xetlPfVWVL4WW1tLMm7gD4TkRscipJM4
ErUSeGtK/k7Bcu1VVUltkLXuQax1+rhHZJqyvHZzGH9pOOfO/MP05XeK6035ZOw+1WYFwZIDVPBc
b4w37993rc4YgXa1dpx/hPfhe3FO7toMXOwMhot/AO07tmUNh+I5qDUk42FFV+GEGv/yzTWwRwCV
K4gJkaTfisRq5EK0BHmgmi89wV6PgXYfRyQzWD0rkndOAlgoMwRQrC1dgDb2e3B4XAP/Vba8P3qs
S9csy7NdXZzk8065ud5QtO6QSBt0uPBBW+lJGCQ75ihNOhQMwU0zapBE5JFE0UyIsXJR9A82bYHi
peyPYOj+ueldJ/08KDmMMwymrd0fqKw1QCNqMNVVQrNWhQdKQD8LS1YRw7e/oHCUKnYyoZMyV1T5
QcjWMyYnWF0Gr+ONA1t3VMvzUv0BuGK+7qoozZ72C0Rc1LymzMmTy0POPNsZG14KO8gGUMI+dBTc
cdzhwt4V9+GL5CL8SAxyr0hPdbClF65WQV8erDgIbxededbBGw9bdY5vjMS5kFop//rnT/IOBK6W
SXp8k8McTd/e3t6W683tT+FTti1/pxZYcctueLgxVkh9Oezi41A8jveC6Rtpoaa42sCqwtVh8hA+
FWOMw0Eyx4iHDj6vBXifdnw9cJNsKeuJZ1sapRmRRbhNFDPXG1ucFfqF5WlrlKfoDdyio8j/LHRU
v0xbNNV20OegqQ4oBCc4S6op3bhzeVkJbxAYQKYcu5dEgyuWqNrMtUGRnYNEKsAvK1PQ5SVUpmr9
BMX8fdHPGkaLZoLSsZ+/ZiKN0tybvUmcfpTf0Y6joZ3AQR/gk4MBiyI7u879KaXMN70mRdG783gP
6agxuQqY3ggqIHeAe6OOvrzvk3UdA9+cf+MN+DRzPTHSrM1jC2tPBeGuC8nxnGezA+1dYemK0DeY
ayNOY1Zr/HBrjAe0e+jmsorgSfltjzw+c1z+5OWVnOGg+/JYB1GKJkz9k6a7xdmFXbUxIGksdz7a
HtbJOQ9sU90DYXsclttA8TB1EhEGzUCVeZazhTl56l/VsZtR0cxD5Bs0FwKMx2Cs60LCCrSwxv2p
In6jGV6G0XDO+gb6OL6lhcEwIXnJ4Zr8oUGLDSnf8uzrf5IkfOTXyz/sYvnpi3/986f3lFVFjT7H
HrLq0AWbri7GPEyPa3/I75fRcCSWC1Mt6FVbom5cL9CBy3ePonZXm/H/1oqwwlENgNNYFdcag0X5
ij3ladDFg/jap7EYK4rXapbDwpGDK+2KpqKrJI/U4MlZNfOupia+qUdj5+GGLUBVC69dQW9xsbvv
h8vkM8+2aXlnNtYjb1oyhEju0LXQ8d+1Xj+aqRIRVUcZacwUZMXu5REOfU4xazoBQuMgAAHKQ8Ua
u54XYHM4gviZR+E391XPP2/T+fW333/89Zf30rGUyI/f4fPxY/kad69e3dJ/nCBJnNwLFu51x59y
my1PQ331nLzHpBEe2meZrSpYxUMeVwLJw2IlP2Zalo5uywXrBbT78dWmka+ELXcCmMCERDq3yI88
7KI76Xn5j/A+rKxbRWojKAUACkc3UcrZSn4KwANw6vorRZQEeDkQQFXV/gcyWyaa2r2BTCJr8nZv
A3mXs4oszawOa87Vl8czmr1ZkNDLq2BZxFzxIC9qYiQkzFvL1vla2FqFhXGELK+k7GhmTFV48Nmy
tQnl+WmgAMSrYogZGZEIb5c3SbB1YdyHyVZVX9aEeIws3A6zK3tCHueEm/HGvsKd/E5vCGYtNLeC
bcl1djVwVzVyiEn3agHy8QE4Y+vtcRcJRdbZCNwpa5VCkhavljfVuuFAmpIBuGLrBoitIUJ8ZG0P
3/3y47u3BmWHVZPcp8msFKcC19HDXwe0EZYlPR7LfWGQ43EvnjNFuUzfG51nnuTbwjMo66Ev06mq
kFbgTME4r5beyrwz1ogz9+ThMCc1RJEehee+yN8UTVM9cxz+0iylVm8ahXn0W8sq4iE09jhLKGkd
8mAkiWzCcnVBdd/Bd8z1sZhvqS09BfO7BJJW5iHZkH2Yz4nqotF1R1d/Ad6+q420wBfUCJuv5L1t
3bH5FuDtfPt6+K4qFf3v7rAVykuom3p4PimhJS/XrIexiCzilLSt3xhD8l7OG8lj1NYRxMMOfTXQ
KiBJVVbFxFq4rFWGFw0zlBuCrYetJSnf/9+/vd2FA7VU+Db1nPeqQiP3srtd2x+FKZHXKmXKel5M
7cvni3aah1Iua3EMlPq/fE0zgD2bEpAcisZUkVVKxw4oiRSyotWbX6hbqjqa5kQFx+pMhEkcSg/T
NqgKw4SrtdUL6XDA+JbHIv3XDcY/fPfjT9/eYDPcbEgavWGdx//rr/Tnr+l/zGV+T/bv4b/+9z5g
cpZFT68oBsn//vvPP93RX95Ybzb0b3jMxd3LRcbUhsTLVfntLEui/6bmVpZ/m5Po5Y317ocwTrY5
oR9n145xugQRYL253dA/plj/fXt7UikMFF+nFBsTzGnpMWfIA+v6lVILII52/THmqzBVnL0gNTEg
I19VBYPigrrxQjitXUbyyVtswrm8diIo2OZ8JRewaVbGC7l54jt6OF2TcpVFsGURIUgu+CnqqTaC
LAAI5TGllVedIY/01yU9ABZ8rZdfpthahqmgE/uALMJd1uUdnfFJLOzzG/xDWGbrG/z9o8STOR0R
fxRZ2jiPTgi/n0GNCTMdEXlRyMcBj0kDi1Sj4I2otAkweR9rYx2m8YLuRpfgutksAVJ2bzAsma/l
6mZPIXalsk+MTnEbiRgTE4AvTYB1EQLko+9MAJ3Qg9TldG+ThI0sW9vSs8GnzNm1CunxMJwl3CzZ
lNxxAjvDefh6bJWqQlXLGdC1XT1QOVluE3ZHfKa4AvN6xHWaA9W7hTtAv1tg253qliYLvHhK56s8
S7NtwZMw5LdJps4DFW9pCIC1TDQCj/uC3CwEpTvsE5mQXgmW3U1FrZTXCW7XKQ82OweRIHfzmfph
1dlFtukPgJNOqSZw+xUl1sMvNfnpqZAuf2lIX6Ql/fWrR2nWvCYBs3Y4+9zUlr44yDM1iZiV/2UV
7SWoRb8ImtH64lWF2h771Gk7W/i7D/wq4mAfZQs30o8rA3LRSGMtG2Lk6mPqZOq0K7SnmUk1eNEv
3u156fWzmG2NtVWi/P64eiFTB9C1TRuLqitu5Fn6tkYGIq1CgSF9ms4AkTeVHbLF/ps3CvhV5AHe
Pla2XFblBUYkfWIO5dAowyUz7vjVitSuQdqIqLHdSk6xne1uE5R0YWROJJzKFqrVI6hy26RXdtbl
pHUOocjHlxMf+4DcdPeuSnoqOlEwke5JhQQpXjKSkOThevaowpA3sMMTyUDSCm3Q9tLO7zkz2PKD
CWSgpKgpF8+cUi5K1QjwJySWcJZty++TMP24f09E+j2W6rgRUDPeXpDLPEyjOQuMyHkleQUBsJ6I
EArk8Tn8A8aMfcLYUSMPprUmEURCHuO53BrFnmtOQgNv5dJGiYVAcQiOHkqStIOWYApa5NGioGNw
H+yO/gMo8JzRkOm0mLGGBAqrAZsgT0ovbGVfSNP0xsRM5ONrgmzwHqjyMQXZggC0uvu1IMmivsrJ
jWVbD3D9Gi+8j5eszyijguSA3p+WNYj/WoJQPHvIw80fhaxKGXa0YHDZqqNYQe0zLHeQRAGlMyxQ
SsB5ZLB+5IICeYk00H6tatw3T+LNLAvz6PBK9D1XNyL3QD2y1Igi2eF99fNvvJjXLS+vYKzjXU8f
prirOCKF8RDmaZzKF0ZQ6PJ5hNSKBB0RI+p6FPLykJAqsWfSMc/WszglxnqblPGG3cuz92P5vRmo
anpvQUTb9YYF/fF1tNnGF4/Ae5qye3wWYS1KD4jqLm3tj0A+yRMyas+uR2LEayZv/kujKHMSrl+F
RdxY2azJ+K5qj2jj+wwyHsisYOBlm/DtwJ2IiBZJjE3E4zphdwM5+XNLilZxODaakpI27RiBkqpl
CqckThO2RrXV/xlBPyUUtMjAGmGi1tbGIyvLaCvYCopgP1MS/MaOpfhswpzf3phIvkqMuVGS+Sqr
Kgzzctyb5HWxyrZJ9CHfpndp9uLPrpLzXQjFrsbvC7oD33F1u8HmVzfW9yx/ZI9Mf3iZZil5KX7B
/vEXDf+5O8VIYHkSZ/AJjYRS9GEYXlj68ks5hD8L6d+Y3qUHYG+37iqWSofDGXs4GmSoB0V15X/W
oKC72u7EhoW5A16y3+DDutUYEP1iiLYiQYMY+6GRbwz6dYFdibebBM44mLsSfcyhX/Myq2NbYfcN
/SmRmyNoHEyhhgVzF/xIP5R3jIIHaWmgi44WebimNTodv8drwvShRRwuaGfwtZDRZrBD+qOcSUYt
W7k2K2othttaMOIL0FOoWw9Airv3J0etHsjVL4fTNg+qumygAPy+PLfo4hg8L7apKFAwZ0WV8u28
zPI2uWNvIhpa5ADz7p1Hwz7juogjonIrItceUekOWRg8Gk9WXXYEvrvqBWNQ7dw+oK178ligi22S
iAp5D3ESzZl3vc0yGmETEnTASTBHGPSUZWVxw4w7a6pzS5sWgC48+2q+oMcoFI2D0AhrjkIEbasO
KO9pIBWs8ka7V92bYBx4FxPJMEwlgLaVwRmDCOAssEaQvlT/jGWWyetfwJynOkjovlzFvj0NLb3b
zvUE75qFlu+NjF2WeTzjpT1aqLDdqahoGwdrMlmwIquKMiewLKABVLRJABRicB72SZZm287sBiPu
CCeLwLGv7ok03f8NT5o3tmzatuzAvJRs0gx4MzKBwERzpY4DtWv2sPBEByLREEgUJU0j1hsjSVjs
br1X0b5dUUXioVkRK7Hw+1HDohf8Cd+Vd4hhnXrLgwDWDyfoKaM215jraQdOs6p9ntwfGmgHlPjJ
G+dMWztqVQiCCZhy3LGmWZBuUYMJaN3UzHEJ6Lijd80Rh51fw1TURGEZspXrzzv26ttaFanbRxbl
8ZE1W2YxDSkpi3m4Id9w19jDiqRsvpOIr3Lxetm6pmFvdGm2DaZrPStpHlibUqBVD88oI4XBW7Iu
FowKHvzdv33JuVJdxryr3OyJ+V7ZraXa9QxrC2ibZ1LAWozwbYyki4y1f5PW8vXPQv7t1/fnOQLv
WcMr3uyk6QU0RmB6h7zMWBNlrtIVfrOLs2mPSEAdusm6g/yxRnx36qW/OuppKD/3BgPIOGon9mqT
Lvv1EHuO6tUxup47wejKzwnO5ylwbyyBZ2nyJGpeizAP2W2G63+WQsfumELv3Tz9E5T0KDsVlzTb
Jbh2c/PIaEnnRmPu1iwFhUUUUatxJwbpHf1nuZ2A+s73Hn6poD/TfdvE2rGru/Bdt9UqZCdmDuBy
U+0puxbs8vwbc0R5VNTxEkXV67sjSlnIp/j5kNPeqCnuX0Rq8vMMuqS0LiaZtkoc2PamoaJ3PZ6e
4FXrkzbWLXdcdEXu72igZ6wb2LvITCizzS67lVdwv+jyAVgwzGsQ0xQiERc2zDtXVPWEha9T7q0f
3TWiTGZgd3HjZDNQhtWXVe5YEhepZG3trUbd4bmwK3Du0NUi2b3i9LwbtIMxZ90xiX1SIvoPNffh
VxfuPNFWbtT5Yw45Ty9e0fUmYf4K2W1u9xBhjC5E4u4yvuMuZgwCT8ZRXmXdv9jSeIl8x2kXyuye
5DmvzVDLdZLfa446i/cVa6XpLXhEDdhnlVVx3Dy6oHF34TveJbWwsYTsE9yGK+i+Zu6N9cM2T26s
t+yBN9Z3tTQ6+lNPrW/EHAFuVG00mRz3tHyRY3068sJHu6sPeR66FVx0JPWmep7szzzRs9dCrEni
+JolXp8g/qcicav/sWxkiRfHIrdta0yRe2OL/NrkPN7x94KqXYZ5FYugjoIBVYwbXegjafdXEyi2
pnDIc4dZ1JFK4qLsqBTjossOsNrYqswgjfNugvk1iPW9Kfh5yEBmavPZfpUywBeWwVefvQBEhafn
JQbpQozlrQKsKx4Eelz9tPVQuSA3FfHGDJ6lLg4QhRlc7d6Er2B/rmrP0X9m8DmphUIkX30ay7TV
u+roBUbg87MOPh+O9/92rF/H7mNdTgC3t8+Leen6Yssr+JpXJfpjlSvDefZpql2r/bfb3P3Pacp5
7KaZfvu0x5tZbPyfesFpM/nEXx+tTZ/AyuRIe0iDQnSsy3gKv7r9jJalY8Y3Ybn6rJm/sX74c0vy
pxvrbVHmVIE/b2lgK0zpg/LPVAqcxc+Z9894Pdjz/2VJOBXIl1XBvC1XcREX4Y31PRMJC7cPC7KO
51mSpZ+7XOj7/AvrIiAUxmQCYuGnm3CuNfyhl3zs4VatKw08NyEVH8+EH8Glevu8BmAMCVzDxnYd
Uri67e1KxHItm5x9BXdSt1+EcCXG8NUI4suyoZTMl5XjmdjJVyOgT99gXofJIsvXJDLWpAzlba0D
/ZTk8yib80KBaVlV6jPak0exZ+kno7NIN6RlQW91nSVb8mpeFI3E+JEYbS2Jr1/dHrL8o6iUsG9y
2tqrKRhR1BUt6/AjMR5Xuawk4SQCaO2ZZY9FQfvMsiAVic8EfiwOxXmb1X5szx5xrEXrCUpBo8W5
PwqfuzGV8AlpRdcDkeVnq1FhNSz6SrfMw7RgWwar8kkJkQjatsZRqG0qCspWDcX4msYmFZpQ9Coa
8ERqTh9e2QxplnZ0T3e80eFb1jPfQ6PDx+l9mMQR/0G+pnoXMzdbk4x3AQb13H/OBX3n0kalc03i
4O1uv0jkWCIn/74I6ERA/Ds7t63Ce/Hz/sT27IR1uuRVFd86bElQuU7nk0j4e8Hlcse/9qoHd0Ex
qLX30xfQsNk9hnxKmYiwiZ+jiMpnpEXZx5hVsi+KeJkaUTbfrlmJKkXDOAvSObcTbBYWpN6pWGrA
grKmu5BqoiSlERrifXl5NFMXZ2W4lNZPMl09CPFc3tpIhx6I70a5IotSlEusNcmi2iENWwXd78OH
Kk7TbM6U8D6el/FakFF9TN7IRB/nhfGQZ+mSsroO49TISdXdklLH+nk3j5mgvqrDwE9QLRODakVf
N8M5YXXPd+uNdFixqUOv9ktatiGp/KgMmfnuxCtNF94izsVFQvlUYVVFiR8LOmyPEmn6WrlU4Us8
UgFo4espYInjx9fBabmK8+iYP27yi2sbOlOUdU0DD5+F3ygif3X8bguSGyHv8C5VaATpMP6sOFZN
Igtp1eQWEmTzCFTG5vnMI/nkeY6qRDWFWfo5+XPLylbKgyA1L4LxesMuWiTNQgbgsK53//rnT7eP
RWG8fffLj+/eii4p7H3ecpEtfFlOxFmBr4Ntdeg929NATG3TOYbeUxXO6W+LLG+pNo2sQbOnh2Ae
4jSi+7HK7IAle2mUDSOEtLW6sSx3TAlRRRHgBjYSck8SeU9AUEVNDUSUmeRdecN20Al7OEnyQfG9
McFrUpBHJjjOCPAnDaA7ZgrVCVMvEfWxP5KH3F5H3njw6gXVYCVVmc1lzFdhulS00AysSVaRaoh2
JEnPUYF7CTFJw5VMy59wcSWkZePRs86DxdI1l3zLmlYyXdtO4NvjyQe05+AAQcx6bygJ282G5POw
IHJ/ZzABDVIjDdS1sydylzoGnjMAnPP0y76djPCnP5ZsThxWT+HalncgsTSC12rZx1GUkGrU67RI
xR+MQkMZ5ktSdqJj5I4t/1VOFnLp45Gh5QG13kioHaruWjoHut7hWCyxuTyuE42iXRL4FiqQP46O
V42kSAu0P84MZyHT0smsU6XjlPnc7ukSsk25841t95tss9230CIt3d1t0x2HdU5ATsLoia30AEq8
ccagahQienqlTAPFG9mpTSQtMqd130mzsk39YZEp50uAD4Lc7zLOfNuzaaxIslF0ltO6qbbM7AB9
EkKdZClh1tl3P/306/9S82wT5uw67NCFr+V86Y47d8tVWBpUj1hEc9EkTB5U6oy5lxzEEbWc6SzX
HWlwhNlGwfdeANA4IVg/x2e9yNZOGJtkywyPdk3x7HE0pSaRio7aNiiPTxhpcGqqsQo3/JwtL6gK
QPfPH4W9riZx+rFzMCyNREgHg1PRNRQeyMetoiMusoQ+OfrfLE+i2zDZn283Od2o8lIRoOKDcnz6
gJZZ+bRRgSJtoLOMGnvtPMKuV86DE9z1j0ODoc2TeP5R3bPSAfVnAUJVx8WIFGWeya0MjXI8OqWx
xDu588vSBqg4IDLo8rHssywFINwoLjZhOV+9Uw0igmUkAdG6IoosUO7PmWAd0w/Zo0C2TEGsD5FP
Pjlftq8PJkyfFnFSD6C1TfsvlqcPYZlkszAx7sM8DmeJYqhMfdoRr8Ml6VIN09eP16IXSB/c3oc4
nfLXIadR/nS7nlG7ejKhZjMW4tmF52rDqxrAtx6oPFBb2+DMTWgRxom8k60+5sos756CMF/c2Yjq
8bM9nYCskM10+lJmm84VTd/sY7GNf6Pm2DYn75S7EAp8fwT9bGAb9E+yNKoMfKm55uvbPEBnFwuU
h3EWYEHK3+M1YekfO8+2/O7CHxFZaHX/9D0gLvtq5GQrv/TFyGvnEX3rBA2sVczWgKNaJiE9wURb
Pk+zNMnCyFht2ZylC4UshH8MZVYv7i72JsOjSwMoOUKFdohMYpfaRz8Z5JF+Sjjidtd+x3E6jJYo
W0tXEMd2RyDrxkTf3mD8w3c//vQtax4hqiaJJDaRiXbIw50RkvKW5WFEolf0r07sYNsyJxYcy6Nd
kvK7ks7F2bYk1G5mRXmkLjTsfBGfRHytKocBdo5jXrvMzqawS2ZFTeXkgoNEsn3mgvvlvXyeWl9E
1ym6LFIkhkHOsV+Ep9I9H38R30F88dl7bGB9kZ9Ufm2brG992WSlQuvcZUFpoZ+75BRLXWB/kV23
7BT7LEZfNgqY9OTah9FnvFGwsBPy0JZoCCo8CMSuhwbJMqdgOXUYEnqsnaIyU/5OLjdIe3bdVEoj
J2w0GSFCSIc3pPMNQ3IiHaSFoI4odlCxjB6kNJVlR1y7bJAFqRClhSBYLpHno6npkV5xQULutZDR
mXDm+VopackjPTM5PdBHmDIf7oRCSKI6cu3LCaxrNE07uJzQOjPYqWU3huiaSn9uOqrGReE8qbWm
piITEkw9jrw6lw2Ne97ZIutUNNMcMkdZDwiW1sBl9o/3v/M4WmZvG1kqohHDKOI3wj9Vn5QvFLaj
g4ha0B5L4fnfuFx9vy1LRa0f09SLKYKI3zDk/qKwITeMA4aDHkLykh6bFMMQTCySNnLsQfbQkSj+
/fNPfy/LzT9FVRuYTmLdwtjr5DE1ioJx4w1ED2FYoGskFT3HNYWOEpQ2ydNJ4R8ex+h7I418u/pb
00m9jRDLt3Sxv0+8nCdZsc0VZhokxMrBcL5lyOqsSgfkd9YCb2D5TqCFfwa7swXO2fxAccHn8F8t
NKrAq8DRC1fX8h78W5C6L72k3zrZbdAao0cMrZPd9QfQsY4fSfRG1F6+rdUh3rlCqWXYXuLRA+00
IHhpKlOdphaHmaOLiFmSzXZ2ekuQLiQl9UoBDxVzoENs4lGHuFZ/SnVqRJZ27qvDTqvUbcechvOq
urnMy6htdpP1pnziaFWuZtuYj835KTG9a2XAaGC5LsUTXXLX3VONWnHouePGKX+fGOE2ijPjPo5I
1j3RXd8addBlVMk9xz0EUdtI2aFovbGPnur+BQXYt23tEp5zY7FtEfHxNFKdy6snYM/Wjy962zV7
RlrOWAK+7B41oZD3UIf9Wa1cjulMw7d6b7ZGkPwsU6UkeOaIcr4SHZtC1gfueR5j+woWTMQ4p0Vx
dTaAgtrJNlvzIjN/bJYNn4mL3PGE27HxuvazFrCc+YOZ2VI+xkfTcK42M0F5ZI51HgnRdr1+elU8
LBqeSUcX2J410EnGcvQzKZOz+iSDIelz55Kg6oAHCss6T8yPqxwwkyG17U+BT/zb4u6NB6XlWcLa
z2wySoQQNCsIoriNQmch//rb7z/++sv7v6i96yd0iJ4qByIkHQQGsz4tuEq5ojhnaeGMMHaBy74X
cCvBt0edaQry1DYDyINgdW6dHJfJ/TU9yfJubsVxOzfbtnradcA2TucKbaAROURZIEuygy6iKOoF
Gtn29WiKbGEfSU/G30OOhqLYjcWXJeXLkgJXFpCV5zvTKcopadMuKSetRH3zIiuKqOr1dxJGJK9+
MFb8J14Hm/n35VWxzptAJ62djlBr5VOpbpZVobFX82XcDFgcj1Puz5fucrZzAVYxGo/VJZEfb1xX
F6aaz9e9YtB6MsonuZxVUz+rx/ibrCh364uikOgl1AqPJ23GsVzY3nObQIyVn+npLVyS2n0rSaPC
SLdJsoOV3Xaavi5cksT3JH+iYJGiaraPNWHV96n5vcSQHORhkiPxCbIWbxtJW3iMpYvNOL0Pkzja
lbIsV3n2UBjkcU42yn6Ylq9rQGsByqyWj1GUcbLTKrVCeYH+Qa5TUh8FRotiDMxAExWV7LdpuFiI
7sSzJ6Ot1bZv4jGh9wUy1aWv/UGmcZ2CqpGLerQxqP/1dc60goTrhKLsXxj1wrGK9BgIt3YXYM1E
/nMbymM8IR0GrglpL8Sq5CLL6VX0bPdAyZYqxMei+G4bxWWW34bpfEU3crbZ0dlgPNDfHypiYXnt
zEAP9EGwhNJQg9+mpJiHG1aZvN4JqGFHIjSBDOjhNYlTIgpMC1NgvgoHpDGcJZl20nigpbx+pDm1
aOQCsacgo7a3/eufP8lvkoIJCJEXQHZHni3tcwRrmiN8u2atwPa3G6pZAKqe3YNjduww9mS82iSv
/7y7sd6wd1hhAfre3UuJk8XkTpYbE7U8f//U25c31rtGzwHt/BThYn/p2DS8Ld0jJvxf8glqTTBW
OwL4kCmHCDQ+44/NAat1lJCte5Rat5YrnVTmxSfVQX5suLDc82+NpyQQfFCiek/8nIRJ8mRMvKIw
OOvCslbgQ/Y751xeR4XSuS+cx9l8RdbEyEkSsqwxufkSaEaVr262blGCV7feW5F0VdOkEvMs+xiz
S1ZW6l9lWYIKczjTbgn9JeeOwkycliRnXibKRpjQl4YQ7R16wblakzJkXLEbQfLnNr6/u8H4PSmN
N/xj9Af627m4lmO/OiD9TopSfOiOlbwSn7xtcgZLkIDoRB4WK+NhFSfM5g8jViycclZ1MgtVJcpB
6b1nCfYElF1wVjl/d1zE/4X+2khqDzQN784zXxgPWS49+mJbF9T+hKU4VFo2HkVnm8BiBlZl1qx3
QsrvRQV8VhfmDbUa32QR+S/z0fG/oV8s/uWvf6V/dbv/s2ZbU92C4h0G//77z/IzeGCOLK5jeCG0
eL1kVejy+d1LnpX5Lc/KfEnfy+iH8yyn74PF+XISKWp2rzhj+JteU9GyhTOObqy3dO0Tf/dTnH4U
CyFb58VvbrAl3qrWiOrzTOY32DdvcMB+bb17I3755jZsChnmzuonZF3Oo5HFfKcQMnv/wMK3ZywN
l5S6fDn1Rl4fjj1lo6ypWNNmT9YzEvHtfc4qx4T78s9yl7yDR7eeuLg4WdwiisjdLW+2layyohT2
3yLmxmqYsBwC+ike/yxEJSKjqX3wED4VVG5MiOJhEhlCmHH7y1AuQUcP6FkSZNbMt6yI6y0j6caa
MRvZtb/57e+//DFfJw/RW2c1+9v/fYreLB//5/eH+zn+5Sn89/fmb8u7uy4hOvqF2O73tUEuMY0i
TMM1uXspcmTYhs6aW9HdfLOha1rV7NZ4ILOPcWmw7FojJSW/Vnq5Mwj6nGL2OTI3pvOyYwwgbePP
G4Pjgmfy2zlv2lHgkmzsQLsr9lfiiv2vXaICHZLOElX7Td2no6vtTti9uk6uq3Kxo89pieiUuaY1
ehFuHyu3IZJ7iiba3KhNWVlG3LgUS8EN9ujBLJvT1aDa9+g7rVaU72mXC76wXLydXLzrkoslz2/F
U8iF6cib//dhFZb0hJv/fyem+PniCTQtYYssXxuh2u+qC6dLaxgdzIrmlCjuTenv16RcZdHdo1hs
4nSzLXcrXbGdrePy+Bd8SXykL3gjmbuXvyVEeHbZX9BvT5Qm+u23H395JXN3OJo2zgXbnmf0APHR
aL0acH3tW8a2jJOY98ts3up6tj/K4Dad6iRlHaaNgxx2LmmZo/3koDW6o/28AWTxjbw8dUsPSZBc
vUGTRinR45XlBvuSYz7zRdGD/g1+w075+28B+8cW8B+UR35HE2c1gVY5dt3WvguqeDWSWAWVlaXU
eQKQSA6UZdNLciljYUXoByVJ156vXReHLyne8P3iZAO9/ff797fHGyb9YUO//bgQ6zwbOkIOvVqq
eGG256SiZQv98g86sO8r48UUT/4r/xPewYV+Y1+p7cz2jO/ev3/39hWD3MgmiqV9uGszJInTj/Ic
x3GniFEV/UwjqnVlvHhSzRmSrOPo7uDDFZMo/Jq70A9vf125zmuNdazvjtzl1jsub7nT1gLVXDxP
yky0u7Ke8kowzuVWofBwtXDuVU6b8xvWxeE8OWYzdp2vOhx7rnU5KQrSBp2YxfIS0vV3/5h1dh/z
s3Rla/axZmqnaXG/zgasIrcxaniEUeOpFJ3mTXAW7km+G2jwJrA7qqV0f8EvSJGb5ebF7bljF81Z
SvXIymkVO/+M0rQDnT36ilhuz3nXYiYPvwvTpaCA44WDxt+BxO7+NkvJNOcK0EENwNK+YEdbLBk2
p7FRj84MCu/qblpWn236ebBWwZw0kVlnOTFIOs8iRdEMWP6TP1xWP/7wz+9+fqe6YrnB7g22HrFz
Y32PfSSLTQH5C/2+giof4jnhr7i05LHPloumEdaRYh3HRDC74fYGO+Z350ZHtGkh0qUGMOnKHbWg
ggLjSncU0fpTilYeDxBcg96OINpR14SDUKP+cSq6pXp0kr7BHqJSZf9H/Dbm+93mfeKwEiftxj01
HlF88t3Gv6jIwN68QK9kspTFOBt/+/5/WnKixtcmhl2Q8o7SceL0FATe3bzxfoVIq3VSglrxnC07
1tXwfqm+i/emUSxKg+C/7oY8FaOQm9mQ1Kn78lY8rSFAvauaOu/+ItOR0iLz77K0g1MHL90yunRN
1zxdL40qhLp9ltr+BWbpPuqbfkO1YG/odO0lteAcJtBpkWVQMEJw3sCwsMuUVT1Rjg7SzphCnw8j
8sa6+c6ujcn+vn/3G08yAqBkp7PoFGiNUXD1j0KapcZ379/8+CMfBmxEZBFuk7L9lAm6Lek/MMdE
kPo4fV2ZotT6xF/vJw7Gtzc+c8B+r5g03PbsE5JxFhPmFNPmZMDkdXP8ySbOlwE5HhDYBLLNi06g
l3RwXtZGy1ONktenltB5K907fOPjm+/eNIbKG3uo5DaUo5/DH26+p//ejsUhdJZefNTrQ1Hm8fzj
k3xyWFNv+8wKe3m85cNuGJq2WPB8bLF67SiWmUhXi1IEikjjUfElRuWgrcyjHHjiOzL93QtUvUD2
7oUrXthm9T2ovqPnbTqfhJMcj1hnAozjoXF3HGmkyXlRJdWtgcn/54bVj241wo+e23jH2r2ze+Hh
3TvB7h1z96JSkEer8WR3vnvhnD5n/1fY3/357q/M3Ye7wl5sXQt9uwqwsAZ5O2fXeiZjj0z3ZKIj
//SNSupBcDrxd+OBED5ZChy///JhMZx5tnmq/bhbTdrG3J1mzNsSiQBzHlEyPvM5b5p9Jr+GOQ+T
fev4y2c7/jLqelf67sHG4wx2uN6QnBVc7ekkv/hASwNFb6lYWfxvd7xo4Iwj17q1hOVlFexnMIl2
qosEfzdmcCppKuYb07ndF7JoU2ITjy/sT0uPa9K9jB535BFbz02uN6YJjiUP0DgypSdO1tuyYC/k
YjWfp7pCZGqOI1NVmULA/du5slRCv/6z8uy8/F1klPAvLEKffYR9E7UNX/614fkYyZTrCEgBdBi9
LkVTh6+Ad3zbHGel/DKR+7FWz65pt0YBHTkoJBruH5Tk1DA7HXVmzXiaCDySSWfBcdO/iFioXSKC
Vjql4o8glXZH8oQSEYnKjeJ6Z2dksUBSl+o/XdO4L8j6vjNHy8YjCLa9DvfFdM28nK7J778vtxZp
ye9DSKegNiQtjJSwbs9plD1I8/tA5100ao7K8KSe7vgYGBPrMGH1LUhkqOqFAsI7dWkYvxG7LfL5
7fEFJWKLkvWmkaipWwT0TWOTZ6VI0Kka7En7DIFsN406NN8WZbauKLr7t0EtTOO3PaUsRB1hy3Zc
zw92r/To3UVT1bGjaaqy8tI8nZIXmKYbJZX7ChD1bQfjrK5sHPd6z4j7+lD5Wri7KhpZpFFV9lq8
b9L9+GtKrcpglkTPy+KPkK5tQy7ZR6OKgObN/aS2ke2iC4n2hLiGiCOSPsmFpmuvSrP6MtOeimoH
1uhLTRQXPBf1QJRi27pl8/W2dWcCrcoYIqO0WVyCuRHUncUdRw90VR8AXnLT8009yC1jxLpDPBlV
F8M4KkTnZBbQcjcj9DVh8fsnRQTo8ful+OHlRCUFBtTw3FcV2BUNZNTz1y+vo8hod9kDB+QY6KOB
rYehL+qnoSznpdTvfAKnVz+p0nn2F6UbVJT0mhc8mLp5WtWNUl1VR5DGeuhCO9G3A/g5GjdIuI3s
cVc3ZzIoHqHpW1qHDFYL20HPYalgReDPqKCtLH3kuLpFLK1Qg9GX5XfkBc5ydc2WDUlrvSNmWfTU
s6JJrzGlx7oNHdSnQ73fk3xf2LXA+dnSZ0hHhOavwjSiFLVUGLIsa3S9lyaYD5KUo1FSh9xoqbvA
HussUGzCFFilAP31xvq+KYbAuhrSJM6dwNY4SNWGqBgk3/amkMR+UeZbW5/lUtRney3Z5Sz8rDho
kI+mIP+oQJ5m+T8rBs5vhkipt7qph9SEdJB7FpiOmpCeq4m/auc2CDeLjHm2Xiua0Dkg097SaTzs
+sf9F/7r6VoPihIfRsw82ZZ0AKiaziPm2icvduRJLByL+az/j2GcLsRoMjKdx6f/zJJw9UIlRNQ0
HHSRd6pGPGZFaoJ6yJlMIjJpwK0s4wa7f26zsnFHY1+Ugf1wQnnodcd0JfTvckYWVaKYd35Tzn4K
nGSp4lR8uUWQjtwNdiz85cuwL39t1JIeSYnSjK0fpDDKcGYUCevqzAsYyXfXcZeVPTFCw7ib4sYM
bs9eFl/wPxUPOL861zBBylP0vCkFh/psJednyveTEydUumyZl7dDdnaSwcLZ2S/Y11N7xLoSMjEn
85Q680qoQ4w6PBJ1J0ol95GZF9sFe803R7NoWm6RRjqY8Jbnxt5/OHQJCjSdH2uNBL6Pl05LGS1d
lhqgOiCj5IWiU86NjzoDjLzxZNOoSWwgdxaXxjaNlRWKbXdUyRkRkRACFefWNFmOUrdUQUdNW5NU
e5a+h1EwVAMh0gLl1/SUllw49uWEg80bP1juZbTr3j61OoVRxI10arDPwvlH/rpnTa1BsqoR0mz5
dR/mX8+y5ba4sd7e3jhvbmuZgSKX7fthnUWHiC3KtizKU2mGXpHkWFHFK5Jcey7S9YjNNK9KbAW1
e56LwnmXl1xngqXljb4L9E0aub1d3ZioNWXJDMaQ2H1Gz2SKNgeWO7G89sFCD/QR5L+qPtz02/Fm
ub9SY9kI/Ibs0DFCKT5kahdfa+6qHVyxsp2mqLZLDjJtnLMkF6dFTI3yqq6/9EjlgKJ5nGE22/4O
7A2/A+Ml/em3R156vtIo8ZsX6iYA/8cwXvyJ7wyDV64X5arCG2t21N/Ip2/0yR5TdApwrJHHxJIn
HflTjsmJaqNj4ahGhI3FoQ+Dpr4LA6UpFyYeXZgqpWVXToupdFXXRK5JtyO53ZxIsAf93Ce2tx57
sXZB8GipnERxrvDYWYGnWxgcjjWkfr3Nk7s+fSu17WQqaVsm/osxuRJoyUwHeXPPUxIe5tNZ9tc9
T1F0xPnY3ji8ttc6dZ3pGR1nUKXsgZzfzvTxWuex17qmOc6XNe0zX9NYJTbcsxXQuUKSwu6LxN2y
InFf03/h1+y3X1fF4W7/2usEer4U5C01kTOyFCygFOjpstGTHmmnjULugsb3EQ1/FA2HxigDYMtr
V409AHYtlb/RnApjebjxIsuEc7h5ouyhnfRppxlyfbZ0TY8BDJVspGCZC2di5fP9DtZS0nKcc0ot
eYIv6H0Cz2sTqjmPkKV/dB7icnV8Sdu3XxWFdgdCS5dUB8S1q/+muuNymn5zrI7baXwxyjl91lx8
Z7XZ2Xe3+s4qqvOfg+pns/puV39Hqt+j6nv1HFaSvf73u8+zeuz8+0J8d6qfHav+HbvYPP4cDo7p
3L1/Pr19ytgN1Va7v3dpIm19eSMGQwzB/isdhq3pROIr4l99/tXjX+3DZ4jN38H8a8DfEa8d/jo0
brZ+ROgfeyH7tbMwF/QdhMKbrevhOf3qWDP6PlrMXrabqqC84KEj5shTD9GoI/ZlcGCDYxTbPM+W
YUmMTRgr2o26ExDS/1ZEv5Lw/eatb9GhfvsWvesI7/G/bDf17+NvM8446jgPk4QHC8lPOO5FVHEa
b0QfaWXrdSjNVwbVYXS1XJt9c1bdSnZXthcb/WLhDtmBfBhjcILNx7uX6EV1v4denqEOjC/UxddI
htoiTOdPrfGvJp54Ft3wFS4BXFeNtNvG6X2YxJExTzIW4aS6H4V1fNCja7zh/Jvqxn92uFwesvL0
ykz0+otzHx+s6CSMQcVYPe3rNbpB7WpmjSMXQWR3VJjjTSqW7oJ2uLMgwMuuYCccjCpTVk6C6Zvc
RWOj0QVaCxJhs/Wrr75i4mhM3L0zlBH87TeHRHG2h3THjIFu0oZLUb4tuBfQyoakmnlYoLKFA2TS
FWPt2JeRS//qHYDYROyPKtT2HhvoqpY/QDUXSXuNVula4y6GadamrvgC0h2gq12KOu6K2B7WdXUb
tXn1GzUrQVjG9+wqZ0UUFeFca0qxfk2FyjIGDgK9sb7Tp59oVHEWrHIcCwgR7/65Jbm8EqF1kUW1
WiDX4dOMfB2F6ZLk2bb4mpP5dcEPL50KCXKOaJCg3K1qXkJsx3edXRLyxzWAtozWdZyGiqQMz32G
BpClsLdf1EvpNLZt6/kw2sWfvI6bttV/urF8PdpI+n2nTP9jgn89Vu1LLUeEHjIsVzkhRhmvSVHv
MgpI3AfF2fk6HZeiYSjUfQmqGNJHYnkYJ8xvWVUTlDpBPND53dflBFF7LitfhxlqujxB9nXw9XiH
vnom/9c8BNh3plFsq7+/wJ/EK89+z7KXdhl4Z4n49lYk7LUuuvY0krb7h7ppQDf+hU3sy125U6/x
t1/d3tL/dC1Wk5N/e0PwjW/ehL4uFibaxfp7XKaZ67dfsRmuTzNc3WLtn6iiRwHDMDxkedZfb8KT
7E9NIgQdXgC8iVazIpORqWa2FY3qCvoq4Q3RjbAoKMnS4G0caNqPWPPSRZxQwRqzpw1FNGbx0pF7
zJyJl5VdoN7MvnEWJzFyL3aFhxi5L+pdT3slofWSFKsnawgHk6Kz4Jk2CyQprZUMIyebROqbw6an
a1tvUlD8EStuWUx9kLXelxs69IxbE0nrYtr2hRTVX7QoarGKF+UHKimd2qojjRHk+wxOxFUkFGFB
cqoElnwYbFABDelzD+mJewRjn6p4lBuIQLmBrSBptu9Cy8BezZfx6ZHaHyoga3QBWQoBWdcsoHuS
04lg0JcGSVkv2eiEfmG0WD2eTqdAuCS3+1BOI8wJD+wkEZ0L1PzLeZISb+H7KN1jfez3xz1ID0iB
Qff/zbZs6VNreVOSs4jzooWaAHTVo40ausBlaaQmB/mgoBVt9JSrOG8hx/edCamRTMjA+4L/Bf8L
/hf8L/jXio/ML/hXhX+/vKVntXRJjDgS3sINSSNxqq5Ikm72kDYMMrBa2vn90tgWxIjIojB4+Rf6
TqOYc0+YktrtRhhlm/IXlj42zxUVkAPH18EHg5OQjyCFuk+fTg+1t2FRxEt25KfjwQclISEfFHUp
Z0g7HxnUgZE6aBKmqtwC27L1MMWcf918QaxKGdq8KIwVG5bm4cpz7KGy2j+dvjj1xFjDCDYWD5Hk
sZBwzNbHYslDIa0pZQ8VDTWilu5oyPL8fs/mTps52ZS3m5y+vt1Ha70WNQuR5/jNQjPuAPVP7sk+
m2YfRillyoYU5pXBbMuFzzVf+ljHdPTI6uYtuvHtm7fmzfcm/xrwr99z6f3g3bxzbt4Fdzfv3ty8
e0df9ajTfErFgzW/fSCzDckXt+Fmk2f3JLpNw/t4ySvfs2gTKtVbxvUt61v9YVf39wO7BJCuL2aA
+tFxmJ4MaRXmKSkkpYFc0+ozjEqEnGyyXFI6BYM6qLQJ9ABXvdPKl+P6rk7BNZcLB3m6GJrRHebj
hw21fT48kSTJHpgqNAU4pULmfC+inH8gj7E8ahWbvjUBSdXvyAe2TcbpnkT5dozwdCTR333Yd2dv
ERTyTHNaqnYlmN5kWzqWaZaqHIrutHSVTxvygRn0iyx/CHNpoK8duM5oE4sr0Ycs3fJGS5JpBqqV
fzb4Mick1YSNNA8HSbdr6bEGIwddgB5qc1TiacYWQq7e2whSD07vFVcHmmXakEua4aLOPmxych9n
26J1GcU+aAoOJYd9MsvXYTonsHXUD6ZQSLb18T4MUhpcSATNYBrEGyCpYB9y2z0CRVkeEWnCmh8M
XTikM0e5brqTaGslgHkSC/uorfT4KCvHmpThEW6fzhsI6xGDepV2MIYMhzXhumnp4bkg+T3JW4ee
7pmBLub3OKw686572l1fSeEpJfUIEJVtuu64opJnpVy1/LZp/OeWHO2M2Yw1JVVYaKiPtpHZIkvL
20XlXDfYT8bDKk5Yg/RQ5epEJshBpgArqPFthCuy3kM0ffYI25DcFWQ3IIps/pGUXITF7eppFotw
WXZVQO5ZpPcqTKNEvlsFbqAJcxZGHKhYhR9b3OyuZ2oELLYzHhiXzVmtl1rNF/lVBchp0QubrDdy
76cdjIZJT7ZGWMzjWDqwkOqvMNw4DfMngx1P5GXOHF1AefaRpAZzkPaOKoEBbRcslCv6bs08BEa4
YLGcrC4VYXNmti3k6d0+6LpjGAHyCx1X15wR9psaCma7wpCYOGeEruTEUDl4fZCbEg7HC0TSNcig
p5giS+XC1KavApMvsdItAyG9SHS679yBRkoejN1WL4+Qh4QNgsBrV107MsRhxIiVEWCurWtgq73r
wzrcvCofy9OK8b6pW8QVb0yLqO7OibGcywUMKb+JnB7QItCUWj9sNdqEuUq/bEi2KYiCriGGkuQ5
7jgykc8v0C0VHG2bssvR/QekDIJ2VTCk9ARpQ7r8wTCy9YYObUGivW2kjtmENPmDoeZZURhZHi9j
+dJk2rq0JCKLhK2GQkkZuwbLX8/SbLFQ5A0Fo0DvqjHSqUF/LOW2NsK+Pwp6KyoGlW8CofJMCh6E
kmYGeSxJWii2n8DUJec9jNyihxSmA+FQSS6ZR5jOlcrg5bKVnzw9O9AP2z1FHU8/qppLar5oFC5V
04Sky3JVKNYEyEbuAg2G6gy6YiFzLKAtp+9la36VLQV39IOTPM/kJ25IqP6ZYIswTozZ02FOFsaK
hAoHtQdSo34ErMNHMcry9Q+SWN4XOS7WYTlfHY7Hagkg5I43Bmt24AnnLBSnjQTTtMclASIH0zJH
I4JuEZ1S8NxR8emKmlYpk2oaYHGf/WlQaCDId9kbdbtZ5pThVrbHm4vU6GShw3R3YaUd5UuBM94M
fMhZRjBA+RxdJJTlJkuTJ6pw2ceYSHJM0YhYr+cJCfNGKi3WNbV4ZCGFuBfWAjcc5MYYJCkOCFnV
iqcmUZxulV6OALuaEUUhLKNlE7NMyPHMOwNzHRYf95aYwUozGOIGSW7x6oYvtrODC31FjxJzOt5y
Q8mxAeDY7AdeyO8nkCZEXiag08YGVfCC4+3YbFmFIF5tEOB6m5TxJiG1bU8u0sDSjdg1ighbujDp
5lZDU5wldOnMvjIxnxNSYXq6ho+u6ku5j1yX6HIyJ6wqcJjn4ZO4gpCebm3L0Yw4S7KZ/CAN8RMA
obi/UnnviExIcCwQ6nDzfgBt8YZbgXMJaGCAyCnwH4XBEA9ZX/t3qF13HGveE0HFGtv0mPtFbl4g
z3R0Y2Ubtt0X/Td6jABwBTWGj24Z2/3aNsTJfAZw+3RHDqRSPhxONdcRqKwcHEd5405PtY5OoAUL
DWFc8QOGfBkbCVG+PEPuvOBgIsLGKLOqhNJ8ReYf5ea9qxO3XOUi1aN5WDI9jUDyKQapZwmEYJa6
+kbdC/SpRmm02j2g/pQwqHjNzboyV7lMMaRN1xlY8onsa2OoFjejcMfp4qfMMlGSbBM+qZb4AOla
CltKNSNQNyGMQShHZ1RFwAHWhsY6sJLo0JK14GnvfOtUR3ZQdbHHpYCyXoRLha562tjPE2MfaC69
IQYd4KBQ9EC1rwqqzL0ObPv/Z+9ae9s2mvVfyZf0BYIw4f1SwOjrJA5S1K2DxEWL86EHlEhZbCRS
h6RsOb/+7IWSLHGWXJJLiooX8FWy+cxtZ2d3Z2cEQhb16+Agj+dojRuJduhEmsTXk3146GumLRqR
xCbsRiEa173WZpAVYDynzlxguxeLvNLcT+9Cxu1IVRcOui1HgRbj0T3jsrmji1Lm9zBNin1AhVUj
TdMNUXAPSfotTDP+RDbX0AVDH2cBHRPxb7lmgOv1wj7ytUlceFv2kt7hyeTrJAGAjpIQHMvtSwb0
BdjMjf5ZL+BLHKO5TjQ6904i1xlDS8ZhIsrsu6pou0Nz8N7OkOSzx3iqJCu48mB/w55FRrmegcG1
KWk2E0HNvi7X/cdGmAecP0Uv65yr/FBDcK7dWJdrQmvHNURCWdeObffEOmuLw+VaSnTjmWCXZzRV
uLh59uBcnsPalgyX8MvGzVXUvTnTTPVyrUut9tzCuvW49jmbwNLvSvOMM4crJG8nAT6iACPguRzV
Rjzsy7I210K2kxiKYxL22Ywl3CoYNJRFzrXN3x/3vIc3wnkfEFiyLlmXrEvWJeuSdcm6ZF2yLlmX
rEvWJeuSdcm6ZF2y/sxYL3DZSWcOT9GWbkwX4OUtWNNssyNYwJDGXNva9XCpTK6kR8bjS1zQm1JQ
xzpX9/rB+WXbS/JbErlKWjoaNkTAbubYLLNVEmch1I7PkSBVINU60rRzxiQ5VrQ+GUYlv17gtgre
R9JugTZacMlXnXy1yOv68ZmD+mNSlK0ntc7B4Ln3PgKo4unbQtHoh6WPUyKKVrPwqZ4Q1nBZP1Lv
GBdZOpgkSMUrx+nMFJp/kjT/SrqpgOeTpuMI9OCHcOVmFVxFlXS7DZoSRKTSXpzf0HpE5UM4ozk2
o/TqOl1sq67i0myLeZLlRdVVAcRyFmFtKSf6pgZlO2k9g+pAzoktBBS3fsADyY9LdeMcoz+uHuPc
31yR+i9lcVrtcSG0m/iKVWjGVfsbViGDO57irkONJnrBaMAxBAASZ6p3V3lxjRzJpE1lVO1ny/vZ
PIKg2Y5+mpcyINFrRAOk8AMCvlB/ipZ32gUpDa1oqrpBn29W8R1+Wb/wJyH55cGP8gv0TilHmqtp
QI0EKivO66ZAne6QAFeoW6c07+3/b/PuRZp2AUG/UYP+I8lv52g6YtxgUNuD5fMoo5ccgyREDnOe
rBeBEic5jXuAoMdtYUGb5QILOA1RVJzlb//+/foT+vUL/fVqg6vDsIqnulw3EKvx9uqL4lkURzmu
L56sSh3qW6lNYkksiSWxJJbEklgSa2Asf4KWPeyLea5tC4IoQsMp7gWzUFh55HwHDg3wAvRKmjzu
NplvGfc/bdXoDIwjeaCwvQgRTpE1ZLuaZz5uAaksUICNQm60hMjxXVp6QTpZLn04zNfdRmTcfL79
9eaPrxXGySaKLItoobTs4vUj0vbi9UYh3Yxfv9TV169fP9LfygXTBQ4e8fSZrjOsDJdhPk8CROPr
z3/evsbsHvcoa0YQekp/xJi2K9zQyZVlulbOFB/fYoQ3udvszDDlsFudT5M0q1ni8wpz4mfRtBAp
HrJHbaNETxxDsfATGi7oA7Qc2jcABq36v32Rh+wiT9fh+YpJSkiOhXpNn4r1dRamsb8Mf175WfaQ
pMF/n6MwZkmCiJickOr6KKFM+e4V9NezRXQ3z4kjKOg/mX2/GoMgZsgtnl4SVX+zDT03uEXRt+g4
zOzX6H80iQ3qM496sDIfUl4KiiazjEAi4V4jcEZ9KG+Ao7SW0Vd3BfxIlPJar6T0/LTfHZgcwFvP
SEYV89bRW3SKKmYhJfBzn5XAobVKnGkztVaRCGjWMk4lL3if1x2llAQor4oY1gaWqzvnNOL5Od7F
mMrUn8533RVp1/jJY1VHK75yyxW+CFdZzsPliuSnEJeEf8Ar3osdWe8xVb8+Ierd4ydKUjm2Uvrd
+6ViqxLY4Dw02i4ehP6G+WFSCX3Qb7indBn0GIJRcVg7icv4nZJ01i5DEA8ns1Ym/efkMgQp4e/f
r24/3XwYGQ/Duo08WobJGq71bLdJQm3lJ24LKkbiGrZCGYBiAY6gE7Vcw947OwF7oxEw13D2BA1n
Rm630ZyEVsO4s7LEmFevJHa3p4bkNRyhg9NnGn0aODkZAVvDe51h2568c+8HtOUaZtgchOEBeQ3C
OAoDLh+m8nRP7u5IKEWDiwBuo2X3re/Bub1DEwnpWY1vfLMrknhcN3A7Kxui5lAWFs54dc1+hLFH
rdv29Li2PTvLAxOEZcJyA73Pk3UEWO4wmgB1oJrPgH3kER6pF4Z3jixHOzMpnG4sGGpzVaySrOST
yJ+Q5lOPK3hy1Hj89RNyWsokIddHM3JtNVuv8EVwcPboSTYP8ygPcZq1UvzZNtsFbqjhNaLi883X
xpbKJgg4MLP7Fwq9uVElFc20jc50NJDKEUXtAo1mYtkHk2Q63Z1FM+MszeMpBdRWJntyimB3k6Uz
ssBC64o8vCCL61KqUL+juY4mKrLjVZ55OiFNE+wH8/DYeOy+jYeeoVQZD1eLpudkPFRk0nimR9Mk
aDyOIY1nBtQxe2b2sr+nwl4DalzNnI4pmCbJtyh8Wlkln0dpgPvR5ijQJ+/ikqT+Bl+NZPcM0gye
2on16AXiOo8WuKTcroLfbB1PcXB5EYRY9u/pP5ZEMAgJaFh8TBJKQmnECh4fxb7bOp+XEorRazSi
olmCUYCvYPyZlSbmZtF29YKsIzmmqr3QjbO0kxZDte+R+rzGijTMboZZrLEqJhD00ObwnMeAtWTh
uXWddXJd9d40TpTpOsuT5TZfshxZKAIDCw44s3+Fs/TttFnqS3WPVd2HW0zKInkI06mfwecnhjFU
HM8kq19diKCnR2Vx7jw5piPXf3LnCbCd+o0n29Ol7ciNJ8B26vedbAGnEXLf6VzNJQ1XIQIMyDnj
YfoNq7yZpjpa3+dGnZJRxgtdEn5xJkbKkE2S4JEZwHNVM+8yKmjWyY6QXkKkk4LXyp6xTtak3PuT
e7hZJdWn1K7n9cd/JTEDCCPz42CSbMJtCzB2xpGl9uhzYTIqTgBszx2aGsAhm0bv+ihmZ2weyTpH
3xfB1E8DuBimPqBMGIRV6kw9PX2n1CJYBNFzhhdKlY6GJ6etSrRqlayR4tPoO72Byr6xbh15ksuD
/6O3aVvAg4cF+x93pwMg3DGFnYUxiWI/fVQ2Cq4eh8Q+i2LYHF3H6gy2Z1237DcI+nh5xZM8X8dQ
mnwLYwW9Wtly0eJyOdyapKA7wA2QQ9EZjt7x2p2fzPJ9e1AoPNQ9QyCHpHxucc1sO2qZVTeUAXnl
bEU6bkaT+zBNowDeJNcMWyB/aFW9eAQM1HZ7BhGtqFNhDCKsQUBMTf8xpDUEIz+QadkvvHNjBEn/
zUp6E+lNpDcZnzdxpTehsdx8HX8jBxXJXYqXt+E9vg4VblbhNA+D6zC+y+FjC90Ryd6Wjjz142wG
JoBoZnduFwnZnYwDeFvQNEXOMk/RFHb6r2f1j/lLD6BopRGHJDGPNnBlH7ZYmkAOBfQjklgSS2JJ
LIklsSSWxDoxVnETAr5U7jWLnWru2uOyCzj3nELi3eFfpovQTy+0TrvEjVFboOnC0DS1XziGSBvC
gpaSJmiJVhQQL67LZHmS+nfg0sJQeZoF1mA+WVs8Rd+zTBuUwDzr2kD4g+FO5+H02yHn5OeLv35T
NvP0SCttcjGlOqQ6nqU6jPN3Vgeo+FLT/krrKk2WK7jvL9dtMl1IhoapWYbW5vZmA773Sc+4QRRY
c62ZpOuzQCvwy+ZvmH3Z2QDIFC/DAWmR/7TLuiQ3FHR4s9a2BPLcacObF+R7mCbKgu4/l6GUvgXJ
KPHk9ogLV4Wzu9tMEOb+dI6rUNBMNR0uDGkL1F44nScKbrcETT/u+QAdiQ7sPueJdN8UEN8gYWY1
ChjLQTK9TnCC0EfmsYRpiIyODgFJ+ypwxWLYInhbL/EhVpAsfTr5g1C2JnIZSKoLYmOEyip2VxhJ
0wt3V3DX6YLh6T1bZHBHM8tIFQaysv2flx/fp9F0fnzCM05IQ0KeArJsq3BMwlUzoy13Lz+oL72P
Lz9oL10V//zuinzVyVfryeuX5Kt6fBLsStpORBvNQMBVLsM4TJU7Riimdkcq8mafloAFdgsFMZT7
KWM5pPOlUtSAbKYhrSELQhi6J9BonsbmrXo+1DKTpz4upIZihZxVb5Uvu98QMYE7nTmigTdOBlem
fjwNF/h2sD9JUtgiVNMSqK4n4HlS4INlbQxRjK5jgkYYrLj6rKu2QDYP31BQ6EfJAFk1uyPjnf/A
j+/QYFhnlaWBbccTaapCzlNqebtcLL4UK9NPbN5MzRHpWTTd0hjpZiJ4OmQIvGRj8jRIMMxKpCie
JTfx5yKn7gr7/w72X4f1L+4Uz74T5nFdG6oDQW7Yn+bRfUjqT8FLRodrf6spUtm8ddfTVKO76GhZ
k4q6bo7rCkNpOUzP/9mgM5MPh4oyPvdnf7i6vrq9ko8HH//p6vKDfHjp4X/99vHm5t3lFwnABPh6
dfnl/afzerw11OOrAgNS4lBhlYLUHa4EAqvHWdbqc67aP/xD8mt+CgVIqYDPhpYtFleViWGkfq7P
7tVazvjhf8pnl8Z+H7Hej/L4HuK9H+HhPcV5PxLAeYeSJ4hU4/BhEcUh3uzen7dGjNqLTme443ND
dvc5k6t+25jQ4vVisUuWPH6+bXefj4+SlhhQWnctJTE9eAlZG88O1zFtHQi99csG4Sr1VQeCD3DC
OCjupdOqSsxzM83RXYFW10NB2zbsEjnD50q2yCEt4qaTxJJYEktiSSyJJbEk1mmx4HiKWX7Utt2e
IMnVnOJP4AQ927WkGiWWxJJYEktiSSyJJbFKcVWW+1X7mq4rYPN0FcY0I5SUOGcGi45hywP3Hp5d
XKUPN/40V5Z+Tm7fgiEzVwq/zWnBIGxFbxFDtdTm8P9mSo7PaPa421cQSW/+LTW1tjWu4gz8KPii
dAlG1wyBkgSbYuHrXLT2BhX0xatS6VV1cBpe6uor9Ik+xkCM6o1BJvh/XxqXL/WP6GORTP0FvlyP
XnERxjh0du4kUpPDH6o3Gtsbu1AP6Ht4eNDfjFLzYzXJEWt2dh6GdxZjY7zEjZCysXu50rxhfBw9
ifoZkHgeVBrjJ9E6AyLxt/FL8j1eioyATEzBjszrm/eX159uvt6Oxz8e0DdC/62MgIZXo1haq6Ow
5/+8+s8olgX6K/Q5BtsYiZ95deAPx0fRCF3LqzPY+XhFZ7LRb9CooycRJ6OfgSQP6As3/nK1CN/E
YT4SCY6AjDNYsR0+Hr2wA0A/Nz0XOTsGpYKaM1hg0vs4ykEJbFybillPx3J7FG5R7ZyI+OitA3qh
+m69i4QlEdPSn6FESK29CivRGoHXXLY6K6Gw7cR4JjLJcP1ALmdiGqMcOlw9RLtIhGkjmvX8BFLj
SkzzGQ6bak+i2T+6SB7mUR7iKAtHQogWuLECV0VJ3tGCS/uWK+Ga4hOUDniLVoofBKRvM07vAVPi
BOT2QNBP4k3GTdx+cPH7cJFVSzV7QdwLOcyUhyifK9l6QnsLgIQ4Tv90gLhqPwMoDZfJvQ8PIkfV
esGslrBmG92nFOIkD2p/Q87Sdbo7S74y47YYjoiBTpJ1HPjpI1wHwrQG4skWkKCJ6ysznZuhGyJd
7K6v0S//d2GYCvq/p3D2C70vLEsx3CMsEbGtHzySErrTOZYiowKxJgAoiFJcg/hgOaPDObuuI1SI
FJm2N0sXZCfl57dvd3soP+MdlGaNrHjT1cXRqOtvW+A7LXRSGRjqnqY1wq2JDE+pHIFEOkMqB3Ry
miP1ckK9kKsgQbKeLOAqoAZXEXdnMJd29P99K7IrO4PqEW6/YpmjUuBz0gojSLCkQoZQCIrdUYCd
V7SEsblOi+pwZmEK96bQVF3k2KOrki1ey53IUYHRkn6koxpaF+twz0SuknHOUIvUwYBcAUCGNhCQ
7TUC4rEGcLtPFyA5oCmW4mfKOp8pbndlVbE2S5MlCoRX6xXsLVxdAFTR5XeySCZKFn0PYTk6zZH2
ciMbFsndfYkBg6/xFCcLlZbgqYYIpINZsLzFrTmiQXQAxRUNYgwBYg4DUu6ObenilQK0+9bFa2UI
FAtQC9fhEy8KcZRKnCjTuZ8y2g9zbcJWA2a4ypSfpv6jMlnPZnCEZTccoE0mBD+bRhE0qbpieMNd
opX7KHwAGTPUs2Usidk1bB2uiLgaZJYkRzZuquYLw7bFkL+Og3AWxbiDJfoNJ1rCfef0XhTUsurE
CYBgAaaRv0BRh7LtU86IdOyheDJ0AUxxdsLUDUdkUFJfFlzrzluEk5oPt5JoDWhahyar3lU3VEMd
iAb4hMxtJoKbz7e/3vzx9UWz/RBBY6OWzY57eB3h4c0qrx8bWxXdQyuwDVvlWVV6vF6C4me4jtMx
Om4NTrJ6jsNZw3VtrlbcXgMTqyakpPvhZCCAe1D/SyRbFC2u42+Zslvd5eEGHNOeqQnsuIsm9AVi
Er0PNCNQOrO2B3rKJLSLoHH4SbO6dhQ57S5KrsZh/pCk39jV8z2eaO4YcM/O9vlo7K4Xfo4w8N7t
NFkuUVB0EUTZNInjcNqiOXpTzJWfzy8Ot4edF4YhgSSQBJJAEkgCSSAJdBqgbUAkLBoCQr51VtsY
yuXJbauDWq9W6PloOYjeODjvg1eGHs8ZUgdMvCbDP13ghcLbDbAoHgY+Wvp34dvs/u6ffz5f//n1
n38AUgaShL9aLaKpn0dJ/DZL/BWbIp7EYREUzZLk7cRPK0RjDUOIphtv311+OT0hSCL/iySCpPK9
ghhPYHXqrktcQVwrQrgWRMyWiDHR9NK5EkOOLYYcXRsXOeaoyLHGpSzn3bjI+TAuct6Py5StcZHj
1JLDFRsLIsdWxyUdY1zk2GNS1isxsnEErQLAM9dh8OkyYBXfnQo/vvcXUVDqbTAMOrFMdTTGQCbo
d+Mi58OoyNHdcZHjjYoc470YJyuKnKsxkfPfcVmOoNDOFaSqd+Mi53JU5FjjUpauixlXrrCNshFZ
zsdxkfNhEHLu75RpGvqYoMmjspmntJgP+hVnQ/nZfJL4aQDn9pluZ/wn6SL3d+QWBfpeSrnqbpLr
FW7sptCucuyGcp6uNoLqkIZpiuXpuAMx+2iEK0P8LHhkN3Y2zB+ExfpG0lzVAobjlTvxrnUFLdPj
F2dN/0iP51YGP0viZFfJ2GGeIpxObphnxxhHAqxmOPYZ8ZVGpCXjYo3PJ5VkFaa+QtqNqqoJX3Fx
O4M+uZVUBV9RMNi2HYFUkDaUh6RA17F6FbYFV501BhK2VSFsR7d7Zd2GNTwU63aVnQmw9ipsB65v
YA/EulOldZ47Ih1Yd+E6hepArLsVrFuO3ivrHghqmQOx7lVp3e7VzWkqXNFwIIPX1ErWvc5U4LVp
Eq9jVtRvC1AyXpNXXbLXNFcXKM4DuPL6vuEMJaK2g+uJkOGTXxVLXWZKkDzQlXcQZStWDVnd5rm7
xi3cHSYpkRmEC/+RZChGaF1FMsYu9J/IqxeW2uYISxwdVkFHqTewpZ5EHm4beSAhiqLDLugwSvLw
BpWHVtChlZvv8NRAqZHI0Ti5/vq5WABdkfX/4W/ZPFkvgor6yzrPvNqMIrKFpJCyol/JRStKxIdi
CF+xVp9oHFsD0fJHkteSo3HVdmlIThAQvOsoy8M4xBPTVl/wtGEIJ2E6D6ffSH+AfeFXZZakiolW
d9ikk3WuTJIALArsaa7AEV3kZJeAD5MvcUkCpR8p4BvhgBjg+uhqIxo+XV1+KBERJ/nVJirfwO6H
RXpGgA8GlHC5yllVnk2BGiU4hyWuypm0PMcPDVlNFzNs0peLxZfiVuwn2j4ArpnQnWW8PfHZLxdL
JvUzxLtUZJiTKAhQvLwM0UAJMiXcTMMV2RUB/YYp3JOStB0FWTDZPg8DJbu/Aw5dNNe2BBoUmWgj
ZFAAlOm6fTMJF7MX4JQhDjfQ1X1HeMCwjJANYaewjDZIjVM/gyubeSK55KCh7Ch6YT7LcOOAWbQI
a8aQzlPS0tK4o8YwQ3YVYvd/7C94li81QMdsrhd5hEtF4DU23AWDy0k1AsWFrArPvwjjOxQc10Q3
Blc0zCvhOHlP0a8J+Bs/i7Lmdzhas8xqDWHbvTB5i+GGYHGvQ7phU6wovodpUqgZ1q2pCWR7Et3t
6l0AjsJVTU3Xh8PTTFtzeLaNGooay5eGUHSaB/ckBdjTMe59mKZREHLODB5P/kYzCmiTldTPQGNy
GtpSzYaWplsaYy0smq+tDd2Gm7xmujHFS3WL/vfv17Xgwo0qC/Pix6LzGPKVMetIRx8E/t5frBnb
zK5A51FbbcwUPt+TdA/EIcdZuG7ZTvfRBOHfZ7TBHvqahSnZ6J/50WKdwjoXMahHQgZPmzuoop7V
OzRxrJh9ZB2xQuuHdaekgUXmaE6Ba/y5PEXJGsTXvLvlVpvdcktvzHwfdlidEfYQThR/tcreqio8
wak8x2kNQGjDrVY5MPwo+tZsIRviOVZrDqX4UAXrXpAmvSMx2i66QkEgNgyhCFMAwRKJYDB24IVa
mMEaMpp5hjAmY39VqJcxmbzYw8AIFZkFl0AWOhotJiuOSBin/eKQH4OyAmx0CNWKy5guhfLiDsIL
nM6jqaomFIRpYiK9vgaGMbbDY8YeNwZhBT24rWa4kcCp2OHpxt4AYzBu4PnS8EQe/3StyNOAG8ig
TR6Z4Q9eFDh9u/6YoxEG4QQfYx9ZAD5rEMqNxWjV5QgFaT/9N4GBZwCt3mvyg+zNGsFRrqC7eXp3
xCT9hhbdb2nyy27nr1iIMg67rOawW5w9Y/QVZZ1Hizf/Hnsf9GkI463kI+iiezNPy8CaYYqTKbTL
grNpjjdZoK23+kzqFvwXMqe3McvM1+e+tcDklQK18hJNruackCjAQFSPhyCjnWbQX5QhTS698BZn
52a9zdbfAR31Rflb0mLhmdA1halhukjg4ytd1XvQNYFjmLtm2lZfkG0HV1OwIu+oTa8b9GEOimZx
oW0zqXxmsxDTEAZWYq3YG4YNxnH1vpEhUMftD7VXVZ47Gniyc+Zw9sng/pRoYtA+XF1f3V5JQIGA
YFq4hGsH99dvH29u3l1+kZCCIb9eXX55/0kCCgTkiEThYkmqMJhyJAhHnzZX3NsSE9ig0HSvR7w+
FScKzTkR2iCR2bOB+//2zm45URiK4/f7LilDUARn9qIPsJd9AIpR0oaESaDVt18+10gOFDQ47biX
OppfThJODuScPy//aXZod4rKHgl4l8jsUXB3i8geAxncOyp7JOB4QLEncqBINvQsYs6vhK6BQ6dC
m9VyTBMXuvhmXD/pv4OZszbpBOAbwbqB7BciV3WTVX3sXhQclned9BR57iz2uOY9i+8vQB033uiE
t1qiE3rJqlE5Gl4F/KDkk0iHHHPCFRVcoSijA4KQwS0ETeshqs/8ALGiW9rfFWn2rKrqKieuUgDy
EyMqIQTKrPBc3xJKO4K7hJYf+1eDLfNqiSy4jsIaQ7vcahpKCMtKB2OOZWhrKNMoT1IGzZa/soSo
dAqA9gNbJtRl+yiPIIrvrW1RGOXvkB3Ymh3dlyhOIqlIjuKsLpU8QnJmi0GLfB+ASOt2QvMVBLaW
3VGxcX+EffvXbQlddq0XUPs4wAvmdY3UYU8IhXEv0aHcTWPdgSdSpLRIkSKMxFWW3LP6E8n3IoO3
wylZO31k6ULrPVzwmFHC84vgdEeb998Wkv2uxmPrOP8A26BsZezvr0Llgj8d6P7iDb34moGZi2ly
y7zNej5KkbiQND85dZ15K2jQ332aQj7K6x+TEY1IjEP7XXgVckDKcUoO3w80GOxCCigcNSI/mxt6
oF19Is0ipZ7esoPpsqY4/G9s5YweqFjSDJbEcxdYbS0OuH35AeautysMePS20pbv0K66Kx5hrL/e
DE3GW3NWhs6Gdd+AyZ2u734tfTmLIqAHJtj1rhwubTEw8dnmorVjZj5OwFNmZWhhNK2iWAqlSqd6
oLzW1qoSRKUst1x2gmdpcwNT9zBSdYYBSnR4PqQXt2g6OOdIBRLy8q8ZxcEnQLr8jhmQoV9/AVBL
AwQUAAIACAC0sPNAkWxTB4uRAADh8AMAJgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3Rz
X3J1bjMudHh0VVQJAAOzhAhQtIIIUHV4CwABBOgDAAAE6AMAALW927rkNq4meD/vIueiDnG4dLns
Xdljlz1O1+49c5OfQlJEyEshRUmKdcinHwIkdSRFYLl6d5czM/iDIgESBAGQTOvylvZlU3efovxT
dk3rSxH0bVp356a9BWUdFHUeFC9F3X937W/V/5XOCORf2/JtQtC/34tgwNhI2uJepVkRnMuqKuvL
SGsDd33ay/r6sRXb+LEhTVteZOtfuuD8qDMEbBPci7a7FxL5Uihg1tzuTVf2spGf0lPXVA/ZFPVL
UweKVTlwyADlv6r0vWg55K9lf51WcE9b6KSjnlPzqPMOvnmuyvsd6FssCW5Nbml2di2y56I9NWmb
W0plHbohzsKyyoPTe1DLJktZZM/wrbTOiq5vLO2bdKQuLinwMvhW1nnxpqpyU0C9L2VXnqoiyIsu
k/JOzZCb4vOylTIKpAjlOJ0UWJBN9rgBL0+y2ZcWOCcJKluzz+UbsP5DonXQglzn9NuSXVTTZW1T
VUFzPndFH1xLYPd70CLbLcI6V3KK4FAaxrOszcHyS1EXbQpNypq6L2xcxkbCOOvKvAial6I9V82r
btUaPgD69nG7dxN10PXvlaW9unv3tKxVOwYuOZukSE5pq6isIu+K6jwUK053IQ1mQcmxCOVGJtYv
9sVbH0h5VWkrx6NDtn0pB3WWyskY3B5dH4C0ZCctwOZyqTzDelBf+m9z9mmJXcs8t31gSYwjlva1
06N7l9XnZZZap/6IhF8f0BgUfpA/WmBjXkjubJFtqXqnPpRT+wyLCaqOsir7d9tvQZR/nPZaytnS
yrmUpdVy8flIfai6Pk4uNfFf6U1X3u7VX/j8a3G6VHZy+LNuAv3XQHIpwEUEtEOV3llEZPDmqm2n
KfRi4BhTuEYEclBKkct/mpVm+qOX6J6f9RKFP1nxj5u0QGZTV+okabLAlHYTXIrmVvRyLbil9xEf
pF1XtBatmT3QyJKreSE1p1pkynOb3go3VhpmfdEGTZZVjw40RFrdr6lScVwqBv5UPVr2R4DIDVdr
xrgan5q37prmzaubBHX1pH4YKWlbFt0GCeiECsVA+MCjZrQKJSUtgNlAwR8le8tLfbMulWaMgNk5
mhRmMb+nmZzIW1TavBvXfZeNOJBouzTTRul0PXfZIJrSPtlnxVDji2x6g8YB8q71kcyn+hZ6bCqA
pH78ttXR4naXSrC4nSQeDNFuA6tn29QI9KJHO3JqOEo90snVR66lzWv9F+v4EHknh6pNjblIx4X7
r7VhC6hHxqlqsmcwVeXsAnWLsifQbW+cRrh3vbBBtd3unTdXuUv9Jge1tCy0SUwaK9eH29gcQFgu
rS+5nW8UWE1GuQuRxlhx9wvVV8MHSf/Kd7eoylupt1fBVB9t71i3yOdjcVMiFupBe7YF7jU+St00
TNKxwWoe+mbSZhU8uunu0/TgwzVsEDanP8ELgOYlqmFtAG13tHn0qCS801Ju1ftSzknZMkkTPO65
XN238HJjXrQvhdxn6NG9rYP0iAgYygWGgeaUtzltT9QjUu9USi3T4Cibthmca1LTfyvaBhdNbw9e
QD4ZU9OpdV9NREW3zVmF1zaO3nlYbB20zTvl45KdUE6l6n22k7Zv0wylclMYP5RjQNnATtTMs+X3
Wc2pupeLq3qtQNtCbbMXK3Va51ub2m1imBzNWRpnxSuX1OVK2qaS/JCl9PbWzdS9oTaM41z1ki8c
X+6drIVO4pZ+cAKFcrg6ppKLRq9yZIKplgb5ayP7Q/S8pg6UnZekbcAfFOVkpg8+RaW7XVpySXVP
61/VF7of0vol9bds8IPjvAb/n+5dLW0MAhtd9F7CYaP5zU1yS7vnhS6Bn1xA9QX4e4BRGfuGUmHh
vzhiXLaUhj2qvrxX6rudC6X8UFOFa2+mmYLrXekGVsUutNZVOmPcy6o9ZOcj10EIWcMmVH/kItfz
Lhh81BSSqukKIslKZ2tW2DfPA9mlmLpQceGu0afxhlyQTbZN3YFcjZ6qSfNlBMDT3AmvR927FdRZ
U2463ddw3FXmk2+YCXInV7Ad2fi05oAzcDDQ6IgPYcAagzA9g3tLjgzgGInXcjUD48sdExmQWj8O
g8elIBcE2xGXNbjTIU29zW5etwdZfy3AmXU+oxX/UnaPtKJwbB6iRq8MZUyP5qr7G9J8RhN6CNou
ZG9T8U4aP9SNUNOe8fU5gQfnLi61h/ED/XeRkim8QDZTrHQ0uBfVFlVqDz0Y4NDQUtoWVZk7zEED
X1TYdeKTVNdf721zh+2TNPjlzib/2ssp7IacmjYfZoGz/Oup6fvm9lV5zqjo1zLvryww9QPTfY4H
Ra2SCKuKc08CcSokcmqEUiuXW+9rT0OxqiQ2eIKlVj9NAvCgqFX2zZ2CYVRH7P6ApFZNq5ZWJUbx
PMVfpbZJN8YHpfhrUeFOoJMt+ip3y2P4y0lxS9tLWftQTf0VdjxD/W78tdge5r7vqXKtiIgwL/81
mggjaQyNbSm9JU5qDd6cIiPGW909zfPR9nMDvLye46jfJeO2tfgURa6Sxm+D3mT4BOStcK4yok+n
vAz0jJn8Cv+B6FVXVEEUuQoSV8HOVbCfFJwb8FIXaf9oi6ArerBVOnCxdNMR4cK1sH9u58hnjLJO
3JtojD+9PQWn232C098IsGl1f53GkaFc5RZ9a5rbwlcLhY+6zJq8CE6l5JzcmDfgNMFmu1EalF7T
tql9qFPaldkEBO2Q+w+py7vv3iZ8Tavs06Svww5+zUEFhVim8sZo17V24TSPXnJ1Bce1I2jTvHx0
9sL1r29SLOdK7raWRfCfoGjbpl3VpbJbrl1lL2gvp1UBiA0aJndzF/hzpu1H0ERf6B9xKN2auunu
aVZYS3HISAMcs3rTyomxFSx/uxT9Dzpf7QsOKaUZIa8ok22ejytFobujc4LkXvq+6ll5u1hbUBVv
ILDiIrftmF+S7JODCEIiLqLhVigIei0WVF20WEbNr2V9S98cg2FI7F0uDLrc8bMedSaxYEwQXAOH
3uzCcL9blhvPofx75yqzehWXKNXLZWGfQgqynlowBi19URhrC1SRdkgUVbUGDCHZIGvT7hr6AJEP
EPsA7vIuyIu78nIuQUO4DhONproec7DkRjTPA52PZVP0BoZpXRqnM0CMn36hEzwUFuREzjrLdExr
Re9c3xYFj46EnjB48zPAfNOTWYxwjbq+Bt3rPDViCirQQaZy5K6v24CNUjRoajm7tisZYG6MZMqp
HPMDrIha8qnrNz9lQG5ELu2iQOXHbdY0wblBUne/TzOQLJDrowhU7MmNKWuYHZvNURB3uQlRb9Ux
T9WzAKROLeQsyqTCeZO/z9dCJ3brkyMKFaB9Si+xbkgHFuEmK7viXqaWYj1rxvlswheO9m/gMSD1
MSoWCQVMawWnxdR2uiE6p1FtMFYrxgKstynv7kXcRWAseu0IpVP4kW6ENCa2+j7JVbXGqKwUi+3b
iMC0PPXFdXaLA2gpHQKo+geb63iKV2Fng7YAIBsxk0tUPdR4K25wnujRpdYlSTWtk1rlnta5XQSt
rOKloFgA3bV5VLmcIlJjpi+z4y2z9IEZjTLRCLVnD2mB3/QfAWHUWwnow3qb3D/ISfRUOljvwLaA
s0VuGrPWKlKzckv7t9v+1pwuLzuwbXMi3g3T3w1sXZlSyc2N3K5+QvtzjCgtHQEDTKrg91vz6AK9
iy7gRNZKm9nRNsSjb/SmKcjf6/Q22/DPUGoT1VmKVTrPIug0A6hjHQHWs9gxDpi2kQZb+lZOsgVs
MAkanUgWgBTgHVwK+t/gpwkuM6+CQcKf0u6/NG3ZX2+wUQrmOyUHECO/bm7M0W4AyPuUdsVSza5R
in3bmKLOtwGbXQOA9gWst9AWbCf3AgsTfg0a9laWJHQ7iasQQ4ueQTgCVz6hNURXszkgV+hNjJQ2
OFImJ7BdQPc0GUFr78IK4yqTi/Et8M7IEQrDfosDf0r9VZ7fF0dWV7CqqS9XSLOz6PYprm5wZrqK
N0W3tX5McDDrh4A0SNiBg+5bixo85aT/bUHIsQAbI8xqc6le9Ea9trPcnGk5mj8IMnNc5UtNzko4
p72DloCEM8GbMPVNF9dGnH9UjNi2kMLoFDe2NJ6DYmMUjxTdVRpOz3CS4lxutsZSpi1Lt05r2v7a
XMAJi4NCJ1I7ZrocoeBrKrNHlbYz1TecNB8mn418SH/zmQJ33Jm2eMIu769dMDaTgLZATHqWSqx3
jL35MY9piYpVrB1AurhvH7JUjpWViasBM1ZNYyAFeFSbVv4Vgw6zOI747o2EC4m4iIpLicCYiEuI
uB0Rt6fiTkTggYg7EnHiiQqkylhQhSdiMvBERmZkZE5GFlRkQgaSO0QdaII60sSBDEzJSHJ3DmT5
kAfwkfrxkDrUQ7I6E+RvC2rHQ6qODKnzLKTOs5A6fsM9GZiSkWRWHshAcpVHMpBaZUQdbBF1sEXk
xZO8elIHRkQdGBFVXUXUERRRpR0dycCUjCRL+0id3rEgA8m2TUgGkquMyEAqi+KYDKRXSeY6ebWP
EzKQ3MyE3MwdGUj+OHWixdSJFlMnWkJVgQl1TiTUkZ5Qx29C3hhQx0VClWGyJwOpwk6ootlRRbOj
imZHFc2OKpodVTQ78qZtRwZSOb6jCnFHnV47qgz3VBnuQzKQ2u19RAaSq4zJQHKVCRlIrpK88ScP
oT3ZR0DWA/sDGUiukjosD9RheRBkINk5EpKB5CqpI/1AHRmHPRlIbuSBDCRXSZX38YkMpH77SB0Z
R6q8j1QpHmMykNwbqhY67shA8rf3ZCC5SrIHkjzWjuSxRt6QiacnOpJeqaAj6ZWGdCS90oiOpFca
05H0ShM6kl7pjo6kV7qnI+mVHuhIeqV07z99RjEiBfQZRY8qCPqMEiEdSa80oiPplcZ0JL3ShI6k
V7qjI+mV7ulIeqXkGUWPMZBDB4IcOxBkR78ge/olkswmclRAIumVJnQkvdIdHUmvdE9H0is90JH0
SumjlK7MyeEJiaRXSg8R05U5OewhkfRKIzqSXmlMR9IrTehIeqU7OpJe6Z6OpFd6oCPplR7pSHrm
wRMdSa9U0JH0SkM6kl4pPeuDPqNieoZIktKh9O/v6LXSJ0q8p9dKnynk+I0gB3Akkvx5crBHkKM9
ghzuEeR4jyAHfERCz+ahD76EPvgScthQQsnJTOTwlETSm7qjN5W8SiTkAU0Oewly3EuQA1+CHFWS
SPI4IceVJJJe6YGOpFdKZz458UKQY1sSyaj0RIdmdCh57u3JY2of0ntFX6P3Eb1W+iK9j+m10u3e
PV2n0qN3EkqXKz3zkj4D6SE8QY7hCXJoTiLpKZ30eUUO5AlyfE6Qw27iQB9+B/rwO9ATiQ/0TOID
PZX4EJ8Rmje3T1haFS9FFX7Kmrb4hJc0F9/3fVueHn3xzy9P+uKSDfTf9QuFTwcy9I/3e/EUb8Cv
2VcJK+EIoDqhW6e3IocjFXUnaHRd0dOJEFk3eXFL7/rQKzwB6qOSBOZ9xnObXuDPumlvkvzbX6IN
fbT6IBqXNwMhnTkSORkO4skOxYfuuk9Gvj/CP39Iu/5JbOIR9wc8lkVBqzGENAxkSEZGZGRMRiab
SDjLCi+rUfo0x4YMbMTAxgwsp287BnbPwB4Y2CMd6xnncyxDboIhN7Ett7Iue8q4GXEhEUf9bkzE
JUScY4zg37+/36ui736AW5Kz8UoEK/Yff/zy8/d1dm3aH9VtIC4OOdAhCx2x0DELnbDQOxZ6z0If
WOgjB+2aaw40S5aCJUvBkqXwyhLHLHkMztAhCx2x0Lx2Jyz0joXes9AHFvrIQfvH4AztlaW0AMhy
n2BDBjZiYGMGNmFgdwzsnoH1Sfpvv1O5+7e0Kz6CDQnYn5q659Q9xXPr90n7b03+Tm7LBBsysJw2
xAxswsDuGNg9A3tgYI90rFevTLEMuXnXtb89+r6pySNihubVHbHQMQudsNA7FnrPQvvGx2iYepk9
gYZ0aESHxnRoQofu6NA9Hcrg65EM9c66CZQuLe+c+zteG9K0ZEX89/KFDK3KjrzYDB45MjCkAiMq
MKYCEypwTwUeqMAjEegdTwOQynBBZbigMlxQGS6oDBc7KpAqGUGVjKBKJqRKJqRKJqRKJqRKJqRK
JqRKJqRKJvRJhqpRqKYB1SigmgNUQ4BqAlAXf+qyTzUJqeYg1RSkmoFUxwbVpWFwRHkIojwEUR6C
KA9BlEdIlEdIlEdIlEdIlEdIlEdIlEdIlAdVb4REeYREeUREeUREeUREeUREeUREeUREeUREeURE
eUREeUREecREecREecREecREecREecREecREecREecREecREeSREeSREeSREeSREeSREeSREeSRE
eSREeSREeSREeeyI8tgR5bEjymNHlMeOKI8dUR47ojx2RHnsiPLYEeWxJ8pjT5THniiPPVEee6I8
9kR57Iny2BPlsSfKY0+Ux4EojwNRHgeiPA5EeRyI8jgQ5XEgyuNAlMeBKI8DUR5HojyORHkcifI4
EuVxJMrjSJTHkSiPI1EeR6I8juT9IHVDSN2hC+oWXVD36IK6SRfUXbqgbtMFdZ8uqBt1Qd6p07fq
VMmQN+vk3Tp5u07er5M37OQdO3nLTt2zC+qmXYRkLwpVMtR9u6Bu3AV15y6oW3dB3bsL6uZdUHfv
grp9F9T9u4jIDi6qZKhbeEHdwwvqJl5Qd/GCuo0X1H28oG7kBXUnL6hbeRGTfY9UyXh38z+VRZV/
oadeLfG+rnESPzhJH5yEj5+a9kZvw4gNGVhOG2IGNmFgdwzsnoE9MLBHOtZrNvzUpjdyRtIMHHLA
EQccc8AJB7zjgPcc8IEDPlLAHIWxwPtE8w9yvtqIpNcZkZE+Qf+jSHNySyW2rC8fhIc8eMSDxzx4
woP7BvU/5F+obPnM0gefWQrhM0sjfGaphM8snfCZpRQ+s7TCZ5Za+MzSCzO0V7XP0V5Z3tILXfBT
cMgBRxxwzAEnHPCOA95zwAcO+MgA++U9BXMk6PUEfK7vD/JiNAOzao444JgDTjjgHQe854APHPCR
AfaPjSmYI0HW2BAcCQqOBAVHgoIjQcGRoOBIUHAkGHIkGHIk6PUmfe4+13nxRp7fczizdt8I+fkz
tR0j0teEn9NTQbaAZmBWzREH7Bv8PxeXoiYbv3N0yEJHLLS33WX9TG71BBsysBEDy2lvwsDuGNg9
A3tgYH365Zf0ThXFBOqTxC9F/SBXW/TpR7AhAxsxsL7R8EtDnnITaEiHRnSor62//sxIwZ+BQw7Y
1+JfT38WGb0dM3TIQvNaErPQCQu9Y6H3LPSBhT5y0F4rcY5myVKwZClYshQsWQqWLAVLloIlS8GS
pWDJ0msv/nrv/6ttHuQVYIkP/fiSfqJvjubVHbHQMQudsNA7FnrPQh9Y6CMJ3TGOAa4pQjZFxKaI
2RQJm2LHpvBJ7re0TS9ter9Shz8Q3D4EDjngiAP2sf63luwO/H8eTf8xsK97X7K2vJOtizmaV3fE
QscsdMJC71ho31j9grevkTk4Q4csdMRCxyx0wkLvWGgeBw8s9JGD9tpnczRLloIlS8GSpWDJUrBk
KViyFCxZCpYsBUuWXvvsS/9ekXXmDBxywD5B/pGequKHlGXMKZqiqj5MEHIJIi5BzCVIuAQ7LsGe
S3DgEhyZBF6FsyLgSlpwJS24khZcSQuupAVX0oIracGVtOBKOuRKOuRKOuRKOuRKOuRKOuRKOuRK
OuRKOuRKOuRKOqJJumEq74apuxum6m6YmrthKu6GqbcbptpumFq7YSrthqmzG6bKbngamzV4WCOH
NWxYY4Y1YFijhTVUWOOENUhYI4Q1PD4yNgRHgoIjQcGRoOBIUHAkKDgSFBwJhhwJhhwJhhwJhhwJ
hhwJhhwJhhwJhhwJhhwJhhwJRhwJRhwJRhwJRhwJRhwJRhwJRhwJRhwJRhwJRhwJxiQJ/t68spbC
CT5k4iMmPmbiEyZ+x8TvmfgDE3/k4QVTvoIpX8GUr2DKVzDlK5jyFUz5CqZ8BVO+ginfkClf2jL6
RUWIWHN+QRN+gCb6AE38AZrkAzS7D9DsP0Bz+ADNkU9D0wsLmg+MA/GBcSA+MA7EB8aB+MA4EB8Y
B+ID40B8YByID4yD8APj4CM6JPzAOAg/MA7CD4yD8APjIPzAOAg/MA7CD4yD8APjIPrAOPAb9MVb
z7mUf4kPmfiIiY+Z+ISJ3zHxeyb+wMQfeXj/GrHAM+UrmPIVTPkKpnz960HZ032C/+Ikrv6Lmria
4lsom/VpCKGWyA+J/ZDED9maCKkUwHZ/ABD6AJEPsNWTU9oV58Yjp1OTv28D8O56CiT0QyI/JPZD
Ej9k54fs/ZCDH7KlfXK4aH2Tc3mTbZZf0+6nIu0fbUGFhTRYRIPFNFhCg20JpcEE2c1eakjoh0R+
SOyHJH7I3g85+CFHL2Rz0dIQP+uEn3XCzzrhZ93mmtODzbUpaIUIvYjIi4i9iJ0XsfciDl7E0YfY
FLBCePnh57rw9kV4+yK8fQm9fQm90g+9vQ290g+90g+9HAu94yP08jT08jT08jTy8jTy8jTy8jTy
8jTy8jTy8jTy8jTy8jTy8jTy8jT28jT28jT28jT28jT28jT28jT28jT28jT28jT28jTx8jTx8jTx
8tTcIQ2PDpf15VNeVAX+JUyiMAzEZmm4WeqseSeedvvEXbcuDz3lrvrjw2632wtn6T4R5mbWdelR
7MLI3bb4GIaRuUd5VZo8ReGTuY3ZUno8Rk+uVidCJLsn4SyVvXbXLOJYREcnxxKxOyTmltR1qWxz
JISzz6bcWXu4D2OjASylx6fE6Lp1afT0FO2PztLd8enJWRo/HUJzZ7mlNIoOO/cINuXOXsWHKNo7
exUfk33olGUS7/Y7Z+k+PO4OzpoP8T6Kntzt1uXOdh+OT7uDi9+7p3AXRS6endLsubunWRGkL02Z
B/e2yAq4YynoIJnaQZU1VZXeuyJ4vZZ9oeij5LCXozk4l28OKvyLBO6eDrHsDg0YJ0SgFKwfuJea
YE8BHp6eDlFMASayzogC3CWHhFLjMTxET5ReH5NjvCPUGD9FBzlxKEA5ASJCZ9KsbbougGJYUYKs
qfui7oNT86jztC2LzjmY6TWEf7mGyFPDuS/aQI7eOnjtgqcnwYOHPLivMVUV9MVbH5S1+vMMd2EG
adcV7fjMtpO6zoOsKtL6cfcDJX8aD6oP7uak35Shfh45CcOPEkYfJYw/Sph8lHD3UcL9RwkPHyU8
fpBQPH2U0D9yuj5t+6Bpg6LOt8Gn4ty08o+qyZ6DEi708ukbC0XIoEAV48EjUGshwlRZ4UMmPmLi
Ywr+VrSXgt2LFVX4IaroQ1Qf61fyIardh6j2H6I6fIjq+BEq36x2UH1obIgPjQ3xobEhPjQ2xIfG
hvjQ2BAfGhviQ2NDfGhshB8aG+GHxkb4obERfmhshB8aGyFpbFCXi3/DjQBBlcI3mvO5K/rOQ9US
VHJLUMAtQd22BOXaElRpS1CcLUFNtgSl2BJUYEtQeC1BvbUEZdYSVFcLNn+Vdn2gdzJFVXlIMHwa
wOb90oKRpU2auql9w+49eG3anDCKBqCni9DaYYJ4oFdpGmawLfJ+HiosL4/m0ZH2ZsXt3r9Tpt25
bCWfIbQclH1x2wZf2+1yxXRv4wwspMEiGswzM8saNo4djC61E1VjZpsIByFICXehfm5W6j5ukoiq
8oKBbBYyJCMjH7ImfbkmfbWmfzEmoRISakdC7UmoAwl1pKB8ylSjSLwXJN4LEu8FifeCxHtB4r2g
8P7UFumz2V5K3V208HNudCijhv61KOpxvy1VZdlfgy69FZve22lVcqtNnL1TsFdIXQ/alVLtgPTU
eSvfJI9W3j7vF+omN764v//6yz/lv34vbs1L4fEwdHilCXrlvJ+YYUMGNqJgS7nQ+5uArhO0KT3A
R9s2UmkW97T0rG6S0f4PK1BIAUUUUOwFVSyTo29w1DbncZp4CbSMCOtf36ZlRV0A52APy9D2OrfN
TWoInMt5kJcvHpoOPPePu78pE2RIRkZk5KYQgQMTLXZvC2movBTdqAqlaKvGNTil1nxNJW/0V5+L
dxLQAZJmzkvZlafqXZuQbdO4NPBgNDp9jWqzmPZmyOVN9ri5VbqC5+X5XLSgy1DO3SZYVvzr+TfP
SFbQsoaxj51Sm1LBg4eb8LqR8ttEjG5gHMZpnktJdxyS604vaMAXT3u2SHmEHDQuX/WFQ3L/cJ9m
lNFHKYl0OBxGHwWH6irU5/KyJXdwSfgRMnb3roKDloqKBtdmmFT3dSd/xJjksFHfrOJRS7RUglLZ
Y0x9EzwJvW80TVo6aAJtrU+1tDC6GxgQm7pyyo9Bbf+zeAWV7STpYGVws2NT1d/bRw2rhbLeVK8F
A+safC0agGAK/tDcbhARVVFWB7x7Lu9ylWjTW7rBxCkD6bCQBotosJgCW8bNCRF3Iv0mtf5ZTu4O
yFwTYTTwXNWpgdR02unjQr3fi2AWiVe+1pCHd6Dnc285KJXrBf4mwsMhdBXG4f6wW6ZoTYoP8dNu
56ZWSW3ubxuAu4ZjcnxaJrZNi3dyN/608QENcH4gkeM7joW7ODmIXRR4Ae4PiGQXP4kNQLQ/HGJn
F5NYHA5H9/cT8ZREbuokPh7DDQkYQOgDRE7A7mn/tNv6hAaEPsDGJw6QhLj1CQUIfQD3Jw5PkWzE
xic0wP2J4zGOD09egKt4J57iaItNGuAs3j0d4/2GHDTAWbx/ig77jZGsAa5i7SxSiqmEJ46CQp0M
dFIoF9EYZFK0tgV+JMrk8twHUreW64yjETU6mMtLXZ7LLJVLOqYsZW3aXV1kw4IB5b7mD+CyVp4n
P1waTRO1LLagsA6prY7cU3cuJJz+C7ryW4GZVW2nbGm5UDiyI0dK9bcg2iXxwZagZ0Mek8OegoRs
Q7GjIQ9PyZGEPOwiW/rkGnmQtkhM+vohEYLW9+PTPg4pX58O4bWJtYarfTgZF3pwehLK8fgc+Oo8
XQIYPj5US+iGLZxrB0UUUEwBJRTQjgLaU0AHCujoB6XotMOUSxJfZ/iQiSdwGzVvTmvLgA0ZWE4b
YgY2YWB3DKxvNIwBYrnF1KHaood/by4thrq5mbVrshR4iOQKQBCQQoUkVERCxSRUQkLtSKg9CXUg
oY4UlHgioUi8FyTeCxLvBYn3gsR7QeK9IPFekHgvSLwPSbwPSbwPSbwPSbwPSbwPSbwPSbwPfbxX
liBgPEA0XCmKCFM0Ou0mC95INKN3zauMJtCQDo3o0JgOTchQZb1BlA8XUHC7waaBTj+EVdYOxw0y
2KbkhbTG2huZZgy8No8eyXWw0WxLGDXB3/sGbQfck32AlDd8Rjo5/lwefBK9kZWXFJy8pzIvkU1t
45tHaocmW6f3YE3mIbBGoh2okISKSCjfPMBNL8voXFOEbIqIQjEJ553b9FZ0RU8aRyMxYf+CYPTu
1yoM0PkIrmk5GnkdgWFQewPujjqrpG0nd96WJIeRagwsuxC3R9WX90pltHR6qi/d0SP8Dsl23xq5
8R/cAW6omUJGa8gP9Cpw3/mJxnnnZooVHbLQEQdtsgAD8SEqZ8vaYnkCbVp2r/A8aq9D80OI4d1N
0j/aGnIBhlM72Iot5TWhkchrmedFrc7cEShuEl5Byjb1Ezh1MUmHAFbRTHfyD40o/AhR5CFCAnVN
jc8np08V46qvIm6wBqdOvHasbfR2QIReRORBpCr6uO2AmWMdyb5rOMlO0WBYZ/ICHKm3RlspHYtk
Du6uad68fkrzPx+d8nJqb6eZQToWq12rgcJb6zg1lTTQXsvMCwRta/mWJaDop2Dhp72xEoJDIJXa
wHgF0CTXSnmjRwtjTxrxjVwGUpwicEwRUQ6lpKtYJrzjl/Oy69vy9IDPY1qiZUGe06uUo032581D
tjGryuw5kO27Fdp7olvp/kTxVmSZjn+XdQ5x+e0vqZHYtJiggC1zVw7pAbhaAx9baBgQWKFtebn2
H2i/ztJbCkuVXhvH1yam/Tlo2vs1NZ9aZ37ZSHxY1eqRpG6kOni7N+3KxujuRVWpyxRqNKSkMn0E
3eMit444WB1wNfcD1Bf4Y3YtgHfns4NALs9Syi3OHswr9ODk/57liPWg0Op3YFTQ5qv599ftGied
SO+lVeI2aPdeZ8Ht0afrWJUbrxYiZRITaQiwXk9rP1TF7roibbMrtadqf2XPm3Di/bB/P4oHAdYV
ElhncmzetsBq5dN8AC2ZXcsqp1NITVlfCh9+vK3EJL9bdh1rsmvamb+roegjmDh8fFBogGXDsQaq
L8PSja/YegYtUDwgugpJ73LPkhIIFsUQofwUh9HTcema00VHsTsc9rai5Ensd2KVmjEvDO2F8e6w
vulpXuig3CXHpcvYFB3iMLZXGYYH4SraH5PQWpTeYQeoMimHleO2DECO2Pdx9wcJ4sMeEjPr3ETq
A382cjnD6aA2zCodzzb5J6T9VVqdl+t2JrEiUOm66lsr89QGCf2QyA+J/ZDED9n5INL4uoAx4WbY
BG05bK8xYM2q5FK5lVfKxiq4TE7l4RivNMe3+epEhyx0xELHLHTCQu9Y6D0LfWChjxy0XW040SxZ
CpYshVWWzv0alp7Lt6CFEakyTMC4nBx0cg171EhnWAsftcXDOwPdysps9tch0RGJ+k3YS1t9LAMO
Btdr6wlRV30cVPkscee/PEKrgdLmr8DuD5bu5020rbBEW05uHaomzRW35FKbUaFyjX2jYl/L2gpV
KUpqAIAxn8p/tl6k5BEo9/bhqPQlrcrc5XVUINzln9+dTtI3C80tfS6047Y1Gbmt3qyo9tm+VGPp
tWjNLstyVEUh748OlOxrrZtOAJa3u9z+lQZsHC6WHeM2oQc8Yb4VKu3c9n0jv0uh2gJsMdhDjOlh
uJy41ogtgpBLEHEJYjuB2gWhP47mYp8RaheKl6Mars+vaX/h9BTL2ns6IxxPhOmk89kRBFjTP0RM
I0L19cEPzmlJNKj6FSuvRdGTaBhtsmG6W9N019Fysg5ffdxodxBJgkl6HGC4BTw+7Z8sCYIz0PF4
OBzDbdDgDdxs2AQVklARCRWTUIkbNWwJxnk4+B3xtIyTFPBZ1w10g9PJRqHV9iakuN2bFhqM0Qqn
4YEtzotMYnHV6PrUbnzoWGLu6AQUT6oxQTO52wELyB5q91E+6k4uCb3qrTVAoWuYaHnXuFlgQgLG
OmYeNe4+NiarY5bKzjzuynVo3JzqEKorBdZPEBEJ8DgMqjEOgQq++SmUeDi9WFCEbIqISsHp+YRi
2vVz2vWf0rq84fCUqlhaFpJFwy/K/RhkaZ0VVfgBGhZJXvRpdjWTIfwLtDzSR4teryZPee0tJ85Z
IsmtVMGGtL2gl6RjUfflTf6c3u7S8sxfgMEfJGeRgdYGv1BaVeDV5NBOsONJyg4C53JPOvkpUL8E
3VUOW2kQ5tuEN8k+DLwQ0d2zNAQvyvJUl5fpD24Tfoim+R3/8kPTwl7lh6q8bxPIpbMzDuMZMxxk
YDRPfvgi/2nUEgkbMrARAxszsAkDu2Ng9wzsgYE90rHGv0PCMuQmGHITDLkJhtwEQ26CITfBkJtg
yE0w5BYy5BYy5BYy5IaG16gGfOoNa9BeHHWtttxHtZgCVvBotsAW/YT79pe0ehQdhVJ7Y6ZQ2LXD
u3Vl9ulprr1mJaGzJHKWxM6SxFmyc5bsnSUHZ8nRVTLXDbMSJw+EkwfCyQPh5IFw8kA4eSCcPRXO
nobOnoaunqY5OmTrIm3lwGzq9xvcqDjx76woVM7oAmvi5pM94YrwptLdz9KyySEjtHlt03twrpp0
Zo8tSK7F6Nhdld+LNgOPkQKZVG5aP/79KNvnYLN6BVl85NLKCTwJXtOolhd3rqgme+Gg7Z2o9lFn
ytJzg/BoUzDePgB8XnMYHURV+i43x5+U+1rKp+yaKjU3cpisKNjQWPs7rUL7+k7NG37vPj+S5SCa
XPPUnP5UgyiteISGCIcwcBFe7iRUMZiZt/TNNQym+DFlZwxO+L9iowLdX6V3K53kn14nPpnQUd3T
kJfq/X7taFidQ5uT0D4QepWpNVL6MxlL1GonJC+QDpmlFZ2EiOS1xYcar+J1Y8a1HIM9PrizgXrn
Zl7lsa7+a0xIwEQETEzAJATMzo+xrPVrDKHvgtB3QWizoLR5T8AcCJijHxMS+BMS+BMS+BMS+BMS
+BMS+BMS+BMS+BMR+BMR+BMR+BMR5k5EmDsRgc8RgYcRgYcRgYcxgYcxgYcxgYcxgYcxgYcxgYcJ
BUMYzwlBFglBFglBFjsCD3d+HoqnJwJGEDAhAUNpj1+map+CN7OofUDnJZmYhFCwJjAWMfj7bWvo
vDz0lEee8thTnnjKd57yvaf84Ck/bpdb1uJ5uYd/wsM/4eGf8PBPePgnPPwTHv4JD/+Eh3+hh3+h
h3+hh3+hh3+hh3+hh3+hh3+hh3+hh3+hh3+Rh3+Rh3+Rh3+Rh3+Rh3+Rh3+Rh3+Rh3+Rh3+Rh3+x
h3+xh3+xh3+xh3+xh3+xh3+xh3+xh3+xh3+xh3+Jh3+Jh3+Jh3+Jh3+Jh3+Jh3+Jh3+Jh3+Jh3+J
h387D/92Hv7ttvmXnjrjMBz295WPoqnw9Mr9Dtfw5pDq79jsW+nKIcmw6oerj3lE0QeIuCRtX/Eb
B0TRR4jiDxBxSTCm8xFWKELyF5XTz1zDiOeBIT2YSFzUFzg8fYaoebDD/6NRDpdaDZm6PDo5ksEn
mTV1B28Q1EXOo8cIQhN0WdtAsgKRy+hjxitzTnhmNEDHefdBYjg5m/U+4mmP1SF1TK0KMCkMFMAE
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
vbRw5p5eq+DUGtGhMR2aUKEhvVshvVshvVshvVshp1s7KjSicyCicyCicyCic4BiBkf6FhhCtwZo
RIdSGkC71iH6LiYGIAwyJCLpXw8ZdUZkZExGJmTkjozck5EHMvJIRB7InD+QOX8k13kk1ylX6xO5
WgSzao444JgDpg4YkdC7l9A7RwlxxeRLZWLypTIx+VIZg4zJyISM3JGRewIyphorAzSkQgWJUTHV
rBigCR26o0P3dOiBDj3SoYT9w4gVDCxDYIIhMcEQmWDITDCEJsiiCOlDPKQP8ZA+xEP6EA/pQzyk
D/GQPsTDgMHXI0METwwsQ16CITDBkJhgiEwwZCYYkmANcYYsQrIsIvrUiehTJ6JPnYg+dSL61Ino
UyeiT52IPnUi+tSJGFMnYkydiDF1IsbUiRhTJ2JMnYixOkSMaRYxplnEmGYRa5qFnHnGkFvIkFvI
kFvIkFvI4G9I5m9MV00xXTXFdNUU01VTTFdNMV01xXTVFNNVUxxwRPDEwDLkRVdNCX0YJAGj1ogO
jenQhA7d0aF7OvRAhx4ZInhiYBnyYg0DhsQEQ2SCITPBEJpgSE0wxCYYcgsZcgs584wht5Aht5Ah
t5Aht5DB35DB34jB34jB34ijyMj83dFV6Z4DDenQiA6N6dCEDiVPygOdAwc6Bw50DhzoHDjQ1f6B
rvYPDLV/pHPrSOfWkc6tI51bR/p4OdJX6SN9aB3p4jrSxXXkiYshrzRggUMOOOKAYw444YB3LG7w
eMfgx4nD6ROni6eg5NVdBiEPHvHgMQ/O7OqOB9/z4AcmI5l9DZmdDZm9DXnd5Q4c7sjhDh3u2OEO
Hu7o4Q4f7vgpOWuAktcTl4ApYfaQYIwJwYhYCnLIMqEHQpOAUSs5EJrQA6EJPRCa0AOhCT0QmtAD
oQk9EJowAqEJIxCaMAKhCSMQmjACoQkjEJowAqEJPbiZ0IObCT24mdCDmwk9uJnQg5sJPbiZ0IOb
CT24mTCCmwkjuJkwgpsJI7iZMIKbCSO4mTCCmwkjuJkwgpsJI7iZ0IObCT24mdCDmwk9uJnQg5sJ
PbiZ0IObCT24mdCDmwkjuJkwgpsJI7iZMIKbCSO4mTCCmwkjuJkwgpsJI7iZMIKbCSO4mTCCmwkj
uJkwgpsJI7iZMIKbCe380YhlyC1kyC0kyy2mq7yYrvJiusqL6Sovpqu8mK7yYrrKi+kqLw44Inhi
YMnySgIGNKRDIzo0pkMTOnRHh+7p0AMdemSI4ImB5YiWITDBkJhgiEwwZCYYQhMMqQmG2ARDbiFD
biFnnjHkFjLkFjLkFjLkFjL4GzL4GzH4GzH4G3EUGZm/O7oq3dFV6S5gNCCmQxM6lDwr93QO7Okc
2NM5sKdz4EBv64He1gO9rQdOWxM6dEeH7unQAx16ZIjgiYFlyCsNWOCQA4444JgDTjjgHYsbPN4x
+HHicJoRLjTwkAePePCYB0948B0PvufBD0xGMvsaMjsbMnsb8rrLHTjckcMdOtyxwx083NHDHT7c
8VNy1DorXDgSMCXMHhKMMXGk103OPNrRg4U7erBwR/fO7Ogulx3d5bKju1x2dJfLju5y2dGdGDu6
E2NHd2Ls6E6MHd2JsaM7MXZ0y3tHt7x3dMt7R7e8Acro1onTsYyxTgz4kIkns+RAb8qB3ooDpwEx
HZrQoTs6dE+HHhh8fWJgGUIQDClQ/WV7utbf07X+nq7193Sf/J6+QOzpC8SevkDs6QvEnr5A7Ok+
+T3dJ7+nLzt7+rKzpy87e/qys6cvO3v6srOnLzt7+rKzpy87e/qys6cn9O/pK9Ses0LtmSvUnrlC
7Zkr1J6+Qu3pK9SevkLt6SvUnr5C7ekr1J6+Qu3pK9SesULtGSvUnrFC7Rkr1IG+Qh3oK9SBvkId
6CvUgb5CHegr1IG+Qh3oK9SBvkId6CvUgb7sHOjLzoG+7Bzoy86Bvuwc6MvOgb7sHOjLzoG+7Bzo
y86BvuwcOGvJgbmWHJhryYG+Nhzoa8OBvjYc6GvDgb42HOhrw4G+Nhzoa8OBHh85MJaRA2MZOTCW
kSN9aTjSl4YjfWk40peGI31pONKXhiN9aTjSl4YjfWk40peGI31pONKXhiN9aTjSl4YjfWk40peG
Iz2b50jP5jnSleGRrgyPdGV4pCvDI10ZHunK8MiJ9AGYszYN+JCHZ3zgyIGGdGhEh9LkFz6RNW74
RNa4EhrTa405tUZ0aEyHJnTojg7d06EHKjSh8zWh8zWh8zWh8zWh8zWh83VH58COzoEdnQM7Ogd2
dA7sOBzY06HkkXWk8/VI5+uRzleGzjrS+Xqk85V+ch3BjDVnxIc8POMD4omFDRnYiIElylDQ1x1B
X3cEfd0R9HVH0NcdQV93BH3dEfR1R9DXHUFfdwR93RH0dUfQ1x1BX3cEfd0R9HVHkC19hJL5uqfz
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
PEwd71jBp6eEv7QojB7cBxan2gjW6Ez2Wqvkk5Ue//AeT/KxA5SSgux9h83DhWoFblAyKsbXSXAq
jCqcDXw+B4QHt5A3WqdKqv6cmMbInHw1up+NYe25kqvwTcXyvKBSreoKttgkS/XcydJtY/uBwav+
wvfcpwUCyu29h9cF87+Py3dsz9iiRLZKRmUnjlgGcBvajEfM3lcPROto635n4kI/JlMrQqGI0fUX
0xh+f0eCRRSGOLJtfs8eWWh06uv/1ri3fDYm1zCbOmQEnYSTo2fBNYm4MUnotJk7hwFkk98Ll2Gz
UT9pKRqOj9pPPex62LaiqZpa08mbH38iFkZvyZLbkyCg6fFbz2FgvlJV22rrDn/LVBpqXdWUWiS+
oKu1JsGKk2QULTj0gjKwwuli20lFgS4JIqwhCP77sBgS7jm+mPbBHlf1ZhbFdOFSm3g+xyFLNL1d
v4JlwqWU2K6dji1Y9DF9LdaOlHoh283itttn9Lt9Pr83V7DT+/1v2yX83l1sCzn+7brfL2a8Wdy4
nm+5+AtQSwMECgAAAAAATLDzQAAAAAAAAAAAAAAAACEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9VVAkAA++DCFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAHaw80AAAAAA
AAAAAAAAAAAqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vVVQJ
AAM/hAhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAB2sPNAAAAAAAAAAAAAAAAAMgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvVVQJAAM/hAhQ
04QIUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAB2sPNAAAAAAAAAAAAAAAAANgAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L1VUCQADP4QIUNOE
CFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAdrDzQAAAAAAAAAAAAAAAADsAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L1VUCQADP4QI
UNOECFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAdrDzQAAAAAAAAAAAAAAAAEIAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy9VVAkAAz+ECFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAHmw80AAAAAAAAAAAAAAAABI
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvd2ViZ2wvVVQJAANFhAhQ04QIUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAB2
sPNAJBLyKakAAADfAgAAbwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1p
c3N1ZXMtc3RkZXJyLnR4dFVUCQADQIQIUECECFB1eAsAAQToAwAABOgDAADNzr0OgjAYheHdq/hG
XQhtacFuxKBxEExj4kAMKW2BJvwYWgfvXhJXd1lO3rM9JY4IY/y7iOIkIXEUM0YIz4QoBG9743Cl
Bl1poyZt5kCpLUUh2z3gmoljIS5pfsjgnor8nJ84pN7Ptn55AyFYB9o6WfdGB3DrlttJB862Y2OV
HD08zdxM8yBHZZYeZe/fm/IXaR/S/bpINEQxTtZFQphStC4SJlH0P9IHUEsDBBQAAgAIAHiw80AZ
FPsR0AAAAKgBAABuABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvcmVuZGVyZXItYW5kLXZlbmRvci1zdHJpbmdz
LXN0ZGVyci50eHRVVAkAA0OECFBDhAhQdXgLAAEE6AMAAAToAwAAxY49a8MwFEX3/oo3tktw/KE4
2tzWMQbHKSJth1DMy5NiCxQ5SEqh/74mWRPo1uVwL1y4ZxenCWP8ynkW53myZPkyShNeCrERvDfK
xx0dZScVjVK5GdFjNo/Y0xdUDVxGwKumq9uPoqlfu4nvJXDozbO2sgjB6X0zEgY9Wg61/UajJdCA
Diko97C7YbCIspT9xeCtFKuNWBftSwmfhWjrtuJw/TwHBRFoD1J73BslZ7AdpjqgB697e9CENsBJ
ucPojmhJTdmiCT/3lBYs/jelX1BLAwQUAAIACAB3sPNA/Ace19wAAAA4AQAAYwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQADQYQIUEGECFB1eAsAAQToAwAA
BOgDAACNj01Lw0AYhO/9FXPUS0nzRdxbsDEEYiJL0UORsN28SReSTdl9q/jvjYo3D16GmWEOzxzD
OEpT8aO7JMyyKIuTOLqLRSFlK8U4kQ87PfddT3rpyW21vkl2QXr7iqdCPrTyMW/uC7zksqmaUiBn
duZ0ZUIA49Ebr04T9Vsczms8Kw9vRjsYrSzjQm5Y3KysptVbNfHH5vgnUhIku38glTW+RxBl3VXN
c15X+65dQfND1TYQGKe9U+/FRDNZ9gKKmeYLgxcorcl7LFfGMsApOxLeyLFZaxj7Nf19tvkEUEsD
BBQAAgAIAHaw80Al3qW/yQAAAF4GAABsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0
LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQJAAM/hAhQP4QIUHV4CwABBOgDAAAE6AMAAM3SvwrCMBAG
8N2nuFEXSdLmErMVFCkUK0VcREpMYymolTQqvr3/Vh/glhuOb/jx3e1EmiCa3+RSaJ1gKjkqYRZV
VVamPflB1O7c1I13fePD1Lmx5Awne1gW8A2BWRZ1vtpmRT6vy/WiyjZ5uQID7Wke7CMLwT4HAzZG
f75GiD1Y5/wwQH+L0B8h2Evr4e5D7N5r6C6faOgOt+iBjXZ/iQKVIk5MpODEiVJJ6ofGNNHUiTNG
/Bdxhop4i4ozwagTpZbEiYJpOi2+AFBLAwQUAAIACAB5sPNAWqr37ooAAACTAAAAcQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL3dlYmdsL3VuaWZvcm0tbG9jYXRpb24tbGVuZ3RoLWxpbWl0cy1zdGRlcnIudHh0VVQJAANF
hAhQRYQIUHV4CwABBOgDAAAE6AMAACXHQQuCMBiA4Xu/4jvWRebUIbuNWNEhjRF0iJC5fepAZ2zr
0L9P6PLyvE9aFozxf/OK1nVJC8JoVXOpVKv4OGOknVlsZ9GsFkNmzL7KCTu84CbVqVVX0RwlPIRq
Ls2Zg0gpuP6TEAi4CNZF3c9oM7hP2046QnSjH5zRPsEbw7CGRXuDm72e03f3A1BLAwQUAAIACAB2
sPNAJFA4cYsAAAABAQAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIu
dHh0VVQJAANAhAhQQIQIUHV4CwABBOgDAAAE6AMAAIs2MjE2M7OCkIamRhYWQIaZsbmpmZVrUJB/
kFV6TmqxUXxybkp8SmpyfkpqkV5ysoapoYGZZqyCu48CWJGClbtPvKdfmKOPp0s8kAx1VbBSSM9x
Ty1xTC7JLEt1LCkpykyyUsjMS0mtUMgvLVHIT1MoSsxLT+WKxmq/iZmRMRXtD83LTMsvysXqAABQ
SwMEFAACAAgAdrDzQOYEGtQFAQAA1QkAAG4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRz
LW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQADP4QIUD+ECFB1eAsAAQToAwAABOgDAADN1Etr
g0AQAOB7f8Ucm0vYh/vQWyASBIlFSi+hiK6rCOqGdW3/fm1DbzkVQucysMvAfAwzc2ERlzK5RSqY
1lwKJsn2SsuyKJN+tAurzNRWrTWutX5vzLOgRO7e4ZTDTxIkp7zKzm+HPDtWxUtaHl6z4gwJ9OPR
15/paCc7hyUBX8+9BbcGcB00bp3bBTrnoVm7zvqny32MJgoNRjFEnVE61lgwnAjC0WAoYRIPZquG
BsMJwzMzXEZoVptHSrJHYOoQ7HQNEBzUxthl+YXdlB/Wh2H7hmH+TvVDswYL5D5S0PgxyL90bJvs
OELfMa5jiR4ZxVShR0qp8S+IEhTN5Rdb+I/L/wVQSwMEFAACAAgAebDzQCu4ztY+AQAAoQwAAGcA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQJAANFhAhQ
RYQIUHV4CwABBOgDAAAE6AMAAM2Uz0vDMBTH7/4V76iXkV9N0tyK1jKYnRQ3D0NKl2ZdoEulzUT/
e6u7KvTgXC6PFwi8T/L9ft+GMMq5OlUcESkZQThGcaTSolgWqmnNQEp9qMva6K42/Uzr6wgjfvMC
j2lxvywekvw2heekyOd5piDxvrfbozeAwA5Q26HatqaewdN+PO6rAQbbuJ3VlfPwavpd1x8qp83Y
u6r1H1ebn5EolsEhMREckiQTkLIFfF8ClS3Keb5OFvO7cqyrFBQ0bWZ8or19MydKBdbV5h26o4du
B33lGvPbfI7oH85fOfv18OkAhFPGwtKEcB6aTQgXIrhfkhJd0LlE4Ekqnc25VAgc2M6lEpHgkAjB
oSHRWIaGFIXnJT5JuHPlm8oY4Uvmmwkemk3YmG8WGhKhODQkGvHQkBiPLhgmJgXn/xSmT1BLAwQU
AAIACAB3sPNA1N75jKsAAACUAgAAcgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24t
Y29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUCQADQYQIUEGECFB1eAsAAQToAwAABOgDAADNzrsK
gzAYhuG9V/GP7VI0NjFmExQRRIuULlJCGv+K4KEksb39ntZegMs3fLzD05BDwJj4rU8J5wEnEWM0
EmldV7XoBrRE6rGVLeq5RbPXekt9j+0ukBXwjUBkhczLc1zkiayOaR2f8qoEAd2QGPVMBxxxclaA
cg7HuwM3g9IarYV5cTDfwKipQ3igcf37hn76pKa/Lg7B2zR/kWFA2fqRnJLVI7kfhCtCvgBQSwME
FAACAAgAd7DzQDo9GnOfAAAASgEAAH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9u
LXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQADQYQIUEGECFB1eAsAAQTo
AwAABOgDAADNjr0KgzAYAPc+xTe2S1GjaZpNUEQQLaF0kRLS+FUENSWJ7ev3b+0DdLnhuOHaKCaU
8i/DJGKMMELZLk54LkQjeD+ii6SeOtmhNh3ardbrJAzo5gxFBZ8IeFHJsj6lVZnJ5pCL9Fg2NXDo
x8yqRz7ihLN3HJT3ON08eANKa3QOzOLBXMGquUe4o/XDS8Mwv1M7XBaPEKzan5P7mPzT5BNQSwME
FAACAAgAdrDzQNTwNxiYAAAAAgIAAGIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qt
c3RkZXJyLnR4dFVUCQADQIQIUECECFB1eAsAAQToAwAABOgDAADFjrEKwjAUAHe/4o26SJs2achW
sIRCUCjUpUjQ5LUE2gZiFD9f0dVFEF1uOrjrSJ4xJl5MKeE8YzwnCWGiappdI4YRz0SbyWqLxlsM
a2OWNE3Y6gBSwVMCIZWut/tS1Rv9YFuBgGGUGEsT3RXb2fU+TALcbPEG/hLB9xCO84CL7v1Awfhf
BwpKiy8OlDEGd/qgz5Oc/qZ/B1BLAwQUAAIACAB2sPNAW4wt5pUAAAAmAQAAbwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADQIQIUECE
CFB1eAsAAQToAwAABOgDAADFjrEOgjAUAHe/4o26EChQsRshaBwE05g4EENK+4AmUExbB/9eEld3
l8vddg1JYkrZl1FKsiym2YHsw4SVnNecDRM60spZtQrlotAGUm7TKKS7B1xLfqz5Ja+KEu45r87V
iUHuvdXdyyOEoB0o7UQ3oQrgNq45CgdOD6bXUhgPT7T9YmdhJK5uxOTfm+bnEiWU/G3pA1BLAwQU
AAIACAB3sPNAU9ztPVoAAABhAAAAaAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2
aW91ci1zdGRlcnIudHh0VVQJAANChAhQQoQIUHV4CwABBOgDAAAE6AMAAIs2MjE2M7OCkIamRhYW
xhbmhgbmFpZWrkFB/kFW6TmpxUbxybkp8SmpyfkpqUV6yckapoYGZpqxCu4+CmBFClbuPvGefmGO
Pp4u8f4BrkGOIZ7+fgpWQMgFAFBLAwQKAAAAAABMsPNAAAAAAAAAAAAAAAAALwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvVVQJAAPvgwhQ04QIUHV4CwAB
BOgDAAAE6AMAAFBLAwQKAAAAAABMsPNAAAAAAAAAAAAAAAAANQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvVVQJAAPvgwhQ04QIUHV4CwABBOgD
AAAE6AMAAFBLAwQKAAAAAABMsPNAAAAAAAAAAAAAAAAAPgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAPvgwhQ04QIUHV4
CwABBOgDAAAE6AMAAFBLAwQKAAAAAABMsPNAAAAAAAAAAAAAAAAASwAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250
ZW50L1VUCQAD74MIUNOECFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgATLDzQNNPsbpuAAAAcgAA
AHsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3Rz
L3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1pZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxv
d2VkLXN0ZGVyci50eHRVVAkAA++DCFDvgwhQdXgLAAEE6AMAAAToAwAAizYyMjUzszIyMjOwsDI0
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
ClxIb2UpaknmYFVnsvvdA9JPPNAPN2RhZ3zvVjtn8qz7EwWOZXWTFza7qegr/dwB00XM31FX5C7l
6zFeIctF1NbDw5zO8tn/XB7/+6fjq+ubD8fXP14c/d385/XlweFxe+AlgAfPzcj8dPJLb/FWT4J5
zi++kYU3XlLiH67OGmy+H3caJv4fUEsDBAoAAAAAACev80AAAAAAAAAAAAAAAAAdABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvaHR0cC9VVAkAA7qCCFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBAoA
AAAAAA+w80AAAAAAAAAAAAAAAAAjABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9VVAkAA32DCFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAACev80AAAAAAAAAAAAAAAAAp
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9VVAkAA7qCCFDThAhQ
dXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIACev80D+waUdQAEAAFoCAABFABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwudHh0
VVQJAAO6gghQuoIIUHV4CwABBOgDAAAE6AMAAI3RXUvDMBQG4Pv9isO8mMLoso9+MBBhOlBRBjoU
ryRNTte4mIwkXVuH/93MWYfCYFchh+c9OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUBIo+I
T6RmS9hcz+/vPg/SX6x5DZvJ7OplZ5Nu8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOmUHtW
Cu7yrRtD+8Z1LKy0tSKVCJn2dwJbMIbWZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhutdGFl
HcCzr+S6kFx1HDBDbQ4iA60QdAYu1/sG1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9tFjY
oMR0KVygzaLnzy5ffTFgC3Eh+Hk8iKNBAO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UHTXDo
/7QfktYXUEsDBAoAAgAAACev80Cc6ad1BgAAAAYAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAkAA7qC
CFC6gghQdXgLAAEE6AMAAAToAwAAUEFTUwoKUEsDBBQAAgAIACev80BXNUJbmQEAABcDAABDABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdl
dC1kaWZmLnR4dFVUCQADuoIIULqCCFB1eAsAAQToAwAABOgDAAClklFv0zAQx9/zKU7lYaDEidOt
TTQJUQqTADEV0QrEE3LsS2PmxVV8XlOqfXccSjeBVGkST7bPv/v7f+djjEFGt5vMiJ31xAgdsQ6d
N+SyhmiTDRGXSSEbzDb2963SHUpiaySG/SZsUaXUE0RxHP+XmpDkhTlozWbA8mQMcZ7kHGaziH16
vVxGLIqDOHYgCJ7zhL8Ap38ilJz3U86jGOAztgq7Lxq3p5gnCcyNlTewf7e6/nh/mn2grdrBfr54
++0Al0n5By7Ki35SXhzgI77CUOL+GYXlX/GimPZ58cADDBB0vn3ktlpRM4CXMHpPZw5CJ52uDEJt
Q13gvJToXO0NdHgnjFaCtG2BLEjhHQLeYUtuONeh+eB2rWw621rvzC6FryHSWG9Ue0YgO+Ea0DXY
FsHWQI19FHBkN0GmwdFJu/lkcjR8PuXBsLFCpbBEhGEg3GWWVX7t0i1WN5pS262z8Pj2ewimcq1f
afWyGBfTcQqjJ7eQ9/xv9uq2QqVQLaofYdRgv5h/uHqzOqQFV8n4mHkefjaf8OgXUEsDBBQAAgAI
ACev80C5x48m2x8AAKgrAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwucG5nVVQJAAO6gghQuoIIUHV4CwABBOgDAAAE
6AMAAO16aVSTV7t2rLW2otBWxQoibQVRELAyCQixReUNCBQZgiBERcQwypSAIWBVSgsqGgVkCDgw
CDFEhhDCFCdAQEETIkMYZAjIkDAHSEhy7rTvedf51vp+nN9nNQsWK8l+nr33PVzDfvjzV0fbTRvU
NiAQiE2ofx05gUCs/R6B+Mzjy8/gk61bturAn72RRz0ifS/4+QZGRAUjTIzOnPXdb25kZHzQyM/3
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
6FpZvBNn8c6qcmFOFTcgNCe6CJ7Tn5eLReBC8VUreE41b9EB9/CB9dkpkPqLkDLWjBk7ArhBI9Hd
KtwcQN4jn2kr1rC9Xv74/ngQfYatbGE7m3/5tWPTfvrEJul5M0rP/7N7eomNh+2xD8Nb6yQZN4Nk
jwN0DLjavGAbJX3ZcRPoffUnBJUlUrlGKGw4E1AtBBIVtQaHD1wryb2yBrwFwWtCwAc0nrp1oRwC
tUaUzhpbk24juAuV0tZamhMPwnEqQRVgDYItwJf2xYC8rYJNib1DaQej0T7v2ZiFvNpyGcECEUrv
K5rEcV6vKNpgvlY+sm4Vh703v0MxEiv1ScmLZJiMhxH03nt/rGGv0Ks/OUqJcp7fowii+ezb1efl
ThUy9Yd74Vl408GIPf23oyzufuQ/UEsDBAoAAgAAACev80Cc6ad1BgAAAAYAAABTABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJl
c291cmNlcy1leHBlY3RlZC50eHRVVAkAA7qCCFC6gghQdXgLAAEE6AMAAAToAwAAUEFTUwoKUEsD
BBQAAgAIACev80DV9h1ikAgAABsfAABXABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5odG1s
VVQJAAO6gghQuoIIUHV4CwABBOgDAAAE6AMAANVZa2/bRhb97l8xsJG6LUyKsiRbj8RF4we6Rbsp
1sEu9pMxJIfixCRHnRnaUrL973vnRZEUKbnYAO42aETO48657zPM21Tm2dXR25TgGH6E3GTk6mie
0eLxDM2fqKCSxOjLEYL/JFlLLyYR41hSVsxRwQqy0FMh4zHhXsikZPkcDVdrFMMziRdHfxwZcVZI
xDLG5+gkGM30nH9HM3JDk8TOhzh6XHJWFrHnliZT9ad+kDlBsIzG6CSOYzOXsEJ6Cc5ptpmjnBVM
rHBkAeaYLylAHpIcBWZoxUA5rQcnGWj0RDSgdNhCOhqNOuQLXAhPEE6T2qSgn4k+o36ol5FEzlHg
T9x4TMUqwyBE4jAjXkSyzEw801imICAI3liMOI5psax2G3zWPeqp6SELmRYpAJPV8pQ9Ed7SajKZ
LPoMTogxha/88gucJezmJGMYVOF0mcqm99SqazABpkV1FAPzUwlqBgfUtlp6Wm7DUs8paOdpP6pw
e+Z4tUV2TyLlv97A0ZubYdMOGRu3zu4QVMFqbU64Xa/AxSAfVCNnyFc/bQ174Qkak3Cj/kYa6vuM
RY+/YS59UHWeUC6kF6U0i3sNq467h/1n+4RxkoNrzw6cZ89w5qcFhA/xQrWkEXYTF3UQLZJGOPNw
RpeQH5J1qMWJivafcBFnxJnDylEmVO8pMQ7dxnNUcqFco2C3sxCH4J3SeQzOrALHJJCGtw9FI853
w2HJyWbRCkx/cshfxsTIl+ygmf2Es7xlbFsj1RnK6n8v85BwiCZSjy4z6oDvllIbtbNZowi6dOkq
hS6Tx+NxK/d2vV/VGCVoYlLApEFV9G0c2PDsChEDtxFOI1uwaoprFTsLjmkUvWbZV6QUQms7V0hs
wDgdGmm64sQziaqnwJT6FVTgBD96asDIpTlekoZT5ui8snWYYWVAtTCCqgAYwKv2CbVV3jpkOp71
lt2EJNvcVxEFEqvuWEvkjq1xEje3gp9F//IZmS32tfRKki0wdRw2Ifq7dRzvCEAxyfp3kNlBNIPv
0X25WjEuodFyG8Rg1DwnhRTo+wGch0uZMmNv04wVl4GAlxCikfOU3qDX9LT/ao0CgyEk9GJXyS5c
TKtKg7Ps2iHoXH1u2liO116js3cdAzbeK7NK4Cpzd0S29/tsRUx39J5J+EilJ7nKLqO1AYn8c7Go
QR5bBU+ExLIU78sQWnXV9nyVKZ1wYEvI4o2es7THVbCxa6knkrEsxLwpwGELmc7W7XjOPrvBqkSN
TEpbRqUeHWdQz/3ksK9+7CV12whJ6NpWKKeDj4sIos0yL6dq0NTTx5qgmETcbfHPFKoFbwWjPQqh
zx4tYrKGMrZH422XrEHoUteWq0bvm9o6VyiYNqU7+xacB444CPRiC3RoGr7rUOZNg7XPVXuzrxXg
irY1jqYJx7lB2OLITY5Ry6zrnlq8a5sNEFH2bIkAyYBVgltf0LUuZnfbqLPh3jOpDdGcqzhmvMud
m8zZyjDm2w3tXr4Qu0psjvnRlRJ3Fwrqsx9dF21dWi4uXcnbhbknd2rXIZFjQ/TrVblgHIYXPbXJ
6q/4meg6HNusM+kedC6Z48Rll27LBahzjP6DjhdHVTuuNfH27gwDRWeJJzcr0inq2OxLSaYrYkUy
sSKZPQ3oJCdCOFbRa6Iui9YC+15X5pf0OegpwHaeKCvFdTUCJPUzKa5rnbCriTs+0e4p9W4Ciekl
mcr8oXakLdj1MRtMtg6M3N3qRaisd4HIEKnCutEILLfrYXb1BhuWkBhFvXS4Jh7Tp3nCImtLVkqV
8vUMCrNS9wg7BeGQABZoTUOnSL1LailAVD6mxJw0sC12CfiVDpIhCXOhWW0jSaAnilVZlb/a2ACw
IWfP4HigACmGvZb5UOkrplPpMZ5Yll7xDfvuElyxVfV/0GyP7rNNm8PnNIZblPWQIGXMHsz16oE8
AdKHWhHeVt03DSryptk361c6Xb684dBWaRUBwt3eO7oOsDkm8BM4F0xMWr2nLnenHXpDf2SI1/br
iSMOHU4+ubm5qZWEk+ndzd3krrOGAUXtTpfb29su1HOSr+SmGV2WDLVW+vAISG2JsUJn02Bqa1uU
EcwfNIVwFwo1ou9dqVrydmA/3b0VEacrCBoevTtOpVyJ+WCAP+G1v2RsCZtWVKjc0GODjIZi8On3
kvDNYOiP/XP74ue08D+J4yuQq+VdoabkiMXEUz4kz7DuBwgl5cx341FtC4CynxUVNYQfSDjAjYV4
d+ruE6fq2+PwaiDz1QAiAMzkSQKVFwKvzKQYKA0GakQMIhylZKAyBdi0TD39HnuihIubYCWPiPCA
yZQ48yX0Mjh82Dyz9s3odHdG3+X7xtUdH5m7TGuJuuWg5reh7TooTIVbqD8ObEnF6dUQDAXzV41V
UCPqa74pQrFadC6Efn169duP9/d2FqwNsL4WuPOvAK4NTP/0mxeS9bBt7aK92PfgYi/wgMYOsahO
k+jb4Cz4DqkqgKZBsL4Igj9n768K+LwfMEL/IEDD+T8hI/9yuEf/b4YeHza0Dlz05aePv/7yx18O
/2Qf/koDfWF//+Hm30aB6dnUKnA5Ha8n0/ErKnCxXwGngrm1nKiJthMuLy/Ww8vX1OHykA7mixfi
ZbHFrqmUAj9H3/xeMrn4mzwVivoIqlij+vqFgRFG0O1EUmZQz5+AvsX6g5limBEuBUGasAn1nlBO
kNgUUcpZAZQ72/joXzCSsjKLi1OJIo5FChds4J3APROgnGwrQACjUiyUGCyvaMzpnzbmcDJx5hxd
BM6cQKFiH90Tghw5Csul8M2Vxmd8OQDTPD/AoB8t6Q80fnd5fnlx7qNXt8Dsf06JYP2aNWkYvEyB
W1gexyT+EH4Csoa+fHj/8+31R6MLOPLs3KkzgjI7nAQHaUaNPCtSoqfra7c/mqcCcdT/Jv5fUEsD
BBQAAgAIACev80CNpXyKjwEAAOgCAABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy13ZGlmZi5odG1sVVQJAAO6
gghQuoIIUHV4CwABBOgDAAAE6AMAAI2SX0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7
pjH17MjXockqvvuclYJAqsST7Xt/5/j4T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9b
vOhaWbwTZ/HOqnJhThU3IDQnugie05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR
3SrcHEDeI59pK9awvV7++P54EH2GrWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeD
ZI8DdAy42rxgGyV92XET6H31JwSVJVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEc
ArVGlM4aW5NuI7gLldLWWpoTD8JxKkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK
7yuaxHFeryjaYL5WPrJuFYe9N79DMRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn
5U4VMvWHe+FZeNPBiD39t6Ms7n7kP1BLAwQUAAIACAAnr/NAucePJtsfAACoKwAAUQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXMtYWN0dWFsLnBuZ1VUCQADuoIIULqCCFB1eAsAAQToAwAABOgDAADtemlUk1e7dqy1
tqLQVsUKIm0FURCwMgkIsUXlDQgUGYIgREXEMMqUgCFgVUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJD
GGQIyJAwB0hIcu6073nX+db6fpzfZzULFivJfp699z1cw37481dH200b1DYgEIhNqH8dOYFArP0e
gfjM48vP4JOtW7bqwJ+9kUc9In0v+PkGRkQFI0yMzpz13W9uZGR80MjP9yejs+dMDhif9/M1NTI3
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
ejIdv6ICF/sVcCqYm8qJmmg74fLyYj28fE0dLg/pYL5yIV4WW+yaPinwc/TN7yWTi7/JU6HojqCK
KaovXhhYYBQBQ0zKDOr5E1C2WH8kU6wywqUgSJM0od4TaI5IbIoo5awAmp1tfPQvGElZmcXFqUQR
xyKFSzVwTeCbCdBMthUggEUp5kkMllc05vRPG3M4mThzji4CZ06gTbGP7glBjhCF5VL45hrjM74c
gGmeH2DQj5b0Bxq/uzy/vDj30atbYPY/p0Swfs2aNAxepsAtLI9jEn8IPwFZQ18+vP/59vqj0QUc
eXbu1BlBmR1OgoM0o0aYFSnR0/W12x/NTYE46n8H/y9QSwMEFAACAAgAJ6/zQNsolAOhAQAALwMA
AE8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1j
YWNoZWQtc3VicmVzb3VyY2VzLWRpZmYudHh0VVQJAAO6gghQuoIIUHV4CwABBOgDAAAE6AMAAK2S
UW/TMBDH3/MpTuVhoMSJ061NNAlRCpMAMRXRCsQTSuxLY5bFkX1eUqp9dxxKN4FUaQ88WXf+3f/+
dzZjDBK67ZKm2GlHjNASM2hdQzapibpkzNhEFKLGpNP+tldUs9+xZNaVHtbOCLQMhw4FoYxpIAjC
MPxvyoUgVzQH3cUCWBpNIUyjlMNiEbBPr9frgAWhb4QGCoLnPOIvwKqfCDnnw5zzIAT4jK1E80Vh
f4p5ksCy0eIG9u821x/vT7MPtJY72C9Xb78d4DzK/8BZfjHM8osDfMQ36EfcPyN//CueZfMhzR54
gBEC49pHrleS6hG8hMl7OrPgt2pV2SBU2s8F1gm/TVu5BgzeFY2SBSndAmkQhbMIeIct2TGulEGw
u1bURrfa2WYXw1efqbVrZHtGIExha1AV6BZBV0C1fhSwpDsvU+PkpN10NjsaPp9zb7jRhYxhjQjj
57CXSVK6rY17LG8UxdpsE9+8/+6TsdiqV0q+zKbZfBrD5Mkr5AP/m726LVFKlKvyh/+5sF8tP1y9
2RzKvKtoeqw89y+bznjwC1BLAwQUAAIACAAnr/NA/sGlHUABAABaAgAAUQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJj
ZXMtYWN0dWFsLnR4dFVUCQADuoIIULqCCFB1eAsAAQToAwAABOgDAACN0V1LwzAUBuD7/YrDvJjC
6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//dzFmHwmBXIYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJC
WgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+seQ2byezqZWeTbvJj42RUhcno2zZ6jpWDzYnzy//W
cRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUilQiZ9ncCWzCG1maFBINrKgWnTmgFTgOjhUXANSpn
t/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20OIgOtEHQGLtf7BtbplW+TY/vQtP0wbOYdRsTPKzXl
ATwiQu7cyo57vbRY2KDEdClcoM2i588uX30xYAtxIfh5PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdm
k9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAAAAAB3r/NAAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9VVAkAA1KDCFDThAhQdXgLAAEE6AMAAATo
AwAAUEsDBBQAAgAIAGav80DozwUVvwAAAEIBAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9taXNjL2FzeW5jLWFuZC1kZWZlci1zY3JpcHQtZGlmZi50eHRVVAkAAzCDCFAw
gwhQdXgLAAEE6AMAAAToAwAApY6xbsMwEEN3fcXtykXoktlBOrZogHzBVWJgI4os6E5t/Pe106V7
Fw4k+EhmpmD3GrIsczc2qHGD9mwaRrMaNkfDfdIYRJcSWUrihCsaa2xTNcajIhrS3h5Gznv/b6JE
65J/ecNA/LI7kN9kGBydRsSbko1iq4CeDBKzNn12A5ncoFQbIkpCiaD5C42eA3vnNc/fx63i6PXj
/TQXQ7G3WRKS4z9hXi1H5+PlQtpjhOq157ycpSkSTeuB1uHI/QBQSwMEFAACAAgAZq/zQOjOoKp3
AAAAjgAAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvYXN5bmMt
YW5kLWRlZmVyLXNjcmlwdC1hY3R1YWwudHh0VVQJAAMwgwhQMIMIUHV4CwABBOgDAAAE6AMAABWN
wQ3DIBAE/1fFVZAeLOKfLSNBAwTWsmUEEXckcvchn5nXaMyBeAnrEXQAHOQukYNqO19dwRouCL8b
IkpCieD6QeOEHe1Bkut3+hf03FZTi6LoUkNCojxEdnKOpccIkb3nfNvQBInPcWwdRH52ns222mX2
M9EPUEsDBBQAAgAIAGav80CS4xzYxQcAAIEbAABPABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9taXNjL2FzeW5jLWFuZC1kZWZlci1zY3JpcHQtcHJldHR5LWRpZmYuaHRtbFVU
CQADMIMIUDCDCFB1eAsAAQToAwAABOgDAADdWVtv2zYUfs+vEBJ0AYpKtmM7i+3WQ5c02EN3AbL3
ghIpiw0laiSVxN3233d4kyVZsj2s6MNWrJZ4OTyX75zzUX2bqZytz95mBGH4kWrLyPpsyWjx+CZY
PlFJFcHBn2cB/KfIiwoxSbhAivJiGRS8ICszFXOBiQhjrhTPl8GkfAkwPBO8Ovv7zIpzQhLOuFgG
F+PpwsxF95SRO5qmbj5GyeNG8KrAoV+a3ug/zYPsCZIzioMLjLGdS3mhwhTllG2XQc4LLkuUOAVz
JDYUVJ6QPBjboZKDccYOQRhY9ESMQtmko+l0Ou2RL1EhQ0kETRuTkn4h5ozmoSEjqVoG42juxzGV
JUMgRKGYkTAhjNmJZ4pVBgLG41dOR4QxLTb1bqufC49+akfIqUyLDBRT9fKMPxHRsWo+n6+GHE6I
dUWk4/IRzpJuc8o4AlME3WSqHT296hZcgGhRH8XB/VSBmeMjZjsrQyO35annDKwLTRw13J4FKnea
PZBEx28QOGZzGzZdyDjcer8DqMbliz3hw0sJIQb5YBp5E0T6p2vhoHqSYhJv9d+BUfVHxpPH35BQ
EZi6TKmQKkwyyvCgY/VxD7D/zSFhguQQ2jdHznNnePfTAuBDwlgvacFu7lEHaFE0QSxEjG4gPxTv
MUsQjfafUIEZ8e5wcrQL9XtGbEB3eE4qIXVotNrdLEQxRKfyEYMza+DYBDLqHdKihfN9OGwE2a46
wIzmx+JlXRxEih91c5QKnnec7WqkPkN7/Zcqj4kANJEmuuyoV3y/lDrULhatIujTpa8U+kyezWad
3NuPfl1jtKC5TQGbBnXRdzhw8OyDiFW3BaepK1gNw42JvQXHNopBtxwqUlpD5ztfSBxgvA2tNC0F
CW2imilwpXkFEwRBj6EesHJpjjakFZRlcFX7OmZIO1AvTKAqgA4QVfcUdE3eBeRmthgsuylJd7mv
EQUS6+7YSOSerTjF7a0QZzm8fEEWq0MtvZbkCkxTD5cQw90a4z0BASZseAdZHNVm9Dp4qMqSCwWN
VjgQg1PznBRKBq9HcB6qVMatv20z1lwGAK8AoomPlNlg1gy0/3qNVgYBJMxiX8muPaZ1pUGM3XoN
eldf2TaWo5ew1dn7jgEfH5RZJ3CduXsiu/sjXhLbHcNnEj9SFSqhs8tabZUMoiu5aqg8cwZeSIVU
JX+sYmjVdduLdKb0qgNbYo63Zs7RHl/BZr6lXijOWYxEW4DXLeYmW3fjOf/iB+sSNbUp7RiVfvSc
QT8Pk8Oh+nGQ1O0QktIXV6G8DREqEkCbY17e1HHbzggZgmITcb/FP1OoFqIDRndUEHwJaYHJC5Sx
AxbvumRDhT5zXblq9b4bV+cKraZL6d6+BedBII4qer1TdGIbvu9Q9s0o657r9uZea4Vr2tY6mqYC
5VbDDkduc4xGZt0O1OJ932yBiPJnRwQIA1YJYT2ha10v7neoc3AfmDSOaM/VHBPvc+c2c3YyrPv2
oT3IF7CvxPaY976U+LvQuDn7u++inUvL9fe+5O2reSB3GtchmSNL9JtVueAChlcDtcnZr/mZ7Dsc
uayz6T7uXbJEqc8u05YLMOc8+Cs4X53V7bjRxLu7GQKKztNQbUvSK+rc7ssIMxWxJplIk8yBBnSR
Eyk9qxh0UZ9HG8B+MJX5lD4HPQXYzhPllbytR4CkfiHFbaMT9jVxzye6PaXZTSAxw5TpzJ+YQLqC
3RxzYHJ1YOrvVidp5aILRIYoDetWI3DcboDZNRtsXEFiFM3S4Zs4pk/LlCfOl7xSOuWbGRSzyvQI
NwVwSEEXaE0Tb0izSxopQFR+z4g9aeRa7Ab01zYoHiiYi+1qhyQZPFGky6r62WEDlI0Ff4bAAwXI
EOx1zIeqSDOd2o7Z3LH0mm+4d5/gmq3q/8ft9ug/23Q5fE4x3KJchCSpMP9kr1efyBNo+qlRhHdV
91WLirxq983mlc6Ur3AycVVaI0D623tP1wE2xyV6guCCi0mn9zTl7rXDcBJNLfHafT3xxKEnyBd3
d3eNknBxc393P7/vrWFAUfvT5cOHD31aL0leqm0bXY4MdVZG8AiauhLjhC5uxjeutiWMIPHJUAh/
odAj5t6V6SVvR+7T3VuZCFoCaETy7jxTqpTL0Qh9Ri/RhvMNbCqp1LlhxkaMxnL0+Y+KiO1oEs2i
K/cS5bSIPsvzNcg18tZBW3LCMQl1DMkzrPsBoKSD+W42bWwBpdxnRU0N4QcSDvRGUr679PeJS/3t
cbIeqbwcAQLATaEiUHkBeBVTcqQtGOkROcqpTEZIboskhH4F94QU2p49KgQGUyEWKehhcOikfVbj
W9Hl/oy5ww+N67t9IDNg4bizRN9ugtY3Ib0AKlHhV5ivATsWcbmegGdgft1aBUXh+BrozZfr24wk
j64k6DpiXBEgpQSFGkcChR6J1EUwIcDHigQqif4cYvwUObEQErDB/zTtaSDscu2m3dp/7TBIu6Pe
8osOeuy7Ipbl6gS3XQ27TQK3e69d9U1d8LUwc3WC8dNh4+9+/fnW9pmPHGGCv6kP7N3/OBJ26w66
YnqCKw4A5n8AhtkJHpgNGw+27AHgvyk0P0Gh+bBCv71/eAB2kyTAfNKKsS14S8Ldi0KVExX5urpe
n6Dr9bCu/wUwnR/TDaFNmX95+wdQSwMEFAACAAgAZq/zQDNAMRbGAAAAKQEAAEkAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvYXN5bmMtYW5kLWRlZmVyLXNjcmlwdC13
ZGlmZi5odG1sVVQJAAMwgwhQMIMIUHV4CwABBOgDAAAE6AMAAHWPzWrDMAzH734Kwe7JffMMJcut
pYHkBVRLWUqMXSx5JZS9+xx62mAXgfh/6Ce7MJKzoltg1xAHeMAF/fqZU4n0Ci8z4ht8Q4NEfyWc
d8m2z7Btn1W3zK5b2K8CuqDWwYCyRQ+omq+XogyKKwtUp+dIHD1D+uIMxDPnxli5YQQfUOS9ErmP
86lLUTnqMSEx1YvV4IyEdD/szb8SFfTfRKibGQ7jCFK8Z5G5hLANmIUJrhU4FzZm6scJuvNpOPZT
b4xt95d+AFBLAwQUAAIACAB3r/NAFTU1knoAAAC8AAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADUoMIUFKD
CFB1eAsAAQToAwAABOgDAACNjkEOwyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKUR
JyOpgKqiET7ECKdZi95vj9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2X
SeJdIcKoaZ8aE2BJx3+6Kn3k87qXLDEvP1BLAwQUAAIACABmr/NAWcC7nngAAACOAAAASwAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9hc3luYy1hbmQtZGVmZXItc2Ny
aXB0LWV4cGVjdGVkLnR4dFVUCQADMIMIUDCDCFB1eAsAAQToAwAABOgDAAAVjTEOwyAQBPt7xb0g
f7CIO1tGgg8QWMuWEUTckci/D2mmmGLGHIiXsB5BB8BB7hI5qLbz1RWs4YLwuyGiJJQIrh80TtjR
HvTcVlOLouhSQ0IiyfU7/ROUhyA7OcfSY4TI3nO+bWiCxOc4tg4iPzvPZlvtMvuZ6AdQSwMEFAAC
AAgAa6/zQGFLzFdsAAAAcgAAAEcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L21pc2MvZG5zLXByZWZldGNoLWNvbnRyb2wtc3RkZXJyLnR4dFVUCQADOYMIUDmDCFB1eAsAAQTo
AwAABOgDAACLNjI0tDS0ApHmVoamRham5sYW5oYWxuZWrkFB/kFWyalFJfFlqUWZaZXxBUX5yfF5
xcV6ycka5iYmmrEKzq5BIfEB3p4RYWAVzkDFCmn5RQqGRuZ6BkBoqJCWmJmTmqKQWlRkq2thaGHI
BQBQSwMECgAAAAAAZa/zQAAAAAAAAAAAAAAAAC0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL21lc3NhZ2luZy9VVAkAAy6DCFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAI
AGWv80ByN0CZDAEAAKsBAABeABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9t
ZXNzYWdpbmcvY3Jvc3MtZG9tYWluLW1lc3NhZ2UtZXZlbnQtZGlzcGF0Y2gtY3Jhc2gtbG9nLnR4
dFVUCQADLoMIUC6DCFB1eAsAAQToAwAABOgDAAB1kNFKwzAUhq/dU+RyvUszzdqDCHMT9EIma9UL
GXLSnM5gmpS0le3t7ezQKnh3csj35f9TBGzemPU7VvrAVl1Vb8hpCnkgYtPaaCa4lGkEkyxfrR9z
YJdU1e3h6ni+2WyAnSlsCECT6nYAWYvFex6woPE8jdgL38tkxmPa/iWn6Lw7VL5rmMOKmroHohN9
DJSZnUN7i05bCieTLKVIRya+n5dKCErjcyz5z/6Z1NKH/pF70gYfLB4oADS+CwUtlA/t4FM05wnf
/sdlX/efkjvXUuizAPR/tC6zNhBWS7RW9VEHUyy01AJHqo8EwHyD152xrXGvQ51FbY74gM6LWEnx
q5RIL6RQMZczKSafUEsDBBQAAgAIAGWv80DRXH+V2QAAADkBAABbABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9tZXNzYWdpbmcvY3Jvc3MtZG9tYWluLW1lc3NhZ2UtZXZlbnQt
ZGlzcGF0Y2gtc3RkZXJyLnR4dFVUCQADLoMIUC6DCFB1eAsAAQToAwAABOgDAABdjjFPwzAQRufk
V3RsN8cFJ7mttEMZEEhBMKCqOseXysKxI8dG7b/H1BVCbDe89+4rJM4EoEjGE0AXsP989djT33u5
Wnyws2jWrKJDWWRjidbZy+jivLA40jwlcHWzdnGcOn2yaPZolSF/K4hB8DYV2LkeJOfUVnc4sLJ4
J7l1PkWfSGl8MXghDzC76HvaSOdD9iXVrGGH/3x35d6aRxvIp58AZNXz0AVPOG7RGJkm5ULFlVAc
U+KrAdC/wkPUJmh7zHM3k/7RslL3lRT8Opq394LLiom14OU3UEsDBAoAAAAAABaw80AAAAAAAAAA
AAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAkA
A4yDCFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAA+w80A8m99MRQAAAEkAAABbABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3Nvcmln
aW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUCQADfYMIUH2DCFB1eAsAAQToAwAABOgD
AABz9HENCrFSKE4uyiwoUShKzNPjCsnILFYoSS0uUShILC5OLVbITFMoyUiFqcnJT0wpVkjOLypK
TS7JqdTj4gpwDA7mAgBQSwMEFAACAAgAEbDzQFZwUmliAAAAjgAAAFUAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVybmFsLWVu
dGl0eS1zdGRlcnIudHh0VVQJAAOCgwhQgoMIUHV4CwABBOgDAAAE6AMAAI3MMQrDMAwF0N2n+FuW
guhqOvYG3QvC+Q4B2zKKAuntS2/QA7xX98YsIowiV29SNLTZlu8ZU/2gg+7myHhaOTtHYD/APuOT
0jvVv/kr1AOhG3hNluB6w/JYMCxQ7Rzrr/sCUEsDBBQAAgAIABGw80BgS2YQkQAAAPsBAABdABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhz
bC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAOCgwhQgoMIUHV4CwABBOgD
AAAE6AMAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5KpEljToDM
mT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQTQg9I+CFA
9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMEFAACAAgAD7DzQOOz/wHy
BwAA9hkAAF8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nj
cmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktcHJldHR5LWRpZmYuaHRtbFVUCQADfYMI
UH2DCFB1eAsAAQToAwAABOgDAAC9WVtv2zYUfs+vIBJ0AYpKtmO7je02Q5fLhqFbh6V7LiiJsthQ
okZSdtxt/32HN1mSpTgDtjVoLPNyeC7f+c6h8jZTObs6eZsRnMCHVDtGrk6WjBYPr9ByQyVVJEF/
nCD4p8ijChISc4EV5cUSFbwgKzMVcZEQEURcKZ4v0aR8RAk8k2R18teJFeeExJxxsURn4+nCzIV3
lJEbmqZuPsLxw1rwqkgCvzS91D/Ng+wJkjOaoLMkSexcygsVpDinbLdEOS+4LHHsFMyxWFNQeUJy
NLZDJQfjjB2CMLBoQ4xC2aSj6XQ67ZEvcSEDSQRNG5OSfiXmjOahASOpWqJxOPfjCZUlwyBE4YiR
ICaM2YktTVQGAsbjF05HnCS0WNe7rX4uPPqpHSGnMi0yUEzVyzO+IaJj1Xw+Xw05nBDrilDH5QOc
Jd3mlHEMpgi6zlQ7enrVNbgA06I+ioP7qQIzx0fMdlYGRm7LU9sMrAtMHDXctgKXe83uSazjNwgc
s7kNmy5kHG693wFU4/LRnnD7WEKIQT6YRl6hUH90LRxUT9KERDv9GxlVv2M8fvgFCxWCqcuUCqmC
OKMsGXSsPu4e9r96SpggOYT21ZHz3Bne/bQA+JAg0ktasJt71AFaFI0xCzCja8gPxXvMEkSj/Qdc
JIx4dzg52oX6e0ZsQPd4jishdWi02t0sxBFEp/IRgzNr4NgEMuo9pUUL54dwWAuyW3WAGc6Pxcu6
GIWKH3VzmAqed5ztOFKfob3+c5VHRACaSBNddtQrfkilDrWLRYsEfbr0UaHP5Nls1sm9w+jXHKMF
zW0K2DSoSd/hwMGzDyJW3Racpo6wGoYbE3sJxxaKQbc8RVJaQ+c7TyQOMN6GVpqWggQ2Uc0UuNJ8
BRMEwQ+BHrByaY7XpBWUJbqofR0xrB2oF8bACqADRNU9oa7J+4BczhaDtJuSdJ/7GlEgsa6OjUTu
2ZqkSXsrxFkOL1+Qxeqpkl5LcgTT1MMlxHC1TpIDASghbHgHWRzVZvQS3VdlyYWCQisciMGpeU4K
JdHLEZyHK5Vx629bjHUvA4BXANHYR8psMGsGyn+9RiuDARJmsWey1x7TmmkwY9deg97VF7aM5fgx
aFX2vmPAx0/KrBO4ztwDkd39IS+JrY7BlkQPVAVK6OyyVlslUXghVw2VZ87AM6mwquR3VQSlui57
oc6UXnVgS8STnZlzbY9nsJkvqWeKcxZh0RbgdYu4ydb9eM6/+sGaoqY2pV1HpR99z6Cfh5vDIf54
sqnbIySlj46hvA0hLmJAm+u8vKnjtp0hNg2KTcTDEr+lwBaiA0Z3FEJfA1ok5BFo7AmL91WyoUKf
uY6uWrXv0vFcodV0Kd1bt+A8CMRRRV/vFZ3Ygu8rlP1mlHXPdXlzX2uF67atdTRNBc6thp0eud1j
NDLreoCLD32zg0aUb10jQBh0lRDWZ1St14u7Peoc3AcmjSPac3WPmRz2zu3O2cmw7juE9mC/kHgm
tse891Ti70Lj5uwnX0U7l5bXbzzlHar5RO40rkMyx7bRb7JywQUMrwa4ydmv+zPZdzh2WWfTfdy7
ZIlTn12mLBdgzin6E52uTupy3Cji3d0MQ4vO00DtStIr6tTuywgzjFg3mVg3mQMF6CwnUvquYtBF
fR5tAPveMPNz6hzUFOh2NpRX8roegSb1KymuG5Wwr4j7fqJbU5rVBBIzSJnO/IkJpCPs5pgDk+OB
qb9bPUsrF11oZIjSsG4VAtfbDXR2zQIbVZAYRZM6fBFP6GaZ8tj5kldKp3wzgyJWmRrhpgAOKegC
pWniDWlWSSMFGpVPGbEnjVyJXYP+2gbFkYK5yK52SJJoQ7GmVfWTwwYoGwm+hcBDC5Bh2Os6H6pC
3enUdszmrkuv+w333Se47lb1/3G7PPrXNt0ePqcJ3KJchCSpEv7ZXq8+kw1o+rlBwnvWfdFqRV60
62bzSmfoK5hMHEtrBEh/e++pOtDNcYk3EFxwMenUnqbcg3IYTMKpbbz2b09849AT5LObm5sGJZxd
3t3cze96OQxa1P50ub297dN6SfJS7drocs1QZ2UIj6CpoxgndHE5vnTcFjOCxWfTQvgLhR4x965M
L3k7cq/u3spY0BJAI+J3p5lSpVyORvgLfgzXnK9hU0mlzg0zNmI0kqMvv1dE7EaTcBZeuC9hTovw
izy9ArlG3hVqS455QgIdQ7KFdd8ClHQw382mjS2glHutqFtD+ICEA72xlO/O/X3iXL97nFyNVF6O
AAHgpkARYF4AXsWUHGkLRnpEjiSJKwFVwYkPYsGl5BB+Xa04TiSEQwio3mwXQEdTYRYqqGmgxKR9
duPd0fnhjLnTD43ruz4CVHXm9VUHtV8QuUVATYVfZV4P7NuK86tvikiWK/AXLLpqLQWqaC6c9K6B
in1+df3x5/uPH27RT7f39++/v12i3wqJU4J+xBt8bwOGldJA1PxDC8ggnU8YFYC4tblnoTjDBRCP
vlnZFN9SlaHffv2AtPsBP5OLN+EYfibLy/F43IgENA7A+CQJLDcEICLXjUqoXysjY/A/kwhx55WI
iTwiO3QeAYxBHP7faFwMR6Orlflo6tZIZL3aTB9a8Dwcygxuh8eheNTwyTNsng7b/P7D7a+fgCIt
2KCL+2exOarexTPUmw2r9ymj+iotFZQDKYmEu4Qpw05fwxyoZo5/WffpM3Sf/zdw6nwYCgYuNH/u
+RtQSwMEFAACAAgAD7DzQADzZ0LJAAAAQwEAAFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktYWN0
dWFsLnR4dFVUCQADfYMIUH2DCFB1eAsAAQToAwAABOgDAACVz01Ow0AMBeB9TuEL5KdsQNlFKEJC
gaJOewAzcTqWMuNo7BZ6e0Yg1gh58TbvfZIf969uP43wMjo3PI09nJLiQvCMV3Q+82aAZhRLmgAn
NkYjQEh45TMaSwIfMJ0JFsmwZIwEH2wBTocJgtnWt+3u7r7pyu36h67rWiV/yWy3VjHN7/JJc83f
w7oQsTbZmmBxLZjEf4qZVC7Zk/5hN1U1TOPh2IP+PJkxNdUxsIKRGmyoSgq8gAX67ayCs4KXnMnb
eivG2+Bc9QVQSwMEFAACAAgAD7DzQGKCjwYWAQAAFQIAAFcAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0
bHktZGlmZi50eHRVVAkAA32DCFB9gwhQdXgLAAEE6AMAAAToAwAArZDBasMwDEDv+QrdU8fJxtjI
KaWEwehWaNoP0BylMSR2sJSu/fu5LRu7jcHQQUJIT+IppUDLOOkBz34WJcSiAvE8COteZNKXDmsm
MwcrZ80m2EmUCZ7ZB3uwTg0eW1bGh0BGhrOi0xQLajM5CSRpmv77BTQy43DjVxWoYnEPabF4gKpK
0tXmrdmsa3itm2b5XJewd4wdwQsesbmyAUVojFk8WGfFohAgODzaA4r1DkyP7kDQ+QBdwJHgw0oP
++0aLh+XWhd3j1keoyif8jz/8Ty69t2fqFX2uqgiYlTip6yXcYgwP/6RGFX5ORjiX9hZkiawXNfb
XQk3hRDQZQnsestwcQwTMhOD7UB6+hq6uoVvt3Eh+QRQSwMEFAACAAgAD7DzQMyMSI4OAQAAtgEA
AFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1j
cm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktd2RpZmYuaHRtbFVUCQADfYMIUH2DCFB1eAsAAQTo
AwAABOgDAACVkMFKA0EMhu/7FAHPndl6UdZ1ocgiSLXSrQ+QzmQ7g7szyyStFvHdnVq8eBHJIYHk
/yBf7QhtU7McB2qUpQE+YIvmdZfiPtgKLnrEG/gEhdb+XmF/WtX6HK71GTWlPPOEAcyAzLc52Nyt
nrrVsoXHtusW920FL4GxJ3jAA3Ym+UkARWjMXSL44MWjECAEPPgdio+Z5jDsCPqYoE84Erx5cfCy
XoITmSqt55dXqsw1r67LstRMZp+8HDVjsNv4Tnbmv4OzjBhnEiflZBwyLI7/JCbiuE+G+A+2ym6y
iKYoFst2vamAz78mDKrYOM8gxAJT1kQMvgdx9HMzRLQMJqZERoajKornRdcVtT75/QJQSwMECgAA
AAAAFrDzQAAAAAAAAAAAAAAAAEIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAA4yDCFDThAhQdXgLAAEE6AMAAATo
AwAAUEsDBBQAAgAIABaw80BjqqxsggAAAKgAAABqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQt
Ynktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADjIMIUIyDCFB1eAsAAQToAwAABOgDAAAtjUEK
wzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS
7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7N
rzFEm4Lsak3U8Zq+UEsDBBQAAgAIABaw80BjqqxsggAAAKgAAABYABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFs
bG93ZWQtc3RkZXJyLnR4dFVUCQADjIMIUIyDCFB1eAsAAQToAwAABOgDAAAtjUEKwzAMBO95hV4Q
O72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8h
S3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U
8Zq+UEsDBAoAAAAAALWw80AAAAAAAAAAAAAAAAAgABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cmV0cmllcy9VVAkAA7WECFDThAhQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAMSw80BSIlb47AAA
APQBAAAuABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy90ZXN0c19ydW4wLnR4dFVU
CQAD0IQIULWECFB1eAsAAQToAwAABOgDAAB9kEFyBCEIRfe5C/Ec2eUKtNJqRaEDmGRy+uj0IlPV
VbPSL+8D3+J+BCdzC71aDGg3joCcINFOCha1Hv5avLeX8s8axaHVb+GsQ1QxE625MjTBZBBFlaK3
28X709tSSp9j6vBLKtCIsxdQskPY6PTsOMv0RTxNqdqBHgt0MsNMYK6VMyR0fKB30T63c3RazVyU
4Jgx1vsFU+RMwVpNk+gyjOCc9pxM1Gi2/y61ESTFnNciXkbfnhuFY1n6nPLIKs5YIWIslOCu5v8N
dtIHav0r6f1443eVPAPatT54Xe6J4RBzwE2Gw9aQP076D1BLAQIeAwoAAAAAAMWw80AAAAAAAAAA
AAAAAAAYABgAAAAAAAAAEADtQQAAAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9VVAUAA9GECFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcr/NAfPDWJfUzAACdfAIANAAYAAAAAAABAAAApIFS
AAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvd2Via2l0X3VuaXRfdGVzdHNfb3V0cHV0LnhtbFVU
BQADp4IIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKOw80CIjHuXbsIAAByhBQAmABgAAAAA
AAEAAACkgbU0AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4xLnR4dFVUBQADkoQI
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKaw80A7mqn3groAANj3BAAmABgAAAAAAAEAAACk
gYP3AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4yLnR4dFVUBQADl4QIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAwoAAAAAADWw80AAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQWWyAQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L1VUBQADxoMIUHV4CwABBOgDAAAE6AMAAFBLAQIe
AwoAAAAAAAaw80AAAAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQbyyAQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2Zvcm1zL1VUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAAaw
80AAAAAAAAAAAAAAAAApABgAAAAAAAAAEADtQRmzAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2Zvcm1zL3JhbmdlL1VUBQADbIMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAaw80CI
donjdAAAAOEAAABHABgAAAAAAAEAAACkgXyzAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2Zvcm1zL3JhbmdlL3NsaWRlci1vbmNoYW5nZS1ldmVudC1kaWZmLnR4dFVUBQADa4MIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAAaw80BuOEBfygAAAEgBAABWABgAAAAAAAEAAACkgXG0AQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hp
bGUtZHJhZ2dpbmctdGh1bWItd2RpZmYuaHRtbFVUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAAaw80ChUopzdwAAANoAAABJABgAAAAAAAEAAACkgcu1AQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0
VVQFAANrgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgABrDzQDZVGeVdAAAAlAAAAEkAGAAA
AAAAAQAAAKSBxbYBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xp
ZGVyLW9uY2hhbmdlLWV2ZW50LWFjdHVhbC50eHRVVAUAA2uDCFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAGsPNA46VFHKMAAAAHAQAASQAYAAAAAAABAAAApIGltwEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItb25jaGFuZ2UtZXZlbnQtd2RpZmYuaHRt
bFVUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAaw80D4DY2hcAAAAKgAAABHABgA
AAAAAAEAAACkgcu4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3Ns
aWRlci1tb3VzZS1ldmVudHMtYWN0dWFsLnR4dFVUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAAaw80C020B/dgAAALQAAABWABgAAAAAAAEAAACkgby5AQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1
bWItYWN0dWFsLnR4dFVUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAaw80BoCb0Z
dwAAALgAAABYABgAAAAAAAEAAACkgcK6AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zv
cm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1bWItZXhwZWN0ZWQudHh0
VVQFAANrgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgABrDzQFVQae5sBwAAWRoAAE8AGAAA
AAAAAQAAAKSBy7sBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xp
ZGVyLW9uY2hhbmdlLWV2ZW50LXByZXR0eS1kaWZmLmh0bWxVVAUAA2yDCFB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACAAGsPNAgMWnuboHAABWGwAAXAAYAAAAAAABAAAApIHAwwEAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRlLXdoaWxlLWRyYWdn
aW5nLXRodW1iLXByZXR0eS1kaWZmLmh0bWxVVAUAA2uDCFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAGsPNAIuTriNEAAADdAQAARwAYAAAAAAABAAAApIEQzAEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItbW91c2UtZXZlbnRzLXdkaWZmLmh0bWxVVAUA
A2uDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAGsPNAfIA5bY4AAAASAQAAVAAYAAAAAAAB
AAAApIFizQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXIt
ZGVsZXRlLXdoaWxlLWRyYWdnaW5nLXRodW1iLWRpZmYudHh0VVQFAANrgwhQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgABrDzQEsxotHQAAAAsQEAAEUAGAAAAAAAAQAAAKSBfs4BAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW1vdXNlLWV2ZW50cy1kaWZm
LnR4dFVUBQADa4MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAaw80BIXz8DZAgAALEmAABN
ABgAAAAAAAEAAACkgc3PAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3Jhbmdl
L3NsaWRlci1tb3VzZS1ldmVudHMtcHJldHR5LWRpZmYuaHRtbFVUBQADa4MIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAAaw80ANJOAbXAAAAIEAAABLABgAAAAAAAEAAACkgbjYAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1vbmNoYW5nZS1ldmVudC1l
eHBlY3RlZC50eHRVVAUAA2uDCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAXsPNAAAAAAAAA
AAAAAAAAJAAYAAAAAAAAABAA7UGZ2QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2Fk
ZXIvVVQFAAONgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAF7DzQEE6f9OaBwAA+BcAAEMA
GAAAAAAAAQAAAKSB99kBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJ
blByb2dyZXNzLXByZXR0eS1kaWZmLmh0bWxVVAUAA42DCFB1eAsAAQToAwAABOgDAABQSwECHgMK
AAIAAAAXsPNA1tHaeS4AAAAuAAAAPwAYAAAAAAABAAAApIEO4gEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZXhwZWN0ZWQudHh0VVQFAAONgwhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAF7DzQGyjKvK+AAAA8AAAAD0AGAAAAAAAAQAAAKSBteIB
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLXdkaWZm
Lmh0bWxVVAUAA42DCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAXsPNAKSZ3aXQAAAB9AAAA
PQAYAAAAAAABAAAApIHq4wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9h
ZEluUHJvZ3Jlc3MtYWN0dWFsLnR4dFVUBQADjYMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ABew80A0XQbmxQAAABoBAAA7ABgAAAAAAAEAAACkgdXkAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1kaWZmLnR4dFVUBQADjYMIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAADWw80AAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQQ/mAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC9VVAUAA8aDCFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAA1sPNAgUp3rUsAAACsAAAATAAYAAAAAAABAAAApIFq5gEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4
dFVUBQADxoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADWw80BQXUg3jAAAAPgAAAA/ABgA
AAAAAAEAAACkgTvnAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWJhZC1p
bXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA8aDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAA1
sPNAbUfUXoUAAADxAAAAPQAYAAAAAAABAAAApIFA6AEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADxoMIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAAGqv80AAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQTzpAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9VVAUAAziDCFB1eAsAAQToAwAABOgDAABQSwEC
HgMKAAAAAABur/NAAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UGa6QEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQFAAM/gwhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAa6/zQOjpCbipAAAA3wIAAFEAGAAAAAAAAQAAAKSB/ukBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtc3Rk
ZXJyLnR4dFVUBQADOYMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGuv80DSfEmR2wAAADgB
AABFABgAAAAAAAEAAACkgTLrAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRVVAUAAzqDCFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACABrr/NAOAwvp5QAAAAmAQAAQwAYAAAAAAABAAAApIGM7AEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW52YWxpZC1VVEYtMTYtc3RkZXJyLnR4dFVU
BQADOoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGqv80BEy3sbyAAAAF4GAABOABgAAAAA
AAEAAACkgZ3tAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3
LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAAziDCFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACABqr/NATg2+MIwAAAABAQAARAAYAAAAAAABAAAApIHt7gEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRV
VAUAAziDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABsr/NAxMXSbXgAAACCAAAATwAYAAAA
AAABAAAApIH37wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hh
ZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Itc3RkZXJyLnR4dFVUBQADPIMIUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAGqv80B/jiwJBQEAANUJAABQABgAAAAAAAEAAACkgfjwAQB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3Vu
ZHMtc3RkZXJyLnR4dFVUBQADOIMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAG2v80AKmUl+
PgEAAKEMAABJABgAAAAAAAEAAACkgYfyAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAAM+gwhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAa6/zQFUShBeqAAAAlAIAAFQAGAAAAAAAAQAAAKSBSPQBAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24t
Y29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUBQADOoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAGuv80BL/2NnoAAAAEoBAABfABgAAAAAAAEAAACkgYD1AQB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55
LWluZGljZXMtc3RkZXJyLnR4dFVUBQADOoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGqv
80B05CClmQAAAAICAABEABgAAAAAAAEAAACkgbn2AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQADOIMIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAG6v80CuYIngigAAAJMAAABHABgAAAAAAAEAAACkgdD3AQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmluaXRpYWxpemVkLXRl
c3Qtc3RkZXJyLnR4dFVUBQADP4MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGqv80DMB/vQ
lAAAACYBAABRABgAAAAAAAEAAACkgdv4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAUAAziD
CFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABrr/NAUj1cRVoAAABhAAAASgAYAAAAAAABAAAA
pIH6+QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmpl
Y3QtYmVoYXZpb3VyLXN0ZGVyci50eHRVVAUAAzqDCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAA
AAABsPNAAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA7UHY+gEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9maWxlc3lzdGVtL1VUBQADYYMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAGw
80CQ8hoGZwAAAHEAAAA6ABgAAAAAAAEAAACkgTr7AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2ZpbGVzeXN0ZW0vb3AtY29weS1zdGRlcnIudHh0VVQFAANhgwhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAAbDzQAKUmXtnAAAAcQAAADoAGAAAAAAAAQAAAKSBFfwBAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRVVAUAA2GDCFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAABsPNAYBbzBGcAAABxAAAAPAAYAAAAAAABAAAApIHw
/AEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1zdGRl
cnIudHh0VVQFAANhgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAtrDzQOhqvGE9ogAAo60H
ACYAGAAAAAAAAQAAAKSBzf0BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0
VVQFAAO3hAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAtLDzQJFsUweLkQAA4fADACYAGAAA
AAAAAQAAAKSBaqACAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjMudHh0VVQFAAOz
hAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAtLDzQAAAAAAAAAAAAAAAAEMAGAAAAAAAAAAA
AKSBVTIDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xOUp1bDIw
MTItMjIwNTQwLWVyci50eHRVVAUAA7SECFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC0sPNA
AAAAAAAAAAAAAAAAQwAYAAAAAAAAAAAApIHSMgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3
ZWJzb2NrZXQud3MubG9nLTE5SnVsMjAxMi0yMjA1NDAtb3V0LnR4dFVUBQADtIQIUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIALuw80AGfg+4NhoAAOdyAgAlABgAAAAAAAEAAACkgU8zAwB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2cudHh0VVQFAAPChAhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAATLDzQAAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1B5E0DAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL1VUBQAD74MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
AHaw80AAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQT9OAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9VVAUAAz+ECFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAB2
sPNAAAAAAAAAAAAAAAAAMgAYAAAAAAAAABAA7UGjTgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9VVAUAAz+ECFB1eAsAAQToAwAABOgDAABQSwECHgMK
AAAAAAB2sPNAAAAAAAAAAAAAAAAANgAYAAAAAAAAABAA7UEPTwMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvVVQFAAM/hAhQdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAAdrDzQAAAAAAAAAAAAAAAADsAGAAAAAAAAAAQAO1Bf08DAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvVVQFAAM/
hAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAdrDzQAAAAAAAAAAAAAAAAEIAGAAAAAAAAAAQ
AO1B9E8DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL1VUBQADP4QIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAHmw80AA
AAAAAAAAAAAAAABIABgAAAAAAAAAEADtQXBQAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9VVAUAA0WECFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAB2sPNAJBLyKakAAADfAgAAbwAYAAAAAAABAAAApIHyUAMA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQF
AANAhAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAeLDzQBkU+xHQAAAAqAEAAG4AGAAAAAAA
AQAAAKSBRFIDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1
YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3JlbmRlcmVyLWFuZC12ZW5kb3Itc3RyaW5ncy1zdGRl
cnIudHh0VVQFAANDhAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAd7DzQPwHHtfcAAAAOAEA
AGMAGAAAAAAAAQAAAKSBvFMDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJy
LnR4dFVUBQADQYQIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHaw80Al3qW/yQAAAF4GAABs
ABgAAAAAAAEAAACkgTVVAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRz
LXN0ZGVyci50eHRVVAUAAz+ECFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB5sPNAWqr37ooA
AACTAAAAcQAYAAAAAAABAAAApIGkVgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1s
ZW5ndGgtbGltaXRzLXN0ZGVyci50eHRVVAUAA0WECFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAB2sPNAJFA4cYsAAAABAQAAYgAYAAAAAAABAAAApIHZVwMAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3It
cmVwb3J0aW5nLXN0ZGVyci50eHRVVAUAA0CECFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB2
sPNA5gQa1AUBAADVCQAAbgAYAAAAAAABAAAApIEAWQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVt
ZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAAz+ECFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAB5sPNAK7jO1j4BAAChDAAAZwAYAAAAAAABAAAApIGtWgMAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
dHlwZS1jb252ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQADRYQIUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAHew80DU3vmMqwAAAJQCAAByABgAAAAAAAEAAACkgYxcAwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAUAA0GECFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAB3sPNAOj0ac58AAABKAQAAfQAYAAAAAAABAAAApIHjXQMA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFueS1pbmRpY2Vz
LXN0ZGVyci50eHRVVAUAA0GECFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB2sPNA1PA3GJgA
AAACAgAAYgAYAAAAAAABAAAApIE5XwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0
ZGVyci50eHRVVAUAA0CECFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB2sPNAW4wt5pUAAAAm
AQAAbwAYAAAAAAABAAAApIFtYAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRp
b24tdGVzdC1zdGRlcnIudHh0VVQFAANAhAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAd7Dz
QFPc7T1aAAAAYQAAAGgAGAAAAAAAAQAAAKSBq2EDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0
LWJlaGF2aW91ci1zdGRlcnIudHh0VVQFAANChAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA
TLDzQAAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1Bp2IDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvVVQFAAPvgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAATLDzQAAAAAAAAAAAAAAAADUAGAAAAAAAAAAQAO1BEGMDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvVVQFAAPvgwhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAATLDzQAAAAAAAAAAAAAAAAD4AGAAAAAAAAAAQAO1Bf2MDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAPv
gwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAATLDzQAAAAAAAAAAAAAAAAEsAGAAAAAAAAAAQ
AO1B92MDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L1VUBQAD74MIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAEyw80DTT7G6bgAAAHIAAAB7ABgAAAAAAAEAAACkgXxkAwB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9p
bnNlY3VyZS1pZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA++DCFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACACusPNAyaZ5yNZRAADIZwIAJgAYAAAAAAABAAAApIGf
ZQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMC50eHRVVAUAA6iECFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACADFsPNAKR8PNuokAAA8nQAAJAAYAAAAAAABAAAApIHVtwMAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcmVzdWx0cy5odG1sVVQFAAPRhAhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAerDzQAAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BHd0DAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsdWdpbnMvVVQFAANHhAhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
erDzQB9mL8fxAAAAWQEAAEQAGAAAAAAAAQAAAKSBd90DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsdWdpbnMvbnVsbC1ucHAtZ2V0dmFsdWUtcG9pbnRlci1zdGRlcnIudHh0VVQFAANHhAhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAxbDzQNtUiExYAgAAFQYAACkAGAAAAAAAAQAAAKSB5t4D
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uVVQFAAPRhAhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAtLDzQJHsZoEaJAAAb2EAACIAGAAAAAAAAQAAAKSBoeEDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHBkLmNvbmZVVAUAA7OECFB1eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAAAnr/NAAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UEXBgQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC9VVAUAA7qCCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAPsPNA
AAAAAAAAAAAAAAAAIwAYAAAAAAAAABAA7UFuBgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9VVAUAA32DCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAnr/NAAAAAAAAAAAAA
AAAAKQAYAAAAAAAAABAA7UHLBgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9VVAUAA7qCCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAnr/NA/sGlHUABAABaAgAA
RQAYAAAAAAABAAAApIEuBwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNo
ZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwudHh0VVQFAAO6gghQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DCgACAAAAJ6/zQJzpp3UGAAAABgAAAEcAGAAAAAAAAQAAAKSB7QgEAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0
VVQFAAO6gghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAJ6/zQFc1QluZAQAAFwMAAEMAGAAA
AAAAAQAAAKSBdAkEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC1yZWRpcmVjdC1nZXQtZGlmZi50eHRVVAUAA7qCCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAAnr/NAucePJtsfAACoKwAARQAYAAAAAAAAAAAApIGKCwQAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwucG5nVVQFAAO6gghQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAJ6/zQI2lfIqPAQAA6AIAAEUAGAAAAAAAAQAAAKSB
5CsEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVj
dC1nZXQtd2RpZmYuaHRtbFVUBQADuoIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAACev80Cc
6ad1BgAAAAYAAABTABgAAAAAAAEAAACkgfItBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWV4cGVjdGVkLnR4dFVU
BQADuoIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACev80DV9h1ikAgAABsfAABXABgAAAAA
AAEAAACkgYUuBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXByZXR0eS1kaWZmLmh0bWxVVAUAA7qCCFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAAnr/NAjaV8io8BAADoAgAAUQAYAAAAAAABAAAApIGmNwQAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1
YnJlc291cmNlcy13ZGlmZi5odG1sVVQFAAO6gghQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
J6/zQLnHjybbHwAAqCsAAFEAGAAAAAAAAAAAAKSBwDkEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFsLnBu
Z1VUBQADuoIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACev80CcQo8tiQgAAA8fAABLABgA
AAAAAAEAAACkgSZaBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3QtcmVkaXJlY3QtZ2V0LXByZXR0eS1kaWZmLmh0bWxVVAUAA7qCCFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAAnr/NA2yiUA6EBAAAvAwAATwAYAAAAAAABAAAApIE0YwQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
cy1kaWZmLnR4dFVUBQADuoIIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACev80D+waUdQAEA
AFoCAABRABgAAAAAAAEAAACkgV5lBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC50eHRVVAUAA7qCCFB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAB3r/NAAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA7UEp
ZwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL1VUBQADUoMIUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAGav80DozwUVvwAAAEIBAABHABgAAAAAAAEAAACkgYtnBAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvYXN5bmMtYW5kLWRlZmVyLXNj
cmlwdC1kaWZmLnR4dFVUBQADMIMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGav80DozqCq
dwAAAI4AAABJABgAAAAAAAEAAACkgctoBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL21pc2MvYXN5bmMtYW5kLWRlZmVyLXNjcmlwdC1hY3R1YWwudHh0VVQFAAMwgwhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAZq/zQJLjHNjFBwAAgRsAAE8AGAAAAAAAAQAAAKSBxWkEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9hc3luYy1hbmQtZGVmZXItc2Ny
aXB0LXByZXR0eS1kaWZmLmh0bWxVVAUAAzCDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABm
r/NAM0AxFsYAAAApAQAASQAYAAAAAAABAAAApIETcgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9taXNjL2FzeW5jLWFuZC1kZWZlci1zY3JpcHQtd2RpZmYuaHRtbFVUBQADMIMI
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHev80AVNTWSegAAALwAAABCABgAAAAAAAEAAACk
gVxzBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1w
b3J0LXN0ZGVyci50eHRVVAUAA1KDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABmr/NAWcC7
nngAAACOAAAASwAYAAAAAAABAAAApIFSdAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9taXNjL2FzeW5jLWFuZC1kZWZlci1zY3JpcHQtZXhwZWN0ZWQudHh0VVQFAAMwgwhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAa6/zQGFLzFdsAAAAcgAAAEcAGAAAAAAAAQAAAKSBT3UE
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29u
dHJvbC1zdGRlcnIudHh0VVQFAAM5gwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAZa/zQAAA
AAAAAAAAAAAAAC0AGAAAAAAAAAAQAO1BPHYEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvbWVzc2FnaW5nL1VUBQADLoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGWv80By
N0CZDAEAAKsBAABeABgAAAAAAAEAAACkgaN2BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL21lc3NhZ2luZy9jcm9zcy1kb21haW4tbWVzc2FnZS1ldmVudC1kaXNwYXRjaC1jcmFz
aC1sb2cudHh0VVQFAAMugwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZa/zQNFcf5XZAAAA
OQEAAFsAGAAAAAAAAQAAAKSBR3gEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWVzc2FnaW5nL2Nyb3NzLWRvbWFpbi1tZXNzYWdlLWV2ZW50LWRpc3BhdGNoLXN0ZGVyci50eHRV
VAUAAy6DCFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAWsPNAAAAAAAAAAAAAAAAALAAYAAAA
AAAAABAA7UG1eQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9V
VAUAA4yDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAPsPNAPJvfTEUAAABJAAAAWwAYAAAA
AAABAAAApIEbegQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
Y3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUBQADfYMIUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABGw80BWcFJpYgAAAI4AAABVABgAAAAAAAEAAACkgfV6
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
eG1sLWV4dGVybmFsLWVudGl0eS1zdGRlcnIudHh0VVQFAAOCgwhQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAEbDzQGBLZhCRAAAA+wEAAF0AGAAAAAAAAQAAAKSB5nsEAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2Vj
dXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADgoMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AA+w80Djs/8B8gcAAPYZAABfABgAAAAAAAEAAACkgQ59BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHkt
cHJldHR5LWRpZmYuaHRtbFVUBQADfYMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAA+w80AA
82dCyQAAAEMBAABZABgAAAAAAAEAAACkgZmFBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktYWN0dWFs
LnR4dFVUBQADfYMIUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAA+w80Bigo8GFgEAABUCAABX
ABgAAAAAAAEAAACkgfWGBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktZGlmZi50eHRVVAUAA32DCFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAPsPNAzIxIjg4BAAC2AQAAWQAYAAAAAAABAAAApIGc
iAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jv
c3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LXdkaWZmLmh0bWxVVAUAA32DCFB1eAsAAQToAwAABOgD
AABQSwECHgMKAAAAAAAWsPNAAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UE9igQAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
VVQFAAOMgwhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFrDzQGOqrGyCAAAAqAAAAGoAGAAA
AAAAAQAAAKSBuYoEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVy
ci50eHRVVAUAA4yDCFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAWsPNAY6qsbIIAAACoAAAA
WAAYAAAAAAABAAAApIHfiwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADjIMI
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAALWw80AAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADt
QfOMBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL1VUBQADtYQIUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAMSw80BSIlb47AAAAPQBAAAuABgAAAAAAAEAAACkgU2NBAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL3Rlc3RzX3J1bjAudHh0VVQFAAPQhAhQdXgLAAEE6AMA
AAToAwAAUEsFBgAAAAB/AH8AI0UAAKGOBAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153368</attachid>
            <date>2012-07-19 16:12:42 -0700</date>
            <delta_ts>2012-07-20 10:31:33 -0700</delta_ts>
            <desc>another try at windows build files</desc>
            <filename>bug-90819-20120719161241.patch</filename>
            <type>text/plain</type>
            <size>167047</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzgyMTNmYzdjNDA2MTQz
NDk0NTU1YzFkNWVkZWVlMGI1ZWZlZjBlNS4uYThkOGMzODM4OTI1YzM1N2U1Yzk3ZDYzMGIwZjY2
ZDhkZTllZWM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEyLTA3LTE5ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTWVkaWEg
U291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRpYVNvdXJj
ZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICBUZXN0czogVXBk
YXRlcyB0byBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8qCisgICAgICAgICAgICAgICBB
ZGRlZCBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2Jq
ZWN0cy5odG1sCisKKyAgICAgICAgVXBkYXRlIGJ1aWxkIGZpbGVzIHdpdGggbmV3IGNsYXNzZXMg
YW5kIG1lZGlhc291cmNlIGRpcmVjdG9yeToKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUu
YW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJp
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgTmV3IG9iamVjdHM6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcDogQWRkZWQuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0Lmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGw6IEFkZGVkLgorCisg
ICAgICAgIEFkZGluZyBuZXcgb2JqZWN0cywgbmV3IGV2ZW50cywgYW5kIG5ldyBjb25zdHJ1Y3Rv
cnM6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVVSTDo6Y3JlYXRlT2JqZWN0
VVJMKToKKyAgICAgICAgKiBodG1sL0RPTVVSTC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChET01VUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgCisgICAgICAgIFJlbW92aW5nIG9sZCBz
dHlsZSBBUEkgYW5kIGF0dGFjaW5nIG5ldyBNZWRpYVNvdXJjZSBvYmplY3RzOgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBSZW1vdmUgb2xk
IHN0eWxlIEFQSSByZXNvdXJjZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpw
cmVwYXJlRm9yTG9hZCk6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UpOiBHZXQgTWVkaWFTb3VyY2Ug
b2JqZWN0IGZyb20gYmxvYiByZWdpc3RyeQorICAgICAgICAgICAgbG9vayB1cCBhbmQsIGlmIGZv
dW5kLCBzZXQgaXQncyBNZWRpYVBsYXllciBwb2ludGVyIHRvIHRoZSBjdXJyZW50IE1lZGlhUGxh
eWVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCk6
IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYUVuZ2luZUVycm9yKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAiY2xvc2Vk
Ii4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU291cmNl
T3BlbmVkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAib3BlbiIuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXJjZVVSTCk6IENoYW5nZSB0byBuZXcgYmxv
YiBVUkwuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZWVrKTogQ2hlY2sg
aWYgc291cmNlIHN0YXRlIGlzICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6c2V0U291cmNlU3RhdGUpOiBIZWxwZXIgZnVuY3Rpb24gc28gdGhhdCB3ZSBkb24n
dCBoYXZlIHRvCisgICAgICAgICAgICBrZWVwIGNoZWNraW5nIGZvciBtX21lZGlhU291cmNlLgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXNlckNhbmNlbGxlZExvYWQpOiBT
ZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIpOiBJZiB0aGUgY3VycmVudCBNZWRpYVBsYXllciBp
cyByZS0KKyAgICAgICAgICAgIGNyZWF0ZWQsIG5vdGlmeSB0aGUgTWVkaWFTb3VyY2UgYW5kIHJl
c2V0IGl0cyBNZWRpYVBsYXllci4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KyAgICAgICAgKEhUTUxNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEyLTA3LTE5ICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IHNo
b3VsZCBwYXNzIDx0aXRsZT4gZWxlbWVudCB2YWx1ZSBhcyB0aGUgZGVmYXVsdCBkZXNjcmlwdGlv
biBmb3Igd2ViIHZpZXdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTlj
ZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLmJmZjJmNjBlNWJkYzBiYTEzNjlkMzNlMzJjYTNmODMy
YWE1NjI2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAsMjMgQEAgU0VU
KFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcAogKQogCitJRiAoRU5BQkxFX01FRElBX1NPVVJDRSkKKyAgICBMSVNUKEFQUEVORCBXZWJD
b3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
bWVkaWFzb3VyY2UiCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisg
ICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCisgICAgICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAorICAgICAgICBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUworICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorICAg
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisgICAgICAg
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorICAgICAgICBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCisgICAgKQorRU5ESUYoKQorCiAjIE1vZHVs
ZXMgdGhhdCB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIHNjcmlwdHMgbWF5IHVzZQogU0VUKFNDUklQ
VFNfUkVTT0xWRV9TVVBQTEVNRU5UQUwKICAgICAke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9zY3Jp
cHRzL0lETFBhcnNlci5wbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDcyODdkOWNi
YjI3NmUzMTczYTIwY2M0NWU3ZTY1Nzc4M2VlZmVjZWYuLmY4YjNkOTczMDUwNTNjMzE3YmEzOWMx
MzhmYzEzNjY4YjMyM2E0NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTIzNiw2
ICsyMzYsOSBAQAogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNNZWRp
YUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3QuY3BwIgorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiSlNNZWRpYVNvdXJjZS5jcHAiCisjZW5kaWYKICNpbmNs
dWRlICJKU01lbW9yeUluZm8uY3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuY3BwIgog
I2luY2x1ZGUgIkpTTWVzc2FnZUV2ZW50LmNwcCIKQEAgLTI3OSw2ICsyODIsMTAgQEAKICNpbmNs
dWRlICJKU1NoYWRvd1Jvb3QuY3BwIgogI2luY2x1ZGUgIkpTU2hhcmVkV29ya2VyLmNwcCIKICNp
bmNsdWRlICJKU1NoYXJlZFdvcmtlckNvbnRleHQuY3BwIgorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiSlNTb3VyY2VCdWZmZXIuY3BwIgorI2luY2x1ZGUgIkpTU291cmNlQnVm
ZmVyTGlzdC5jcHAiCisjZW5kaWYKICNpbmNsdWRlICJKU1NRTEVycm9yLmNwcCIKICNpbmNsdWRl
ICJKU1NRTEV4Y2VwdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNTUUxSZXN1bHRTZXQuY3BwIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzY3MDczZTdkMjdiYzE3NThjN2U2NGI2NjU2
ZWQ0ZWRmZTBkNTVlMi4uYmE4MTljZDM3YWQ2YzZkZTk1MzUwZDIwZDlmZDVmZmM3NDIxMGZmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMSw2ICszMSw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKQEAgLTEwNSw2ICsxMDYsOSBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hh
bmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNp
b25DaGFuZ2VSZXF1ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9X
b3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXApAQCAtOTQzLDYg
Kzk0Nyw3IEBAIElETF9JTkNMVURFUyA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXAogICAg
ICQoV2ViQ29yZSkvaHRtbCBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMgXAogICAgICQoV2ViQ29yZSkvcGFnZSBcCiAgICAgJChXZWJDb3JlKS94bWwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDJjMjljOGY1MmE2MjgwNWZhYzU2NDk3MDY0NTE4M2E3
MDI2NzFhZTQuLmNmYjQ4MTc5NTllMjY5YTVmNjk0ZTY0YWVhY2Y3ZDc0ZThiNWRlNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTYxOCw2ICs2MTgsMTMgQEAgY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKICAgICAkJFBXRC9odG1sL3RyYWNrL1RyYWNr
RXZlbnQuaWRsIFwKIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0x
KSB7CisgIElETF9CSU5ESU5HUyArPSBcCisgICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5pZGwgXAorICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmlkbCBcCisgICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmlkbAorfQorCiBtYXRobWxuYW1lcy5vdXRwdXQgPSBNYXRoTUxOYW1lcy5jcHAKIG1hdGhtbG5h
bWVzLmlucHV0ID0gTUFUSE1MX05BTUVTCiBtYXRobWxuYW1lcy5kZXBlbmRzID0gJCRQV0QvbWF0
aG1sL21hdGhhdHRycy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhYTEwMmM4YzE1N2U5M2Zi
NGVmMTMxNDMwMDkwNjdlZjhiYjY1YjNiLi44ZTRkNDU5NTg3YjA3Y2YwNzY0YmY3YThhMWM4YzY0
OTQ2OGNlNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTUsNiArMTUsNyBAQCB3ZWJjb3Jl
X2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24gXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiIFwKKwktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlIFwKIAktSSQoc3JjZGlyKS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyIFwKQEAgLTg4MSw2ICs4ODIsNyBAQCBJRExfUEFU
SCA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9nZW9sb2NhdGlvbiBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25z
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXApAQCAtMTA0OSw2ICsxMDUxLDcg
QEAgRVhUUkFfRElTVCArPSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9nYW1lcGFkLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIp
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiLyouaWRsKSBcCisJJChzaGVsbCBscyAk
KHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS8qLmlkbCkgXAogCSQo
c2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vKi5p
ZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3RvY29saGFuZGxlci8qLmlkbCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggM2ViOTQzOTkxZDdlZjM3YzJjMDk0YWEzNzI4MDAwNzczMmY5OTA0OC4uNjNmM2Jk
ZDY5NjE2NjIxNmI1ZWRmN2Y3Y2VhMTI5YzNiNjFlZmZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0zODMsNiArMzgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01lZGlhU3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbUV2
ZW50LmNwcCBcCkBAIC01MDMsNiArNTA1LDEwIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NoYXJlZFdvcmtlci5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU2lnbmFsaW5nQ2FsbGJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU2lnbmFsaW5nQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1NvdXJjZUJ1ZmZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZm
ZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyTGlzdC5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTU3BlZWNoSW5wdXRFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNTcGVlY2hJbnB1dEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTcGVlY2hJbnB1dFJlc3VsdC5jcHAgXApAQCAtNjkyLDYgKzY5OCw5IEBAIGRvbV9iaW5kaW5n
X2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxi
YWNrLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3Iu
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxi
YWNrLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlk
bCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAor
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVh
bS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwg
XApAQCAtMTE1OSw2ICsxMTY4LDE0IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdlR3JvdXBJbmRleGVkRGF0YWJhc2Uu
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4
ZWREYXRhYmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtl
ckNvbnRleHRJbmRleGVkRGF0YWJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ2YjEzMjRlMjI4ZDY5YWIwY2YxYjg3ODI0ZjgwZDRjZjFjMGE0MwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
Y3BwCkBAIC0wLDAgKzEsMjg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlh
U291cmNlLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiQ29udGVu
dFR5cGUuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKKyNp
bmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NS
ZWZQdHI8TWVkaWFTb3VyY2U+IE1lZGlhU291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU291cmNlKGNv
bnRleHQpKTsKK30KKworTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0
KQorICAgICwgbV9yZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkKKyAgICAsIG1fcGxheWVyKDAp
CisgICAgLCBtX25leHRTb3VyY2VCdWZmZXJJZCgwKQoreworICAgIG1fc291cmNlQnVmZmVycyA9
IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAg
IG1fYWN0aXZlU291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpOworfQorCitTb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6
c291cmNlQnVmZmVycygpCit7CisgICAgcmV0dXJuIG1fc291cmNlQnVmZmVycy5nZXQoKTsKK30K
KworU291cmNlQnVmZmVyTGlzdCogTWVkaWFTb3VyY2U6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKQor
eworICAgIC8vIEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24KKyAgICByZXR1
cm4gbV9hY3RpdmVTb3VyY2VCdWZmZXJzLmdldCgpOworfQorCitTb3VyY2VCdWZmZXIqIE1lZGlh
U291cmNlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3
LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tYWRkc291cmNlYnVm
ZmVyCisgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4g
SU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0aGVzZSBzdGVw
cy4KKyAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgeworICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
Ly8gMi4gSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQg
Li4uLCB0aGVuIHRocm93IGEKKyAgICAvLyBOT1RfU1VQUE9SVEVEX0VSUiBleGNlcHRpb24gYW5k
IGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOwor
ICAgIFZlY3RvcjxTdHJpbmc+IGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOworCisgICAg
aWYgKCFjb2RlY3Muc2l6ZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKKyAgICAvLyA0LiBJZiB0aGUgcmVhZHlTdGF0
ZSBhdHRyaWJ1dGUgaXMgbm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAg
IC8vIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisg
ICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisK
KyAgICAvLyA1LiBDcmVhdGUgYSBuZXcgU291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRl
ZCByZXNvdXJjZXMuCisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVm
ZmVyOjpjcmVhdGUoU3RyaW5nOjpudW1iZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMp
OworCisgICAgc3dpdGNoIChtX3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250
ZW50VHlwZS50eXBlKCksIGNvZGVjcykpIHsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKKyAg
ICAgICAgLy8gNi4gQWRkIHRoZSBuZXcgb2JqZWN0IHRvIHNvdXJjZUJ1ZmZlcnMgYW5kIGZpcmUg
YSBhZGRzb3VyY2VidWZmZXIgb24gdGhhdCBvYmplY3QuCisgICAgICAgIG1fc291cmNlQnVmZmVy
cy0+YWRkKGJ1ZmZlcik7CisgICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+YWRkKGJ1ZmZl
cik7CisgICAgICAgIC8vIDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgor
ICAgICAgICByZXR1cm4gYnVmZmVyLmdldCgpOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1
cHBvcnRlZDoKKyAgICAgICAgLy8gMiAoY29udCkuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5
cGUgLi4uIHRoYXQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcyAKKyAgICAgICAgLy8g
c3BlY2lmaWVkIGZvciB0aGUgb3RoZXIgU291cmNlQnVmZmVyIG9iamVjdHMgaW4gc291cmNlQnVm
ZmVycywgdGhlbiB0aHJvdworICAgICAgICAvLyBhIE5PVF9TVVBQT1JURURfRVJSIGV4Y2VwdGlv
biBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7
CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0
OgorICAgICAgICAvLyAzIChjb250KS4gSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFu
eSBtb3JlIFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cgCisgICAgICAgIC8vIGEgUVVP
VEFfRVhDRUVERURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAg
IGVjID0gUVVPVEFfRVhDRUVERURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBNZWRpYVNv
dXJjZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tcmVtb3Zlc291
cmNlYnVmZmVyCisgICAgLy8gMS4gSWYgc291cmNlQnVmZmVyIGlzIG51bGwgdGhlbiB0aHJvdyBh
biBJTlZBTElEX0FDQ0VTU19FUlIgZXhjZXB0aW9uIGFuZAorICAgIC8vIGFib3J0IHRoZXNlIHN0
ZXBzLgorICAgIGlmICghYnVmZmVyKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMi4gSWYgc291cmNlQnVmZmVycyBp
cyBlbXB0eSB0aGVuIHRocm93IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQKKyAg
ICAvLyBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3NvdXJjZUJ1
ZmZlcnMtPmxlbmd0aCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyAzLiBJZiBzb3VyY2VCdWZmZXIgc3BlY2lmaWVz
IGFuIG9iamVjdCB0aGF0IGlzIG5vdCBpbiBzb3VyY2VCdWZmZXJzIHRoZW4KKyAgICAvLyB0aHJv
dyBhIE5PVF9GT1VORF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICAv
LyA2LiBSZW1vdmUgc291cmNlQnVmZmVyIGZyb20gc291cmNlQnVmZmVycyBhbmQgZmlyZSBhIHJl
bW92ZXNvdXJjZWJ1ZmZlciBldmVudCBvbiB0aGF0IG9iamVjdC4KKyAgICBpZiAoIW1fc291cmNl
QnVmZmVycy0+cmVtb3ZlKGJ1ZmZlcikpIHsKKyAgICAgICAgZWMgPSBOT1RfRk9VTkRfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gNy4gRGVzdHJveSBhbGwgcmVzb3VyY2Vz
IGZvciBzb3VyY2VCdWZmZXIuCisgICAgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLT5yZW1vdmUoYnVm
ZmVyKTsKKyAgICBtX3BsYXllci0+c291cmNlUmVtb3ZlSWQoYnVmZmVyLT5pZCgpKTsKKworICAg
IC8vIDQuIFJlbW92ZSB0cmFjayBpbmZvcm1hdGlvbiBmcm9tIGF1ZGlvVHJhY2tzLCB2aWRlb1Ry
YWNrcywgYW5kIHRleHRUcmFja3MgZm9yIGFsbCB0cmFja3MgYXNzb2NpYXRlZCB3aXRoIHNvdXJj
ZUJ1ZmZlciBhbmQgZmlyZSBhIHNpbXBsZSBldmVudCBuYW1lZCBjaGFuZ2Ugb24gdGhlIG1vZGlm
aWVkIGxpc3RzLgorICAgIC8vIEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24K
KworICAgIC8vIDUuIElmIHNvdXJjZUJ1ZmZlciBpcyBpbiBhY3RpdmVTb3VyY2VCdWZmZXJzLCB0
aGVuIHJlbW92ZSBpdCBmcm9tIHRoYXQgbGlzdCBhbmQgZmlyZSBhIHJlbW92ZXNvdXJjZWJ1ZmZl
ciBldmVudCBvbiB0aGF0IG9iamVjdC4KKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJh
Y2sgc2VsZWN0aW9uCit9CisKK2NvbnN0IFN0cmluZyYgTWVkaWFTb3VyY2U6OnJlYWR5U3RhdGUo
KSBjb25zdAoreworICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Cit9CisKK3ZvaWQgTWVkaWFTb3Vy
Y2U6OnNldFJlYWR5U3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKK3sKKyAgICBBU1NFUlQoc3Rh
dGUgPT0gb3BlbktleXdvcmQoKSB8fCBzdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkgfHwgc3RhdGUg
PT0gZW5kZWRLZXl3b3JkKCkpOworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gc3RhdGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIFN0cmluZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBt
X3JlYWR5U3RhdGUgPSBzdGF0ZTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5
d29yZCgpKSB7CisgICAgICAgIG1fc291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9h
Y3RpdmVTb3VyY2VCdWZmZXJzLT5jbGVhcigpOworICAgICAgICBtX3BsYXllciA9IDA7CisgICAg
ICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0c291cmNl
Y2xvc2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
CisgICAgaWYgKG9sZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0YXRlID09IGVu
ZGVkS2V5d29yZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IG9wZW5LZXl3b3JkKCkp
IHsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJr
aXRzb3VyY2VvcGVuRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorfQorCit2b2lkIE1lZGlhU291cmNlOjplbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVycm9y
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hn
L2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNk
b20tZW5kb2ZzdHJlYW0KKyAgICAvLyAxLiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgaXMg
bm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAgIC8vIElOVkFMSURfU1RB
VEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3BsYXll
ciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFM
SURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6
OkVuZE9mU3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwor
CisgICAgaWYgKGVycm9yLmlzTnVsbCgpIHx8IGVycm9yLmlzRW1wdHkoKSkKKyAgICAgICAgZW9z
U3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7CisgICAgZWxzZSBpZiAoZXJyb3IgPT0g
Im5ldHdvcmsiKQorICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0d29ya0Vy
cm9yOworICAgIGVsc2UgaWYgKGVycm9yID09ICJkZWNvZGUiKQorICAgICAgICBlb3NTdGF0dXMg
PSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMi4g
Q2hhbmdlIHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0ZSB2YWx1ZSB0byAiZW5kZWQiLgorICAgIHNl
dFJlYWR5U3RhdGUoZW5kZWRLZXl3b3JkKCkpOworICAgIG1fcGxheWVyLT5zb3VyY2VFbmRPZlN0
cmVhbShlb3NTdGF0dXMpOworfQorCitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IE1lZGlhU291cmNl
OjpidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sK
KyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIG1fcGxheWVyLT5zb3VyY2VCdWZmZXJlZChpZCk7Cit9CisKK3ZvaWQg
TWVkaWFTb3VyY2U6OmFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJy
YXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZGF0YS5nZXQoKSkgewor
ICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmICghZGF0YS0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9wbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkp
IHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorfQor
Cit2b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29y
ZCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNl
OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvck1lZGlhU291cmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBNZWRpYVNv
dXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK0V2
ZW50VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0
dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBNZWRpYVNvdXJj
ZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXRE
YXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
MWQ2ZDNhMDg3YzFmY2MxZTExNTY1NTNiZjFhNTRjZDBhZTgzMjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTAs
MCArMSwxMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE1lZGlhU291cmNlX2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VfaAor
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VC
dWZmZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVNvdXJjZSA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJs
aWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25z
dCBTdHJpbmcmIG9wZW5LZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBvcGVuLCAoIm9wZW4iKSk7CisgICAgICAgIHJldHVybiBvcGVuOwor
ICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIGNsb3NlZEtleXdvcmQoKQorICAgIHsK
KyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJjbG9z
ZWQiKSk7CisgICAgICAgIHJldHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgZW5kZWRLZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBlbmRlZCwgKCJlbmRlZCIpKTsKKyAgICAgICAgcmV0dXJuIGVuZGVk
OworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlKCkgeyB9CisK
KyAgICBTb3VyY2VCdWZmZXJMaXN0KiBzb3VyY2VCdWZmZXJzKCk7CisgICAgU291cmNlQnVmZmVy
TGlzdCogYWN0aXZlU291cmNlQnVmZmVycygpOworCisgICAgU291cmNlQnVmZmVyKiBhZGRTb3Vy
Y2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBy
ZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyKiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAg
Y29uc3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSZWFkeVN0YXRl
KGNvbnN0IFN0cmluZyYpOworCisgICAgdm9pZCBlbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVy
cm9yLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICB2b2lkIHNldE1lZGlhUGxheWVyKE1lZGlhUGxh
eWVyKiBwbGF5ZXIpIHsgbV9wbGF5ZXIgPSBwbGF5ZXI7IH0KKyAgICAKKyAgICBQYXNzUmVmUHRy
PFRpbWVSYW5nZXM+IGJ1ZmZlcmVkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKKyAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4
QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFib3J0KGNvbnN0IFN0cmlu
ZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQor
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlh
U291cmNlPjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+OjpkZXJlZjsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CisKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSgpIE9WRVJSSURFOworCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZF
UlJJREUgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZF
UlJJREUgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERh
dGE7CisKKyAgICBTdHJpbmcgbV9yZWFkeVN0YXRlOworICAgIE1lZGlhUGxheWVyKiBtX3BsYXll
cjsgLy8gPC0tIHNob3VsZCB0aGlzIGJlIGEgUmVmUHRyPworCisgICAgUmVmUHRyPFNvdXJjZUJ1
ZmZlckxpc3Q+IG1fc291cmNlQnVmZmVyczsKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4g
bV9hY3RpdmVTb3VyY2VCdWZmZXJzOworICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjVmN2RlYzFiYmQ1Yjk3NzZiOGNkOGI3NjA0NjdkMDMxNGJhNmRiNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRs
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworIAorbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9
bWVkaWFTb3VyY2UsCisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAgICAgICBDb25zdHJ1Y3RvciwK
KyAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gTWVkaWFTb3Vy
Y2UgeworICAgICAgICAvLyBBbGwgdGhlIHNvdXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBv
YmplY3QuCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJj
ZUJ1ZmZlcnM7CisKKyAgICAgICAgLy8gU3Vic2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92
aWRlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZC9lbmFibGVkIHRyYWNrcy4KKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxpc3QgYWN0aXZlU291cmNlQnVmZmVyczsKKworICAg
ICAgICBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKGluIERPTVN0cmluZyB0eXBlKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKGluIFNv
dXJjZUJ1ZmZlciBidWZmZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlYWR5U3RhdGU7CisgICAgICAgIAorICAgICAgICB2
b2lkIGVuZE9mU3RyZWFtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJp
bmcgZXJyb3IpCisgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIAor
ICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVF
dmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAg
Ym9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAgICAgcmFpc2Vz
KEV2ZW50RXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZmQ0MDAxNzE5ZTEwOWI0YjBmZjAyNmUzYTFmMWY1NmE4Yzc2NmI0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJl
Z2lzdHJ5LmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik1lZGlhU291cmNlUmVnaXN0cnkuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhU291cmNlUmVnaXN0
cnkmIE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKK3sKKyAgICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU291cmNlUmVnaXN0
cnksIGluc3RhbmNlLCAoKSk7CisgICAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK3ZvaWQgTWVk
aWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJiB1cmws
IFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgIG1fbWVkaWFTb3VyY2VzLnNldCh1cmwuc3RyaW5nKCksIHNvdXJjZSk7Cit9
CisKK3ZvaWQgTWVkaWFTb3VyY2VSZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU291cmNlVVJMKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fbWVk
aWFTb3VyY2VzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitNZWRpYVNvdXJjZSogTWVkaWFT
b3VyY2VSZWdpc3RyeTo6bG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpCit7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZXMuZ2V0
KHVybCkuZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVn
aXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VS
ZWdpc3RyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ZGE2YjM0N2M3MGM1MTFjYjQ2OGZlZDIxNzI3Mjk3MTY2
NzUzNzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYVNv
dXJjZVJlZ2lzdHJ5X2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VSZWdpc3RyeV9oCisKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFTb3VyY2U7CisKK2Ns
YXNzIE1lZGlhU291cmNlUmVnaXN0cnkgeworcHVibGljOgorICAgIC8vIFJldHVybnMgYSBzaW5n
bGUgaW5zdGFuY2Ugb2YgTWVkaWFTb3VyY2VSZWdpc3RyeS4KKyAgICBzdGF0aWMgTWVkaWFTb3Vy
Y2VSZWdpc3RyeSYgcmVnaXN0cnkoKTsKKworICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJl
ZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIG1lZGlhIHNvdXJjZS4KKyAgICB2b2lkIHJlZ2lzdGVy
TWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+KTsKKyAg
ICB2b2lkIHVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJik7CisKKyAgICBNZWRp
YVNvdXJjZSogbG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpOworCitwcml2YXRl
OgorICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFTb3VyY2U+ID4gbV9tZWRpYVNvdXJj
ZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTkxOTEwODAzMDgwODA1N2E4Zjg3MGJhYjNkODhmMDJmNWRiMDkxYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlNvdXJjZUJ1ZmZlci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
IlRpbWVSYW5nZXMuaCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQs
IFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKKyAgICA6IG1faWQoaWQpCisgICAgLCBt
X3NvdXJjZShzb3VyY2UpCit7Cit9CisKK1NvdXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcigpCit7
Cit9CisKK1Bhc3NSZWZQdHI8VGltZVJhbmdlcz4gU291cmNlQnVmZmVyOjpidWZmZXJlZChFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVj
ID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJl
dHVybiBtX3NvdXJjZS0+YnVmZmVyZWQoaWQoKSwgZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZl
cjo6YXBwZW5kKFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFwcGVuZChpZCgpLCBk
YXRhLCBlYyk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9F
UlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3NvdXJjZS0+YWJvcnQoaWQoKSwg
ZWMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzRjNTI1MDAzODAyOTkxZjhmMTJmMzYwYWVhOTE3MjU5MGEwYjRkZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAg
LTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgU291cmNlQnVmZmVyX2gKKyNkZWZpbmUgU291cmNlQnVmZmVy
X2gKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGltZVJhbmdlczsKKworY2xh
c3MgU291cmNlQnVmZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBpZCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXIoaWQsIHNvdXJjZSkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlcigpOworCisgICAgUGFzc1JlZlB0cjxUaW1lUmFuZ2Vz
PiBidWZmZXJlZChFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKKyAgICB2b2lkIGFwcGVuZChQYXNz
UmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZvaWQgYWJv
cnQoRXhjZXB0aW9uQ29kZSYpOworICAgIAorICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7
IHJldHVybiBtX2lkOyB9CisKKyAgICB2b2lkIGNsZWFyKCkgeyBtX3NvdXJjZS5jbGVhcigpOyB9
CisKK3ByaXZhdGU6CisgICAgU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQ
dHI8TWVkaWFTb3VyY2U+KTsKKworICAgIFN0cmluZyBtX2lkOworICAgIFJlZlB0cjxNZWRpYVNv
dXJjZT4gbV9zb3VyY2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyYjljYjYxOGY1NTAxNTUyN2IzZDY5YWYyOTZmNjlm
N2JkOWY1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKwor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAg
ICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlCisgICAgXSBTb3VyY2VCdWZmZXIgewor
CisgICAgICAgIC8vIFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkLgorICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyBidWZmZXJlZAorICAgICAgICAgICAgZ2V0dGVy
IHJhaXNlcyhET01FeGNlcHRpb24pOworCisgICAgICAgIC8vIEFwcGVuZCBzZWdtZW50IGRhdGEu
CisgICAgICAgIHZvaWQgYXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNl
cHRpb24pOworCisgICAgICAgIC8vIEFib3J0IHRoZSBjdXJyZW50IHNlZ21lbnQgYXBwZW5kIHNl
cXVlbmNlLgorICAgICAgICB2b2lkIGFib3J0KCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlckxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MmI0NmYwZmI2N2E4NjE1NzI4ZmI4
YTM0ZDBiMmJhMTc2MzJlZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC0wLDAgKzEsMTEyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3QuaCIKKworI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNvdXJj
ZUJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlckxpc3Q6OlNv
dXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQoreworfQorCit1bnNpZ25lZCBsb25nIFNv
dXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGlzdC5zaXpl
KCk7Cit9CisKK1NvdXJjZUJ1ZmZlciogU291cmNlQnVmZmVyTGlzdDo6aXRlbSh1bnNpZ25lZCBp
bmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9saXN0LnNpemUoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIG1fbGlzdFtpbmRleF0uZ2V0KCk7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyTGlzdDo6YWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIpCit7Cisg
ICAgbV9saXN0LmFwcGVuZChidWZmZXIpOworICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5h
bWVzKCkud2Via2l0YWRkc291cmNlYnVmZmVyRXZlbnQpOworfQorCitib29sIFNvdXJjZUJ1ZmZl
ckxpc3Q6OnJlbW92ZShTb3VyY2VCdWZmZXIqIGJ1ZmZlcikKK3sgICAgCisgICAgc2l6ZV90IGlu
ZGV4ID0gbV9saXN0LmZpbmQoYnVmZmVyKTsKKyAgICBpZiAoaW5kZXggPT0gbm90Rm91bmQpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fbGlzdC5yZW1vdmUoaW5kZXgpOworICAgIGJ1
ZmZlci0+Y2xlYXIoKTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygpLndlYmtp
dHJlbW92ZXNvdXJjZWJ1ZmZlckV2ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJMaXN0OjpjbGVhcigpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBt
X2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZShtX2xpc3RbaV0uZ2V0KCkpOworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50TmFtZSkKK3sKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSk7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlz
KTsKKworICAgIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworY29uc3Qg
QXRvbWljU3RyaW5nJiBTb3VyY2VCdWZmZXJMaXN0OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNvdXJjZUJ1ZmZlckxpc3Q7Cit9
CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNvdXJjZUJ1ZmZlckxpc3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogU291cmNlQnVmZmVyTGlzdDo6ZXZlbnRUYXJnZXRE
YXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdl
dERhdGEqIFNvdXJjZUJ1ZmZlckxpc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAg
cmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY3ZjlhNzg5MjdlMTY3MTIxYjdhNjMwZjg4
YjlmNTE3NDE3Y2VkYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNv
dXJjZUJ1ZmZlckxpc3RfaAorI2RlZmluZSBTb3VyY2VCdWZmZXJMaXN0X2gKKworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlcjsKKworY2xhc3MgU291cmNlQnVmZmVyTGlzdCA6
IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKKyAgICB9CisgICAgdmly
dHVhbCB+U291cmNlQnVmZmVyTGlzdCgpIHsgfQorCisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgo
KSBjb25zdDsKKyAgICBTb3VyY2VCdWZmZXIqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owor
CisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+KTsKKyAgICBib29sIHJlbW92
ZShTb3VyY2VCdWZmZXIqKTsKKyAgICB2b2lkIGNsZWFyKCk7CisKKyAgICAvLyBFdmVudFRhcmdl
dCBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFt
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVm
Q291bnRlZDxTb3VyY2VCdWZmZXJMaXN0Pjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8U291
cmNlQnVmZmVyTGlzdD46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBFdmVudFRh
cmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBTb3VyY2VCdWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsK
KworICAgIHZvaWQgY3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOworCisg
ICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQorICAg
IHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigpOyB9CisK
KyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCisgICAgVmVjdG9yPFJlZlB0
cjxTb3VyY2VCdWZmZXI+ID4gbV9saXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzllZGRjYWE4ZjU0NGE0
NGFmY2VkZGJmODg5YWYyM2MwYmFmMDJkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisgCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwK
KyAgICAgICAgSW5kZXhlZEdldHRlciwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAgICAgIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIFNvdXJjZUJ1ZmZlckxpc3Qgewor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAg
IFNvdXJjZUJ1ZmZlciBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAgICAgIC8v
IEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4g
RE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExp
c3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRp
c3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNl
cHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDIzYmMyZDBlMmZlNmU0MzliZmYw
OTEzMmRiNmNlMzI2MmMyMmNmNjIuLjUxYTUyYzNiMzVlN2E5YTg5NDY0MmFkOGVjZjRiZjZhNWZm
MTA5MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzAwMyw2ICszMDAzLDE5IEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSB7CiAgICAgICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5jcHAKIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7
CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuaCBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5o
IFwKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisgICAgICAg
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisgICAgU09VUkNFUyArPSBc
CisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKyAgICAgICAg
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisgICAgICAgIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisgICAgICAgIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKK30KKwogY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0lDT05EQVRBQkFTRT0xKSB7CiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGxvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAppbmRleCA1ZTlhNzVmYWMyZmY1ZmRlNGE1ODFmNWNiNmU3YjYxOTViNzgyZjdiLi43MjZjZTUx
MDYzYjkzMTI1ZWU0OGE4NzQxYTkxZmMyZjhmZjY1M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cApAQCAtNjAsNiArNjAsNyBAQAogICAgICAgJy4uL01vZHVsZXMvZ2Vv
bG9jYXRpb24nLAogICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAnLi4vTW9kdWxl
cy9pbmRleGVkZGInLAorICAgICAgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4u
L01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycs
CiAgICAgICAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApAQCAtMTA2Niw2ICsxMDY3LDcg
QEAKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ZpbGVzeXN0ZW0nLAog
ICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAg
ICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAorICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAn
LS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGY0NTgxZDlkMTk2Yzk1NWVjNzVhMzRmYjc0YWU0NDk1YmE4ODUwNjQuLmQ1Njc0NzQ5ZWU4OGY4
YzRiYzdlY2MwZmZhYzZmYTBhNzVlNTY5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTgyNSw2ICs4
MjUsOSBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsJywKQEAgLTE1MzUsNiAr
MTUzOCwxNCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxs
YmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5j
cHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmgnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywKKyAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oJywKICAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDcwNWE0YmNlOTg0YTdiNjMy
M2EyMGE5ZjkxMjM3NDdlZWZjMmRhNjIuLjk5ZDg0ZTU2Y2JmYzg5Zjc4ZWNlYTcyNGE0MTJlNGQ1
OGM3NTYxMTUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCkBAIC0yNDk3MSw2ICsyNDk3MSw0MiBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgog
CQkJPEZpbHRlcgorCQkJCU5hbWU9Im1lZGlhc291cmNlIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2UuY3BwIgor
CQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9k
dWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNvdXJjZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNv
dXJjZVJlZ2lzdHJ5LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2VSZWdpc3RyeS5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
TW9kdWxlc1xtZWRpYXNvdXJjZVxTb3VyY2VCdWZmZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcU291
cmNlQnVmZmVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291cmNlXFNvdXJjZUJ1ZmZlckxpc3QuY3BwIgorCQkJ
CQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxl
c1xtZWRpYXNvdXJjZVxTb3VyY2VCdWZmZXJMaXN0LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQk8L0ZpbHRlcj4KKwkJCTxGaWx0ZXIKIAkJCQlOYW1lPSJub3RpZmljYXRpb25zIgogCQkJCT4K
IAkJCQk8RmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZUNvbW1vbi52c3Byb3BzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZUNvbW1vbi52c3Byb3BzCmluZGV4IDEyZTg3Njc2Yzg3OGU4YzZjYTE2YmM0OGI4ZTZmNDIwZDQw
NTk0NGYuLjE1YWE5YmYwYTg3Yzc4ZTE0OTg3YjEyNTJjMWQ0NDUxZTBhNzM1YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMK
QEAgLTcsNyArNyw3IEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxl
c1xwcm90b2NvbGhhbmRsZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccXVv
dGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmls
aXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdl
XGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmlu
Z1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRt
bFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxh
cmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjYSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVx0ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0
XHRyYW5zY29kZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNz
XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlx4bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcV2ViQ29yZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1
Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2luc1x3aW4mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHN2Z1xncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHRlc3Rp
bmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3RvcmFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cd29ya2VycyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
aW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNs
dWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxp
bmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNs
dWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVv
dDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxpdGUmcXVvdDs7JnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcemxpYiZxdW90OyIKKwkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcaW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG1lZGlhc291
cmNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHByb3RvY29saGFuZGxlciZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xxdW90YSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1
bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRn
ZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGht
bCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0JnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXGNhbnZhcyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxpbnNwZWN0b3ImcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
bG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmVcY2YmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXG1hdGhtbCZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFn
ZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcc2Nyb2xsaW5nJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGFuaW1h
dGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbW9jayZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdv
cmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmtcd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFw
aGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xmaWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNz
XHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXIm
cXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRT
b3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Zn
XGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRl
JnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUm
cXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZh
U2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMm
cXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX19X
SU4zMl9fO0RJU0FCTEVfM0RfUkVOREVSSU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUyIKIAkJVXNl
UHJlY29tcGlsZWRIZWFkZXI9IjIiCiAJCVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViQ29y
ZVByZWZpeC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29w
eUZvcndhcmRpbmdIZWFkZXJzLmNtZCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2Nv
cHlGb3J3YXJkaW5nSGVhZGVycy5jbWQKaW5kZXggMDkxN2NkNzkxN2RmODVhNGI1NmJjOGNkN2Y2
YTZlOGI2OTgxZDM3YS4uNzljMzYyMDYxMzdkMDcxOTRmZGU4NTU1NTM2MzFlYWNkY2QzMmI1MiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdI
ZWFkZXJzLmNtZAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2Fy
ZGluZ0hlYWRlcnMuY21kCkBAIC0yMSw2ICsyMSw3IEBAIHhjb3B5IC95IC9kICIlUHJvamVjdERp
ciUuLlxjb25maWcuaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIK
IHhjb3B5IC95IC9kICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxvYmpcV2ViQ29yZVxEZXJpdmVk
U291cmNlc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4
Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xmaWxlc3lzdGVtXCouaCIgIiVDT05G
SUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVj
dERpciUuLlxNb2R1bGVzXGdlb2xvY2F0aW9uXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIl
XGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxNb2R1bGVzXG1l
ZGlhc291cmNlXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIK
IHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnNcKi5oIiAi
JUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQ
cm9qZWN0RGlyJS4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyXCouaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxN
b2R1bGVzXHF1b3RhXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29y
ZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA5M2JlMjc1MDQ5MTBiOGIwOTRmOGI5MTM4MWMwN2U3ODZmMjRhMGY3Li4xNGQ4YTFl
OWI4OTZjODM1MjFlYTBmYTA1ODY1Mjg2MzQyMzcwNjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTU3Miw2ICsxMTU3Miwx
NyBAQAogCQlCMTBCNjk3RTE0MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlZUVFRva2VuaXplci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxMEI2OTdGMTQwQzE3NDAwMEJDMUMyNiAv
KiBXZWJWVFRUb2tlbml6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
VlRUVG9rZW5pemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxODI3NDkyMTM0
Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTb3VyY2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJERjE1QjVDRTIyMDBENTI1RDEgLyog
TWVkaWFTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTb3Vy
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTAxNUI1Q0UyMjAwRDUy
NUQxIC8qIE1lZGlhU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVNvdXJj
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkUxMTVCNUNFMjIwMEQ1
MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUE5NDJFMjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2VSZWdpc3Ry
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZVJlZ2lzdHJ5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkUzMTVCNUNFMjIwMEQ1MjVE
MSAvKiBTb3VyY2VCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU291cmNlQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQy
RTQxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjFBOTQyRTUxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gU291cmNlQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjFBOTQyRTYxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQnVmZmVyTGlzdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkU3MTVCNUNFMjIwMEQ1MjVEMSAv
KiBTb3VyY2VCdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNv
dXJjZUJ1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTgx
NUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMUFENEU3MTEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFRleHRUcmFja0xvYWRlci5jcHA7IHBhdGgg
PSBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OwogCQlCMUFENEU3MjEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFRleHRUcmFja0xvYWRlci5oOyBwYXRoID0gbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUIx
RDVFQ0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NTQxLDYgKzE3NTUyLDcgQEAKIAkJOTcxMTQ1RkUxNEVGMDA2RTAw
Njc0RkQ5IC8qIE1vZHVsZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCUIxQTk0MkREMTVCNUNFMjIwMEQ1MjVEMSAvKiBtZWRpYXNvdXJjZSAqLywKIAkJ
CQk5NzExNDVGRjE0RUYwMDc5MDA2NzRGRDkgLyogZ2VvbG9jYXRpb24gKi8sCiAJCQkJOTcxMkE1
NTMxNTAwNEUzQzAwNDhBRjEwIC8qIGluZGV4ZWRkYiAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2
MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKQEAgLTE4OTc1LDYgKzE4OTg3LDI1IEBACiAJ
CQluYW1lID0gUGx1Z2luczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUIx
QTk0MkREMTVCNUNFMjIwMEQ1MjVEMSAvKiBtZWRpYXNvdXJjZSAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQjFBOTQyREUxNUI1Q0UyMjAwRDUyNUQxIC8q
IE1lZGlhU291cmNlLmNwcCAqLywKKwkJCQlCMUE5NDJERjE1QjVDRTIyMDBENTI1RDEgLyogTWVk
aWFTb3VyY2UuaCAqLywKKwkJCQlCMUE5NDJFMDE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3Vy
Y2UuaWRsICovLAorCQkJCUIxQTk0MkUxMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJl
Z2lzdHJ5LmNwcCAqLywKKwkJCQlCMUE5NDJFMjE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3Vy
Y2VSZWdpc3RyeS5oICovLAorCQkJCUIxQTk0MkUzMTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VC
dWZmZXIuY3BwICovLAorCQkJCUIxQTk0MkU0MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZm
ZXIuaCAqLywKKwkJCQlCMUE5NDJFNTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlk
bCAqLywKKwkJCQlCMUE5NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5j
cHAgKi8sCisJCQkJQjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlckxpc3Qu
aCAqLywKKwkJCQlCMUE5NDJFODE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5p
ZGwgKi8sCisJCQkpOworCQkJbmFtZSA9IG1lZGlhc291cmNlOworCQkJcGF0aCA9IE1vZHVsZXMv
bWVkaWFzb3VyY2U7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlCMUFENEU3
NzEzQTEyQTcyMDA4NDZCMjcgLyogdHJhY2sgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggODM2ZTYzMDhiMGRhY2Y5
ZGIxZjc3NWZmZjI5MzRmMWI3NmRmYzE4YS4uOTgzZGYyOWU4YmYyZWM3MDI3NmQ2Njg1NDUzNTlj
MDk0ZjZlOGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNTcsNiArMTU3LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAog
ICAgIG1hY3JvKHdlYmtpdGVuZGZ1bGxzY3JlZW4pIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0
YWRkc291cmNlYnVmZmVyKSBcCisgICAgbWFjcm8od2Via2l0cmVtb3Zlc291cmNlYnVmZmVyKSBc
CiAgICAgbWFjcm8od2Via2l0c291cmNlb3BlbikgXAogICAgIG1hY3JvKHdlYmtpdHNvdXJjZWVu
ZGVkKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNlY2xvc2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0LmgKaW5kZXggZjM4N2U0MjczZWUyNmEyMDZiNmQ3OTk5MWRlMzJkOWRiNTVlMmE2Zi4uMjlj
NjBiYjEwNWJjOTk4ZjVkZTIzYzRmYTIxN2IzNmIxNTk0OWZkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0LmgKQEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEphdmFTY3JpcHRBdWRpb05vZGU7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBj
bGFzcyBNZWRpYUNvbnRyb2xsZXI7CisgICAgY2xhc3MgTWVkaWFTb3VyY2U7CiAgICAgY2xhc3Mg
TWVkaWFTdHJlYW07CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgTm9kZTsKQEAg
LTY0LDYgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyOwogICAgIGNsYXNzIFNoYXJlZFdv
cmtlckNvbnRleHQ7CisgICAgY2xhc3MgU291cmNlQnVmZmVyTGlzdDsKICAgICBjbGFzcyBUZXh0
VHJhY2s7CiAgICAgY2xhc3MgVGV4dFRyYWNrQ3VlOwogICAgIGNsYXNzIFdlYlNvY2tldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDgyMTcxN2IwZDdmZTc2
NTNhYWYzZjY1ZGEzNWVhOGVmOTViZDA0ZTQuLjM5MmIzMDU0NDI0ODE3ZmNmZTAxZjE4MzJmMmI5
MjVjMWIwM2FjOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpA
QCAtMTYsNiArMTYsNyBAQCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdCBjb25kaXRpb25hbD1JTkRF
WEVEX0RBVEFCQVNFCiBKYXZhU2NyaXB0QXVkaW9Ob2RlIGNvbmRpdGlvbmFsPVdFQl9BVURJTwog
TG9jYWxNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhQ29udHJvbGxl
ciBjb25kaXRpb25hbD1WSURFTworTWVkaWFTb3VyY2UgY29uZGl0aW9uYWw9TUVESUFfU09VUkNF
CiBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU3RyZWFtVHJhY2tM
aXN0IGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVzc2FnZVBvcnQKQEAgLTI2LDYgKzI3LDcg
QEAgUGVlckNvbm5lY3Rpb24wMCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIFBlcmZvcm1hbmNl
IGNvbmRpdGlvbmFsPVdFQl9USU1JTkcKIFNoYXJlZFdvcmtlciBjb25kaXRpb25hbD1TSEFSRURf
V09SS0VSUwogU2hhcmVkV29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwor
U291cmNlQnVmZmVyTGlzdCBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIFNwZWVjaFJlY29nbml0
aW9uIGNvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSAogU1ZHRWxlbWVudEluc3RhbmNlIGNvbmRp
dGlvbmFsPVNWRwogVGV4dFRyYWNrIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKaW5kZXggNGY5NzgwZGNkNmIzMzQ3NjM5OGJiNGM2OGI0OThlNWNiMDk5MTk5Ny4u
ZjQyMzVkOTViZjcwNjQ1ODc1NjZlYjA2ZWFkM2FmNTE4NDlkZDM2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmNwcApAQCAtNDIsNiArNDIsMTEgQEAKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQor
I2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5o
IgorI2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgpAQCAtNDksNiArNTQsMjYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK1N0
cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LCBNZWRpYVNvdXJjZSogc291cmNlKQoreworICAgIC8vIFNpbmNl
IFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBNZWRpYVNvdXJjZSBvYmplY3RzLCB3ZSBzaG91bGQg
YmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAg
ICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgfHwgIXNvdXJjZSkKKyAgICAgICAgcmV0dXJu
IFN0cmluZygpOworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNV
Ukwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgaWYgKHB1
YmxpY1VSTC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIE1lZGlh
U291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChwdWJsaWNV
UkwsIHNvdXJjZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cHVibGljVVJMTWFuYWdl
cigpLnN0cmVhbVVSTHMoKS5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKworICAgIHJldHVybiBw
dWJsaWNVUkwuc3RyaW5nKCk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiBTdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWVkaWFTdHJlYW0qIHN0cmVhbSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5oCmluZGV4IDI1YWUwMTNlYjBhOGExMGJjNDMzM2EwYmJiNGEwNzc5MTdiMjdmYTcuLmQ3
MWZiOTNmMzU1YjVhZDJlMmZlYmQyZmI5MDMxODNkOTc0MTIxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwu
aApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCbG9iOwor
Y2xhc3MgTWVkaWFTb3VyY2U7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAKQEAgLTQ5LDYgKzUwLDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFN0
cmluZyBjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEJsb2IqKTsKICAg
ICBzdGF0aWMgdm9pZCByZXZva2VPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNv
bnN0IFN0cmluZyYpOworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgc3RhdGljIFN0cmlu
ZyBjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU291cmNlKik7
CisjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0YXRpYyBTdHJpbmcgY3Jl
YXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNZWRpYVN0cmVhbSopOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKaW5kZXggZWQwNGMyM2Q1YzY3YjMxYzNiOTM3MzYyMDdm
YjQwYWU5NmExNmFhYS4uYjM2ZThmN2NlYmFlN2RjMzc2ZTliYWEzMjljZGNlOThlMmVhMGFjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVVJMLmlkbApAQCAtMzMsNiArMzMsOSBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgIEpTTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIEludGVyZmFjZU5hbWU9VVJMCiAgICAg
XSBET01VUkwgeworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01F
RElBX1NPVVJDRQorICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCxUcmVh
dFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0
VVJMKGluIE1lZGlhU291cmNlPyBzb3VyY2UpOworI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVf
TUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCiAgICAgICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3Rh
dGljIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVkaWFTdHJlYW0/IHN0cmVhbSk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggNDU5
MDc4ZjY0YzA4YmUyYmU0MzFiMDA4ODhkY2YzOWJkYjMwYjg2OS4uY2MyNjA1MTU1YzBmYWM2MzIz
OGQ1NzdkNDAxMDc2NjkxY2IzMDk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4KQEAgLTI0Myw2ICsyNDMsNyBAQCBvbnRvdWNoY2FuY2VsCiBvbnVubG9hZAog
b252b2x1bWVjaGFuZ2UKIG9ud2FpdGluZworb253ZWJraXRhZGRzb3VyY2VidWZmZXIKIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQKIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uCiBvbndlYmtpdGFu
aW1hdGlvbmVuZApAQCAtMjU0LDYgKzI1NSw3IEBAIG9ud2Via2l0a2V5YWRkZWQKIG9ud2Via2l0
a2V5ZXJyb3IKIG9ud2Via2l0a2V5bWVzc2FnZQogb253ZWJraXRuZWVka2V5CitvbndlYmtpdHJl
bW92ZXNvdXJjZWJ1ZmZlcgogb253ZWJraXRzb3VyY2VjbG9zZQogb253ZWJraXRzb3VyY2VlbmRl
ZAogb253ZWJraXRzb3VyY2VvcGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCBmMTYyNzFiY2QxM2NiZGY1ZTJlMGUwZDI4MGU4NjQyOGY1MDEzZDA0Li5mYTY1
ODQ4MzQzMjhiMDcwNDY1MGJlNDhmZTI0MDhhNDRkM2U3YjA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTExMCw2ICsxMTAsMTEgQEAKICNpbmNsdWRlICJE
aXNwbGF5U2xlZXBEaXNhYmxlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3Ry
eS5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTE0NCw3ICsxNDksNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29s
IHZhbCkKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyBVUkwgcHJvdG9jb2wgdXNlZCB0
byBzaWduYWwgdGhhdCB0aGUgbWVkaWEgc291cmNlIEFQSSBpcyBiZWluZyB1c2VkLgotc3RhdGlj
IGNvbnN0IGNoYXIqIG1lZGlhU291cmNlVVJMUHJvdG9jb2wgPSAieC1tZWRpYS1zb3VyY2UiOwor
c3RhdGljIGNvbnN0IGNoYXIqIG1lZGlhU291cmNlQmxvYlByb3RvY29sID0gImJsb2IiOwogI2Vu
ZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0yMTgsOSArMjIzLDYgQEAgSFRN
TE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW0KICAgICAsIG1fcHJlbG9hZChNZWRpYVBsYXllcjo6QXV0bykK
ICAgICAsIG1fZGlzcGxheU1vZGUoVW5rbm93bikKICAgICAsIG1fcHJvY2Vzc2luZ01lZGlhUGxh
eWVyQ2FsbGJhY2soMCkKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAgICAgIAotICAgICwgbV9z
b3VyY2VTdGF0ZShTT1VSQ0VfQ0xPU0VEKQotI2VuZGlmCiAgICAgLCBtX2NhY2hlZFRpbWUoTWVk
aWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpCiAgICAgLCBtX2NhY2hlZFRpbWVXYWxsQ2xvY2tVcGRh
dGVUaW1lKDApCiAgICAgLCBtX21pbmltdW1XYWxsQ2xvY2tUaW1lVG9DYWNoZU1lZGlhVGltZSgw
KQpAQCAtMjcxLDcgKzI3Myw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtCiAgICAgfQogCiAj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBtX21lZGlhU291cmNlVVJMLnNldFByb3RvY29s
KG1lZGlhU291cmNlVVJMUHJvdG9jb2wpOworICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UHJvdG9j
b2wobWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wpOwogICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UGF0
aChjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkpOwogI2VuZGlmCiAKQEAgLTQyMCwxNCArNDIy
LDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1
dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkud2Via2l0YmVnaW5mdWxsc2NyZWVuRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIodGhpcywgYXR0cmlidXRlKSk7CiAgICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9
PSBvbndlYmtpdGVuZGZ1bGxzY3JlZW5BdHRyKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRlbmRmdWxsc2NyZWVuRXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cmlidXRlKSk7Ci0jaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0c291cmNlY2xv
c2VBdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53
ZWJraXRzb3VyY2VjbG9zZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMs
IGF0dHJpYnV0ZSkpOwotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRz
b3VyY2VlbmRlZEF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnRO
YW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIodGhpcywgYXR0cmlidXRlKSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBv
bndlYmtpdHNvdXJjZW9wZW5BdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VvcGVuRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cmlidXRlKSk7Ci0jZW5kaWYKICAgICBlbHNlCiAgICAgICAgIEhU
TUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQpAQCAtNzAyLDggKzY5Niw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxvYWQoKQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9D
TE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNv
dXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAv
LyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyBuZXR3b3JrU3RhdGUgaXMgbm90IHNldCB0byBO
RVRXT1JLX0VNUFRZLCB0aGVuIHJ1biB0aGVzZSBzdWJzdGVwcwpAQCAtOTI2LDEwICs5MTksMTYg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgS1VSTCYgaW5pdGlh
bFVSTCwgQ29udGVudFR5cGUmIGNvbnRlbnQKICAgICB9CiAgICAgCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICAvLyBJZiB0aGlzIGlzIGEgbWVkaWEgc291cmNlIFVSTCwgbWFrZSBzdXJl
IGl0IGlzIHRoZSBvbmUgZm9yIHRoaXMgbWVkaWEgZWxlbWVudC4KLSAgICBpZiAodXJsLnByb3Rv
Y29sSXMobWVkaWFTb3VyY2VVUkxQcm90b2NvbCkgJiYgdXJsICE9IG1fbWVkaWFTb3VyY2VVUkwp
IHsKLSAgICAgICAgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcik7
Ci0gICAgICAgIHJldHVybjsKKyAgICBpZiAodXJsLnByb3RvY29sSXMobWVkaWFTb3VyY2VCbG9i
UHJvdG9jb2wpKSB7CisgICAgICAgIGlmIChtX21lZGlhU291cmNlKQorICAgICAgICAgICAgbV9t
ZWRpYVNvdXJjZS0+c2V0UmVhZHlTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsK
KworICAgICAgICBtX21lZGlhU291cmNlID0gYWRvcHRSZWYoTWVkaWFTb3VyY2VSZWdpc3RyeTo6
cmVnaXN0cnkoKS5sb29rdXBNZWRpYVNvdXJjZSh1cmwuc3RyaW5nKCkpKTsKKworICAgICAgICBp
ZiAobV9tZWRpYVNvdXJjZSkgeworICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+c2V0TWVkaWFQ
bGF5ZXIobV9wbGF5ZXIuZ2V0KCkpOworICAgICAgICAgICAgbV9tZWRpYVNvdXJjZVVSTCA9IHVy
bDsKKyAgICAgICAgfQogICAgIH0KICNlbmRpZgogCkBAIC0xNDMxLDggKzE0MzAsNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6Om5vbmVTdXBwb3J0ZWQoKQogICAgIHNjaGVkdWxlRXZlbnQoZXZl
bnROYW1lcygpLmVycm9yRXZlbnQpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBp
ZiAobV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQotICAgICAgICBzZXRTb3VyY2VTdGF0
ZShTT1VSQ0VfQ0xPU0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2Vk
S2V5d29yZCgpKTsKICNlbmRpZgogCiAgICAgLy8gOCAtIFNldCB0aGUgZWxlbWVudCdzIGRlbGF5
aW5nLXRoZS1sb2FkLWV2ZW50IGZsYWcgdG8gZmFsc2UuIFRoaXMgc3RvcHMgZGVsYXlpbmcgdGhl
IGxvYWQgZXZlbnQuCkBAIC0xNDYzLDggKzE0NjEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhRW5naW5lRXJyb3IoUGFzc1JlZlB0cjxNZWRpYUVycm9yPiBlcnIpCiAgICAgc2NoZWR1
bGVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNl
dFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291
cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA0IC0gU2V0IHRoZSBlbGVt
ZW50J3MgbmV0d29ya1N0YXRlIGF0dHJpYnV0ZSB0byB0aGUgTkVUV09SS19FTVBUWSB2YWx1ZSBh
bmQgcXVldWUgYQpAQCAtMTcyOSw3ICsxNzI2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllclNvdXJjZU9wZW5lZCgpCiB7CiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5
ZXJDYWxsYmFjaygpOwogCi0gICAgc2V0U291cmNlU3RhdGUoU09VUkNFX09QRU4pOworICAgIHNl
dFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpvcGVuS2V5d29yZCgpKTsKIAogICAgIGVuZFByb2Nl
c3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiB9CkBAIC0xNzM4LDIyICsxNzM1LDYgQEAgU3Ry
aW5nIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV9tZWRpYVNvdXJjZVVSTC5zdHJpbmcoKTsKIH0KLQotYm9vbCBIVE1MTWVkaWFF
bGVtZW50Ojppc1ZhbGlkU291cmNlSWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYg
ZWMpIGNvbnN0Ci17Ci0gICAgaWYgKGlkLmlzTnVsbCgpIHx8IGlkLmlzRW1wdHkoKSkgewotICAg
ICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLQotICAgIGlmICghbV9zb3VyY2VJRHMuY29udGFpbnMoaWQpKSB7Ci0gICAgICAgIGVjID0g
U1lOVEFYX0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0
cnVlOwotfQotCiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC0xOTc3
LDggKzE5NTgsOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWsoZmxvYXQgdGltZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICAvLyBBbHdheXMg
bm90aWZ5IHRoZSBtZWRpYSBlbmdpbmUgb2YgYSBzZWVrIGlmIHRoZSBzb3VyY2UgaXMgbm90IGNs
b3NlZC4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHNvdXJjZSBpcwogICAgIC8vIGFsd2F5cyBpbiBh
IGZsdXNoZWQgc3RhdGUgd2hlbiB0aGUgJ3NlZWtpbmcnIGV2ZW50IGZpcmVzLgotICAgIGlmICht
X3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICBub1NlZWtSZXF1aXJlZCA9IGZh
bHNlOworICAgIGlmIChtX21lZGlhU291cmNlICYmIG1fbWVkaWFTb3VyY2UtPnJlYWR5U3RhdGUo
KSAhPSBNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKQorICAgICAgICBub1NlZWtSZXF1aXJl
ZCA9IGZhbHNlOwogI2VuZGlmCiAKICAgICBpZiAobm9TZWVrUmVxdWlyZWQpIHsKQEAgLTIwMDAs
OCArMTk4MSw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBFeGNl
cHRpb25Db2RlJiBlYykKICAgICBtX3NlbnRFbmRFdmVudCA9IGZhbHNlOwogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfRU5ERUQpCi0g
ICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9PUEVOKTsKKyAgICBpZiAobV9tZWRpYVNvdXJj
ZSAmJiBtX21lZGlhU291cmNlLT5yZWFkeVN0YXRlKCkgPT0gTWVkaWFTb3VyY2U6OmVuZGVkS2V5
d29yZCgpKQorICAgICAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6b3BlbktleXdvcmQo
KSk7CiAjZW5kaWYKIAogICAgIC8vIDggLSBTZXQgdGhlIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRp
b24gdG8gdGhlIGdpdmVuIG5ldyBwbGF5YmFjayBwb3NpdGlvbgpAQCAtMjM0OSwxNzUgKzIzMzAs
MTIgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFsKCkKIH0KIAogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCi0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNl
QWRkSWQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2Rl
JiBlYykKLXsKLSAgICBpZiAoaWQuaXNOdWxsKCkgfHwgaWQuaXNFbXB0eSgpKSB7Ci0gICAgICAg
IGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKG1fc291cmNlSURzLmNvbnRhaW5zKGlkKSkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RB
VEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHR5cGUuaXNOdWxsKCkg
fHwgdHlwZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNy
YyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsK
LSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOwotICAgIFZlY3RvcjxTdHJpbmc+
IGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOwotCi0gICAgaWYgKCFjb2RlY3Muc2l6ZSgp
KSB7Ci0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBzd2l0Y2ggKG1fcGxheWVyLT5zb3VyY2VBZGRJZChpZCwgY29udGVudFR5cGUu
dHlwZSgpLCBjb2RlY3MpKSB7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6T2s6Ci0gICAgICAgIG1f
c291cmNlSURzLmFkZChpZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIE1lZGlhUGxheWVy
OjpOb3RTdXBwb3J0ZWQ6Ci0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAg
IHJldHVybjsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpSZWFjaGVkSWRMaW1pdDoKLSAgICAgICAg
ZWMgPSBRVU9UQV9FWENFRURFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRT
b3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBpZiAoIWlzVmFsaWRTb3VyY2VJZChpZCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBp
ZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291
cmNlU3RhdGUgPT0gU09VUkNFX0NMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVf
RVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNl
UmVtb3ZlSWQoaWQpKQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIG1fc291
cmNlSURzLnJlbW92ZShpZCk7Ci19Ci0KLVBhc3NSZWZQdHI8VGltZVJhbmdlcz4gSFRNTE1lZGlh
RWxlbWVudDo6d2Via2l0U291cmNlQnVmZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlh
U291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgPT0gU09VUkNFX0NMT1NFRCkgewotICAgICAgICBl
YyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gbV9wbGF5ZXItPnNvdXJjZUJ1ZmZlcmVkKGlkKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojp3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxV
aW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFsaWRT
b3VyY2VJZChpZCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8
IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09V
UkNFX09QRU4pIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmICghZGF0YS5nZXQoKSkgewotICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghZGF0YS0+
bGVuZ3RoKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZUFw
cGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkpIHsKLSAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi12b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OndlYmtpdFNvdXJjZUFib3J0KGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQordm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZShjb25zdCBTdHJpbmcm
IHN0YXRlKQogewotICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCisgICAgaWYgKCFt
X21lZGlhU291cmNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fcGxheWVyIHx8IG1f
Y3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNF
X09QRU4pIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmICghbV9wbGF5ZXItPnNvdXJjZUFib3J0KGlkKSkKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0
U291cmNlRW5kT2ZTdHJlYW0odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNl
VVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09VUkNFX09QRU4pIHsKLSAgICAgICAgZWMgPSBJTlZB
TElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIE1lZGlhUGxheWVy
OjpFbmRPZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsK
LQotICAgIHN3aXRjaCAoc3RhdHVzKSB7Ci0gICAgY2FzZSBFT1NfTk9fRVJST1I6Ci0gICAgICAg
IGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEVPU19ORVRXT1JLX0VSUjoKLSAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6
OkVvc05ldHdvcmtFcnJvcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFT1NfREVDT0RFX0VS
UjoKLSAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOwotICAg
ICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfRU5ERUQpOwot
ICAgIG1fcGxheWVyLT5zb3VyY2VFbmRPZlN0cmVhbShlb3NTdGF0dXMpOwotfQotCi1IVE1MTWVk
aWFFbGVtZW50OjpTb3VyY2VTdGF0ZSBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VTdGF0
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc291cmNlU3RhdGU7Ci19Ci0KLXZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6c2V0U291cmNlU3RhdGUoU291cmNlU3RhdGUgc3RhdGUpCi17Ci0gICAgU291
cmNlU3RhdGUgb2xkU3RhdGUgPSBtX3NvdXJjZVN0YXRlOwotICAgIG1fc291cmNlU3RhdGUgPSBz
dGF0aWNfY2FzdDxTb3VyY2VTdGF0ZT4oc3RhdGUpOwotCi0gICAgaWYgKG1fc291cmNlU3RhdGUg
PT0gb2xkU3RhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09
IFNPVVJDRV9DTE9TRUQpIHsKLSAgICAgICAgbV9zb3VyY2VJRHMuY2xlYXIoKTsKLSAgICAgICAg
c2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkud2Via2l0c291cmNlY2xvc2VFdmVudCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAob2xkU3RhdGUgPT0gU09VUkNFX09QRU4gJiYg
bV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfRU5ERUQpIHsKLSAgICAgICAgc2NoZWR1bGVFdmVudChl
dmVudE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfT1BFTikgewotICAgICAgICBz
Y2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VvcGVuRXZlbnQpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQorICAgIG1fbWVkaWFTb3VyY2UtPnNldFJlYWR5U3RhdGUoc3RhdGUp
OwogfQogI2VuZGlmCiAKQEAgLTM3NjcsOCArMzU4NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6dXNlckNhbmNlbGxlZExvYWQoKQogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLmFi
b3J0RXZlbnQpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9zb3VyY2VT
dGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQotICAgICAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfQ0xP
U0VEKTsKKyAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsK
ICNlbmRpZgogCiAgICAgLy8gNCAtIElmIHRoZSBtZWRpYSBlbGVtZW50J3MgcmVhZHlTdGF0ZSBh
dHRyaWJ1dGUgaGFzIGEgdmFsdWUgZXF1YWwgdG8gSEFWRV9OT1RISU5HLCBzZXQgdGhlIApAQCAt
NDI3Miw2ICs0MDg5LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5
ZXIoKQogICAgICAgICAKICAgICBtX3BsYXllciA9IE1lZGlhUGxheWVyOjpjcmVhdGUodGhpcyk7
CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChtX21lZGlhU291cmNlKQorICAg
ICAgICBtX21lZGlhU291cmNlLT5zZXRNZWRpYVBsYXllcihtX3BsYXllci5nZXQoKSk7CisjZW5k
aWYKKwogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAgICAgaWYgKG1fYXVkaW9Tb3VyY2VOb2RlKSB7
CiAgICAgICAgIC8vIFdoZW4gY3JlYXRpbmcgdGhlIHBsYXllciwgbWFrZSBzdXJlIGl0cyBBdWRp
b1NvdXJjZVByb3ZpZGVyIGtub3dzIGFib3V0IHRoZSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDMzNWJmYmQzNjQx
MzI5ZTU2YjJhYWQ5NGVhODk0OGVlYTMxZjU4YTQuLmYzNDcyMjQ3YTkyZjk1YzdjNzE0Yjk2YjY5
NGI4ZDRkNTQxYWNhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC00NSw2ICs0NSwxMCBAQAogI2luY2x1ZGUgIlRleHRUcmFja0N1ZS5oIgogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKQEAgLTE3NSwy
MCArMTc5LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEg
U291cmNlLgogICAgIGNvbnN0IEtVUkwmIHdlYmtpdE1lZGlhU291cmNlVVJMKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZWRpYVNvdXJjZVVSTDsgfQotICAgIHZvaWQgd2Via2l0U291cmNlQWRkSWQoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgd2Vi
a2l0U291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIFBh
c3NSZWZQdHI8VGltZVJhbmdlcz4gd2Via2l0U291cmNlQnVmZmVyZWQoY29uc3QgU3RyaW5nJiwg
RXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGNvbnN0IFN0cmlu
ZyYsIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZv
aWQgd2Via2l0U291cmNlQWJvcnQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAg
IGVudW0gRW5kT2ZTdHJlYW1TdGF0dXMgeyBFT1NfTk9fRVJST1IsIEVPU19ORVRXT1JLX0VSUiwg
RU9TX0RFQ09ERV9FUlIgfTsKLSAgICB2b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHVuc2ln
bmVkIHNob3J0LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgZW51bSBTb3VyY2VTdGF0ZSB7IFNPVVJD
RV9DTE9TRUQsIFNPVVJDRV9PUEVOLCBTT1VSQ0VfRU5ERUQgfTsKLSAgICBTb3VyY2VTdGF0ZSB3
ZWJraXRTb3VyY2VTdGF0ZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0U291cmNlU3RhdGUoU291cmNl
U3RhdGUpOwotCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3Vy
Y2VvcGVuKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJj
ZWVuZGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJj
ZWNsb3NlKTsKKyAgICB2b2lkIHNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYpOwogI2VuZGlm
IAogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTQxOCw3ICs0MDksNiBAQCBwcml2
YXRlOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxh
eWVyU291cmNlT3BlbmVkKCk7CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJTb3VyY2VV
UkwoKSBjb25zdDsKLSAgICBib29sIGlzVmFsaWRTb3VyY2VJZChjb25zdCBTdHJpbmcmLCBFeGNl
cHRpb25Db2RlJikgY29uc3Q7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CkBAIC01OTYsOCArNTg2LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiAgICAgS1VSTCBtX21lZGlhU291cmNlVVJMOwotICAgIFNvdXJjZVN0YXRlIG1fc291cmNlU3Rh
dGU7Ci0gICAgSGFzaFNldDxTdHJpbmc+IG1fc291cmNlSURzOworICAgIFJlZlB0cjxNZWRpYVNv
dXJjZT4gbV9tZWRpYVNvdXJjZTsKICNlbmRpZgogCiAgICAgbXV0YWJsZSBmbG9hdCBtX2NhY2hl
ZFRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBhYzBm
YTQ2N2I0MDQ5ZTE2M2U5MGNiNmI2M2ZhMzM3YWNiYzJlMjY0Li45ZDBhZThhNzc5OTlhNzUxYTc1
Y2Q1NGRjMTUxYTkzN2NlZTYxNmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwKQEAgLTk4LDM1ICs5OCw2IEBAIG1vZHVsZSBodG1sIHsKICNpZiBkZWZpbmVkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICYmIEVOQUJMRV9NRURJQV9TT1VSQ0UKICAgICAvLyBVUkwgcGFz
c2VkIHRvIHNyYyBhdHRyaWJ1dGUgdG8gZW5hYmxlIHRoZSBtZWRpYSBzb3VyY2UgbG9naWMuCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2UsIFVS
TF0gRE9NU3RyaW5nIHdlYmtpdE1lZGlhU291cmNlVVJMOwotCi0gICAgLy8gTWFuYWdlcyBJRHMg
Zm9yIGFwcGVuZGluZyBtZWRpYSB0byB0aGUgc291cmNlLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRp
bWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlQWRkSWQoaW4gRE9NU3RyaW5nIGlkLCBp
biBET01TdHJpbmcgdHlwZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIFtWOEVuYWJsZWRB
dFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlUmVtb3ZlSWQoaW4gRE9NU3Ry
aW5nIGlkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBSZXR1cm5zIHRoZSB0aW1l
IHJhbmdlcyBidWZmZXJlZCBmb3IgYSBzcGVjaWZpYyBzb3VyY2UgSUQuCi0gICAgW1Y4RW5hYmxl
ZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gVGltZVJhbmdlcyB3ZWJraXRTb3VyY2VCdWZmZXJlZChp
biBET01TdHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICAKLSAgICAvLyBBcHBl
bmRzIHNlZ21lbnQgZGF0YS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2
b2lkIHdlYmtpdFNvdXJjZUFwcGVuZChpbiBET01TdHJpbmcgaWQsIGluIFVpbnQ4QXJyYXkgZGF0
YSkgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0gICAgLy8gQWJvcnRzIHRoZSBjdXJyZW50IHNl
Z21lbnQuCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRT
b3VyY2VBYm9ydChpbiBET01TdHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAg
IC8vIFNpZ25hbHMgdGhlIGVuZCBvZiBzdHJlYW0uCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1t
ZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgRU9TX05PX0VSUk9SID0gMDsgLy8gRW5k
IG9mIHN0cmVhbSByZWFjaGVkIHcvbyBlcnJvci4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1l
ZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTkVUV09SS19FUlIgPSAxOyAvLyBB
IG5ldHdvcmsgZXJyb3IgdHJpZ2dlcmVkIGVuZCBvZiBzdHJlYW0uCi0gICAgW1Y4RW5hYmxlZEF0
UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgRU9TX0RFQ09ERV9FUlIg
PSAyOyAvLyBBIGRlY29kZSBlcnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFt
KGluIHVuc2lnbmVkIHNob3J0IHN0YXR1cykgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0gICAg
Ly8gSW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBtZWRpYSBzb3VyY2UuCi0gICAg
W1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09V
UkNFX0NMT1NFRCA9IDA7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gY29u
c3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX09QRU4gPSAxOwotICAgIFtWOEVuYWJsZWRBdFJ1bnRp
bWU9bWVkaWFTb3VyY2VdIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNPVVJDRV9FTkRFRCA9IDI7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHVu
c2lnbmVkIHNob3J0IHdlYmtpdFNvdXJjZVN0YXRlOwotCi0gICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRzb3VyY2VvcGVu
OwotICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBFdmVudExp
c3RlbmVyIG9ud2Via2l0c291cmNlZW5kZWQ7Ci0gICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1
bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRzb3VyY2VjbG9zZTsKICNl
bmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5D
UllQVEVEX01FRElBCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYmQ5Y2YwYzIzYmUw
Y2MxODI5NTM1ZjNhZWZlOGNkYmYyMmJlYTA3ZC4uMmFiNWMyNTRkYTkxY2YwMDdiODBkZTkyOTc5
MGNlMzZiNTY2ZTRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzgxLDYgKzc4
MSwxMCBAQCBtb2R1bGUgd2luZG93IHsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PU1VVEFUSU9OX09CU0VSVkVSU10gTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXI7CiAKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9T
T1VSQ0UsIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gTWVkaWFTb3VyY2VDb25zdHJ1
Y3RvciBNZWRpYVNvdXJjZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9T
T1VSQ0UsIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gU291cmNlQnVmZmVyQ29uc3Ry
dWN0b3IgU291cmNlQnVmZmVyOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJMaXN0
Q29uc3RydWN0b3IgU291cmNlQnVmZmVyTGlzdDsKKwogI2VuZGlmIC8vIGRlZmluZWQoTEFOR1VB
R0VfSkFWQVNDUklQVCkKIAogI2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGFkYzk2OTg5ODhjYmUzZTQ4NTg3YjFiYjU4NTI0MWE5NjQ1ZjJkYWQuLjZiNWQ2Mjgy
MzZiNDIxNmJhZTZiYzZkYWNjMDliNzk3YzQ0YzM4ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAor
MjAxMi0wNy0xOSAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVXBkYXRlIE1lZGlhIFNvdXJjZSB0byB0aGUgbmV3IE9PIGRlc2lnbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyByZWZsZWN0IHRo
ZSBuZXcgTWVkaWFTb3VyY2UgQVBJOgorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanM6Cisg
ICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcik6CisgICAgICAgIChNZWRpYVNv
dXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRkU291cmNlQnVmZmVyKToKKyAgICAg
ICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRJbml0U2Vn
bWVudCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUu
YXBwZW5kTWVkaWFTZWdtZW50KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVs
cGVyLnByb3RvdHlwZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKToKKyAgICAgICAgKE1lZGlhU291
cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCk6CisgICAgICAgIChNZWRpYVNvdXJj
ZVRlc3QuZGVmYXVsdE9uRXJyb3JDaGVja3MpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LnJ1
bk9uU291cmNlT3Blbi5ldmVudEhhbmRsZXJGdW5jdGlvbik6CisgICAgICAgIChNZWRpYVNvdXJj
ZVRlc3QucnVuT25Tb3VyY2VPcGVuKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5sb2dTb3Vy
Y2VTdGF0ZSk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUpOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1
ZmZlcnMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1l
eHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFk
ZC1hbmQtcmVtb3ZlLWlkcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1lcnJvcnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50
LWF0dHJpYnV0ZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmpl
Y3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1z
ZWVrLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2Vz
Lmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwog
MjAxMi0wNy0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYktpdCBzaG91bGQgcGFzcyA8dGl0bGU+IGVsZW1lbnQgdmFsdWUgYXMgdGhlIGRlZmF1
bHQgQVhUaXRsZSBmb3Igd2ViIHZpZXdzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKaW5kZXggNmRiYjdjYWEx
MTljN2Y5YzEzN2E5YTExZjY4YTI5ZWMwNjdmYWQyNS4uOTVkM2IzNGJmOTA1YmE4ZmU4ZGQ0MjVi
ODI5ZmRiZjQ2MmFlZDFhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwpAQCAtMSw5ICsxLDEwIEBACiB2
YXIgTWVkaWFTb3VyY2VUZXN0ID0ge307Cit2YXIgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3Vy
Y2UoKTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIgPSBmdW5jdGlvbihzZWdtZW50
SW5mbykKIHsKICAgICB0aGlzLk1lZGlhU2VnbWVudHNUb0xvYWQgPSAwOwotICAgIHRoaXMuU291
cmNlSUQgPSAnc291cmNlSWQnOworICAgIHRoaXMuc291cmNlQnVmZmVyID0gbnVsbDsKIAogICAg
IHRoaXMudmlkZW9UYWcgPSBudWxsOwogICAgIHRoaXMuc2VnbWVudEluZm8gPSBzZWdtZW50SW5m
bzsKQEAgLTEyMSwzMiArMTIyLDMyIEBAIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnBy
b3RvdHlwZS5nZXREYXRhXyA9IGZ1bmN0aW9uICh1cmwsIHN0YXJ0LCBsZW5ndGgsCiAgICAgcmVx
dWVzdC5zZW5kKCk7CiB9OwogCi1NZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5
cGUuYWRkU291cmNlSWQgPSBmdW5jdGlvbigpCitNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBl
ci5wcm90b3R5cGUuYWRkU291cmNlQnVmZmVyID0gZnVuY3Rpb24oKQogewotICAgIHRoaXMudmlk
ZW9UYWcud2Via2l0U291cmNlQWRkSWQodGhpcy5Tb3VyY2VJRCwgdGhpcy5zZWdtZW50SW5mby50
eXBlKTsKKyAgICB0aGlzLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZl
cih0aGlzLnNlZ21lbnRJbmZvLnR5cGUpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRI
ZWxwZXIucHJvdG90eXBlLmFwcGVuZEluaXRTZWdtZW50ID0gZnVuY3Rpb24oKQogewotICAgIHRo
aXMudmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHRoaXMuU291cmNlSUQsIHRoaXMuaW5pdFNl
Z21lbnQpOworICAgIHRoaXMuc291cmNlQnVmZmVyLmFwcGVuZCh0aGlzLmluaXRTZWdtZW50KTsK
IH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRNZWRp
YVNlZ21lbnQgPSBmdW5jdGlvbihpbmRleCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNv
dXJjZUFwcGVuZCh0aGlzLlNvdXJjZUlELCB0aGlzLm1lZGlhU2VnbWVudHNbaW5kZXhdKTsKKyAg
ICB0aGlzLnNvdXJjZUJ1ZmZlci5hcHBlbmQodGhpcy5tZWRpYVNlZ21lbnRzW2luZGV4XSk7CiB9
OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kVW50aWxF
bmRPZlN0cmVhbSA9IGZ1bmN0aW9uKHN0YXJ0SW5kZXgpCiB7Ci0gICAgaWYgKCF0aGlzLnZpZGVv
VGFnLndlYmtpdFNvdXJjZUFwcGVuZCkgewotICAgICAgICBmYWlsVGVzdCgid2Via2l0U291cmNl
QXBwZW5kKCkgaXMgbm90IGF2YWlsYWJsZSIpOworICAgIGlmICghdGhpcy5zb3VyY2VCdWZmZXIp
IHsKKyAgICAgICAgZmFpbFRlc3QoIk1lZGlhU291cmNlIEFQSSBpcyBub3QgYXZhaWxhYmxlIik7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBmb3IgKHZhciBpbmRleCA9IHN0YXJ0SW5k
ZXg7IGluZGV4IDwgdGhpcy5tZWRpYVNlZ21lbnRzLmxlbmd0aDsgaW5kZXgrKykKICAgICAgICAg
dGhpcy5hcHBlbmRNZWRpYVNlZ21lbnQoaW5kZXgpOwogCi0gICAgdGhpcy52aWRlb1RhZy53ZWJr
aXRTb3VyY2VFbmRPZlN0cmVhbSh0aGlzLnZpZGVvVGFnLkVPU19OT19FUlJPUik7CisgICAgbWVk
aWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVs
cGVyLnByb3RvdHlwZS5nZXRUaW1lRm9yTWVkaWFTZWdtZW50ID0gZnVuY3Rpb24oaW5kZXgpCkBA
IC0xNzYsNyArMTc3LDcgQEAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0
VVJMID0gZnVuY3Rpb24odmlkZW9UYWcpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB2
aWRlb1RhZy5zcmMgPSB2aWRlb1RhZy53ZWJraXRNZWRpYVNvdXJjZVVSTDsKKyAgICB2aWRlb1Rh
Zy5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKG1lZGlhU291cmNlKTsKIH07CiAKIE1l
ZGlhU291cmNlVGVzdC5tZWRpYUVycm9yU3RyaW5nID0gZnVuY3Rpb24odmlkZW9UYWcpCkBAIC0y
MDYsOSArMjA3LDkgQEAgTWVkaWFTb3VyY2VUZXN0LmRlZmF1bHRPbkVycm9yQ2hlY2tzID0gZnVu
Y3Rpb24oZXZlbnQpCiAKICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGVycm9yKSA6ICIgKyBNZWRp
YVNvdXJjZVRlc3QubWVkaWFFcnJvclN0cmluZyh2aWRlb1RhZykpOwogCi0gICAgaWYgKHZpZGVv
VGFnLndlYmtpdFNvdXJjZVN0YXRlICE9IEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCkg
ewotICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgc291cmNlIHN0YXRlLiBFeHBlY3Rl
ZCBTT1VSQ0VfQ0xPU0VEIiArCi0gICAgICAgICAgICAgICAgICAgICAiIGdvdCAiICsgZ2V0U291
cmNlU3RhdGVOYW1lKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlKSk7CisgICAgaWYgKG1lZGlh
U291cmNlLnJlYWR5U3RhdGUgIT0gImNsb3NlZCIpIHsKKyAgICAgICAgY29uc29sZVdyaXRlKCJV
bmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgJ2Nsb3NlZCciICsKKyAgICAgICAgICAg
ICAgICAgICAgICIgZ290ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0YXRlKTsKICAgICB9CiB9Owog
CkBAIC0yNzAsNDIgKzI3MSwzMiBAQCBNZWRpYVNvdXJjZVRlc3QucnVuT25Tb3VyY2VPcGVuID0g
ZnVuY3Rpb24odmlkZW9UYWcsIG9uT3BlbkZ1bmN0aW9uKQogewogICAgIHZhciBldmVudEhhbmRs
ZXJGdW5jdGlvbiA9IGZ1bmN0aW9uIChldmVudCkKICAgICB7CisgICAgICAgIGlmICh2aWRlb1Rh
Zy5uZXR3b3JrU3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0xPQURJTkcgJiYKKyAg
ICAgICAgICAgIHZpZGVvVGFnLm5ldHdvcmtTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50Lk5FVFdP
UktfSURMRSkgeworICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgbmV0d29yayBzdGF0
ZS4gRXhwZWN0ZWQgIiArCisgICAgICAgICAgICAgICAgICAgICBIVE1MTWVkaWFFbGVtZW50Lk5F
VFdPUktfTE9BRElORyArICIgb3IgIiArCisgICAgICAgICAgICAgICAgICAgICBIVE1MTWVkaWFF
bGVtZW50Lk5FVFdPUktfSURMRSArCisgICAgICAgICAgICAgICAgICAgICAiIGdvdCAiICsgdmlk
ZW9UYWcucmVhZHlTdGF0ZSk7CisgICAgICAgIH0KICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7
CiAgICAgICAgIG9uT3BlbkZ1bmN0aW9uKCk7CiAgICAgfTsKLSAgICB2aWRlb1RhZy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOwotICAg
IE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7Ci19
OwogCi1NZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUgPSBmdW5jdGlvbih2aWRlb1RhZykK
LXsKLSAgICBjb25zb2xlV3JpdGUoIndlYmtpdFNvdXJjZVN0YXRlIDogIiArIE1lZGlhU291cmNl
VGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUpKTsKKyAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgZXZlbnRI
YW5kbGVyRnVuY3Rpb24pOworICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNl
VGVzdFVSTCh2aWRlb1RhZyk7CiB9OwogCi1NZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3Rh
dGUgPSBmdW5jdGlvbih2aWRlb1RhZywgZXhwZWN0ZWQpCitNZWRpYVNvdXJjZVRlc3QubG9nU291
cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRpYVNvdXJjZSkKIHsKLSAgICBpZiAodmlkZW9UYWcud2Vi
a2l0U291cmNlU3RhdGUgIT0gZXhwZWN0ZWQpIHsKLSAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0
ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAiICsKLSAgICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShleHBlY3RlZCkgKwotICAgICAgICAgICAgICAgICAi
IGdvdCAiICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53ZWJr
aXRTb3VyY2VTdGF0ZSkpOwotICAgIH0KKyAgICBjb25zb2xlV3JpdGUoIndlYmtpdFNvdXJjZVN0
YXRlIDogIiArIG1lZGlhU291cmNlLnJlYWR5U3RhdGUpOwogfTsKIAotTWVkaWFTb3VyY2VUZXN0
LmdldFNvdXJjZVN0YXRlTmFtZSA9IGZ1bmN0aW9uKHN0YXRlKQorTWVkaWFTb3VyY2VUZXN0LmV4
cGVjdFNvdXJjZVN0YXRlID0gZnVuY3Rpb24obWVkaWFTb3VyY2UsIGV4cGVjdGVkKQogewotICAg
IHZhciBzdGF0ZU5hbWUgPSAiVU5LTk9XTiI7Ci0gICAgc3dpdGNoIChzdGF0ZSkgewotICAgICAg
ICBjYXNlIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRDoKLSAgICAgICAgICAgIHN0YXRl
TmFtZSA9ICJTT1VSQ0VfQ0xPU0VEIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU46Ci0gICAgICAgICAgICBzdGF0ZU5hbWUgPSAi
U09VUkNFX09QRU4iOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTE1lZGlh
RWxlbWVudC5TT1VSQ0VfRU5ERUQ6Ci0gICAgICAgICAgICBzdGF0ZU5hbWUgPSAiU09VUkNFX0VO
REVEIjsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGlmIChtZWRpYVNvdXJjZS5yZWFkeVN0YXRl
ICE9IGV4cGVjdGVkKSB7CisgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0
ZS4gRXhwZWN0ZWQgIiArIGV4cGVjdGVkICsKKyAgICAgICAgICAgICAgICAgIiBnb3QgIiArIG1l
ZGlhU291cmNlLnJlYWR5U3RhdGUpOwogICAgIH0KLSAgICByZXR1cm4gc3RhdGVOYW1lOwogfTsK
IAogTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFJlYWR5U3RhdGUgPSBmdW5jdGlvbih2aWRlb1RhZywg
ZXhwZWN0ZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0
LWV4cGVjdGVkLnR4dAppbmRleCA2NThmZjcxMTZlMTM3MWY2ZGMzNTY3YWRmYzU0ODg1YTVmMTI0
OWJlLi5jNWQyOGJmYTIyN2JjMDJmNTFkMjUyYzE1YjhiY2E4MjEzNzhmNWQyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKQEAg
LTIsNyArMiw2IEBAIFRlc3RzIHdlYmtpdFNvdXJjZUFib3J0KCkgZnVuY3Rpb25hbGl0eQogCiAK
IHJ1bm5pbmcgYWJvcnREdXJpbmdJbml0U2VnbWVudAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQo
d2Via2l0c291cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgZHVyaW5nIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQuCiBBcHBlbmRpbmcgcGFydGlhbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LgpAQCAtMTMs
NyArMTIsNiBAQCBFVkVOVChsb2FkZWRkYXRhKQogCiBydW5uaW5nIGFib3J0RHVyaW5nTWVkaWFT
ZWdtZW50CiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291
cmNlb3BlbikKIFRlc3QgYWJvcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIG1lZGlhIHNlZ21lbnQu
CiBBcHBlbmRpbmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAppbmRleCA0ODljOTVhOTk4YzA1ODJjNmYwNjBhNTc2Njlj
MTZlNmIwODY5ODMyLi4zMTgxNDU2YThiNWNlNmE0YTQyNGNiMWQyZTE3MTBmYmJmMzJlNjQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbApAQCAtOSw3ICs5
LDcgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gYWJvcnREdXJpbmdJbml0U2VnbWVudChydW5O
ZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVy
LmFkZFNvdXJjZUJ1ZmZlcigpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IGFib3J0aW5nIGR1cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwogICAgICAgICAgICAg
ICAgIHRyeSB7CkBAIC0xNywxMCArMTcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgdmFyIHBh
cnRpYWxJbml0U2VnbWVudCA9IGluaXRTZWdtZW50LnN1YmFycmF5KDAsIGluaXRTZWdtZW50Lmxl
bmd0aCAvIDIpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5n
IHBhcnRpYWwgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNlZ21lbnRIZWxwZXIuU291cmNlSUQsIHBhcnRp
YWxJbml0U2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNl
QnVmZmVyLmFwcGVuZChwYXJ0aWFsSW5pdFNlZ21lbnQpOwogCiAgICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiQWJvcnRpbmcgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAgICAgICB2
aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdtZW50SGVscGVyLlNvdXJjZUlEKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYWJvcnQoKTsKIAogICAg
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmdWxsIGluaXRpYWxpemF0
aW9uIHNlZ21lbnQuIik7CiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5k
SW5pdFNlZ21lbnQoKTsKQEAgLTQyLDcgKzQyLDcgQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24g
YWJvcnREdXJpbmdNZWRpYVNlZ21lbnQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7Cisg
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAogICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBpbiB0aGUgbWlkZGxlIG9mIGEg
bWVkaWEgc2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkgewpAQCAtNTEsMTAgKzUxLDEw
IEBACiAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsTWVkaWFTZWdtZW50ID0gbWVkaWFT
ZWdtZW50LnN1YmFycmF5KDAsIG1lZGlhU2VnbWVudC5sZW5ndGggLyAyKTsKIAogICAgICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0aWFsIG1lZGlhIHNlZ21lbnQu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChzZWdt
ZW50SGVscGVyLlNvdXJjZUlELCBwYXJ0aWFsTWVkaWFTZWdtZW50KTsKKyAgICAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKHBhcnRpYWxNZWRpYVNlZ21l
bnQpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQWJvcnRpbmcgYXBwZW5k
LiIpOwotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBYm9ydChzZWdt
ZW50SGVscGVyLlNvdXJjZUlEKTsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5z
b3VyY2VCdWZmZXIuYWJvcnQoKTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IkFwcGVuZGluZyBmdWxsIG1lZGlhIHNlZ21lbnQuIik7CiAgICAgICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwpAQCAtNzcsMTEgKzc3LDEwIEBACiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwogCi0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKICAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ2xvYWRlZGRhdGEnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtp
dHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CiAgICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
d2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CiAgICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVm
ZmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzUxZjkxYjVmOWZlYTMzODU1ZDVjZDBiMDMzODgzMzkwMWJmYzBmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQ3IEBACitUZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICYgd2Via2l0U291
cmNlUmVtb3ZlSWQoKSBtZXRob2RzCisKK1Rlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4K
K0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcworRVZFTlQod2Vi
a2l0c291cmNlb3BlbikKK1Rlc3QgZW1wdHkgdHlwZS4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24g
RXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQorVGVzdCBhbiB1bnN1
cHBvcnRlZCB0eXBlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlI6IERPTSBFeGNlcHRpb24gOQorVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5z
dXBwb3J0ZWQgY29kZWMuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9S
VEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitUZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0Lgor
VGVzdCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVk
IHN0YXRlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlcgorRVZFTlQo
d2Via2l0c291cmNlb3BlbikKK1Rlc3QgbnVsbCBidWZmZXIgY2FzZQorR290IGV4cGVjdGVkIGV4
Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1CisKK3J1
bm5pbmcgdGVzdFJlbW92ZUFnYWluCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCByZW1v
dmluZyBhIGJ1ZmZlciB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhj
ZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorCitydW5u
aW5nIHRlc3RSZW1vdmVCdWZmZXJBZnRlckVuZGVkCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQor
VGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0
ZS4KKworcnVubmluZyB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1vdmluZworRVZFTlQod2Via2l0c291
cmNlb3BlbikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQg
aXMgcmVtb3ZlZC4KK1VuZXhwZWN0ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVERURf
RVJSOiBET00gRXhjZXB0aW9uIDIyCisKK3J1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcwor
RVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4KK1Rlc3Qg
YXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQorVGVzdCBhcHBlbmQgYWZ0ZXIg
ZW5kZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxMQorVGVzdCBhcHBlbmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92
ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVt
b3ZlLWJ1ZmZlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzkwZmQ0NTA3YjY2ZDQxY2U5N2QwMTIwMmNkYjRhMmQzZjI5MDdjYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKQEAgLTAsMCArMSwyMDEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50LWlu
Zm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVy
ID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0
V2ViTSk7CisgICAgICAgICAgICB2YXIgZGVmYXVsdFNvdXJjZU1pbWV0eXBlID0gc2VnbWVudEhl
bHBlci5zZWdtZW50SW5mby50eXBlOworCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNl
cHRpb25PbkFkZEJ1ZmZlcih0eXBlLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZl
ciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcih0eXBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
ICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQg
ZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlQnVmZmVyKGJ1ZmZlciwg
ZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKGJ1ZmZlcik7CisgICAgICAg
ICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9
PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVk
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChidWYs
IGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVuZChidWYpOworICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUg
PT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3Rl
ZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdv
dCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlcldoaWxlQ2xvc2VkKHZp
ZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVz
dCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xvc2VkLiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQWRkQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklO
VkFMSURfU1RBVEVfRVJSKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSB0eXBl
LiIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCIiLCBET01F
eGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLiIpOworICAgICAgICAgICAgICAgIGV4cGVj
dEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCJhdWRpby94LXVuc3VwcG9ydGVkLWZvcm1hdCIsIERPTUV4
Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRlc3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLiIpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKCJ2aWRlby93ZWJtOyBj
b2RlY3M9XCJ2cDgsIHNwZWV4XCIiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOwor
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxp
bWl0LiIpOworICAgICAgICAgICAgICAgIHZhciByZWFjaGVkSWRMaW1pdCA9IGZhbHNlOworCisg
ICAgICAgICAgICAgICAgLy8gVGhlIDIwIGhlcmUgaXMgYW4gYXJiaXRyYXJ5IHVwcGVyIGxpbWl0
IHRvIG1ha2Ugc3VyZSB0aGUgdGVzdCB0ZXJtaW5hdGVzLiBUaGlzIHRlc3QKKyAgICAgICAgICAg
ICAgICAvLyBhc3N1bWVzIHRoYXQgaW1wbGVtZW50YXRpb25zIHdvbid0IHN1cHBvcnQgbW9yZSB0
aGFuIDIwIHNvdXJjZUlEJ3Mgc2ltdWx0YW5lb3VzbHkuCisgICAgICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNv
dXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoZS5jb2RlICE9IERPTUV4Y2VwdGlvbi5RVU9UQV9FWENFRURF
RF9FUlIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3Rl
ZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7
CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICByZWFj
aGVkSWRMaW1pdCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlm
ICghcmVhY2hlZElkTGltaXQpIHsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxl
ZCB0byByZWFjaCBTb3VyY2VJRCBsaW1pdC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVz
dCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0
YXRlLiIpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CisgICAg
ICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0
eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAgICAg
cnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RSZW1vdmVOdWxsQnVmZmVyKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IG51bGwgYnVmZmVyIGNh
c2UiKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PblJlbW92ZUJ1ZmZlcihudWxs
LCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1
bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0UmVtb3ZlQWdhaW4ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVtb3ZpbmcgYSBidWZmZXIgdGhh
dCB3YXMgYWxyZWFkeSByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
c291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVy
KHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNl
cHRpb25PblJlbW92ZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciwgRE9NRXhjZXB0
aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2Fz
ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQnVm
ZmVyQWZ0ZXJFbmRlZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBiZSBy
ZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZh
dWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3Ry
ZWFtKCk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNl
Z21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0
Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkQnVm
ZmVyQWZ0ZXJSZW1vdmluZyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGEgYnVmZmVyIGNhbiBi
ZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuc291cmNlQnVmZmVyID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRl
ZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3Zl
U291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVy
ID0gbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNl
LCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgaW5pdFNlZ21l
bnQgPSBzZWdtZW50SGVscGVyLmluaXRTZWdtZW50OworICAgICAgICAgICAgICAgIHZhciBtZWRp
YVNlZ21lbnQgPSBzZWdtZW50SGVscGVyLm1lZGlhU2VnbWVudHNbMF07CisKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1
ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7CisgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKGluaXRTZWdtZW50KTsKKworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLiIpOworICAg
ICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKG51bGwsIERPTUV4Y2VwdGlvbi5J
TlZBTElEX0FDQ0VTU19FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IGFwcGVuZCBhZnRlciBlbmRlZC4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRP
ZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKGluaXRT
ZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworCisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBidWZmZXIgaGFzIGJlZW4gcmVtb3Zl
ZC4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc2Vn
bWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlv
bk9uQXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwor
CisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBu
ZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNv
dXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRhdGEiKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRCdWZmZXJXaGlsZUNsb3NlZCh2aWRlbyk7CisK
KyAgICAgICAgICAgICAgICAgICAgdmFyIHRlc3RDYXNlcyA9IFsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1v
dmVBZ2FpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVCdWZmZXJBZnRlckVu
ZGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZEJ1ZmZlckFmdGVyUmVtb3Zpbmcs
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzLAorICAgICAg
ICAgICAgICAgICAgICBdOworCisgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5z
dGFydFNvdXJjZU9wZW5UZXN0aW5nKHZpZGVvLCB0ZXN0Q2FzZXMpOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CisgICAgICAgIDx2aWRlbz4gPC92aWRlbz4KKyAgICAg
ICAgPHA+VGVzdHMgd2Via2l0U291cmNlQWRkSWQoKSAmYW1wOyB3ZWJraXRTb3VyY2VSZW1vdmVJ
ZCgpIG1ldGhvZHM8L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFk
ZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA4NTkxMWE4ZjU3Y2Jk
MTQxZWY3OGRmZmZjNTZiZWE1ODgyNmQ2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLVRlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkgJiB3
ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHMKLQotVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUg
Y2xvc2VkLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEKLQotcnVubmluZyB0ZXN0QWRkSWRGYWlsdXJlQ2FzZXMKLUVWRU5U
KGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IGVtcHR5IElEIGNhc2UK
LUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4
Y2VwdGlvbiAxNQotVGVzdCBhZGRpbmcgdGhlIHNhbWUgSUQgYWdhaW4uCi1Hb3QgZXhwZWN0ZWQg
ZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQotVGVz
dCBlbXB0eSB0eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NF
U1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuCi1Hb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlv
biA5Ci1UZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4KLUdv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0
aW9uIDkKLVRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuCi1UZXN0IHRoYXQgU291cmNlSURz
IGNhbid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KLUdvdCBleHBlY3RlZCBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi0KLXJ1
bm5pbmcgdGVzdFJlbW92ZUVtcHR5SWQKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNv
dXJjZW9wZW4pCi1UZXN0IGVtcHR5IElEIGNhc2UKLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJy
b3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotCi1ydW5uaW5nIHRlc3RS
ZW1vdmVOb25leGlzdGVudElkCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQotVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBuZXZlciBhZGRlZC4KLUdvdCBleHBl
Y3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKLQotcnVu
bmluZyB0ZXN0UmVtb3ZlQWdhaW4KLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJj
ZW9wZW4pCi1UZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4KLUdv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIK
LQotcnVubmluZyB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCB0aGF0IGFuIElEIGNhbiBiZSByZW1vdmVkIHdoaWxl
IGluIHRoZSBlbmRlZCBzdGF0ZS4KLQotcnVubmluZyB0ZXN0QWRkSWRBZnRlclJlbW92aW5nCi1F
VkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCB0aGF0IGFuIElE
IGNhbiBiZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLgotVW5leHBlY3RlZCBleGNl
cHRpb246IEVycm9yOiBRVU9UQV9FWENFRURFRF9FUlI6IERPTSBFeGNlcHRpb24gMjIKLQotcnVu
bmluZyB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJr
aXRzb3VyY2VvcGVuKQotVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJRC4KLUdvdCBleHBlY3RlZCBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVz
dCBhcHBlbmQgd2l0aCBhbiBpbnZhbGlkIElECi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi1UZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBi
dWZmZXIuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6
IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4KLUdvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKLUVORCBPRiBU
RVNUCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQt
YW5kLXJlbW92ZS1pZHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODIzNzlm
NWNhNzFmN2I1ODA2ZmRlNDlmNjc2MWJmMDk2MmVhYTNlNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAg
ICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEvcmVzb3VyY2VzL21l
ZGlhLXNvdXJjZS93ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3Jp
cHQgc3JjPSJtZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0PgotICAg
ICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRI
ZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKLSAgICAgICAgICAgIHZhciBkZWZhdWx0
U291cmNlTWltZXR5cGUgPSBzZWdtZW50SGVscGVyLnNlZ21lbnRJbmZvLnR5cGU7Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsIGlkLCB0eXBl
LCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAg
ICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZChpZCwgdHlwZSk7Ci0gICAgICAg
ICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9
PSBlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVk
IGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PblJlbW92ZUlkKHZp
ZGVvVGFnLCBpZCwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoaWQpOwot
ICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7Ci0g
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIShl
LmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5l
eHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cg
ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BcHBl
bmQodmlkZW9UYWcsIGlkLCBidWYsIGVycm9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVu
ZChpZCwgYnVmKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4
Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRJ
ZFdoaWxlQ2xvc2VkKHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xvc2VkLiIpOwotICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIxMjMiLCBkZWZhdWx0U291
cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRJZEZhaWx1cmVDYXNlcyhydW5OZXh0
VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiVGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhj
ZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIiIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhj
ZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLQotICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhZGRpbmcgdGhlIHNhbWUgSUQgYWdhaW4uIik7
Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjEyMyIs
IGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsK
LSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0K
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgdHlwZS4iKTsKLSAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgIiIsIERP
TUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuIik7Ci0gICAgICAgICAgICAgICAgZXhw
ZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjIzNCIsICJhdWRpby94LXVuc3VwcG9ydGVk
LWZvcm1hdCIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7Ci0KLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9y
dGVkIGNvZGVjLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlk
ZW9UYWcsICIyMzQiLCAidmlkZW8vd2VibTsgY29kZWNzPVwidnA4LCBzcGVleFwiIiwgRE9NRXhj
ZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4iKTsKLSAgICAgICAgICAgICAgICB2YXIg
cmVhY2hlZElkTGltaXQgPSBmYWxzZTsKLQotICAgICAgICAgICAgICAgIC8vIFRoZSAyMCBoZXJl
IGlzIGFuIGFyYml0cmFyeSB1cHBlciBsaW1pdCB0byBtYWtlIHN1cmUgdGhlIHRlc3QgdGVybWlu
YXRlcy4gVGhpcyB0ZXN0Ci0gICAgICAgICAgICAgICAgLy8gYXNzdW1lcyB0aGF0IGltcGxlbWVu
dGF0aW9ucyB3b24ndCBzdXBwb3J0IG1vcmUgdGhhbiAyMCBzb3VyY2VJRCdzIHNpbXVsdGFuZW91
c2x5LgotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjA7ICsraSkgewotICAg
ICAgICAgICAgICAgICAgICB2YXIgc291cmNlSUQgPSAic291cmNlSUQtIiArIGk7Ci0gICAgICAg
ICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VBZGRJZChzb3VyY2VJRCwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAg
ICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5j
b2RlICE9IERPTUV4Y2VwdGlvbi5RVU9UQV9FWENFRURFRF9FUlIpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICByZWFjaGVkSWRMaW1pdCA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmICghcmVhY2hlZElkTGltaXQpIHsKLSAg
ICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byByZWFjaCBTb3VyY2VJRCBsaW1p
dC4iKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IFNvdXJjZUlEcyBjYW4ndCBi
ZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgdmlk
ZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0odmlkZW9UYWcuRU9TX05PX0VSUk9SKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMTIzIiwgZGVm
YXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwotCi0g
ICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVFbXB0eUlkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9U
YWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGVt
cHR5IElEIGNhc2UiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PblJlbW92ZUlk
KHZpZGVvVGFnLCAiIiwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAg
ICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgZnVuY3Rpb24gdGVzdFJlbW92ZU5vbmV4aXN0ZW50SWQocnVuTmV4dFRlc3RDYXNlLCB2aWRl
b1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qg
cmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgbmV2ZXIgYWRkZWQuIik7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIjM0NSIsIERPTUV4Y2VwdGlvbi5T
WU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQWdhaW4ocnVuTmV4dFRl
c3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3YXMgYWxyZWFkeSByZW1vdmVkLiIpOwot
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0
U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJl
bW92ZUlkKCIxMjMiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PblJlbW92ZUlk
KHZpZGVvVGFnLCAiMTIzIiwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAg
ICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBh
biBJRCBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuIik7Ci0gICAgICAg
ICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJl
YW0odmlkZW9UYWcuRU9TX05PX0VSUk9SKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENh
c2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkQWZ0
ZXJSZW1vdmluZyhydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFuIElEIGNhbiBiZSBhZGRlZCBh
Z2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndl
YmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKLQotICAgICAgICAg
ICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFk
ZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJVbmV4cGVjdGVkIGV4
Y2VwdGlvbjogIiArIGUpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHJ1
bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0QXBwZW5kRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGluaXRTZWdtZW50ID0gc2VnbWVudEhlbHBlci5p
bml0U2VnbWVudDsKLSAgICAgICAgICAgICAgICB2YXIgbWVkaWFTZWdtZW50ID0gc2VnbWVudEhl
bHBlci5tZWRpYVNlZ21lbnRzWzBdOwotCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0
U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0KLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggZW1wdHkgSUQuIik7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIiLCBpbml0U2VnbWVu
dCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxpZCBJRCIpOwotICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMjM0IiwgaW5pdFNlZ21l
bnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLiIpOwotICAgICAgICAgICAgICAg
IGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMTIzIiwgbnVsbCwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VBcHBlbmQoIjEyMyIsIGluaXRTZWdtZW50KTsKLQotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKLSAgICAgICAgICAgICAgICBl
eHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIjEyMyIsIG1lZGlhU2VnbWVudCwgRE9N
RXhjZXB0aW9uLlNZTlRBWF9FUlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNl
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotCi0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKLQotICAgICAgICAgICAgICAgIHNlZ21lbnRI
ZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgZmFpbFRlc3QoIkZhaWxlZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEFkZElkV2hpbGVDbG9zZWQodmlkZW8pOwotCi0gICAgICAgICAgICAgICAg
ICAgIHZhciB0ZXN0Q2FzZXMgPSBbCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkSWRG
YWlsdXJlQ2FzZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlRW1wdHlJZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVOb25leGlzdGVudElkLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZUFnYWluLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RB
ZGRJZEFmdGVyUmVtb3ZpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QXBwZW5kRmFp
bHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAgICBdOwotCi0gICAgICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5zdGFydFNvdXJjZU9wZW5UZXN0aW5nKHZpZGVvLCB0ZXN0Q2FzZXMp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotICAgICAgICA8L3NjcmlwdD4K
LSAgICA8L2hlYWQ+Ci0gICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+Ci0gICAgICAgIDx2aWRl
bz4gPC92aWRlbz4KLSAgICAgICAgPHA+VGVzdHMgd2Via2l0U291cmNlQWRkSWQoKSAmYW1wOyB3
ZWJraXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHM8L3A+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVk
LnR4dAppbmRleCA1NWYyMGJiMWM3OGJjOTM4NDUwMmY4YTY1NDMwMDBjMWVjODU3YmU5Li4yZTZi
MzQwZjU4MTQyNWNhZjk4ZTg5NTQ1ZGQyODZmMjFkYTJlYmNiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJy
b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dApAQCAtMiw0MSAr
MiwzNiBAQCBUZXN0cyBlcnJvciBjYXNlcyB3aXRoIE1lZGlhU291cmNlIEFQSQogCiAKIHJ1bm5p
bmcgZGlkTm90U2VuZEluaXRTZWdtZW50Rmlyc3QKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdl
YmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFwcGVuZGluZyBhIG1lZGlhIHNlZ21lbnQgYmVmb3JlIHNl
bmRpbmcgdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCiBFVkVOVChlcnJvcikgOiBNRURJQV9F
UlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBpbW1lZGlhdGVEZWNvZGVFcnJvclZpYUVu
ZE9mU3RyZWFtCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0
c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNv
dXJjZUVuZE9mU3RyZWFtLgorVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVk
aWFTb3VyY2UuZW5kT2ZTdHJlYW0uCiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVy
cm9yKSA6IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGltbWVkaWF0ZU5l
dHdvcmtFcnJvclZpYUVuZE9mU3RyZWFtCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0
KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJy
b3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qgc2lnbmFsbGluZyBhIG5ldHdv
cmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4KIEVWRU5UKHdlYmtpdHNvdXJj
ZWVuZGVkKQogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1
bm5pbmcgZGVjb2RlRXJyb3JBZnRlckhhdmVNZXRhZGF0YQogRVZFTlQoZW1wdGllZCkKLUVWRU5U
KGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBk
ZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFw
cGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KK1Rl
c3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFt
IGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01F
VEFEQVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEpCiBFVkVOVCh3ZWJraXRzb3VyY2Vl
bmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ERUNPREUKIAogcnVubmluZyBuZXR3b3Jr
RXJyb3JBZnRlckhhdmVNZXRhZGF0YQogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkK
IEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9y
IHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91
Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuCitUZXN0IHNpZ25hbGxp
bmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2Ug
aGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3Rh
dGUuCiBFVkVOVChsb2FkZWRtZXRhZGF0YSkKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZF
TlQoZXJyb3IpIDogTUVESUFfRVJSX05FVFdPUksKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1lcnJvcnMuaHRtbAppbmRleCBmZTljZWFhYjU0ZWFjMDI5MmFhOTNlZTA1OGU1ZmJi
YmM5MjAwZWRkLi4wOWFhZTU3NjI4MjgyZGNlNjZmNzkxYzc4NWRiMDIwNDRkMmE1MWI3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCkBAIC0yMyw0NiAr
MjMsNDYgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZE5vdFNlbmRJbml0U2VnbWVudEZpcnN0
KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZGluZyBhIG1lZGlhIHNlZ21lbnQgYmVmb3JlIHNl
bmRpbmcgdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7Ci0gICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRN
ZWRpYVNlZ21lbnQoMCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGlt
bWVkaWF0ZURlY29kZUVycm9yVmlhRW5kT2ZTdHJlYW0ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1Rh
ZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNp
Z25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4iKTsK
LSAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50
LkVPU19ERUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNp
Z25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4iKTsK
KyAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJkZWNvZGUiKTsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgZnVuY3Rpb24gaW1tZWRpYXRlTmV0d29ya0Vycm9yVmlhRW5kT2ZTdHJl
YW0ocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCB3
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5k
T2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTkVUV09SS19FUlIpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtLiIpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0g
ZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJu
ZXR3b3JrIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRlY29kZUVy
cm9yQWZ0ZXJIYXZlTWV0YWRhdGEocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRl
Y29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBw
ZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOwot
ICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5l
bmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0
aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9
IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1
ZmZlcigpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQo
KTsKIAogICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsTWV0YWRhdGFMb2FkZWQodmlkZW9UYWcs
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX0RFQ09ERV9F
UlIpOworICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgiZGVjb2Rl
Iik7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1
bmN0aW9uIG5ldHdvcmtFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1bk5leHRUZXN0Q2FzZSwgdmlk
ZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0g
YWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVU
QURBVEEgc3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFy
Z2V0OwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Ig
d2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3Vn
aCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbE1ldGFkYXRh
TG9hZGVkKHZpZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVt
ZW50LkVPU19ORVRXT1JLX0VSUik7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVu
ZE9mU3RyZWFtKCJuZXR3b3JrIik7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9
CiAKQEAgLTcwLDExICs3MCwxMCBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZp
bmRNZWRpYUVsZW1lbnQoKTsKIAotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0
YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2FkZWRtZXRhZGF0YScpOwot
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOworICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFs
c2UsIG1lZGlhU291cmNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW5kZWQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ2VtcHRpZWQnKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDFlNzg3
NWMyMTUxNTBlOTA4M2E3NDViYzk1ZDRjOWQ2YTM3MjE0NmUuLmUyN2ZhZDkyNWQyYzIwNmU2NzI1
ZWY5OWNmMDk5OGQ1YTlmNDI3OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTIs
NyArMiw3IEBAIFRlc3QgTWVkaWEgU291cmNlIGV2ZW50IGhhbmRsZXIgYXR0cmlidXRlcwogCiBv
bkxvYWQoKQogb25Tb3VyY2VPcGVuKCkKLUNhbGxpbmcgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0g
dG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50LgorQ2FsbGluZyBNZWRpYVNvdXJj
ZS5lbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuCiBvblNv
dXJjZUVuZGVkKCkKIFNldHRpbmcgc3JjIGF0dHJpYnV0ZSB0byAiIiB0byB0cmlnZ2VyIGEgd2Vi
a2l0c291cmNlY2xvc2VkIGV2ZW50Lgogb25Tb3VyY2VDbG9zZSgpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
ZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbAppbmRleCBm
ZjJmN2M4OGIwZmM5MmU5MjdlOGM3ZmU4ZGNlMTc3ODI1ZmRhZGZlLi41MmMwYWM5YzYzNWQyZTE5
MzkzZGVhMmE4MzY0ODE0ZDFhYjY0MjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRl
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwKQEAgLTMsMjIgKzMsMjYgQEAK
ICAgIDxoZWFkPgogICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRl
c3QuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKHZpZGVvKQorCisgICAgICAgICAgIHZh
ciB2aWRlbyA9IG51bGw7CisgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IG51bGw7CisKKyAg
ICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKCkKICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJjZU9wZW4oKSIpOwotCi0gICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkNhbGxpbmcgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBh
IHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50LiIpOwotICAgICAgICAgICAgICAgdmlkZW8ud2Via2l0
U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTk9fRVJST1IpOworICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIHRv
IHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsKKyAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgIH0KIAotICAgICAgICAgICBmdW5j
dGlvbiBvblNvdXJjZUVuZGVkKHZpZGVvKQorICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUVu
ZGVkKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJj
ZUVuZGVkKCkiKTsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiU2V0dGluZyBzcmMgYXR0
cmlidXRlIHRvIFwiXCIgdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWNsb3NlZCBldmVudC4iKTsK
ICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9ICIiOworICAgICAgICAgICAgICAgZW5kVGVzdCgp
OwogICAgICAgICAgICB9CiAKLSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VDbG9zZSh2aWRl
bykKKyAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VDbG9zZSgpCiAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VDbG9zZSgpIik7CiAgICAgICAgICAg
ICAgICBlbmRUZXN0KCk7CkBAIC0yNywxMyArMzEsMTcgQEAKICAgICAgICAgICAgZnVuY3Rpb24g
b25Mb2FkKGUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25M
b2FkKCkiKTsKLSAgICAgICAgICAgICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2Jyk7Ci0gICAgICAgICAgICAgICB2aWRlby5zcmMgPSB2aWRlby53ZWJraXRNZWRpYVNv
dXJjZVVSTDsKKyAgICAgICAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3YnKTsKKyAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7Cisg
ICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2Vv
cGVuJywgb25Tb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VFbmRlZCk7CisgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9u
U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gd2Via2l0VVJMLmNyZWF0
ZU9iamVjdFVSTChtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgIH0KICAgICAgICA8L3NjcmlwdD4K
ICAgIDwvaGVhZD4KICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgogICAgICAgIDxwPlRlc3Qg
TWVkaWEgU291cmNlIGV2ZW50IGhhbmRsZXIgYXR0cmlidXRlczwvcD4KLSAgICAgICA8dmlkZW8g
aWQ9J3YnIG9ud2Via2l0c291cmNlb3Blbj0nb25Tb3VyY2VPcGVuKHRoaXMpJyBvbndlYmtpdHNv
dXJjZWVuZGVkPSdvblNvdXJjZUVuZGVkKHRoaXMpOycgb253ZWJraXRzb3VyY2VjbG9zZT0nb25T
b3VyY2VDbG9zZSh0aGlzKTsnPjwvdmlkZW8+CisgICAgICAgPHZpZGVvIGlkPSd2Jz48L3ZpZGVv
PgogICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDhlMjYyOGUwNzE3
MmUyZDlhNWY4ZTUwMDUxNmQ5YjcyZTE3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorVGVzdHMgTWVkaWFTb3VyY2UsIFNvdXJj
ZUJ1ZmZlciwgYW5kIFNvdXJjZUJ1ZmZlckxpc3Qgb2JqZWN0cy4KKworRVZFTlQod2Via2l0c291
cmNlb3BlbikKK1Rlc3QgTWVkaWFTb3VyY2Ugb2JqZWN0IHR5cGUKK0VYUEVDVEVEIChtZWRpYVNv
dXJjZSA9PSAnW29iamVjdCBNZWRpYVNvdXJjZV0nKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNl
IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhU291cmNlID09ICd0cnVlJykgT0sKKworQWRkIGEgU291
cmNlQnVmZmVyCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGggPT0g
JzAnKSBPSworUlVOKHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCkpCitFWFBFQ1RFRCAo
bWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGggPT0gJzEnKSBPSworCitUZXN0IFNvdXJj
ZUJ1ZmZlckxpc3Qgb2JqZWN0IHR5cGU6CitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVm
ZmVycyA9PSAnW29iamVjdCBTb3VyY2VCdWZmZXJMaXN0XScpIE9LCitFWFBFQ1RFRCAobWVkaWFT
b3VyY2Uuc291cmNlQnVmZmVycyBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXJMaXN0ID09
ICd0cnVlJykgT0sKKworVGVzdCBTb3VyY2VCdWZmZXIgb2JqZWN0IHR5cGUKK0VYUEVDVEVEIChz
ZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXIg
PT0gJ3RydWUnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0gaW5z
dGFuY2VvZiB3aW5kb3cuU291cmNlQnVmZmVyID09ICd0cnVlJykgT0sKKworQXBwZW5kIGluaXQg
c2VnbWVudAorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQu
bGVuZ3RoID09ICcwJykgT0sKKworQXBwZW5kIDEgc2Vjb25kIG9mIGRhdGEuCitFWFBFQ1RFRCAo
bWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZmZXJlZC5sZW5ndGggPT0gJzEnKSBPSwor
RVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQuc3RhcnQoMCkg
PT0gJzAnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVy
ZWQuZW5kKDApID4gJzEnKSBPSworCitSZW1vdmUgU291cmNlQnVmZmVyCitSVU4obWVkaWFTb3Vy
Y2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKSkKK0VYUEVD
VEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCA9PSAnMCcpIE9LCitFWFBFQ1RF
RCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyA9PSAnW29iamVjdCBTb3VyY2VCdWZmZXJMaXN0
XScpIE9LCisKK1Rlc3QgdGhhdCBhcHBlbmQoKSB0aHJvd3MgYW4gZXJyb3IgYWZ0ZXIgU291cmNl
QnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorVGVzdCB0aGF0IGJ1ZmZlcmVkIHRo
cm93cyBhbiBlcnJvciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4KK0dvdCBl
eHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9u
IDExCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGggPT0gJzAnKSBP
SworVGVzdCB0aGF0IGFkZFNvdXJjZUJ1ZmZlcigpIHRocm93cyBhbmQgZXJyb3Igd2hlbiB0aGUg
TWVkaWFTb3VyY2UgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGVsZW1lbnQuCitHb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1v
YmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVjYTc4Yjk1MmJlNmM2YTU1YmNiNDRjYTRhNDhlYzhj
NDI3OTQxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLmh0bWwKQEAgLTAsMCArMSwx
MjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50
LWluZm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBzZWdtZW50SGVs
cGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50
ZXN0V2ViTSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbihldmVudCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgTWVkaWFTb3Vy
Y2Ugb2JqZWN0IHR5cGUiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291
cmNlIiwgZXZlbnQudGFyZ2V0KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlh
U291cmNlIGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhU291cmNlIiwgdHJ1ZSk7CisKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
QWRkIGEgU291cmNlQnVmZmVyIik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1l
ZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoIiwgMCk7CisKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGFkZHNvdXJj
ZWJ1ZmZlcicsIG9uU291cmNlQnVmZmVyQWRkZWQpOworCisgICAgICAgICAgICAgICAgcnVuKCJz
ZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpIik7CisKKyAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBTb3VyY2VC
dWZmZXIgb2JqZWN0IHR5cGUiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInNlZ21l
bnRIZWxwZXIuc291cmNlQnVmZmVyIGluc3RhbmNlb2Ygd2luZG93LlNvdXJjZUJ1ZmZlciIsIHRy
dWUpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVm
ZmVyc1swXSBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXIiLCB0cnVlKTsKKworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJBcHBlbmQgaW5pdCBzZWdtZW50Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJt
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxlbmd0aCIsIDApOworICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKKworICAgICAgICAg
ICAgICAgIC8vIEFwcGVuZCBqdXN0IGVub3VnaCBzZWdtZW50cyB0byBpbmNsdWRlIGF0IGxlYXN0
IDEgc2Vjb25kIG9mIG1lZGlhIGRhdGEuCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIi
KTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZCAxIHNlY29uZCBvZiBkYXRh
LiIpOworICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IHNlZ21lbnRIZWxwZXIuZ2V0TWVk
aWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoMSk7CisgICAgICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPD0gZW5kSW5kZXg7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoaSk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxlbmd0aCIsIDEpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5i
dWZmZXJlZC5zdGFydCgwKSIsIDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVk
aWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZmZXJlZC5lbmQoMCkiLCAxLCAnPicpOworCisg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlJlbW92ZSBTb3VyY2VCdWZmZXIiKTsKKworICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlLnNvdXJjZUJ1ZmZlcnMuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0cmVtb3Zlc291cmNlYnVm
ZmVyJywgb25Tb3VyY2VCdWZmZXJSZW1vdmVkKTsKKworICAgICAgICAgICAgICAgIHJ1bigibWVk
aWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKSIp
OworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYWRkU291cmNlQnVm
ZmVyKCkgdGhyb3dzIGFuZCBlcnJvciB3aGVuIHRoZSBNZWRpYVNvdXJjZSBpcyBub3QgYXNzb2Np
YXRlZCB3aXRoIGEgbWVkaWEgZWxlbWVudC4iKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFT
b3VyY2UyID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0g
d2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChtZWRpYVNvdXJjZTIpOworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcign
dmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsdnA4IicpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQg
ZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBl
bmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0
aW9uIG9uU291cmNlQnVmZmVyQWRkZWQoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCIsIDEp
OworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgU291cmNlQnVmZmVyTGlzdCBvYmplY3QgdHlwZToiKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMiLCBldmVu
dC50YXJnZXQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291
cmNlQnVmZmVycyBpbnN0YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXJMaXN0IiwgdHJ1ZSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlQnVmZmVyUmVtb3Zl
ZChldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1l
ZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoIiwgMCk7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIiwgZXZlbnQudGFyZ2V0KTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUZXN0IHRoYXQgYXBwZW5kKCkgdGhyb3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1
ZmZlciBoYXMgYmVlbiByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBidWZmZXJlZCB0aHJvd3MgYW4g
ZXJyb3IgYWZ0ZXIgU291cmNlQnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuIik7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKHNlZ21lbnRIZWxw
ZXIuc291cmNlQnVmZmVyLmJ1ZmZlcmVkLCAwKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGgiLCAwKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
QW5kRmFpbCgnZXJyb3InKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNv
dXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1l
ZGlhU291cmNlKTsKKworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworCisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RV
UkwodmlkZW8pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CisgICAg
ICAgIDx2aWRlbz4gPC92aWRlbz4KKyAgICAgICAgPHA+VGVzdHMgTWVkaWFTb3VyY2UsIFNvdXJj
ZUJ1ZmZlciwgYW5kIFNvdXJjZUJ1ZmZlckxpc3Qgb2JqZWN0cy48L3A+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXktZXhw
ZWN0ZWQudHh0CmluZGV4IDE5ODhiNzJjZDJmOTE4ZjI0Y2E4MjFkZTE5MThiMDEzNjRlYjFjYWMu
LjUxYTIwNTQxMjVkZjc5NWE2MjEzMGU2OGU0ODc3NmQzYzhkOGM1ZTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1wbGF5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQKQEAgLTEsNiAr
MSw1IEBACiBUZXN0cyBub3JtYWwgcGxheWJhY2sgY2FzZSB3aXRoIE1lZGlhU291cmNlIEFQSQog
Ci1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogRVZFTlQod2Via2l0
c291cmNlZW5kZWQpCiBFVkVOVChwbGF5aW5nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1wbGF5Lmh0bWwKaW5kZXggM2FiOGU0NTZlMTc4ODFhYzU3ZThjZWYxODliNTU3YjM1MWRm
NTBiMy4uZDU2NzllYjYzZjQxNWZmZmM2MDM1YjFlYTEwMTczZWZiNzljZGUzNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLXBsYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCkBAIC05LDI4ICs5LDI5IEBACiAK
ICAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbihldmVudCkKICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKICAgICAgICAgICAgICAgICAvLyBB
cHBlbmQganVzdCBlbm91Z2ggc2VnbWVudHMgdG8gaW5jbHVkZSBhdCBsZWFzdCAxIHNlY29uZCBv
ZiBtZWRpYSBkYXRhLgogICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IHNlZ21lbnRIZWxw
ZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoMSk7CiAgICAgICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPD0gZW5kSW5kZXg7IGkrKykKICAgICAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoaSk7Ci0gICAgICAgICAgICAgICAgZXZl
bnQudGFyZ2V0LndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05P
X0VSUk9SKTsKKyAgICAgICAgICAgICAgICBldmVudC50YXJnZXQuZW5kT2ZTdHJlYW0oKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworCiAgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQo
J2xvYWRzdGFydCcpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNl
b3BlbicpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3Blbics
ICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNv
dXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2Vl
bmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnRBbmRFbmQoJ2VuZGVkJyk7CiAKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRF
dmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VPcGVuKTsKKyAgICAgICAg
ICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywg
b25Tb3VyY2VPcGVuKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRl
bywgZnVuY3Rpb24oc3VjY2VzcykKICAgICAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
c2Vlay5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAppbmRleCBkMjQ3ZWQ1ZDRjNTY3ZmJjMTFlYmE1NjRh
Y2Q2MjU1ZTZiOTkxZDFhLi4yZGMxZTY2MGMxMTVjMjllODY1MGJkYTdjMzdhNzQ1NGVmMzgyOTdk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKQEAgLTE2LDcg
KzE2LDcgQEAKICAgICAgICAgICAgICAgICBpZiAoZmlyc3RPcGVuKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGZpcnN0T3BlbiA9IGZhbHNlOwogCi0gICAgICAgICAgICAgICAgICAgIHNlZ21lbnRI
ZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5h
ZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBl
bmRJbml0U2VnbWVudCgpOwogICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVu
ZFVudGlsRW5kT2ZTdHJlYW0oMCk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMzgsNyArMzgsNyBA
QAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKIAogICAgICAg
ICAgICAgICAgIC8vIENhbGwgYWJvcnQgdG8gbWFrZSBzdXJlIHRoZSBzb3VyY2UgYnVmZmVyIGlz
IGluIGEgc3RhdGUgd2hlcmUgaXQgY2FuIGFjY2VwdCBuZXcgc2VnbWVudHMuCi0gICAgICAgICAg
ICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWJvcnQoKTsKIAogICAgICAgICAgICAgICAg
IHZhciBzdGFydEluZGV4ID0gc2VnbWVudEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRp
bWVzdGFtcCh2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHN0YXJ0SW5kZXgpOwpAQCAtNjAsMTAgKzYwLDEx
IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwog
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKwogICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRz
b3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBt
ZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7CiAg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5nJyk7CiAgICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4cGVjdGVkLnR4dAppbmRleCBhNzk1ZDk4
Y2QyODU5Y2MxNjllYjNiZWI3M2IyYWI1YmI4MjI2NjgxLi4zNzkwNWUyMTU1NzcyYTU4OTVjNGFi
MDEzYjI3YTRlMTdlOTEyMWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDEz
IEBACiBUZXN0cyBNZWRpYVNvdXJjZSBBUEkgc3RhdGUgdHJhbnNpdGlvbnMuCiAKLXdlYmtpdFNv
dXJjZVN0YXRlIDogU09VUkNFX0NMT1NFRAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0
c291cmNlb3BlbikgOiBTT1VSQ0VfT1BFTgord2Via2l0U291cmNlU3RhdGUgOiBjbG9zZWQKK0VW
RU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25GaXJzdFNvdXJjZU9wZW4KLUVWRU5UKHdl
YmtpdHNvdXJjZWVuZGVkKSA6IFNPVVJDRV9FTkRFRAorRVZFTlQod2Via2l0c291cmNlZW5kZWQp
IDogZW5kZWQKIG9uRmlyc3RTb3VyY2VFbmRlZAogRVZFTlQocGxheWluZykKIHRyaWdnZXJGaXJz
dFNlZWsKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KK0VWRU5UKHdlYmtp
dHNvdXJjZW9wZW4pIDogb3BlbgogRVZFTlQoc2Vla2luZykKIG9uRmlyc3RTZWVraW5nCiBFVkVO
VChzZWVrZWQpCkBAIC0xNywyMSArMTYsMTkgQEAgRVZFTlQoc2Vla2luZykKIG9uU2Vjb25kU2Vl
a2luZwogRVZFTlQoc2Vla2VkKQogb25TZWNvbmRTZWVrZWQKLUVWRU5UKHdlYmtpdHNvdXJjZWNs
b3NlKSA6IFNPVVJDRV9DTE9TRUQKK0VWRU5UKHdlYmtpdHNvdXJjZWNsb3NlKSA6IGNsb3NlZAog
b25GaXJzdFNvdXJjZUNsb3NlCiBFVkVOVChlbXB0aWVkKQotRVZFTlQobG9hZHN0YXJ0KQotRVZF
TlQod2Via2l0c291cmNlb3BlbikgOiBTT1VSQ0VfT1BFTgorRVZFTlQod2Via2l0c291cmNlb3Bl
bikgOiBvcGVuCiBvblNlY29uZFNvdXJjZU9wZW4KLUVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6
IFNPVVJDRV9FTkRFRAorRVZFTlQod2Via2l0c291cmNlZW5kZWQpIDogZW5kZWQKIG9uU2Vjb25k
U291cmNlRW5kZWQKIEVWRU5UKHBsYXlpbmcpCiB0cmlnZ2VyU2Vjb25kU291cmNlQ2xvc2UKLUVW
RU5UKHdlYmtpdHNvdXJjZWNsb3NlKSA6IFNPVVJDRV9DTE9TRUQKK0VWRU5UKHdlYmtpdHNvdXJj
ZWNsb3NlKSA6IGNsb3NlZAogb25TZWNvbmRTb3VyY2VDbG9zZQogRVZFTlQoZW1wdGllZCkKLUVW
RU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KK0VW
RU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25UaGlyZFNvdXJjZU9wZW4KIEVORCBPRiBU
RVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hh
bmdlcy5odG1sCmluZGV4IDlhNTRkY2Q3ZmE0NjllNjA5MTllNWI2NGRlMGFkMTE5MTRmYWZiNGIu
LmYyNmNkNTI4MDgwNTY2ZjI4YjQyNzNhMDY3MzBiMTBlMTA0Yzg4ZDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbApAQCAtOCw3
ICs4LDcgQEAKICAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3IE1lZGlhU291cmNl
VGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7CiAgICAgICAgICAg
ICB2YXIgc2Vla1RpbWU7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGFwcGVuZE1lZGlhU2VnbWVu
dHNGb3JTZWVrKHZpZGVvVGFnLCBzZWdtZW50U2Vla1RpbWUpCisgICAgICAgICAgICBmdW5jdGlv
biBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2VlayhzZWdtZW50U2Vla1RpbWUpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gc2VnbWVudEhlbHBlci5nZXRNZWRpYVNl
Z21lbnRJbmRleEZvclRpbWVzdGFtcChzZWdtZW50U2Vla1RpbWUpOwogICAgICAgICAgICAgICAg
IHZhciBlbmRJbmRleCA9IGluZGV4ICsgMjsKQEAgLTE5LDE0ICsxOSwxNCBAQAogICAgICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSB0b3RhbE1lZGlhU2VnbWVu
dHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJl
YW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTk9fRVJST1IpOworICAgICAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBv
blNvdXJjZUV2ZW50KGV2ZW50KQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgnRVZFTlQoJyArIGV2ZW50LnR5cGUgKyAnKSA6ICcgKyBNZWRpYVNvdXJjZVRlc3Qu
Z2V0U291cmNlU3RhdGVOYW1lKGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VTdGF0ZSkpOworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnRVZFTlQoJyArIGV2ZW50LnR5cGUgKyAnKSA6ICcg
KyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGZ1bmN0aW9uIG9uRmlyc3RTb3VyY2VPcGVuKGV2ZW50KQpAQCAtMzYsMTcgKzM2LDE3IEBACiAg
ICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgc291cmNlIGlzIG9w
ZW5lZC4gV2UganVzdCB3YW50IHRvIGFwcGVuZAogICAgICAgICAgICAgICAgIC8vIHRoZSBpbml0
aWFsaXphdGlvbiBzZWdtZW50IGFuZCBhbGwgbWVkaWEgc2VnbWVudHMgdW50aWwgdGhlIGVuZCBv
ZiBzdHJlYW0uCiAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0ZXN0aW5nIHRoZQotICAgICAg
ICAgICAgICAgIC8vIFNPVVJDRV9DTE9TRUQgLT4gU09VUkNFX09QRU4gLT4gU09VUkNFX0VOREVE
IHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAgICAvLyAiY2xvc2VkIiAtPiAib3BlbiIg
LT4gImVuZGVkIiB0cmFuc2l0aW9uIHBhdGguCiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9U
YWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3VyY2VPcGVuKTsKLSAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgdmFy
IG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Bl
bik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAot
ICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1Rh
ZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogCi0gICAgICAg
ICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBv
bkZpcnN0U291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKIAogICAg
ICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50cy4KICAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0oMCk7CkBAIC01NSwx
MiArNTUsMTMgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RTb3VyY2VFbmRlZChldmVu
dCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uRmlyc3RT
b3VyY2VFbmRlZCIpOwotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdl
dDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CiAKLSAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIHZpZGVvVGFnLlNPVVJDRV9F
TkRFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0Owor
ICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKworICAgICAgICAgICAgICAgIE1lZGlh
U291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CiAKLSAg
ICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dl
ckZpcnN0U2Vlayk7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxh
eWluZycsIHRyaWdnZXJGaXJzdFNlZWspOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBm
dW5jdGlvbiB0cmlnZ2VyRmlyc3RTZWVrKGV2ZW50KQpAQCAtNzEsNyArNzIsNyBAQAogICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2Vy
Rmlyc3RTZWVrKTsKIAogICAgICAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgYXBwZW5k
ZWQgYWxsIG9mIHRoZSBtZWRpYSBzZWdtZW50cyBhbmQgZW5kZWQgdGhlIHN0cmVhbSwKLSAgICAg
ICAgICAgICAgICAvLyBsZXRzIGRvIGEgc2VlayB0byB0ZXN0IHRoZSBTT1VSQ0VfRU5ERUQgLT4g
U09VUkNFX09QRU4gdHJhbnNpdGlvbi4KKyAgICAgICAgICAgICAgICAvLyBsZXRzIGRvIGEgc2Vl
ayB0byB0ZXN0IHRoZSAiZW5kZWQiIC0+ICJvcGVuIiB0cmFuc2l0aW9uLgogICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZpcnN0U2Vla2luZyk7
CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25G
aXJzdFNlZWtlZCk7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuY3VycmVudFRpbWUgPSBzZWVr
VGltZTsKQEAgLTg0LDEwICs4NSwxMCBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9
IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3Rl
bmVyKCdzZWVraW5nJywgb25GaXJzdFNlZWtpbmcpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNP
VVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNl
U3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBh
cHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCi0gICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdt
ZW50c0ZvclNlZWsodmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKKyAgICAgICAgICAg
ICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RTZWVrZWQoZXZlbnQp
CkBAIC05Nyw5ICs5OCw5IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQu
dGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nl
ZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVO
KTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVk
aWFTb3VyY2UsICJvcGVuIik7CiAKLSAgICAgICAgICAgICAgICAvLyBOb3cgaXQgaXMgdGltZSB0
byB0ZXN0IHNlZWtpbmcgd2hpbGUgc3RpbGwgaW4gU09VUkNFX09QRU4uCisgICAgICAgICAgICAg
ICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdoaWxlIHN0aWxsIGluICJvcGVu
Ii4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdzZWVraW5nJywg
b25TZWNvbmRTZWVraW5nKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCdzZWVrZWQnLCBvblNlY29uZFNlZWtlZCk7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcu
Y3VycmVudFRpbWUgPSBzZWVrVGltZTsKQEAgLTExMiwyMiArMTEzLDIzIEBACiAgICAgICAgICAg
ICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVv
VGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvblNlY29uZFNlZWtpbmcpOwogCi0g
ICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFn
LCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAg
ICAgICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCi0gICAgICAgICAg
ICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJl
bnRUaW1lKTsKKyAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRl
b1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9u
IG9uU2Vjb25kU2Vla2VkKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgib25TZWNvbmRTZWVrZWQiKTsKKwogICAgICAgICAgICAgICAgIHZhciB2aWRl
b1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVu
dExpc3RlbmVyKCdzZWVrZWQnLCBvblNlY29uZFNlZWtlZCk7CiAKLSAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1l
bnQuU09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAotICAgICAgICAgICAgICAgIC8vIFRl
c3QgU09VUkNFX09QRU4gLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9u
IHBhdGguCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIC8vIFRl
c3QgIm9wZW4iIC0+ICJjbG9zZWQiIC0+ICJvcGVuIiB0cmFuc2l0aW9uIHBhdGguCisgICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2Un
LCBvbkZpcnN0U291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5z
ZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKQEAg
LTEzNSwyNyArMTM3LDI3IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJvbkZpcnN0U291cmNlQ2xvc2UiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRl
b1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CisgICAg
ICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywg
b25GaXJzdFNvdXJjZUNsb3NlKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfQ0xPU0VE
KTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVk
aWFTb3VyY2UsICJjbG9zZWQiKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4pOworICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4n
LCBvblNlY29uZFNvdXJjZU9wZW4pOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5j
dGlvbiBvblNlY29uZFNvdXJjZU9wZW4oZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNvdXJjZU9wZW4iKTsKIAotICAgICAgICAgICAg
ICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VP
cGVuKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAg
ICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNlY29uZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291
cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291
cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOworICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwg
Im9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21l
bnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNv
dXJjZUVuZGVkKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBz
ZWdtZW50cy4KICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZFVudGlsRW5kT2ZT
dHJlYW0oMCk7CkBAIC0xNjUsMTMgKzE2NywxMyBAQAogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3VyY2VFbmRlZCIpOwogCi0gICAgICAgICAg
ICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3Vy
Y2VFbmRlZCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0
OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAKLSAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1l
bnQuU09VUkNFX0VOREVEKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0
U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJlbmRlZCIpOwogICAgICAgICAgICAgICAgIC8vTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFJlYWR5U3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQu
SEFWRV9OT1RISU5HKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVu
ZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyU2Vjb25kU291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAg
IHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyU2Vjb25kU291cmNlQ2xv
c2UpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiB0cmlnZ2VyU2Vjb25k
U291cmNlQ2xvc2UoZXZlbnQpCkBAIC0xODEsOCArMTgzLDggQEAKICAgICAgICAgICAgICAgICB2
YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVt
b3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZSk7CiAK
LSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9FTkRFRCAtPiBTT1VSQ0VfQ0xPU0VEIC0+
IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24gcGF0aC4KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vjb25kU291cmNlQ2xvc2Up
OworICAgICAgICAgICAgICAgIC8vIFRlc3QgImVuZGVkIiAtPiAiY2xvc2VkIiAtPiAib3BlbiIg
dHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7CiAgICAgICAg
ICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVv
VGFnKTsKICAgICAgICAgICAgIH0KIApAQCAtMTkwLDIyICsxOTIsMjIgQEAKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291cmNlQ2xvc2UiKTsK
IAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScs
IG9uU2Vjb25kU291cmNlQ2xvc2UpOwotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfQ0xPU0VE
KTsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
Y2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJj
ZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJjbG9zZWQiKTsKIAotICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blRoaXJkU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25UaGlyZFNvdXJjZU9wZW4oZXZlbnQpCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblRoaXJkU291cmNl
T3BlbiIpOwogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0Owot
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZW9wZW4nLCBvblRoaXJkU291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50
LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVy
KCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAg
IHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQu
U09VUkNFX09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3Vy
Y2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIGVuZFRlc3Qo
KTsKICAgICAgICAgICAgIH0KQEAgLTIxNCwyMSArMjE2LDIyIEBACiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwogCisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKwogICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fk
c3RhcnQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3NlZWtpbmcnKTsKICAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3NlZWtlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW5kZWQn
KTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnKTsKIAotICAgICAgICAg
ICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJj
ZUV2ZW50KTsKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VlbmRlZCcsIG9uU291cmNlRXZlbnQpOwotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VFdmVudCk7CisgICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25Tb3VyY2VFdmVudCk7CisgICAgICAgICAgICAg
ICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNv
dXJjZUV2ZW50KTsKIAotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dl
YmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3Vy
Y2VPcGVuKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0
ZSh2aWRlbyk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRl
KG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8s
IGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICBpZiAoIXN1Y2Nlc3MpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGMzNWFjMGU2OTZiZTE3MzZjYTkyZWZmNWExNjFiZGY2NjNkNmZj
YzYuLjI4NTU3NzFmNDYxMDgyN2E1YTA2NzRiYzdlODk0MWNkNWYzNDg2MGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQxMiw3ICsz
NDEyLDggQEAgQlVHV0s4NTk1MiA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgPSBQQVNTIFQKIEJVR1dLODU5NTIgOiBodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sID0gUEFTUyBU
RVhUIFRJTUVPVVQKIEJVR1dLODU5NTIgOiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sID0gUEFTUyBUSU1FT1VUIFRFWFQg
Q1JBU0gKIAotQlVHV0s4ODk0OSA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbCA9IFBBU1MgVEVYVCBDUkFTSAor
QlVHV0s4ODk0OSA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwgPSBQQVNTIFRFWFQgQ1JBU0gKK0JVR1dL
ODg5NDkgOiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
b2JqZWN0cy5odG1sID0gUEFTUyBURVhUIENSQVNICiAKIC8vIFN0YXJ0ZWQgZmxha2luZyBhdCBh
cm91bmQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE2Mjc4LgogQlVHV0s4NTk1
MCBMSU5VWCBERUJVRyA6IGNvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10
cmFuc2Zvcm1lZC1vdmVyZmxvdy5odG1sID0gUEFTUyBURVhUCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153536</attachid>
            <date>2012-07-20 10:31:41 -0700</date>
            <delta_ts>2012-07-20 11:30:06 -0700</delta_ts>
            <desc>fix typo in vcproj file - using bots to check windows build</desc>
            <filename>bug-90819-20120720103136.patch</filename>
            <type>text/plain</type>
            <size>167135</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGM4MTBiMzNmN2RlMWQw
MTQwYjcxOTc0MzI5N2M1NGFmOWFhYmQwNS4uZjE1OTNhYjU3MDRlNTY0M2IwYzcxMTFkZTEwYzQ4
Y2I3MjFkZWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA3LTIwICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTWVkaWEg
U291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRpYVNvdXJj
ZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICBUZXN0czogVXBk
YXRlcyB0byBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8qCisgICAgICAgICAgICAgICBB
ZGRlZCBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2Jq
ZWN0cy5odG1sCisKKyAgICAgICAgVXBkYXRlIGJ1aWxkIGZpbGVzIHdpdGggbmV3IGNsYXNzZXMg
YW5kIG1lZGlhc291cmNlIGRpcmVjdG9yeToKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUu
YW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJp
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgTmV3IG9iamVjdHM6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcDogQWRkZWQuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0Lmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGw6IEFkZGVkLgorCisg
ICAgICAgIEFkZGluZyBuZXcgb2JqZWN0cywgbmV3IGV2ZW50cywgYW5kIG5ldyBjb25zdHJ1Y3Rv
cnM6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJn
ZXQuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGh0
bWwvRE9NVVJMLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKERPTVVSTCk6CisgICAgICAgICogaHRtbC9ET01VUkwuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorCisgICAgICAgIFJlbW92
aW5nIG9sZCBzdHlsZSBBUEkgYW5kIGF0dGFjaW5nIG5ldyBNZWRpYVNvdXJjZSBvYmplY3RzOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBS
ZW1vdmUgb2xkIHN0eWxlIEFQSSByZXNvdXJjZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpwcmVwYXJlRm9yTG9hZCk6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UpOiBHZXQgTWVk
aWFTb3VyY2Ugb2JqZWN0IGZyb20gYmxvYiByZWdpc3RyeQorICAgICAgICAgICAgbG9vayB1cCBh
bmQsIGlmIGZvdW5kLCBzZXQgaXQncyBNZWRpYVBsYXllciBwb2ludGVyIHRvIHRoZSBjdXJyZW50
IE1lZGlhUGxheWVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1
cHBvcnRlZCk6IFNldCBzb3VyY2Ugc3RhdGUgdG8gImNsb3NlZCIuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUVuZ2luZUVycm9yKTogU2V0IHNvdXJjZSBzdGF0ZSB0
byAiY2xvc2VkIi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyU291cmNlT3BlbmVkKTogU2V0IHNvdXJjZSBzdGF0ZSB0byAib3BlbiIuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXJjZVVSTCk6IENoYW5nZSB0
byBuZXcgYmxvYiBVUkwuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZWVr
KTogQ2hlY2sgaWYgc291cmNlIHN0YXRlIGlzICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6c2V0U291cmNlU3RhdGUpOiBIZWxwZXIgZnVuY3Rpb24gc28gdGhh
dCB3ZSBkb24ndCBoYXZlIHRvCisgICAgICAgICAgICBrZWVwIGNoZWNraW5nIGZvciBtX21lZGlh
U291cmNlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXNlckNhbmNlbGxl
ZExvYWQpOiBTZXQgc291cmNlIHN0YXRlIHRvICJjbG9zZWQiLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIpOiBJZiB0aGUgY3VycmVudCBNZWRp
YVBsYXllciBpcyByZS0KKyAgICAgICAgICAgIGNyZWF0ZWQsIG5vdGlmeSB0aGUgTWVkaWFTb3Vy
Y2UgYW5kIHJlc2V0IGl0cyBNZWRpYVBsYXllci4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKEhUTUxNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRN
TE1lZGlhRWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEy
LTA3LTIwICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gRW5hYmxlIEdQVS1hY2NlbGVyYXRlZCBza2lhIGltcGxlbWVudGF0aW9u
IG9mCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTljZjBkYzdmOTkwNGQ3
NmM4ZDA1ZWJlOTguLmJmZjJmNjBlNWJkYzBiYTEzNjlkMzNlMzJjYTNmODMyYWE1NjI2ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAsMjMgQEAgU0VUKFdlYkNvcmVUZXN0
U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAogKQogCitJ
RiAoRU5BQkxFX01FRElBX1NPVVJDRSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lOQ0xVREVf
RElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFzb3VyY2Ui
CisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisgICAgICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmlkbAorICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlckxpc3QuaWRsCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAg
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorICAgICAgICBNb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisgICAgICAgIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlckxpc3QuY3BwCisgICAgKQorRU5ESUYoKQorCiAjIE1vZHVsZXMgdGhhdCB0aGUg
YmluZGluZ3MgZ2VuZXJhdG9yIHNjcmlwdHMgbWF5IHVzZQogU0VUKFNDUklQVFNfUkVTT0xWRV9T
VVBQTEVNRU5UQUwKICAgICAke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNl
ci5wbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDcyODdkOWNiYjI3NmUzMTczYTIw
Y2M0NWU3ZTY1Nzc4M2VlZmVjZWYuLmY4YjNkOTczMDUwNTNjMzE3YmEzOWMxMzhmYzEzNjY4YjMy
M2E0NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTIzNiw2ICsyMzYsOSBAQAog
I2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgog
I2luY2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3QuY3BwIgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisjaW5jbHVkZSAiSlNNZWRpYVNvdXJjZS5jcHAiCisjZW5kaWYKICNpbmNsdWRlICJKU01lbW9y
eUluZm8uY3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuY3BwIgogI2luY2x1ZGUgIkpT
TWVzc2FnZUV2ZW50LmNwcCIKQEAgLTI3OSw2ICsyODIsMTAgQEAKICNpbmNsdWRlICJKU1NoYWRv
d1Jvb3QuY3BwIgogI2luY2x1ZGUgIkpTU2hhcmVkV29ya2VyLmNwcCIKICNpbmNsdWRlICJKU1No
YXJlZFdvcmtlckNvbnRleHQuY3BwIgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVk
ZSAiSlNTb3VyY2VCdWZmZXIuY3BwIgorI2luY2x1ZGUgIkpTU291cmNlQnVmZmVyTGlzdC5jcHAi
CisjZW5kaWYKICNpbmNsdWRlICJKU1NRTEVycm9yLmNwcCIKICNpbmNsdWRlICJKU1NRTEV4Y2Vw
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNTUUxSZXN1bHRTZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggNzY3MDczZTdkMjdiYzE3NThjN2U2NGI2NjU2ZWQ0ZWRmZTBkNTVl
Mi4uYmE4MTljZDM3YWQ2YzZkZTk1MzUwZDIwZDlmZDVmZmM3NDIxMGZmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMSw2ICszMSw3IEBAIFZQQVRIID0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9j
YXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmF1ZGlvIFwKQEAgLTEwNSw2ICsxMDYsOSBAQCBCSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VSZXF1
ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0
SW5kZXhlZERhdGFiYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
RE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXApAQCAtOTQzLDYgKzk0Nyw3IEBAIElE
TF9JTkNMVURFUyA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXAogICAgICQoV2ViQ29yZSkv
aHRtbCBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAogICAgICQo
V2ViQ29yZSkvcGFnZSBcCiAgICAgJChXZWJDb3JlKS94bWwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMucHJpCmluZGV4IDJjMjljOGY1MmE2MjgwNWZhYzU2NDk3MDY0NTE4M2E3MDI2NzFhZTQuLmNm
YjQ4MTc5NTllMjY5YTVmNjk0ZTY0YWVhY2Y3ZDc0ZThiNWRlNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKQEAgLTYxOCw2ICs2MTgsMTMgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1ZJREVPX1RSQUNLPTEpIHsKICAgICAkJFBXRC9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsIFwK
IH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7CisgIElETF9C
SU5ESU5HUyArPSBcCisgICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5p
ZGwgXAorICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCBcCisg
ICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAorfQorCiBt
YXRobWxuYW1lcy5vdXRwdXQgPSBNYXRoTUxOYW1lcy5jcHAKIG1hdGhtbG5hbWVzLmlucHV0ID0g
TUFUSE1MX05BTUVTCiBtYXRobWxuYW1lcy5kZXBlbmRzID0gJCRQV0QvbWF0aG1sL21hdGhhdHRy
cy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhYTEwMmM4YzE1N2U5M2ZiNGVmMTMxNDMwMDkw
NjdlZjhiYjY1YjNiLi44ZTRkNDU5NTg3YjA3Y2YwNzY0YmY3YThhMWM4YzY0OTQ2OGNlNDI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTUsNiArMTUsNyBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9
IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQgXAogCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogCS1JJChzcmNkaXIp
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiIFwKKwktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyIFwKQEAgLTg4MSw2ICs4ODIsNyBAQCBJRExfUEFUSCA6PSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nZW9s
b2NhdGlvbiBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFz
dHJlYW0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXApAQCAtMTA0OSw2ICsxMDUxLDcgQEAgRVhUUkFfRElT
VCArPSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiLyouaWRsKSBcCisJJChzaGVsbCBscyAkKHNyY2RpcikvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vKi5pZGwpIFwKIAkkKHNo
ZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvKi5p
ZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3Rv
Y29saGFuZGxlci8qLmlkbCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggM2Vi
OTQzOTkxZDdlZjM3YzJjMDk0YWEzNzI4MDAwNzczMmY5OTA0OC4uNjNmM2JkZDY5NjE2NjIxNmI1
ZWRmN2Y3Y2VhMTI5YzNiNjFlZmZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC0zODMsNiArMzgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWVkaWFMaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5oIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01lZGlhU3RyZWFtLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFt
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbUV2ZW50LmNwcCBcCkBA
IC01MDMsNiArNTA1LDEwIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1NoYXJlZFdvcmtlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU2lnbmFsaW5nQ2FsbGJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2ln
bmFsaW5nQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZl
ci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZmZXIuaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU3BlZWNoSW5wdXRFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
cGVlY2hJbnB1dEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTcGVlY2hJbnB1
dFJlc3VsdC5jcHAgXApAQCAtNjkyLDYgKzY5OCw5IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3IuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbCBcCisJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCisJJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAorCSQoV2ViQ29yZSkv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAJJChXZWJDb3JlKS9N
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwgXApAQCAtMTE1OSw2
ICsxMTY4LDE0IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdlR3JvdXBJbmRleGVkRGF0YWJhc2UuaCBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRl
eGVkRGF0YWJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZVJlZ2lzdHJ5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ2YjEz
MjRlMjI4ZDY5YWIwY2YxYjg3ODI0ZjgwZDRjZjFjMGE0MwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0wLDAg
KzEsMjg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKKyNp
bmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKKyNpbmNsdWRlIDx3dGYv
VWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8TWVkaWFT
b3VyY2U+IE1lZGlhU291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU291cmNlKGNvbnRleHQpKTsKK30K
KworTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0KQorICAgICwgbV9y
ZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkKKyAgICAsIG1fcGxheWVyKDApCisgICAgLCBtX25l
eHRTb3VyY2VCdWZmZXJJZCgwKQoreworICAgIG1fc291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZl
ckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIG1fYWN0aXZlU291
cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpOworfQorCitTb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6c291cmNlQnVmZmVy
cygpCit7CisgICAgcmV0dXJuIG1fc291cmNlQnVmZmVycy5nZXQoKTsKK30KKworU291cmNlQnVm
ZmVyTGlzdCogTWVkaWFTb3VyY2U6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKQoreworICAgIC8vIEZJ
WE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24KKyAgICByZXR1cm4gbV9hY3RpdmVT
b3VyY2VCdWZmZXJzLmdldCgpOworfQorCitTb3VyY2VCdWZmZXIqIE1lZGlhU291cmNlOjphZGRT
b3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL21l
ZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tYWRkc291cmNlYnVmZmVyCisgICAgLy8g
MS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9BQ0NF
U1NfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBpZiAo
dHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLy8gMi4gSWYgdHlw
ZSBjb250YWlucyBhIE1JTUUgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgLi4uLCB0aGVuIHRo
cm93IGEKKyAgICAvLyBOT1RfU1VQUE9SVEVEX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNl
IHN0ZXBzLgorICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOworICAgIFZlY3RvcjxT
dHJpbmc+IGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOworCisgICAgaWYgKCFjb2RlY3Mu
c2l6ZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KKyAgICAKKyAgICAvLyA0LiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUg
aXMgbm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAgIC8vIElOVkFMSURf
U1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3Bs
YXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvLyA1LiBD
cmVhdGUgYSBuZXcgU291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMu
CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVmZmVyOjpjcmVhdGUo
U3RyaW5nOjpudW1iZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMpOworCisgICAgc3dp
dGNoIChtX3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250ZW50VHlwZS50eXBl
KCksIGNvZGVjcykpIHsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKKyAgICAgICAgLy8gNi4g
QWRkIHRoZSBuZXcgb2JqZWN0IHRvIHNvdXJjZUJ1ZmZlcnMgYW5kIGZpcmUgYSBhZGRzb3VyY2Vi
dWZmZXIgb24gdGhhdCBvYmplY3QuCisgICAgICAgIG1fc291cmNlQnVmZmVycy0+YWRkKGJ1ZmZl
cik7CisgICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+YWRkKGJ1ZmZlcik7CisgICAgICAg
IC8vIDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgorICAgICAgICByZXR1
cm4gYnVmZmVyLmdldCgpOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDoKKyAg
ICAgICAgLy8gMiAoY29udCkuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgLi4uIHRoYXQg
aXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcyAKKyAgICAgICAgLy8gc3BlY2lmaWVkIGZv
ciB0aGUgb3RoZXIgU291cmNlQnVmZmVyIG9iamVjdHMgaW4gc291cmNlQnVmZmVycywgdGhlbiB0
aHJvdworICAgICAgICAvLyBhIE5PVF9TVVBQT1JURURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQg
dGhlc2Ugc3RlcHMuCisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJl
dHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0OgorICAgICAgICAv
LyAzIChjb250KS4gSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJj
ZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cgCisgICAgICAgIC8vIGEgUVVPVEFfRVhDRUVERURf
RVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGVjID0gUVVPVEFf
RVhDRUVERURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBNZWRpYVNvdXJjZTo6cmVtb3Zl
U291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlw
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tcmVtb3Zlc291cmNlYnVmZmVyCisg
ICAgLy8gMS4gSWYgc291cmNlQnVmZmVyIGlzIG51bGwgdGhlbiB0aHJvdyBhbiBJTlZBTElEX0FD
Q0VTU19FUlIgZXhjZXB0aW9uIGFuZAorICAgIC8vIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlm
ICghYnVmZmVyKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gMi4gSWYgc291cmNlQnVmZmVycyBpcyBlbXB0eSB0aGVu
IHRocm93IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0
aGVzZSBzdGVwcy4KKyAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3NvdXJjZUJ1ZmZlcnMtPmxlbmd0
aCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICAvLyAzLiBJZiBzb3VyY2VCdWZmZXIgc3BlY2lmaWVzIGFuIG9iamVjdCB0
aGF0IGlzIG5vdCBpbiBzb3VyY2VCdWZmZXJzIHRoZW4KKyAgICAvLyB0aHJvdyBhIE5PVF9GT1VO
RF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICAvLyA2LiBSZW1vdmUg
c291cmNlQnVmZmVyIGZyb20gc291cmNlQnVmZmVycyBhbmQgZmlyZSBhIHJlbW92ZXNvdXJjZWJ1
ZmZlciBldmVudCBvbiB0aGF0IG9iamVjdC4KKyAgICBpZiAoIW1fc291cmNlQnVmZmVycy0+cmVt
b3ZlKGJ1ZmZlcikpIHsKKyAgICAgICAgZWMgPSBOT1RfRk9VTkRfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgLy8gNy4gRGVzdHJveSBhbGwgcmVzb3VyY2VzIGZvciBzb3VyY2VC
dWZmZXIuCisgICAgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLT5yZW1vdmUoYnVmZmVyKTsKKyAgICBt
X3BsYXllci0+c291cmNlUmVtb3ZlSWQoYnVmZmVyLT5pZCgpKTsKKworICAgIC8vIDQuIFJlbW92
ZSB0cmFjayBpbmZvcm1hdGlvbiBmcm9tIGF1ZGlvVHJhY2tzLCB2aWRlb1RyYWNrcywgYW5kIHRl
eHRUcmFja3MgZm9yIGFsbCB0cmFja3MgYXNzb2NpYXRlZCB3aXRoIHNvdXJjZUJ1ZmZlciBhbmQg
ZmlyZSBhIHNpbXBsZSBldmVudCBuYW1lZCBjaGFuZ2Ugb24gdGhlIG1vZGlmaWVkIGxpc3RzLgor
ICAgIC8vIEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24KKworICAgIC8vIDUu
IElmIHNvdXJjZUJ1ZmZlciBpcyBpbiBhY3RpdmVTb3VyY2VCdWZmZXJzLCB0aGVuIHJlbW92ZSBp
dCBmcm9tIHRoYXQgbGlzdCBhbmQgZmlyZSBhIHJlbW92ZXNvdXJjZWJ1ZmZlciBldmVudCBvbiB0
aGF0IG9iamVjdC4KKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2VsZWN0aW9u
Cit9CisKK2NvbnN0IFN0cmluZyYgTWVkaWFTb3VyY2U6OnJlYWR5U3RhdGUoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2U6OnNldFJlYWR5
U3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKK3sKKyAgICBBU1NFUlQoc3RhdGUgPT0gb3Blbktl
eXdvcmQoKSB8fCBzdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkgfHwgc3RhdGUgPT0gZW5kZWRLZXl3
b3JkKCkpOworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gc3RhdGUpCisgICAgICAgIHJldHVybjsK
KworICAgIFN0cmluZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBtX3JlYWR5U3RhdGUg
PSBzdGF0ZTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7Cisg
ICAgICAgIG1fc291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9hY3RpdmVTb3VyY2VC
dWZmZXJzLT5jbGVhcigpOworICAgICAgICBtX3BsYXllciA9IDA7CisgICAgICAgIGRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0c291cmNlY2xvc2VFdmVudCwg
ZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKG9s
ZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0YXRlID09IGVuZGVkS2V5d29yZCgp
KSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Vi
a2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VvcGVu
RXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCit2b2lk
IE1lZGlhU291cmNlOjplbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVycm9yLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tZW5kb2ZzdHJl
YW0KKyAgICAvLyAxLiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgaXMgbm90IGluIHRoZSAi
b3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAgIC8vIElOVkFMSURfU1RBVEVfRVJSIGV4Y2Vw
dGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5
U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFt
U3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOworCisgICAgaWYgKGVy
cm9yLmlzTnVsbCgpIHx8IGVycm9yLmlzRW1wdHkoKSkKKyAgICAgICAgZW9zU3RhdHVzID0gTWVk
aWFQbGF5ZXI6OkVvc05vRXJyb3I7CisgICAgZWxzZSBpZiAoZXJyb3IgPT0gIm5ldHdvcmsiKQor
ICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0d29ya0Vycm9yOworICAgIGVs
c2UgaWYgKGVycm9yID09ICJkZWNvZGUiKQorICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXll
cjo6RW9zRGVjb2RlRXJyb3I7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NF
U1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMi4gQ2hhbmdlIHRoZSBy
ZWFkeVN0YXRlIGF0dHJpYnV0ZSB2YWx1ZSB0byAiZW5kZWQiLgorICAgIHNldFJlYWR5U3RhdGUo
ZW5kZWRLZXl3b3JkKCkpOworICAgIG1fcGxheWVyLT5zb3VyY2VFbmRPZlN0cmVhbShlb3NTdGF0
dXMpOworfQorCitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IE1lZGlhU291cmNlOjpidWZmZXJlZChj
b25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1f
cGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsKKyAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0
dXJuIG1fcGxheWVyLT5zb3VyY2VCdWZmZXJlZChpZCk7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2U6
OmFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZGF0YS5nZXQoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICgh
bV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICgh
ZGF0YS0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5ZXItPnNv
dXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkpIHsKKyAgICAgICAg
ZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCit2b2lkIE1lZGlh
U291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNlOjppbnRlcmZhY2VO
YW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvck1lZGlh
U291cmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBNZWRpYVNvdXJjZTo6c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK0V2ZW50VGFyZ2V0RGF0
YSogTWVkaWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50
VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBNZWRpYVNvdXJjZTo6ZW5zdXJlRXZl
bnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzMWQ2ZDNhMDg3YzFm
Y2MxZTExNTY1NTNiZjFhNTRjZDBhZTgzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTAsMCArMSwxMTMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIE1lZGlhU291cmNlX2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VfaAorCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXIuaCIKKyNp
bmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVNvdXJjZSA6IHB1YmxpYyBSZWZD
b3VudGVkPE1lZGlhU291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIG9w
ZW5LZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3Ry
aW5nLCBvcGVuLCAoIm9wZW4iKSk7CisgICAgICAgIHJldHVybiBvcGVuOworICAgIH0KKworICAg
IHN0YXRpYyBjb25zdCBTdHJpbmcmIGNsb3NlZEtleXdvcmQoKQorICAgIHsKKyAgICAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJjbG9zZWQiKSk7CisgICAg
ICAgIHJldHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgZW5k
ZWRLZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3Ry
aW5nLCBlbmRlZCwgKCJlbmRlZCIpKTsKKyAgICAgICAgcmV0dXJuIGVuZGVkOworICAgIH0KKwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlKCkgeyB9CisKKyAgICBTb3VyY2VC
dWZmZXJMaXN0KiBzb3VyY2VCdWZmZXJzKCk7CisgICAgU291cmNlQnVmZmVyTGlzdCogYWN0aXZl
U291cmNlQnVmZmVycygpOworCisgICAgU291cmNlQnVmZmVyKiBhZGRTb3VyY2VCdWZmZXIoY29u
c3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1vdmVTb3VyY2VC
dWZmZXIoU291cmNlQnVmZmVyKiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3QgU3RyaW5n
JiByZWFkeVN0YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSZWFkeVN0YXRlKGNvbnN0IFN0cmlu
ZyYpOworCisgICAgdm9pZCBlbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVycm9yLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICB2b2lkIHNldE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIp
IHsgbV9wbGF5ZXIgPSBwbGF5ZXI7IH0KKyAgICAKKyAgICBQYXNzUmVmUHRyPFRpbWVSYW5nZXM+
IGJ1ZmZlcmVkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2
b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFib3J0KGNvbnN0IFN0cmluZyYgaWQsIEV4Y2Vw
dGlvbkNvZGUmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3QgT1ZFUlJJREU7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291cmNlPjo6cmVm
OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+OjpkZXJlZjsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAg
ICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJS
SURFOworCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYo
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJl
ZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisKKyAgICBT
dHJpbmcgbV9yZWFkeVN0YXRlOworICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsgLy8gPC0tIHNo
b3VsZCB0aGlzIGJlIGEgUmVmUHRyPworCisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IG1f
c291cmNlQnVmZmVyczsKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gbV9hY3RpdmVTb3Vy
Y2VCdWZmZXJzOworICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjVmN2RlYzFi
YmQ1Yjk3NzZiOGNkOGI3NjA0NjdkMDMxNGJhNmRiNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCkBAIC0wLDAgKzEs
NjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworIAorbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2Us
CisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAgICAgICBDb25zdHJ1Y3RvciwKKyAgICAgICAgQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gTWVkaWFTb3VyY2UgeworICAgICAg
ICAvLyBBbGwgdGhlIHNvdXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBvYmplY3QuCisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJjZUJ1ZmZlcnM7CisK
KyAgICAgICAgLy8gU3Vic2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92aWRlIGRhdGEgZm9y
IHRoZSBzZWxlY3RlZC9lbmFibGVkIHRyYWNrcy4KKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNvdXJjZUJ1ZmZlckxpc3QgYWN0aXZlU291cmNlQnVmZmVyczsKKworICAgICAgICBTb3VyY2VC
dWZmZXIgYWRkU291cmNlQnVmZmVyKGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKGluIFNvdXJjZUJ1ZmZlciBi
dWZmZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHJlYWR5U3RhdGU7CisgICAgICAgIAorICAgICAgICB2b2lkIGVuZE9mU3Ry
ZWFtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgZXJyb3IpCisg
ICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIAorICAgICAgICAvLyBF
dmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERP
TVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0
ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25h
bF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVy
KGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgYm9vbGVhbiBkaXNw
YXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0
aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZmQ0MDAx
NzE5ZTEwOWI0YjBmZjAyNmUzYTFmMWY1NmE4Yzc2NmI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcApA
QCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNl
UmVnaXN0cnkuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJLVVJM
LmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhU291cmNlUmVnaXN0cnkmIE1lZGlhU291
cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKK3sKKyAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU291cmNlUmVnaXN0cnksIGluc3RhbmNl
LCAoKSk7CisgICAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VSZWdp
c3RyeTo6cmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJiB1cmwsIFBhc3NSZWZQdHI8
TWVkaWFTb3VyY2U+IHNvdXJjZSkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAg
IG1fbWVkaWFTb3VyY2VzLnNldCh1cmwuc3RyaW5nKCksIHNvdXJjZSk7Cit9CisKK3ZvaWQgTWVk
aWFTb3VyY2VSZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU291cmNlVVJMKGNvbnN0IEtVUkwmIHVy
bCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fbWVkaWFTb3VyY2VzLnJl
bW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitNZWRpYVNvdXJjZSogTWVkaWFTb3VyY2VSZWdpc3Ry
eTo6bG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpCit7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZXMuZ2V0KHVybCkuZ2V0KCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2ZGE2YjM0N2M3MGM1MTFjYjQ2OGZlZDIxNzI3Mjk3MTY2NzUzNzQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlUmVnaXN0cnkuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYVNvdXJjZVJlZ2lzdHJ5
X2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VSZWdpc3RyeV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFTb3VyY2U7CisKK2NsYXNzIE1lZGlhU291
cmNlUmVnaXN0cnkgeworcHVibGljOgorICAgIC8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ug
b2YgTWVkaWFTb3VyY2VSZWdpc3RyeS4KKyAgICBzdGF0aWMgTWVkaWFTb3VyY2VSZWdpc3RyeSYg
cmVnaXN0cnkoKTsKKworICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0
aGUgc3BlY2lmaWVkIG1lZGlhIHNvdXJjZS4KKyAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTb3VyY2VV
UkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+KTsKKyAgICB2b2lkIHVucmVn
aXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJik7CisKKyAgICBNZWRpYVNvdXJjZSogbG9v
a3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpOworCitwcml2YXRlOgorICAgIEhhc2hN
YXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFTb3VyY2U+ID4gbV9tZWRpYVNvdXJjZXM7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTkxOTEwODAzMDgwODA1N2E4Zjg3MGJhYjNkODhmMDJmNWRiMDkxYQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApA
QCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZl
ci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIlRpbWVSYW5nZXMu
aCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1NvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8
TWVkaWFTb3VyY2U+IHNvdXJjZSkKKyAgICA6IG1faWQoaWQpCisgICAgLCBtX3NvdXJjZShzb3Vy
Y2UpCit7Cit9CisKK1NvdXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcigpCit7Cit9CisKK1Bhc3NS
ZWZQdHI8VGltZVJhbmdlcz4gU291cmNlQnVmZmVyOjpidWZmZXJlZChFeGNlcHRpb25Db2RlJiBl
YykgY29uc3QKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBtX3NvdXJj
ZS0+YnVmZmVyZWQoaWQoKSwgZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kKFBh
c3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYg
KCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFwcGVuZChpZCgpLCBkYXRhLCBlYyk7Cit9
CisKK3ZvaWQgU291cmNlQnVmZmVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBp
ZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBtX3NvdXJjZS0+YWJvcnQoaWQoKSwgZWMpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRjNTI1MDAzODAy
OTkxZjhmMTJmMzYwYWVhOTE3MjU5MGEwYjRkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTAsMCArMSw3NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgU291cmNlQnVmZmVyX2gKKyNkZWZpbmUgU291cmNlQnVmZmVyX2gKKworI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGltZVJhbmdlczsKKworY2xhc3MgU291cmNlQnVm
ZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgUGFz
c1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTb3VyY2VCdWZmZXIoaWQsIHNvdXJjZSkpOworICAgIH0KKworICAgIHZpcnR1YWwg
flNvdXJjZUJ1ZmZlcigpOworCisgICAgUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZmZXJlZChF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisKKyAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPFVpbnQ4
QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZvaWQgYWJvcnQoRXhjZXB0aW9u
Q29kZSYpOworICAgIAorICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lk
OyB9CisKKyAgICB2b2lkIGNsZWFyKCkgeyBtX3NvdXJjZS5jbGVhcigpOyB9CisKK3ByaXZhdGU6
CisgICAgU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8TWVkaWFTb3Vy
Y2U+KTsKKworICAgIFN0cmluZyBtX2lkOworICAgIFJlZlB0cjxNZWRpYVNvdXJjZT4gbV9zb3Vy
Y2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDEyYjljYjYxOGY1NTAxNTUyN2IzZDY5YWYyOTZmNjlmN2JkOWY1MgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAgICAgVjhFbmFibGVk
QXRSdW50aW1lPW1lZGlhU291cmNlCisgICAgXSBTb3VyY2VCdWZmZXIgeworCisgICAgICAgIC8v
IFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkLgorICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgVGltZVJhbmdlcyBidWZmZXJlZAorICAgICAgICAgICAgZ2V0dGVyIHJhaXNlcyhET01F
eGNlcHRpb24pOworCisgICAgICAgIC8vIEFwcGVuZCBzZWdtZW50IGRhdGEuCisgICAgICAgIHZv
aWQgYXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNlcHRpb24pOworCisg
ICAgICAgIC8vIEFib3J0IHRoZSBjdXJyZW50IHNlZ21lbnQgYXBwZW5kIHNlcXVlbmNlLgorICAg
ICAgICB2b2lkIGFib3J0KCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIH07CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ckxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MmI0NmYwZmI2N2E4NjE1NzI4ZmI4YTM0ZDBiMmJhMTc2
MzJlZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3QuaCIKKworI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxp
c3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQoreworfQorCit1bnNpZ25lZCBsb25nIFNvdXJjZUJ1ZmZlckxp
c3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGlzdC5zaXplKCk7Cit9CisKK1Nv
dXJjZUJ1ZmZlciogU291cmNlQnVmZmVyTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QK
K3sKKyAgICBpZiAoaW5kZXggPj0gbV9saXN0LnNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIG1fbGlzdFtpbmRleF0uZ2V0KCk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyTGlz
dDo6YWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIpCit7CisgICAgbV9saXN0LmFw
cGVuZChidWZmZXIpOworICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5hbWVzKCkud2Via2l0
YWRkc291cmNlYnVmZmVyRXZlbnQpOworfQorCitib29sIFNvdXJjZUJ1ZmZlckxpc3Q6OnJlbW92
ZShTb3VyY2VCdWZmZXIqIGJ1ZmZlcikKK3sgICAgCisgICAgc2l6ZV90IGluZGV4ID0gbV9saXN0
LmZpbmQoYnVmZmVyKTsKKyAgICBpZiAoaW5kZXggPT0gbm90Rm91bmQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIG1fbGlzdC5yZW1vdmUoaW5kZXgpOworICAgIGJ1ZmZlci0+Y2xlYXIo
KTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHJlbW92ZXNvdXJj
ZWJ1ZmZlckV2ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJM
aXN0OjpjbGVhcigpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgp
OyArK2kpCisgICAgICAgIHJlbW92ZShtX2xpc3RbaV0uZ2V0KCkpOworfQorCit2b2lkIFNvdXJj
ZUJ1ZmZlckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
TmFtZSkKK3sKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWUsIGZhbHNlLCBmYWxzZSk7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKworICAgIEV2
ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworY29uc3QgQXRvbWljU3RyaW5n
JiBTb3VyY2VCdWZmZXJMaXN0OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNvdXJjZUJ1ZmZlckxpc3Q7Cit9CisKK1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIFNvdXJjZUJ1ZmZlckxpc3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Cit9CisKK0V2
ZW50VGFyZ2V0RGF0YSogU291cmNlQnVmZmVyTGlzdDo6ZXZlbnRUYXJnZXREYXRhKCkKK3sKKyAg
ICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEqIFNvdXJj
ZUJ1ZmZlckxpc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2
ZW50VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJM
aXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmY3ZjlhNzg5MjdlMTY3MTIxYjdhNjMwZjg4YjlmNTE3NDE3Y2Vk
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5oCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNvdXJjZUJ1ZmZlckxp
c3RfaAorI2RlZmluZSBTb3VyY2VCdWZmZXJMaXN0X2gKKworI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFNvdXJjZUJ1ZmZlcjsKKworY2xhc3MgU291cmNlQnVmZmVyTGlzdCA6IHB1YmxpYyBSZWZD
b3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKKyAgICB9CisgICAgdmlydHVhbCB+U291cmNl
QnVmZmVyTGlzdCgpIHsgfQorCisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgoKSBjb25zdDsKKyAg
ICBTb3VyY2VCdWZmZXIqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworCisgICAgdm9pZCBh
ZGQoUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+KTsKKyAgICBib29sIHJlbW92ZShTb3VyY2VCdWZm
ZXIqKTsKKyAgICB2b2lkIGNsZWFyKCk7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UK
KyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxTb3Vy
Y2VCdWZmZXJMaXN0Pjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyTGlz
dD46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2
ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBl
bnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNp
dCBTb3VyY2VCdWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHZvaWQg
Y3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOworCisgICAgdmlydHVhbCB2
b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRh
cmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZm
ZXI+ID4gbV9saXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzllZGRjYWE4ZjU0NGE0NGFmY2VkZGJmODg5
YWYyM2MwYmFmMDJkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCittb2R1bGUg
aHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VS
Q0UsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwKKyAgICAgICAgSW5k
ZXhlZEdldHRlciwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAgICAgIENhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIFNvdXJjZUJ1ZmZlckxpc3QgeworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIFNvdXJjZUJ1ZmZl
ciBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0
IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3Rl
bmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFu
IHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3Ry
aW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3Rl
bmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQo
aW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDIzYmMyZDBlMmZlNmU0MzliZmYwOTEzMmRiNmNlMzI2
MmMyMmNmNjIuLjUxYTUyYzNiMzVlN2E5YTg5NDY0MmFkOGVjZjRiZjZhNWZmMTA5MmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQpAQCAtMzAwMyw2ICszMDAzLDE5IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9G
SUxFX1NZU1RFTT0xKSB7CiAgICAgICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5jcHAKIH0K
IAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7CisgICAgSEVBREVS
UyArPSBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBcCisgICAg
ICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKKyAgICAgICAg
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisgICAgICAgIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisgICAgU09VUkNFUyArPSBcCisgICAgICAgIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKyAgICAgICAgTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyTGlzdC5jcHAKK30KKwogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lDT05EQVRB
QkFTRT0xKSB7CiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCAwZTZm
MDM4OTQzYmFjNzM3MWUzZDc4YTdkMjBkMGZjNTVmYzFjMTAxLi5kMzI1MDQzMWQxMGNhYmMxY2Vi
N2EyMjNmYjE3Zjk1MmVmYzIyNGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cApAQCAtNjAsNiArNjAsNyBAQAogICAgICAgJy4uL01vZHVsZXMvZ2VvbG9jYXRpb24nLAog
ICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAnLi4vTW9kdWxlcy9pbmRleGVkZGIn
LAorICAgICAgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4uL01vZHVsZXMvbWVk
aWFzdHJlYW0nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAnLi4v
TW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApAQCAtMTA2Niw2ICsxMDY3LDcgQEAKICAgICAgICAg
ICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ZpbGVzeXN0ZW0nLAogICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAgICAgICAgICAgJy0t
aW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAorICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywg
Jy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4u
L01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4v
TW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGExNzJkNWU1YmVm
ZDU5NmY4ODA1OWZjYTE0ODA3NTg4OGFjNTc0OGIuLjQ5ZTk5NjFjZDkzZjRjMzdiYTRlZDkzMjQ5
YTQ2NGM5NDcxNWI5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTgyNSw2ICs4MjUsOSBAQAogICAg
ICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAgICAgICAgICdNb2R1
bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdNb2R1
bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJl
YW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9t
ZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsJywKQEAgLTE1MzUsNiArMTUzOCwxNCBAQAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxsYmFjay5oJywKICAg
ICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5jcHAnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwJywKKyAgICAgICAgICAgICdNb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywKKyAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFt
L0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDE0MTIzZmVhMWM5MWE4YjJlY2FlZmMxN2RkMjY1
MmI5NzRmNWU4YTEuLmFjZjIyZDY4YjlmYzNhYmE4NGI0NjlhZjEwMGU4YjI3NjZiMWYzNDAgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNDk3
MSw2ICsyNDk3MSw0MiBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgogCQkJPEZpbHRlcgor
CQkJCU5hbWU9Im1lZGlhc291cmNlIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2UuY3BwIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNv
dXJjZVxNZWRpYVNvdXJjZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRp
YXNvdXJjZVxTb3VyY2VCdWZmZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxl
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxTb3VyY2VCdWZmZXIu
aCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XE1vZHVsZXNcbWVkaWFzb3VyY2VcU291cmNlQnVmZmVyTGlzdC5jcHAiCisJCQkJCT4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291
cmNlXFNvdXJjZUJ1ZmZlckxpc3QuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCTwvRmlsdGVy
PgorCQkJPEZpbHRlcgogCQkJCU5hbWU9Im5vdGlmaWNhdGlvbnMiCiAJCQkJPgogCQkJCTxGaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9u
LnZzcHJvcHMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZz
cHJvcHMKaW5kZXggMTJlODc2NzZjODc4ZThjNmNhMTZiYzQ4YjhlNmY0MjBkNDA1OTQ0Zi4uMTVh
YTliZjBhODdjNzhlMTQ5ODdiMTI1MmMxZDQ0NTFlMGE3MzViNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcwpAQCAtNyw3ICs3
LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcaW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHByb3RvY29s
aGFuZGxlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xxdW90YSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRpb25zJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vz
c2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVk
aXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVy
aW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3Nc
Z2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZh
dWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXGNhbnZhcyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxpbnNwZWN0
b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2Fk
ZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmVcY2Ym
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXG1hdGht
bCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcc2Ny
b2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbW9jayZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmtc
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1xmaWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2Rl
ciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHht
bFxwYXJzZXImcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3Jl
XERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3ZnXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBo
aWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9y
YWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHBy
aXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNj
cmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJp
dmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGlu
Z0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgorCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxl
c1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVk
ZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2UmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcd2Vic29j
a2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGMmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGluZyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVy
aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0aG1sJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmljJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
YmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRv
bSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWwmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxzaGFk
b3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXBw
Y2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJc
aWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXGFuaW1hdGlv
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmcmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5pbWF0aW9uJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29yayZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRl
cnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNc
YXJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlw
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3Jt
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dCZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sXHBhcnNlciZxdW90OzsmcXVv
dDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxz
dmdcZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llx3bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtl
cnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1
b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDsk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVv
dDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3Jl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNs
dWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNs
dWRlXHpsaWImcXVvdDsiCiAJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfX1dJTjMyX187RElT
QUJMRV8zRF9SRU5ERVJJTkc7V0VCQ09SRV9DT05URVhUX01FTlVTIgogCQlVc2VQcmVjb21waWxl
ZEhlYWRlcj0iMiIKIAkJUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSJXZWJDb3JlUHJlZml4Lmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGlu
Z0hlYWRlcnMuY21kIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRp
bmdIZWFkZXJzLmNtZAppbmRleCAwOTE3Y2Q3OTE3ZGY4NWE0YjU2YmM4Y2Q3ZjZhNmU4YjY5ODFk
MzdhLi43OWMzNjIwNjEzN2QwNzE5NGZkZTg1NTU1MzYzMWVhY2RjZDMyYjUyIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21k
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVy
cy5jbWQKQEAgLTIxLDYgKzIxLDcgQEAgeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXGNvbmZp
Zy5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kg
L2QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXCou
aCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9k
ICIlUHJvamVjdERpciUuLlxNb2R1bGVzXGZpbGVzeXN0ZW1cKi5oIiAiJUNPTkZJR1VSQVRJT05C
VUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1v
ZHVsZXNcZ2VvbG9jYXRpb25cKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxX
ZWJDb3JlIgoreGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcbWVkaWFzb3VyY2Vc
Ki5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kg
L2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcbm90aWZpY2F0aW9uc1wqLmgiICIlQ09ORklHVVJB
VElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIl
Li5cTW9kdWxlc1xwcm90b2NvbGhhbmRsZXJcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVc
aW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNccXVv
dGFcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY3
ZTZiYzVkOGRiNDU2MThiMjUzNzkyNTk0OWI1ZDMxZjhiZjE3NGEuLmYxZDFhNjY4NDJkOGRkODkw
YmY5ZjQ3YTU2OGRhNmE2N2MzODgyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTY2LDYgKzExNTY2LDE3IEBACiAJCUIx
MEI2OTdFMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVlRUVG9rZW5pemVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjEwQjY5N0YxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRv
a2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWVFRUb2tlbml6
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4
QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxQTk0MkRFMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJj
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFMDE1QjVDRTIyMDBENTI1RDEgLyogTWVk
aWFTb3VyY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU291cmNlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1l
ZGlhU291cmNlUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0cnkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJj
ZUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VC
dWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFNDE1QjVDRTIy
MDBENTI1RDEgLyogU291cmNlQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNvdXJjZUJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJF
NTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBTb3VyY2VCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5
NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1
ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVy
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFODE1QjVDRTIyMDBE
NTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU291
cmNlQnVmZmVyTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxQUQ0RTcx
MTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmNwcDsgcGF0aCA9IGxvYWRlci9U
ZXh0VHJhY2tMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUIxQUQ0
RTcyMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmg7IHBhdGggPSBsb2FkZXIvVGV4dFRy
YWNrTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQjFENUVDQjQxMzRC
NThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTc1MzMsNiArMTc1NDQsNyBAQAogCQk5NzExNDVGRTE0RUYwMDZFMDA2NzRGRDkgLyog
TW9kdWxlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
QjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovLAogCQkJCTk3MTE0NUZG
MTRFRjAwNzkwMDY3NEZEOSAvKiBnZW9sb2NhdGlvbiAqLywKIAkJCQk5NzEyQTU1MzE1MDA0RTND
MDA0OEFGMTAgLyogaW5kZXhlZGRiICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAv
KiBub3RpZmljYXRpb25zICovLApAQCAtMTg5NjcsNiArMTg5NzksMjUgQEAKIAkJCW5hbWUgPSBQ
bHVnaW5zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQjFBOTQyREQxNUI1
Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3Vy
Y2UuY3BwICovLAorCQkJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5o
ICovLAorCQkJCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5pZGwgKi8s
CisJCQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3Bw
ICovLAorCQkJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmggKi8sCisJCQkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5jcHAg
Ki8sCisJCQkJQjFBOTQyRTQxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5oICovLAor
CQkJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIuaWRsICovLAorCQkJ
CUIxQTk0MkU2MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0LmNwcCAqLywKKwkJ
CQlCMUE5NDJFNzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5oICovLAorCQkJ
CUIxQTk0MkU4MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0LmlkbCAqLywKKwkJ
CSk7CisJCQluYW1lID0gbWVkaWFzb3VyY2U7CisJCQlwYXRoID0gTW9kdWxlcy9tZWRpYXNvdXJj
ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUIxQUQ0RTc3MTNBMTJBNzIw
MDg0NkIyNyAvKiB0cmFjayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA4MzZlNjMwOGIwZGFjZjlkYjFmNzc1ZmZm
MjkzNGYxYjc2ZGZjMThhLi45ODNkZjI5ZThiZjJlYzcwMjc2ZDY2ODU0NTM1OWMwOTRmNmU4ZGMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1Nyw2ICsxNTcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBcCiAgICAgbWFjcm8o
d2Via2l0ZW5kZnVsbHNjcmVlbikgXAogICAgIFwKKyAgICBtYWNybyh3ZWJraXRhZGRzb3VyY2Vi
dWZmZXIpIFwKKyAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwKICAgICBtYWNy
byh3ZWJraXRzb3VyY2VvcGVuKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNlZW5kZWQpIFwKICAg
ICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRl
eCBmMzg3ZTQyNzNlZTI2YTIwNmI2ZDc5OTkxZGUzMmQ5ZGI1NWUyYTZmLi4yOWM2MGJiMTA1YmM5
OThmNWRlMjNjNGZhMjE3YjM2YjE1OTQ5ZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApA
QCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSmF2YVNjcmlw
dEF1ZGlvTm9kZTsKICAgICBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogICAgIGNsYXNzIE1lZGlh
Q29udHJvbGxlcjsKKyAgICBjbGFzcyBNZWRpYVNvdXJjZTsKICAgICBjbGFzcyBNZWRpYVN0cmVh
bTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBOb2RlOwpAQCAtNjQsNiArNjUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyQ29udGV4
dDsKKyAgICBjbGFzcyBTb3VyY2VCdWZmZXJMaXN0OwogICAgIGNsYXNzIFRleHRUcmFjazsKICAg
ICBjbGFzcyBUZXh0VHJhY2tDdWU7CiAgICAgY2xhc3MgV2ViU29ja2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODIxNzE3YjBkN2ZlNzY1M2FhZjNmNjVk
YTM1ZWE4ZWY5NWJkMDRlNC4uMzkyYjMwNTQ0MjQ4MTdmY2ZlMDFmMTgzMmYyYjkyNWMxYjAzYWM5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xNiw2ICsx
Niw3IEBAIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJB
U0UKIEphdmFTY3JpcHRBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBMb2NhbE1lZGlh
U3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFDb250cm9sbGVyIGNvbmRpdGlv
bmFsPVZJREVPCitNZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIE1lZGlhU3Ry
ZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFja0xpc3QgY29uZGl0
aW9uYWw9TUVESUFfU1RSRUFNCiBNZXNzYWdlUG9ydApAQCAtMjYsNiArMjcsNyBAQCBQZWVyQ29u
bmVjdGlvbjAwIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogUGVyZm9ybWFuY2UgY29uZGl0aW9u
YWw9V0VCX1RJTUlORwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJTCiBT
aGFyZWRXb3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJTCitTb3VyY2VCdWZm
ZXJMaXN0IGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogU3BlZWNoUmVjb2duaXRpb24gY29uZGl0
aW9uYWw9U0NSSVBURURfU1BFRUNICiBTVkdFbGVtZW50SW5zdGFuY2UgY29uZGl0aW9uYWw9U1ZH
CiBUZXh0VHJhY2sgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcApp
bmRleCA0Zjk3ODBkY2Q2YjMzNDc2Mzk4YmI0YzY4YjQ5OGU1Y2IwOTkxOTk3Li5mNDIzNWQ5NWJm
NzA2NDU4NzU2NmViMDZlYWQzYWY1MTg0OWRkMzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCkBA
IC00Miw2ICs0MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAi
TWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCisjZW5kaWYK
KwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNp
bmNsdWRlICJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCkBAIC00OSw2ICs1NCwyNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorU3RyaW5nIERPTVVS
TDo6Y3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIE1lZGlhU291cmNlKiBzb3VyY2UpCit7CisgICAgLy8gU2luY2UgV2ViV29ya2Vy
cyBjYW5ub3Qgb2J0YWluIE1lZGlhU291cmNlIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUg
bWFpbiB0aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIGlmICghc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCB8fCAhc291cmNlKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0ZVB1YmxpY1VSTChzY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpKTsKKyAgICBpZiAocHVibGljVVJMLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgTWVkaWFTb3VyY2VSZWdp
c3RyeTo6cmVnaXN0cnkoKS5yZWdpc3Rlck1lZGlhU291cmNlVVJMKHB1YmxpY1VSTCwgc291cmNl
KTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wdWJsaWNVUkxNYW5hZ2VyKCkuc3RyZWFt
VVJMcygpLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkpOworCisgICAgcmV0dXJuIHB1YmxpY1VSTC5z
dHJpbmcoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFN0cmluZyBE
T01VUkw6OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBNZWRpYVN0cmVhbSogc3RyZWFtKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKaW5k
ZXggMjVhZTAxM2ViMGE4YTEwYmM0MzMzYTBiYmI0YTA3NzkxN2IyN2ZhNy4uZDcxZmI5M2YzNTVi
NWFkMmUyZmViZDJmYjkwMzE4M2Q5NzQxMjE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCkBAIC0zNiw2
ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBNZWRp
YVNvdXJjZTsKIGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIApAQCAtNDksNiArNTAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopOwogICAgIHN0YXRpYyB2
b2lkIHJldm9rZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5n
Jik7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZU9i
amVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTb3VyY2UqKTsKKyNlbmRpZgog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVPYmplY3RV
UkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU3RyZWFtKik7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmlkbAppbmRleCBlZDA0YzIzZDVjNjdiMzFjM2I5MzczNjIwN2ZiNDBhZTk2YTE2
YWFhLi5iMzZlOGY3Y2ViYWU3ZGMzNzZlOWJhYTMyOWNkY2U5OGUyZWEwYWNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaWRsCkBAIC0zMyw2ICszMyw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSlNO
b1N0YXRpY1RhYmxlcywKICAgICAgICAgSW50ZXJmYWNlTmFtZT1VUkwKICAgICBdIERPTVVSTCB7
CisjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKSAmJiBFTkFCTEVfTUVESUFfU09VUkNF
CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LFRyZWF0UmV0dXJuZWRO
dWxsU3RyaW5nQXM9TnVsbF0gc3RhdGljIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVk
aWFTb3VyY2U/IHNvdXJjZSk7CisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVhbT8gc3RyZWFtKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA0NTkwNzhmNjRjMDhi
ZTJiZTQzMWIwMDg4OGRjZjM5YmRiMzBiODY5Li5jYzI2MDUxNTVjMGZhYzYzMjM4ZDU3N2Q0MDEw
NzY2OTFjYjMwOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgpAQCAtMjQzLDYgKzI0Myw3IEBAIG9udG91Y2hjYW5jZWwKIG9udW5sb2FkCiBvbnZvbHVtZWNo
YW5nZQogb253YWl0aW5nCitvbndlYmtpdGFkZHNvdXJjZWJ1ZmZlcgogb253ZWJraXRhbmltYXRp
b25zdGFydAogb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24KIG9ud2Via2l0YW5pbWF0aW9uZW5k
CkBAIC0yNTQsNiArMjU1LDcgQEAgb253ZWJraXRrZXlhZGRlZAogb253ZWJraXRrZXllcnJvcgog
b253ZWJraXRrZXltZXNzYWdlCiBvbndlYmtpdG5lZWRrZXkKK29ud2Via2l0cmVtb3Zlc291cmNl
YnVmZmVyCiBvbndlYmtpdHNvdXJjZWNsb3NlCiBvbndlYmtpdHNvdXJjZWVuZGVkCiBvbndlYmtp
dHNvdXJjZW9wZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4
IGYxNjI3MWJjZDEzY2JkZjVlMmUwZTBkMjgwZTg2NDI4ZjUwMTNkMDQuLmZhNjU4NDgzNDMyOGIw
NzA0NjUwYmU0OGZlMjQwOGE0NGQzZTdiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtMTEwLDYgKzExMCwxMSBAQAogI2luY2x1ZGUgIkRpc3BsYXlTbGVl
cERpc2FibGVyLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVk
ZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQ0
LDcgKzE0OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogCiAj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vIFVSTCBwcm90b2NvbCB1c2VkIHRvIHNpZ25hbCB0
aGF0IHRoZSBtZWRpYSBzb3VyY2UgQVBJIGlzIGJlaW5nIHVzZWQuCi1zdGF0aWMgY29uc3QgY2hh
ciogbWVkaWFTb3VyY2VVUkxQcm90b2NvbCA9ICJ4LW1lZGlhLXNvdXJjZSI7CitzdGF0aWMgY29u
c3QgY2hhciogbWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wgPSAiYmxvYiI7CiAjZW5kaWYKIAogdXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTIxOCw5ICsyMjMsNiBAQCBIVE1MTWVkaWFFbGVt
ZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bQogICAgICwgbV9wcmVsb2FkKE1lZGlhUGxheWVyOjpBdXRvKQogICAgICwgbV9k
aXNwbGF5TW9kZShVbmtub3duKQogICAgICwgbV9wcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFj
aygwKQotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICAgICAgCi0gICAgLCBtX3NvdXJjZVN0YXRl
KFNPVVJDRV9DTE9TRUQpCi0jZW5kaWYKICAgICAsIG1fY2FjaGVkVGltZShNZWRpYVBsYXllcjo6
aW52YWxpZFRpbWUoKSkKICAgICAsIG1fY2FjaGVkVGltZVdhbGxDbG9ja1VwZGF0ZVRpbWUoMCkK
ICAgICAsIG1fbWluaW11bVdhbGxDbG9ja1RpbWVUb0NhY2hlTWVkaWFUaW1lKDApCkBAIC0yNzEs
NyArMjczLDcgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW0KICAgICB9CiAKICNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQotICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UHJvdG9jb2wobWVkaWFTb3Vy
Y2VVUkxQcm90b2NvbCk7CisgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90b2NvbChtZWRpYVNv
dXJjZUJsb2JQcm90b2NvbCk7CiAgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQYXRoKGNyZWF0ZUNh
bm9uaWNhbFVVSURTdHJpbmcoKSk7CiAjZW5kaWYKIApAQCAtNDIwLDE0ICs0MjIsNiBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmli
dXRlKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJr
aXRiZWdpbmZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlz
LCBhdHRyaWJ1dGUpKTsKICAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0
ZW5kZnVsbHNjcmVlbkF0dHIpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLndlYmtpdGVuZGZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAg
IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRzb3VyY2VjbG9zZUF0dHIpCi0g
ICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdHNvdXJj
ZWNsb3NlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cmlidXRl
KSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtpdHNvdXJjZWVuZGVk
QXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Vi
a2l0c291cmNlZW5kZWRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBh
dHRyaWJ1dGUpKTsKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0c291
cmNlb3BlbkF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0
aGlzLCBhdHRyaWJ1dGUpKTsKLSNlbmRpZgogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiB9CkBAIC03MDIsOCArNjk2LDcgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCgpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAg
ICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUo
TWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBJZiB0
aGUgbWVkaWEgZWxlbWVudCdzIG5ldHdvcmtTdGF0ZSBpcyBub3Qgc2V0IHRvIE5FVFdPUktfRU1Q
VFksIHRoZW4gcnVuIHRoZXNlIHN1YnN0ZXBzCkBAIC05MjYsMTAgKzkxOSwxNiBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBLVVJMJiBpbml0aWFsVVJMLCBDb250
ZW50VHlwZSYgY29udGVudAogICAgIH0KICAgICAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQot
ICAgIC8vIElmIHRoaXMgaXMgYSBtZWRpYSBzb3VyY2UgVVJMLCBtYWtlIHN1cmUgaXQgaXMgdGhl
IG9uZSBmb3IgdGhpcyBtZWRpYSBlbGVtZW50LgotICAgIGlmICh1cmwucHJvdG9jb2xJcyhtZWRp
YVNvdXJjZVVSTFByb3RvY29sKSAmJiB1cmwgIT0gbV9tZWRpYVNvdXJjZVVSTCkgewotICAgICAg
ICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkZvcm1hdEVycm9yKTsKLSAgICAgICAg
cmV0dXJuOworICAgIGlmICh1cmwucHJvdG9jb2xJcyhtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCkp
IHsKKyAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgICAgICBtX21lZGlhU291cmNl
LT5zZXRSZWFkeVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOworCisgICAgICAg
IG1fbWVkaWFTb3VyY2UgPSBhZG9wdFJlZihNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgp
Lmxvb2t1cE1lZGlhU291cmNlKHVybC5zdHJpbmcoKSkpOworCisgICAgICAgIGlmIChtX21lZGlh
U291cmNlKSB7CisgICAgICAgICAgICBtX21lZGlhU291cmNlLT5zZXRNZWRpYVBsYXllcihtX3Bs
YXllci5nZXQoKSk7CisgICAgICAgICAgICBtX21lZGlhU291cmNlVVJMID0gdXJsOworICAgICAg
ICB9CiAgICAgfQogI2VuZGlmCiAKQEAgLTE0MzEsOCArMTQzMCw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6bm9uZVN1cHBvcnRlZCgpCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCku
ZXJyb3JFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJj
ZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9D
TE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkp
OwogI2VuZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBlbGVtZW50J3MgZGVsYXlpbmctdGhlLWxv
YWQtZXZlbnQgZmxhZyB0byBmYWxzZS4gVGhpcyBzdG9wcyBkZWxheWluZyB0aGUgbG9hZCBldmVu
dC4KQEAgLTE0NjMsOCArMTQ2MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFFbmdp
bmVFcnJvcihQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycikKICAgICBzY2hlZHVsZUV2ZW50KGV2
ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAg
aWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgICAgc2V0U291cmNlU3Rh
dGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3Nl
ZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBTZXQgdGhlIGVsZW1lbnQncyBuZXR3
b3JrU3RhdGUgYXR0cmlidXRlIHRvIHRoZSBORVRXT1JLX0VNUFRZIHZhbHVlIGFuZCBxdWV1ZSBh
CkBAIC0xNzI5LDcgKzE3MjYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVy
U291cmNlT3BlbmVkKCkKIHsKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNr
KCk7CiAKLSAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CisgICAgc2V0U291cmNlU3Rh
dGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOwogCiAgICAgZW5kUHJvY2Vzc2luZ01lZGlh
UGxheWVyQ2FsbGJhY2soKTsKIH0KQEAgLTE3MzgsMjIgKzE3MzUsNiBAQCBTdHJpbmcgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdAogewogICAgIHJldHVybiBt
X21lZGlhU291cmNlVVJMLnN0cmluZygpOwogfQotCi1ib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omlz
VmFsaWRTb3VyY2VJZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QK
LXsKLSAgICBpZiAoaWQuaXNOdWxsKCkgfHwgaWQuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAg
aWYgKCFtX3NvdXJjZUlEcy5jb250YWlucyhpZCkpIHsKLSAgICAgICAgZWMgPSBTWU5UQVhfRVJS
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
ICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTE5NzcsOCArMTk1OCw4
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBFeGNlcHRpb25Db2Rl
JiBlYykKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIC8vIEFsd2F5cyBub3RpZnkgdGhl
IG1lZGlhIGVuZ2luZSBvZiBhIHNlZWsgaWYgdGhlIHNvdXJjZSBpcyBub3QgY2xvc2VkLiBUaGlz
IGVuc3VyZXMgdGhhdCB0aGUgc291cmNlIGlzCiAgICAgLy8gYWx3YXlzIGluIGEgZmx1c2hlZCBz
dGF0ZSB3aGVuIHRoZSAnc2Vla2luZycgZXZlbnQgZmlyZXMuCi0gICAgaWYgKG1fc291cmNlU3Rh
dGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgIG5vU2Vla1JlcXVpcmVkID0gZmFsc2U7CisgICAg
aWYgKG1fbWVkaWFTb3VyY2UgJiYgbV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0ZSgpICE9IE1lZGlh
U291cmNlOjpjbG9zZWRLZXl3b3JkKCkpCisgICAgICAgIG5vU2Vla1JlcXVpcmVkID0gZmFsc2U7
CiAjZW5kaWYKIAogICAgIGlmIChub1NlZWtSZXF1aXJlZCkgewpAQCAtMjAwMCw4ICsxOTgxLDgg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIG1fc2VudEVuZEV2ZW50ID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9FTkRFRCkKLSAgICAgICAgc2V0
U291cmNlU3RhdGUoU09VUkNFX09QRU4pOworICAgIGlmIChtX21lZGlhU291cmNlICYmIG1fbWVk
aWFTb3VyY2UtPnJlYWR5U3RhdGUoKSA9PSBNZWRpYVNvdXJjZTo6ZW5kZWRLZXl3b3JkKCkpCisg
ICAgICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpvcGVuS2V5d29yZCgpKTsKICNlbmRp
ZgogCiAgICAgLy8gOCAtIFNldCB0aGUgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbiB0byB0aGUg
Z2l2ZW4gbmV3IHBsYXliYWNrIHBvc2l0aW9uCkBAIC0yMzQ5LDE3NSArMjMzMCwxMiBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogfQogCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VBZGRJZChjb25z
dCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewot
ICAgIGlmIChpZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKLSAgICAgICAgZWMgPSBJTlZB
TElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9zb3Vy
Y2VJRHMuY29udGFpbnMoaWQpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlz
RW1wdHkoKSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVk
aWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBl
YyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgQ29u
dGVudFR5cGUgY29udGVudFR5cGUodHlwZSk7Ci0gICAgVmVjdG9yPFN0cmluZz4gY29kZWNzID0g
Y29udGVudFR5cGUuY29kZWNzKCk7Ci0KLSAgICBpZiAoIWNvZGVjcy5zaXplKCkpIHsKLSAgICAg
ICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGlkLCBjb250ZW50VHlwZS50eXBlKCksIGNv
ZGVjcykpIHsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKLSAgICAgICAgbV9zb3VyY2VJRHMu
YWRkKGlkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBv
cnRlZDoKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0OgotICAgICAgICBlYyA9IFFVT1RB
X0VYQ0VFREVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVJlbW92
ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghaXNW
YWxpZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5
ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9
PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VSZW1vdmVJZChp
ZCkpCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgbV9zb3VyY2VJRHMucmVt
b3ZlKGlkKTsKLX0KLQotUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBIVE1MTWVkaWFFbGVtZW50Ojp3
ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykK
LXsKLSAgICBpZiAoIWlzVmFsaWRTb3VyY2VJZChpZCwgZWMpKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwg
fHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJ
RF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIHJldHVybiBtX3Bs
YXllci0+c291cmNlQnVmZmVyZWQoaWQpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Ondl
YmtpdFNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+
IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlk
LCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50
U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikg
ewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKCFkYXRhLmdldCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1Nf
RVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlkLCBk
YXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgpKSkgewotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Vi
a2l0U291cmNlQWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCiB7
Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKKyAgICBpZiAoIW1fbWVkaWFTb3Vy
Y2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3Jj
ICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewot
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VFbmRP
ZlN0cmVhbSh1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAg
IGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9z
b3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVf
RVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTWVkaWFQbGF5ZXI6OkVuZE9mU3Ry
ZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwotCi0gICAgc3dp
dGNoIChzdGF0dXMpIHsKLSAgICBjYXNlIEVPU19OT19FUlJPUjoKLSAgICAgICAgZW9zU3RhdHVz
ID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRU9T
X05FVFdPUktfRVJSOgotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0d29y
a0Vycm9yOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVPU19ERUNPREVfRVJSOgotICAgICAg
ICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7Ci0gICAgICAgIGJyZWFr
OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9FTkRFRCk7Ci0gICAgbV9wbGF5
ZXItPnNvdXJjZUVuZE9mU3RyZWFtKGVvc1N0YXR1cyk7Ci19Ci0KLUhUTUxNZWRpYUVsZW1lbnQ6
OlNvdXJjZVN0YXRlIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVN0YXRlKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbV9zb3VyY2VTdGF0ZTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSBzdGF0ZSkKLXsKLSAgICBTb3VyY2VTdGF0ZSBv
bGRTdGF0ZSA9IG1fc291cmNlU3RhdGU7Ci0gICAgbV9zb3VyY2VTdGF0ZSA9IHN0YXRpY19jYXN0
PFNvdXJjZVN0YXRlPihzdGF0ZSk7Ci0KLSAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBvbGRTdGF0
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fc291cmNlU3RhdGUgPT0gU09VUkNFX0NM
T1NFRCkgewotICAgICAgICBtX3NvdXJjZUlEcy5jbGVhcigpOwotICAgICAgICBzY2hlZHVsZUV2
ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VjbG9zZUV2ZW50KTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmIChvbGRTdGF0ZSA9PSBTT1VSQ0VfT1BFTiAmJiBtX3NvdXJjZVN0
YXRlID09IFNPVVJDRV9FTkRFRCkgewotICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMo
KS53ZWJraXRzb3VyY2VlbmRlZEV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9PUEVOKSB7Ci0gICAgICAgIHNjaGVkdWxlRXZl
bnQoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9CisgICAgbV9tZWRpYVNvdXJjZS0+c2V0UmVhZHlTdGF0ZShzdGF0ZSk7CiB9CiAjZW5k
aWYKIApAQCAtMzc2Nyw4ICszNTg1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1c2VyQ2Fu
Y2VsbGVkTG9hZCgpCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuYWJvcnRFdmVudCk7
CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlICE9IFNP
VVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpOworICAg
IHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAK
ICAgICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyByZWFkeVN0YXRlIGF0dHJpYnV0ZSBo
YXMgYSB2YWx1ZSBlcXVhbCB0byBIQVZFX05PVEhJTkcsIHNldCB0aGUgCkBAIC00MjcyLDYgKzQw
ODksMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBsYXllcigpCiAgICAg
ICAgIAogICAgIG1fcGxheWVyID0gTWVkaWFQbGF5ZXI6OmNyZWF0ZSh0aGlzKTsKIAorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgIG1fbWVk
aWFTb3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFdFQl9BVURJTykKICAgICBpZiAobV9hdWRpb1NvdXJjZU5vZGUpIHsKICAgICAgICAg
Ly8gV2hlbiBjcmVhdGluZyB0aGUgcGxheWVyLCBtYWtlIHN1cmUgaXRzIEF1ZGlvU291cmNlUHJv
dmlkZXIga25vd3MgYWJvdXQgdGhlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzM1YmZiZDM2NDEzMjllNTZiMmFh
ZDk0ZWE4OTQ4ZWVhMzFmNThhNC4uZjM0NzIyNDdhOTJmOTVjN2M3MTRiOTZiNjk0YjhkNGQ1NDFh
Y2E4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1
LDEwIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtMTc1LDIwICsxNzksNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vICBNZWRpYSBTb3VyY2UuCiAg
ICAgY29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX21l
ZGlhU291cmNlVVJMOyB9Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VS
ZW1vdmVJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgUGFzc1JlZlB0cjxU
aW1lUmFuZ2VzPiB3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiwgUGFzc1Jl
ZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRT
b3VyY2VBYm9ydChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgZW51bSBFbmRP
ZlN0cmVhbVN0YXR1cyB7IEVPU19OT19FUlJPUiwgRU9TX05FVFdPUktfRVJSLCBFT1NfREVDT0RF
X0VSUiB9OwotICAgIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0odW5zaWduZWQgc2hvcnQs
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBlbnVtIFNvdXJjZVN0YXRlIHsgU09VUkNFX0NMT1NFRCwg
U09VUkNFX09QRU4sIFNPVVJDRV9FTkRFRCB9OwotICAgIFNvdXJjZVN0YXRlIHdlYmtpdFNvdXJj
ZVN0YXRlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSk7Ci0K
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNvdXJjZW9wZW4pOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291cmNlZW5kZWQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291cmNlY2xvc2UpOwor
ICAgIHZvaWQgc2V0U291cmNlU3RhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYgCiAKICNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtNDE4LDcgKzQwOSw2IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJTb3VyY2VP
cGVuZWQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0
OwotICAgIGJvb2wgaXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTU5Niw4
ICs1ODYsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBLVVJM
IG1fbWVkaWFTb3VyY2VVUkw7Ci0gICAgU291cmNlU3RhdGUgbV9zb3VyY2VTdGF0ZTsKLSAgICBI
YXNoU2V0PFN0cmluZz4gbV9zb3VyY2VJRHM7CisgICAgUmVmUHRyPE1lZGlhU291cmNlPiBtX21l
ZGlhU291cmNlOwogI2VuZGlmCiAKICAgICBtdXRhYmxlIGZsb2F0IG1fY2FjaGVkVGltZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGFjMGZhNDY3YjQwNDll
MTYzZTkwY2I2YjYzZmEzMzdhY2JjMmUyNjQuLjlkMGFlOGE3Nzk5OWE3NTFhNzVjZDU0ZGMxNTFh
OTM3Y2VlNjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApA
QCAtOTgsMzUgKzk4LDYgQEAgbW9kdWxlIGh0bWwgewogI2lmIGRlZmluZWQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQogICAgIC8vIFVSTCBwYXNzZWQgdG8gc3Jj
IGF0dHJpYnV0ZSB0byBlbmFibGUgdGhlIG1lZGlhIHNvdXJjZSBsb2dpYy4KICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwgVVJMXSBET01TdHJp
bmcgd2Via2l0TWVkaWFTb3VyY2VVUkw7Ci0KLSAgICAvLyBNYW5hZ2VzIElEcyBmb3IgYXBwZW5k
aW5nIG1lZGlhIHRvIHRoZSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChpbiBET01TdHJpbmcgaWQsIGluIERPTVN0cmlu
ZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1t
ZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VSZW1vdmVJZChpbiBET01TdHJpbmcgaWQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgIC8vIFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1
ZmZlcmVkIGZvciBhIHNwZWNpZmljIHNvdXJjZSBJRC4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1l
PW1lZGlhU291cmNlXSBUaW1lUmFuZ2VzIHdlYmtpdFNvdXJjZUJ1ZmZlcmVkKGluIERPTVN0cmlu
ZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIAotICAgIC8vIEFwcGVuZHMgc2VnbWVu
dCBkYXRhLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0
U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwgaW4gVWludDhBcnJheSBkYXRhKSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBBYm9ydHMgdGhlIGN1cnJlbnQgc2VnbWVudC4KLSAg
ICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUFib3J0
KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0gICAgLy8gU2lnbmFs
cyB0aGUgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNl
XSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9fRVJST1IgPSAwOyAvLyBFbmQgb2Ygc3RyZWFt
IHJlYWNoZWQgdy9vIGVycm9yLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2Vd
IGNvbnN0IHVuc2lnbmVkIHNob3J0IEVPU19ORVRXT1JLX0VSUiA9IDE7IC8vIEEgbmV0d29yayBl
cnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1l
ZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfREVDT0RFX0VSUiA9IDI7IC8vIEEg
ZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFtLgotICAgIFtWOEVuYWJsZWRBdFJ1
bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0oaW4gdW5zaWdu
ZWQgc2hvcnQgc3RhdHVzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBJbmRpY2F0
ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG1lZGlhIHNvdXJjZS4KLSAgICBbVjhFbmFibGVk
QXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfQ0xPU0VE
ID0gMDsKLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7Ci0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX0VOREVEID0gMjsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hv
cnQgd2Via2l0U291cmNlU3RhdGU7Ci0KLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGlt
ZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZW9wZW47Ci0gICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253
ZWJraXRzb3VyY2VlbmRlZDsKLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRp
YVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZWNsb3NlOwogI2VuZGlmCiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRV9FTkNSWVBURURfTUVE
SUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiZDljZjBjMjNiZTBjYzE4Mjk1MzVm
M2FlZmU4Y2RiZjIyYmVhMDdkLi4yYWI1YzI1NGRhOTFjZjAwN2I4MGRlOTI5NzkwY2UzNmI1NjZl
NGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03ODEsNiArNzgxLDEwIEBAIG1v
ZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05f
T0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjsKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBNZWRpYVNvdXJjZUNvbnN0cnVjdG9yIE1lZGlh
U291cmNlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJDb25zdHJ1Y3RvciBTb3Vy
Y2VCdWZmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBW
OEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckxpc3RDb25zdHJ1Y3Rv
ciBTb3VyY2VCdWZmZXJMaXN0OworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NS
SVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTEy
MTdlODA5MjdmM2QzYTMyYTYwZmZjM2FjYWY3NTBhMDY0OGUwZS4uZTRjYTUxYWQyNzBkYTU1ZjZl
N2I4ODhmMGFjZjgxYmI0YzAxZmEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA3LTIw
ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUg
TWVkaWEgU291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIG5ldyBNZWRp
YVNvdXJjZSBBUEk6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jh
dy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwKKworICAgICAgICBUZXN0
czogVXBkYXRlcyB0byBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8qCisgICAgICAgICAg
ICAgICBBZGRlZCBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2Utb2JqZWN0cy5odG1sCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS9tZWRpYS1zb3VyY2UuanM6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBl
cik6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYWRk
U291cmNlQnVmZmVyKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnBy
b3RvdHlwZS5hcHBlbmRJbml0U2VnbWVudCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kTWVkaWFTZWdtZW50KToKKyAgICAgICAgKE1lZGlh
U291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRVbnRpbEVuZE9mU3RyZWFt
KToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCk6
CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuZGVmYXVsdE9uRXJyb3JDaGVja3MpOgorICAgICAg
ICAoTWVkaWFTb3VyY2VUZXN0LnJ1bk9uU291cmNlT3Blbi5ldmVudEhhbmRsZXJGdW5jdGlvbik6
CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QucnVuT25Tb3VyY2VPcGVuKToKKyAgICAgICAgKE1l
ZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZSk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3Qu
ZXhwZWN0U291cmNlU3RhdGUpOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZl
cnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
cnJvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtcGxheS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0wNy0yMCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJz
ZWtAZ21haWwuY29tPgogCiAgICAgICAgIFtHdGtdIE1hbnkgdGVzdHMgcmV2ZWFsZWQgYXMgcGFz
c2luZyBhZnRlciBtb3ZpbmcgZnJvbSBTa2lwcGVkIHRvIHRlc3RfZXhwZWN0YXRpb25zLnR4dApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVk
aWEtc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
bWVkaWEtc291cmNlLmpzCmluZGV4IDZkYmI3Y2FhMTE5YzdmOWMxMzdhOWExMWY2OGEyOWVjMDY3
ZmFkMjUuLjk1ZDNiMzRiZjkwNWJhOGZlOGRkNDI1YjgyOWZkYmY0NjJhZWQxYTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJj
ZS5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS1zb3VyY2UuanMKQEAgLTEsOSArMSwxMCBAQAogdmFyIE1lZGlhU291cmNlVGVzdCA9IHt9Owor
dmFyIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CiAKIE1lZGlhU291cmNlVGVzdC5T
ZWdtZW50SGVscGVyID0gZnVuY3Rpb24oc2VnbWVudEluZm8pCiB7CiAgICAgdGhpcy5NZWRpYVNl
Z21lbnRzVG9Mb2FkID0gMDsKLSAgICB0aGlzLlNvdXJjZUlEID0gJ3NvdXJjZUlkJzsKKyAgICB0
aGlzLnNvdXJjZUJ1ZmZlciA9IG51bGw7CiAKICAgICB0aGlzLnZpZGVvVGFnID0gbnVsbDsKICAg
ICB0aGlzLnNlZ21lbnRJbmZvID0gc2VnbWVudEluZm87CkBAIC0xMjEsMzIgKzEyMiwzMiBAQCBN
ZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuZ2V0RGF0YV8gPSBmdW5jdGlv
biAodXJsLCBzdGFydCwgbGVuZ3RoLAogICAgIHJlcXVlc3Quc2VuZCgpOwogfTsKIAotTWVkaWFT
b3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJjZUlkID0gZnVuY3Rpb24o
KQorTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJjZUJ1ZmZl
ciA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHRo
aXMuU291cmNlSUQsIHRoaXMuc2VnbWVudEluZm8udHlwZSk7CisgICAgdGhpcy5zb3VyY2VCdWZm
ZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodGhpcy5zZWdtZW50SW5mby50eXBlKTsK
IH07CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRJbml0
U2VnbWVudCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFw
cGVuZCh0aGlzLlNvdXJjZUlELCB0aGlzLmluaXRTZWdtZW50KTsKKyAgICB0aGlzLnNvdXJjZUJ1
ZmZlci5hcHBlbmQodGhpcy5pbml0U2VnbWVudCk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kTWVkaWFTZWdtZW50ID0gZnVuY3Rpb24oaW5kZXgp
CiB7Ci0gICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5Tb3VyY2VJRCwg
dGhpcy5tZWRpYVNlZ21lbnRzW2luZGV4XSk7CisgICAgdGhpcy5zb3VyY2VCdWZmZXIuYXBwZW5k
KHRoaXMubWVkaWFTZWdtZW50c1tpbmRleF0pOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21l
bnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0gPSBmdW5jdGlvbihzdGFy
dEluZGV4KQogewotICAgIGlmICghdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQpIHsK
LSAgICAgICAgZmFpbFRlc3QoIndlYmtpdFNvdXJjZUFwcGVuZCgpIGlzIG5vdCBhdmFpbGFibGUi
KTsKKyAgICBpZiAoIXRoaXMuc291cmNlQnVmZmVyKSB7CisgICAgICAgIGZhaWxUZXN0KCJNZWRp
YVNvdXJjZSBBUEkgaXMgbm90IGF2YWlsYWJsZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgZm9yICh2YXIgaW5kZXggPSBzdGFydEluZGV4OyBpbmRleCA8IHRoaXMubWVkaWFTZWdt
ZW50cy5sZW5ndGg7IGluZGV4KyspCiAgICAgICAgIHRoaXMuYXBwZW5kTWVkaWFTZWdtZW50KGlu
ZGV4KTsKIAotICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0odGhpcy52
aWRlb1RhZy5FT1NfTk9fRVJST1IpOworICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiB9
OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuZ2V0VGltZUZvck1l
ZGlhU2VnbWVudCA9IGZ1bmN0aW9uKGluZGV4KQpAQCAtMTc2LDcgKzE3Nyw3IEBAIE1lZGlhU291
cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCA9IGZ1bmN0aW9uKHZpZGVvVGFnKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdmlkZW9UYWcuc3JjID0gdmlkZW9UYWcud2Vi
a2l0TWVkaWFTb3VyY2VVUkw7CisgICAgdmlkZW9UYWcuc3JjID0gd2Via2l0VVJMLmNyZWF0ZU9i
amVjdFVSTChtZWRpYVNvdXJjZSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QubWVkaWFFcnJvclN0
cmluZyA9IGZ1bmN0aW9uKHZpZGVvVGFnKQpAQCAtMjA2LDkgKzIwNyw5IEBAIE1lZGlhU291cmNl
VGVzdC5kZWZhdWx0T25FcnJvckNoZWNrcyA9IGZ1bmN0aW9uKGV2ZW50KQogCiAgICAgY29uc29s
ZVdyaXRlKCJFVkVOVChlcnJvcikgOiAiICsgTWVkaWFTb3VyY2VUZXN0Lm1lZGlhRXJyb3JTdHJp
bmcodmlkZW9UYWcpKTsKIAotICAgIGlmICh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSAhPSBI
VE1MTWVkaWFFbGVtZW50LlNPVVJDRV9DTE9TRUQpIHsKLSAgICAgICAgY29uc29sZVdyaXRlKCJV
bmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgU09VUkNFX0NMT1NFRCIgKwotICAgICAg
ICAgICAgICAgICAgICAgIiBnb3QgIiArIGdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53ZWJr
aXRTb3VyY2VTdGF0ZSkpOworICAgIGlmIChtZWRpYVNvdXJjZS5yZWFkeVN0YXRlICE9ICJjbG9z
ZWQiKSB7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4
cGVjdGVkICdjbG9zZWQnIiArCisgICAgICAgICAgICAgICAgICAgICAiIGdvdCAiICsgbWVkaWFT
b3VyY2UucmVhZHlTdGF0ZSk7CiAgICAgfQogfTsKIApAQCAtMjcwLDQyICsyNzEsMzIgQEAgTWVk
aWFTb3VyY2VUZXN0LnJ1bk9uU291cmNlT3BlbiA9IGZ1bmN0aW9uKHZpZGVvVGFnLCBvbk9wZW5G
dW5jdGlvbikKIHsKICAgICB2YXIgZXZlbnRIYW5kbGVyRnVuY3Rpb24gPSBmdW5jdGlvbiAoZXZl
bnQpCiAgICAgeworICAgICAgICBpZiAodmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhUTUxNZWRp
YUVsZW1lbnQuTkVUV09SS19MT0FESU5HICYmCisgICAgICAgICAgICB2aWRlb1RhZy5uZXR3b3Jr
U3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUpIHsKKyAgICAgICAgICAgIGZh
aWxUZXN0KCJVbmV4cGVjdGVkIG5ldHdvcmsgc3RhdGUuIEV4cGVjdGVkICIgKworICAgICAgICAg
ICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0xPQURJTkcgKyAiIG9yICIgKwor
ICAgICAgICAgICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUgKworICAg
ICAgICAgICAgICAgICAgICAgIiBnb3QgIiArIHZpZGVvVGFnLnJlYWR5U3RhdGUpOworICAgICAg
ICB9CiAgICAgICAgIGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VvcGVuJywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOwogICAgICAgICBvbk9wZW5GdW5jdGlvbigp
OwogICAgIH07Ci0gICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Bl
bicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKLSAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9N
ZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcpOwotfTsKIAotTWVkaWFTb3VyY2VUZXN0LmxvZ1Nv
dXJjZVN0YXRlID0gZnVuY3Rpb24odmlkZW9UYWcpCi17Ci0gICAgY29uc29sZVdyaXRlKCJ3ZWJr
aXRTb3VyY2VTdGF0ZSA6ICIgKyBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKHZp
ZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlKSk7CisgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKKyAgICBNZWRp
YVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcpOwogfTsKIAot
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlID0gZnVuY3Rpb24odmlkZW9UYWcsIGV4
cGVjdGVkKQorTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlID0gZnVuY3Rpb24obWVkaWFT
b3VyY2UpCiB7Ci0gICAgaWYgKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlICE9IGV4cGVjdGVk
KSB7Ci0gICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQg
IiArCi0gICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUo
ZXhwZWN0ZWQpICsKLSAgICAgICAgICAgICAgICAgIiBnb3QgIiArIE1lZGlhU291cmNlVGVzdC5n
ZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUpKTsKLSAgICB9Cisg
ICAgY29uc29sZVdyaXRlKCJ3ZWJraXRTb3VyY2VTdGF0ZSA6ICIgKyBtZWRpYVNvdXJjZS5yZWFk
eVN0YXRlKTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUgPSBmdW5j
dGlvbihzdGF0ZSkKK01lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9u
KG1lZGlhU291cmNlLCBleHBlY3RlZCkKIHsKLSAgICB2YXIgc3RhdGVOYW1lID0gIlVOS05PV04i
OwotICAgIHN3aXRjaCAoc3RhdGUpIHsKLSAgICAgICAgY2FzZSBIVE1MTWVkaWFFbGVtZW50LlNP
VVJDRV9DTE9TRUQ6Ci0gICAgICAgICAgICBzdGF0ZU5hbWUgPSAiU09VUkNFX0NMT1NFRCI7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9P
UEVOOgotICAgICAgICAgICAgc3RhdGVOYW1lID0gIlNPVVJDRV9PUEVOIjsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0VOREVEOgotICAg
ICAgICAgICAgc3RhdGVOYW1lID0gIlNPVVJDRV9FTkRFRCI7Ci0gICAgICAgICAgICBicmVhazsK
KyAgICBpZiAobWVkaWFTb3VyY2UucmVhZHlTdGF0ZSAhPSBleHBlY3RlZCkgeworICAgICAgICBm
YWlsVGVzdCgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVkICIgKyBleHBlY3RlZCAr
CisgICAgICAgICAgICAgICAgICIgZ290ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0YXRlKTsKICAg
ICB9Ci0gICAgcmV0dXJuIHN0YXRlTmFtZTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5leHBlY3RS
ZWFkeVN0YXRlID0gZnVuY3Rpb24odmlkZW9UYWcsIGV4cGVjdGVkKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggNjU4ZmY3
MTE2ZTEzNzFmNmRjMzU2N2FkZmM1NDg4NWE1ZjEyNDliZS4uYzVkMjhiZmEyMjdiYzAyZjUxZDI1
MmMxNWI4YmNhODIxMzc4ZjVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNiBAQCBUZXN0cyB3ZWJraXRT
b3VyY2VBYm9ydCgpIGZ1bmN0aW9uYWxpdHkKIAogCiBydW5uaW5nIGFib3J0RHVyaW5nSW5pdFNl
Z21lbnQKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFi
b3J0aW5nIGR1cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwg
aW5pdGlhbGl6YXRpb24gc2VnbWVudC4KQEAgLTEzLDcgKzEyLDYgQEAgRVZFTlQobG9hZGVkZGF0
YSkKIAogcnVubmluZyBhYm9ydER1cmluZ01lZGlhU2VnbWVudAogRVZFTlQoZW1wdGllZCkKLUVW
RU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFib3J0aW5nIGlu
IHRoZSBtaWRkbGUgb2YgYSBtZWRpYSBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwgbWVkaWEg
c2VnbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwKaW5k
ZXggNDg5Yzk1YTk5OGMwNTgyYzZmMDYwYTU3NjY5YzE2ZTZiMDg2OTgzMi4uMzE4MTQ1NmE4YjVj
ZTZhNGE0MjRjYjFkMmUxNzEwZmJiZjMyZTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWFib3J0Lmh0bWwKQEAgLTksNyArOSw3IEBACiAKICAgICAgICAgICAgIGZ1bmN0
aW9uIGFib3J0RHVyaW5nSW5pdFNlZ21lbnQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7
CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAogICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBkdXJpbmcgaW5pdGlhbGl6
YXRpb24gc2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkgewpAQCAtMTcsMTAgKzE3LDEw
IEBACiAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsSW5pdFNlZ21lbnQgPSBpbml0U2Vn
bWVudC5zdWJhcnJheSgwLCBpbml0U2VnbWVudC5sZW5ndGggLyAyKTsKIAogICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVu
ZChzZWdtZW50SGVscGVyLlNvdXJjZUlELCBwYXJ0aWFsSW5pdFNlZ21lbnQpOworICAgICAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQocGFydGlhbEluaXRT
ZWdtZW50KTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFib3J0aW5nIGFw
cGVuZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQo
c2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuc291cmNlQnVmZmVyLmFib3J0KCk7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJBcHBlbmRpbmcgZnVsbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwogICAgICAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CkBAIC00Miw3ICs0
Miw3IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGFib3J0RHVyaW5nTWVkaWFTZWdtZW50KHJ1
bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgYWJvcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIG1lZGlhIHNlZ21lbnQuIik7CiAgICAgICAg
ICAgICAgICAgdHJ5IHsKQEAgLTUxLDEwICs1MSwxMCBAQAogICAgICAgICAgICAgICAgICAgICB2
YXIgcGFydGlhbE1lZGlhU2VnbWVudCA9IG1lZGlhU2VnbWVudC5zdWJhcnJheSgwLCBtZWRpYVNl
Z21lbnQubGVuZ3RoIC8gMik7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJB
cHBlbmRpbmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LiIpOwotICAgICAgICAgICAgICAgICAgICB2
aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCwgcGFydGlh
bE1lZGlhU2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNl
QnVmZmVyLmFwcGVuZChwYXJ0aWFsTWVkaWFTZWdtZW50KTsKIAogICAgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkFib3J0aW5nIGFwcGVuZC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7CisgICAg
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFib3J0KCk7CiAKICAg
ICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZnVsbCBtZWRpYSBzZWdt
ZW50LiIpOwogICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2Vn
bWVudCgwKTsKQEAgLTc3LDExICs3NywxMCBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
bG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2FkZWRkYXRhJyk7
Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7CisgICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBm
YWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWlu
ZycpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsK
KyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZh
bHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
ZW5kZWQnKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFk
ZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1MWY5MWI1Zjlm
ZWEzMzg1NWQ1Y2QwYjAzMzg4MzM5MDFiZmMwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NyBAQAorVGVzdHMg
d2Via2l0U291cmNlQWRkSWQoKSAmIHdlYmtpdFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kcworCitU
ZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RB
ZGRCdWZmZXJGYWlsdXJlQ2FzZXMKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGVtcHR5
IHR5cGUuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6
IERPTSBFeGNlcHRpb24gMTUKK1Rlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4KK0dvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1Rl
c3QgYSBzdXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLgorR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQor
VGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4KK1Rlc3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNh
bid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KK0dvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5p
bmcgdGVzdFJlbW92ZU51bGxCdWZmZXIKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IG51
bGwgYnVmZmVyIGNhc2UKK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUND
RVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQorCitydW5uaW5nIHRlc3RSZW1vdmVBZ2FpbgorRVZF
TlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgcmVtb3ZpbmcgYSBidWZmZXIgdGhhdCB3YXMgYWxy
ZWFkeSByZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJF
bmRlZAorRVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUg
cmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZl
ckFmdGVyUmVtb3ZpbmcKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IHRoYXQgYSBidWZm
ZXIgY2FuIGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuCitVbmV4cGVjdGVkIGV4
Y2VwdGlvbjogRXJyb3I6IFFVT1RBX0VYQ0VFREVEX0VSUjogRE9NIEV4Y2VwdGlvbiAyMgorCity
dW5uaW5nIHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitU
ZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuCitUZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIu
CitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBF
eGNlcHRpb24gMTUKK1Rlc3QgYXBwZW5kIGFmdGVyIGVuZGVkLgorR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK1Rlc3QgYXBw
ZW5kIGFmdGVyIGJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK0VORCBPRiBURVNU
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtYnVmZmVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MGZkNDUwN2I2NmQ0MWNlOTdk
MDEyMDJjZGI0YTJkM2YyOTA3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1v
dmUtYnVmZmVycy5odG1sCkBAIC0wLDAgKzEsMjAxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRl
by10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJj
ZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworICAgICAgICAgICAgdmFyIGRl
ZmF1bHRTb3VyY2VNaW1ldHlwZSA9IHNlZ21lbnRIZWxwZXIuc2VnbWVudEluZm8udHlwZTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIodHlwZSwgZXJy
b3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VC
dWZmZXIodHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBl
eGNlcHRpb24iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RF
eGNlcHRpb25PblJlbW92ZUJ1ZmZlcihidWZmZXIsIGVycm9yKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92
ZVNvdXJjZUJ1ZmZlcihidWZmZXIpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhw
ZWN0ZWQgYW4gZXhjZXB0aW9uIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQoYnVmLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNv
dXJjZUJ1ZmZlci5hcHBlbmQoYnVmKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4
cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBl
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHRlc3RBZGRCdWZmZXJXaGlsZUNsb3NlZCh2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3Nl
ZC4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcihkZWZhdWx0
U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMo
cnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgdHlwZS4iKTsKKyAgICAgICAgICAgICAgICBleHBl
Y3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigiIiwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VS
Uik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYW4gdW5zdXBwb3J0ZWQg
dHlwZS4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigiYXVk
aW8veC11bnN1cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIp
OworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VwcG9ydGVkIHR5cGUg
d2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNl
cHRpb25PbkFkZEJ1ZmZlcigidmlkZW8vd2VibTsgY29kZWNzPVwidnA4LCBzcGVleFwiIiwgRE9N
RXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4iKTsKKyAgICAgICAgICAgICAgICB2
YXIgcmVhY2hlZElkTGltaXQgPSBmYWxzZTsKKworICAgICAgICAgICAgICAgIC8vIFRoZSAyMCBo
ZXJlIGlzIGFuIGFyYml0cmFyeSB1cHBlciBsaW1pdCB0byBtYWtlIHN1cmUgdGhlIHRlc3QgdGVy
bWluYXRlcy4gVGhpcyB0ZXN0CisgICAgICAgICAgICAgICAgLy8gYXNzdW1lcyB0aGF0IGltcGxl
bWVudGF0aW9ucyB3b24ndCBzdXBwb3J0IG1vcmUgdGhhbiAyMCBzb3VyY2VJRCdzIHNpbXVsdGFu
ZW91c2x5LgorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjA7ICsraSkgewor
ICAgICAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAg
ICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuY29k
ZSAhPSBET01FeGNlcHRpb24uUVVPVEFfRVhDRUVERURfRVJSKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICAgICAgcmVhY2hlZElkTGltaXQgPSB0cnVlOworICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXJlYWNoZWRJZExpbWl0KSB7CisgICAg
ICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gcmVhY2ggU291cmNlSUQgbGltaXQu
Iik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNhbid0
IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlv
bk9uQWRkQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURf
U1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlcihydW5O
ZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBudWxsIGJ1ZmZlciBjYXNlIik7CisgICAgICAgICAgICAgICAgZXhw
ZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIobnVsbCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUND
RVNTX0VSUik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUFnYWluKHJ1bk5leHRUZXN0
Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IHJlbW92aW5nIGEgYnVmZmVyIHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4iKTsK
KyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNl
LmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAg
IG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZl
cik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIoc2VnbWVu
dEhlbHBlci5zb3VyY2VCdWZmZXIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisK
KyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUJ1ZmZlckFmdGVyRW5kZWQocnVuTmV4dFRlc3RD
YXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQg
c3RhdGUuIik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBt
ZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7
CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlckFmdGVyUmVtb3ZpbmcocnVuTmV4dFRl
c3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMg
cmVtb3ZlZC4iKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9
IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAg
ICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVy
LnNvdXJjZUJ1ZmZlcik7CisKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1
ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJVbmV4cGVjdGVkIGV4Y2VwdGlv
bjogIiArIGUpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJ1bk5leHRU
ZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXBw
ZW5kRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgdmFyIGluaXRTZWdtZW50ID0gc2VnbWVudEhlbHBlci5pbml0U2Vn
bWVudDsKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTZWdtZW50ID0gc2VnbWVudEhlbHBlci5t
ZWRpYVNlZ21lbnRzWzBdOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VC
dWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBl
KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhIHN1Y2Nlc3NmdWwgYXBw
ZW5kLiIpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVu
ZChpbml0U2VnbWVudCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBw
ZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRp
b25PbkFwcGVuZChudWxsLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuIik7Cisg
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAgICAg
ICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFM
SURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBl
bmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsK
KyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRU
ZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKwor
ICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxz
ZSwgbWVkaWFTb3VyY2UpOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZp
ZGVvLCBmdW5jdGlvbihzdWNjZXNzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgi
RmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7CisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICB0ZXN0
QWRkQnVmZmVyV2hpbGVDbG9zZWQodmlkZW8pOworCisgICAgICAgICAgICAgICAgICAgIHZhciB0
ZXN0Q2FzZXMgPSBbCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyRmFpbHVy
ZUNhc2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZU51bGxCdWZmZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlQWdhaW4sCisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJFbmRlZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RBZGRCdWZmZXJBZnRlclJlbW92aW5nLAorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEFwcGVuZEZhaWx1cmVDYXNlcywKKyAgICAgICAgICAgICAgICAgICAgXTsKKworICAgICAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRl
bywgdGVzdENhc2VzKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgor
ICAgICAgICA8dmlkZW8+IDwvdmlkZW8+CisgICAgICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFk
ZElkKCkgJmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9wPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGMwODU5MTFhOGY1N2NiZDE0MWVmNzhkZmZmYzU2YmVhNTg4MjZkNmQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1h
bmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBA
Ci1UZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRo
b2RzCi0KLVRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4KLUdvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi0KLXJ1bm5p
bmcgdGVzdEFkZElkRmFpbHVyZUNhc2VzCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJRCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYWRkaW5nIHRo
ZSBzYW1lIElEIGFnYWluLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9T
VEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKLVRlc3QgZW1wdHkgdHlwZS4KLUdvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQot
VGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQotVGVzdCBhIHN1cHBvcnRlZCB0eXBl
IHdpdGggYW4gdW5zdXBwb3J0ZWQgY29kZWMuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5Ci1UZXN0IHJlYWNoaW5nIHNvdXJj
ZUlEIGxpbWl0LgotVGVzdCB0aGF0IFNvdXJjZUlEcyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0
aGUgZW5kZWQgc3RhdGUuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQotCi1ydW5uaW5nIHRlc3RSZW1vdmVFbXB0eUlkCi1F
VkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJRCBj
YXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERP
TSBFeGNlcHRpb24gMTUKLQotcnVubmluZyB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZAotRVZFTlQo
bG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgcmVtb3ZpbmcgYW4gSUQg
dGhhdCB3YXMgbmV2ZXIgYWRkZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5U
QVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUFnYWluCi1FVkVO
VChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmluZyBhbiBJ
RCB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9y
OiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUlkQWZ0
ZXJFbmRlZAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qg
dGhhdCBhbiBJRCBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi0KLXJ1
bm5pbmcgdGVzdEFkZElkQWZ0ZXJSZW1vdmluZwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Vi
a2l0c291cmNlb3BlbikKLVRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIg
aXQgaXMgcmVtb3ZlZC4KLVVuZXhwZWN0ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVE
RURfRVJSOiBET00gRXhjZXB0aW9uIDIyCi0KLXJ1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNl
cwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgYXBwZW5k
IHdpdGggZW1wdHkgSUQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FD
Q0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxpZCBJ
RAotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlv
biAxMgotVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLgotR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGEg
c3VjY2Vzc2Z1bCBhcHBlbmQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhf
RVJSOiBET00gRXhjZXB0aW9uIDEyCi1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtaWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyMzc5ZjVjYTcxZjdiNTgwNmZkZTQ5ZjY3NjFiZjA5
NjJlYWEzZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQg
c3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICA8
c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50LWlu
Zm8uanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpzIj48
L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVy
ID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0
V2ViTSk7Ci0gICAgICAgICAgICB2YXIgZGVmYXVsdFNvdXJjZU1pbWV0eXBlID0gc2VnbWVudEhl
bHBlci5zZWdtZW50SW5mby50eXBlOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNl
cHRpb25PbkFkZElkKHZpZGVvVGFnLCBpZCwgdHlwZSwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0
U291cmNlQWRkSWQoaWQsIHR5cGUpOwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhw
ZWN0ZWQgYW4gZXhjZXB0aW9uIik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAg
ICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rp
b24gZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgaWQsIGVycm9yKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKGlkKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRl
c3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9u
ICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCBpZCwgYnVmLCBlcnJv
cikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoaWQsIGJ1Zik7Ci0gICAgICAgICAgICAg
ICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAgICAgICAg
ICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJv
cikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVj
dGVkIGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlb1RhZykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFu
IElEIHdoaWxlIGNsb3NlZC4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFk
ZElkKHZpZGVvVGFnLCAiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24u
SU5WQUxJRF9TVEFURV9FUlIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlv
biB0ZXN0QWRkSWRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQgY2Fz
ZSIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIi
LCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIp
OwotCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRl
ZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgYWRkaW5nIHRoZSBzYW1lIElEIGFnYWluLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERP
TUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcu
d2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IGVtcHR5IHR5cGUuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9u
T25BZGRJZCh2aWRlb1RhZywgIjIzNCIsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1Nf
RVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRl
ZCB0eXBlLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9U
YWcsICIyMzQiLCAiYXVkaW8veC11bnN1cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9U
X1NVUFBPUlRFRF9FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEg
c3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4iKTsKLSAgICAgICAgICAg
ICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgInZpZGVvL3dlYm07
IGNvZGVjcz1cInZwOCwgc3BlZXhcIiIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7
Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVhY2hpbmcgc291cmNlSUQg
bGltaXQuIik7Ci0gICAgICAgICAgICAgICAgdmFyIHJlYWNoZWRJZExpbWl0ID0gZmFsc2U7Ci0K
LSAgICAgICAgICAgICAgICAvLyBUaGUgMjAgaGVyZSBpcyBhbiBhcmJpdHJhcnkgdXBwZXIgbGlt
aXQgdG8gbWFrZSBzdXJlIHRoZSB0ZXN0IHRlcm1pbmF0ZXMuIFRoaXMgdGVzdAotICAgICAgICAg
ICAgICAgIC8vIGFzc3VtZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgd29uJ3Qgc3VwcG9ydCBtb3Jl
IHRoYW4gMjAgc291cmNlSUQncyBzaW11bHRhbmVvdXNseS4KLSAgICAgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IDIwOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJj
ZUlEID0gInNvdXJjZUlELSIgKyBpOwotICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoc291cmNlSUQsIGRl
ZmF1bHRTb3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuY29kZSAhPSBET01FeGNlcHRpb24uUVVPVEFf
RVhDRUVERURfRVJSKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVu
ZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aHJvdyBlOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAg
ICAgcmVhY2hlZElkTGltaXQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
ICAgICBpZiAoIXJlYWNoZWRJZExpbWl0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0
KCJGYWlsZWQgdG8gcmVhY2ggU291cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRlc3QgdGhhdCBTb3VyY2VJRHMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVk
IHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3Ry
ZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0
aW9uT25BZGRJZCh2aWRlb1RhZywgIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhj
ZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0
Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3Zl
RW1wdHlJZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAgICAg
ICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIiIsIERPTUV4Y2VwdGlv
bi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNl
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOb25l
eGlzdGVudElkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5l
dmVyIGFkZGVkLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQo
dmlkZW9UYWcsICIzNDUiLCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAg
ICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gdGVzdFJlbW92ZUFnYWluKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElE
IHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAgICAg
ICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIjEyMyIsIERPTUV4Y2Vw
dGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlSWRBZnRlckVu
ZGVkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYW4gSUQgY2FuIGJlIHJlbW92ZWQgd2hpbGUg
aW4gdGhlIGVuZGVkIHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7
Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwot
Ci0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRJZEFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNl
LCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4i
KTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVm
YXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VSZW1vdmVJZCgiMTIzIik7Ci0KLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAg
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1p
bWV0eXBlKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKLSAgICAgICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFwcGVuZEZhaWx1cmVDYXNlcyhydW5O
ZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZh
ciBpbml0U2VnbWVudCA9IHNlZ21lbnRIZWxwZXIuaW5pdFNlZ21lbnQ7Ci0gICAgICAgICAgICAg
ICAgdmFyIG1lZGlhU2VnbWVudCA9IHNlZ21lbnRIZWxwZXIubWVkaWFTZWdtZW50c1swXTsKLQot
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0
U291cmNlTWltZXR5cGUpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFw
cGVuZCB3aXRoIGVtcHR5IElELiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9u
QXBwZW5kKHZpZGVvVGFnLCAiIiwgaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FD
Q0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3
aXRoIGFuIGludmFsaWQgSUQiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFw
cGVuZCh2aWRlb1RhZywgIjIzNCIsIGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uU1lOVEFYX0VS
Uik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBu
dWxsIGJ1ZmZlci4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2
aWRlb1RhZywgIjEyMyIsIG51bGwsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwot
Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQu
Iik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKCIxMjMiLCBp
bml0U2VnbWVudCk7Ci0KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1v
dmVJZCgiMTIzIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlk
ZW9UYWcsICIxMjMiLCBtZWRpYVNlZ21lbnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQot
ICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGZpbmRNZWRpYUVsZW1lbnQoKTsKLQotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9h
ZHN0YXJ0Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVu
Jyk7Ci0KLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9u
KHN1Y2Nlc3MpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXN1
Y2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9h
ZCBzZWdtZW50IGRhdGEiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RBZGRJZFdoaWxlQ2xv
c2VkKHZpZGVvKTsKLQotICAgICAgICAgICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWwotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZElkRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJlbW92ZUVtcHR5SWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1v
dmVBZ2FpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkSWRBZnRlclJlbW92aW5nLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcywKLSAgICAgICAgICAgICAg
ICAgICAgXTsKLQotICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3Vy
Y2VPcGVuVGVzdGluZyh2aWRlbywgdGVzdENhc2VzKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9u
bG9hZD0ib25Mb2FkKCkiPgotICAgICAgICA8dmlkZW8+IDwvdmlkZW8+Ci0gICAgICAgIDxwPlRl
c3RzIHdlYmtpdFNvdXJjZUFkZElkKCkgJmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRo
b2RzPC9wPgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKaW5kZXggNTVmMjBiYjFjNzhiYzkz
ODQ1MDJmOGE2NTQzMDAwYzFlYzg1N2JlOS4uMmU2YjM0MGY1ODE0MjVjYWY5OGU4OTU0NWRkMjg2
ZjIxZGEyZWJjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWVycm9ycy1leHBlY3RlZC50eHQKQEAgLTIsNDEgKzIsMzYgQEAgVGVzdHMgZXJyb3IgY2FzZXMg
d2l0aCBNZWRpYVNvdXJjZSBBUEkKIAogCiBydW5uaW5nIGRpZE5vdFNlbmRJbml0U2VnbWVudEZp
cnN0Ci1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhcHBl
bmRpbmcgYSBtZWRpYSBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBz
ZWdtZW50LgogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1
bm5pbmcgaW1tZWRpYXRlRGVjb2RlRXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkK
LUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxp
bmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qgc2ln
bmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZF
TlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9T
VVBQT1JURUQKIAogcnVubmluZyBpbW1lZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbQog
RVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4p
Ci1UZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZT
dHJlYW0uCitUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2Uu
ZW5kT2ZTdHJlYW0uCiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1F
RElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGRlY29kZUVycm9yQWZ0ZXJIYXZl
TWV0YWRhdGEKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291
cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQg
dG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJy
b3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVu
b3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVWRU5UKGxvYWRl
ZG1ldGFkYXRhKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJ
QV9FUlJfREVDT0RFCiAKIHJ1bm5pbmcgbmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVW
RU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQot
VGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3Ry
ZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZF
X01FVEFEQVRBIHN0YXRlLgorVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1l
ZGlhU291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEg
dG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEp
CiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ORVRX
T1JLCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKaW5kZXgg
ZmU5Y2VhYWI1NGVhYzAyOTJhYTkzZWUwNThlNWZiYmJjOTIwMGVkZC4uMDlhYWU1NzYyODI4MmRj
ZTY2Zjc5MWM3ODVkYjAyMDQ0ZDJhNTFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1lcnJvcnMuaHRtbApAQCAtMjMsNDYgKzIzLDQ2IEBACiAgICAgICAgICAgICBmdW5j
dGlvbiBkaWROb3RTZW5kSW5pdFNlZ21lbnRGaXJzdChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFn
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBl
bmRpbmcgYSBtZWRpYSBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBz
ZWdtZW50LiIpOwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsK
KyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBpbW1lZGlhdGVEZWNvZGVFcnJvclZpYUVuZE9m
U3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdp
dGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7Ci0gICAgICAgICAgICAgICAgIHZhciB2aWRl
b1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfREVDT0RFX0VSUik7CisgICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdp
dGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0uIik7CisgICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSgiZGVjb2RlIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGlt
bWVkaWF0ZU5ldHdvcmtFcnJvclZpYUVuZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9U
YWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNp
Z25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7
Ci0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQu
RU9TX05FVFdPUktfRVJSKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2ln
bmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4iKTsK
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBmdW5jdGlvbiBkZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1bk5l
eHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0
byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9U
YWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3Vy
Y2VJZCgpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEg
ZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBh
cHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKICAgICAgICAgICAgICAgICBhcHBl
bmRVbnRpbE1ldGFkYXRhTG9hZGVkKHZpZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bShIVE1MTWVkaWFFbGVtZW50LkVPU19ERUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oImRlY29kZSIpOwogICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBuZXR3b3JrRXJyb3JBZnRlckhh
dmVNZXRhZGF0YShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJv
ciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5v
dWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOwotICAgICAgICAg
ICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJl
YW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVf
TUVUQURBVEEgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50
YXJnZXQ7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsK
ICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAg
ICAgICAgICAgICAgYXBwZW5kVW50aWxNZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rpb24o
KQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0
U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTkVUV09SS19FUlIpOworICAg
ICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAg
ICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQogCkBAIC03MCwxMSArNzAsMTAgQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKLSAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnbG9hZGVkbWV0YWRhdGEnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcn
KTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7Cisg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxz
ZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2Vu
ZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAxZTc4NzVjMjE1MTUwZTkwODNhNzQ1YmM5NWQ0Yzlk
NmEzNzIxNDZlLi5lMjdmYWQ5MjVkMmMyMDZlNjcyNWVmOTljZjA5OThkNWE5ZjQyNzkxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBUZXN0IE1lZGlhIFNvdXJj
ZSBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZXMKIAogb25Mb2FkKCkKIG9uU291cmNlT3BlbigpCi1D
YWxsaW5nIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2Vl
bmRlZCBldmVudC4KK0NhbGxpbmcgTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBh
IHdlYmtpdHNvdXJjZWVuZGVkIGV2ZW50Lgogb25Tb3VyY2VFbmRlZCgpCiBTZXR0aW5nIHNyYyBh
dHRyaWJ1dGUgdG8gIiIgdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWNsb3NlZCBldmVudC4KIG9u
U291cmNlQ2xvc2UoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggZmYyZjdjODhiMGZjOTJlOTI3ZThjN2ZlOGRj
ZTE3NzgyNWZkYWRmZS4uNTJjMGFjOWM2MzVkMmUxOTM5M2RlYTJhODM2NDgxNGQxYWI2NDI5MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0
cmlidXRlcy5odG1sCkBAIC0zLDIyICszLDI2IEBACiAgICA8aGVhZD4KICAgICAgICA8c2NyaXB0
IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291
cmNlT3Blbih2aWRlbykKKworICAgICAgICAgICB2YXIgdmlkZW8gPSBudWxsOworICAgICAgICAg
ICB2YXIgbWVkaWFTb3VyY2UgPSBudWxsOworCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNl
T3BlbigpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3Vy
Y2VPcGVuKCkiKTsKLQotICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIHdlYmtp
dFNvdXJjZUVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4i
KTsKLSAgICAgICAgICAgICAgIHZpZGVvLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRp
YUVsZW1lbnQuRU9TX05PX0VSUk9SKTsKKyAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2Fs
bGluZyBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5k
ZWQgZXZlbnQuIik7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwog
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCh2aWRlbykK
KyAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCgpCiAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VFbmRlZCgpIik7CiAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIlNldHRpbmcgc3JjIGF0dHJpYnV0ZSB0byBcIlwiIHRvIHRyaWdnZXIg
YSB3ZWJraXRzb3VyY2VjbG9zZWQgZXZlbnQuIik7CiAgICAgICAgICAgICAgICB2aWRlby5zcmMg
PSAiIjsKKyAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgIGZ1bmN0aW9uIG9uU291cmNlQ2xvc2UodmlkZW8pCisgICAgICAgICAgIGZ1bmN0aW9uIG9u
U291cmNlQ2xvc2UoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
Im9uU291cmNlQ2xvc2UoKSIpOwogICAgICAgICAgICAgICAgZW5kVGVzdCgpOwpAQCAtMjcsMTMg
KzMxLDE3IEBACiAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZChlKQogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uTG9hZCgpIik7Ci0gICAgICAgICAgICAgICB2
YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndicpOwotICAgICAgICAgICAgICAg
dmlkZW8uc3JjID0gdmlkZW8ud2Via2l0TWVkaWFTb3VyY2VVUkw7CisgICAgICAgICAgICAgICB2
aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Jyk7CisgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRl
ZCcsIG9uU291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAg
ICAgIHZpZGVvLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3VyY2UpOwog
ICAgICAgICAgICB9CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBvbmxv
YWQ9Im9uTG9hZCgpIj4KICAgICAgICA8cD5UZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVy
IGF0dHJpYnV0ZXM8L3A+Ci0gICAgICAgPHZpZGVvIGlkPSd2JyBvbndlYmtpdHNvdXJjZW9wZW49
J29uU291cmNlT3Blbih0aGlzKScgb253ZWJraXRzb3VyY2VlbmRlZD0nb25Tb3VyY2VFbmRlZCh0
aGlzKTsnIG9ud2Via2l0c291cmNlY2xvc2U9J29uU291cmNlQ2xvc2UodGhpcyk7Jz48L3ZpZGVv
PgorICAgICAgIDx2aWRlbyBpZD0ndic+PC92aWRlbz4KICAgIDwvYm9keT4KIDwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzA4ZTI2MjhlMDcxNzJlMmQ5YTVmOGU1MDA1MTZkOWI3MmUxNzU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NDIgQEAKK1Rlc3RzIE1lZGlhU291cmNlLCBTb3VyY2VCdWZmZXIsIGFuZCBTb3VyY2VCdWZmZXJM
aXN0IG9iamVjdHMuCisKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IE1lZGlhU291cmNl
IG9iamVjdCB0eXBlCitFWFBFQ1RFRCAobWVkaWFTb3VyY2UgPT0gJ1tvYmplY3QgTWVkaWFTb3Vy
Y2VdJykgT0sKK0VYUEVDVEVEIChtZWRpYVNvdXJjZSBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYVNv
dXJjZSA9PSAndHJ1ZScpIE9LCisKK0FkZCBhIFNvdXJjZUJ1ZmZlcgorRVhQRUNURUQgKG1lZGlh
U291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3RoID09ICcwJykgT0sKK1JVTihzZWdtZW50SGVscGVy
LmFkZFNvdXJjZUJ1ZmZlcigpKQorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMu
bGVuZ3RoID09ICcxJykgT0sKKworVGVzdCBTb3VyY2VCdWZmZXJMaXN0IG9iamVjdCB0eXBlOgor
RVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgPT0gJ1tvYmplY3QgU291cmNlQnVm
ZmVyTGlzdF0nKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgaW5zdGFu
Y2VvZiB3aW5kb3cuU291cmNlQnVmZmVyTGlzdCA9PSAndHJ1ZScpIE9LCisKK1Rlc3QgU291cmNl
QnVmZmVyIG9iamVjdCB0eXBlCitFWFBFQ1RFRCAoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIg
aW5zdGFuY2VvZiB3aW5kb3cuU291cmNlQnVmZmVyID09ICd0cnVlJykgT0sKK0VYUEVDVEVEICht
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdIGluc3RhbmNlb2Ygd2luZG93LlNvdXJjZUJ1ZmZl
ciA9PSAndHJ1ZScpIE9LCisKK0FwcGVuZCBpbml0IHNlZ21lbnQKK0VYUEVDVEVEIChtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxlbmd0aCA9PSAnMCcpIE9LCisKK0FwcGVu
ZCAxIHNlY29uZCBvZiBkYXRhLgorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNb
MF0uYnVmZmVyZWQubGVuZ3RoID09ICcxJykgT0sKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3Vy
Y2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLnN0YXJ0KDApID09ICcwJykgT0sKK0VYUEVDVEVEIChtZWRp
YVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmVuZCgwKSA+ICcxJykgT0sKKworUmVt
b3ZlIFNvdXJjZUJ1ZmZlcgorUlVOKG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdt
ZW50SGVscGVyLnNvdXJjZUJ1ZmZlcikpCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVm
ZmVycy5sZW5ndGggPT0gJzAnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZl
cnMgPT0gJ1tvYmplY3QgU291cmNlQnVmZmVyTGlzdF0nKSBPSworCitUZXN0IHRoYXQgYXBwZW5k
KCkgdGhyb3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLgor
R290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNl
cHRpb24gMTEKK1Rlc3QgdGhhdCBidWZmZXJlZCB0aHJvd3MgYW4gZXJyb3IgYWZ0ZXIgU291cmNl
QnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorRVhQRUNURUQgKG1lZGlhU291cmNl
LnNvdXJjZUJ1ZmZlcnMubGVuZ3RoID09ICcwJykgT0sKK1Rlc3QgdGhhdCBhZGRTb3VyY2VCdWZm
ZXIoKSB0aHJvd3MgYW5kIGVycm9yIHdoZW4gdGhlIE1lZGlhU291cmNlIGlzIG5vdCBhc3NvY2lh
dGVkIHdpdGggYSBtZWRpYSBlbGVtZW50LgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK0VORCBPRiBURVNUCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1vYmplY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
Y2E3OGI5NTJiZTZjNmE1NWJjYjQ0Y2E0YTQ4ZWM4YzQyNzk0MTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2Utb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92
aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNv
dXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3Qu
U2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworCisgICAgICAgICAgICBm
dW5jdGlvbiBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IE1lZGlhU291cmNlIG9iamVjdCB0eXBlIik7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZSIsIGV2ZW50LnRhcmdldCk7CisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZSBpbnN0YW5jZW9mIHdpbmRvdy5N
ZWRpYVNvdXJjZSIsIHRydWUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFkZCBhIFNvdXJjZUJ1ZmZlciIpOworCisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxl
bmd0aCIsIDApOworCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRhZGRzb3VyY2VidWZmZXInLCBvblNvdXJjZUJ1ZmZlckFk
ZGVkKTsKKworICAgICAgICAgICAgICAgIHJ1bigic2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZm
ZXIoKSIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgU291cmNlQnVmZmVyIG9iamVjdCB0eXBlIik7CisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciBpbnN0
YW5jZW9mIHdpbmRvdy5Tb3VyY2VCdWZmZXIiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0gaW5zdGFuY2VvZiB3aW5kb3cu
U291cmNlQnVmZmVyIiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIp
OworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kIGluaXQgc2VnbWVudCIpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1sw
XS5idWZmZXJlZC5sZW5ndGgiLCAwKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFw
cGVuZEluaXRTZWdtZW50KCk7CisKKyAgICAgICAgICAgICAgICAvLyBBcHBlbmQganVzdCBlbm91
Z2ggc2VnbWVudHMgdG8gaW5jbHVkZSBhdCBsZWFzdCAxIHNlY29uZCBvZiBtZWRpYSBkYXRhLgor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJBcHBlbmQgMSBzZWNvbmQgb2YgZGF0YS4iKTsKKyAgICAgICAgICAgICAgICB2YXIg
ZW5kSW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1w
KDEpOworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZEluZGV4OyBpKysp
CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KGkp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVy
c1swXS5idWZmZXJlZC5sZW5ndGgiLCAxKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
Im1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQuc3RhcnQoMCkiLCAwKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0u
YnVmZmVyZWQuZW5kKDApIiwgMSwgJz4nKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJSZW1vdmUgU291cmNlQnVmZmVy
Iik7CisKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmFkZEV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHJlbW92ZXNvdXJjZWJ1ZmZlcicsIG9uU291cmNlQnVmZmVyUmVtb3Zl
ZCk7CisKKyAgICAgICAgICAgICAgICBydW4oIm1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZl
cihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcikiKTsKKworICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiVGVzdCB0aGF0IGFkZFNvdXJjZUJ1ZmZlcigpIHRocm93cyBhbmQgZXJyb3Igd2hl
biB0aGUgTWVkaWFTb3VyY2UgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGVsZW1lbnQu
Iik7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlMiA9IG5ldyBNZWRpYVNvdXJjZSgp
OworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwo
bWVkaWFTb3VyY2UyKTsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlz
LHZwOCInKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUJ1ZmZlckFkZGVkKGV2
ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFT
b3VyY2Uuc291cmNlQnVmZmVycy5sZW5ndGgiLCAxKTsKKworICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IFNvdXJjZUJ1
ZmZlckxpc3Qgb2JqZWN0IHR5cGU6Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJt
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIiwgZXZlbnQudGFyZ2V0KTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgaW5zdGFuY2VvZiB3aW5k
b3cuU291cmNlQnVmZmVyTGlzdCIsIHRydWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBvblNvdXJjZUJ1ZmZlclJlbW92ZWQoZXZlbnQpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxl
bmd0aCIsIDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291
cmNlQnVmZmVycyIsIGV2ZW50LnRhcmdldCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIiIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFwcGVuZCgp
IHRocm93cyBhbiBlcnJvciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKTsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVy
LmFwcGVuZE1lZGlhU2VnbWVudCgwKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAi
ICsgZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUZXN0IHRoYXQgYnVmZmVyZWQgdGhyb3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBo
YXMgYmVlbiByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZChzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5idWZmZXJlZCwg
MCk7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1
ZmZlcnMubGVuZ3RoIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IG9uTG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVu
dCgpOworCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsK
KworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CisgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxz
ZSwgbWVkaWFTb3VyY2UpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291
cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25T
b3VyY2VPcGVuKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywg
ZnVuY3Rpb24oc3VjY2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxl
ZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3Vy
Y2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvKTsKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgorICAgICAgICA8dmlkZW8+IDwvdmlkZW8+CisgICAg
ICAgIDxwPlRlc3RzIE1lZGlhU291cmNlLCBTb3VyY2VCdWZmZXIsIGFuZCBTb3VyY2VCdWZmZXJM
aXN0IG9iamVjdHMuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1w
bGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dAppbmRleCAxOTg4YjcyY2Qy
ZjkxOGYyNGNhODIxZGUxOTE4YjAxMzY0ZWIxY2FjLi41MWEyMDU0MTI1ZGY3OTVhNjIxMzBlNjhl
NDg3NzZkM2M4ZDhjNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLXBsYXktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNSBAQAogVGVzdHMgbm9ybWFsIHBsYXli
YWNrIGNhc2Ugd2l0aCBNZWRpYVNvdXJjZSBBUEkKIAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQo
d2Via2l0c291cmNlb3BlbikKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQocGxheWlu
ZykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDNhYjhl
NDU2ZTE3ODgxYWM1N2U4Y2VmMTg5YjU1N2IzNTFkZjUwYjMuLmQ1Njc5ZWI2M2Y0MTVmZmZjNjAz
NWIxZWExMDE3M2VmYjc5Y2RlMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LXBsYXkuaHRtbApAQCAtOSwyOCArOSwyOSBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNv
dXJjZU9wZW4oZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291
cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2Vn
bWVudCgpOwogCiAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGp1c3QgZW5vdWdoIHNlZ21lbnRz
IHRvIGluY2x1ZGUgYXQgbGVhc3QgMSBzZWNvbmQgb2YgbWVkaWEgZGF0YS4KICAgICAgICAgICAg
ICAgICB2YXIgZW5kSW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9y
VGltZXN0YW1wKDEpOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZElu
ZGV4OyBpKyspCiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFT
ZWdtZW50KGkpOwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VFbmRP
ZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAgICAg
ZXZlbnQudGFyZ2V0LmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGZ1bmN0aW9uIG9uTG9hZCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1l
ZGlhRWxlbWVudCgpOwogCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFT
b3VyY2UoKTsKKwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7
Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNv
dXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBt
ZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKCdlbmRlZCcp
OwogCi0gICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CiAKICAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAg
ICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwK
aW5kZXggZDI0N2VkNWQ0YzU2N2ZiYzExZWJhNTY0YWNkNjI1NWU2Yjk5MWQxYS4uMmRjMWU2NjBj
MTE1YzI5ZTg2NTBiZGE3YzM3YTc0NTRlZjM4Mjk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1t
ZWRpYS1zb3VyY2Utc2Vlay5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgICAgICAgICAg
aWYgKGZpcnN0T3BlbikgewogICAgICAgICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsK
IAotICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwogICAg
ICAgICAgICAgICAgIH0KQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlk
ZW9UYWcgPSBldmVudC50YXJnZXQ7CiAKICAgICAgICAgICAgICAgICAvLyBDYWxsIGFib3J0IHRv
IG1ha2Ugc3VyZSB0aGUgc291cmNlIGJ1ZmZlciBpcyBpbiBhIHN0YXRlIHdoZXJlIGl0IGNhbiBh
Y2NlcHQgbmV3IHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZUFib3J0KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOworICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlLmFib3J0KCk7CiAKICAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IHNlZ21lbnRI
ZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAodmlkZW9UYWcuY3VycmVudFRp
bWUpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVh
bShzdGFydEluZGV4KTsKQEAgLTYwLDEwICs2MCwxMSBAQAogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRB
bmRGYWlsKCdlcnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0
Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0g
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFs
c2UsIG1lZGlhU291cmNlKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNv
dXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dCgnc2Vla2luZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hh
bmdlcy1leHBlY3RlZC50eHQKaW5kZXggYTc5NWQ5OGNkMjg1OWNjMTY5ZWIzYmViNzNiMmFiNWJi
ODIyNjY4MS4uMzc5MDVlMjE1NTc3MmE1ODk1YzRhYjAxM2IyN2E0ZTE3ZTkxMjFjOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFu
Z2VzLWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxMyBAQAogVGVzdHMgTWVkaWFTb3VyY2UgQVBJ
IHN0YXRlIHRyYW5zaXRpb25zLgogCi13ZWJraXRTb3VyY2VTdGF0ZSA6IFNPVVJDRV9DTE9TRUQK
LUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4K
K3dlYmtpdFNvdXJjZVN0YXRlIDogY2xvc2VkCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9w
ZW4KIG9uRmlyc3RTb3VyY2VPcGVuCi1FVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0Vf
RU5ERUQKK0VWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IGVuZGVkCiBvbkZpcnN0U291cmNlRW5k
ZWQKIEVWRU5UKHBsYXlpbmcpCiB0cmlnZ2VyRmlyc3RTZWVrCi1FVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIEVWRU5U
KHNlZWtpbmcpCiBvbkZpcnN0U2Vla2luZwogRVZFTlQoc2Vla2VkKQpAQCAtMTcsMjEgKzE2LDE5
IEBAIEVWRU5UKHNlZWtpbmcpCiBvblNlY29uZFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKIG9uU2Vj
b25kU2Vla2VkCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECitFVkVO
VCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uRmlyc3RTb3VyY2VDbG9zZQogRVZFTlQo
ZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09V
UkNFX09QRU4KK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25TZWNvbmRTb3VyY2VP
cGVuCi1FVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQKK0VWRU5UKHdlYmtp
dHNvdXJjZWVuZGVkKSA6IGVuZGVkCiBvblNlY29uZFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5n
KQogdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBT
T1VSQ0VfQ0xPU0VECitFVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uU2Vjb25k
U291cmNlQ2xvc2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJr
aXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9w
ZW4KIG9uVGhpcmRTb3VyY2VPcGVuCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3Rh
dGUtY2hhbmdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAppbmRleCA5YTU0ZGNkN2Zh
NDY5ZTYwOTE5ZTViNjRkZTBhZDExOTE0ZmFmYjRiLi5mMjZjZDUyODA4MDU2NmYyOGI0MjczYTA2
NzMwYjEwZTEwNGM4OGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgICAgICB2YXIg
c2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2Vn
bWVudEluZm8udGVzdFdlYk0pOwogICAgICAgICAgICAgdmFyIHNlZWtUaW1lOwogCi0gICAgICAg
ICAgICBmdW5jdGlvbiBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgc2VnbWVu
dFNlZWtUaW1lKQorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNl
ZWsoc2VnbWVudFNlZWtUaW1lKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciBp
bmRleCA9IHNlZ21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoc2Vn
bWVudFNlZWtUaW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5kSW5kZXggPSBpbmRleCArIDI7
CkBAIC0xOSwxNCArMTksMTQgQEAKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAg
ICBpZiAoaW5kZXggPj0gdG90YWxNZWRpYVNlZ21lbnRzKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05P
X0VSUk9SKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFdmVudChldmVudCkKICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50
eXBlICsgJykgOiAnICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShldmVudC50
YXJnZXQud2Via2l0U291cmNlU3RhdGUpKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
J0VWRU5UKCcgKyBldmVudC50eXBlICsgJykgOiAnICsgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3Bl
bihldmVudCkKQEAgLTM2LDE3ICszNiwxNyBAQAogICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMg
dGhlIGZpcnN0IHRpbWUgdGhlIHNvdXJjZSBpcyBvcGVuZWQuIFdlIGp1c3Qgd2FudCB0byBhcHBl
bmQKICAgICAgICAgICAgICAgICAvLyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBhbmQgYWxs
IG1lZGlhIHNlZ21lbnRzIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLgogICAgICAgICAgICAgICAg
IC8vIFRoaXMgaXMgdGVzdGluZyB0aGUKLSAgICAgICAgICAgICAgICAvLyBTT1VSQ0VfQ0xPU0VE
IC0+IFNPVVJDRV9PUEVOIC0+IFNPVVJDRV9FTkRFRCB0cmFuc2l0aW9uIHBhdGguCisgICAgICAg
ICAgICAgICAgLy8gImNsb3NlZCIgLT4gIm9wZW4iIC0+ICJlbmRlZCIgdHJhbnNpdGlvbiBwYXRo
LgogCi0gICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4n
LCBvbkZpcnN0U291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRT
b3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdl
dDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21l
bnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJj
ZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNF
X09QRU4pOworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0
ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YXBwZW5kSW5pdFNlZ21lbnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRl
ZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBhcHBl
bmRpbmcgbWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBl
bmRVbnRpbEVuZE9mU3RyZWFtKDApOwpAQCAtNTUsMTIgKzU1LDEzIEBACiAgICAgICAgICAgICBm
dW5jdGlvbiBvbkZpcnN0U291cmNlRW5kZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJvbkZpcnN0U291cmNlRW5kZWQiKTsKLSAgICAgICAgICAg
ICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9U
YWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNl
RW5kZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0
YXRlKHZpZGVvVGFnLCB2aWRlb1RhZy5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIHZh
ciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJj
ZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VF
bmRlZCk7CisKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3Rh
dGUobWVkaWFTb3VyY2UsICJlbmRlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRk
RXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOworICAgICAgICAgICAg
ICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlckZpcnN0U2Vlayhl
dmVudCkKQEAgLTcxLDcgKzcyLDcgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVF
dmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAKICAgICAgICAgICAg
ICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIGFwcGVuZGVkIGFsbCBvZiB0aGUgbWVkaWEgc2VnbWVu
dHMgYW5kIGVuZGVkIHRoZSBzdHJlYW0sCi0gICAgICAgICAgICAgICAgLy8gbGV0cyBkbyBhIHNl
ZWsgdG8gdGVzdCB0aGUgU09VUkNFX0VOREVEIC0+IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24uCisg
ICAgICAgICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVzdCB0aGUgImVuZGVkIiAtPiAi
b3BlbiIgdHJhbnNpdGlvbi4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCdzZWVraW5nJywgb25GaXJzdFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFn
LmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC04NCwxMCArODUsMTAgQEAK
ICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVr
aW5nKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0
ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAg
ICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIp
OwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgot
ICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLCB2aWRl
b1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0Zv
clNlZWsodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICBmdW5jdGlvbiBvbkZpcnN0U2Vla2VkKGV2ZW50KQpAQCAtOTcsOSArOTgsOSBAQAogICAgICAg
ICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2
aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKIAot
ICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1Rh
ZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAg
ICAgICAgICAgICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdoaWxlIHN0aWxs
IGluIFNPVVJDRV9PUEVOLgorICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBpcyB0aW1lIHRvIHRl
c3Qgc2Vla2luZyB3aGlsZSBzdGlsbCBpbiAib3BlbiIuCiAgICAgICAgICAgICAgICAgdmlkZW9U
YWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25kU2Vla2luZyk7CiAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVr
ZWQpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBA
IC0xMTIsMjIgKzExMywyMyBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdz
ZWVraW5nJywgb25TZWNvbmRTZWVraW5nKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNl
VGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0Vf
T1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5k
aW5nIG1lZGlhIHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNG
b3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAg
YXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU2Vla2Vk
Iik7CisKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAg
ICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNv
bmRTZWVrZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJj
ZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJv
cGVuIik7CiAKLSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9PUEVOIC0+IFNPVVJDRV9D
TE9TRUQgLT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJj
ZUNsb3NlKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJvcGVuIiAtPiAiY2xvc2VkIiAtPiAi
b3BlbiIgdHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKICAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwo
dmlkZW9UYWcpOwogICAgICAgICAgICAgfQogCkBAIC0xMzUsMjcgKzEzNywyNyBAQAogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25GaXJzdFNvdXJjZUNsb3Nl
Iik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAg
ICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xv
c2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJj
ZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAKLSAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcs
IEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiY2xvc2VkIik7CiAKLSAg
ICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
Jywgb25TZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRF
dmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VPcGVuKGV2
ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNv
bmRTb3VyY2VPcGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50
YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Vi
a2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJj
ZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCi0gICAgICAgICAg
ICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVk
aWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Qu
ZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB2
aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291
cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAg
ICAgICAvLyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwpAQCAtMTY1LDEzICsxNjcs
MTMgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vj
b25kU291cmNlRW5kZWQiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOworICAgICAgICAgICAgICAg
IHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291
cmNlRW5kZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJj
ZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9FTkRFRCk7CisgICAgICAg
ICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAi
ZW5kZWQiKTsKICAgICAgICAgICAgICAgICAvL01lZGlhU291cmNlVGVzdC5leHBlY3RSZWFkeVN0
YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LkhBVkVfTk9USElORyk7CiAKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29u
ZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdw
bGF5aW5nJywgdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQpAQCAtMTgx
LDggKzE4Myw4IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0
OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcn
LCB0cmlnZ2VyU2Vjb25kU291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgLy8gVGVzdCBT
T1VSQ0VfRU5ERUQgLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uIHBh
dGguCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0
ICJlbmRlZCIgLT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAg
ICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScs
IG9uU2Vjb25kU291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5z
ZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKQEAg
LTE5MCwyMiArMTkyLDIyIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJvblNlY29uZFNvdXJjZUNsb3NlIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlk
ZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKLSAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcs
IEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1l
ZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9z
ZSk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1l
ZGlhU291cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4n
LCBvblRoaXJkU291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0
aW9uIG9uVGhpcmRTb3VyY2VPcGVuKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgib25UaGlyZFNvdXJjZU9wZW4iKTsKIAotICAgICAgICAgICAgICAg
IHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5y
ZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4p
OwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAg
ICAgICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhp
cmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1
ZmZlcigpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0
YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAg
ICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVu
Iik7CiAKICAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CkBAIC0yMTQs
MjEgKzIxNiwyMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVs
ZW1lbnQoKTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNl
KCk7CisKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdz
ZWVraW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdlbXB0aWVkJyk7CiAKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAg
dmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50
KTsKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2Vj
bG9zZScsIG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAg
ICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcs
IG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VFdmVudCk7CiAKLSAgICAgICAgICAg
ICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNv
dXJjZU9wZW4pOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CiAKLSAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUodmlkZW8pOworICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSk7CiAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5YjBmYmZh
NzVmZGM0NTYxODkyOGYwZWIwNDI5YTg0OTgyMjU4NThiLi40Njg3Njg5YWQ1YmMzOTUwNTM3YmNj
ZTE1ZTQ0YTUyZGE4YmRmZjMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0NTUsNyArMzQ1NSw4IEBAIEJVR1dLODU5NTIgOiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sID0g
UEFTUyBUCiBCVUdXSzg1OTUyIDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXNlZWsuaHRtbCA9IFBBU1MgVEVYVCBUSU1FT1VUCiBCVUdXSzg1OTUyIDog
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNo
YW5nZXMuaHRtbCA9IFBBU1MgVElNRU9VVCBURVhUIENSQVNICiAKLUJVR1dLODg5NDkgOiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1v
dmUtaWRzLmh0bWwgPSBQQVNTIFRFWFQgQ1JBU0gKK0JVR1dLODg5NDkgOiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVy
cy5odG1sID0gUEFTUyBURVhUIENSQVNICitCVUdXSzg4OTQ5IDogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMuaHRtbCA9IFBBU1MgVEVYVCBD
UkFTSAogCiAvLyBTdGFydGVkIGZsYWtpbmcgYXQgYXJvdW5kIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzExNjI3OC4KIEJVR1dLODU5NTAgTElOVVggREVCVUcgOiBjb21wb3NpdGlu
Zy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNmb3JtZWQtb3ZlcmZsb3cuaHRtbCA9
IFBBU1MgVEVYVAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153550</attachid>
            <date>2012-07-20 11:30:14 -0700</date>
            <delta_ts>2012-07-20 11:30:33 -0700</delta_ts>
            <desc>testing windows build</desc>
            <filename>bug-90819-20120720113009.patch</filename>
            <type>text/plain</type>
            <size>168611</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGExOGJjZmFmZWJmMzhh
MWFlYTNmNTYzNDVlOTE5N2VlYmIwMWJjMC4uM2IzODJhZTI0Mjg2ODUwZWJjOTBlYjVjZWU2MzI1
YzE2M2U0MDM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyOSBAQAorMjAxMi0wNy0yMCAgQW5u
YSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXBkYXRlIE1lZGlh
IFNvdXJjZSB0byB0aGUgbmV3IE9PIGRlc2lnbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqKiogTm90IGJvdGhlcmluZyB0byBjbGVhbiB1cCBDaGFuZ2VM
b2cgYmVjYXVzZSBwYXRjaCBpcyBub3QgZm9yIHJldmlldy4KKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVt
b3ZlLWJ1ZmZlcnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMuaHRtbAorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpNZWRpYVNvdXJjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNvdXJjZTo6c291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6YWN0aXZlU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpyZW1v
dmVTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnJlYWR5U3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnNldFJlYWR5U3RhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmVuZE9mU3RyZWFtKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU291cmNlOjpidWZmZXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphYm9ydCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZTo6ZXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU291cmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2UuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKE1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpvcGVuS2V5
d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZW5kZWRLZXl3b3JkKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlOjp+TWVkaWFTb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTb3VyY2U6OnNldE1lZGlhUGxheWVyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VSZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU291cmNl
VVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUmVnaXN0cnk6Omxvb2t1cE1lZGlh
U291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKE1lZGlhU291cmNlUmVn
aXN0cnkpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
cjo6U291cmNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6flNvdXJj
ZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmJ1ZmZlcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlcjo6YWJvcnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTb3VyY2VC
dWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjppZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXI6OmNsZWFyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXJMaXN0OjpTb3VyY2VCdWZmZXJMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJM
aXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0OjpyZW1vdmUpOgorICAgICAgICAoV2Vi
Q29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNl
QnVmZmVyTGlzdDo6Y3JlYXRlQW5kRmlyZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlckxpc3Q6OmludGVyZmFjZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyTGlzdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJMaXN0OjpldmVudFRhcmdldERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNl
QnVmZmVyTGlzdDo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFNvdXJjZUJ1ZmZlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6On5T
b3VyY2VCdWZmZXJMaXN0KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlckxpc3QuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovY29weUZv
cndhcmRpbmdIZWFkZXJzLmNtZDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVVSTDo6Y3JlYXRl
T2JqZWN0VVJMKToKKyAgICAgICAgKiBodG1sL0RPTVVSTC5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChET01VUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnByZXBhcmVGb3JMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpu
b25lU3VwcG9ydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlh
RW5naW5lRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJTb3VyY2VPcGVuZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
bWVkaWFQbGF5ZXJTb3VyY2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VT
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1c2VyQ2FuY2VsbGVk
TG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBs
YXllcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1M
TWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMi0wNy0yMCAgTmljbyBXZWJlciAgPHRo
YWtpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IG1vcmUgLVd1bnVzZWQtcHJpdmF0ZS1m
aWVsZCB2aW9sYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTlj
ZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLmJmZjJmNjBlNWJkYzBiYTEzNjlkMzNlMzJjYTNmODMy
YWE1NjI2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAsMjMgQEAgU0VU
KFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcAogKQogCitJRiAoRU5BQkxFX01FRElBX1NPVVJDRSkKKyAgICBMSVNUKEFQUEVORCBXZWJD
b3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
bWVkaWFzb3VyY2UiCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisg
ICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCisgICAgICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAorICAgICAgICBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCisgICAgKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUworICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorICAg
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisgICAgICAg
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorICAgICAgICBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCisgICAgKQorRU5ESUYoKQorCiAjIE1vZHVs
ZXMgdGhhdCB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIHNjcmlwdHMgbWF5IHVzZQogU0VUKFNDUklQ
VFNfUkVTT0xWRV9TVVBQTEVNRU5UQUwKICAgICAke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9zY3Jp
cHRzL0lETFBhcnNlci5wbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDcyODdkOWNi
YjI3NmUzMTczYTIwY2M0NWU3ZTY1Nzc4M2VlZmVjZWYuLmY4YjNkOTczMDUwNTNjMzE3YmEzOWMx
MzhmYzEzNjY4YjMyM2E0NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTIzNiw2
ICsyMzYsOSBAQAogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNNZWRp
YUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3QuY3BwIgorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiSlNNZWRpYVNvdXJjZS5jcHAiCisjZW5kaWYKICNpbmNs
dWRlICJKU01lbW9yeUluZm8uY3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuY3BwIgog
I2luY2x1ZGUgIkpTTWVzc2FnZUV2ZW50LmNwcCIKQEAgLTI3OSw2ICsyODIsMTAgQEAKICNpbmNs
dWRlICJKU1NoYWRvd1Jvb3QuY3BwIgogI2luY2x1ZGUgIkpTU2hhcmVkV29ya2VyLmNwcCIKICNp
bmNsdWRlICJKU1NoYXJlZFdvcmtlckNvbnRleHQuY3BwIgorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiSlNTb3VyY2VCdWZmZXIuY3BwIgorI2luY2x1ZGUgIkpTU291cmNlQnVm
ZmVyTGlzdC5jcHAiCisjZW5kaWYKICNpbmNsdWRlICJKU1NRTEVycm9yLmNwcCIKICNpbmNsdWRl
ICJKU1NRTEV4Y2VwdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNTUUxSZXN1bHRTZXQuY3BwIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzY3MDczZTdkMjdiYzE3NThjN2U2NGI2NjU2
ZWQ0ZWRmZTBkNTVlMi4uYmE4MTljZDM3YWQ2YzZkZTk1MzUwZDIwZDlmZDVmZmM3NDIxMGZmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMSw2ICszMSw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKQEAgLTEwNSw2ICsxMDYsOSBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hh
bmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNp
b25DaGFuZ2VSZXF1ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9X
b3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXApAQCAtOTQzLDYg
Kzk0Nyw3IEBAIElETF9JTkNMVURFUyA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXAogICAg
ICQoV2ViQ29yZSkvaHRtbCBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMgXAogICAgICQoV2ViQ29yZSkvcGFnZSBcCiAgICAgJChXZWJDb3JlKS94bWwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDJjMjljOGY1MmE2MjgwNWZhYzU2NDk3MDY0NTE4M2E3
MDI2NzFhZTQuLmNmYjQ4MTc5NTllMjY5YTVmNjk0ZTY0YWVhY2Y3ZDc0ZThiNWRlNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTYxOCw2ICs2MTgsMTMgQEAgY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKICAgICAkJFBXRC9odG1sL3RyYWNrL1RyYWNr
RXZlbnQuaWRsIFwKIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0x
KSB7CisgIElETF9CSU5ESU5HUyArPSBcCisgICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5pZGwgXAorICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmlkbCBcCisgICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmlkbAorfQorCiBtYXRobWxuYW1lcy5vdXRwdXQgPSBNYXRoTUxOYW1lcy5jcHAKIG1hdGhtbG5h
bWVzLmlucHV0ID0gTUFUSE1MX05BTUVTCiBtYXRobWxuYW1lcy5kZXBlbmRzID0gJCRQV0QvbWF0
aG1sL21hdGhhdHRycy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhYTEwMmM4YzE1N2U5M2Zi
NGVmMTMxNDMwMDkwNjdlZjhiYjY1YjNiLi44ZTRkNDU5NTg3YjA3Y2YwNzY0YmY3YThhMWM4YzY0
OTQ2OGNlNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTUsNiArMTUsNyBAQCB3ZWJjb3Jl
X2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24gXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiIFwKKwktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlIFwKIAktSSQoc3JjZGlyKS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyIFwKQEAgLTg4MSw2ICs4ODIsNyBAQCBJRExfUEFU
SCA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9nZW9sb2NhdGlvbiBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25z
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXApAQCAtMTA0OSw2ICsxMDUxLDcg
QEAgRVhUUkFfRElTVCArPSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9nYW1lcGFkLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIp
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiLyouaWRsKSBcCisJJChzaGVsbCBscyAk
KHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS8qLmlkbCkgXAogCSQo
c2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vKi5p
ZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3RvY29saGFuZGxlci8qLmlkbCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggM2ViOTQzOTkxZDdlZjM3YzJjMDk0YWEzNzI4MDAwNzczMmY5OTA0OC4uNjNmM2Jk
ZDY5NjE2NjIxNmI1ZWRmN2Y3Y2VhMTI5YzNiNjFlZmZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0zODMsNiArMzgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01lZGlhU3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbUV2
ZW50LmNwcCBcCkBAIC01MDMsNiArNTA1LDEwIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NoYXJlZFdvcmtlci5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU2lnbmFsaW5nQ2FsbGJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU2lnbmFsaW5nQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1NvdXJjZUJ1ZmZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTb3VyY2VCdWZm
ZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NvdXJjZUJ1ZmZlckxpc3QuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyTGlzdC5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTU3BlZWNoSW5wdXRFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNTcGVlY2hJbnB1dEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTcGVlY2hJbnB1dFJlc3VsdC5jcHAgXApAQCAtNjkyLDYgKzY5OCw5IEBAIGRvbV9iaW5kaW5n
X2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxi
YWNrLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3Iu
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxi
YWNrLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlk
bCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAor
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVh
bS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwg
XApAQCAtMTE1OSw2ICsxMTY4LDE0IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdlR3JvdXBJbmRleGVkRGF0YWJhc2Uu
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4
ZWREYXRhYmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtl
ckNvbnRleHRJbmRleGVkRGF0YWJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2UuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ2YjEzMjRlMjI4ZDY5YWIwY2YxYjg3ODI0ZjgwZDRjZjFjMGE0MwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
Y3BwCkBAIC0wLDAgKzEsMjg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlh
U291cmNlLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiQ29udGVu
dFR5cGUuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKKyNp
bmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NS
ZWZQdHI8TWVkaWFTb3VyY2U+IE1lZGlhU291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU291cmNlKGNv
bnRleHQpKTsKK30KKworTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0
KQorICAgICwgbV9yZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkKKyAgICAsIG1fcGxheWVyKDAp
CisgICAgLCBtX25leHRTb3VyY2VCdWZmZXJJZCgwKQoreworICAgIG1fc291cmNlQnVmZmVycyA9
IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAg
IG1fYWN0aXZlU291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpOworfQorCitTb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6
c291cmNlQnVmZmVycygpCit7CisgICAgcmV0dXJuIG1fc291cmNlQnVmZmVycy5nZXQoKTsKK30K
KworU291cmNlQnVmZmVyTGlzdCogTWVkaWFTb3VyY2U6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKQor
eworICAgIC8vIEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24KKyAgICByZXR1
cm4gbV9hY3RpdmVTb3VyY2VCdWZmZXJzLmdldCgpOworfQorCitTb3VyY2VCdWZmZXIqIE1lZGlh
U291cmNlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3
LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tYWRkc291cmNlYnVm
ZmVyCisgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4g
SU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKKyAgICAvLyBhYm9ydCB0aGVzZSBzdGVw
cy4KKyAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgeworICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
Ly8gMi4gSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQg
Li4uLCB0aGVuIHRocm93IGEKKyAgICAvLyBOT1RfU1VQUE9SVEVEX0VSUiBleGNlcHRpb24gYW5k
IGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOwor
ICAgIFZlY3RvcjxTdHJpbmc+IGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOworCisgICAg
aWYgKCFjb2RlY3Muc2l6ZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKKyAgICAvLyA0LiBJZiB0aGUgcmVhZHlTdGF0
ZSBhdHRyaWJ1dGUgaXMgbm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAg
IC8vIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisg
ICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisK
KyAgICAvLyA1LiBDcmVhdGUgYSBuZXcgU291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRl
ZCByZXNvdXJjZXMuCisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVm
ZmVyOjpjcmVhdGUoU3RyaW5nOjpudW1iZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMp
OworCisgICAgc3dpdGNoIChtX3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250
ZW50VHlwZS50eXBlKCksIGNvZGVjcykpIHsKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKKyAg
ICAgICAgLy8gNi4gQWRkIHRoZSBuZXcgb2JqZWN0IHRvIHNvdXJjZUJ1ZmZlcnMgYW5kIGZpcmUg
YSBhZGRzb3VyY2VidWZmZXIgb24gdGhhdCBvYmplY3QuCisgICAgICAgIG1fc291cmNlQnVmZmVy
cy0+YWRkKGJ1ZmZlcik7CisgICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+YWRkKGJ1ZmZl
cik7CisgICAgICAgIC8vIDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgor
ICAgICAgICByZXR1cm4gYnVmZmVyLmdldCgpOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1
cHBvcnRlZDoKKyAgICAgICAgLy8gMiAoY29udCkuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5
cGUgLi4uIHRoYXQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcyAKKyAgICAgICAgLy8g
c3BlY2lmaWVkIGZvciB0aGUgb3RoZXIgU291cmNlQnVmZmVyIG9iamVjdHMgaW4gc291cmNlQnVm
ZmVycywgdGhlbiB0aHJvdworICAgICAgICAvLyBhIE5PVF9TVVBQT1JURURfRVJSIGV4Y2VwdGlv
biBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7
CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0
OgorICAgICAgICAvLyAzIChjb250KS4gSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFu
eSBtb3JlIFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cgCisgICAgICAgIC8vIGEgUVVP
VEFfRVhDRUVERURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAg
IGVjID0gUVVPVEFfRVhDRUVERURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBNZWRpYVNv
dXJjZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tcmVtb3Zlc291
cmNlYnVmZmVyCisgICAgLy8gMS4gSWYgc291cmNlQnVmZmVyIGlzIG51bGwgdGhlbiB0aHJvdyBh
biBJTlZBTElEX0FDQ0VTU19FUlIgZXhjZXB0aW9uIGFuZAorICAgIC8vIGFib3J0IHRoZXNlIHN0
ZXBzLgorICAgIGlmICghYnVmZmVyKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMi4gSWYgc291cmNlQnVmZmVycyBp
cyBlbXB0eSB0aGVuIHRocm93IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQKKyAg
ICAvLyBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3NvdXJjZUJ1
ZmZlcnMtPmxlbmd0aCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyAzLiBJZiBzb3VyY2VCdWZmZXIgc3BlY2lmaWVz
IGFuIG9iamVjdCB0aGF0IGlzIG5vdCBpbiBzb3VyY2VCdWZmZXJzIHRoZW4KKyAgICAvLyB0aHJv
dyBhIE5PVF9GT1VORF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICAv
LyA2LiBSZW1vdmUgc291cmNlQnVmZmVyIGZyb20gc291cmNlQnVmZmVycyBhbmQgZmlyZSBhIHJl
bW92ZXNvdXJjZWJ1ZmZlciBldmVudCBvbiB0aGF0IG9iamVjdC4KKyAgICBpZiAoIW1fc291cmNl
QnVmZmVycy0+cmVtb3ZlKGJ1ZmZlcikpIHsKKyAgICAgICAgZWMgPSBOT1RfRk9VTkRfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gNy4gRGVzdHJveSBhbGwgcmVzb3VyY2Vz
IGZvciBzb3VyY2VCdWZmZXIuCisgICAgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLT5yZW1vdmUoYnVm
ZmVyKTsKKyAgICBtX3BsYXllci0+c291cmNlUmVtb3ZlSWQoYnVmZmVyLT5pZCgpKTsKKworICAg
IC8vIDQuIFJlbW92ZSB0cmFjayBpbmZvcm1hdGlvbiBmcm9tIGF1ZGlvVHJhY2tzLCB2aWRlb1Ry
YWNrcywgYW5kIHRleHRUcmFja3MgZm9yIGFsbCB0cmFja3MgYXNzb2NpYXRlZCB3aXRoIHNvdXJj
ZUJ1ZmZlciBhbmQgZmlyZSBhIHNpbXBsZSBldmVudCBuYW1lZCBjaGFuZ2Ugb24gdGhlIG1vZGlm
aWVkIGxpc3RzLgorICAgIC8vIEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24K
KworICAgIC8vIDUuIElmIHNvdXJjZUJ1ZmZlciBpcyBpbiBhY3RpdmVTb3VyY2VCdWZmZXJzLCB0
aGVuIHJlbW92ZSBpdCBmcm9tIHRoYXQgbGlzdCBhbmQgZmlyZSBhIHJlbW92ZXNvdXJjZWJ1ZmZl
ciBldmVudCBvbiB0aGF0IG9iamVjdC4KKyAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJh
Y2sgc2VsZWN0aW9uCit9CisKK2NvbnN0IFN0cmluZyYgTWVkaWFTb3VyY2U6OnJlYWR5U3RhdGUo
KSBjb25zdAoreworICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Cit9CisKK3ZvaWQgTWVkaWFTb3Vy
Y2U6OnNldFJlYWR5U3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKK3sKKyAgICBBU1NFUlQoc3Rh
dGUgPT0gb3BlbktleXdvcmQoKSB8fCBzdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkgfHwgc3RhdGUg
PT0gZW5kZWRLZXl3b3JkKCkpOworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gc3RhdGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIFN0cmluZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBt
X3JlYWR5U3RhdGUgPSBzdGF0ZTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5
d29yZCgpKSB7CisgICAgICAgIG1fc291cmNlQnVmZmVycy0+Y2xlYXIoKTsKKyAgICAgICAgbV9h
Y3RpdmVTb3VyY2VCdWZmZXJzLT5jbGVhcigpOworICAgICAgICBtX3BsYXllciA9IDA7CisgICAg
ICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0c291cmNl
Y2xvc2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
CisgICAgaWYgKG9sZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0YXRlID09IGVu
ZGVkS2V5d29yZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IG9wZW5LZXl3b3JkKCkp
IHsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJr
aXRzb3VyY2VvcGVuRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorfQorCit2b2lkIE1lZGlhU291cmNlOjplbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVycm9y
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hn
L2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNk
b20tZW5kb2ZzdHJlYW0KKyAgICAvLyAxLiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgaXMg
bm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgorICAgIC8vIElOVkFMSURfU1RB
VEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKCFtX3BsYXll
ciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgICAgICBlYyA9IElOVkFM
SURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6
OkVuZE9mU3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwor
CisgICAgaWYgKGVycm9yLmlzTnVsbCgpIHx8IGVycm9yLmlzRW1wdHkoKSkKKyAgICAgICAgZW9z
U3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7CisgICAgZWxzZSBpZiAoZXJyb3IgPT0g
Im5ldHdvcmsiKQorICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0d29ya0Vy
cm9yOworICAgIGVsc2UgaWYgKGVycm9yID09ICJkZWNvZGUiKQorICAgICAgICBlb3NTdGF0dXMg
PSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gMi4g
Q2hhbmdlIHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0ZSB2YWx1ZSB0byAiZW5kZWQiLgorICAgIHNl
dFJlYWR5U3RhdGUoZW5kZWRLZXl3b3JkKCkpOworICAgIG1fcGxheWVyLT5zb3VyY2VFbmRPZlN0
cmVhbShlb3NTdGF0dXMpOworfQorCitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IE1lZGlhU291cmNl
OjpidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sK
KyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIG1fcGxheWVyLT5zb3VyY2VCdWZmZXJlZChpZCk7Cit9CisKK3ZvaWQg
TWVkaWFTb3VyY2U6OmFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJy
YXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZGF0YS5nZXQoKSkgewor
ICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmICghZGF0YS0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9wbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5ndGgoKSkp
IHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorfQor
Cit2b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29y
ZCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNl
OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvck1lZGlhU291cmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBNZWRpYVNv
dXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK0V2
ZW50VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0
dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBNZWRpYVNvdXJj
ZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXRE
YXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
MWQ2ZDNhMDg3YzFmY2MxZTExNTY1NTNiZjFhNTRjZDBhZTgzMjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTAs
MCArMSwxMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE1lZGlhU291cmNlX2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VfaAor
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VC
dWZmZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVNvdXJjZSA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJs
aWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25z
dCBTdHJpbmcmIG9wZW5LZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBvcGVuLCAoIm9wZW4iKSk7CisgICAgICAgIHJldHVybiBvcGVuOwor
ICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIGNsb3NlZEtleXdvcmQoKQorICAgIHsK
KyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJjbG9z
ZWQiKSk7CisgICAgICAgIHJldHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgZW5kZWRLZXl3b3JkKCkKKyAgICB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBlbmRlZCwgKCJlbmRlZCIpKTsKKyAgICAgICAgcmV0dXJuIGVuZGVk
OworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlKCkgeyB9CisK
KyAgICBTb3VyY2VCdWZmZXJMaXN0KiBzb3VyY2VCdWZmZXJzKCk7CisgICAgU291cmNlQnVmZmVy
TGlzdCogYWN0aXZlU291cmNlQnVmZmVycygpOworCisgICAgU291cmNlQnVmZmVyKiBhZGRTb3Vy
Y2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBy
ZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyKiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAg
Y29uc3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSZWFkeVN0YXRl
KGNvbnN0IFN0cmluZyYpOworCisgICAgdm9pZCBlbmRPZlN0cmVhbShjb25zdCBTdHJpbmcmIGVy
cm9yLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICB2b2lkIHNldE1lZGlhUGxheWVyKE1lZGlhUGxh
eWVyKiBwbGF5ZXIpIHsgbV9wbGF5ZXIgPSBwbGF5ZXI7IH0KKyAgICAKKyAgICBQYXNzUmVmUHRy
PFRpbWVSYW5nZXM+IGJ1ZmZlcmVkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKKyAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4
QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFib3J0KGNvbnN0IFN0cmlu
ZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQor
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlh
U291cmNlPjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+OjpkZXJlZjsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CisKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSgpIE9WRVJSSURFOworCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZF
UlJJREUgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZF
UlJJREUgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERh
dGE7CisKKyAgICBTdHJpbmcgbV9yZWFkeVN0YXRlOworICAgIE1lZGlhUGxheWVyKiBtX3BsYXll
cjsgLy8gPC0tIHNob3VsZCB0aGlzIGJlIGEgUmVmUHRyPworCisgICAgUmVmUHRyPFNvdXJjZUJ1
ZmZlckxpc3Q+IG1fc291cmNlQnVmZmVyczsKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4g
bV9hY3RpdmVTb3VyY2VCdWZmZXJzOworICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjVmN2RlYzFiYmQ1Yjk3NzZiOGNkOGI3NjA0NjdkMDMxNGJhNmRiNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRs
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworIAorbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9
bWVkaWFTb3VyY2UsCisgICAgICAgIEV2ZW50VGFyZ2V0LAorICAgICAgICBDb25zdHJ1Y3RvciwK
KyAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgIF0gTWVkaWFTb3Vy
Y2UgeworICAgICAgICAvLyBBbGwgdGhlIHNvdXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBv
YmplY3QuCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJj
ZUJ1ZmZlcnM7CisKKyAgICAgICAgLy8gU3Vic2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92
aWRlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZC9lbmFibGVkIHRyYWNrcy4KKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxpc3QgYWN0aXZlU291cmNlQnVmZmVyczsKKworICAg
ICAgICBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKGluIERPTVN0cmluZyB0eXBlKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKGluIFNv
dXJjZUJ1ZmZlciBidWZmZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlYWR5U3RhdGU7CisgICAgICAgIAorICAgICAgICB2
b2lkIGVuZE9mU3RyZWFtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJp
bmcgZXJyb3IpCisgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIAor
ICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVF
dmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAg
Ym9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQorICAgICAgICAgICAgcmFpc2Vz
KEV2ZW50RXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZmQ0MDAxNzE5ZTEwOWI0YjBmZjAyNmUzYTFmMWY1NmE4Yzc2NmI0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJl
Z2lzdHJ5LmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik1lZGlhU291cmNlUmVnaXN0cnkuaCIKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhU291cmNlUmVnaXN0
cnkmIE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKK3sKKyAgICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU291cmNlUmVnaXN0
cnksIGluc3RhbmNlLCAoKSk7CisgICAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK3ZvaWQgTWVk
aWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJiB1cmws
IFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgIG1fbWVkaWFTb3VyY2VzLnNldCh1cmwuc3RyaW5nKCksIHNvdXJjZSk7Cit9
CisKK3ZvaWQgTWVkaWFTb3VyY2VSZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU291cmNlVVJMKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fbWVk
aWFTb3VyY2VzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitNZWRpYVNvdXJjZSogTWVkaWFT
b3VyY2VSZWdpc3RyeTo6bG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpCit7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZXMuZ2V0
KHVybCkuZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVn
aXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VS
ZWdpc3RyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ZGE2YjM0N2M3MGM1MTFjYjQ2OGZlZDIxNzI3Mjk3MTY2
NzUzNzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYVNv
dXJjZVJlZ2lzdHJ5X2gKKyNkZWZpbmUgTWVkaWFTb3VyY2VSZWdpc3RyeV9oCisKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFTb3VyY2U7CisKK2Ns
YXNzIE1lZGlhU291cmNlUmVnaXN0cnkgeworcHVibGljOgorICAgIC8vIFJldHVybnMgYSBzaW5n
bGUgaW5zdGFuY2Ugb2YgTWVkaWFTb3VyY2VSZWdpc3RyeS4KKyAgICBzdGF0aWMgTWVkaWFTb3Vy
Y2VSZWdpc3RyeSYgcmVnaXN0cnkoKTsKKworICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJl
ZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIG1lZGlhIHNvdXJjZS4KKyAgICB2b2lkIHJlZ2lzdGVy
TWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+KTsKKyAg
ICB2b2lkIHVucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJik7CisKKyAgICBNZWRp
YVNvdXJjZSogbG9va3VwTWVkaWFTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwpOworCitwcml2YXRl
OgorICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFTb3VyY2U+ID4gbV9tZWRpYVNvdXJj
ZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTkxOTEwODAzMDgwODA1N2E4Zjg3MGJhYjNkODhmMDJmNWRiMDkxYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlNvdXJjZUJ1ZmZlci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
IlRpbWVSYW5nZXMuaCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQs
IFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IHNvdXJjZSkKKyAgICA6IG1faWQoaWQpCisgICAgLCBt
X3NvdXJjZShzb3VyY2UpCit7Cit9CisKK1NvdXJjZUJ1ZmZlcjo6flNvdXJjZUJ1ZmZlcigpCit7
Cit9CisKK1Bhc3NSZWZQdHI8VGltZVJhbmdlcz4gU291cmNlQnVmZmVyOjpidWZmZXJlZChFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVj
ID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJl
dHVybiBtX3NvdXJjZS0+YnVmZmVyZWQoaWQoKSwgZWMpOworfQorCit2b2lkIFNvdXJjZUJ1ZmZl
cjo6YXBwZW5kKFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFtX3NvdXJjZSkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zb3VyY2UtPmFwcGVuZChpZCgpLCBk
YXRhLCBlYyk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIW1fc291cmNlKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9F
UlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3NvdXJjZS0+YWJvcnQoaWQoKSwg
ZWMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzRjNTI1MDAzODAyOTkxZjhmMTJmMzYwYWVhOTE3MjU5MGEwYjRkZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAg
LTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgU291cmNlQnVmZmVyX2gKKyNkZWZpbmUgU291cmNlQnVmZmVy
X2gKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGltZVJhbmdlczsKKworY2xh
c3MgU291cmNlQnVmZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBpZCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXIoaWQsIHNvdXJjZSkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlcigpOworCisgICAgUGFzc1JlZlB0cjxUaW1lUmFuZ2Vz
PiBidWZmZXJlZChFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKKyAgICB2b2lkIGFwcGVuZChQYXNz
UmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZvaWQgYWJv
cnQoRXhjZXB0aW9uQ29kZSYpOworICAgIAorICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7
IHJldHVybiBtX2lkOyB9CisKKyAgICB2b2lkIGNsZWFyKCkgeyBtX3NvdXJjZS5jbGVhcigpOyB9
CisKK3ByaXZhdGU6CisgICAgU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQ
dHI8TWVkaWFTb3VyY2U+KTsKKworICAgIFN0cmluZyBtX2lkOworICAgIFJlZlB0cjxNZWRpYVNv
dXJjZT4gbV9zb3VyY2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyYjljYjYxOGY1NTAxNTUyN2IzZDY5YWYyOTZmNjlm
N2JkOWY1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKK21vZHVsZSBodG1sIHsKKwor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICAg
ICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlCisgICAgXSBTb3VyY2VCdWZmZXIgewor
CisgICAgICAgIC8vIFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkLgorICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyBidWZmZXJlZAorICAgICAgICAgICAgZ2V0dGVy
IHJhaXNlcyhET01FeGNlcHRpb24pOworCisgICAgICAgIC8vIEFwcGVuZCBzZWdtZW50IGRhdGEu
CisgICAgICAgIHZvaWQgYXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNl
cHRpb24pOworCisgICAgICAgIC8vIEFib3J0IHRoZSBjdXJyZW50IHNlZ21lbnQgYXBwZW5kIHNl
cXVlbmNlLgorICAgICAgICB2b2lkIGFib3J0KCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlckxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MmI0NmYwZmI2N2E4NjE1NzI4ZmI4
YTM0ZDBiMmJhMTc2MzJlZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC0wLDAgKzEsMTEyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3QuaCIKKworI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNvdXJj
ZUJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NvdXJjZUJ1ZmZlckxpc3Q6OlNv
dXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQoreworfQorCit1bnNpZ25lZCBsb25nIFNv
dXJjZUJ1ZmZlckxpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGlzdC5zaXpl
KCk7Cit9CisKK1NvdXJjZUJ1ZmZlciogU291cmNlQnVmZmVyTGlzdDo6aXRlbSh1bnNpZ25lZCBp
bmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9saXN0LnNpemUoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIG1fbGlzdFtpbmRleF0uZ2V0KCk7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyTGlzdDo6YWRkKFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIpCit7Cisg
ICAgbV9saXN0LmFwcGVuZChidWZmZXIpOworICAgIGNyZWF0ZUFuZEZpcmVFdmVudChldmVudE5h
bWVzKCkud2Via2l0YWRkc291cmNlYnVmZmVyRXZlbnQpOworfQorCitib29sIFNvdXJjZUJ1ZmZl
ckxpc3Q6OnJlbW92ZShTb3VyY2VCdWZmZXIqIGJ1ZmZlcikKK3sgICAgCisgICAgc2l6ZV90IGlu
ZGV4ID0gbV9saXN0LmZpbmQoYnVmZmVyKTsKKyAgICBpZiAoaW5kZXggPT0gbm90Rm91bmQpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fbGlzdC5yZW1vdmUoaW5kZXgpOworICAgIGJ1
ZmZlci0+Y2xlYXIoKTsKKyAgICBjcmVhdGVBbmRGaXJlRXZlbnQoZXZlbnROYW1lcygpLndlYmtp
dHJlbW92ZXNvdXJjZWJ1ZmZlckV2ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJMaXN0OjpjbGVhcigpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBt
X2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZShtX2xpc3RbaV0uZ2V0KCkpOworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50TmFtZSkKK3sKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSk7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlz
KTsKKworICAgIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworY29uc3Qg
QXRvbWljU3RyaW5nJiBTb3VyY2VCdWZmZXJMaXN0OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNvdXJjZUJ1ZmZlckxpc3Q7Cit9
CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNvdXJjZUJ1ZmZlckxpc3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogU291cmNlQnVmZmVyTGlzdDo6ZXZlbnRUYXJnZXRE
YXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdl
dERhdGEqIFNvdXJjZUJ1ZmZlckxpc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAg
cmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY3ZjlhNzg5MjdlMTY3MTIxYjdhNjMwZjg4
YjlmNTE3NDE3Y2VkYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNv
dXJjZUJ1ZmZlckxpc3RfaAorI2RlZmluZSBTb3VyY2VCdWZmZXJMaXN0X2gKKworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlcjsKKworY2xhc3MgU291cmNlQnVmZmVyTGlzdCA6
IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKKyAgICB9CisgICAgdmly
dHVhbCB+U291cmNlQnVmZmVyTGlzdCgpIHsgfQorCisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgo
KSBjb25zdDsKKyAgICBTb3VyY2VCdWZmZXIqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owor
CisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+KTsKKyAgICBib29sIHJlbW92
ZShTb3VyY2VCdWZmZXIqKTsKKyAgICB2b2lkIGNsZWFyKCk7CisKKyAgICAvLyBFdmVudFRhcmdl
dCBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFt
ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdXNpbmcgUmVm
Q291bnRlZDxTb3VyY2VCdWZmZXJMaXN0Pjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8U291
cmNlQnVmZmVyTGlzdD46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBFdmVudFRh
cmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBTb3VyY2VCdWZmZXJMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsK
KworICAgIHZvaWQgY3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOworCisg
ICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQorICAg
IHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigpOyB9CisK
KyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCisgICAgVmVjdG9yPFJlZlB0
cjxTb3VyY2VCdWZmZXI+ID4gbV9saXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzllZGRjYWE4ZjU0NGE0
NGFmY2VkZGJmODg5YWYyM2MwYmFmMDJkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisgCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwK
KyAgICAgICAgSW5kZXhlZEdldHRlciwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAgICAgIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICBdIFNvdXJjZUJ1ZmZlckxpc3Qgewor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAg
IFNvdXJjZUJ1ZmZlciBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAgICAgIC8v
IEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4g
RE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExp
c3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRp
c3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNl
cHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDIzYmMyZDBlMmZlNmU0MzliZmYw
OTEzMmRiNmNlMzI2MmMyMmNmNjIuLjUxYTUyYzNiMzVlN2E5YTg5NDY0MmFkOGVjZjRiZjZhNWZm
MTA5MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzAwMyw2ICszMDAzLDE5IEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSB7CiAgICAgICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5jcHAKIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7
CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuaCBcCisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5o
IFwKKyAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCisgICAgICAg
IE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisgICAgU09VUkNFUyArPSBc
CisgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKKyAgICAgICAg
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCisgICAgICAgIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCisgICAgICAgIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKK30KKwogY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0lDT05EQVRBQkFTRT0xKSB7CiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGxvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAppbmRleCAwZTZmMDM4OTQzYmFjNzM3MWUzZDc4YTdkMjBkMGZjNTVmYzFjMTAxLi5kMzI1MDQz
MWQxMGNhYmMxY2ViN2EyMjNmYjE3Zjk1MmVmYzIyNGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cApAQCAtNjAsNiArNjAsNyBAQAogICAgICAgJy4uL01vZHVsZXMvZ2Vv
bG9jYXRpb24nLAogICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAnLi4vTW9kdWxl
cy9pbmRleGVkZGInLAorICAgICAgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4u
L01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycs
CiAgICAgICAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApAQCAtMTA2Niw2ICsxMDY3LDcg
QEAKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ZpbGVzeXN0ZW0nLAog
ICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAg
ICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAorICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAn
LS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGExNzJkNWU1YmVmZDU5NmY4ODA1OWZjYTE0ODA3NTg4OGFjNTc0OGIuLjQ5ZTk5NjFjZDkzZjRj
MzdiYTRlZDkzMjQ5YTQ2NGM5NDcxNWI5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTgyNSw2ICs4
MjUsOSBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKKyAgICAgICAgICAgICdN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaWRsJywKQEAgLTE1MzUsNiAr
MTUzOCwxNCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxs
YmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5j
cHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmgnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywKKyAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oJywKICAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FsbGJhY2suaCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDE0MTIzZmVhMWM5MWE4YjJl
Y2FlZmMxN2RkMjY1MmI5NzRmNWU4YTEuLmFjZjIyZDY4YjlmYzNhYmE4NGI0NjlhZjEwMGU4YjI3
NjZiMWYzNDAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCkBAIC0yNDk3MSw2ICsyNDk3MSw0MiBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgog
CQkJPEZpbHRlcgorCQkJCU5hbWU9Im1lZGlhc291cmNlIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2UuY3BwIgor
CQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9k
dWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNvdXJjZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxNZWRpYVNv
dXJjZVJlZ2lzdHJ5LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2VSZWdpc3RyeS5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
TW9kdWxlc1xtZWRpYXNvdXJjZVxTb3VyY2VCdWZmZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxl
PgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxT
b3VyY2VCdWZmZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcU291cmNlQnVmZmVyTGlzdC5jcHAiCisJ
CQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1
bGVzXG1lZGlhc291cmNlXFNvdXJjZUJ1ZmZlckxpc3QuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCTwvRmlsdGVyPgorCQkJPEZpbHRlcgogCQkJCU5hbWU9Im5vdGlmaWNhdGlvbnMiCiAJCQkJ
PgogCQkJCTxGaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlQ29tbW9uLnZzcHJvcHMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlQ29tbW9uLnZzcHJvcHMKaW5kZXggMTJlODc2NzZjODc4ZThjNmNhMTZiYzQ4YjhlNmY0MjBk
NDA1OTQ0Zi4uMTVhYTliZjBhODdjNzhlMTQ5ODdiMTI1MmMxZDQ0NTFlMGE3MzViNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3Bz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9w
cwpAQCAtNyw3ICs3LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4uJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcaW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1
bGVzXHByb3RvY29saGFuZGxlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xx
dW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRpb25zJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2li
aWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlk
Z2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVhcGkmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVy
aW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3Nc
anMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5JnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxo
dG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXImcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVy
XGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBhZ2Vcc2Nyb2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cbW9jayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRl
eHRcdHJhbnNjb2RlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHhtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGll
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVz
dGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxzdG9yYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGlu
Y2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIp
XGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGlu
Y2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRz
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgorCQlBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cTW9kdWxlc1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9k
dWxlc1xpbmRleGVkZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFz
b3VyY2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVy
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1v
ZHVsZXNcd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0
eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJp
ZGdlXGMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGluZyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0
aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGJpbmRpbmdzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmlj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5caHRtbFxzaGFkb3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llxsb2FkZXJcYXBwY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNo
aXZlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxsb2FkZXJcaWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
YWdlXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmcm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5p
bWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0
d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBo
aWNzXGZpbHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFw
aGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sXHBhcnNl
ciZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZl
ZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxz
dmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3MmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1
ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZx
dW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29y
ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEph
dmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVy
cyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlXHpsaWImcXVvdDsiCiAJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJf
X1dJTjMyX187RElTQUJMRV8zRF9SRU5ERVJJTkc7V0VCQ09SRV9DT05URVhUX01FTlVTIgogCQlV
c2VQcmVjb21waWxlZEhlYWRlcj0iMiIKIAkJUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSJXZWJD
b3JlUHJlZml4LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9j
b3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
Y29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAppbmRleCAwOTE3Y2Q3OTE3ZGY4NWE0YjU2YmM4Y2Q3
ZjZhNmU4YjY5ODFkMzdhLi43OWMzNjIwNjEzN2QwNzE5NGZkZTg1NTU1MzYzMWVhY2RjZDMyYjUy
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGlu
Z0hlYWRlcnMuY21kCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3
YXJkaW5nSGVhZGVycy5jbWQKQEAgLTIxLDYgKzIxLDcgQEAgeGNvcHkgL3kgL2QgIiVQcm9qZWN0
RGlyJS4uXGNvbmZpZy5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3Jl
IgogeGNvcHkgL3kgL2QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXG9ialxXZWJDb3JlXERlcml2
ZWRTb3VyY2VzXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIK
IHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxNb2R1bGVzXGZpbGVzeXN0ZW1cKi5oIiAiJUNP
TkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9q
ZWN0RGlyJS4uXE1vZHVsZXNcZ2VvbG9jYXRpb25cKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJ
UiVcaW5jbHVkZVxXZWJDb3JlIgoreGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNc
bWVkaWFzb3VyY2VcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3Jl
IgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcbm90aWZpY2F0aW9uc1wqLmgi
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAi
JVByb2plY3REaXIlLi5cTW9kdWxlc1xwcm90b2NvbGhhbmRsZXJcKi5oIiAiJUNPTkZJR1VSQVRJ
T05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4u
XE1vZHVsZXNccXVvdGFcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJD
b3JlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY3ZTZiYzVkOGRiNDU2MThiMjUzNzkyNTk0OWI1ZDMxZjhiZjE3NGEuLmYxZDFh
NjY4NDJkOGRkODkwYmY5ZjQ3YTU2OGRhNmE2N2MzODgyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTY2LDYgKzExNTY2
LDE3IEBACiAJCUIxMEI2OTdFMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVlRUVG9rZW5pemVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjEwQjY5N0YxNDBDMTc0MDAwQkMxQzI2
IC8qIFdlYlZUVFRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJWVFRUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIx
MzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxQTk0MkRFMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAv
KiBNZWRpYVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNv
dXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJFMDE1QjVDRTIyMDBE
NTI1RDEgLyogTWVkaWFTb3VyY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU291
cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTExNUI1Q0UyMjAw
RDUyNUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0
cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUy
NUQxIC8qIFNvdXJjZUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTb3VyY2VCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5
NDJFNDE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMUE5NDJFNTE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUE5NDJFNjE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFBOTQyRTcxNUI1Q0UyMjAwRDUyNUQx
IC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U291cmNlQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUE5NDJF
ODE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU291cmNlQnVmZmVyTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIxQUQ0RTcxMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmNwcDsgcGF0
aCA9IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CiAJCUIxQUQ0RTcyMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dFRyYWNrTG9hZGVyLmg7IHBhdGggPSBs
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJ
QjFENUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc1MzMsNiArMTc1NDQsNyBAQAogCQk5NzExNDVGRTE0RUYwMDZF
MDA2NzRGRDkgLyogTW9kdWxlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovLAog
CQkJCTk3MTE0NUZGMTRFRjAwNzkwMDY3NEZEOSAvKiBnZW9sb2NhdGlvbiAqLywKIAkJCQk5NzEy
QTU1MzE1MDA0RTNDMDA0OEFGMTAgLyogaW5kZXhlZGRiICovLAogCQkJCTMzM0Y3MDNEMEZCNDlD
MTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLApAQCAtMTg5NjcsNiArMTg5NzksMjUgQEAK
IAkJCW5hbWUgPSBQbHVnaW5zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
QjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCMUE5NDJERTE1QjVDRTIyMDBENTI1RDEg
LyogTWVkaWFTb3VyY2UuY3BwICovLAorCQkJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBN
ZWRpYVNvdXJjZS5oICovLAorCQkJCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNv
dXJjZS5pZGwgKi8sCisJCQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNl
UmVnaXN0cnkuY3BwICovLAorCQkJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNv
dXJjZVJlZ2lzdHJ5LmggKi8sCisJCQkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJj
ZUJ1ZmZlci5jcHAgKi8sCisJCQkJQjFBOTQyRTQxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1
ZmZlci5oICovLAorCQkJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXIu
aWRsICovLAorCQkJCUIxQTk0MkU2MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0
LmNwcCAqLywKKwkJCQlCMUE5NDJFNzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyTGlz
dC5oICovLAorCQkJCUIxQTk0MkU4MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZmZXJMaXN0
LmlkbCAqLywKKwkJCSk7CisJCQluYW1lID0gbWVkaWFzb3VyY2U7CisJCQlwYXRoID0gTW9kdWxl
cy9tZWRpYXNvdXJjZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUIxQUQ0
RTc3MTNBMTJBNzIwMDg0NkIyNyAvKiB0cmFjayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA4MzZlNjMwOGIwZGFj
ZjlkYjFmNzc1ZmZmMjkzNGYxYjc2ZGZjMThhLi45ODNkZjI5ZThiZjJlYzcwMjc2ZDY2ODU0NTM1
OWMwOTRmNmU4ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1Nyw2ICsxNTcsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBc
CiAgICAgbWFjcm8od2Via2l0ZW5kZnVsbHNjcmVlbikgXAogICAgIFwKKyAgICBtYWNybyh3ZWJr
aXRhZGRzb3VyY2VidWZmZXIpIFwKKyAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIp
IFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VvcGVuKSBcCiAgICAgbWFjcm8od2Via2l0c291cmNl
ZW5kZWQpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAppbmRleCBmMzg3ZTQyNzNlZTI2YTIwNmI2ZDc5OTkxZGUzMmQ5ZGI1NWUyYTZmLi4y
OWM2MGJiMTA1YmM5OThmNWRlMjNjNGZhMjE3YjM2YjE1OTQ5ZmRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaApAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgSmF2YVNjcmlwdEF1ZGlvTm9kZTsKICAgICBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogICAg
IGNsYXNzIE1lZGlhQ29udHJvbGxlcjsKKyAgICBjbGFzcyBNZWRpYVNvdXJjZTsKICAgICBjbGFz
cyBNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBOb2RlOwpA
QCAtNjQsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVk
V29ya2VyQ29udGV4dDsKKyAgICBjbGFzcyBTb3VyY2VCdWZmZXJMaXN0OwogICAgIGNsYXNzIFRl
eHRUcmFjazsKICAgICBjbGFzcyBUZXh0VHJhY2tDdWU7CiAgICAgY2xhc3MgV2ViU29ja2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODIxNzE3YjBkN2Zl
NzY1M2FhZjNmNjVkYTM1ZWE4ZWY5NWJkMDRlNC4uMzkyYjMwNTQ0MjQ4MTdmY2ZlMDFmMTgzMmYy
YjkyNWMxYjAzYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
CkBAIC0xNiw2ICsxNiw3IEBAIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0IGNvbmRpdGlvbmFsPUlO
REVYRURfREFUQUJBU0UKIEphdmFTY3JpcHRBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElP
CiBMb2NhbE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFDb250cm9s
bGVyIGNvbmRpdGlvbmFsPVZJREVPCitNZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VS
Q0UKIE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFj
a0xpc3QgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZXNzYWdlUG9ydApAQCAtMjYsNiArMjcs
NyBAQCBQZWVyQ29ubmVjdGlvbjAwIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogUGVyZm9ybWFu
Y2UgY29uZGl0aW9uYWw9V0VCX1RJTUlORwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJF
RF9XT1JLRVJTCiBTaGFyZWRXb3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJT
CitTb3VyY2VCdWZmZXJMaXN0IGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogU3BlZWNoUmVjb2du
aXRpb24gY29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICiBTVkdFbGVtZW50SW5zdGFuY2UgY29u
ZGl0aW9uYWw9U1ZHCiBUZXh0VHJhY2sgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmNwcAppbmRleCA0Zjk3ODBkY2Q2YjMzNDc2Mzk4YmI0YzY4YjQ5OGU1Y2IwOTkxOTk3
Li5mNDIzNWQ5NWJmNzA2NDU4NzU2NmViMDZlYWQzYWY1MTg0OWRkMzY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuY3BwCkBAIC00Miw2ICs0MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCkBAIC00OSw2ICs1NCwy
NiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQor
U3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1lZGlhU291cmNlKiBzb3VyY2UpCit7CisgICAgLy8gU2lu
Y2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIE1lZGlhU291cmNlIG9iamVjdHMsIHdlIHNob3Vs
ZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKwor
ICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCB8fCAhc291cmNlKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0ZVB1Ymxp
Y1VSTChzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpKTsKKyAgICBpZiAo
cHVibGljVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgTWVk
aWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0cnkoKS5yZWdpc3Rlck1lZGlhU291cmNlVVJMKHB1Ymxp
Y1VSTCwgc291cmNlKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wdWJsaWNVUkxNYW5h
Z2VyKCkuc3RyZWFtVVJMcygpLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkpOworCisgICAgcmV0dXJu
IHB1YmxpY1VSTC5zdHJpbmcoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNZWRpYVN0cmVhbSogc3RyZWFtKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmgKaW5kZXggMjVhZTAxM2ViMGE4YTEwYmM0MzMzYTBiYmI0YTA3NzkxN2IyN2ZhNy4u
ZDcxZmI5M2YzNTViNWFkMmUyZmViZDJmYjkwMzE4M2Q5NzQxMjE3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVS
TC5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7
CitjbGFzcyBNZWRpYVNvdXJjZTsKIGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIApAQCAtNDksNiArNTAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
U3RyaW5nIGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopOwog
ICAgIHN0YXRpYyB2b2lkIHJldm9rZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgU3RyaW5nJik7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBzdGF0aWMgU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTb3VyY2Uq
KTsKKyNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgc3RhdGljIFN0cmluZyBj
cmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU3RyZWFtKik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAppbmRleCBlZDA0YzIzZDVjNjdiMzFjM2I5MzczNjIw
N2ZiNDBhZTk2YTE2YWFhLi5iMzZlOGY3Y2ViYWU3ZGMzNzZlOWJhYTMyOWNkY2U5OGUyZWEwYWNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCkBAIC0zMyw2ICszMyw5IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgSlNOb1N0YXRpY1RhYmxlcywKICAgICAgICAgSW50ZXJmYWNlTmFtZT1VUkwKICAg
ICBdIERPTVVSTCB7CisjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKSAmJiBFTkFCTEVf
TUVESUFfU09VUkNFCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LFRy
ZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3RhdGljIERPTVN0cmluZyBjcmVhdGVPYmpl
Y3RVUkwoaW4gTWVkaWFTb3VyY2U/IHNvdXJjZSk7CisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KICAgICAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBz
dGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVhbT8gc3RyZWFtKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA0
NTkwNzhmNjRjMDhiZTJiZTQzMWIwMDg4OGRjZjM5YmRiMzBiODY5Li5jYzI2MDUxNTVjMGZhYzYz
MjM4ZDU3N2Q0MDEwNzY2OTFjYjMwOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgpAQCAtMjQzLDYgKzI0Myw3IEBAIG9udG91Y2hjYW5jZWwKIG9udW5sb2Fk
CiBvbnZvbHVtZWNoYW5nZQogb253YWl0aW5nCitvbndlYmtpdGFkZHNvdXJjZWJ1ZmZlcgogb253
ZWJraXRhbmltYXRpb25zdGFydAogb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24KIG9ud2Via2l0
YW5pbWF0aW9uZW5kCkBAIC0yNTQsNiArMjU1LDcgQEAgb253ZWJraXRrZXlhZGRlZAogb253ZWJr
aXRrZXllcnJvcgogb253ZWJraXRrZXltZXNzYWdlCiBvbndlYmtpdG5lZWRrZXkKK29ud2Via2l0
cmVtb3Zlc291cmNlYnVmZmVyCiBvbndlYmtpdHNvdXJjZWNsb3NlCiBvbndlYmtpdHNvdXJjZWVu
ZGVkCiBvbndlYmtpdHNvdXJjZW9wZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGYxNjI3MWJjZDEzY2JkZjVlMmUwZTBkMjgwZTg2NDI4ZjUwMTNkMDQuLmZh
NjU4NDgzNDMyOGIwNzA0NjUwYmU0OGZlMjQwOGE0NGQzZTdiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTEwLDYgKzExMCwxMSBAQAogI2luY2x1ZGUg
IkRpc3BsYXlTbGVlcERpc2FibGVyLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMTQ0LDcgKzE0OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJv
b2wgdmFsKQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vIFVSTCBwcm90b2NvbCB1c2Vk
IHRvIHNpZ25hbCB0aGF0IHRoZSBtZWRpYSBzb3VyY2UgQVBJIGlzIGJlaW5nIHVzZWQuCi1zdGF0
aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VVUkxQcm90b2NvbCA9ICJ4LW1lZGlhLXNvdXJjZSI7
CitzdGF0aWMgY29uc3QgY2hhciogbWVkaWFTb3VyY2VCbG9iUHJvdG9jb2wgPSAiYmxvYiI7CiAj
ZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTIxOCw5ICsyMjMsNiBAQCBI
VE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bQogICAgICwgbV9wcmVsb2FkKE1lZGlhUGxheWVyOjpBdXRv
KQogICAgICwgbV9kaXNwbGF5TW9kZShVbmtub3duKQogICAgICwgbV9wcm9jZXNzaW5nTWVkaWFQ
bGF5ZXJDYWxsYmFjaygwKQotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICAgICAgCi0gICAgLCBt
X3NvdXJjZVN0YXRlKFNPVVJDRV9DTE9TRUQpCi0jZW5kaWYKICAgICAsIG1fY2FjaGVkVGltZShN
ZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkKICAgICAsIG1fY2FjaGVkVGltZVdhbGxDbG9ja1Vw
ZGF0ZVRpbWUoMCkKICAgICAsIG1fbWluaW11bVdhbGxDbG9ja1RpbWVUb0NhY2hlTWVkaWFUaW1l
KDApCkBAIC0yNzEsNyArMjczLDcgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW0KICAgICB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIG1fbWVkaWFTb3VyY2VVUkwuc2V0UHJvdG9j
b2wobWVkaWFTb3VyY2VVUkxQcm90b2NvbCk7CisgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90
b2NvbChtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCk7CiAgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQ
YXRoKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CiAjZW5kaWYKIApAQCAtNDIwLDE0ICs0
MjIsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJp
YnV0ZSYgYXR0cmlidXRlKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS53ZWJraXRiZWdpbmZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKICAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgp
ID09IG9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGVuZGZ1bGxzY3JlZW5FdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRzb3VyY2Vj
bG9zZUF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LndlYmtpdHNvdXJjZWNsb3NlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cmlidXRlKSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBvbndlYmtp
dHNvdXJjZWVuZGVkQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0
ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09
IG9ud2Via2l0c291cmNlb3BlbkF0dHIpCi0gICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZl
bnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKLSNlbmRpZgogICAgIGVsc2UKICAgICAgICAg
SFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiB9CkBAIC03MDIsOCArNjk2
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCgpCiAjZW5kaWYKIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNF
X0NMT1NFRCkKLSAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0
U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAg
IC8vIDQgLSBJZiB0aGUgbWVkaWEgZWxlbWVudCdzIG5ldHdvcmtTdGF0ZSBpcyBub3Qgc2V0IHRv
IE5FVFdPUktfRU1QVFksIHRoZW4gcnVuIHRoZXNlIHN1YnN0ZXBzCkBAIC05MjYsMTAgKzkxOSwx
NiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBLVVJMJiBpbml0
aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudAogICAgIH0KICAgICAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIC8vIElmIHRoaXMgaXMgYSBtZWRpYSBzb3VyY2UgVVJMLCBtYWtlIHN1
cmUgaXQgaXMgdGhlIG9uZSBmb3IgdGhpcyBtZWRpYSBlbGVtZW50LgotICAgIGlmICh1cmwucHJv
dG9jb2xJcyhtZWRpYVNvdXJjZVVSTFByb3RvY29sKSAmJiB1cmwgIT0gbV9tZWRpYVNvdXJjZVVS
TCkgewotICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkZvcm1hdEVycm9y
KTsKLSAgICAgICAgcmV0dXJuOworICAgIGlmICh1cmwucHJvdG9jb2xJcyhtZWRpYVNvdXJjZUJs
b2JQcm90b2NvbCkpIHsKKyAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisgICAgICAgICAgICBt
X21lZGlhU291cmNlLT5zZXRSZWFkeVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkp
OworCisgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBhZG9wdFJlZihNZWRpYVNvdXJjZVJlZ2lzdHJ5
OjpyZWdpc3RyeSgpLmxvb2t1cE1lZGlhU291cmNlKHVybC5zdHJpbmcoKSkpOworCisgICAgICAg
IGlmIChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBtX21lZGlhU291cmNlLT5zZXRNZWRp
YVBsYXllcihtX3BsYXllci5nZXQoKSk7CisgICAgICAgICAgICBtX21lZGlhU291cmNlVVJMID0g
dXJsOworICAgICAgICB9CiAgICAgfQogI2VuZGlmCiAKQEAgLTE0MzEsOCArMTQzMCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRlZCgpCiAgICAgc2NoZWR1bGVFdmVudChl
dmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAg
IGlmIChtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0
YXRlKFNPVVJDRV9DTE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9z
ZWRLZXl3b3JkKCkpOwogI2VuZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBlbGVtZW50J3MgZGVs
YXlpbmctdGhlLWxvYWQtZXZlbnQgZmxhZyB0byBmYWxzZS4gVGhpcyBzdG9wcyBkZWxheWluZyB0
aGUgbG9hZCBldmVudC4KQEAgLTE0NjMsOCArMTQ2MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFFbmdpbmVFcnJvcihQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycikKICAgICBzY2hl
ZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCi0gICAgaWYgKG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgICAg
c2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCk7CisgICAgc2V0U291cmNlU3RhdGUoTWVkaWFT
b3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBTZXQgdGhlIGVs
ZW1lbnQncyBuZXR3b3JrU3RhdGUgYXR0cmlidXRlIHRvIHRoZSBORVRXT1JLX0VNUFRZIHZhbHVl
IGFuZCBxdWV1ZSBhCkBAIC0xNzI5LDcgKzE3MjYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhUGxheWVyU291cmNlT3BlbmVkKCkKIHsKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBs
YXllckNhbGxiYWNrKCk7CiAKLSAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CisgICAg
c2V0U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOwogCiAgICAgZW5kUHJv
Y2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKIH0KQEAgLTE3MzgsMjIgKzE3MzUsNiBAQCBT
dHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdAogewog
ICAgIHJldHVybiBtX21lZGlhU291cmNlVVJMLnN0cmluZygpOwogfQotCi1ib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmlzVmFsaWRTb3VyY2VJZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykgY29uc3QKLXsKLSAgICBpZiAoaWQuaXNOdWxsKCkgfHwgaWQuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotCi0gICAgaWYgKCFtX3NvdXJjZUlEcy5jb250YWlucyhpZCkpIHsKLSAgICAgICAgZWMg
PSBTWU5UQVhfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTE5
NzcsOCArMTk1OCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2VlayhmbG9hdCB0aW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIC8vIEFsd2F5
cyBub3RpZnkgdGhlIG1lZGlhIGVuZ2luZSBvZiBhIHNlZWsgaWYgdGhlIHNvdXJjZSBpcyBub3Qg
Y2xvc2VkLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgc291cmNlIGlzCiAgICAgLy8gYWx3YXlzIGlu
IGEgZmx1c2hlZCBzdGF0ZSB3aGVuIHRoZSAnc2Vla2luZycgZXZlbnQgZmlyZXMuCi0gICAgaWYg
KG1fc291cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKLSAgICAgIG5vU2Vla1JlcXVpcmVkID0g
ZmFsc2U7CisgICAgaWYgKG1fbWVkaWFTb3VyY2UgJiYgbV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0
ZSgpICE9IE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkpCisgICAgICAgIG5vU2Vla1JlcXVp
cmVkID0gZmFsc2U7CiAjZW5kaWYKIAogICAgIGlmIChub1NlZWtSZXF1aXJlZCkgewpAQCAtMjAw
MCw4ICsxOTgxLDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1fc2VudEVuZEV2ZW50ID0gZmFsc2U7CiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9FTkRFRCkK
LSAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX09QRU4pOworICAgIGlmIChtX21lZGlhU291
cmNlICYmIG1fbWVkaWFTb3VyY2UtPnJlYWR5U3RhdGUoKSA9PSBNZWRpYVNvdXJjZTo6ZW5kZWRL
ZXl3b3JkKCkpCisgICAgICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpvcGVuS2V5d29y
ZCgpKTsKICNlbmRpZgogCiAgICAgLy8gOCAtIFNldCB0aGUgY3VycmVudCBwbGF5YmFjayBwb3Np
dGlvbiB0byB0aGUgZ2l2ZW4gbmV3IHBsYXliYWNrIHBvc2l0aW9uCkBAIC0yMzQ5LDE3NSArMjMz
MCwxMiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogfQogCiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3Vy
Y2VBZGRJZChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQotewotICAgIGlmIChpZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAobV9zb3VyY2VJRHMuY29udGFpbnMoaWQpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAodHlwZS5pc051bGwo
KSB8fCB0eXBlLmlzRW1wdHkoKSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50
U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikg
ewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlwZSk7Ci0gICAgVmVjdG9yPFN0cmlu
Zz4gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0KLSAgICBpZiAoIWNvZGVjcy5zaXpl
KCkpIHsKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJjZUFkZElkKGlkLCBjb250ZW50VHlw
ZS50eXBlKCksIGNvZGVjcykpIHsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKLSAgICAgICAg
bV9zb3VyY2VJRHMuYWRkKGlkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6Ok5vdFN1cHBvcnRlZDoKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAg
ICAgcmV0dXJuOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0OgotICAgICAg
ICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtp
dFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewot
ICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9z
b3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3Vy
Y2VSZW1vdmVJZChpZCkpCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgbV9z
b3VyY2VJRHMucmVtb3ZlKGlkKTsKLX0KLQotUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBIVE1MTWVk
aWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWlzVmFsaWRTb3VyY2VJZChpZCwgZWMpKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVk
aWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7Ci0gICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAg
IHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQpOwotfQotCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRy
PFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghaXNWYWxp
ZFNvdXJjZUlkKGlkLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghbV9wbGF5ZXIg
fHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBT
T1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRhLmdldCgpKSB7Ci0gICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFkYXRh
LT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNl
QXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgpKSkgewotICAgICAgICBlYyA9
IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLXZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6d2Via2l0U291cmNlQWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKGNvbnN0IFN0cmlu
ZyYgc3RhdGUpCiB7Ci0gICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKKyAgICBpZiAo
IW1fbWVkaWFTb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9wbGF5ZXIgfHwg
bV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VS
Q0VfT1BFTikgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQoaWQpKQotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJr
aXRTb3VyY2VFbmRPZlN0cmVhbSh1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3Vy
Y2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewotICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTWVkaWFQbGF5
ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9y
OwotCi0gICAgc3dpdGNoIChzdGF0dXMpIHsKLSAgICBjYXNlIEVPU19OT19FUlJPUjoKLSAgICAg
ICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRU9TX05FVFdPUktfRVJSOgotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXll
cjo6RW9zTmV0d29ya0Vycm9yOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVPU19ERUNPREVf
RVJSOgotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9FTkRFRCk7
Ci0gICAgbV9wbGF5ZXItPnNvdXJjZUVuZE9mU3RyZWFtKGVvc1N0YXR1cyk7Ci19Ci0KLUhUTUxN
ZWRpYUVsZW1lbnQ6OlNvdXJjZVN0YXRlIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVN0
YXRlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zb3VyY2VTdGF0ZTsKLX0KLQotdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSBzdGF0ZSkKLXsKLSAgICBT
b3VyY2VTdGF0ZSBvbGRTdGF0ZSA9IG1fc291cmNlU3RhdGU7Ci0gICAgbV9zb3VyY2VTdGF0ZSA9
IHN0YXRpY19jYXN0PFNvdXJjZVN0YXRlPihzdGF0ZSk7Ci0KLSAgICBpZiAobV9zb3VyY2VTdGF0
ZSA9PSBvbGRTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fc291cmNlU3RhdGUg
PT0gU09VUkNFX0NMT1NFRCkgewotICAgICAgICBtX3NvdXJjZUlEcy5jbGVhcigpOwotICAgICAg
ICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VjbG9zZUV2ZW50KTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChvbGRTdGF0ZSA9PSBTT1VSQ0VfT1BFTiAm
JiBtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9FTkRFRCkgewotICAgICAgICBzY2hlZHVsZUV2ZW50
KGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VlbmRlZEV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmIChtX3NvdXJjZVN0YXRlID09IFNPVVJDRV9PUEVOKSB7Ci0gICAgICAg
IHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZW9wZW5FdmVudCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CisgICAgbV9tZWRpYVNvdXJjZS0+c2V0UmVhZHlTdGF0ZShzdGF0
ZSk7CiB9CiAjZW5kaWYKIApAQCAtMzc2Nyw4ICszNTg1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp1c2VyQ2FuY2VsbGVkTG9hZCgpCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCku
YWJvcnRFdmVudCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIGlmIChtX3NvdXJj
ZVN0YXRlICE9IFNPVVJDRV9DTE9TRUQpCi0gICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9D
TE9TRUQpOworICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkp
OwogI2VuZGlmCiAKICAgICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyByZWFkeVN0YXRl
IGF0dHJpYnV0ZSBoYXMgYSB2YWx1ZSBlcXVhbCB0byBIQVZFX05PVEhJTkcsIHNldCB0aGUgCkBA
IC00MjcyLDYgKzQwODksMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYVBs
YXllcigpCiAgICAgICAgIAogICAgIG1fcGxheWVyID0gTWVkaWFQbGF5ZXI6OmNyZWF0ZSh0aGlz
KTsKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKG1fbWVkaWFTb3VyY2UpCisg
ICAgICAgIG1fbWVkaWFTb3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdldCgpKTsKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBpZiAobV9hdWRpb1NvdXJjZU5vZGUp
IHsKICAgICAgICAgLy8gV2hlbiBjcmVhdGluZyB0aGUgcGxheWVyLCBtYWtlIHN1cmUgaXRzIEF1
ZGlvU291cmNlUHJvdmlkZXIga25vd3MgYWJvdXQgdGhlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMzM1YmZiZDM2
NDEzMjllNTZiMmFhZDk0ZWE4OTQ4ZWVhMzFmNThhNC4uZjM0NzIyNDdhOTJmOTVjN2M3MTRiOTZi
Njk0YjhkNGQ1NDFhY2E4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
QEAgLTQ1LDYgKzQ1LDEwIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgiCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtMTc1
LDIwICsxNzksNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vICBNZWRp
YSBTb3VyY2UuCiAgICAgY29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3VyY2VVUkwoKSBjb25zdCB7
IHJldHVybiBtX21lZGlhU291cmNlVVJMOyB9Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3
ZWJraXRTb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
UGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiB3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25zdCBTdHJpbmcm
LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3Ry
aW5nJiwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
dm9pZCB3ZWJraXRTb3VyY2VBYm9ydChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVPU19OT19FUlJPUiwgRU9TX05FVFdPUktfRVJS
LCBFT1NfREVDT0RFX0VSUiB9OwotICAgIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0odW5z
aWduZWQgc2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBlbnVtIFNvdXJjZVN0YXRlIHsgU09V
UkNFX0NMT1NFRCwgU09VUkNFX09QRU4sIFNPVVJDRV9FTkRFRCB9OwotICAgIFNvdXJjZVN0YXRl
IHdlYmtpdFNvdXJjZVN0YXRlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3Vy
Y2VTdGF0ZSk7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHNv
dXJjZW9wZW4pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291
cmNlZW5kZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291
cmNlY2xvc2UpOworICAgIHZvaWQgc2V0U291cmNlU3RhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5k
aWYgCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtNDE4LDcgKzQwOSw2IEBAIHBy
aXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQ
bGF5ZXJTb3VyY2VPcGVuZWQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJj
ZVVSTCgpIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYsIEV4
Y2VwdGlvbkNvZGUmKSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKQEAgLTU5Niw4ICs1ODYsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKICAgICBLVVJMIG1fbWVkaWFTb3VyY2VVUkw7Ci0gICAgU291cmNlU3RhdGUgbV9zb3VyY2VT
dGF0ZTsKLSAgICBIYXNoU2V0PFN0cmluZz4gbV9zb3VyY2VJRHM7CisgICAgUmVmUHRyPE1lZGlh
U291cmNlPiBtX21lZGlhU291cmNlOwogI2VuZGlmCiAKICAgICBtdXRhYmxlIGZsb2F0IG1fY2Fj
aGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGFj
MGZhNDY3YjQwNDllMTYzZTkwY2I2YjYzZmEzMzdhY2JjMmUyNjQuLjlkMGFlOGE3Nzk5OWE3NTFh
NzVjZDU0ZGMxNTFhOTM3Y2VlNjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmlkbApAQCAtOTgsMzUgKzk4LDYgQEAgbW9kdWxlIGh0bWwgewogI2lmIGRlZmluZWQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJDRQogICAgIC8vIFVSTCBw
YXNzZWQgdG8gc3JjIGF0dHJpYnV0ZSB0byBlbmFibGUgdGhlIG1lZGlhIHNvdXJjZSBsb2dpYy4K
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZSwg
VVJMXSBET01TdHJpbmcgd2Via2l0TWVkaWFTb3VyY2VVUkw7Ci0KLSAgICAvLyBNYW5hZ2VzIElE
cyBmb3IgYXBwZW5kaW5nIG1lZGlhIHRvIHRoZSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0UnVu
dGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChpbiBET01TdHJpbmcgaWQs
IGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4RW5hYmxl
ZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VSZW1vdmVJZChpbiBET01T
dHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgIC8vIFJldHVybnMgdGhlIHRp
bWUgcmFuZ2VzIGJ1ZmZlcmVkIGZvciBhIHNwZWNpZmljIHNvdXJjZSBJRC4KLSAgICBbVjhFbmFi
bGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBUaW1lUmFuZ2VzIHdlYmtpdFNvdXJjZUJ1ZmZlcmVk
KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIAotICAgIC8vIEFw
cGVuZHMgc2VnbWVudCBkYXRhLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2Vd
IHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwgaW4gVWludDhBcnJheSBk
YXRhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAvLyBBYm9ydHMgdGhlIGN1cnJlbnQg
c2VnbWVudC4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtp
dFNvdXJjZUFib3J0KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotCi0g
ICAgLy8gU2lnbmFscyB0aGUgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVkQXRSdW50aW1l
PW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9fRVJST1IgPSAwOyAvLyBF
bmQgb2Ygc3RyZWFtIHJlYWNoZWQgdy9vIGVycm9yLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9
bWVkaWFTb3VyY2VdIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVPU19ORVRXT1JLX0VSUiA9IDE7IC8v
IEEgbmV0d29yayBlcnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4KLSAgICBbVjhFbmFibGVk
QXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfREVDT0RFX0VS
UiA9IDI7IC8vIEEgZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFtLgotICAgIFtW
OEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJl
YW0oaW4gdW5zaWduZWQgc2hvcnQgc3RhdHVzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAg
ICAvLyBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG1lZGlhIHNvdXJjZS4KLSAg
ICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBT
T1VSQ0VfQ0xPU0VEID0gMDsKLSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7Ci0gICAgW1Y4RW5hYmxlZEF0UnVu
dGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09VUkNFX0VOREVEID0gMjsK
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0g
dW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3RhdGU7Ci0KLSAgICBhdHRyaWJ1dGUgW1Y4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZW9w
ZW47Ci0gICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIEV2ZW50
TGlzdGVuZXIgb253ZWJraXRzb3VyY2VlbmRlZDsKLSAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0
UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHNvdXJjZWNsb3NlOwog
I2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRV9F
TkNSWVBURURfTUVESUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiZDljZjBjMjNi
ZTBjYzE4Mjk1MzVmM2FlZmU4Y2RiZjIyYmVhMDdkLi4yYWI1YzI1NGRhOTFjZjAwN2I4MGRlOTI5
NzkwY2UzNmI1NjZlNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03ODEsNiAr
NzgxLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9TVVUQVRJT05fT0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjsKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBNZWRpYVNvdXJjZUNvbnN0
cnVjdG9yIE1lZGlhU291cmNlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElB
X1NPVVJDRSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJDb25z
dHJ1Y3RvciBTb3VyY2VCdWZmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVE
SUFfU09VUkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckxp
c3RDb25zdHJ1Y3RvciBTb3VyY2VCdWZmZXJMaXN0OworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5H
VUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5H
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggODgxMmEyMGY0MTQ0Y2Y1NWQ0YmJmNjE1NGVjYjk3OTg1MzQ5NjczNC4uNjFmMTMw
YWJlMmM2Y2U1YzQ0NWE0MDg3OTEyNmMwNDdlNWE3ODkwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBA
CisyMDEyLTA3LTIwICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBVcGRhdGUgTWVkaWEgU291cmNlIHRvIHRoZSBuZXcgT08gZGVzaWduCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDgxOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoqKiBOb3QgYm90aGVyaW5nIHRv
IGNsZWFuIHVwIENoYW5nZUxvZyBiZWNhdXNlIHBhdGNoIGlzIG5vdCBmb3IgcmV2aWV3LgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzOgor
ICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIpOgorICAgICAgICAoTWVkaWFT
b3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJjZUJ1ZmZlcik6CisgICAg
ICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kSW5pdFNl
Z21lbnQpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBl
LmFwcGVuZE1lZGlhU2VnbWVudCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhl
bHBlci5wcm90b3R5cGUuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSk6CisgICAgICAgIChNZWRpYVNv
dXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwpOgorICAgICAgICAoTWVkaWFTb3Vy
Y2VUZXN0LmRlZmF1bHRPbkVycm9yQ2hlY2tzKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5y
dW5PblNvdXJjZU9wZW4uZXZlbnRIYW5kbGVyRnVuY3Rpb24pOgorICAgICAgICAoTWVkaWFTb3Vy
Y2VUZXN0LnJ1bk9uU291cmNlT3Blbik6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QubG9nU291
cmNlU3RhdGUpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKToK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWJvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1i
dWZmZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
ZGQtYW5kLXJlbW92ZS1pZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtZXJyb3JzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVu
dC1hdHRyaWJ1dGVzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2Jq
ZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
c2Vlay5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdl
cy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMTItMDctMjAgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIFVucmV2aWV3ZWQgdGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291
cmNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLmpzCmluZGV4IDZkYmI3Y2FhMTE5YzdmOWMxMzdhOWExMWY2OGEyOWVjMDY3ZmFkMjUu
Ljk1ZDNiMzRiZjkwNWJhOGZlOGRkNDI1YjgyOWZkYmY0NjJhZWQxYTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3Vy
Y2UuanMKQEAgLTEsOSArMSwxMCBAQAogdmFyIE1lZGlhU291cmNlVGVzdCA9IHt9OwordmFyIG1l
ZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CiAKIE1lZGlhU291cmNlVGVzdC5TZWdtZW50
SGVscGVyID0gZnVuY3Rpb24oc2VnbWVudEluZm8pCiB7CiAgICAgdGhpcy5NZWRpYVNlZ21lbnRz
VG9Mb2FkID0gMDsKLSAgICB0aGlzLlNvdXJjZUlEID0gJ3NvdXJjZUlkJzsKKyAgICB0aGlzLnNv
dXJjZUJ1ZmZlciA9IG51bGw7CiAKICAgICB0aGlzLnZpZGVvVGFnID0gbnVsbDsKICAgICB0aGlz
LnNlZ21lbnRJbmZvID0gc2VnbWVudEluZm87CkBAIC0xMjEsMzIgKzEyMiwzMiBAQCBNZWRpYVNv
dXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuZ2V0RGF0YV8gPSBmdW5jdGlvbiAodXJs
LCBzdGFydCwgbGVuZ3RoLAogICAgIHJlcXVlc3Quc2VuZCgpOwogfTsKIAotTWVkaWFTb3VyY2VU
ZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJjZUlkID0gZnVuY3Rpb24oKQorTWVk
aWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFkZFNvdXJjZUJ1ZmZlciA9IGZ1
bmN0aW9uKCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHRoaXMuU291
cmNlSUQsIHRoaXMuc2VnbWVudEluZm8udHlwZSk7CisgICAgdGhpcy5zb3VyY2VCdWZmZXIgPSBt
ZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodGhpcy5zZWdtZW50SW5mby50eXBlKTsKIH07CiAK
IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRJbml0U2VnbWVu
dCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCh0
aGlzLlNvdXJjZUlELCB0aGlzLmluaXRTZWdtZW50KTsKKyAgICB0aGlzLnNvdXJjZUJ1ZmZlci5h
cHBlbmQodGhpcy5pbml0U2VnbWVudCk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhl
bHBlci5wcm90b3R5cGUuYXBwZW5kTWVkaWFTZWdtZW50ID0gZnVuY3Rpb24oaW5kZXgpCiB7Ci0g
ICAgdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5Tb3VyY2VJRCwgdGhpcy5t
ZWRpYVNlZ21lbnRzW2luZGV4XSk7CisgICAgdGhpcy5zb3VyY2VCdWZmZXIuYXBwZW5kKHRoaXMu
bWVkaWFTZWdtZW50c1tpbmRleF0pOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxw
ZXIucHJvdG90eXBlLmFwcGVuZFVudGlsRW5kT2ZTdHJlYW0gPSBmdW5jdGlvbihzdGFydEluZGV4
KQogewotICAgIGlmICghdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQpIHsKLSAgICAg
ICAgZmFpbFRlc3QoIndlYmtpdFNvdXJjZUFwcGVuZCgpIGlzIG5vdCBhdmFpbGFibGUiKTsKKyAg
ICBpZiAoIXRoaXMuc291cmNlQnVmZmVyKSB7CisgICAgICAgIGZhaWxUZXN0KCJNZWRpYVNvdXJj
ZSBBUEkgaXMgbm90IGF2YWlsYWJsZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
Zm9yICh2YXIgaW5kZXggPSBzdGFydEluZGV4OyBpbmRleCA8IHRoaXMubWVkaWFTZWdtZW50cy5s
ZW5ndGg7IGluZGV4KyspCiAgICAgICAgIHRoaXMuYXBwZW5kTWVkaWFTZWdtZW50KGluZGV4KTsK
IAotICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0odGhpcy52aWRlb1Rh
Zy5FT1NfTk9fRVJST1IpOworICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7CiB9OwogCiBN
ZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuZ2V0VGltZUZvck1lZGlhU2Vn
bWVudCA9IGZ1bmN0aW9uKGluZGV4KQpAQCAtMTc2LDcgKzE3Nyw3IEBAIE1lZGlhU291cmNlVGVz
dC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVSTCA9IGZ1bmN0aW9uKHZpZGVvVGFnKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgdmlkZW9UYWcuc3JjID0gdmlkZW9UYWcud2Via2l0TWVk
aWFTb3VyY2VVUkw7CisgICAgdmlkZW9UYWcuc3JjID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVS
TChtZWRpYVNvdXJjZSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QubWVkaWFFcnJvclN0cmluZyA9
IGZ1bmN0aW9uKHZpZGVvVGFnKQpAQCAtMjA2LDkgKzIwNyw5IEBAIE1lZGlhU291cmNlVGVzdC5k
ZWZhdWx0T25FcnJvckNoZWNrcyA9IGZ1bmN0aW9uKGV2ZW50KQogCiAgICAgY29uc29sZVdyaXRl
KCJFVkVOVChlcnJvcikgOiAiICsgTWVkaWFTb3VyY2VUZXN0Lm1lZGlhRXJyb3JTdHJpbmcodmlk
ZW9UYWcpKTsKIAotICAgIGlmICh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSAhPSBIVE1MTWVk
aWFFbGVtZW50LlNPVVJDRV9DTE9TRUQpIHsKLSAgICAgICAgY29uc29sZVdyaXRlKCJVbmV4cGVj
dGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgU09VUkNFX0NMT1NFRCIgKwotICAgICAgICAgICAg
ICAgICAgICAgIiBnb3QgIiArIGdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VTdGF0ZSkpOworICAgIGlmIChtZWRpYVNvdXJjZS5yZWFkeVN0YXRlICE9ICJjbG9zZWQiKSB7
CisgICAgICAgIGNvbnNvbGVXcml0ZSgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVk
ICdjbG9zZWQnIiArCisgICAgICAgICAgICAgICAgICAgICAiIGdvdCAiICsgbWVkaWFTb3VyY2Uu
cmVhZHlTdGF0ZSk7CiAgICAgfQogfTsKIApAQCAtMjcwLDQyICsyNzEsMzIgQEAgTWVkaWFTb3Vy
Y2VUZXN0LnJ1bk9uU291cmNlT3BlbiA9IGZ1bmN0aW9uKHZpZGVvVGFnLCBvbk9wZW5GdW5jdGlv
bikKIHsKICAgICB2YXIgZXZlbnRIYW5kbGVyRnVuY3Rpb24gPSBmdW5jdGlvbiAoZXZlbnQpCiAg
ICAgeworICAgICAgICBpZiAodmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhUTUxNZWRpYUVsZW1l
bnQuTkVUV09SS19MT0FESU5HICYmCisgICAgICAgICAgICB2aWRlb1RhZy5uZXR3b3JrU3RhdGUg
IT0gSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUpIHsKKyAgICAgICAgICAgIGZhaWxUZXN0
KCJVbmV4cGVjdGVkIG5ldHdvcmsgc3RhdGUuIEV4cGVjdGVkICIgKworICAgICAgICAgICAgICAg
ICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0xPQURJTkcgKyAiIG9yICIgKworICAgICAg
ICAgICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudC5ORVRXT1JLX0lETEUgKworICAgICAgICAg
ICAgICAgICAgICAgIiBnb3QgIiArIHZpZGVvVGFnLnJlYWR5U3RhdGUpOworICAgICAgICB9CiAg
ICAgICAgIGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
JywgZXZlbnRIYW5kbGVyRnVuY3Rpb24pOwogICAgICAgICBvbk9wZW5GdW5jdGlvbigpOwogICAg
IH07Ci0gICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2
ZW50SGFuZGxlckZ1bmN0aW9uKTsKLSAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNv
dXJjZVRlc3RVUkwodmlkZW9UYWcpOwotfTsKIAotTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0
YXRlID0gZnVuY3Rpb24odmlkZW9UYWcpCi17Ci0gICAgY29uc29sZVdyaXRlKCJ3ZWJraXRTb3Vy
Y2VTdGF0ZSA6ICIgKyBNZWRpYVNvdXJjZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lKHZpZGVvVGFn
LndlYmtpdFNvdXJjZVN0YXRlKSk7CisgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcign
d2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKKyAgICBNZWRpYVNvdXJj
ZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcpOwogfTsKIAotTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlID0gZnVuY3Rpb24odmlkZW9UYWcsIGV4cGVjdGVk
KQorTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlID0gZnVuY3Rpb24obWVkaWFTb3VyY2Up
CiB7Ci0gICAgaWYgKHZpZGVvVGFnLndlYmtpdFNvdXJjZVN0YXRlICE9IGV4cGVjdGVkKSB7Ci0g
ICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgIiArCi0g
ICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUoZXhwZWN0
ZWQpICsKLSAgICAgICAgICAgICAgICAgIiBnb3QgIiArIE1lZGlhU291cmNlVGVzdC5nZXRTb3Vy
Y2VTdGF0ZU5hbWUodmlkZW9UYWcud2Via2l0U291cmNlU3RhdGUpKTsKLSAgICB9CisgICAgY29u
c29sZVdyaXRlKCJ3ZWJraXRTb3VyY2VTdGF0ZSA6ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0YXRl
KTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUgPSBmdW5jdGlvbihz
dGF0ZSkKK01lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSA9IGZ1bmN0aW9uKG1lZGlh
U291cmNlLCBleHBlY3RlZCkKIHsKLSAgICB2YXIgc3RhdGVOYW1lID0gIlVOS05PV04iOwotICAg
IHN3aXRjaCAoc3RhdGUpIHsKLSAgICAgICAgY2FzZSBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9D
TE9TRUQ6Ci0gICAgICAgICAgICBzdGF0ZU5hbWUgPSAiU09VUkNFX0NMT1NFRCI7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOOgot
ICAgICAgICAgICAgc3RhdGVOYW1lID0gIlNPVVJDRV9PUEVOIjsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX0VOREVEOgotICAgICAgICAg
ICAgc3RhdGVOYW1lID0gIlNPVVJDRV9FTkRFRCI7Ci0gICAgICAgICAgICBicmVhazsKKyAgICBp
ZiAobWVkaWFTb3VyY2UucmVhZHlTdGF0ZSAhPSBleHBlY3RlZCkgeworICAgICAgICBmYWlsVGVz
dCgiVW5leHBlY3RlZCBzb3VyY2Ugc3RhdGUuIEV4cGVjdGVkICIgKyBleHBlY3RlZCArCisgICAg
ICAgICAgICAgICAgICIgZ290ICIgKyBtZWRpYVNvdXJjZS5yZWFkeVN0YXRlKTsKICAgICB9Ci0g
ICAgcmV0dXJuIHN0YXRlTmFtZTsKIH07CiAKIE1lZGlhU291cmNlVGVzdC5leHBlY3RSZWFkeVN0
YXRlID0gZnVuY3Rpb24odmlkZW9UYWcsIGV4cGVjdGVkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggNjU4ZmY3MTE2ZTEz
NzFmNmRjMzU2N2FkZmM1NDg4NWE1ZjEyNDliZS4uYzVkMjhiZmEyMjdiYzAyZjUxZDI1MmMxNWI4
YmNhODIxMzc4ZjVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNiBAQCBUZXN0cyB3ZWJraXRTb3VyY2VB
Ym9ydCgpIGZ1bmN0aW9uYWxpdHkKIAogCiBydW5uaW5nIGFib3J0RHVyaW5nSW5pdFNlZ21lbnQK
LUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFib3J0aW5n
IGR1cmluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwgaW5pdGlh
bGl6YXRpb24gc2VnbWVudC4KQEAgLTEzLDcgKzEyLDYgQEAgRVZFTlQobG9hZGVkZGF0YSkKIAog
cnVubmluZyBhYm9ydER1cmluZ01lZGlhU2VnbWVudAogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxv
YWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBUZXN0IGFib3J0aW5nIGluIHRoZSBt
aWRkbGUgb2YgYSBtZWRpYSBzZWdtZW50LgogQXBwZW5kaW5nIHBhcnRpYWwgbWVkaWEgc2VnbWVu
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwKaW5kZXggNDg5
Yzk1YTk5OGMwNTgyYzZmMDYwYTU3NjY5YzE2ZTZiMDg2OTgzMi4uMzE4MTQ1NmE4YjVjZTZhNGE0
MjRjYjFkMmUxNzEwZmJiZjMyZTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWFib3J0Lmh0bWwKQEAgLTksNyArOSw3IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGFi
b3J0RHVyaW5nSW5pdFNlZ21lbnQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKIAogICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhYm9ydGluZyBkdXJpbmcgaW5pdGlhbGl6YXRpb24g
c2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICB0cnkgewpAQCAtMTcsMTAgKzE3LDEwIEBACiAg
ICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsSW5pdFNlZ21lbnQgPSBpbml0U2VnbWVudC5z
dWJhcnJheSgwLCBpbml0U2VnbWVudC5sZW5ndGggLyAyKTsKIAogICAgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0aW9uIHNlZ21lbnQu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChzZWdt
ZW50SGVscGVyLlNvdXJjZUlELCBwYXJ0aWFsSW5pdFNlZ21lbnQpOworICAgICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQocGFydGlhbEluaXRTZWdtZW50
KTsKIAogICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFib3J0aW5nIGFwcGVuZC4i
KTsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVu
dEhlbHBlci5Tb3VyY2VJRCk7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291
cmNlQnVmZmVyLmFib3J0KCk7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJB
cHBlbmRpbmcgZnVsbCBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwogICAgICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CkBAIC00Miw3ICs0Miw3IEBA
CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGFib3J0RHVyaW5nTWVkaWFTZWdtZW50KHJ1bk5leHRU
ZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRk
U291cmNlQnVmZmVyKCk7CiAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWJv
cnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIG1lZGlhIHNlZ21lbnQuIik7CiAgICAgICAgICAgICAg
ICAgdHJ5IHsKQEAgLTUxLDEwICs1MSwxMCBAQAogICAgICAgICAgICAgICAgICAgICB2YXIgcGFy
dGlhbE1lZGlhU2VnbWVudCA9IG1lZGlhU2VnbWVudC5zdWJhcnJheSgwLCBtZWRpYVNlZ21lbnQu
bGVuZ3RoIC8gMik7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRp
bmcgcGFydGlhbCBtZWRpYSBzZWdtZW50LiIpOwotICAgICAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy53ZWJraXRTb3VyY2VBcHBlbmQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCwgcGFydGlhbE1lZGlh
U2VnbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVy
LmFwcGVuZChwYXJ0aWFsTWVkaWFTZWdtZW50KTsKIAogICAgICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIkFib3J0aW5nIGFwcGVuZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCk7CisgICAgICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFib3J0KCk7CiAKICAgICAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZnVsbCBtZWRpYSBzZWdtZW50LiIp
OwogICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudCgw
KTsKQEAgLTc3LDExICs3NywxMCBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZp
bmRNZWRpYUVsZW1lbnQoKTsKIAotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0
YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2FkZWRkYXRhJyk7Ci0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7CisgICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwg
bWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwot
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKKyAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBm
YWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnZW5kZWQn
KTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQt
cmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1MWY5MWI1ZjlmZWEzMzg1
NWQ1Y2QwYjAzMzg4MzM5MDFiZmMwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NyBAQAorVGVzdHMgd2Via2l0
U291cmNlQWRkSWQoKSAmIHdlYmtpdFNvdXJjZVJlbW92ZUlkKCkgbWV0aG9kcworCitUZXN0IGFk
ZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorCitydW5uaW5nIHRlc3RBZGRCdWZm
ZXJGYWlsdXJlQ2FzZXMKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGVtcHR5IHR5cGUu
CitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBF
eGNlcHRpb24gMTUKK1Rlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4KK0dvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1Rlc3QgYSBz
dXBwb3J0ZWQgdHlwZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGNvZGVjLgorR290IGV4cGVjdGVkIGV4
Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQorVGVzdCBy
ZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4KK1Rlc3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNhbid0IGJl
IGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KK0dvdCBleHBlY3RlZCBleGNlcHRpb24g
RXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5pbmcgdGVz
dFJlbW92ZU51bGxCdWZmZXIKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IG51bGwgYnVm
ZmVyIGNhc2UKK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VS
UjogRE9NIEV4Y2VwdGlvbiAxNQorCitydW5uaW5nIHRlc3RSZW1vdmVBZ2FpbgorRVZFTlQod2Vi
a2l0c291cmNlb3BlbikKK1Rlc3QgcmVtb3ZpbmcgYSBidWZmZXIgdGhhdCB3YXMgYWxyZWFkeSBy
ZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJFbmRlZAor
RVZFTlQod2Via2l0c291cmNlb3BlbikKK1Rlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgcmVtb3Zl
ZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCisKK3J1bm5pbmcgdGVzdEFkZEJ1ZmZlckFmdGVy
UmVtb3ZpbmcKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IHRoYXQgYSBidWZmZXIgY2Fu
IGJlIGFkZGVkIGFnYWluIGFmdGVyIGl0IGlzIHJlbW92ZWQuCitVbmV4cGVjdGVkIGV4Y2VwdGlv
bjogRXJyb3I6IFFVT1RBX0VYQ0VFREVEX0VSUjogRE9NIEV4Y2VwdGlvbiAyMgorCitydW5uaW5n
IHRlc3RBcHBlbmRGYWlsdXJlQ2FzZXMKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGEg
c3VjY2Vzc2Z1bCBhcHBlbmQuCitUZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuCitHb3Qg
ZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRp
b24gMTUKK1Rlc3QgYXBwZW5kIGFmdGVyIGVuZGVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK1Rlc3QgYXBwZW5kIGFm
dGVyIGJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJv
cjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK0VORCBPRiBURVNUCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtYnVmZmVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MGZkNDUwN2I2NmQ0MWNlOTdkMDEyMDJj
ZGI0YTJkM2YyOTA3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVm
ZmVycy5odG1sCkBAIC0wLDAgKzEsMjAxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVk
aWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhl
bHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworICAgICAgICAgICAgdmFyIGRlZmF1bHRT
b3VyY2VNaW1ldHlwZSA9IHNlZ21lbnRIZWxwZXIuc2VnbWVudEluZm8udHlwZTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BZGRCdWZmZXIodHlwZSwgZXJyb3IpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIo
dHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRp
b24iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxU
ZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRp
b25PblJlbW92ZUJ1ZmZlcihidWZmZXIsIGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJj
ZUJ1ZmZlcihidWZmZXIpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQg
YW4gZXhjZXB0aW9uIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZXhw
ZWN0RXhjZXB0aW9uT25BcHBlbmQoYnVmLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1
ZmZlci5hcHBlbmQoYnVmKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVk
IGFuIGV4Y2VwdGlvbiIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRl
c3RBZGRCdWZmZXJXaGlsZUNsb3NlZCh2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4iKTsK
KyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcihkZWZhdWx0U291cmNl
TWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMocnVuTmV4
dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgZW1wdHkgdHlwZS4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNl
cHRpb25PbkFkZEJ1ZmZlcigiIiwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7CisK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4i
KTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigiYXVkaW8veC11
bnN1cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOworCisg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBh
biB1bnN1cHBvcnRlZCBjb2RlYy4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25P
bkFkZEJ1ZmZlcigidmlkZW8vd2VibTsgY29kZWNzPVwidnA4LCBzcGVleFwiIiwgRE9NRXhjZXB0
aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCByZWFjaGluZyBzb3VyY2VJRCBsaW1pdC4iKTsKKyAgICAgICAgICAgICAgICB2YXIgcmVh
Y2hlZElkTGltaXQgPSBmYWxzZTsKKworICAgICAgICAgICAgICAgIC8vIFRoZSAyMCBoZXJlIGlz
IGFuIGFyYml0cmFyeSB1cHBlciBsaW1pdCB0byBtYWtlIHN1cmUgdGhlIHRlc3QgdGVybWluYXRl
cy4gVGhpcyB0ZXN0CisgICAgICAgICAgICAgICAgLy8gYXNzdW1lcyB0aGF0IGltcGxlbWVudGF0
aW9ucyB3b24ndCBzdXBwb3J0IG1vcmUgdGhhbiAyMCBzb3VyY2VJRCdzIHNpbXVsdGFuZW91c2x5
LgorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjA7ICsraSkgeworICAgICAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
YWRkU291cmNlQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAg
ICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuY29kZSAhPSBE
T01FeGNlcHRpb24uUVVPVEFfRVhDRUVERURfRVJSKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmVhY2hlZElkTGltaXQgPSB0cnVlOworICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXJlYWNoZWRJZExpbWl0KSB7CisgICAgICAgICAg
ICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gcmVhY2ggU291cmNlSUQgbGltaXQuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNhbid0IGJlIGFk
ZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNv
dXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRk
QnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVf
RVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlcihydW5OZXh0VGVz
dENhc2UsIHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBudWxsIGJ1ZmZlciBjYXNlIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhj
ZXB0aW9uT25SZW1vdmVCdWZmZXIobnVsbCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VS
Uik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUFnYWluKHJ1bk5leHRUZXN0Q2FzZSwg
dmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IHJlbW92aW5nIGEgYnVmZmVyIHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4iKTsKKyAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNv
dXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIG1lZGlh
U291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7Cisg
ICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIoc2VnbWVudEhlbHBl
ci5zb3VyY2VCdWZmZXIsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisKKyAgICAg
ICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gdGVzdFJlbW92ZUJ1ZmZlckFmdGVyRW5kZWQocnVuTmV4dFRlc3RDYXNlLCB2
aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUu
Iik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNv
dXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgIG1lZGlhU291
cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7CisKKyAg
ICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1ZmZlckFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNl
LCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3Zl
ZC4iKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlh
U291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJj
ZUJ1ZmZlcik7CisKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihk
ZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiAr
IGUpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2Fz
ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXBwZW5kRmFp
bHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgdmFyIGluaXRTZWdtZW50ID0gc2VnbWVudEhlbHBlci5pbml0U2VnbWVudDsK
KyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTZWdtZW50ID0gc2VnbWVudEhlbHBlci5tZWRpYVNl
Z21lbnRzWzBdOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIg
PSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5kLiIp
OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVuZChpbml0
U2VnbWVudCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdp
dGggYSBudWxsIGJ1ZmZlci4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFw
cGVuZChudWxsLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuIik7CisgICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAgICAgICBleHBl
Y3RFeGNlcHRpb25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RB
VEVfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgYWZ0
ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UucmVtb3ZlU291cmNlQnVmZmVyKHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKKyAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9NRXhjZXB0
aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2Fz
ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVk
aWFTb3VyY2UpOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBm
dW5jdGlvbihzdWNjZXNzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVk
IHRvIGxvYWQgc2VnbWVudCBkYXRhIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVm
ZmVyV2hpbGVDbG9zZWQodmlkZW8pOworCisgICAgICAgICAgICAgICAgICAgIHZhciB0ZXN0Q2Fz
ZXMgPSBbCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyRmFpbHVyZUNhc2Vz
LAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZU51bGxCdWZmZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlQWdhaW4sCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJFbmRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RBZGRCdWZmZXJBZnRlclJlbW92aW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFw
cGVuZEZhaWx1cmVDYXNlcywKKyAgICAgICAgICAgICAgICAgICAgXTsKKworICAgICAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRlbywgdGVz
dENhc2VzKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgorICAgICAg
ICA8dmlkZW8+IDwvdmlkZW8+CisgICAgICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkg
JmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9wPgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMwODU5MTFhOGY1N2NiZDE0MWVmNzhkZmZmYzU2YmVhNTg4MjZkNmQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVt
b3ZlLWlkcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1UZXN0
cyB3ZWJraXRTb3VyY2VBZGRJZCgpICYgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzCi0K
LVRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24g
RXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCi0KLXJ1bm5pbmcgdGVz
dEFkZElkRmFpbHVyZUNhc2VzCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQotVGVzdCBlbXB0eSBJRCBjYXNlCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJ
TlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYWRkaW5nIHRoZSBzYW1l
IElEIGFnYWluLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEKLVRlc3QgZW1wdHkgdHlwZS4KLUdvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBh
biB1bnN1cHBvcnRlZCB0eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQotVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGgg
YW4gdW5zdXBwb3J0ZWQgY29kZWMuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1Rf
U1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5Ci1UZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxp
bWl0LgotVGVzdCB0aGF0IFNvdXJjZUlEcyBjYW4ndCBiZSBhZGRlZCB3aGlsZSBpbiB0aGUgZW5k
ZWQgc3RhdGUuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMQotCi1ydW5uaW5nIHRlc3RSZW1vdmVFbXB0eUlkCi1FVkVOVChs
b2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBlbXB0eSBJRCBjYXNlCi1H
b3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERPTSBFeGNl
cHRpb24gMTUKLQotcnVubmluZyB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZAotRVZFTlQobG9hZHN0
YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgcmVtb3ZpbmcgYW4gSUQgdGhhdCB3
YXMgbmV2ZXIgYWRkZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJS
OiBET00gRXhjZXB0aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUFnYWluCi1FVkVOVChsb2Fk
c3RhcnQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0
IHdhcyBhbHJlYWR5IHJlbW92ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5U
QVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCi0KLXJ1bm5pbmcgdGVzdFJlbW92ZUlkQWZ0ZXJFbmRl
ZAotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgdGhhdCBh
biBJRCBjYW4gYmUgcmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuCi0KLXJ1bm5pbmcg
dGVzdEFkZElkQWZ0ZXJSZW1vdmluZwotRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291
cmNlb3BlbikKLVRlc3QgdGhhdCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMg
cmVtb3ZlZC4KLVVuZXhwZWN0ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVERURfRVJS
OiBET00gRXhjZXB0aW9uIDIyCi0KLXJ1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcwotRVZF
TlQobG9hZHN0YXJ0KQotRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgYXBwZW5kIHdpdGgg
ZW1wdHkgSUQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19F
UlI6IERPTSBFeGNlcHRpb24gMTUKLVRlc3QgYXBwZW5kIHdpdGggYW4gaW52YWxpZCBJRAotR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMgot
VGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGEgc3VjY2Vz
c2Z1bCBhcHBlbmQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBE
T00gRXhjZXB0aW9uIDEyCi1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtaWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgyMzc5ZjVjYTcxZjdiNTgwNmZkZTQ5ZjY3NjFiZjA5NjJlYWEz
ZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFk
ZC1hbmQtcmVtb3ZlLWlkcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIv
bWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0
IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50LWluZm8uanMi
Pjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpzIj48L3Njcmlw
dD4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBzZWdtZW50SGVscGVyID0gbmV3
IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50ZXN0V2ViTSk7
Ci0gICAgICAgICAgICB2YXIgZGVmYXVsdFNvdXJjZU1pbWV0eXBlID0gc2VnbWVudEhlbHBlci5z
ZWdtZW50SW5mby50eXBlOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25P
bkFkZElkKHZpZGVvVGFnLCBpZCwgdHlwZSwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNl
QWRkSWQoaWQsIHR5cGUpOwotICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQg
YW4gZXhjZXB0aW9uIik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhw
ZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgaWQsIGVycm9yKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndl
YmtpdFNvdXJjZVJlbW92ZUlkKGlkKTsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4
cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9yKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBl
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0
aW9uIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCBpZCwgYnVmLCBlcnJvcikKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2
aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoaWQsIGJ1Zik7Ci0gICAgICAgICAgICAgICAgICAg
IGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAgICAgICAgICB9IGNh
dGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAi
ICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4
Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlb1RhZykKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRkaW5nIGFuIElEIHdo
aWxlIGNsb3NlZC4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZp
ZGVvVGFnLCAiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
QWRkSWRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQgY2FzZSIpOwot
ICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIiLCBkZWZh
dWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRT
b3VyY2VNaW1ldHlwZSk7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWRk
aW5nIHRoZSBzYW1lIElEIGFnYWluLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlv
bk9uQWRkSWQodmlkZW9UYWcsICIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX1NUQVRFX0VSUik7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0
U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGVtcHR5IHR5cGUuIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJ
ZCh2aWRlb1RhZywgIjIzNCIsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsK
LQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhbiB1bnN1cHBvcnRlZCB0eXBl
LiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIy
MzQiLCAiYXVkaW8veC11bnN1cHBvcnRlZC1mb3JtYXQiLCBET01FeGNlcHRpb24uTk9UX1NVUFBP
UlRFRF9FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VwcG9y
dGVkIHR5cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4iKTsKLSAgICAgICAgICAgICAgICBl
eHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgInZpZGVvL3dlYm07IGNvZGVj
cz1cInZwOCwgc3BlZXhcIiIsIERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUik7Ci0KLSAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQu
Iik7Ci0gICAgICAgICAgICAgICAgdmFyIHJlYWNoZWRJZExpbWl0ID0gZmFsc2U7Ci0KLSAgICAg
ICAgICAgICAgICAvLyBUaGUgMjAgaGVyZSBpcyBhbiBhcmJpdHJhcnkgdXBwZXIgbGltaXQgdG8g
bWFrZSBzdXJlIHRoZSB0ZXN0IHRlcm1pbmF0ZXMuIFRoaXMgdGVzdAotICAgICAgICAgICAgICAg
IC8vIGFzc3VtZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgd29uJ3Qgc3VwcG9ydCBtb3JlIHRoYW4g
MjAgc291cmNlSUQncyBzaW11bHRhbmVvdXNseS4KLSAgICAgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDIwOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUlEID0g
InNvdXJjZUlELSIgKyBpOwotICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoc291cmNlSUQsIGRlZmF1bHRT
b3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGUuY29kZSAhPSBET01FeGNlcHRpb24uUVVPVEFfRVhDRUVE
RURfRVJSKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0
ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBl
OwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgcmVh
Y2hlZElkTGltaXQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBp
ZiAoIXJlYWNoZWRJZExpbWl0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWls
ZWQgdG8gcmVhY2ggU291cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgdGhhdCBTb3VyY2VJRHMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0YXRl
LiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZp
ZGVvVGFnLkVPU19OT19FUlJPUik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25B
ZGRJZCh2aWRlb1RhZywgIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSwgRE9NRXhjZXB0aW9u
LklOVkFMSURfU1RBVEVfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlRW1wdHlJ
ZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSBJRCBjYXNlIik7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIiIsIERPTUV4Y2VwdGlvbi5JTlZB
TElEX0FDQ0VTU19FUlIpOwotCi0gICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVOb25leGlzdGVu
dElkKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIG5ldmVyIGFk
ZGVkLiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9U
YWcsICIzNDUiLCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBy
dW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdFJlbW92ZUFnYWluKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQg
d2FzIGFscmVhZHkgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRT
b3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgiMTIzIik7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVJZCh2aWRlb1RhZywgIjEyMyIsIERPTUV4Y2VwdGlvbi5T
WU5UQVhfRVJSKTsKLQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkKHJ1
bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYW4gSUQgY2FuIGJlIHJlbW92ZWQgd2hpbGUgaW4gdGhl
IGVuZGVkIHN0YXRlLiIpOwotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFk
ZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7Ci0gICAg
ICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOwotCi0gICAg
ICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RBZGRJZEFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNlLCB2aWRl
b1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qg
dGhhdCBhbiBJRCBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4iKTsKLSAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNv
dXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1v
dmVJZCgiMTIzIik7Ci0KLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBl
KTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKLSAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFwcGVuZEZhaWx1cmVDYXNlcyhydW5OZXh0VGVz
dENhc2UsIHZpZGVvVGFnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBpbml0
U2VnbWVudCA9IHNlZ21lbnRIZWxwZXIuaW5pdFNlZ21lbnQ7Ci0gICAgICAgICAgICAgICAgdmFy
IG1lZGlhU2VnbWVudCA9IHNlZ21lbnRIZWxwZXIubWVkaWFTZWdtZW50c1swXTsKLQotICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNl
TWltZXR5cGUpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3
aXRoIGVtcHR5IElELiIpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5k
KHZpZGVvVGFnLCAiIiwgaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19F
UlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRoIGFu
IGludmFsaWQgSUQiKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2
aWRlb1RhZywgIjIzNCIsIGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7Ci0K
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1
ZmZlci4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1Rh
ZywgIjEyMyIsIG51bGwsIERPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpOwotCi0gICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGEgc3VjY2Vzc2Z1bCBhcHBlbmQuIik7Ci0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKCIxMjMiLCBpbml0U2Vn
bWVudCk7Ci0KLSAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZCgi
MTIzIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcs
ICIxMjMiLCBtZWRpYVNlZ21lbnQsIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKLQotICAgICAg
ICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBvbkxvYWQoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZpbmRN
ZWRpYUVsZW1lbnQoKTsKLQotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0
Jyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0K
LSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nl
c3MpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdt
ZW50IGRhdGEiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RBZGRJZFdoaWxlQ2xvc2VkKHZp
ZGVvKTsKLQotICAgICAgICAgICAgICAgICAgICB2YXIgdGVzdENhc2VzID0gWwotICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEFkZElkRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJlbW92ZUVtcHR5SWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVt
b3ZlTm9uZXhpc3RlbnRJZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVBZ2Fp
biwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVJZEFmdGVyRW5kZWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkSWRBZnRlclJlbW92aW5nLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcywKLSAgICAgICAgICAgICAgICAgICAg
XTsKLQotICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc3RhcnRTb3VyY2VPcGVu
VGVzdGluZyh2aWRlbywgdGVzdENhc2VzKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0i
b25Mb2FkKCkiPgotICAgICAgICA8dmlkZW8+IDwvdmlkZW8+Ci0gICAgICAgIDxwPlRlc3RzIHdl
YmtpdFNvdXJjZUFkZElkKCkgJmFtcDsgd2Via2l0U291cmNlUmVtb3ZlSWQoKSBtZXRob2RzPC9w
PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKaW5kZXggNTVmMjBiYjFjNzhiYzkzODQ1MDJm
OGE2NTQzMDAwYzFlYzg1N2JlOS4uMmU2YjM0MGY1ODE0MjVjYWY5OGU4OTU0NWRkMjg2ZjIxZGEy
ZWJjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9y
cy1leHBlY3RlZC50eHQKQEAgLTIsNDEgKzIsMzYgQEAgVGVzdHMgZXJyb3IgY2FzZXMgd2l0aCBN
ZWRpYVNvdXJjZSBBUEkKIAogCiBydW5uaW5nIGRpZE5vdFNlbmRJbml0U2VnbWVudEZpcnN0Ci1F
VkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhcHBlbmRpbmcg
YSBtZWRpYSBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50
LgogRVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcg
aW1tZWRpYXRlRGVjb2RlRXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQoZW1wdGllZCkKLUVWRU5U
KGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0IHNpZ25hbGxpbmcgYSBk
ZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbS4KK1Rlc3Qgc2lnbmFsbGlu
ZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgogRVZFTlQod2Vi
a2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JU
RUQKIAogcnVubmluZyBpbW1lZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbQogRVZFTlQo
ZW1wdGllZCkKLUVWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCi1UZXN0
IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0u
CitUZXN0IHNpZ25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZT
dHJlYW0uCiBFVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VS
Ul9TUkNfTk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGRlY29kZUVycm9yQWZ0ZXJIYXZlTWV0YWRh
dGEKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQotVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5k
T2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhl
IEhBVkVfTUVUQURBVEEgc3RhdGUuCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0
aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBk
YXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVWRU5UKGxvYWRlZG1ldGFk
YXRhKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJf
REVDT0RFCiAKIHJ1bm5pbmcgbmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEKIEVWRU5UKGVt
cHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBz
aWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFm
dGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFE
QVRBIHN0YXRlLgorVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291
cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0
IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgogRVZFTlQobG9hZGVkbWV0YWRhdGEpCiBFVkVO
VCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9ORVRXT1JLCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKaW5kZXggZmU5Y2Vh
YWI1NGVhYzAyOTJhYTkzZWUwNThlNWZiYmJjOTIwMGVkZC4uMDlhYWU1NzYyODI4MmRjZTY2Zjc5
MWM3ODVkYjAyMDQ0ZDJhNTFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1lcnJvcnMuaHRtbApAQCAtMjMsNDYgKzIzLDQ2IEBACiAgICAgICAgICAgICBmdW5jdGlvbiBk
aWROb3RTZW5kSW5pdFNlZ21lbnRGaXJzdChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmRpbmcg
YSBtZWRpYSBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIHRoZSBpbml0aWFsaXphdGlvbiBzZWdtZW50
LiIpOwotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBmdW5jdGlvbiBpbW1lZGlhdGVEZWNvZGVFcnJvclZpYUVuZE9mU3RyZWFt
KHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Vi
a2l0U291cmNlRW5kT2ZTdHJlYW0uIik7Ci0gICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9
IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlRW5k
T2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfREVDT0RFX0VSUik7CisgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVk
aWFTb3VyY2UuZW5kT2ZTdHJlYW0uIik7CisgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0g
ZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgi
ZGVjb2RlIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGltbWVkaWF0
ZU5ldHdvcmtFcnJvclZpYUVuZE9mU3RyZWFtKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxp
bmcgYSBuZXR3b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7Ci0gICAg
ICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAg
IHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05F
VFdPUktfRVJSKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGlu
ZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbS4iKTsKKyAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBkZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhKHJ1bk5leHRUZXN0
Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRP
ZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUg
SEFWRV9NRVRBREFUQSBzdGF0ZS4iKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgp
OworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2Rl
IGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRl
ZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7CisgICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRp
bE1ldGFkYXRhTG9hZGVkKHZpZGVvVGFnLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1M
TWVkaWFFbGVtZW50LkVPU19ERUNPREVfRVJSKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UuZW5kT2ZTdHJlYW0oImRlY29kZSIpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBuZXR3b3JrRXJyb3JBZnRlckhhdmVNZXRh
ZGF0YShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRo
IHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRh
dGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOwotICAgICAgICAgICAgICAg
IHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNp
Z25hbGxpbmcgYSBuZXR3b3JrIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0
ZXIgd2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURB
VEEgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7
CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKICAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAgICAgICAgICAg
ICAgICAgYXBwZW5kVW50aWxNZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rpb24oKQogICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNl
RW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTkVUV09SS19FUlIpOworICAgICAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgibmV0d29yayIpOwogICAgICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgfQogCkBAIC03MCwxMSArNzAsMTAgQEAKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKLSAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnbG9hZGVkbWV0YWRhdGEnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNv
dXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CisgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFs
c2UsIG1lZGlhU291cmNlKTsKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dAppbmRleCAxZTc4NzVjMjE1MTUwZTkwODNhNzQ1YmM5NWQ0YzlkNmEzNzIx
NDZlLi5lMjdmYWQ5MjVkMmMyMDZlNjcyNWVmOTljZjA5OThkNWE5ZjQyNzkxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBUZXN0IE1lZGlhIFNvdXJjZSBldmVu
dCBoYW5kbGVyIGF0dHJpYnV0ZXMKIAogb25Mb2FkKCkKIG9uU291cmNlT3BlbigpCi1DYWxsaW5n
IHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBl
dmVudC4KK0NhbGxpbmcgTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtp
dHNvdXJjZWVuZGVkIGV2ZW50Lgogb25Tb3VyY2VFbmRlZCgpCiBTZXR0aW5nIHNyYyBhdHRyaWJ1
dGUgdG8gIiIgdG8gdHJpZ2dlciBhIHdlYmtpdHNvdXJjZWNsb3NlZCBldmVudC4KIG9uU291cmNl
Q2xvc2UoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVu
dC1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggZmYyZjdjODhiMGZjOTJlOTI3ZThjN2ZlOGRjZTE3Nzgy
NWZkYWRmZS4uNTJjMGFjOWM2MzVkMmUxOTM5M2RlYTJhODM2NDgxNGQxYWI2NDI5MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRl
cy5odG1sCkBAIC0zLDIyICszLDI2IEBACiAgICA8aGVhZD4KICAgICAgICA8c2NyaXB0IHNyYz0i
L21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3Bl
bih2aWRlbykKKworICAgICAgICAgICB2YXIgdmlkZW8gPSBudWxsOworICAgICAgICAgICB2YXIg
bWVkaWFTb3VyY2UgPSBudWxsOworCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3Blbigp
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VPcGVu
KCkiKTsKLQotICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIHdlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsKLSAg
ICAgICAgICAgICAgIHZpZGVvLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1l
bnQuRU9TX05PX0VSUk9SKTsKKyAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2FsbGluZyBN
ZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZl
bnQuIik7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwogICAgICAg
ICAgICB9CiAKLSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCh2aWRlbykKKyAgICAg
ICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFbmRlZCgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgib25Tb3VyY2VFbmRlZCgpIik7CiAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlNldHRpbmcgc3JjIGF0dHJpYnV0ZSB0byBcIlwiIHRvIHRyaWdnZXIgYSB3ZWJr
aXRzb3VyY2VjbG9zZWQgZXZlbnQuIik7CiAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSAiIjsK
KyAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgICAgfQogCi0gICAgICAgICAgIGZ1
bmN0aW9uIG9uU291cmNlQ2xvc2UodmlkZW8pCisgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNl
Q2xvc2UoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291
cmNlQ2xvc2UoKSIpOwogICAgICAgICAgICAgICAgZW5kVGVzdCgpOwpAQCAtMjcsMTMgKzMxLDE3
IEBACiAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZChlKQogICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIm9uTG9hZCgpIik7Ci0gICAgICAgICAgICAgICB2YXIgdmlk
ZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndicpOwotICAgICAgICAgICAgICAgdmlkZW8u
c3JjID0gdmlkZW8ud2Via2l0TWVkaWFTb3VyY2VVUkw7CisgICAgICAgICAgICAgICB2aWRlbyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Jyk7CisgICAgICAgICAgICAgICBtZWRpYVNvdXJj
ZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9u
U291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlY2xvc2UnLCBvblNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgIHZp
ZGVvLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3VyY2UpOwogICAgICAg
ICAgICB9CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBvbmxvYWQ9Im9u
TG9hZCgpIj4KICAgICAgICA8cD5UZXN0IE1lZGlhIFNvdXJjZSBldmVudCBoYW5kbGVyIGF0dHJp
YnV0ZXM8L3A+Ci0gICAgICAgPHZpZGVvIGlkPSd2JyBvbndlYmtpdHNvdXJjZW9wZW49J29uU291
cmNlT3Blbih0aGlzKScgb253ZWJraXRzb3VyY2VlbmRlZD0nb25Tb3VyY2VFbmRlZCh0aGlzKTsn
IG9ud2Via2l0c291cmNlY2xvc2U9J29uU291cmNlQ2xvc2UodGhpcyk7Jz48L3ZpZGVvPgorICAg
ICAgIDx2aWRlbyBpZD0ndic+PC92aWRlbz4KICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1vYmplY3RzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzA4ZTI2MjhlMDcxNzJlMmQ5YTVmOGU1MDA1MTZkOWI3MmUxNzU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAK
K1Rlc3RzIE1lZGlhU291cmNlLCBTb3VyY2VCdWZmZXIsIGFuZCBTb3VyY2VCdWZmZXJMaXN0IG9i
amVjdHMuCisKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IE1lZGlhU291cmNlIG9iamVj
dCB0eXBlCitFWFBFQ1RFRCAobWVkaWFTb3VyY2UgPT0gJ1tvYmplY3QgTWVkaWFTb3VyY2VdJykg
T0sKK0VYUEVDVEVEIChtZWRpYVNvdXJjZSBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYVNvdXJjZSA9
PSAndHJ1ZScpIE9LCisKK0FkZCBhIFNvdXJjZUJ1ZmZlcgorRVhQRUNURUQgKG1lZGlhU291cmNl
LnNvdXJjZUJ1ZmZlcnMubGVuZ3RoID09ICcwJykgT0sKK1JVTihzZWdtZW50SGVscGVyLmFkZFNv
dXJjZUJ1ZmZlcigpKQorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMubGVuZ3Ro
ID09ICcxJykgT0sKKworVGVzdCBTb3VyY2VCdWZmZXJMaXN0IG9iamVjdCB0eXBlOgorRVhQRUNU
RUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgPT0gJ1tvYmplY3QgU291cmNlQnVmZmVyTGlz
dF0nKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgaW5zdGFuY2VvZiB3
aW5kb3cuU291cmNlQnVmZmVyTGlzdCA9PSAndHJ1ZScpIE9LCisKK1Rlc3QgU291cmNlQnVmZmVy
IG9iamVjdCB0eXBlCitFWFBFQ1RFRCAoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgaW5zdGFu
Y2VvZiB3aW5kb3cuU291cmNlQnVmZmVyID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzWzBdIGluc3RhbmNlb2Ygd2luZG93LlNvdXJjZUJ1ZmZlciA9PSAn
dHJ1ZScpIE9LCisKK0FwcGVuZCBpbml0IHNlZ21lbnQKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5z
b3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmxlbmd0aCA9PSAnMCcpIE9LCisKK0FwcGVuZCAxIHNl
Y29uZCBvZiBkYXRhLgorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVm
ZmVyZWQubGVuZ3RoID09ICcxJykgT0sKK0VYUEVDVEVEIChtZWRpYVNvdXJjZS5zb3VyY2VCdWZm
ZXJzWzBdLmJ1ZmZlcmVkLnN0YXJ0KDApID09ICcwJykgT0sKK0VYUEVDVEVEIChtZWRpYVNvdXJj
ZS5zb3VyY2VCdWZmZXJzWzBdLmJ1ZmZlcmVkLmVuZCgwKSA+ICcxJykgT0sKKworUmVtb3ZlIFNv
dXJjZUJ1ZmZlcgorUlVOKG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVs
cGVyLnNvdXJjZUJ1ZmZlcikpCitFWFBFQ1RFRCAobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5s
ZW5ndGggPT0gJzAnKSBPSworRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgPT0g
J1tvYmplY3QgU291cmNlQnVmZmVyTGlzdF0nKSBPSworCitUZXN0IHRoYXQgYXBwZW5kKCkgdGhy
b3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLgorR290IGV4
cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24g
MTEKK1Rlc3QgdGhhdCBidWZmZXJlZCB0aHJvd3MgYW4gZXJyb3IgYWZ0ZXIgU291cmNlQnVmZmVy
IGhhcyBiZWVuIHJlbW92ZWQuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorRVhQRUNURUQgKG1lZGlhU291cmNlLnNvdXJj
ZUJ1ZmZlcnMubGVuZ3RoID09ICcwJykgT0sKK1Rlc3QgdGhhdCBhZGRTb3VyY2VCdWZmZXIoKSB0
aHJvd3MgYW5kIGVycm9yIHdoZW4gdGhlIE1lZGlhU291cmNlIGlzIG5vdCBhc3NvY2lhdGVkIHdp
dGggYSBtZWRpYSBlbGVtZW50LgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1vYmplY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS92aWRlby1tZWRpYS1zb3VyY2Utb2JqZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1Y2E3OGI5
NTJiZTZjNmE1NWJjYjQ0Y2E0YTQ4ZWM4YzQyNzk0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
b2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMv
bWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVu
dEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworCisgICAgICAgICAgICBmdW5jdGlv
biBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJUZXN0IE1lZGlhU291cmNlIG9iamVjdCB0eXBlIik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZSIsIGV2ZW50LnRhcmdldCk7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZSBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYVNv
dXJjZSIsIHRydWUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFkZCBhIFNvdXJjZUJ1ZmZlciIpOworCisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCIs
IDApOworCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRhZGRzb3VyY2VidWZmZXInLCBvblNvdXJjZUJ1ZmZlckFkZGVkKTsK
KworICAgICAgICAgICAgICAgIHJ1bigic2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKSIp
OworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIlRlc3QgU291cmNlQnVmZmVyIG9iamVjdCB0eXBlIik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciBpbnN0YW5jZW9m
IHdpbmRvdy5Tb3VyY2VCdWZmZXIiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0gaW5zdGFuY2VvZiB3aW5kb3cuU291cmNl
QnVmZmVyIiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kIGluaXQgc2VnbWVudCIpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5idWZm
ZXJlZC5sZW5ndGgiLCAwKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZElu
aXRTZWdtZW50KCk7CisKKyAgICAgICAgICAgICAgICAvLyBBcHBlbmQganVzdCBlbm91Z2ggc2Vn
bWVudHMgdG8gaW5jbHVkZSBhdCBsZWFzdCAxIHNlY29uZCBvZiBtZWRpYSBkYXRhLgorICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJBcHBlbmQgMSBzZWNvbmQgb2YgZGF0YS4iKTsKKyAgICAgICAgICAgICAgICB2YXIgZW5kSW5k
ZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1wKDEpOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZEluZGV4OyBpKyspCisgICAg
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KGkpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS5i
dWZmZXJlZC5sZW5ndGgiLCAxKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlh
U291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVyZWQuc3RhcnQoMCkiLCAwKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0uYnVmZmVy
ZWQuZW5kKDApIiwgMSwgJz4nKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJSZW1vdmUgU291cmNlQnVmZmVyIik7CisK
KyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHJlbW92ZXNvdXJjZWJ1ZmZlcicsIG9uU291cmNlQnVmZmVyUmVtb3ZlZCk7CisK
KyAgICAgICAgICAgICAgICBydW4oIm1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdt
ZW50SGVscGVyLnNvdXJjZUJ1ZmZlcikiKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCB0aGF0IGFkZFNvdXJjZUJ1ZmZlcigpIHRocm93cyBhbmQgZXJyb3Igd2hlbiB0aGUg
TWVkaWFTb3VyY2UgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGVsZW1lbnQuIik7Cisg
ICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlMiA9IG5ldyBNZWRpYVNvdXJjZSgpOworICAg
ICAgICAgICAgICAgIHZpZGVvLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFT
b3VyY2UyKTsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBtZWRp
YVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlzLHZwOCIn
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUJ1ZmZlckFkZGVkKGV2ZW50KQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uu
c291cmNlQnVmZmVycy5sZW5ndGgiLCAxKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IFNvdXJjZUJ1ZmZlckxp
c3Qgb2JqZWN0IHR5cGU6Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzIiwgZXZlbnQudGFyZ2V0KTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgaW5zdGFuY2VvZiB3aW5kb3cuU291
cmNlQnVmZmVyTGlzdCIsIHRydWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBvblNvdXJjZUJ1ZmZlclJlbW92ZWQoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzLmxlbmd0aCIs
IDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFTb3VyY2Uuc291cmNlQnVm
ZmVycyIsIGV2ZW50LnRhcmdldCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIp
OworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFwcGVuZCgpIHRocm93
cyBhbiBlcnJvciBhZnRlciBTb3VyY2VCdWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKTsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVu
ZE1lZGlhU2VnbWVudCgwKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHRoYXQgYnVmZmVyZWQgdGhyb3dzIGFuIGVycm9yIGFmdGVyIFNvdXJjZUJ1ZmZlciBoYXMgYmVl
biByZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZChzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5idWZmZXJlZCwgMCk7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMu
bGVuZ3RoIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9h
ZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwor
CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKworICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVk
aWFTb3VyY2UpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5k
ZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisKKyAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VP
cGVuKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rp
b24oc3VjY2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICgh
c3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxlZCB0byBs
b2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0
LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvKTsKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
IG9ubG9hZD0ib25Mb2FkKCkiPgorICAgICAgICA8dmlkZW8+IDwvdmlkZW8+CisgICAgICAgIDxw
PlRlc3RzIE1lZGlhU291cmNlLCBTb3VyY2VCdWZmZXIsIGFuZCBTb3VyY2VCdWZmZXJMaXN0IG9i
amVjdHMuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dAppbmRleCAxOTg4YjcyY2QyZjkxOGYy
NGNhODIxZGUxOTE4YjAxMzY0ZWIxY2FjLi41MWEyMDU0MTI1ZGY3OTVhNjIxMzBlNjhlNDg3NzZk
M2M4ZDhjNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBs
YXktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNSBAQAogVGVzdHMgbm9ybWFsIHBsYXliYWNrIGNh
c2Ugd2l0aCBNZWRpYVNvdXJjZSBBUEkKIAotRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0
c291cmNlb3BlbikKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQocGxheWluZykKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDNhYjhlNDU2ZTE3
ODgxYWM1N2U4Y2VmMTg5YjU1N2IzNTFkZjUwYjMuLmQ1Njc5ZWI2M2Y0MTVmZmZjNjAzNWIxZWEx
MDE3M2VmYjc5Y2RlMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXku
aHRtbApAQCAtOSwyOCArOSwyOSBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9w
ZW4oZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5h
ZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVm
ZmVyKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgp
OwogCiAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGp1c3QgZW5vdWdoIHNlZ21lbnRzIHRvIGlu
Y2x1ZGUgYXQgbGVhc3QgMSBzZWNvbmQgb2YgbWVkaWEgZGF0YS4KICAgICAgICAgICAgICAgICB2
YXIgZW5kSW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0
YW1wKDEpOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGVuZEluZGV4OyBp
KyspCiAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50
KGkpOwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CisgICAgICAgICAgICAgICAgZXZlbnQu
dGFyZ2V0LmVuZE9mU3RyZWFtKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0
aW9uIG9uTG9hZCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOwogCisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2Uo
KTsKKwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7Ci0gICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKLSAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7
CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNv
dXJjZSk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKCdlbmRlZCcpOwogCi0g
ICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CiAKICAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCiAgICAgICAgICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKaW5kZXgg
ZDI0N2VkNWQ0YzU2N2ZiYzExZWJhNTY0YWNkNjI1NWU2Yjk5MWQxYS4uMmRjMWU2NjBjMTE1YzI5
ZTg2NTBiZGE3YzM3YTc0NTRlZjM4Mjk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2Utc2Vlay5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgKGZp
cnN0T3BlbikgewogICAgICAgICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsKIAotICAg
ICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CiAgICAgICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwogICAgICAgICAg
ICAgICAgIH0KQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7CiAKICAgICAgICAgICAgICAgICAvLyBDYWxsIGFib3J0IHRvIG1ha2Ug
c3VyZSB0aGUgc291cmNlIGJ1ZmZlciBpcyBpbiBhIHN0YXRlIHdoZXJlIGl0IGNhbiBhY2NlcHQg
bmV3IHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0
KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFi
b3J0KCk7CiAKICAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IHNlZ21lbnRIZWxwZXIu
Z2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAodmlkZW9UYWcuY3VycmVudFRpbWUpOwog
ICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbShzdGFy
dEluZGV4KTsKQEAgLTYwLDEwICs2MCwxMSBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0g
bmV3IE1lZGlhU291cmNlKCk7CisKICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWls
KCdlcnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7Ci0g
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1l
ZGlhU291cmNlKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVu
ZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwogICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgncGxheWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vl
a2luZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1l
eHBlY3RlZC50eHQKaW5kZXggYTc5NWQ5OGNkMjg1OWNjMTY5ZWIzYmViNzNiMmFiNWJiODIyNjY4
MS4uMzc5MDVlMjE1NTc3MmE1ODk1YzRhYjAxM2IyN2E0ZTE3ZTkxMjFjOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291
cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxMyBAQAogVGVzdHMgTWVkaWFTb3VyY2UgQVBJIHN0YXRl
IHRyYW5zaXRpb25zLgogCi13ZWJraXRTb3VyY2VTdGF0ZSA6IFNPVVJDRV9DTE9TRUQKLUVWRU5U
KGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KK3dlYmtp
dFNvdXJjZVN0YXRlIDogY2xvc2VkCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9u
Rmlyc3RTb3VyY2VPcGVuCi1FVkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQK
K0VWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IGVuZGVkCiBvbkZpcnN0U291cmNlRW5kZWQKIEVW
RU5UKHBsYXlpbmcpCiB0cmlnZ2VyRmlyc3RTZWVrCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6
IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIEVWRU5UKHNlZWtp
bmcpCiBvbkZpcnN0U2Vla2luZwogRVZFTlQoc2Vla2VkKQpAQCAtMTcsMjEgKzE2LDE5IEBAIEVW
RU5UKHNlZWtpbmcpCiBvblNlY29uZFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKIG9uU2Vjb25kU2Vl
a2VkCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECitFVkVOVCh3ZWJr
aXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uRmlyc3RTb3VyY2VDbG9zZQogRVZFTlQoZW1wdGll
ZCkKLUVWRU5UKGxvYWRzdGFydCkKLUVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09Q
RU4KK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgogb25TZWNvbmRTb3VyY2VPcGVuCi1F
VkVOVCh3ZWJraXRzb3VyY2VlbmRlZCkgOiBTT1VSQ0VfRU5ERUQKK0VWRU5UKHdlYmtpdHNvdXJj
ZWVuZGVkKSA6IGVuZGVkCiBvblNlY29uZFNvdXJjZUVuZGVkCiBFVkVOVChwbGF5aW5nKQogdHJp
Z2dlclNlY29uZFNvdXJjZUNsb3NlCi1FVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0Vf
Q0xPU0VECitFVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBjbG9zZWQKIG9uU2Vjb25kU291cmNl
Q2xvc2UKIEVWRU5UKGVtcHRpZWQpCi1FVkVOVChsb2Fkc3RhcnQpCi1FVkVOVCh3ZWJraXRzb3Vy
Y2VvcGVuKSA6IFNPVVJDRV9PUEVOCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KIG9u
VGhpcmRTb3VyY2VPcGVuCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hh
bmdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAppbmRleCA5YTU0ZGNkN2ZhNDY5ZTYw
OTE5ZTViNjRkZTBhZDExOTE0ZmFmYjRiLi5mMjZjZDUyODA4MDU2NmYyOGI0MjczYTA2NzMwYjEw
ZTEwNGM4OGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1z
dGF0ZS1jaGFuZ2VzLmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgICAgICB2YXIgc2VnbWVu
dEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudElu
Zm8udGVzdFdlYk0pOwogICAgICAgICAgICAgdmFyIHNlZWtUaW1lOwogCi0gICAgICAgICAgICBm
dW5jdGlvbiBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZywgc2VnbWVudFNlZWtU
aW1lKQorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsoc2Vn
bWVudFNlZWtUaW1lKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciBpbmRleCA9
IHNlZ21lbnRIZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAoc2VnbWVudFNl
ZWtUaW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5kSW5kZXggPSBpbmRleCArIDI7CkBAIC0x
OSwxNCArMTksMTQgQEAKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAo
aW5kZXggPj0gdG90YWxNZWRpYVNlZ21lbnRzKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVv
VGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9S
KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VFdmVudChldmVudCkKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50eXBlICsg
JykgOiAnICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShldmVudC50YXJnZXQu
d2Via2l0U291cmNlU3RhdGUpKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ0VWRU5U
KCcgKyBldmVudC50eXBlICsgJykgOiAnICsgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3BlbihldmVu
dCkKQEAgLTM2LDE3ICszNiwxNyBAQAogICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZp
cnN0IHRpbWUgdGhlIHNvdXJjZSBpcyBvcGVuZWQuIFdlIGp1c3Qgd2FudCB0byBhcHBlbmQKICAg
ICAgICAgICAgICAgICAvLyB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBhbmQgYWxsIG1lZGlh
IHNlZ21lbnRzIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLgogICAgICAgICAgICAgICAgIC8vIFRo
aXMgaXMgdGVzdGluZyB0aGUKLSAgICAgICAgICAgICAgICAvLyBTT1VSQ0VfQ0xPU0VEIC0+IFNP
VVJDRV9PUEVOIC0+IFNPVVJDRV9FTkRFRCB0cmFuc2l0aW9uIHBhdGguCisgICAgICAgICAgICAg
ICAgLy8gImNsb3NlZCIgLT4gIm9wZW4iIC0+ICJlbmRlZCIgdHJhbnNpdGlvbiBwYXRoLgogCi0g
ICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZp
cnN0U291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJ
ZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAg
ICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxw
ZXIuYWRkU291cmNlQnVmZmVyKCk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Qu
ZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4p
OworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRp
YVNvdXJjZSwgIm9wZW4iKTsKIAogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5k
SW5pdFNlZ21lbnQoKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9u
Rmlyc3RTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAvLyBTdGFydCBhcHBlbmRpbmcg
bWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRVbnRp
bEVuZE9mU3RyZWFtKDApOwpAQCAtNTUsMTIgKzU1LDEzIEBACiAgICAgICAgICAgICBmdW5jdGlv
biBvbkZpcnN0U291cmNlRW5kZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJvbkZpcnN0U291cmNlRW5kZWQiKTsKLSAgICAgICAgICAgICAgICB2
YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVt
b3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCB2aWRlb1RhZy5TT1VSQ0VfRU5ERUQpOworICAgICAgICAgICAgICAgIHZhciBtZWRp
YVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1v
dmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7
CisKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVk
aWFTb3VyY2UsICJlbmRlZCIpOwogCi0gICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRM
aXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOworICAgICAgICAgICAgICAgIHZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlckZpcnN0U2VlayhldmVudCkK
QEAgLTcxLDcgKzcyLDcgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExp
c3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vlayk7CiAKICAgICAgICAgICAgICAgICAv
LyBOb3cgdGhhdCB3ZSBoYXZlIGFwcGVuZGVkIGFsbCBvZiB0aGUgbWVkaWEgc2VnbWVudHMgYW5k
IGVuZGVkIHRoZSBzdHJlYW0sCi0gICAgICAgICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8g
dGVzdCB0aGUgU09VUkNFX0VOREVEIC0+IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24uCisgICAgICAg
ICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVzdCB0aGUgImVuZGVkIiAtPiAib3BlbiIg
dHJhbnNpdGlvbi4KICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdz
ZWVraW5nJywgb25GaXJzdFNlZWtpbmcpOwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2
ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uRmlyc3RTZWVrZWQpOwogICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC04NCwxMCArODUsMTAgQEAKICAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAg
dmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVraW5nKTsK
IAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRl
b1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVk
aWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCiAg
ICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgotICAgICAg
ICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5j
dXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWso
dmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5j
dGlvbiBvbkZpcnN0U2Vla2VkKGV2ZW50KQpAQCAtOTcsOSArOTgsOSBAQAogICAgICAgICAgICAg
ICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKIAotICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRN
TE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOwogCi0gICAgICAgICAg
ICAgICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVzdCBzZWVraW5nIHdoaWxlIHN0aWxsIGluIFNP
VVJDRV9PUEVOLgorICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBpcyB0aW1lIHRvIHRlc3Qgc2Vl
a2luZyB3aGlsZSBzdGlsbCBpbiAib3BlbiIuCiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRk
RXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vjb25kU2Vla2luZyk7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVrZWQpOwog
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CkBAIC0xMTIs
MjIgKzExMywyMyBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdl
dDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVraW5n
Jywgb25TZWNvbmRTZWVraW5nKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7
CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlh
U291cmNlLCAib3BlbiIpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1l
ZGlhIHNlZ21lbnRzLgotICAgICAgICAgICAgICAgIGFwcGVuZE1lZGlhU2VnbWVudHNGb3JTZWVr
KHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5k
TWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU2Vla2VkIik7CisK
ICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVr
ZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7
CiAKLSAgICAgICAgICAgICAgICAvLyBUZXN0IFNPVVJDRV9PUEVOIC0+IFNPVVJDRV9DTE9TRUQg
LT4gU09VUkNFX09QRU4gdHJhbnNpdGlvbiBwYXRoLgotICAgICAgICAgICAgICAgIHZpZGVvVGFn
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3Nl
KTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJvcGVuIiAtPiAiY2xvc2VkIiAtPiAib3BlbiIg
dHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKICAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9U
YWcpOwogICAgICAgICAgICAgfQogCkBAIC0xMzUsMjcgKzEzNywyNyBAQAogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25GaXJzdFNvdXJjZUNsb3NlIik7CiAK
LSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAg
ICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBv
bkZpcnN0U291cmNlQ2xvc2UpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2
ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7CiAKLSAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25T
ZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExp
c3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VPcGVuKGV2ZW50KQog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25TZWNvbmRTb3Vy
Y2VPcGVuIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7
Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hZGRTb3VyY2VJZCgpOworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2
ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOwogCi0gICAgICAgICAgICAgICAg
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVt
ZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0
U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAKICAgICAgICAgICAgICAgICBzZWdt
ZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5k
ZWQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CiAKICAgICAgICAgICAgICAgICAv
LyBTdGFydCBhcHBlbmRpbmcgbWVkaWEgc2VnbWVudHMuCiAgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwpAQCAtMTY1LDEzICsxNjcsMTMgQEAK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU2Vjb25kU291
cmNlRW5kZWQiKTsKIAotICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdl
dDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOworICAgICAgICAgICAgICAgIHZhciBt
ZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5y
ZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5k
ZWQpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9FTkRFRCk7CisgICAgICAgICAgICAg
ICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiZW5kZWQi
KTsKICAgICAgICAgICAgICAgICAvL01lZGlhU291cmNlVGVzdC5leHBlY3RSZWFkeVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LkhBVkVfTk9USElORyk7CiAKLSAgICAgICAgICAgICAg
ICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlclNlY29uZFNvdXJj
ZUNsb3NlKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5n
JywgdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgZnVuY3Rpb24gdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQpAQCAtMTgxLDggKzE4
Myw4IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmln
Z2VyU2Vjb25kU291cmNlQ2xvc2UpOwogCi0gICAgICAgICAgICAgICAgLy8gVGVzdCBTT1VSQ0Vf
RU5ERUQgLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uIHBhdGguCi0g
ICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xv
c2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0ICJlbmRl
ZCIgLT4gImNsb3NlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vj
b25kU291cmNlQ2xvc2UpOwogICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNU
b01lZGlhU291cmNlVGVzdFVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKQEAgLTE5MCwy
MiArMTkyLDIyIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJvblNlY29uZFNvdXJjZUNsb3NlIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcg
PSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKLSAgICAgICAg
ICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX0NMT1NFRCk7CisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU291
cmNlID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7Cisg
ICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291
cmNlLCAiY2xvc2VkIik7CiAKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRo
aXJkU291cmNlT3Blbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9u
VGhpcmRTb3VyY2VPcGVuKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgib25UaGlyZFNvdXJjZU9wZW4iKTsKIAotICAgICAgICAgICAgICAgIHZhciB2
aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVF
dmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOwotICAg
ICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKKyAgICAgICAgICAgICAg
ICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgbWVkaWFT
b3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3Vy
Y2VPcGVuKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigp
OwogCi0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKKyAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CiAK
ICAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CkBAIC0yMTQsMjEgKzIx
NiwyMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQo
KTsKIAorICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5n
Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVrZWQnKTsKICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCdlbXB0aWVkJyk7CiAKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgdmlkZW8u
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsKLSAg
ICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScs
IG9uU291cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAgICAgICAg
ICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU291
cmNlRXZlbnQpOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VFdmVudCk7CiAKLSAgICAgICAgICAgICAgICB2
aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9w
ZW4pOworICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CiAKLSAgICAgICAgICAgICAgICBNZWRp
YVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUodmlkZW8pOworICAgICAgICAgICAgICAgIE1lZGlh
U291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSk7CiAgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YzI2NWJlYzY2N2Qx
NTJhNWM4NzJmOGMxOTRjYTJlNWQyNjgxOGY4Li41ZGU0MWQ1ZDc5ODE4NGUwZjc4ZGM5YzhkMjgy
NTMwZTM5M2ZjODdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTM0NTUsNyArMzQ1NSw4IEBAIEJVR1dLODU5NTIgOiBodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sID0gUEFTUyBU
CiBCVUdXSzg1OTUyIDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLXNlZWsuaHRtbCA9IFBBU1MgVEVYVCBUSU1FT1VUCiBCVUdXSzg1OTUyIDogaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMu
aHRtbCA9IFBBU1MgVElNRU9VVCBURVhUIENSQVNICiAKLUJVR1dLODg5NDkgOiBodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRz
Lmh0bWwgPSBQQVNTIFRFWFQgQ1JBU0gKK0JVR1dLODg5NDkgOiBodHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1s
ID0gUEFTUyBURVhUIENSQVNICitCVUdXSzg4OTQ5IDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLW9iamVjdHMuaHRtbCA9IFBBU1MgVEVYVCBDUkFTSAog
CiAvLyBTdGFydGVkIGZsYWtpbmcgYXQgYXJvdW5kIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzExNjI3OC4KIEJVR1dLODU5NTAgTElOVVggREVCVUcgOiBjb21wb3NpdGluZy9nZW9t
ZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNmb3JtZWQtb3ZlcmZsb3cuaHRtbCA9IFBBU1Mg
VEVYVAo=
</data>
<flag name="review"
          id="162530"
          type_id="1"
          status="-"
          setter="annacc"
    />
          </attachment>
      

    </bug>

</bugzilla>