<?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>169811</bug_id>
          
          <creation_ts>2017-03-17 02:39:10 -0700</creation_ts>
          <short_desc>[GStreamer] Add support for canvas captureStream, tests failing since they were added in r213598</short_desc>
          <delta_ts>2020-07-20 11:56:29 -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>WebKitGTK</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=172954</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=214559</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=214560</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>214551</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aboya</cc>
    
    <cc>alex</cc>
    
    <cc>alexs</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cturner</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>lmoura</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>talltyler</cc>
    
    <cc>tommyw</cc>
    
    <cc>tsaunier</cc>
    
    <cc>vjaquez</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1288968</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-03-17 02:39:10 -0700</bug_when>
    <thetext>fast/mediacapturefromelement/CanvasCaptureMediaStream-capture-out-of-DOM-element.html [ Crash ]
  fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html [ Crash ]
  fast/mediastream/captureStream/canvas2d-heavy-drawing.html [ Crash ]
  fast/mediastream/captureStream/canvas2d.html [ Crash ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294263</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 16:34:52 -0700</bug_when>
    <thetext>Would be cool if GTK would support that.
The port work might be limited to updating Source/WebCore/platform/graphics/ImageBuffer.cpp as done in r213598 for the Mac platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316450</commentid>
    <comment_count>2</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2017-06-07 06:17:43 -0700</bug_when>
    <thetext>*** Bug 172954 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316464</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-06-07 07:34:16 -0700</bug_when>
    <thetext>So unimplemented web-exposed WebRTC features cause web process crashes instead of JS-level failures?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316842</commentid>
    <comment_count>4</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2017-06-07 23:43:44 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; So unimplemented web-exposed WebRTC features cause web process crashes
&gt; instead of JS-level failures?

In this case it is what is happening, you can read my comment in the other bug to understand it:

https://bugs.webkit.org/show_bug.cgi?id=172954#c4

Anyway, this is an API from a different spec that defines mediaCapture of DOM elements such as canvas that can be consumed by WebRTC or WebAudio, check the spec here:

https://w3c.github.io/mediacapture-fromelement/#

If we do not have time to check it before the next release we need to guard it with something different than MEDIA_STREAM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320632</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-19 02:56:17 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #0)
&gt;   fast/mediacapturefromelement/CanvasCaptureMediaStream-capture-out-of-DOM-element.html [ Crash ]
&gt;   fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html [ Crash ]

This doesn&apos;t crash now.

&gt;   fast/mediastream/captureStream/canvas2d-heavy-drawing.html [ Crash ]
&gt;   fast/mediastream/captureStream/canvas2d.html [ Crash ]

Still crashes.

&gt; STDERR: warning: core file may not match specified executable file.
&gt; STDERR: 58	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
&gt; STDERR: g_object_get: assertion &apos;G_IS_OBJECT (object)&apos; failed

Callstack:

&gt; Thread 1 (Thread 0x7ffff7f25040 (LWP 72572)):
&gt; #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
&gt; #1  0x00007fffeb8ee37a in __GI_abort () at abort.c:89
&gt; #2  0x00007fffeb930090 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7fffeba4396c &quot;*** %s ***: %s terminated\n&quot;) at ../sysdeps/posix/libc_fatal.c:175
&gt; #3  0x00007fffeb9d1384 in __GI___fortify_fail (msg=&lt;optimized out&gt;, msg@entry=0x7fffeba4394e &quot;stack smashing detected&quot;) at fortify_fail.c:37
&gt; #4  0x00007fffeb9d1330 in __stack_chk_fail () at stack_chk_fail.c:28
&gt; #5  0x0000555556e71612 in WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded(WebCore::MediaStreamTrackPrivate&amp;) ()
&gt; #6  0x000055555694f500 in WebCore::MediaStreamTrackPrivate::endTrack() ()
&gt; #7  0x0000555555f3a42b in WebCore::MediaStreamTrack::stopTrack(WebCore::MediaStreamTrack::StopMode) ()
&gt; #8  0x0000555555f3a45e in WebCore::MediaStreamTrack::stop() ()
&gt; #9  0x00005555562fa33b in WebCore::ScriptExecutionContext::stopActiveDOMObjects() ()
&gt; #10 0x000055555627ef80 in WebCore::Document::stopActiveDOMObjects() ()
&gt; #11 0x000055555627f087 in WebCore::Document::prepareForDestruction() ()
&gt; #12 0x000055555676c1d2 in WebCore::Frame::setView(WTF::RefPtr&lt;WebCore::FrameView&gt;&amp;&amp;) ()
&gt; #13 0x000055555676efbc in WebCore::Frame::createView(WebCore::IntSize const&amp;, WebCore::Color const&amp;, bool, WebCore::IntSize const&amp;, WebCore::IntRect const&amp;, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) ()
&gt; #14 0x00007ffff578c62b in WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #15 0x00005555566357ca in WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) ()
&gt; #16 0x0000555556635913 in WebCore::FrameLoader::commitProvisionalLoad() ()
&gt; #17 0x000055555660ed17 in WebCore::DocumentLoader::finishedLoading() ()
&gt; #18 0x000055555660f309 in WebCore::DocumentLoader::maybeLoadEmpty() ()
&gt; #19 0x0000555556612362 in WebCore::DocumentLoader::startLoadingMainResource() ()
&gt; #20 0x0000555556636348 in WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::FormState*, bool, WebCore::AllowNavigationToInvalidURL) ()
&gt; #21 0x000055555666306b in WebCore::PolicyCallback::call(bool) ()
&gt; #22 0x000055555666c020 in WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction) ()
&gt; #23 0x00007ffff5794a81 in WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WebCore::FormState*, std::function&lt;void (WebCore::PolicyAction)&gt;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #24 0x000055555666b00d in WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, bool, WebCore::DocumentLoader*, WebCore::FormState*, WTF::Function&lt;void (WebCore::ResourceRequest const&amp;, WebCore::FormState*, bool)&gt;) ()
&gt; #25 0x0000555556636752 in WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WebCore::FormState*, WebCore::AllowNavigationToInvalidURL) ()
&gt; #26 0x0000555556639392 in WebCore::FrameLoader::load(WebCore::FrameLoadRequest const&amp;) ()
&gt; #27 0x00007ffff57c21f8 in WebKit::WebPage::loadRequest(WebKit::LoadParameters const&amp;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #28 0x00007ffff59aad97 in void IPC::handleMessage&lt;Messages::WebPage::LoadAlternateHTMLString, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::LoadParameters const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::LoadParameters const&amp;)) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #29 0x00007ffff59a88b9 in WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #30 0x00007ffff558f2e9 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #31 0x00007ffff56ffd36 in WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #32 0x00007ffff558ab3b in IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #33 0x00007ffff558bb28 in IPC::Connection::dispatchOneMessage() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #34 0x00007ffff3bc017d in WTF::RunLoop::performWork() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #35 0x00007ffff3bf7249 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #36 0x00007fffeeea96ea in g_main_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3212
&gt; #37 g_main_context_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3865
&gt; #38 0x00007fffeeea9aa0 in g_main_context_iterate () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3938
&gt; #39 0x00007fffeeea9dc2 in g_main_loop_run () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:4134
&gt; #40 0x00007ffff3bf7c70 in WTF::RunLoop::run() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #41 0x00007ffff5952a2a in int WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt;(int, char**) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #42 0x00007fffeb8d73f1 in __libc_start_main (main=0x555555e2c5a0 &lt;main&gt;, argc=2, argv=0x7fffffffdca8, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7fffffffdc98) at ../csu/libc-start.c:291
&gt; #43 0x0000555555e2caea in _start ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341161</commentid>
    <comment_count>6</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2017-08-22 11:20:54 -0700</bug_when>
    <thetext>The stderr above seems like an environmental issues clopez?

fast/mediastream/captureStream/canvas2d-heavy-drawing.html [ Crash ]
fast/mediastream/captureStream/canvas2d.html [ Crash ]

These are now flaky tests. heavy-drawing for example gave me this on stderr,

invalid uninstantiatable type &apos;(null)&apos; in cast to &apos;OwrMediaSource&apos;
owr_media_renderer_set_source: assertion &apos;!source || OWR_IS_MEDIA_SOURCE(source)&apos; failed

Shouldn&apos;t everything under fast/mediastream be skipped, since we don&apos;t support it IIUC?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341460</commentid>
    <comment_count>7</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2017-08-22 22:47:24 -0700</bug_when>
    <thetext>(In reply to Charlie Turner from comment #6)
&gt; The stderr above seems like an environmental issues clopez?
&gt; 
&gt; fast/mediastream/captureStream/canvas2d-heavy-drawing.html [ Crash ]
&gt; fast/mediastream/captureStream/canvas2d.html [ Crash ]
&gt; 
&gt; These are now flaky tests. heavy-drawing for example gave me this on stderr,
&gt; 
&gt; invalid uninstantiatable type &apos;(null)&apos; in cast to &apos;OwrMediaSource&apos;
&gt; owr_media_renderer_set_source: assertion &apos;!source ||
&gt; OWR_IS_MEDIA_SOURCE(source)&apos; failed
&gt; 
&gt; Shouldn&apos;t everything under fast/mediastream be skipped, since we don&apos;t
&gt; support it IIUC?

We support mediastream but we do not support captureStream for the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341482</commentid>
    <comment_count>8</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2017-08-23 01:57:42 -0700</bug_when>
    <thetext>Yes, sorry I missed the &quot;captureStream&quot; of the path there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397974</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-09 09:33:07 -0800</bug_when>
    <thetext>I suppose this will work with the libwebrtc backend?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1411435</commentid>
    <comment_count>10</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-03 09:46:13 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #9)
&gt; I suppose this will work with the libwebrtc backend?

Not really, we are still missing something for the CaptureStream API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576204</commentid>
    <comment_count>11</comment_count>
    <who name="Tyler Larson">talltyler</who>
    <bug_when>2019-10-02 15:06:46 -0700</bug_when>
    <thetext>Can we get an update on the status of this feature? And while we wait is there any other supported way to capture the canvas that currently works in iOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611385</commentid>
    <comment_count>12</comment_count>
    <who name="Alessandro">alexs</who>
    <bug_when>2020-01-27 06:38:47 -0800</bug_when>
    <thetext>Any update on this? Is there a workaround to capture the canvas stream that works on iOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611398</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-27 07:29:29 -0800</bug_when>
    <thetext>(In reply to Alessandro from comment #12)
&gt; Any update on this? Is there a workaround to capture the canvas stream that
&gt; works on iOS?

This specific bug is for the GTK port of WebKit, not iOS. Can you open a new bug please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672907</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-19 10:22:26 -0700</bug_when>
    <thetext>*** Bug 186845 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672925</commentid>
    <comment_count>15</comment_count>
      <attachid>404677</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-19 11:23:16 -0700</bug_when>
    <thetext>Created attachment 404677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672928</commentid>
    <comment_count>16</comment_count>
      <attachid>404677</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-19 11:33:29 -0700</bug_when>
    <thetext>Comment on attachment 404677
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:114
&gt; +    GstCaps* caps = gst_sample_get_caps(m_sample.get());

auto?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h:40
&gt; +    static RefPtr&lt;MediaSampleGStreamer&gt; createImageSample(Vector&lt;uint8_t&gt;&amp;&amp;, unsigned long width, unsigned long height);

This should return Ref, not RefPtr.

This should take unsigned, not unsigned long.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h:58
&gt; +    RefPtr&lt;JSC::Uint8ClampedArray&gt; getRGBAImageData() const override;

final instead of override?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672929</commentid>
    <comment_count>17</comment_count>
      <attachid>404677</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-19 11:38:37 -0700</bug_when>
    <thetext>Comment on attachment 404677
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h:40
&gt;&gt; +    static RefPtr&lt;MediaSampleGStreamer&gt; createImageSample(Vector&lt;uint8_t&gt;&amp;&amp;, unsigned long width, unsigned long height);
&gt; 
&gt; This should return Ref, not RefPtr.
&gt; 
&gt; This should take unsigned, not unsigned long.

The AVF MediaSample class would then need to be updated as well, for consistency sake, at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673013</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 02:31:09 -0700</bug_when>
    <thetext>*** Bug 214541 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673017</commentid>
    <comment_count>19</comment_count>
      <attachid>404705</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 03:01:13 -0700</bug_when>
    <thetext>Created attachment 404705
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673018</commentid>
    <comment_count>20</comment_count>
      <attachid>404706</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 03:04:44 -0700</bug_when>
    <thetext>Created attachment 404706
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673020</commentid>
    <comment_count>21</comment_count>
      <attachid>404706</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 03:13:21 -0700</bug_when>
    <thetext>Comment on attachment 404706
Patch for landing

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:49
&gt; -RefPtr&lt;MediaSampleAVFObjC&gt; MediaSampleAVFObjC::createImageSample(Vector&lt;uint8_t&gt;&amp;&amp; array, unsigned long width, unsigned long height)
&gt; +Ref&lt;MediaSampleAVFObjC&gt; MediaSampleAVFObjC::createImageSample(Vector&lt;uint8_t&gt;&amp;&amp; array, unsigned width, unsigned height)

Ah, returning a Ref here isn&apos;t possible. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673022</commentid>
    <comment_count>22</comment_count>
      <attachid>404708</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 03:16:27 -0700</bug_when>
    <thetext>Created attachment 404708
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673032</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 05:37:50 -0700</bug_when>
    <thetext>Committed r264596: &lt;https://trac.webkit.org/changeset/264596&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404708.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673060</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-20 07:22:31 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 214551</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673064</commentid>
    <comment_count>25</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 07:24:45 -0700</bug_when>
    <thetext>Thread 1 (Thread 0x7f731b5512c0 (LWP 64688)):
#0  0x00007f731d797ee5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554
#1  0x00007f731d7991c9 in g_logv (log_domain=0x7f731e11a5e0 &lt;g_log_domain_gstreamer&gt; &quot;GStreamer&quot;, log_level=G_LOG_LEVEL_CRITICAL, format=&lt;optimized out&gt;, args=args@entry=0x7fffe84e84a0) at ../glib/gmessages.c:1373
#2  0x00007f731d799393 in g_log (log_domain=&lt;optimized out&gt;, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f731d7ea77f &quot;%s: assertion &apos;%s&apos; failed&quot;) at ../glib/gmessages.c:1415
#3  0x00007f731d799b8d in g_return_if_fail_warning (log_domain=&lt;optimized out&gt;, pretty_function=pretty_function@entry=0x7f731e11b060 &lt;__func__.22596&gt; &quot;gst_memory_new_wrapped&quot;, expression=expression@entry=0x7f731e11d416 &quot;data != NULL&quot;) at ../glib/gmessages.c:2771
#4  0x00007f731e0713ad in gst_memory_new_wrapped (flags=flags@entry=GST_MEMORY_FLAG_READONLY, data=data@entry=0x0, maxsize=maxsize@entry=180000, offset=offset@entry=0, size=size@entry=180000, user_data=user_data@entry=0x7f72ab035000, notify=0x7f732668b6d0 &lt;WebCore::MediaSampleGStreamer::createImageSample(WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;, unsigned int, unsigned int)::{lambda(void*)#1}::_FUN(void*)&gt;) at ../gst/gstallocator.c:639
#5  0x00007f731e07c2bd in gst_buffer_new_wrapped_full (flags=GST_MEMORY_FLAG_READONLY, data=0x0, maxsize=180000, offset=0, size=180000, user_data=0x7f72ab035000, notify=0x7f732668b6d0 &lt;WebCore::MediaSampleGStreamer::createImageSample(WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;, unsigned int, unsigned int)::{lambda(void*)#1}::_FUN(void*)&gt;) at ../gst/gstbuffer.c:984
#6  0x00007f732668c86f in WebCore::MediaSampleGStreamer::createImageSample(WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;, unsigned int, unsigned int) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007f73258f2fb3 in WebCore::HTMLCanvasElement::toMediaSample() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007f732529fd58 in WebCore::CanvasCaptureMediaStreamTrack::Source::captureCanvas() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007f7321c276e8 in WTF::RunLoop::performWork() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#10 0x00007f7321c8cc89 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#11 0x00007f731d791c3e in g_main_dispatch (context=0x56436d368f50) at ../glib/gmain.c:3309
#12 0x00007f731d791c3e in g_main_context_dispatch (context=context@entry=0x56436d368f50) at ../glib/gmain.c:3974
#13 0x00007f731d791ff0 in g_main_context_iterate (context=0x56436d368f50, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4047
#14 0x00007f731d7922e3 in g_main_loop_run (loop=0x56436d396d30) at ../glib/gmain.c:4241
#15 0x00007f7321c8d770 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#16 0x00007f7324935b2f in WebKit::WebProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#17 0x00007f731c3c5183 in __libc_start_main (main=0x56436c92bc00 &lt;main&gt;, argc=4, argv=0x7fffe84e89f8, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7fffe84e89e8) at ../csu/libc-start.c:308
#18 0x000056436c92bc8e in _start () at ../sysdeps/x86_64/start.S:120

STDERR: 
STDERR: warning: core file may not match specified executable file.
STDERR: 
STDERR: (WebKitWebProcess:64688): GStreamer-CRITICAL **: 06:43:32.526: gst_memory_new_wrapped: assertion &apos;data != NULL&apos; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673077</commentid>
    <comment_count>26</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 08:15:50 -0700</bug_when>
    <thetext>I did run the tests ;) What&apos;s interesting is that in clang builds, they pass, but in gcc builds, they crash... Stay tuned for more fun facts about toolchains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673095</commentid>
    <comment_count>27</comment_count>
      <attachid>404719</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 09:14:28 -0700</bug_when>
    <thetext>Created attachment 404719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673119</commentid>
    <comment_count>28</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-20 10:24:57 -0700</bug_when>
    <thetext>What was the gcc/clang difference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673125</commentid>
    <comment_count>29</comment_count>
      <attachid>404708</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 10:36:02 -0700</bug_when>
    <thetext>Comment on attachment 404708
Patch for landing

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:103
&gt; +    auto buffer = adoptGRef(gst_buffer_new_wrapped_full(GST_MEMORY_FLAG_READONLY, bgraData.data(), size, 0, size, bgraData.releaseBuffer().leakPtr(), [](gpointer data) {

The issue with this code (I think) is that we were passing the bgra.data() and immediately after, releasing it using the leakPtr() call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673128</commentid>
    <comment_count>30</comment_count>
      <attachid>404708</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-20 10:41:27 -0700</bug_when>
    <thetext>Comment on attachment 404708
Patch for landing

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:103
&gt;&gt; +    auto buffer = adoptGRef(gst_buffer_new_wrapped_full(GST_MEMORY_FLAG_READONLY, bgraData.data(), size, 0, size, bgraData.releaseBuffer().leakPtr(), [](gpointer data) {
&gt; 
&gt; The issue with this code (I think) is that we were passing the bgra.data() and immediately after, releasing it using the leakPtr() call.

Yes, that makes sense. I see now that this is indeed incorrect. We can’t call both data() and releaseBuffer() for two different arguments and count on the data() call happening first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673137</commentid>
    <comment_count>31</comment_count>
      <attachid>404719</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-20 10:57:32 -0700</bug_when>
    <thetext>Comment on attachment 404719
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:52
&gt;      auto status = CVPixelBufferCreateWithBytes(kCFAllocatorDefault, width, height, kCVPixelFormatType_32BGRA, array.data(), width * 4, releaseUint8Vector, array.releaseBuffer().leakPtr(), NULL, &amp;pixelBuffer);

This code has the same bug as the mistake in GStreamer, calling data() and releaseBuffer() and depending on order of evaluation, and needs the same kind of fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673147</commentid>
    <comment_count>32</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 11:30:52 -0700</bug_when>
    <thetext>Committed r264607: &lt;https://trac.webkit.org/changeset/264607&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404719.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404677</attachid>
            <date>2020-07-19 11:23:16 -0700</date>
            <delta_ts>2020-07-20 03:01:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169811-20200719112315.patch</filename>
            <type>text/plain</type>
            <size>20636</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3Y2Q0YTRjOGM2MGJj
NGY1Yjk5MWRkMjhiZDAyMTk4Y2Y0MzJhOC4uMjM4NmQ1ZWJmNzVhMmUyYjIxZWQ1NWIxNTUwODlj
MDA4OTUyMjU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTE5ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2lu
Y2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEhvb2sgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGluIEdTdHJl
YW1lciBwb3J0cy4gVGhlIG9ubHkgbWlzc2luZyBiaXRzIHdlcmU6CisKKyAgICAgICAgMS4gY3Jl
YXRlIGEgTWVkaWFTYW1wbGUgZnJvbSBhIEJHUkEgYnVmZmVyCisgICAgICAgIDIuIGNvbnZlcnQg
YSBNZWRpYVNhbXBsZSB0byBhIFJHQkEgYnVmZmVyICh1c2VkIG9ubHkgZm9yIGxheW91dCB0ZXN0
cykKKyAgICAgICAgMy4gc2V0IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgdGFncyBub3Qgb25seSBv
biB2aWRlbyBjYXB0dXJlIHRyYWNrcyAodHJhY2tzIGNyZWF0ZWQgZnJvbQorICAgICAgICAgICBj
YXB0dXJlU3RyZWFtIGFyZSBub3QgR1N0cmVhbWVyIGNhcHR1cmUgZGV2aWNlIHRyYWNrcykKKwor
ICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTYW1wbGVHU3RyZWFtZXI6OmdldFJHQkFJbWFnZURhdGEgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJN
ZWRpYVN0cmVhbVNvdXJjZS5jcHA6CisgICAgICAgIChtZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUdl
dFRhZ3MpOgorCiAyMDIwLTA3LTE4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2FybmluZ3MgaW4gdGhlIFdl
YlhSIGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5k
ZXggOWJmYTNkY2U5YmI1ODllYjhmMjk1MWNjNzM1Njk0ZjFjMTJiNGE3YS4uMGNlNDRkMjFjYzJl
OGU3YTNmM2UxNDA4ODhiODA0ZGNkOGYxYjhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHAKQEAgLTg3LDE1ICs4NywxOSBAQAogI2luY2x1ZGUgIldlYlhSU3lz
dGVtLmgiCiAjZW5kaWYKIAorI2lmIFVTRShDRykKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlclV0aWxp
dGllc0NHLmgiCisjZW5kaWYKKworI2lmIFVTRShHU1RSRUFNRVIpCisjaW5jbHVkZSAiTWVkaWFT
YW1wbGVHU3RyZWFtZXIuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVk
ZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmg+CiAjZW5kaWYKIAotI2lmIFVTRShDRykKLSNpbmNsdWRlICJJbWFnZUJ1ZmZlclV0aWxp
dGllc0NHLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEX0lNUEwoSFRNTENhbnZhc0VsZW1lbnQpOwpAQCAtNzg5LDYgKzc5Myw5IEBAIFJl
ZlB0cjxNZWRpYVNhbXBsZT4gSFRNTENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUoKQogI2lm
IFBMQVRGT1JNKENPQ09BKQogICAgIG1ha2VSZW5kZXJpbmdSZXN1bHRzQXZhaWxhYmxlKCk7CiAg
ICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoaW1hZ2VCdWZm
ZXItPnRvQkdSQURhdGEoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOworI2VsaWYgVVNFKEdTVFJFQU1F
UikKKyAgICBtYWtlUmVuZGVyaW5nUmVzdWx0c0F2YWlsYWJsZSgpOworICAgIHJldHVybiBNZWRp
YVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUoaW1hZ2VCdWZmZXItPnRvQkdSQURh
dGEoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOwogI2Vsc2UKICAgICByZXR1cm4gbnVsbHB0cjsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKaW5kZXggNzlhNWNiMTBm
MTE4ZDkyYzQ3NzViNDRkZWU5MjNjOTVhZThiOTZmNy4uYmMyNTgxZDE0YWIxYzJkMDUwNDdkNjUw
YWM4OWJlYWEyZDYxNDBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3Bw
CkBAIC0yMyw2ICsyMyw4IEBACiAKICNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKIAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9UeXBlZEFycmF5SW5saW5lcy5oPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAogI2lmIEVO
QUJMRShWSURFTykgJiYgVVNFKEdTVFJFQU1FUikKQEAgLTk1LDYgKzk3LDUyIEBAIFJlZjxNZWRp
YVNhbXBsZUdTdHJlYW1lcj4gTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZUZha2VTYW1wbGUo
R3N0Q2FwcyosIE1lZGlhCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpnc3RyZWFtZXJNZWRpYVNhbXBs
ZSk7CiB9CiAKK1JlZlB0cjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gTWVkaWFTYW1wbGVHU3RyZWFt
ZXI6OmNyZWF0ZUltYWdlU2FtcGxlKFZlY3Rvcjx1aW50OF90PiYmIGJncmFEYXRhLCB1bnNpZ25l
ZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCkKK3sKKyAgICBzaXplX3Qgc2l6ZSA9
IGJncmFEYXRhLnNpemVJbkJ5dGVzKCk7CisgICAgYXV0byBidWZmZXIgPSBhZG9wdEdSZWYoZ3N0
X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsKEdTVF9NRU1PUllfRkxBR19SRUFET05MWSwgYmdyYURh
dGEuZGF0YSgpLCBzaXplLCAwLCBzaXplLCBiZ3JhRGF0YS5yZWxlYXNlQnVmZmVyKCkubGVha1B0
cigpLCBbXShncG9pbnRlciBkYXRhKSB7CisgICAgICAgIFdURjo6VmVjdG9yTWFsbG9jOjpmcmVl
KGRhdGEpOworICAgIH0pKTsKKyAgICBnc3RfYnVmZmVyX2FkZF92aWRlb19tZXRhKGJ1ZmZlci5n
ZXQoKSwgR1NUX1ZJREVPX0ZSQU1FX0ZMQUdfTk9ORSwgR1NUX1ZJREVPX0ZPUk1BVF9CR1JBLCB3
aWR0aCwgaGVpZ2h0KTsKKyAgICBhdXRvIGNhcHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfbmV3X3Np
bXBsZSgidmlkZW8veC1yYXciLCAiZm9ybWF0IiwgR19UWVBFX1NUUklORywgIkJHUkEiLCAid2lk
dGgiLCBHX1RZUEVfSU5ULCB3aWR0aCwgImhlaWdodCIsIEdfVFlQRV9JTlQsIGhlaWdodCwgImZy
YW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OLCAxLCAxLCBudWxscHRyKSk7CisgICAgYXV0byBz
YW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLmdldCgpLCBjYXBzLmdldCgp
LCBudWxscHRyLCBudWxscHRyKSk7CisgICAgcmV0dXJuIGNyZWF0ZShXVEZNb3ZlKHNhbXBsZSks
IEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgeyB9KTsKK30KKworUmVmUHRyPEpTQzo6VWludDhD
bGFtcGVkQXJyYXk+IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpnZXRSR0JBSW1hZ2VEYXRhKCkgY29u
c3QKK3sKKyAgICBHc3RDYXBzKiBjYXBzID0gZ3N0X3NhbXBsZV9nZXRfY2FwcyhtX3NhbXBsZS5n
ZXQoKSk7CisgICAgR3N0VmlkZW9JbmZvIGlucHV0SW5mbzsKKyAgICBpZiAoIWdzdF92aWRlb19p
bmZvX2Zyb21fY2FwcygmaW5wdXRJbmZvLCBjYXBzKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICAvLyBXZSBjb3VsZCBjaGVjayB0aGUgaW5wdXQgZm9ybWF0IGlzIFJHQkEgYmVmb3Jl
IGF0dGVtcHRpbmcgYSBjb252ZXJzaW9uLCBidXQgaXQgaXMgdmVyeQorICAgIC8vIHVubGlrZWx5
IHRvIHBheSBvZmYuIFRoZSBpbnB1dCBmb3JtYXQgaXMgbGlrZWx5IHRvIGJlIEJHUkEgKHdoZW4g
dGhlIHNhbXBsZXMgYXJlIGNyZWF0ZWQgYXMgYQorICAgIC8vIHJlc3VsdCBvZiBtZWRpYXN0cmVh
bSBjYXB0dXJlU3RyZWFtKSBvciBzb21lIFlVViBmb3JtYXQgaWYgdGhlIHNhbXBsZSBpcyBmcm9t
IGEgdmlkZW8gY2FwdHVyZQorICAgIC8vIGRldmljZS4gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9u
bHkgYnkgaW50ZXJuYWxzIGR1cmluZyBsYXlvdXQgdGVzdHMsIGl0IGlzIHRodXMgbm90IGNyaXRp
Y2FsCisgICAgLy8gdG8gb3B0aW1pemUgdGhpcyBjb2RlIHBhdGguCisKKyAgICBhdXRvIG91dHB1
dENhcHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfY29weShjYXBzKSk7CisgICAgZ3N0X2NhcHNfc2V0
X3NpbXBsZShvdXRwdXRDYXBzLmdldCgpLCAiZm9ybWF0IiwgR19UWVBFX1NUUklORywgIlJHQkEi
LCBudWxscHRyKTsKKworICAgIEdzdFZpZGVvSW5mbyBvdXRwdXRJbmZvOworICAgIGlmICghZ3N0
X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCZvdXRwdXRJbmZvLCBvdXRwdXRDYXBzLmdldCgpKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpbnQgd2lkdGggPSBHU1RfVklERU9fSU5GT19X
SURUSCgmaW5wdXRJbmZvKTsKKyAgICBpbnQgaGVpZ2h0ID0gR1NUX1ZJREVPX0lORk9fSEVJR0hU
KCZpbnB1dEluZm8pOworICAgIHVuc2lnbmVkIGJ5dGVMZW5ndGggPSBHU1RfVklERU9fSU5GT19T
SVpFKCZpbnB1dEluZm8pOworICAgIGF1dG8gYnVmZmVyU3RvcmFnZSA9IEpTQzo6QXJyYXlCdWZm
ZXI6OmNyZWF0ZSh3aWR0aCAqIGhlaWdodCwgNCk7CisgICAgYXV0byBvdXRwdXRCdWZmZXIgPSBh
ZG9wdEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsKEdTVF9NRU1PUllfRkxBR19OT19T
SEFSRSwgYnVmZmVyU3RvcmFnZS0+ZGF0YSgpLCBieXRlTGVuZ3RoLCAwLCBieXRlTGVuZ3RoLCBu
dWxscHRyLCBbXShncG9pbnRlcikgeyB9KSk7CisgICAgZ3N0X2J1ZmZlcl9hZGRfdmlkZW9fbWV0
YShvdXRwdXRCdWZmZXIuZ2V0KCksIEdTVF9WSURFT19GUkFNRV9GTEFHX05PTkUsIEdTVF9WSURF
T19GT1JNQVRfUkdCQSwgd2lkdGgsIGhlaWdodCk7CisgICAgR3N0TWFwcGVkRnJhbWUgb3V0cHV0
RnJhbWUob3V0cHV0QnVmZmVyLmdldCgpLCBvdXRwdXRJbmZvLCBHU1RfTUFQX1dSSVRFKTsKKwor
ICAgIEdVbmlxdWVQdHI8R3N0VmlkZW9Db252ZXJ0ZXI+IGNvbnZlcnRlcihnc3RfdmlkZW9fY29u
dmVydGVyX25ldygmaW5wdXRJbmZvLCAmb3V0cHV0SW5mbywgbnVsbHB0cikpOworICAgIEdzdE1h
cHBlZEZyYW1lIGlucHV0RnJhbWUoZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKG1fc2FtcGxlLmdldCgp
KSwgaW5wdXRJbmZvLCBHU1RfTUFQX1JFQUQpOworICAgIGdzdF92aWRlb19jb252ZXJ0ZXJfZnJh
bWUoY29udmVydGVyLmdldCgpLCBpbnB1dEZyYW1lLmdldCgpLCBvdXRwdXRGcmFtZS5nZXQoKSk7
CisgICAgcmV0dXJuIEpTQzo6VWludDhDbGFtcGVkQXJyYXk6OnRyeUNyZWF0ZShXVEZNb3ZlKGJ1
ZmZlclN0b3JhZ2UpLCAwLCBieXRlTGVuZ3RoKTsKK30KKwogdm9pZCBNZWRpYVNhbXBsZUdTdHJl
YW1lcjo6ZXh0ZW5kVG9UaGVCZWdpbm5pbmcoKQogewogICAgIC8vIE9ubHkgdG8gYmUgdXNlZCB3
aXRoIHRoZSBmaXJzdCBzYW1wbGUsIGFzIGEgaGFjayBmb3IgbGFjayBvZiBzdXBwb3J0IGZvciBl
ZGl0IGxpc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaAppbmRleCAxZGZiM2Nk
MDhkYzM1ZWU4MDY1YmJmYmU3NzlhYjNjZTk2MTE1ZDk5Li5mZDkyNDBkZGMzNGI4MmRiMDFjNzBh
YTJlNDU1Y2MyZjZiYjMwOWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaApA
QCAtMzcsNiArMzcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIFJlZjxNZWRpYVNh
bXBsZUdTdHJlYW1lcj4gY3JlYXRlRmFrZVNhbXBsZShHc3RDYXBzKiwgTWVkaWFUaW1lIHB0cywg
TWVkaWFUaW1lIGR0cywgTWVkaWFUaW1lIGR1cmF0aW9uLCBjb25zdCBGbG9hdFNpemUmIHByZXNl
bnRhdGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpOworICAgIHN0YXRpYyBSZWZQ
dHI8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUltYWdlU2FtcGxlKFZlY3Rvcjx1aW50OF90
PiYmLCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7CiAKICAgICB2
b2lkIGV4dGVuZFRvVGhlQmVnaW5uaW5nKCk7CiAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRp
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3B0czsgfQpAQCAtNTQsNiArNTUsNyBAQCBw
dWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X2ZsYWdzOyB9CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlkZTsK
ICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWZQdHI8
SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRl
OwogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFtZXIoR1JlZlB0cjxHc3RTYW1w
bGU+JiYsIGNvbnN0IEZsb2F0U2l6ZSYgcHJlc2VudGF0aW9uU2l6ZSwgY29uc3QgQXRvbVN0cmlu
ZyYgdHJhY2tJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFt
U291cmNlLmNwcAppbmRleCAwNGMyNTE4MzdjMTBlM2UyYjRmNjg2NWQ3Njc3ZTM4ZmRlZGJkN2Nk
Li5kMzY1NjQyN2EwZGMyZTZmOGMzMTM0OWZjOWM4NjY0OGVmZGM3OTBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVk
aWFTdHJlYW1Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkdTdHJlYW1l
ckF1ZGlvRGF0YS5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgotI2luY2x1ZGUgIkdT
dHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUgIk1lZGlhU2FtcGxlR1N0cmVh
bWVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGUuaCIKQEAgLTYzLDExICs2Miw5IEBAIEdSZWZQdHI8R3N0VGFnTGlz
dD4gbWVkaWFTdHJlYW1UcmFja1ByaXZhdGVHZXRUYWdzKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
KiB0cmFjCiAgICAgZWxzZSBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbykgewogICAgICAgICBnc3RfdGFnX2xpc3RfYWRkKHRhZ0xpc3QuZ2V0KCks
IEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX0tJTkQsIHN0YXRp
Y19jYXN0PGludD4oVmlkZW9UcmFja1ByaXZhdGU6OktpbmQ6Ok1haW4pLCBudWxscHRyKTsKIAot
ICAgICAgICBpZiAodHJhY2stPmlzQ2FwdHVyZVRyYWNrKCkpIHsKLSAgICAgICAgICAgIEdTdHJl
YW1lclZpZGVvQ2FwdHVyZVNvdXJjZSYgc291cmNlID0gc3RhdGljX2Nhc3Q8R1N0cmVhbWVyVmlk
ZW9DYXB0dXJlU291cmNlJj4odHJhY2stPnNvdXJjZSgpKTsKLSAgICAgICAgICAgIGdzdF90YWdf
bGlzdF9hZGQodGFnTGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9BUFBFTkQsIFdFQktJVF9NRURJ
QV9UUkFDS19UQUdfV0lEVEgsIHNvdXJjZS5zaXplKCkud2lkdGgoKSwKLSAgICAgICAgICAgICAg
ICBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX0hFSUdIVCwgc291cmNlLnNpemUoKS5oZWlnaHQoKSwg
bnVsbHB0cik7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0cmFjay0+c2V0
dGluZ3MoKTsKKyAgICAgICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdMaXN0LmdldCgpLCBHU1RfVEFH
X01FUkdFX0FQUEVORCwgV0VCS0lUX01FRElBX1RSQUNLX1RBR19XSURUSCwgc2V0dGluZ3Mud2lk
dGgoKSwKKyAgICAgICAgICAgIFdFQktJVF9NRURJQV9UUkFDS19UQUdfSEVJR0hULCBzZXR0aW5n
cy5oZWlnaHQoKSwgbnVsbHB0cik7CiAgICAgfQogCiAgICAgR1NUX0RFQlVHKCJUcmFjayB0YWdz
OiAlIiBHU1RfUFRSX0ZPUk1BVCwgdGFnTGlzdC5nZXQoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGFiY2U3NjQ2Yjlm
N2FjNjJlYmI3NDQwMzNlMDI1MmNiNmQ1NjllNC4uYWVmM2IyYjNlYTk1Y2UxMzUyZjJiNGU5YThh
OWUzZDBhODU0OGQ3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA3LTE5ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBB
ZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2luY2Ug
dGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVuZmxhZyBwYXNzaW5nIHRlc3RzIGFuZCByZWJhc2VsaW5lIG9u
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBXUFQgdGVzdCBleHBlY3RhdGlvbiB3aGljaCBkaWZmZXJzCisg
ICAgICAgIGZyb20gdGhlIGRlZmF1bHQgYnkgb25seSBvbmUgbGluZS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRw
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjAtMDctMTggIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZGVmaW5pbmcgYSBwcm9wZXJ0eSBzaG91bGQgbm90IGNoYW5n
ZSBpdHMgaW5zZXJ0aW9uIGluZGV4IChPYmplY3Qua2V5cyBvcmRlcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRp
YUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjFhM2I2
MGM3NDU0ZGIzNzc5NjhkYjZmNTFkZGVlZDc5MTdlMDg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1doZW4gcHJvbXB0ZWQsIGFjY2VwdCB0
byBzaGFyZSB5b3VyIHZpZGVvIHN0cmVhbS4KKworRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBNZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJuZWQgYnkgdGhlIHN1Y2Nlc3Mg
Y2FsbGJhY2sgaW4gZ2V0VXNlck1lZGlhIGNhbiBiZSBwcm9wZXJseSBhc3NpZ25lZCB0byBhIHZp
ZGVvIGVsZW1lbnQgdmlhIHRoZSBzcmNPYmplY3QgYXR0cmlidXRlLgorCisKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1MgVGVzdHMgdGhhdCBhIE1lZGlh
U3RyZWFtIGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgd2l0aCBzcmNPYmplY3Qg
CitQQVNTIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1l
bnQgaXMgbm90IHNlZWthYmxlIAorUEFTUyBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWdu
ZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIGluIHJlYWR5U3RhdGUgSEFWRV9OT1RISU5HIGluaXRp
YWxseSAKK1RJTUVPVVQgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIHRvIGEgdmlk
ZW8gZWxlbWVudCBoYXMgZXhwZWN0ZWQgZHVyYXRpb24gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBU
ZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaXMg
bm90IHByZWxvYWRlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEg
TWVkaWFTdHJlYW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFja1JhdGUgYXR0cmlidXRlcyAoZGVm
YXVsdFBsYXliYWNrUmF0ZSBpcyBpZGVudGljYWwpIAorTk9UUlVOIFRlc3RzIHRoYXQgYSB2aWRl
byBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0
ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRpZmZlcmVudCkgCitOT1RSVU4g
VGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBy
ZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAorTk9UUlVOIFRlc3RzIHRo
YXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gcmVwb3J0cyB0
aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAorTk9UUlVOIFRlc3RzIHRoYXQg
YSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gc3RhcnRzIGl0cyB0
aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVkaWFTdHJlYW0gd2FzIGNyZWF0
ZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBN
ZWRpYVN0cmVhbSBkb2VzIG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1lIHdoaWxlIHBhdXNlZCAKK05P
VFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3Ry
ZWFtIGRvZXMgbm90IHN0YXJ0IGFkdmFuY2luZyBjdXJyZW50VGltZSB1bnRpbCBwb3RlbnRpYWxs
eSBwbGF5aW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgdGhlIGxvb3AgYXR0cmlidXRlIGhhcyBubyBl
ZmZlY3Qgb24gYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gCitO
T1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0
cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hY3RpdmUgdGhyb3VnaCB0
cmFja3MgZW5kaW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVudCB3aXRoIGFu
IGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBp
bmF1ZGlibGUgdGhyb3VnaCBhdWRpbyB0cmFja3MgZW5kaW5nIAorTk9UUlVOIFRlc3RzIHRoYXQg
YSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRo
ZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJhY2sgcmVtb3ZhbCAKK05P
VFJVTiBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0
cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hdWRpYmxlIHRocm91Z2gg
dHJhY2sgcmVtb3ZhbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBjNWRlZWYwODEwNmY2MzQ4ZTg3MzYyYWRmODcyOTI0NDE5MGQ1YTU4Li45YjFlYTFl
NGQxYWVjOThlYjlhNDNhMDRlZGExZDljYzhhZjQ2MzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTc1LDEyICs1NzUsNiBAQCB3ZWJraXQub3JnL2Iv
MjExMTY2IHdlYnJ0Yy9yZW1vdmUtdHJhY2suaHRtbCBbIENyYXNoIFBhc3MgXQogCiBmYXN0L21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1hZGRFdmVudExpc3RlbmVyLmh0bWwgWyBEdW1wSlNDb25z
b2xlTG9nSW5TdGRFcnIgXQogCi0jIENhbnZhcyBjYXB0dXJlU3RyZWFtIHN1cHBvcnQgaXMgbm90
IGltcGxlbWVudGVkCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFjYXB0dXJlZnJvbWVs
ZW1lbnQgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0
dXJlU3RyZWFtLyBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3Ry
ZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzMmQuaHRtbCBbIENyYXNoIFRpbWVvdXQgXQotd2Via2l0
Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzM2QuaHRt
bCBbIENyYXNoIFRpbWVvdXQgXQotCiAjIE5vIHN1cHBvcnQgZm9yIEdQVVByb2Nlc3MgeWV0CiBm
YXN0L21lZGlhc3RyZWFtL2NhcHR1cmVJbkdQVVByb2Nlc3MuaHRtbCBbIFNraXAgXQogCkBAIC0z
MzEwLDggKzMzMDQsNiBAQCB3ZWJraXQub3JnL2IvMTg2NjE4IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVyLXZhbAogCiB3ZWJraXQub3JnL2Iv
MTg2NjAxIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4tbGF5ZXItZHVtcC5odG1sIFsgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8xODY4NDUgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2Nh
bnZhczJkLWhlYXZ5LWRyYXdpbmcuaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCi0KIHdlYmtpdC5v
cmcvYi8xODYxNDQgdHJhbnNpdGlvbnMvbW92ZS1hZnRlci10cmFuc2l0aW9uLmh0bWwgWyBGYWls
dXJlIFRpbWVvdXQgXQogCiB3ZWJraXQub3JnL2IvMTg3MjY4IGNvbXBvc2l0aW5nL2JhY2tpbmcv
YmFja2luZy1zdG9yZS1hdHRhY2htZW50LW91dHNpZGUtdmlld3BvcnQuaHRtbCBbIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVt
ZW50LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZlOGE2M2IzMTEzNTRjOTZmMDM3YTZlMGJlZDA2
MmVjNmU0OGI1YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVdoZW4g
cHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIHZpZGVvIHN0cmVhbS4KLQotRGVzY3JpcHRp
b24KLQotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBNZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJu
ZWQgYnkgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgaW4gZ2V0VXNlck1lZGlhIGNhbiBiZSBwcm9wZXJs
eSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgdmlhIHRoZSBzcmNPYmplY3QgYXR0cmlidXRl
LgotCi0KLQotRkFJTCBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gY2FuIGJlIGFzc2lnbmVkIHRv
IGEgdmlkZW8gZWxlbWVudCB3aXRoIHNyY09iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRp
YScpIgotRkFJTCBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBl
bGVtZW50IGlzIG5vdCBzZWVrYWJsZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJ
TCBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlz
IGluIHJlYWR5U3RhdGUgSEFWRV9OT1RISU5HIGluaXRpYWxseSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2
aWRlbyBlbGVtZW50IGhhcyBleHBlY3RlZCBkdXJhdGlvbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJl
YW0gYXNzaWduZWQgaXMgbm90IHByZWxvYWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScp
IgotRkFJTCBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNz
aWduZWQgaWdub3JlcyBwbGF5YmFja1JhdGUgYXR0cmlidXRlcyAoZGVmYXVsdFBsYXliYWNrUmF0
ZSBpcyBpZGVudGljYWwpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3Rz
IHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVz
IHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRpZmZlcmVu
dCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlh
IGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBwbGF5ZWQg
YXR0cmlidXRlIGFzIGV4cGVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlM
IFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0g
cmVwb3J0cyB0aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmlj
ZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGgg
YW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gc3RhcnRzIGl0cyB0aW1lbGluZSBhdCAwIHJlZ2FyZGxl
c3Mgb2Ygd2hlbiB0aGUgTWVkaWFTdHJlYW0gd2FzIGNyZWF0ZWQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRV
c2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3Np
Z25lZCBNZWRpYVN0cmVhbSBkb2VzIG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1lIHdoaWxlIHBhdXNl
ZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEg
ZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGRvZXMgbm90IHN0YXJ0IGFkdmFu
Y2luZyBjdXJyZW50VGltZSB1bnRpbCBwb3RlbnRpYWxseSBwbGF5aW5nIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogY2FudmFz
LmNhcHR1cmVTdHJlYW0gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY2FudmFzLmNhcHR1cmVTdHJl
YW0oKScsICdjYW52YXMuY2FwdHVyZVN0cmVhbScgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVGVzdHMg
dGhhdCB0aGUgbG9vcCBhdHRyaWJ1dGUgaGFzIG5vIGVmZmVjdCBvbiBhIG1lZGlhIGVsZW1lbnQg
d2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScp
IgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmFjdGl2ZSB0aHJvdWdo
IHRyYWNrcyBlbmRpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMg
dGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3
aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYXVkaWJsZSB0aHJvdWdoIGF1ZGlvIHRyYWNr
cyBlbmRpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBh
IG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhl
IE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hY3RpdmUgdGhyb3VnaCB0cmFjayByZW1vdmFsIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVu
dCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0g
YmVjb21lcyBpbmF1ZGlibGUgdGhyb3VnaCB0cmFjayByZW1vdmFsIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0
VXNlck1lZGlhJykiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMTkzZjc4OTY4MzZkOTc2MTUwZjg1NjA1Nzg4NTVlMmQ1MDY0MTY5ZS4uMGIyNzRkZDE3
ZWY0Y2ViNjEyZWVlMzUyNWQ3ZGI5MWJhOWNkNTAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMSwxMiArMTMxLDYgQEAgd2Via2l0Lm9yZy9iLzc5
MjAzIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC5odG1sIFsgRmFp
bHVyZSBQYXMKICMgQ3Jhc2ggaXMgYnVnICMxNzY4MDEKIHdlYmtpdC5vcmcvYi8xNjA5OTYgZmFz
dC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXZpZGVvLXRyYWNrcy1kaXNh
YmxlZC5odG1sIFsgVGltZW91dCBJbWFnZU9ubHlGYWlsdXJlIF0KIAotIyBDYW52YXMgY2FwdHVy
ZVN0cmVhbSBzdXBwb3J0IGlzIG5vdCBpbXBsZW1lbnRlZAotd2Via2l0Lm9yZy9iLzE2OTgxMSBm
YXN0L21lZGlhY2FwdHVyZWZyb21lbGVtZW50IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTY5ODEx
IGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVhbS8gWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczJkLmh0bWwgWyBU
aW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3Ry
ZWFtL2NhbnZhczNkLmh0bWwgWyBUaW1lb3V0IF0KLQogIyBNZWRpYVJlY29yZGVyIGlzIG5vdCBj
dXJyZW50bHkgaW1wbGVtZW50ZWQKIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZCBbIFNraXAg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404705</attachid>
            <date>2020-07-20 03:01:13 -0700</date>
            <delta_ts>2020-07-20 03:04:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-169811-20200720030111.patch</filename>
            <type>text/plain</type>
            <size>23236</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmI4OGQ3NTQ4Y2M1MmQy
NTEwYTMxOWFiYzFhOTNhNzBjZjM1MWExNS4uZDg4NjlmN2EyYTU2OTYwOTczMDZiZmI0NWYxNjQ2
ODhmMzZhYjZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA3LTIwICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2lu
Y2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEhvb2sgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGluIEdTdHJlYW1l
ciBwb3J0cy4gVGhlIG9ubHkgbWlzc2luZyBiaXRzIHdlcmU6CisKKyAgICAgICAgMS4gY3JlYXRl
IGEgTWVkaWFTYW1wbGUgZnJvbSBhIEJHUkEgYnVmZmVyCisgICAgICAgIDIuIGNvbnZlcnQgYSBN
ZWRpYVNhbXBsZSB0byBhIFJHQkEgYnVmZmVyICh1c2VkIG9ubHkgZm9yIGxheW91dCB0ZXN0cykK
KyAgICAgICAgMy4gc2V0IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgdGFncyBub3Qgb25seSBvbiB2
aWRlbyBjYXB0dXJlIHRyYWNrcyAodHJhY2tzIGNyZWF0ZWQgZnJvbQorICAgICAgICAgICBjYXB0
dXJlU3RyZWFtIGFyZSBub3QgR1N0cmVhbWVyIGNhcHR1cmUgZGV2aWNlIHRyYWNrcykKKworICAg
ICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOiBSZWZhY3RvciBjcmVh
dGVJbWFnZVNhbXBsZSB0bworICAgICAgICByZXR1cm4gYSBSZWY8PiBhbmQgdXNlIHVuc2lnbmVk
IGZvciBkaW1lbnNpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZUltYWdlU2FtcGxlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2FtcGxlR1N0cmVhbWVyOjpnZXRSR0JBSW1hZ2VEYXRhIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFT
dHJlYW1Tb3VyY2UuY3BwOgorICAgICAgICAobWVkaWFTdHJlYW1UcmFja1ByaXZhdGVHZXRUYWdz
KToKKwogMjAyMC0wNy0yMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNv
bT4KIAogICAgICAgICBVc2UgZm9yd2FyZCB0ZW1wbGF0ZSBkZWNsYXJhdGlvbnMgZm9yIENvbG9y
Q29tcG9uZW50cyBpbnN0ZWFkIG9mIGluY2x1ZGluZyBDb2xvckNvbXBvbmVudHMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCA5YmZhM2RjZTliYjU4OWVi
OGYyOTUxY2M3MzU2OTRmMWMxMmI0YTdhLi4wY2U0NGQyMWNjMmU4ZTdhM2YzZTE0MDg4OGI4MDRk
Y2Q4ZjFiOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApA
QCAtODcsMTUgKzg3LDE5IEBACiAjaW5jbHVkZSAiV2ViWFJTeXN0ZW0uaCIKICNlbmRpZgogCisj
aWYgVVNFKENHKQorI2luY2x1ZGUgIkltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCIKKyNlbmRpZgor
CisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJNZWRpYVNhbXBsZUdTdHJlYW1lci5oIgor
I2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9i
akMuaCIKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNlbmRpZgogCi0j
aWYgVVNFKENHKQotI2luY2x1ZGUgIkltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCIKLSNlbmRpZgot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChIVE1M
Q2FudmFzRWxlbWVudCk7CkBAIC03ODksNiArNzkzLDkgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBI
VE1MQ2FudmFzRWxlbWVudDo6dG9NZWRpYVNhbXBsZSgpCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgbWFrZVJlbmRlcmluZ1Jlc3VsdHNBdmFpbGFibGUoKTsKICAgICByZXR1cm4gTWVkaWFTYW1w
bGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShpbWFnZUJ1ZmZlci0+dG9CR1JBRGF0YSgpLCB3
aWR0aCgpLCBoZWlnaHQoKSk7CisjZWxpZiBVU0UoR1NUUkVBTUVSKQorICAgIG1ha2VSZW5kZXJp
bmdSZXN1bHRzQXZhaWxhYmxlKCk7CisgICAgcmV0dXJuIE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpj
cmVhdGVJbWFnZVNhbXBsZShpbWFnZUJ1ZmZlci0+dG9CR1JBRGF0YSgpLCB3aWR0aCgpLCBoZWln
aHQoKSk7CiAjZWxzZQogICAgIHJldHVybiBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCmluZGV4IDg5MTM0YzUyYzg4NjU2MmEyZDIz
ZTdjZWM2YjBmZjM1ZTgyMTNjZDIuLjQ4ZWRhZjZmODhlNGEwMDE4NjRkZGMzM2RkZTI4MGUwMTM3
ZmU0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCkBA
IC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2Jq
Qz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgaW50IHRyYWNrSUQpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAg
ICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlh
U2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3Rh
dGlvbiByb3RhdGlvbiA9IFZpZGVvUm90YXRpb246Ok5vbmUsIGJvb2wgbWlycm9yZWQgPSBmYWxz
ZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCByb3Rh
dGlvbiwgbWlycm9yZWQpKTsgfQotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTYW1wbGVBVkZPYmpD
PiBjcmVhdGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgbG9uZyB3aWR0
aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZP
YmpDPiBjcmVhdGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgd2lkdGgs
IHVuc2lnbmVkIGhlaWdodCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRB
c0Rpc3BsYXlJbW1lZGlhdGVseShNZWRpYVNhbXBsZSYpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8
Q01TYW1wbGVCdWZmZXJSZWY+IGNsb25lU2FtcGxlQnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRp
YXRlbHkoQ01TYW1wbGVCdWZmZXJSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLm1tCmluZGV4IDJkYTI2NzZmOGQwZWFhMWZkOWI1YWVhNjI3ODQ2ZWI4MmIy
YTgyMDMuLjdjZmY1Nzg4N2E4YzkzZjQ0NDQ2OGIzNDc0YjhiZGM2ODNkZDJlYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KQEAgLTQ2LDcgKzQ2LDcg
QEAgc3RhdGljIGlubGluZSB2b2lkIHJlbGVhc2VVaW50OFZlY3Rvcih2b2lkICphcnJheSwgY29u
c3Qgdm9pZCopCiAgICAgV1RGOjpWZWN0b3JNYWxsb2M6OmZyZWUoYXJyYXkpOwogfQogCi1SZWZQ
dHI8TWVkaWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2Ft
cGxlKFZlY3Rvcjx1aW50OF90PiYmIGFycmF5LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25l
ZCBsb25nIGhlaWdodCkKK1JlZjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y3JlYXRlSW1hZ2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+JiYgYXJyYXksIHVuc2lnbmVkIHdp
ZHRoLCB1bnNpZ25lZCBoZWlnaHQpCiB7CiAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZl
ciA9IG51bGxwdHI7CiAgICAgYXV0byBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aEJ5
dGVzKGtDRkFsbG9jYXRvckRlZmF1bHQsIHdpZHRoLCBoZWlnaHQsIGtDVlBpeGVsRm9ybWF0VHlw
ZV8zMkJHUkEsIGFycmF5LmRhdGEoKSwgd2lkdGggKiA0LCByZWxlYXNlVWludDhWZWN0b3IsIGFy
cmF5LnJlbGVhc2VCdWZmZXIoKS5sZWFrUHRyKCksIE5VTEwsICZwaXhlbEJ1ZmZlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcAppbmRleCA3OWE1Y2IxMGYxMThkOTJjNDc3
NWI0NGRlZTkyM2M5NWFlOGI5NmY3Li41YjI5NzQ4NGMwMDBkYTM1MjRmNDE0NjI3ZTRmZjBjMzdk
NDFhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKQEAgLTIzLDYg
KzIzLDggQEAKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1R5cGVk
QXJyYXlJbmxpbmVzLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogCiAjaWYgRU5BQkxFKFZJREVP
KSAmJiBVU0UoR1NUUkVBTUVSKQpAQCAtOTUsNiArOTcsNTIgQEAgUmVmPE1lZGlhU2FtcGxlR1N0
cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlRmFrZVNhbXBsZShHc3RDYXBzKiwg
TWVkaWEKICAgICByZXR1cm4gYWRvcHRSZWYoKmdzdHJlYW1lck1lZGlhU2FtcGxlKTsKIH0KIAor
UmVmPE1lZGlhU2FtcGxlR1N0cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1h
Z2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+JiYgYmdyYURhdGEsIHVuc2lnbmVkIHdpZHRoLCB1bnNp
Z25lZCBoZWlnaHQpCit7CisgICAgc2l6ZV90IHNpemUgPSBiZ3JhRGF0YS5zaXplSW5CeXRlcygp
OworICAgIGF1dG8gYnVmZmVyID0gYWRvcHRHUmVmKGdzdF9idWZmZXJfbmV3X3dyYXBwZWRfZnVs
bChHU1RfTUVNT1JZX0ZMQUdfUkVBRE9OTFksIGJncmFEYXRhLmRhdGEoKSwgc2l6ZSwgMCwgc2l6
ZSwgYmdyYURhdGEucmVsZWFzZUJ1ZmZlcigpLmxlYWtQdHIoKSwgW10oZ3BvaW50ZXIgZGF0YSkg
eworICAgICAgICBXVEY6OlZlY3Rvck1hbGxvYzo6ZnJlZShkYXRhKTsKKyAgICB9KSk7CisgICAg
Z3N0X2J1ZmZlcl9hZGRfdmlkZW9fbWV0YShidWZmZXIuZ2V0KCksIEdTVF9WSURFT19GUkFNRV9G
TEFHX05PTkUsIEdTVF9WSURFT19GT1JNQVRfQkdSQSwgd2lkdGgsIGhlaWdodCk7CisgICAgYXV0
byBjYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBzX25ld19zaW1wbGUoInZpZGVvL3gtcmF3IiwgImZv
cm1hdCIsIEdfVFlQRV9TVFJJTkcsICJCR1JBIiwgIndpZHRoIiwgR19UWVBFX0lOVCwgd2lkdGgs
ICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHQsICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFD
VElPTiwgMSwgMSwgbnVsbHB0cikpOworICAgIGF1dG8gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9z
YW1wbGVfbmV3KGJ1ZmZlci5nZXQoKSwgY2Fwcy5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwor
ICAgIHJldHVybiBjcmVhdGUoV1RGTW92ZShzYW1wbGUpLCBGbG9hdFNpemUod2lkdGgsIGhlaWdo
dCksIHsgfSk7Cit9CisKK1JlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBNZWRpYVNhbXBs
ZUdTdHJlYW1lcjo6Z2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0Cit7CisgICAgYXV0byogY2FwcyA9
IGdzdF9zYW1wbGVfZ2V0X2NhcHMobV9zYW1wbGUuZ2V0KCkpOworICAgIEdzdFZpZGVvSW5mbyBp
bnB1dEluZm87CisgICAgaWYgKCFnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoJmlucHV0SW5mbywg
Y2FwcykpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgLy8gV2UgY291bGQgY2hlY2sg
dGhlIGlucHV0IGZvcm1hdCBpcyBSR0JBIGJlZm9yZSBhdHRlbXB0aW5nIGEgY29udmVyc2lvbiwg
YnV0IGl0IGlzIHZlcnkKKyAgICAvLyB1bmxpa2VseSB0byBwYXkgb2ZmLiBUaGUgaW5wdXQgZm9y
bWF0IGlzIGxpa2VseSB0byBiZSBCR1JBICh3aGVuIHRoZSBzYW1wbGVzIGFyZSBjcmVhdGVkIGFz
IGEKKyAgICAvLyByZXN1bHQgb2YgbWVkaWFzdHJlYW0gY2FwdHVyZVN0cmVhbSkgb3Igc29tZSBZ
VVYgZm9ybWF0IGlmIHRoZSBzYW1wbGUgaXMgZnJvbSBhIHZpZGVvIGNhcHR1cmUKKyAgICAvLyBk
ZXZpY2UuIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbmx5IGJ5IGludGVybmFscyBkdXJpbmcgbGF5
b3V0IHRlc3RzLCBpdCBpcyB0aHVzIG5vdCBjcml0aWNhbAorICAgIC8vIHRvIG9wdGltaXplIHRo
aXMgY29kZSBwYXRoLgorCisgICAgYXV0byBvdXRwdXRDYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBz
X2NvcHkoY2FwcykpOworICAgIGdzdF9jYXBzX3NldF9zaW1wbGUob3V0cHV0Q2Fwcy5nZXQoKSwg
ImZvcm1hdCIsIEdfVFlQRV9TVFJJTkcsICJSR0JBIiwgbnVsbHB0cik7CisKKyAgICBHc3RWaWRl
b0luZm8gb3V0cHV0SW5mbzsKKyAgICBpZiAoIWdzdF92aWRlb19pbmZvX2Zyb21fY2Fwcygmb3V0
cHV0SW5mbywgb3V0cHV0Q2Fwcy5nZXQoKSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgaW50IHdpZHRoID0gR1NUX1ZJREVPX0lORk9fV0lEVEgoJmlucHV0SW5mbyk7CisgICAgaW50
IGhlaWdodCA9IEdTVF9WSURFT19JTkZPX0hFSUdIVCgmaW5wdXRJbmZvKTsKKyAgICB1bnNpZ25l
ZCBieXRlTGVuZ3RoID0gR1NUX1ZJREVPX0lORk9fU0laRSgmaW5wdXRJbmZvKTsKKyAgICBhdXRv
IGJ1ZmZlclN0b3JhZ2UgPSBKU0M6OkFycmF5QnVmZmVyOjpjcmVhdGUod2lkdGggKiBoZWlnaHQs
IDQpOworICAgIGF1dG8gb3V0cHV0QnVmZmVyID0gYWRvcHRHUmVmKGdzdF9idWZmZXJfbmV3X3dy
YXBwZWRfZnVsbChHU1RfTUVNT1JZX0ZMQUdfTk9fU0hBUkUsIGJ1ZmZlclN0b3JhZ2UtPmRhdGEo
KSwgYnl0ZUxlbmd0aCwgMCwgYnl0ZUxlbmd0aCwgbnVsbHB0ciwgW10oZ3BvaW50ZXIpIHsgfSkp
OworICAgIGdzdF9idWZmZXJfYWRkX3ZpZGVvX21ldGEob3V0cHV0QnVmZmVyLmdldCgpLCBHU1Rf
VklERU9fRlJBTUVfRkxBR19OT05FLCBHU1RfVklERU9fRk9STUFUX1JHQkEsIHdpZHRoLCBoZWln
aHQpOworICAgIEdzdE1hcHBlZEZyYW1lIG91dHB1dEZyYW1lKG91dHB1dEJ1ZmZlci5nZXQoKSwg
b3V0cHV0SW5mbywgR1NUX01BUF9XUklURSk7CisKKyAgICBHVW5pcXVlUHRyPEdzdFZpZGVvQ29u
dmVydGVyPiBjb252ZXJ0ZXIoZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXcoJmlucHV0SW5mbywgJm91
dHB1dEluZm8sIG51bGxwdHIpKTsKKyAgICBHc3RNYXBwZWRGcmFtZSBpbnB1dEZyYW1lKGdzdF9z
YW1wbGVfZ2V0X2J1ZmZlcihtX3NhbXBsZS5nZXQoKSksIGlucHV0SW5mbywgR1NUX01BUF9SRUFE
KTsKKyAgICBnc3RfdmlkZW9fY29udmVydGVyX2ZyYW1lKGNvbnZlcnRlci5nZXQoKSwgaW5wdXRG
cmFtZS5nZXQoKSwgb3V0cHV0RnJhbWUuZ2V0KCkpOworICAgIHJldHVybiBKU0M6OlVpbnQ4Q2xh
bXBlZEFycmF5Ojp0cnlDcmVhdGUoV1RGTW92ZShidWZmZXJTdG9yYWdlKSwgMCwgYnl0ZUxlbmd0
aCk7Cit9CisKIHZvaWQgTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmV4dGVuZFRvVGhlQmVnaW5uaW5n
KCkKIHsKICAgICAvLyBPbmx5IHRvIGJlIHVzZWQgd2l0aCB0aGUgZmlyc3Qgc2FtcGxlLCBhcyBh
IGhhY2sgZm9yIGxhY2sgb2Ygc3VwcG9ydCBmb3IgZWRpdCBsaXN0cy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJl
YW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
U2FtcGxlR1N0cmVhbWVyLmgKaW5kZXggMWRmYjNjZDA4ZGMzNWVlODA2NWJiZmJlNzc5YWIzY2U5
NjExNWQ5OS4uYjAyMWFjZWZkOGE2NDVjZTNkZmU3NThlNjZmM2Q1ZGQwMjY1OWZiYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2Ft
cGxlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmgKQEAgLTM3LDYgKzM3LDcgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUZha2VT
YW1wbGUoR3N0Q2FwcyosIE1lZGlhVGltZSBwdHMsIE1lZGlhVGltZSBkdHMsIE1lZGlhVGltZSBk
dXJhdGlvbiwgY29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lkKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlR1N0cmVhbWVyPiBjcmVh
dGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVk
IGhlaWdodCk7CiAKICAgICB2b2lkIGV4dGVuZFRvVGhlQmVnaW5uaW5nKCk7CiAgICAgTWVkaWFU
aW1lIHByZXNlbnRhdGlvblRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3B0czsgfQpA
QCAtNTQsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX2ZsYWdzOyB9CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1T
YW1wbGUoKSBvdmVycmlkZTsKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBSZWZQdHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0
YSgpIGNvbnN0IG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFt
ZXIoR1JlZlB0cjxHc3RTYW1wbGU+JiYsIGNvbnN0IEZsb2F0U2l6ZSYgcHJlc2VudGF0aW9uU2l6
ZSwgY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dT
dHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcAppbmRleCAwNGMyNTE4MzdjMTBlM2UyYjRmNjg2
NWQ3Njc3ZTM4ZmRlZGJkN2NkLi5kMzY1NjQyN2EwZGMyZTZmOGMzMTM0OWZjOWM4NjY0OGVmZGM3
OTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJj
ZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgog
I2luY2x1ZGUgIkdTdHJlYW1lckF1ZGlvRGF0YS5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1v
bi5oIgotI2luY2x1ZGUgIkdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUg
Ik1lZGlhU2FtcGxlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgi
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCIKQEAgLTYzLDExICs2Miw5IEBA
IEdSZWZQdHI8R3N0VGFnTGlzdD4gbWVkaWFTdHJlYW1UcmFja1ByaXZhdGVHZXRUYWdzKE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlKiB0cmFjCiAgICAgZWxzZSBpZiAodHJhY2stPnR5cGUoKSA9PSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbykgewogICAgICAgICBnc3RfdGFnX2xpc3Rf
YWRkKHRhZ0xpc3QuZ2V0KCksIEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBXRUJLSVRfTUVESUFfVFJB
Q0tfVEFHX0tJTkQsIHN0YXRpY19jYXN0PGludD4oVmlkZW9UcmFja1ByaXZhdGU6OktpbmQ6Ok1h
aW4pLCBudWxscHRyKTsKIAotICAgICAgICBpZiAodHJhY2stPmlzQ2FwdHVyZVRyYWNrKCkpIHsK
LSAgICAgICAgICAgIEdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZSYgc291cmNlID0gc3RhdGlj
X2Nhc3Q8R1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlJj4odHJhY2stPnNvdXJjZSgpKTsKLSAg
ICAgICAgICAgIGdzdF90YWdfbGlzdF9hZGQodGFnTGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9B
UFBFTkQsIFdFQktJVF9NRURJQV9UUkFDS19UQUdfV0lEVEgsIHNvdXJjZS5zaXplKCkud2lkdGgo
KSwKLSAgICAgICAgICAgICAgICBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX0hFSUdIVCwgc291cmNl
LnNpemUoKS5oZWlnaHQoKSwgbnVsbHB0cik7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byYgc2V0
dGluZ3MgPSB0cmFjay0+c2V0dGluZ3MoKTsKKyAgICAgICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdM
aXN0LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwgV0VCS0lUX01FRElBX1RSQUNLX1RBR19X
SURUSCwgc2V0dGluZ3Mud2lkdGgoKSwKKyAgICAgICAgICAgIFdFQktJVF9NRURJQV9UUkFDS19U
QUdfSEVJR0hULCBzZXR0aW5ncy5oZWlnaHQoKSwgbnVsbHB0cik7CiAgICAgfQogCiAgICAgR1NU
X0RFQlVHKCJUcmFjayB0YWdzOiAlIiBHU1RfUFRSX0ZPUk1BVCwgdGFnTGlzdC5nZXQoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZjI4ZWM5NTRhNjkyYTVhZDI4YjVmMWUwNTdkZmZkZWZhYmY5YTRiYi4uNGUwMTFjYTcz
MGE2ZDU4Mzg3YzIwMDY5MDhkNTNiMzM1OTFkYTNkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDIwLTA3LTIwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1N0cmVhbWVyXSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRl
c3RzIGZhaWxpbmcgc2luY2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFVuZmxhZyBwYXNzaW5nIHRlc3RzIGFu
ZCByZWJhc2VsaW5lIG9uZSBwbGF0Zm9ybS1zcGVjaWZpYyBXUFQgdGVzdCBleHBlY3RhdGlvbiB3
aGljaCBkaWZmZXJzCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHQgYnkgb25seSBvbmUgbGluZS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50
LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDctMjAgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyBnYXJkZW5p
bmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVs
ZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFt
cy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NjFhM2I2MGM3NDU0ZGIzNzc5NjhkYjZmNTFkZGVlZDc5MTdlMDg2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxl
bWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1doZW4g
cHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIHZpZGVvIHN0cmVhbS4KKworRGVzY3JpcHRp
b24KKworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBNZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJu
ZWQgYnkgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgaW4gZ2V0VXNlck1lZGlhIGNhbiBiZSBwcm9wZXJs
eSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgdmlhIHRoZSBzcmNPYmplY3QgYXR0cmlidXRl
LgorCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mg
VGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1l
bnQgd2l0aCBzcmNPYmplY3QgCitQQVNTIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25l
ZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgbm90IHNlZWthYmxlIAorUEFTUyBUZXN0cyB0aGF0IGEg
TWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIGluIHJlYWR5U3RhdGUg
SEFWRV9OT1RISU5HIGluaXRpYWxseSAKK1RJTUVPVVQgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFt
IGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCBoYXMgZXhwZWN0ZWQgZHVyYXRpb24gVGVzdCB0
aW1lZCBvdXQKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFT
dHJlYW0gYXNzaWduZWQgaXMgbm90IHByZWxvYWRlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlk
ZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFja1Jh
dGUgYXR0cmlidXRlcyAoZGVmYXVsdFBsYXliYWNrUmF0ZSBpcyBpZGVudGljYWwpIAorTk9UUlVO
IFRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBp
Z25vcmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRp
ZmZlcmVudCkgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3Np
Z25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4cGVjdGVk
IAorTk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVk
aWFTdHJlYW0gcmVwb3J0cyB0aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAor
Tk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gc3RhcnRzIGl0cyB0aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVk
aWFTdHJlYW0gd2FzIGNyZWF0ZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQg
d2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBkb2VzIG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1l
IHdoaWxlIHBhdXNlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFu
IGFzc2lnbmVkIE1lZGlhU3RyZWFtIGRvZXMgbm90IHN0YXJ0IGFkdmFuY2luZyBjdXJyZW50VGlt
ZSB1bnRpbCBwb3RlbnRpYWxseSBwbGF5aW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgdGhlIGxvb3Ag
YXR0cmlidXRlIGhhcyBubyBlZmZlY3Qgb24gYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWdu
ZWQgTWVkaWFTdHJlYW0gCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMg
aW5hY3RpdmUgdGhyb3VnaCB0cmFja3MgZW5kaW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgYW4gYXVk
aW8gZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVk
aWFTdHJlYW0gYmVjb21lcyBpbmF1ZGlibGUgdGhyb3VnaCBhdWRpbyB0cmFja3MgZW5kaW5nIAor
Tk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2gg
dHJhY2sgcmVtb3ZhbCAKK05PVFJVTiBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMg
aW5hdWRpYmxlIHRocm91Z2ggdHJhY2sgcmVtb3ZhbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyODljODZlMjEyNWJhNzEzNmE0YTlmOTFmMWFmOTNi
NDk3NmVlM2QxLi5kNjBjNDE5OTRiZGE3MGFhZjFlYzZiNTI4ODdlNGI4YmEzOGIwMjcwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTcwLDEyICs1NzAs
NiBAQCB3ZWJraXQub3JnL2IvMjEwMzg1IGZhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5h
YmxlZC5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAKIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
LWFkZEV2ZW50TGlzdGVuZXIuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiAKLSMg
Q2FudmFzIGNhcHR1cmVTdHJlYW0gc3VwcG9ydCBpcyBub3QgaW1wbGVtZW50ZWQKLXdlYmtpdC5v
cmcvYi8xNjk4MTEgZmFzdC9tZWRpYWNhcHR1cmVmcm9tZWxlbWVudCBbIFNraXAgXQotd2Via2l0
Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52
YXMyZC5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVk
aWFzdHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52YXMzZC5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCi0K
ICMgTm8gc3VwcG9ydCBmb3IgR1BVUHJvY2VzcyB5ZXQKIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVy
ZUluR1BVUHJvY2Vzcy5odG1sIFsgU2tpcCBdCiAKQEAgLTMzMDMsOCArMzI5Nyw2IEBAIHdlYmtp
dC5vcmcvYi8xODY2MTggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
aGVhZGVycy9oZWFkZXItdmFsCiAKIHdlYmtpdC5vcmcvYi8xODY2MDEgZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1sYXllci1kdW1wLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE4Njg0
NSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzMmQtaGVhdnktZHJhd2luZy5o
dG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzE4NjE0NCB0cmFuc2l0aW9u
cy9tb3ZlLWFmdGVyLXRyYW5zaXRpb24uaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCiAKIHdlYmtp
dC5vcmcvYi8xODcyNjggY29tcG9zaXRpbmcvYmFja2luZy9iYWNraW5nLXN0b3JlLWF0dGFjaG1l
bnQtb3V0c2lkZS12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVu
dC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhZmU4YTYzYjMxMTM1NGM5NmYwMzdhNmUwYmVkMDYyZWM2ZTQ4YjVhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotV2hlbiBwcm9tcHRlZCwgYWNjZXB0IHRvIHNo
YXJlIHlvdXIgdmlkZW8gc3RyZWFtLgotCi1EZXNjcmlwdGlvbgotCi1UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIE1lZGlhU3RyZWFtIG9iamVjdCByZXR1cm5lZCBieSB0aGUgc3VjY2VzcyBjYWxs
YmFjayBpbiBnZXRVc2VyTWVkaWEgY2FuIGJlIHByb3Blcmx5IGFzc2lnbmVkIHRvIGEgdmlkZW8g
ZWxlbWVudCB2aWEgdGhlIHNyY09iamVjdCBhdHRyaWJ1dGUuCi0KLQotCi1GQUlMIFRlc3RzIHRo
YXQgYSBNZWRpYVN0cmVhbSBjYW4gYmUgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IHdpdGgg
c3JjT2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQg
YSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgbm90IHNlZWthYmxl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBNZWRpYVN0
cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgaW4gcmVhZHlTdGF0ZSBIQVZFX05P
VEhJTkcgaW5pdGlhbGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3Rz
IHRoYXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaGFzIGV4cGVj
dGVkIGR1cmF0aW9uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRo
YXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpcyBub3QgcHJl
bG9hZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSB2
aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNr
UmF0ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGlkZW50aWNhbCkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIHZpZGVvIGVsZW1lbnQg
d2l0aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlnbm9yZXMgcGxheWJhY2tSYXRlIGF0dHJpYnV0
ZXMgKGRlZmF1bHRQbGF5YmFja1JhdGUgaXMgZGlmZmVyZW50KSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2ln
bmVkIE1lZGlhU3RyZWFtIHJlcG9ydHMgdGhlIHBsYXllZCBhdHRyaWJ1dGUgYXMgZXhwZWN0ZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVs
ZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBjdXJyZW50VGlt
ZSBhdHRyaWJ1dGUgYXMgZXhwZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZB
SUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVh
bSBzdGFydHMgaXRzIHRpbWVsaW5lIGF0IDAgcmVnYXJkbGVzcyBvZiB3aGVuIHRoZSBNZWRpYVN0
cmVhbSB3YXMgY3JlYXRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0
cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGRvZXMg
bm90IGFkdmFuY2UgY3VycmVudFRpbWUgd2hpbGUgcGF1c2VkIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWdu
ZWQgTWVkaWFTdHJlYW0gZG9lcyBub3Qgc3RhcnQgYWR2YW5jaW5nIGN1cnJlbnRUaW1lIHVudGls
IHBvdGVudGlhbGx5IHBsYXlpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBjYW52YXMuY2FwdHVyZVN0cmVhbSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdjYW52YXMuY2FwdHVyZVN0cmVhbSgpJywgJ2NhbnZhcy5jYXB0dXJl
U3RyZWFtJyBpcyB1bmRlZmluZWQpIgotRkFJTCBUZXN0cyB0aGF0IHRoZSBsb29wIGF0dHJpYnV0
ZSBoYXMgbm8gZWZmZWN0IG9uIGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBt
ZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBN
ZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJhY2tzIGVuZGluZyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQg
d2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJl
Y29tZXMgaW5hdWRpYmxlIHRocm91Z2ggYXVkaW8gdHJhY2tzIGVuZGluZyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFu
IGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBp
bmFjdGl2ZSB0aHJvdWdoIHRyYWNrIHJlbW92YWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEn
KSIKLUZBSUwgVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVk
aWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYXVkaWJsZSB0aHJv
dWdoIHRyYWNrIHJlbW92YWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxOTNmNzg5NjgzNmQ5NzYx
NTBmODU2MDU3ODg1NWUyZDUwNjQxNjllLi4wYjI3NGRkMTdlZjRjZWI2MTJlZWUzNTI1ZDdkYjkx
YmE5Y2Q1MDMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTMxLDEyICsxMzEsNiBAQCB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS12aWRlby1lbGVtZW50Lmh0bWwgWyBGYWlsdXJlIFBhcwogIyBDcmFzaCBpcyBi
dWcgIzE3NjgwMQogd2Via2l0Lm9yZy9iLzE2MDk5NiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLXZpZGVvLWVsZW1lbnQtdmlkZW8tdHJhY2tzLWRpc2FibGVkLmh0bWwgWyBUaW1lb3V0IElt
YWdlT25seUZhaWx1cmUgXQogCi0jIENhbnZhcyBjYXB0dXJlU3RyZWFtIHN1cHBvcnQgaXMgbm90
IGltcGxlbWVudGVkCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFjYXB0dXJlZnJvbWVs
ZW1lbnQgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0
dXJlU3RyZWFtLyBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3Ry
ZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzMmQuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9i
LzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzM2QuaHRtbCBbIFRp
bWVvdXQgXQotCiAjIE1lZGlhUmVjb3JkZXIgaXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZAog
aHR0cC93cHQvbWVkaWFyZWNvcmRlciBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404706</attachid>
            <date>2020-07-20 03:04:44 -0700</date>
            <delta_ts>2020-07-20 03:16:21 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-169811-20200720030442.patch</filename>
            <type>text/plain</type>
            <size>23233</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmI4OGQ3NTQ4Y2M1MmQy
NTEwYTMxOWFiYzFhOTNhNzBjZjM1MWExNS4uZDg4NjlmN2EyYTU2OTYwOTczMDZiZmI0NWYxNjQ2
ODhmMzZhYjZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA3LTIwICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2lu
Y2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEhvb2sgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGluIEdTdHJlYW1l
ciBwb3J0cy4gVGhlIG9ubHkgbWlzc2luZyBiaXRzIHdlcmU6CisKKyAgICAgICAgMS4gY3JlYXRl
IGEgTWVkaWFTYW1wbGUgZnJvbSBhIEJHUkEgYnVmZmVyCisgICAgICAgIDIuIGNvbnZlcnQgYSBN
ZWRpYVNhbXBsZSB0byBhIFJHQkEgYnVmZmVyICh1c2VkIG9ubHkgZm9yIGxheW91dCB0ZXN0cykK
KyAgICAgICAgMy4gc2V0IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgdGFncyBub3Qgb25seSBvbiB2
aWRlbyBjYXB0dXJlIHRyYWNrcyAodHJhY2tzIGNyZWF0ZWQgZnJvbQorICAgICAgICAgICBjYXB0
dXJlU3RyZWFtIGFyZSBub3QgR1N0cmVhbWVyIGNhcHR1cmUgZGV2aWNlIHRyYWNrcykKKworICAg
ICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOiBSZWZhY3RvciBjcmVh
dGVJbWFnZVNhbXBsZSB0bworICAgICAgICByZXR1cm4gYSBSZWY8PiBhbmQgdXNlIHVuc2lnbmVk
IGZvciBkaW1lbnNpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZUltYWdlU2FtcGxlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2FtcGxlR1N0cmVhbWVyOjpnZXRSR0JBSW1hZ2VEYXRhIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFT
dHJlYW1Tb3VyY2UuY3BwOgorICAgICAgICAobWVkaWFTdHJlYW1UcmFja1ByaXZhdGVHZXRUYWdz
KToKKwogMjAyMC0wNy0yMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNv
bT4KIAogICAgICAgICBVc2UgZm9yd2FyZCB0ZW1wbGF0ZSBkZWNsYXJhdGlvbnMgZm9yIENvbG9y
Q29tcG9uZW50cyBpbnN0ZWFkIG9mIGluY2x1ZGluZyBDb2xvckNvbXBvbmVudHMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCA5YmZhM2RjZTliYjU4OWVi
OGYyOTUxY2M3MzU2OTRmMWMxMmI0YTdhLi4wY2U0NGQyMWNjMmU4ZTdhM2YzZTE0MDg4OGI4MDRk
Y2Q4ZjFiOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApA
QCAtODcsMTUgKzg3LDE5IEBACiAjaW5jbHVkZSAiV2ViWFJTeXN0ZW0uaCIKICNlbmRpZgogCisj
aWYgVVNFKENHKQorI2luY2x1ZGUgIkltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCIKKyNlbmRpZgor
CisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJNZWRpYVNhbXBsZUdTdHJlYW1lci5oIgor
I2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9i
akMuaCIKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNlbmRpZgogCi0j
aWYgVVNFKENHKQotI2luY2x1ZGUgIkltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCIKLSNlbmRpZgot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChIVE1M
Q2FudmFzRWxlbWVudCk7CkBAIC03ODksNiArNzkzLDkgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBI
VE1MQ2FudmFzRWxlbWVudDo6dG9NZWRpYVNhbXBsZSgpCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgbWFrZVJlbmRlcmluZ1Jlc3VsdHNBdmFpbGFibGUoKTsKICAgICByZXR1cm4gTWVkaWFTYW1w
bGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShpbWFnZUJ1ZmZlci0+dG9CR1JBRGF0YSgpLCB3
aWR0aCgpLCBoZWlnaHQoKSk7CisjZWxpZiBVU0UoR1NUUkVBTUVSKQorICAgIG1ha2VSZW5kZXJp
bmdSZXN1bHRzQXZhaWxhYmxlKCk7CisgICAgcmV0dXJuIE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpj
cmVhdGVJbWFnZVNhbXBsZShpbWFnZUJ1ZmZlci0+dG9CR1JBRGF0YSgpLCB3aWR0aCgpLCBoZWln
aHQoKSk7CiAjZWxzZQogICAgIHJldHVybiBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCmluZGV4IDg5MTM0YzUyYzg4NjU2MmEyZDIz
ZTdjZWM2YjBmZjM1ZTgyMTNjZDIuLjQ4ZWRhZjZmODhlNGEwMDE4NjRkZGMzM2RkZTI4MGUwMTM3
ZmU0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCkBA
IC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2Jq
Qz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgaW50IHRyYWNrSUQpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAg
ICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlh
U2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3Rh
dGlvbiByb3RhdGlvbiA9IFZpZGVvUm90YXRpb246Ok5vbmUsIGJvb2wgbWlycm9yZWQgPSBmYWxz
ZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCByb3Rh
dGlvbiwgbWlycm9yZWQpKTsgfQotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTYW1wbGVBVkZPYmpD
PiBjcmVhdGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgbG9uZyB3aWR0
aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZP
YmpDPiBjcmVhdGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgd2lkdGgs
IHVuc2lnbmVkIGhlaWdodCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRB
c0Rpc3BsYXlJbW1lZGlhdGVseShNZWRpYVNhbXBsZSYpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8
Q01TYW1wbGVCdWZmZXJSZWY+IGNsb25lU2FtcGxlQnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRp
YXRlbHkoQ01TYW1wbGVCdWZmZXJSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLm1tCmluZGV4IDJkYTI2NzZmOGQwZWFhMWZkOWI1YWVhNjI3ODQ2ZWI4MmIy
YTgyMDMuLjdjZmY1Nzg4N2E4YzkzZjQ0NDQ2OGIzNDc0YjhiZGM2ODNkZDJlYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KQEAgLTQ2LDcgKzQ2LDcg
QEAgc3RhdGljIGlubGluZSB2b2lkIHJlbGVhc2VVaW50OFZlY3Rvcih2b2lkICphcnJheSwgY29u
c3Qgdm9pZCopCiAgICAgV1RGOjpWZWN0b3JNYWxsb2M6OmZyZWUoYXJyYXkpOwogfQogCi1SZWZQ
dHI8TWVkaWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2Ft
cGxlKFZlY3Rvcjx1aW50OF90PiYmIGFycmF5LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25l
ZCBsb25nIGhlaWdodCkKK1JlZjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y3JlYXRlSW1hZ2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+JiYgYXJyYXksIHVuc2lnbmVkIHdp
ZHRoLCB1bnNpZ25lZCBoZWlnaHQpCiB7CiAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZl
ciA9IG51bGxwdHI7CiAgICAgYXV0byBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aEJ5
dGVzKGtDRkFsbG9jYXRvckRlZmF1bHQsIHdpZHRoLCBoZWlnaHQsIGtDVlBpeGVsRm9ybWF0VHlw
ZV8zMkJHUkEsIGFycmF5LmRhdGEoKSwgd2lkdGggKiA0LCByZWxlYXNlVWludDhWZWN0b3IsIGFy
cmF5LnJlbGVhc2VCdWZmZXIoKS5sZWFrUHRyKCksIE5VTEwsICZwaXhlbEJ1ZmZlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcAppbmRleCA3OWE1Y2IxMGYxMThkOTJjNDc3
NWI0NGRlZTkyM2M5NWFlOGI5NmY3Li41YjI5NzQ4NGMwMDBkYTM1MjRmNDE0NjI3ZTRmZjBjMzdk
NDFhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKQEAgLTIzLDYg
KzIzLDggQEAKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1R5cGVk
QXJyYXlJbmxpbmVzLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogCiAjaWYgRU5BQkxFKFZJREVP
KSAmJiBVU0UoR1NUUkVBTUVSKQpAQCAtOTUsNiArOTcsNTIgQEAgUmVmPE1lZGlhU2FtcGxlR1N0
cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlRmFrZVNhbXBsZShHc3RDYXBzKiwg
TWVkaWEKICAgICByZXR1cm4gYWRvcHRSZWYoKmdzdHJlYW1lck1lZGlhU2FtcGxlKTsKIH0KIAor
UmVmPE1lZGlhU2FtcGxlR1N0cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1h
Z2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+JiYgYmdyYURhdGEsIHVuc2lnbmVkIHdpZHRoLCB1bnNp
Z25lZCBoZWlnaHQpCit7CisgICAgc2l6ZV90IHNpemUgPSBiZ3JhRGF0YS5zaXplSW5CeXRlcygp
OworICAgIGF1dG8gYnVmZmVyID0gYWRvcHRHUmVmKGdzdF9idWZmZXJfbmV3X3dyYXBwZWRfZnVs
bChHU1RfTUVNT1JZX0ZMQUdfUkVBRE9OTFksIGJncmFEYXRhLmRhdGEoKSwgc2l6ZSwgMCwgc2l6
ZSwgYmdyYURhdGEucmVsZWFzZUJ1ZmZlcigpLmxlYWtQdHIoKSwgW10oZ3BvaW50ZXIgZGF0YSkg
eworICAgICAgICBXVEY6OlZlY3Rvck1hbGxvYzo6ZnJlZShkYXRhKTsKKyAgICB9KSk7CisgICAg
Z3N0X2J1ZmZlcl9hZGRfdmlkZW9fbWV0YShidWZmZXIuZ2V0KCksIEdTVF9WSURFT19GUkFNRV9G
TEFHX05PTkUsIEdTVF9WSURFT19GT1JNQVRfQkdSQSwgd2lkdGgsIGhlaWdodCk7CisgICAgYXV0
byBjYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBzX25ld19zaW1wbGUoInZpZGVvL3gtcmF3IiwgImZv
cm1hdCIsIEdfVFlQRV9TVFJJTkcsICJCR1JBIiwgIndpZHRoIiwgR19UWVBFX0lOVCwgd2lkdGgs
ICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHQsICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFD
VElPTiwgMSwgMSwgbnVsbHB0cikpOworICAgIGF1dG8gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9z
YW1wbGVfbmV3KGJ1ZmZlci5nZXQoKSwgY2Fwcy5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwor
ICAgIHJldHVybiBjcmVhdGUoV1RGTW92ZShzYW1wbGUpLCBGbG9hdFNpemUod2lkdGgsIGhlaWdo
dCksIHsgfSk7Cit9CisKK1JlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBNZWRpYVNhbXBs
ZUdTdHJlYW1lcjo6Z2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0Cit7CisgICAgYXV0byogY2FwcyA9
IGdzdF9zYW1wbGVfZ2V0X2NhcHMobV9zYW1wbGUuZ2V0KCkpOworICAgIEdzdFZpZGVvSW5mbyBp
bnB1dEluZm87CisgICAgaWYgKCFnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoJmlucHV0SW5mbywg
Y2FwcykpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgLy8gV2UgY291bGQgY2hlY2sg
dGhlIGlucHV0IGZvcm1hdCBpcyBSR0JBIGJlZm9yZSBhdHRlbXB0aW5nIGEgY29udmVyc2lvbiwg
YnV0IGl0IGlzIHZlcnkKKyAgICAvLyB1bmxpa2VseSB0byBwYXkgb2ZmLiBUaGUgaW5wdXQgZm9y
bWF0IGlzIGxpa2VseSB0byBiZSBCR1JBICh3aGVuIHRoZSBzYW1wbGVzIGFyZSBjcmVhdGVkIGFz
IGEKKyAgICAvLyByZXN1bHQgb2YgbWVkaWFzdHJlYW0gY2FwdHVyZVN0cmVhbSkgb3Igc29tZSBZ
VVYgZm9ybWF0IGlmIHRoZSBzYW1wbGUgaXMgZnJvbSBhIHZpZGVvIGNhcHR1cmUKKyAgICAvLyBk
ZXZpY2UuIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbmx5IGJ5IGludGVybmFscyBkdXJpbmcgbGF5
b3V0IHRlc3RzLCBpdCBpcyB0aHVzIG5vdCBjcml0aWNhbAorICAgIC8vIHRvIG9wdGltaXplIHRo
aXMgY29kZSBwYXRoLgorCisgICAgYXV0byBvdXRwdXRDYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBz
X2NvcHkoY2FwcykpOworICAgIGdzdF9jYXBzX3NldF9zaW1wbGUob3V0cHV0Q2Fwcy5nZXQoKSwg
ImZvcm1hdCIsIEdfVFlQRV9TVFJJTkcsICJSR0JBIiwgbnVsbHB0cik7CisKKyAgICBHc3RWaWRl
b0luZm8gb3V0cHV0SW5mbzsKKyAgICBpZiAoIWdzdF92aWRlb19pbmZvX2Zyb21fY2Fwcygmb3V0
cHV0SW5mbywgb3V0cHV0Q2Fwcy5nZXQoKSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgaW50IHdpZHRoID0gR1NUX1ZJREVPX0lORk9fV0lEVEgoJmlucHV0SW5mbyk7CisgICAgaW50
IGhlaWdodCA9IEdTVF9WSURFT19JTkZPX0hFSUdIVCgmaW5wdXRJbmZvKTsKKyAgICB1bnNpZ25l
ZCBieXRlTGVuZ3RoID0gR1NUX1ZJREVPX0lORk9fU0laRSgmaW5wdXRJbmZvKTsKKyAgICBhdXRv
IGJ1ZmZlclN0b3JhZ2UgPSBKU0M6OkFycmF5QnVmZmVyOjpjcmVhdGUod2lkdGggKiBoZWlnaHQs
IDQpOworICAgIGF1dG8gb3V0cHV0QnVmZmVyID0gYWRvcHRHUmVmKGdzdF9idWZmZXJfbmV3X3dy
YXBwZWRfZnVsbChHU1RfTUVNT1JZX0ZMQUdfTk9fU0hBUkUsIGJ1ZmZlclN0b3JhZ2UtPmRhdGEo
KSwgYnl0ZUxlbmd0aCwgMCwgYnl0ZUxlbmd0aCwgbnVsbHB0ciwgW10oZ3BvaW50ZXIpIHsgfSkp
OworICAgIGdzdF9idWZmZXJfYWRkX3ZpZGVvX21ldGEob3V0cHV0QnVmZmVyLmdldCgpLCBHU1Rf
VklERU9fRlJBTUVfRkxBR19OT05FLCBHU1RfVklERU9fRk9STUFUX1JHQkEsIHdpZHRoLCBoZWln
aHQpOworICAgIEdzdE1hcHBlZEZyYW1lIG91dHB1dEZyYW1lKG91dHB1dEJ1ZmZlci5nZXQoKSwg
b3V0cHV0SW5mbywgR1NUX01BUF9XUklURSk7CisKKyAgICBHVW5pcXVlUHRyPEdzdFZpZGVvQ29u
dmVydGVyPiBjb252ZXJ0ZXIoZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXcoJmlucHV0SW5mbywgJm91
dHB1dEluZm8sIG51bGxwdHIpKTsKKyAgICBHc3RNYXBwZWRGcmFtZSBpbnB1dEZyYW1lKGdzdF9z
YW1wbGVfZ2V0X2J1ZmZlcihtX3NhbXBsZS5nZXQoKSksIGlucHV0SW5mbywgR1NUX01BUF9SRUFE
KTsKKyAgICBnc3RfdmlkZW9fY29udmVydGVyX2ZyYW1lKGNvbnZlcnRlci5nZXQoKSwgaW5wdXRG
cmFtZS5nZXQoKSwgb3V0cHV0RnJhbWUuZ2V0KCkpOworICAgIHJldHVybiBKU0M6OlVpbnQ4Q2xh
bXBlZEFycmF5Ojp0cnlDcmVhdGUoV1RGTW92ZShidWZmZXJTdG9yYWdlKSwgMCwgYnl0ZUxlbmd0
aCk7Cit9CisKIHZvaWQgTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmV4dGVuZFRvVGhlQmVnaW5uaW5n
KCkKIHsKICAgICAvLyBPbmx5IHRvIGJlIHVzZWQgd2l0aCB0aGUgZmlyc3Qgc2FtcGxlLCBhcyBh
IGhhY2sgZm9yIGxhY2sgb2Ygc3VwcG9ydCBmb3IgZWRpdCBsaXN0cy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJl
YW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
U2FtcGxlR1N0cmVhbWVyLmgKaW5kZXggMWRmYjNjZDA4ZGMzNWVlODA2NWJiZmJlNzc5YWIzY2U5
NjExNWQ5OS4uMzliYzNhYThiMTAyNGMzMThlNzc2NmE5MjUwMzNhMjU0Y2U3YTc3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2Ft
cGxlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmgKQEAgLTM3LDYgKzM3LDcgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUZha2VT
YW1wbGUoR3N0Q2FwcyosIE1lZGlhVGltZSBwdHMsIE1lZGlhVGltZSBkdHMsIE1lZGlhVGltZSBk
dXJhdGlvbiwgY29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lkKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlR1N0cmVhbWVyPiBjcmVh
dGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVk
IGhlaWdodCk7CiAKICAgICB2b2lkIGV4dGVuZFRvVGhlQmVnaW5uaW5nKCk7CiAgICAgTWVkaWFU
aW1lIHByZXNlbnRhdGlvblRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3B0czsgfQpA
QCAtNTQsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX2ZsYWdzOyB9CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1T
YW1wbGUoKSBvdmVycmlkZTsKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBSZWZQdHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0
YSgpIGNvbnN0IGZpbmFsOwogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFtZXIo
R1JlZlB0cjxHc3RTYW1wbGU+JiYsIGNvbnN0IEZsb2F0U2l6ZSYgcHJlc2VudGF0aW9uU2l6ZSwg
Y29uc3QgQXRvbVN0cmluZyYgdHJhY2tJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJl
YW1lck1lZGlhU3RyZWFtU291cmNlLmNwcAppbmRleCAwNGMyNTE4MzdjMTBlM2UyYjRmNjg2NWQ3
Njc3ZTM4ZmRlZGJkN2NkLi5kMzY1NjQyN2EwZGMyZTZmOGMzMTM0OWZjOWM4NjY0OGVmZGM3OTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5j
cHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIkdTdHJlYW1lckF1ZGlvRGF0YS5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5o
IgotI2luY2x1ZGUgIkdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUgIk1l
ZGlhU2FtcGxlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAj
aW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCIKQEAgLTYzLDExICs2Miw5IEBAIEdS
ZWZQdHI8R3N0VGFnTGlzdD4gbWVkaWFTdHJlYW1UcmFja1ByaXZhdGVHZXRUYWdzKE1lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlKiB0cmFjCiAgICAgZWxzZSBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbykgewogICAgICAgICBnc3RfdGFnX2xpc3RfYWRk
KHRhZ0xpc3QuZ2V0KCksIEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBXRUJLSVRfTUVESUFfVFJBQ0tf
VEFHX0tJTkQsIHN0YXRpY19jYXN0PGludD4oVmlkZW9UcmFja1ByaXZhdGU6OktpbmQ6Ok1haW4p
LCBudWxscHRyKTsKIAotICAgICAgICBpZiAodHJhY2stPmlzQ2FwdHVyZVRyYWNrKCkpIHsKLSAg
ICAgICAgICAgIEdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZSYgc291cmNlID0gc3RhdGljX2Nh
c3Q8R1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlJj4odHJhY2stPnNvdXJjZSgpKTsKLSAgICAg
ICAgICAgIGdzdF90YWdfbGlzdF9hZGQodGFnTGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9BUFBF
TkQsIFdFQktJVF9NRURJQV9UUkFDS19UQUdfV0lEVEgsIHNvdXJjZS5zaXplKCkud2lkdGgoKSwK
LSAgICAgICAgICAgICAgICBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX0hFSUdIVCwgc291cmNlLnNp
emUoKS5oZWlnaHQoKSwgbnVsbHB0cik7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byYgc2V0dGlu
Z3MgPSB0cmFjay0+c2V0dGluZ3MoKTsKKyAgICAgICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdMaXN0
LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwgV0VCS0lUX01FRElBX1RSQUNLX1RBR19XSURU
SCwgc2V0dGluZ3Mud2lkdGgoKSwKKyAgICAgICAgICAgIFdFQktJVF9NRURJQV9UUkFDS19UQUdf
SEVJR0hULCBzZXR0aW5ncy5oZWlnaHQoKSwgbnVsbHB0cik7CiAgICAgfQogCiAgICAgR1NUX0RF
QlVHKCJUcmFjayB0YWdzOiAlIiBHU1RfUFRSX0ZPUk1BVCwgdGFnTGlzdC5nZXQoKSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZjI4ZWM5NTRhNjkyYTVhZDI4YjVmMWUwNTdkZmZkZWZhYmY5YTRiYi4uNGUwMTFjYTczMGE2
ZDU4Mzg3YzIwMDY5MDhkNTNiMzM1OTFkYTNkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIw
LTA3LTIwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1N0cmVhbWVyXSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3Rz
IGZhaWxpbmcgc2luY2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFVuZmxhZyBwYXNzaW5nIHRlc3RzIGFuZCBy
ZWJhc2VsaW5lIG9uZSBwbGF0Zm9ybS1zcGVjaWZpYyBXUFQgdGVzdCBleHBlY3RhdGlvbiB3aGlj
aCBkaWZmZXJzCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHQgYnkgb25seSBvbmUgbGluZS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNy
Y09iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDctMjAgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyBnYXJkZW5pbmcK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1l
bnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2ds
aWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NjFhM2I2MGM3NDU0ZGIzNzc5NjhkYjZmNTFkZGVlZDc5MTdlMDg2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVu
dC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1doZW4gcHJv
bXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIHZpZGVvIHN0cmVhbS4KKworRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBNZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJuZWQg
YnkgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgaW4gZ2V0VXNlck1lZGlhIGNhbiBiZSBwcm9wZXJseSBh
c3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgdmlhIHRoZSBzcmNPYmplY3QgYXR0cmlidXRlLgor
CisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1MgVGVz
dHMgdGhhdCBhIE1lZGlhU3RyZWFtIGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQg
d2l0aCBzcmNPYmplY3QgCitQQVNTIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0
byBhIHZpZGVvIGVsZW1lbnQgaXMgbm90IHNlZWthYmxlIAorUEFTUyBUZXN0cyB0aGF0IGEgTWVk
aWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIGluIHJlYWR5U3RhdGUgSEFW
RV9OT1RISU5HIGluaXRpYWxseSAKK1RJTUVPVVQgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFz
c2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCBoYXMgZXhwZWN0ZWQgZHVyYXRpb24gVGVzdCB0aW1l
ZCBvdXQKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJl
YW0gYXNzaWduZWQgaXMgbm90IHByZWxvYWRlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlkZW8g
ZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFja1JhdGUg
YXR0cmlidXRlcyAoZGVmYXVsdFBsYXliYWNrUmF0ZSBpcyBpZGVudGljYWwpIAorTk9UUlVOIFRl
c3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25v
cmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRpZmZl
cmVudCkgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25l
ZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAor
Tk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gcmVwb3J0cyB0aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAorTk9U
UlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJl
YW0gc3RhcnRzIGl0cyB0aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVkaWFT
dHJlYW0gd2FzIGNyZWF0ZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0
aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBkb2VzIG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1lIHdo
aWxlIHBhdXNlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFz
c2lnbmVkIE1lZGlhU3RyZWFtIGRvZXMgbm90IHN0YXJ0IGFkdmFuY2luZyBjdXJyZW50VGltZSB1
bnRpbCBwb3RlbnRpYWxseSBwbGF5aW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgdGhlIGxvb3AgYXR0
cmlidXRlIGhhcyBubyBlZmZlY3Qgb24gYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQg
TWVkaWFTdHJlYW0gCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBh
c3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5h
Y3RpdmUgdGhyb3VnaCB0cmFja3MgZW5kaW5nIAorTk9UUlVOIFRlc3RzIHRoYXQgYW4gYXVkaW8g
ZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFT
dHJlYW0gYmVjb21lcyBpbmF1ZGlibGUgdGhyb3VnaCBhdWRpbyB0cmFja3MgZW5kaW5nIAorTk9U
UlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJl
YW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJh
Y2sgcmVtb3ZhbCAKK05PVFJVTiBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0aCBhbiBh
c3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5h
dWRpYmxlIHRocm91Z2ggdHJhY2sgcmVtb3ZhbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAyODljODZlMjEyNWJhNzEzNmE0YTlmOTFmMWFmOTNiNDk3
NmVlM2QxLi5kNjBjNDE5OTRiZGE3MGFhZjFlYzZiNTI4ODdlNGI4YmEzOGIwMjcwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTcwLDEyICs1NzAsNiBA
QCB3ZWJraXQub3JnL2IvMjEwMzg1IGZhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxl
ZC5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAKIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWFk
ZEV2ZW50TGlzdGVuZXIuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiAKLSMgQ2Fu
dmFzIGNhcHR1cmVTdHJlYW0gc3VwcG9ydCBpcyBub3QgaW1wbGVtZW50ZWQKLXdlYmtpdC5vcmcv
Yi8xNjk4MTEgZmFzdC9tZWRpYWNhcHR1cmVmcm9tZWxlbWVudCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vIFsgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52YXMy
ZC5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFz
dHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52YXMzZC5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCi0KICMg
Tm8gc3VwcG9ydCBmb3IgR1BVUHJvY2VzcyB5ZXQKIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZUlu
R1BVUHJvY2Vzcy5odG1sIFsgU2tpcCBdCiAKQEAgLTMzMDMsOCArMzI5Nyw2IEBAIHdlYmtpdC5v
cmcvYi8xODY2MTggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVh
ZGVycy9oZWFkZXItdmFsCiAKIHdlYmtpdC5vcmcvYi8xODY2MDEgZnVsbHNjcmVlbi9mdWxsLXNj
cmVlbi1sYXllci1kdW1wLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE4Njg0NSBm
YXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzMmQtaGVhdnktZHJhd2luZy5odG1s
IFsgRmFpbHVyZSBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzE4NjE0NCB0cmFuc2l0aW9ucy9t
b3ZlLWFmdGVyLXRyYW5zaXRpb24uaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCiAKIHdlYmtpdC5v
cmcvYi8xODcyNjggY29tcG9zaXRpbmcvYmFja2luZy9iYWNraW5nLXN0b3JlLWF0dGFjaG1lbnQt
b3V0c2lkZS12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1z
cmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZmU4YTYzYjMxMTM1NGM5NmYwMzdhNmUwYmVkMDYyZWM2ZTQ4YjVhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotV2hlbiBwcm9tcHRlZCwgYWNjZXB0IHRvIHNoYXJl
IHlvdXIgdmlkZW8gc3RyZWFtLgotCi1EZXNjcmlwdGlvbgotCi1UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIE1lZGlhU3RyZWFtIG9iamVjdCByZXR1cm5lZCBieSB0aGUgc3VjY2VzcyBjYWxsYmFj
ayBpbiBnZXRVc2VyTWVkaWEgY2FuIGJlIHByb3Blcmx5IGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxl
bWVudCB2aWEgdGhlIHNyY09iamVjdCBhdHRyaWJ1dGUuCi0KLQotCi1GQUlMIFRlc3RzIHRoYXQg
YSBNZWRpYVN0cmVhbSBjYW4gYmUgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IHdpdGggc3Jj
T2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBN
ZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgbm90IHNlZWthYmxlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVh
bSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgaW4gcmVhZHlTdGF0ZSBIQVZFX05PVEhJ
TkcgaW5pdGlhbGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRo
YXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaGFzIGV4cGVjdGVk
IGR1cmF0aW9uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQg
YSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpcyBub3QgcHJlbG9h
ZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSB2aWRl
byBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0
ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGlkZW50aWNhbCkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIHZpZGVvIGVsZW1lbnQgd2l0
aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlnbm9yZXMgcGxheWJhY2tSYXRlIGF0dHJpYnV0ZXMg
KGRlZmF1bHRQbGF5YmFja1JhdGUgaXMgZGlmZmVyZW50KSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVk
IE1lZGlhU3RyZWFtIHJlcG9ydHMgdGhlIHBsYXllZCBhdHRyaWJ1dGUgYXMgZXhwZWN0ZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1l
bnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBjdXJyZW50VGltZSBh
dHRyaWJ1dGUgYXMgZXhwZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwg
VGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBz
dGFydHMgaXRzIHRpbWVsaW5lIGF0IDAgcmVnYXJkbGVzcyBvZiB3aGVuIHRoZSBNZWRpYVN0cmVh
bSB3YXMgY3JlYXRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0
aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGRvZXMgbm90
IGFkdmFuY2UgY3VycmVudFRpbWUgd2hpbGUgcGF1c2VkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQg
TWVkaWFTdHJlYW0gZG9lcyBub3Qgc3RhcnQgYWR2YW5jaW5nIGN1cnJlbnRUaW1lIHVudGlsIHBv
dGVudGlhbGx5IHBsYXlpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBjYW52YXMuY2FwdHVyZVN0cmVhbSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjYW52YXMuY2FwdHVyZVN0cmVhbSgpJywgJ2NhbnZhcy5jYXB0dXJlU3Ry
ZWFtJyBpcyB1bmRlZmluZWQpIgotRkFJTCBUZXN0cyB0aGF0IHRoZSBsb29wIGF0dHJpYnV0ZSBo
YXMgbm8gZWZmZWN0IG9uIGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3Ry
ZWFtIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRp
YSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRp
YVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJhY2tzIGVuZGluZyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0
aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29t
ZXMgaW5hdWRpYmxlIHRocm91Z2ggYXVkaW8gdHJhY2tzIGVuZGluZyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFz
c2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmFj
dGl2ZSB0aHJvdWdoIHRyYWNrIHJlbW92YWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIK
LUZBSUwgVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYXVkaWJsZSB0aHJvdWdo
IHRyYWNrIHJlbW92YWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxOTNmNzg5NjgzNmQ5NzYxNTBm
ODU2MDU3ODg1NWUyZDUwNjQxNjllLi4wYjI3NGRkMTdlZjRjZWI2MTJlZWUzNTI1ZDdkYjkxYmE5
Y2Q1MDMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTMxLDEyICsxMzEsNiBAQCB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS12aWRlby1lbGVtZW50Lmh0bWwgWyBGYWlsdXJlIFBhcwogIyBDcmFzaCBpcyBidWcg
IzE3NjgwMQogd2Via2l0Lm9yZy9iLzE2MDk5NiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LXZpZGVvLWVsZW1lbnQtdmlkZW8tdHJhY2tzLWRpc2FibGVkLmh0bWwgWyBUaW1lb3V0IEltYWdl
T25seUZhaWx1cmUgXQogCi0jIENhbnZhcyBjYXB0dXJlU3RyZWFtIHN1cHBvcnQgaXMgbm90IGlt
cGxlbWVudGVkCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFjYXB0dXJlZnJvbWVsZW1l
bnQgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJl
U3RyZWFtLyBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFt
L2NhcHR1cmVTdHJlYW0vY2FudmFzMmQuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE2
OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzM2QuaHRtbCBbIFRpbWVv
dXQgXQotCiAjIE1lZGlhUmVjb3JkZXIgaXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZAogaHR0
cC93cHQvbWVkaWFyZWNvcmRlciBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404708</attachid>
            <date>2020-07-20 03:16:27 -0700</date>
            <delta_ts>2020-07-20 09:14:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-169811-20200720031625.patch</filename>
            <type>text/plain</type>
            <size>23220</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmI4OGQ3NTQ4Y2M1MmQy
NTEwYTMxOWFiYzFhOTNhNzBjZjM1MWExNS4uYjBlMDJkNzMwZWFjMDVlYjhhODVhNmI3NzlmOWZi
MjI1NzgwODNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA3LTIwICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2lu
Y2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEhvb2sgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGluIEdTdHJlYW1l
ciBwb3J0cy4gVGhlIG9ubHkgbWlzc2luZyBiaXRzIHdlcmU6CisKKyAgICAgICAgMS4gY3JlYXRl
IGEgTWVkaWFTYW1wbGUgZnJvbSBhIEJHUkEgYnVmZmVyCisgICAgICAgIDIuIGNvbnZlcnQgYSBN
ZWRpYVNhbXBsZSB0byBhIFJHQkEgYnVmZmVyICh1c2VkIG9ubHkgZm9yIGxheW91dCB0ZXN0cykK
KyAgICAgICAgMy4gc2V0IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgdGFncyBub3Qgb25seSBvbiB2
aWRlbyBjYXB0dXJlIHRyYWNrcyAodHJhY2tzIGNyZWF0ZWQgZnJvbQorICAgICAgICAgICBjYXB0
dXJlU3RyZWFtIGFyZSBub3QgR1N0cmVhbWVyIGNhcHR1cmUgZGV2aWNlIHRyYWNrcykKKworICAg
ICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOiBSZWZhY3RvciBjcmVh
dGVJbWFnZVNhbXBsZSB0bworICAgICAgICB1c2UgdW5zaWduZWQgZm9yIGRpbWVuc2lvbnMuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNh
bXBsZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1l
cjo6Y3JlYXRlSW1hZ2VTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVHU3Ry
ZWFtZXI6OmdldFJHQkFJbWFnZURhdGEgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6Cisg
ICAgICAgIChtZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUdldFRhZ3MpOgorCiAyMDIwLTA3LTIwICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVzZSBm
b3J3YXJkIHRlbXBsYXRlIGRlY2xhcmF0aW9ucyBmb3IgQ29sb3JDb21wb25lbnRzIGluc3RlYWQg
b2YgaW5jbHVkaW5nIENvbG9yQ29tcG9uZW50cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENh
bnZhc0VsZW1lbnQuY3BwCmluZGV4IDliZmEzZGNlOWJiNTg5ZWI4ZjI5NTFjYzczNTY5NGYxYzEy
YjRhN2EuLjBjZTQ0ZDIxY2MyZThlN2EzZjNlMTQwODg4YjgwNGRjZDhmMWI4YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCkBAIC04NywxNSArODcsMTkgQEAK
ICNpbmNsdWRlICJXZWJYUlN5c3RlbS5oIgogI2VuZGlmCiAKKyNpZiBVU0UoQ0cpCisjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIgorI2VuZGlmCisKKyNpZiBVU0UoR1NUUkVBTUVS
KQorI2luY2x1ZGUgIk1lZGlhU2FtcGxlR1N0cmVhbWVyLmgiCisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKENPQ09BKQogI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgogI2luY2x1ZGUgPHBh
bC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2VuZGlmCiAKLSNpZiBVU0UoQ0cpCi0jaW5jbHVk
ZSAiSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEhUTUxDYW52YXNFbGVtZW50KTsKQEAg
LTc4OSw2ICs3OTMsOSBAQCBSZWZQdHI8TWVkaWFTYW1wbGU+IEhUTUxDYW52YXNFbGVtZW50Ojp0
b01lZGlhU2FtcGxlKCkKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBtYWtlUmVuZGVyaW5nUmVz
dWx0c0F2YWlsYWJsZSgpOwogICAgIHJldHVybiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUlt
YWdlU2FtcGxlKGltYWdlQnVmZmVyLT50b0JHUkFEYXRhKCksIHdpZHRoKCksIGhlaWdodCgpKTsK
KyNlbGlmIFVTRShHU1RSRUFNRVIpCisgICAgbWFrZVJlbmRlcmluZ1Jlc3VsdHNBdmFpbGFibGUo
KTsKKyAgICByZXR1cm4gTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZUltYWdlU2FtcGxlKGlt
YWdlQnVmZmVyLT50b0JHUkFEYXRhKCksIHdpZHRoKCksIGhlaWdodCgpKTsKICNlbHNlCiAgICAg
cmV0dXJuIG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLmgKaW5kZXggODkxMzRjNTJjODg2NTYyYTJkMjNlN2NlYzZiMGZmMzVlODIxM2Nk
Mi4uMzM0YzA2MTdhNWZhMjA2ZTY4ZmFmMGZlMGM5YjY5MDJkNzI4YmMyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVhdGUoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlLCBpbnQgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlh
U2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmlu
ZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1w
bGUsIHRyYWNrSUQpKTsgfQogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVh
dGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uID0gVmlk
ZW9Sb3RhdGlvbjo6Tm9uZSwgYm9vbCBtaXJyb3JlZCA9IGZhbHNlKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHJvdGF0aW9uLCBtaXJyb3JlZCkpOyB9
Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZUltYWdlU2FtcGxl
KFZlY3Rvcjx1aW50OF90PiYmLCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhl
aWdodCk7CisgICAgc3RhdGljIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZUltYWdl
U2FtcGxlKFZlY3Rvcjx1aW50OF90PiYmLCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldEFzRGlzcGxheUltbWVkaWF0
ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJl
Zj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1
ZmZlclJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
aW5kZXggMmRhMjY3NmY4ZDBlYWExZmQ5YjVhZWE2Mjc4NDZlYjgyYjJhODIwMy4uMTczZjUwZTkz
ZDM1MWFhYzZhOGVlN2E2ZGFkOTQzY2JiNzEzMDg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgcmVsZWFzZVVpbnQ4VmVjdG9yKHZvaWQgKmFycmF5LCBjb25zdCB2b2lkKikKICAgICBX
VEY6OlZlY3Rvck1hbGxvYzo6ZnJlZShhcnJheSk7CiB9CiAKLVJlZlB0cjxNZWRpYVNhbXBsZUFW
Rk9iakM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoVmVjdG9yPHVpbnQ4
X3Q+JiYgYXJyYXksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KQor
UmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFn
ZVNhbXBsZShWZWN0b3I8dWludDhfdD4mJiBhcnJheSwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVk
IGhlaWdodCkKIHsKICAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gbnVsbHB0cjsK
ICAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJDcmVhdGVXaXRoQnl0ZXMoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgd2lkdGgsIGhlaWdodCwga0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSwgYXJy
YXkuZGF0YSgpLCB3aWR0aCAqIDQsIHJlbGVhc2VVaW50OFZlY3RvciwgYXJyYXkucmVsZWFzZUJ1
ZmZlcigpLmxlYWtQdHIoKSwgTlVMTCwgJnBpeGVsQnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuY3BwCmluZGV4IDc5YTVjYjEwZjExOGQ5MmM0Nzc1YjQ0ZGVlOTIzYzk1
YWU4Yjk2ZjcuLjViMjk3NDg0YzAwMGRhMzUyNGY0MTQ2MjdlNGZmMGMzN2Q0MWE4ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNh
bXBsZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcApAQCAtMjMsNiArMjMsOCBAQAogCiAj
aW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCiAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0NJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvVHlwZWRBcnJheUlubGluZXMu
aD4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShHU1RS
RUFNRVIpCkBAIC05NSw2ICs5Nyw1MiBAQCBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IE1lZGlh
U2FtcGxlR1N0cmVhbWVyOjpjcmVhdGVGYWtlU2FtcGxlKEdzdENhcHMqLCBNZWRpYQogICAgIHJl
dHVybiBhZG9wdFJlZigqZ3N0cmVhbWVyTWVkaWFTYW1wbGUpOwogfQogCitSZWY8TWVkaWFTYW1w
bGVHU3RyZWFtZXI+IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGVJbWFnZVNhbXBsZShWZWN0
b3I8dWludDhfdD4mJiBiZ3JhRGF0YSwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkK
K3sKKyAgICBzaXplX3Qgc2l6ZSA9IGJncmFEYXRhLnNpemVJbkJ5dGVzKCk7CisgICAgYXV0byBi
dWZmZXIgPSBhZG9wdEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsKEdTVF9NRU1PUllf
RkxBR19SRUFET05MWSwgYmdyYURhdGEuZGF0YSgpLCBzaXplLCAwLCBzaXplLCBiZ3JhRGF0YS5y
ZWxlYXNlQnVmZmVyKCkubGVha1B0cigpLCBbXShncG9pbnRlciBkYXRhKSB7CisgICAgICAgIFdU
Rjo6VmVjdG9yTWFsbG9jOjpmcmVlKGRhdGEpOworICAgIH0pKTsKKyAgICBnc3RfYnVmZmVyX2Fk
ZF92aWRlb19tZXRhKGJ1ZmZlci5nZXQoKSwgR1NUX1ZJREVPX0ZSQU1FX0ZMQUdfTk9ORSwgR1NU
X1ZJREVPX0ZPUk1BVF9CR1JBLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBhdXRvIGNhcHMgPSBhZG9w
dEdSZWYoZ3N0X2NhcHNfbmV3X3NpbXBsZSgidmlkZW8veC1yYXciLCAiZm9ybWF0IiwgR19UWVBF
X1NUUklORywgIkJHUkEiLCAid2lkdGgiLCBHX1RZUEVfSU5ULCB3aWR0aCwgImhlaWdodCIsIEdf
VFlQRV9JTlQsIGhlaWdodCwgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OLCAxLCAxLCBu
dWxscHRyKSk7CisgICAgYXV0byBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVm
ZmVyLmdldCgpLCBjYXBzLmdldCgpLCBudWxscHRyLCBudWxscHRyKSk7CisgICAgcmV0dXJuIGNy
ZWF0ZShXVEZNb3ZlKHNhbXBsZSksIEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgeyB9KTsKK30K
KworUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpn
ZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3QKK3sKKyAgICBhdXRvKiBjYXBzID0gZ3N0X3NhbXBsZV9n
ZXRfY2FwcyhtX3NhbXBsZS5nZXQoKSk7CisgICAgR3N0VmlkZW9JbmZvIGlucHV0SW5mbzsKKyAg
ICBpZiAoIWdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygmaW5wdXRJbmZvLCBjYXBzKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAvLyBXZSBjb3VsZCBjaGVjayB0aGUgaW5wdXQgZm9y
bWF0IGlzIFJHQkEgYmVmb3JlIGF0dGVtcHRpbmcgYSBjb252ZXJzaW9uLCBidXQgaXQgaXMgdmVy
eQorICAgIC8vIHVubGlrZWx5IHRvIHBheSBvZmYuIFRoZSBpbnB1dCBmb3JtYXQgaXMgbGlrZWx5
IHRvIGJlIEJHUkEgKHdoZW4gdGhlIHNhbXBsZXMgYXJlIGNyZWF0ZWQgYXMgYQorICAgIC8vIHJl
c3VsdCBvZiBtZWRpYXN0cmVhbSBjYXB0dXJlU3RyZWFtKSBvciBzb21lIFlVViBmb3JtYXQgaWYg
dGhlIHNhbXBsZSBpcyBmcm9tIGEgdmlkZW8gY2FwdHVyZQorICAgIC8vIGRldmljZS4gVGhpcyBt
ZXRob2QgaXMgY2FsbGVkIG9ubHkgYnkgaW50ZXJuYWxzIGR1cmluZyBsYXlvdXQgdGVzdHMsIGl0
IGlzIHRodXMgbm90IGNyaXRpY2FsCisgICAgLy8gdG8gb3B0aW1pemUgdGhpcyBjb2RlIHBhdGgu
CisKKyAgICBhdXRvIG91dHB1dENhcHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfY29weShjYXBzKSk7
CisgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZShvdXRwdXRDYXBzLmdldCgpLCAiZm9ybWF0IiwgR19U
WVBFX1NUUklORywgIlJHQkEiLCBudWxscHRyKTsKKworICAgIEdzdFZpZGVvSW5mbyBvdXRwdXRJ
bmZvOworICAgIGlmICghZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCZvdXRwdXRJbmZvLCBvdXRw
dXRDYXBzLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpbnQgd2lkdGgg
PSBHU1RfVklERU9fSU5GT19XSURUSCgmaW5wdXRJbmZvKTsKKyAgICBpbnQgaGVpZ2h0ID0gR1NU
X1ZJREVPX0lORk9fSEVJR0hUKCZpbnB1dEluZm8pOworICAgIHVuc2lnbmVkIGJ5dGVMZW5ndGgg
PSBHU1RfVklERU9fSU5GT19TSVpFKCZpbnB1dEluZm8pOworICAgIGF1dG8gYnVmZmVyU3RvcmFn
ZSA9IEpTQzo6QXJyYXlCdWZmZXI6OmNyZWF0ZSh3aWR0aCAqIGhlaWdodCwgNCk7CisgICAgYXV0
byBvdXRwdXRCdWZmZXIgPSBhZG9wdEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsKEdT
VF9NRU1PUllfRkxBR19OT19TSEFSRSwgYnVmZmVyU3RvcmFnZS0+ZGF0YSgpLCBieXRlTGVuZ3Ro
LCAwLCBieXRlTGVuZ3RoLCBudWxscHRyLCBbXShncG9pbnRlcikgeyB9KSk7CisgICAgZ3N0X2J1
ZmZlcl9hZGRfdmlkZW9fbWV0YShvdXRwdXRCdWZmZXIuZ2V0KCksIEdTVF9WSURFT19GUkFNRV9G
TEFHX05PTkUsIEdTVF9WSURFT19GT1JNQVRfUkdCQSwgd2lkdGgsIGhlaWdodCk7CisgICAgR3N0
TWFwcGVkRnJhbWUgb3V0cHV0RnJhbWUob3V0cHV0QnVmZmVyLmdldCgpLCBvdXRwdXRJbmZvLCBH
U1RfTUFQX1dSSVRFKTsKKworICAgIEdVbmlxdWVQdHI8R3N0VmlkZW9Db252ZXJ0ZXI+IGNvbnZl
cnRlcihnc3RfdmlkZW9fY29udmVydGVyX25ldygmaW5wdXRJbmZvLCAmb3V0cHV0SW5mbywgbnVs
bHB0cikpOworICAgIEdzdE1hcHBlZEZyYW1lIGlucHV0RnJhbWUoZ3N0X3NhbXBsZV9nZXRfYnVm
ZmVyKG1fc2FtcGxlLmdldCgpKSwgaW5wdXRJbmZvLCBHU1RfTUFQX1JFQUQpOworICAgIGdzdF92
aWRlb19jb252ZXJ0ZXJfZnJhbWUoY29udmVydGVyLmdldCgpLCBpbnB1dEZyYW1lLmdldCgpLCBv
dXRwdXRGcmFtZS5nZXQoKSk7CisgICAgcmV0dXJuIEpTQzo6VWludDhDbGFtcGVkQXJyYXk6OnRy
eUNyZWF0ZShXVEZNb3ZlKGJ1ZmZlclN0b3JhZ2UpLCAwLCBieXRlTGVuZ3RoKTsKK30KKwogdm9p
ZCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6ZXh0ZW5kVG9UaGVCZWdpbm5pbmcoKQogewogICAgIC8v
IE9ubHkgdG8gYmUgdXNlZCB3aXRoIHRoZSBmaXJzdCBzYW1wbGUsIGFzIGEgaGFjayBmb3IgbGFj
ayBvZiBzdXBwb3J0IGZvciBlZGl0IGxpc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFt
ZXIuaAppbmRleCAxZGZiM2NkMDhkYzM1ZWU4MDY1YmJmYmU3NzlhYjNjZTk2MTE1ZDk5Li4zOWJj
M2FhOGIxMDI0YzMxOGU3NzY2YTkyNTAzM2EyNTRjZTdhNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuaApAQCAtMzcsNiArMzcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAg
c3RhdGljIFJlZjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gY3JlYXRlRmFrZVNhbXBsZShHc3RDYXBz
KiwgTWVkaWFUaW1lIHB0cywgTWVkaWFUaW1lIGR0cywgTWVkaWFUaW1lIGR1cmF0aW9uLCBjb25z
dCBGbG9hdFNpemUmIHByZXNlbnRhdGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQp
OworICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUltYWdlU2FtcGxl
KFZlY3Rvcjx1aW50OF90PiYmLCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KTsKIAog
ICAgIHZvaWQgZXh0ZW5kVG9UaGVCZWdpbm5pbmcoKTsKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0
aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHRzOyB9CkBAIC01NCw2ICs1NSw3
IEBAIHB1YmxpYzoKICAgICBTYW1wbGVGbGFncyBmbGFncygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fZmxhZ3M7IH0KICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJy
aWRlOwogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAgIFJl
ZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3QgZmlu
YWw7CiAKIHByb3RlY3RlZDoKICAgICBNZWRpYVNhbXBsZUdTdHJlYW1lcihHUmVmUHRyPEdzdFNh
bXBsZT4mJiwgY29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJl
YW1Tb3VyY2UuY3BwCmluZGV4IDA0YzI1MTgzN2MxMGUzZTJiNGY2ODY1ZDc2NzdlMzhmZGVkYmQ3
Y2QuLmQzNjU2NDI3YTBkYzJlNmY4YzMxMzQ5ZmM5Yzg2NjQ4ZWZkYzc5MGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJN
ZWRpYVN0cmVhbVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcApAQCAtMjksNyAr
MjksNiBAQAogI2luY2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiR1N0cmVh
bWVyQXVkaW9EYXRhLmgiCiAjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCi0jaW5jbHVkZSAi
R1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmgiCiAjaW5jbHVkZSAiTWVkaWFTYW1wbGVHU3Ry
ZWFtZXIuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKICNpbmNsdWRlICJNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNjMsMTEgKzYyLDkgQEAgR1JlZlB0cjxHc3RUYWdM
aXN0PiBtZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUdldFRhZ3MoTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGUqIHRyYWMKICAgICBlbHNlIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvKSB7CiAgICAgICAgIGdzdF90YWdfbGlzdF9hZGQodGFnTGlzdC5nZXQo
KSwgR1NUX1RBR19NRVJHRV9BUFBFTkQsIFdFQktJVF9NRURJQV9UUkFDS19UQUdfS0lORCwgc3Rh
dGljX2Nhc3Q8aW50PihWaWRlb1RyYWNrUHJpdmF0ZTo6S2luZDo6TWFpbiksIG51bGxwdHIpOwog
Ci0gICAgICAgIGlmICh0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkgewotICAgICAgICAgICAgR1N0
cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlJiBzb3VyY2UgPSBzdGF0aWNfY2FzdDxHU3RyZWFtZXJW
aWRlb0NhcHR1cmVTb3VyY2UmPih0cmFjay0+c291cmNlKCkpOwotICAgICAgICAgICAgZ3N0X3Rh
Z19saXN0X2FkZCh0YWdMaXN0LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwgV0VCS0lUX01F
RElBX1RSQUNLX1RBR19XSURUSCwgc291cmNlLnNpemUoKS53aWR0aCgpLAotICAgICAgICAgICAg
ICAgIFdFQktJVF9NRURJQV9UUkFDS19UQUdfSEVJR0hULCBzb3VyY2Uuc2l6ZSgpLmhlaWdodCgp
LCBudWxscHRyKTsKLSAgICAgICAgfQorICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHRyYWNrLT5z
ZXR0aW5ncygpOworICAgICAgICBnc3RfdGFnX2xpc3RfYWRkKHRhZ0xpc3QuZ2V0KCksIEdTVF9U
QUdfTUVSR0VfQVBQRU5ELCBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX1dJRFRILCBzZXR0aW5ncy53
aWR0aCgpLAorICAgICAgICAgICAgV0VCS0lUX01FRElBX1RSQUNLX1RBR19IRUlHSFQsIHNldHRp
bmdzLmhlaWdodCgpLCBudWxscHRyKTsKICAgICB9CiAKICAgICBHU1RfREVCVUcoIlRyYWNrIHRh
Z3M6ICUiIEdTVF9QVFJfRk9STUFULCB0YWdMaXN0LmdldCgpKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjhlYzk1NGE2
OTJhNWFkMjhiNWYxZTA1N2RmZmRlZmFiZjlhNGJiLi40ZTAxMWNhNzMwYTZkNTgzODdjMjAwNjkw
OGQ1M2IzMzU5MWRhM2Q1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDctMjAgIFBoaWxp
cHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJd
IEFkZCBzdXBwb3J0IGZvciBjYW52YXMgY2FwdHVyZVN0cmVhbSwgdGVzdHMgZmFpbGluZyBzaW5j
ZSB0aGV5IHdlcmUgYWRkZWQgaW4gcjIxMzU5OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5ODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgVW5mbGFnIHBhc3NpbmcgdGVzdHMgYW5kIHJlYmFzZWxpbmUgb25l
IHBsYXRmb3JtLXNwZWNpZmljIFdQVCB0ZXN0IGV4cGVjdGF0aW9uIHdoaWNoIGRpZmZlcnMKKyAg
ICAgICAgZnJvbSB0aGUgZGVmYXVsdCBieSBvbmx5IG9uZSBsaW5lLgorCisgICAgICAgICogcGxh
dGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVj
dGF0aW9uczoKKwogMjAyMC0wNy0yMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgR1RLIGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3Qu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1l
ZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MWEz
YjYwYzc0NTRkYjM3Nzk2OGRiNmY1MWRkZWVkNzkxN2UwODYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorV2hlbiBwcm9tcHRlZCwgYWNjZXB0
IHRvIHNoYXJlIHlvdXIgdmlkZW8gc3RyZWFtLgorCitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIE1lZGlhU3RyZWFtIG9iamVjdCByZXR1cm5lZCBieSB0aGUgc3VjY2Vz
cyBjYWxsYmFjayBpbiBnZXRVc2VyTWVkaWEgY2FuIGJlIHByb3Blcmx5IGFzc2lnbmVkIHRvIGEg
dmlkZW8gZWxlbWVudCB2aWEgdGhlIHNyY09iamVjdCBhdHRyaWJ1dGUuCisKKworCitIYXJuZXNz
IEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBUZXN0cyB0aGF0IGEgTWVk
aWFTdHJlYW0gY2FuIGJlIGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCB3aXRoIHNyY09iamVj
dCAKK1BBU1MgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxl
bWVudCBpcyBub3Qgc2Vla2FibGUgCitQQVNTIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBhc3Np
Z25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgaW4gcmVhZHlTdGF0ZSBIQVZFX05PVEhJTkcgaW5p
dGlhbGx5IAorVElNRU9VVCBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2
aWRlbyBlbGVtZW50IGhhcyBleHBlY3RlZCBkdXJhdGlvbiBUZXN0IHRpbWVkIG91dAorTk9UUlVO
IFRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBp
cyBub3QgcHJlbG9hZGVkIAorTk9UUlVOIFRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGgg
YSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVzIChk
ZWZhdWx0UGxheWJhY2tSYXRlIGlzIGlkZW50aWNhbCkgCitOT1RSVU4gVGVzdHMgdGhhdCBhIHZp
ZGVvIGVsZW1lbnQgd2l0aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlnbm9yZXMgcGxheWJhY2tS
YXRlIGF0dHJpYnV0ZXMgKGRlZmF1bHRQbGF5YmFja1JhdGUgaXMgZGlmZmVyZW50KSAKK05PVFJV
TiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFt
IHJlcG9ydHMgdGhlIHBsYXllZCBhdHRyaWJ1dGUgYXMgZXhwZWN0ZWQgCitOT1RSVU4gVGVzdHMg
dGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRz
IHRoZSBjdXJyZW50VGltZSBhdHRyaWJ1dGUgYXMgZXhwZWN0ZWQgCitOT1RSVU4gVGVzdHMgdGhh
dCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBzdGFydHMgaXRz
IHRpbWVsaW5lIGF0IDAgcmVnYXJkbGVzcyBvZiB3aGVuIHRoZSBNZWRpYVN0cmVhbSB3YXMgY3Jl
YXRlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVk
IE1lZGlhU3RyZWFtIGRvZXMgbm90IGFkdmFuY2UgY3VycmVudFRpbWUgd2hpbGUgcGF1c2VkIAor
Tk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gZG9lcyBub3Qgc3RhcnQgYWR2YW5jaW5nIGN1cnJlbnRUaW1lIHVudGlsIHBvdGVudGlh
bGx5IHBsYXlpbmcgCitOT1RSVU4gVGVzdHMgdGhhdCB0aGUgbG9vcCBhdHRyaWJ1dGUgaGFzIG5v
IGVmZmVjdCBvbiBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSAK
K05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmFjdGl2ZSB0aHJvdWdo
IHRyYWNrcyBlbmRpbmcgCitOT1RSVU4gVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGgg
YW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVz
IGluYXVkaWJsZSB0aHJvdWdoIGF1ZGlvIHRyYWNrcyBlbmRpbmcgCitOT1RSVU4gVGVzdHMgdGhh
dCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4g
dGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hY3RpdmUgdGhyb3VnaCB0cmFjayByZW1vdmFsIAor
Tk9UUlVOIFRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmF1ZGlibGUgdGhyb3Vn
aCB0cmFjayByZW1vdmFsIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDI4OWM4NmUyMTI1YmE3MTM2YTRhOWY5MWYxYWY5M2I0OTc2ZWUzZDEuLmQ2MGM0
MTk5NGJkYTcwYWFmMWVjNmI1Mjg4N2U0YjhiYTM4YjAyNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC01NzAsMTIgKzU3MCw2IEBAIHdlYmtpdC5vcmcv
Yi8yMTAzODUgZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFibGVkLmh0bWwgWyBDcmFz
aCBQYXNzIF0KIAogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMtYWRkRXZlbnRMaXN0ZW5l
ci5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIAotIyBDYW52YXMgY2FwdHVyZVN0
cmVhbSBzdXBwb3J0IGlzIG5vdCBpbXBsZW1lbnRlZAotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0
L21lZGlhY2FwdHVyZWZyb21lbGVtZW50IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZh
c3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVhbS8gWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8x
Njk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczJkLmh0bWwgWyBDcmFz
aCBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJl
U3RyZWFtL2NhbnZhczNkLmh0bWwgWyBDcmFzaCBUaW1lb3V0IF0KLQogIyBObyBzdXBwb3J0IGZv
ciBHUFVQcm9jZXNzIHlldAogZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlSW5HUFVQcm9jZXNzLmh0
bWwgWyBTa2lwIF0KIApAQCAtMzMwMyw4ICszMjk3LDYgQEAgd2Via2l0Lm9yZy9iLzE4NjYxOCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlci12
YWwKIAogd2Via2l0Lm9yZy9iLzE4NjYwMSBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWxheWVyLWR1
bXAuaHRtbCBbIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMTg2ODQ1IGZhc3QvbWVkaWFzdHJl
YW0vY2FwdHVyZVN0cmVhbS9jYW52YXMyZC1oZWF2eS1kcmF3aW5nLmh0bWwgWyBGYWlsdXJlIFRp
bWVvdXQgXQotCiB3ZWJraXQub3JnL2IvMTg2MTQ0IHRyYW5zaXRpb25zL21vdmUtYWZ0ZXItdHJh
bnNpdGlvbi5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzE4NzI2OCBj
b21wb3NpdGluZy9iYWNraW5nL2JhY2tpbmctc3RvcmUtYXR0YWNobWVudC1vdXRzaWRlLXZpZXdw
b3J0Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRw
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmZThhNjNiMzEx
MzU0Yzk2ZjAzN2E2ZTBiZWQwNjJlYzZlNDhiNWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVk
aWFFbGVtZW50LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyNiArMCwwIEBACi1XaGVuIHByb21wdGVkLCBhY2NlcHQgdG8gc2hhcmUgeW91ciB2aWRlbyBz
dHJlYW0uCi0KLURlc2NyaXB0aW9uCi0KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgTWVkaWFT
dHJlYW0gb2JqZWN0IHJldHVybmVkIGJ5IHRoZSBzdWNjZXNzIGNhbGxiYWNrIGluIGdldFVzZXJN
ZWRpYSBjYW4gYmUgcHJvcGVybHkgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IHZpYSB0aGUg
c3JjT2JqZWN0IGF0dHJpYnV0ZS4KLQotCi0KLUZBSUwgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFt
IGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgd2l0aCBzcmNPYmplY3QgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFz
c2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCBpcyBub3Qgc2Vla2FibGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIHRv
IGEgdmlkZW8gZWxlbWVudCBpcyBpbiByZWFkeVN0YXRlIEhBVkVfTk9USElORyBpbml0aWFsbHkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIE1lZGlhU3Ry
ZWFtIGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCBoYXMgZXhwZWN0ZWQgZHVyYXRpb24gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIHZpZGVvIGVsZW1l
bnQgd2l0aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlzIG5vdCBwcmVsb2FkZWQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIHZpZGVvIGVsZW1lbnQgd2l0
aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlnbm9yZXMgcGxheWJhY2tSYXRlIGF0dHJpYnV0ZXMg
KGRlZmF1bHRQbGF5YmFja1JhdGUgaXMgaWRlbnRpY2FsKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJl
YW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFja1JhdGUgYXR0cmlidXRlcyAoZGVmYXVsdFBsYXli
YWNrUmF0ZSBpcyBkaWZmZXJlbnQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlM
IFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0g
cmVwb3J0cyB0aGUgcGxheWVkIGF0dHJpYnV0ZSBhcyBleHBlY3RlZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFz
c2lnbmVkIE1lZGlhU3RyZWFtIHJlcG9ydHMgdGhlIGN1cnJlbnRUaW1lIGF0dHJpYnV0ZSBhcyBl
eHBlY3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEg
bWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIHN0YXJ0cyBpdHMgdGlt
ZWxpbmUgYXQgMCByZWdhcmRsZXNzIG9mIHdoZW4gdGhlIE1lZGlhU3RyZWFtIHdhcyBjcmVhdGVk
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBl
bGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZG9lcyBub3QgYWR2YW5jZSBjdXJy
ZW50VGltZSB3aGlsZSBwYXVzZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwg
VGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBk
b2VzIG5vdCBzdGFydCBhZHZhbmNpbmcgY3VycmVudFRpbWUgdW50aWwgcG90ZW50aWFsbHkgcGxh
eWluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IGNhbnZhcy5jYXB0dXJlU3RyZWFtIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2NhbnZhcy5jYXB0dXJlU3RyZWFtKCknLCAnY2FudmFzLmNhcHR1cmVTdHJlYW0nIGlzIHVuZGVm
aW5lZCkiCi1GQUlMIFRlc3RzIHRoYXQgdGhlIGxvb3AgYXR0cmlidXRlIGhhcyBubyBlZmZlY3Qg
b24gYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0
aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29t
ZXMgaW5hY3RpdmUgdGhyb3VnaCB0cmFja3MgZW5kaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVk
IE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmF1ZGlibGUg
dGhyb3VnaCBhdWRpbyB0cmFja3MgZW5kaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJyki
Ci1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFT
dHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2gg
dHJhY2sgcmVtb3ZhbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0
aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdo
ZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hdWRpYmxlIHRocm91Z2ggdHJhY2sgcmVtb3Zh
bCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dw
ZS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE5M2Y3ODk2ODM2ZDk3NjE1MGY4NTYwNTc4ODU1ZTJk
NTA2NDE2OWUuLjBiMjc0ZGQxN2VmNGNlYjYxMmVlZTM1MjVkN2RiOTFiYTljZDUwMzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzEsMTIgKzEzMSw2
IEBAIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLXZpZGVv
LWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUgUGFzCiAjIENyYXNoIGlzIGJ1ZyAjMTc2ODAxCiB3ZWJr
aXQub3JnL2IvMTYwOTk2IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVu
dC12aWRlby10cmFja3MtZGlzYWJsZWQuaHRtbCBbIFRpbWVvdXQgSW1hZ2VPbmx5RmFpbHVyZSBd
CiAKLSMgQ2FudmFzIGNhcHR1cmVTdHJlYW0gc3VwcG9ydCBpcyBub3QgaW1wbGVtZW50ZWQKLXdl
YmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYWNhcHR1cmVmcm9tZWxlbWVudCBbIFNraXAgXQot
d2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVh
bS9jYW52YXMyZC5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVk
aWFzdHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52YXMzZC5odG1sIFsgVGltZW91dCBdCi0KICMgTWVk
aWFSZWNvcmRlciBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkCiBodHRwL3dwdC9tZWRpYXJl
Y29yZGVyIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404719</attachid>
            <date>2020-07-20 09:14:28 -0700</date>
            <delta_ts>2020-07-20 11:30:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169811-20200720161426.patch</filename>
            <type>text/plain</type>
            <size>23180</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uOWUxMzJkYzk5Y2U0OTNhNjFiZTcwMjk4Y2RlNTNj
NzIwZDBhMzY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA3LTIwICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBBZGQgc3VwcG9ydCBmb3IgY2FudmFzIGNhcHR1cmVTdHJlYW0sIHRlc3RzIGZhaWxpbmcgc2lu
Y2UgdGhleSB3ZXJlIGFkZGVkIGluIHIyMTM1OTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEhvb2sgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGluIEdTdHJl
YW1lciBwb3J0cy4gVGhlIG9ubHkgbWlzc2luZyBiaXRzIHdlcmU6CisKKyAgICAgICAgMS4gY3Jl
YXRlIGEgTWVkaWFTYW1wbGUgZnJvbSBhIEJHUkEgYnVmZmVyCisgICAgICAgIDIuIGNvbnZlcnQg
YSBNZWRpYVNhbXBsZSB0byBhIFJHQkEgYnVmZmVyICh1c2VkIG9ubHkgZm9yIGxheW91dCB0ZXN0
cykKKyAgICAgICAgMy4gc2V0IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgdGFncyBub3Qgb25seSBv
biB2aWRlbyBjYXB0dXJlIHRyYWNrcyAodHJhY2tzIGNyZWF0ZWQgZnJvbQorICAgICAgICAgICBj
YXB0dXJlU3RyZWFtIGFyZSBub3QgR1N0cmVhbWVyIGNhcHR1cmUgZGV2aWNlIHRyYWNrcykKKwor
ICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENhbnZhc0VsZW1lbnQ6OnRvTWVkaWFTYW1wbGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOiBSZWZhY3RvciBj
cmVhdGVJbWFnZVNhbXBsZSB0bworICAgICAgICB1c2UgdW5zaWduZWQgZm9yIGRpbWVuc2lvbnMu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVNhbXBsZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJl
YW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVH
U3RyZWFtZXI6OmdldFJHQkFJbWFnZURhdGEgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6
CisgICAgICAgIChtZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUdldFRhZ3MpOgorCiAyMDIwLTA3LTIw
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI2NDU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHAKaW5kZXggOWJmYTNkY2U5YmI1ODllYjhmMjk1MWNjNzM1Njk0ZjFjMTJiNGE3
YS4uMGNlNDRkMjFjYzJlOGU3YTNmM2UxNDA4ODhiODA0ZGNkOGYxYjhiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKQEAgLTg3LDE1ICs4NywxOSBAQAogI2lu
Y2x1ZGUgIldlYlhSU3lzdGVtLmgiCiAjZW5kaWYKIAorI2lmIFVTRShDRykKKyNpbmNsdWRlICJJ
bWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgiCisjZW5kaWYKKworI2lmIFVTRShHU1RSRUFNRVIpCisj
aW5jbHVkZSAiTWVkaWFTYW1wbGVHU3RyZWFtZXIuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAjaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW5jbHVkZSA8cGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKIAotI2lmIFVTRShDRykKLSNpbmNsdWRlICJJ
bWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTENhbnZhc0VsZW1lbnQpOwpAQCAtNzg5
LDYgKzc5Myw5IEBAIFJlZlB0cjxNZWRpYVNhbXBsZT4gSFRNTENhbnZhc0VsZW1lbnQ6OnRvTWVk
aWFTYW1wbGUoKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIG1ha2VSZW5kZXJpbmdSZXN1bHRz
QXZhaWxhYmxlKCk7CiAgICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VT
YW1wbGUoaW1hZ2VCdWZmZXItPnRvQkdSQURhdGEoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOworI2Vs
aWYgVVNFKEdTVFJFQU1FUikKKyAgICBtYWtlUmVuZGVyaW5nUmVzdWx0c0F2YWlsYWJsZSgpOwor
ICAgIHJldHVybiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUoaW1hZ2VC
dWZmZXItPnRvQkdSQURhdGEoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOwogI2Vsc2UKICAgICByZXR1
cm4gbnVsbHB0cjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMuaAppbmRleCA4OTEzNGM1MmM4ODY1NjJhMmQyM2U3Y2VjNmIwZmYzNWU4MjEzY2QyLi4z
MzRjMDYxN2E1ZmEyMDZlNjhmYWYwZmUwYzliNjkwMmQ3MjhiYzJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGUsIGludCB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2Ft
cGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1w
bGVBVkZPYmpDPiBjcmVhdGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRy
YWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwg
dHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24gPSBWaWRlb1Jv
dGF0aW9uOjpOb25lLCBib29sIG1pcnJvcmVkID0gZmFsc2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgcm90YXRpb24sIG1pcnJvcmVkKSk7IH0KLSAg
ICBzdGF0aWMgUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlSW1hZ2VTYW1wbGUoVmVj
dG9yPHVpbnQ4X3Q+JiYsIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0
KTsKKyAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlSW1hZ2VTYW1w
bGUoVmVjdG9yPHVpbnQ4X3Q+JiYsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpOwog
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHko
TWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBj
bG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVy
UmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRl
eCAyZGEyNjc2ZjhkMGVhYTFmZDliNWFlYTYyNzg0NmViODJiMmE4MjAzLi4xNzNmNTBlOTNkMzUx
YWFjNmE4ZWU3YTZkYWQ5NDNjYmI3MTMwODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCByZWxlYXNlVWludDhWZWN0b3Iodm9pZCAqYXJyYXksIGNvbnN0IHZvaWQqKQogICAgIFdURjo6
VmVjdG9yTWFsbG9jOjpmcmVlKGFycmF5KTsKIH0KIAotUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2Jq
Qz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShWZWN0b3I8dWludDhfdD4m
JiBhcnJheSwgdW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpCitSZWZQ
dHI8TWVkaWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2Ft
cGxlKFZlY3Rvcjx1aW50OF90PiYmIGFycmF5LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVp
Z2h0KQogewogICAgIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIgPSBudWxscHRyOwogICAg
IGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhCeXRlcyhrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCB3aWR0aCwgaGVpZ2h0LCBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBLCBhcnJheS5k
YXRhKCksIHdpZHRoICogNCwgcmVsZWFzZVVpbnQ4VmVjdG9yLCBhcnJheS5yZWxlYXNlQnVmZmVy
KCkubGVha1B0cigpLCBOVUxMLCAmcGl4ZWxCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBs
ZUdTdHJlYW1lci5jcHAKaW5kZXggNzlhNWNiMTBmMTE4ZDkyYzQ3NzViNDRkZWU5MjNjOTVhZThi
OTZmNy4uODIwMmI1MTM2ZDgwNTE4OTMxYWQ4YzQ2N2M1M2QyMmNhZDFiYzNmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCkBAIC0yMyw2ICsyMyw4IEBACiAKICNpbmNs
dWRlICJHU3RyZWFtZXJDb21tb24uaCIKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lu
bGluZXMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9UeXBlZEFycmF5SW5saW5lcy5oPgog
I2luY2x1ZGUgPGFsZ29yaXRobT4KIAogI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEdTVFJFQU1F
UikKQEAgLTk1LDYgKzk3LDUzIEBAIFJlZjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gTWVkaWFTYW1w
bGVHU3RyZWFtZXI6OmNyZWF0ZUZha2VTYW1wbGUoR3N0Q2FwcyosIE1lZGlhCiAgICAgcmV0dXJu
IGFkb3B0UmVmKCpnc3RyZWFtZXJNZWRpYVNhbXBsZSk7CiB9CiAKK1JlZjxNZWRpYVNhbXBsZUdT
dHJlYW1lcj4gTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZUltYWdlU2FtcGxlKFZlY3Rvcjx1
aW50OF90PiYmIGJncmFEYXRhLCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQorewor
ICAgIHNpemVfdCBzaXplID0gYmdyYURhdGEuc2l6ZUluQnl0ZXMoKTsKKyAgICBhdXRvKiBkYXRh
ID0gYmdyYURhdGEucmVsZWFzZUJ1ZmZlcigpLmxlYWtQdHIoKTsKKyAgICBhdXRvIGJ1ZmZlciA9
IGFkb3B0R1JlZihnc3RfYnVmZmVyX25ld193cmFwcGVkX2Z1bGwoR1NUX01FTU9SWV9GTEFHX1JF
QURPTkxZLCBkYXRhLCBzaXplLCAwLCBzaXplLCBkYXRhLCBbXShncG9pbnRlciBkYXRhKSB7Cisg
ICAgICAgIFdURjo6VmVjdG9yTWFsbG9jOjpmcmVlKGRhdGEpOworICAgIH0pKTsKKyAgICBnc3Rf
YnVmZmVyX2FkZF92aWRlb19tZXRhKGJ1ZmZlci5nZXQoKSwgR1NUX1ZJREVPX0ZSQU1FX0ZMQUdf
Tk9ORSwgR1NUX1ZJREVPX0ZPUk1BVF9CR1JBLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBhdXRvIGNh
cHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfbmV3X3NpbXBsZSgidmlkZW8veC1yYXciLCAiZm9ybWF0
IiwgR19UWVBFX1NUUklORywgIkJHUkEiLCAid2lkdGgiLCBHX1RZUEVfSU5ULCB3aWR0aCwgImhl
aWdodCIsIEdfVFlQRV9JTlQsIGhlaWdodCwgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9O
LCAxLCAxLCBudWxscHRyKSk7CisgICAgYXV0byBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBs
ZV9uZXcoYnVmZmVyLmdldCgpLCBjYXBzLmdldCgpLCBudWxscHRyLCBudWxscHRyKSk7CisgICAg
cmV0dXJuIGNyZWF0ZShXVEZNb3ZlKHNhbXBsZSksIEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwg
eyB9KTsKK30KKworUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IE1lZGlhU2FtcGxlR1N0
cmVhbWVyOjpnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3QKK3sKKyAgICBhdXRvKiBjYXBzID0gZ3N0
X3NhbXBsZV9nZXRfY2FwcyhtX3NhbXBsZS5nZXQoKSk7CisgICAgR3N0VmlkZW9JbmZvIGlucHV0
SW5mbzsKKyAgICBpZiAoIWdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygmaW5wdXRJbmZvLCBjYXBz
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAvLyBXZSBjb3VsZCBjaGVjayB0aGUg
aW5wdXQgZm9ybWF0IGlzIFJHQkEgYmVmb3JlIGF0dGVtcHRpbmcgYSBjb252ZXJzaW9uLCBidXQg
aXQgaXMgdmVyeQorICAgIC8vIHVubGlrZWx5IHRvIHBheSBvZmYuIFRoZSBpbnB1dCBmb3JtYXQg
aXMgbGlrZWx5IHRvIGJlIEJHUkEgKHdoZW4gdGhlIHNhbXBsZXMgYXJlIGNyZWF0ZWQgYXMgYQor
ICAgIC8vIHJlc3VsdCBvZiBtZWRpYXN0cmVhbSBjYXB0dXJlU3RyZWFtKSBvciBzb21lIFlVViBm
b3JtYXQgaWYgdGhlIHNhbXBsZSBpcyBmcm9tIGEgdmlkZW8gY2FwdHVyZQorICAgIC8vIGRldmlj
ZS4gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9ubHkgYnkgaW50ZXJuYWxzIGR1cmluZyBsYXlvdXQg
dGVzdHMsIGl0IGlzIHRodXMgbm90IGNyaXRpY2FsCisgICAgLy8gdG8gb3B0aW1pemUgdGhpcyBj
b2RlIHBhdGguCisKKyAgICBhdXRvIG91dHB1dENhcHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfY29w
eShjYXBzKSk7CisgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZShvdXRwdXRDYXBzLmdldCgpLCAiZm9y
bWF0IiwgR19UWVBFX1NUUklORywgIlJHQkEiLCBudWxscHRyKTsKKworICAgIEdzdFZpZGVvSW5m
byBvdXRwdXRJbmZvOworICAgIGlmICghZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCZvdXRwdXRJ
bmZvLCBvdXRwdXRDYXBzLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBp
bnQgd2lkdGggPSBHU1RfVklERU9fSU5GT19XSURUSCgmaW5wdXRJbmZvKTsKKyAgICBpbnQgaGVp
Z2h0ID0gR1NUX1ZJREVPX0lORk9fSEVJR0hUKCZpbnB1dEluZm8pOworICAgIHVuc2lnbmVkIGJ5
dGVMZW5ndGggPSBHU1RfVklERU9fSU5GT19TSVpFKCZpbnB1dEluZm8pOworICAgIGF1dG8gYnVm
ZmVyU3RvcmFnZSA9IEpTQzo6QXJyYXlCdWZmZXI6OmNyZWF0ZSh3aWR0aCAqIGhlaWdodCwgNCk7
CisgICAgYXV0byBvdXRwdXRCdWZmZXIgPSBhZG9wdEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBl
ZF9mdWxsKEdTVF9NRU1PUllfRkxBR19OT19TSEFSRSwgYnVmZmVyU3RvcmFnZS0+ZGF0YSgpLCBi
eXRlTGVuZ3RoLCAwLCBieXRlTGVuZ3RoLCBudWxscHRyLCBbXShncG9pbnRlcikgeyB9KSk7Cisg
ICAgZ3N0X2J1ZmZlcl9hZGRfdmlkZW9fbWV0YShvdXRwdXRCdWZmZXIuZ2V0KCksIEdTVF9WSURF
T19GUkFNRV9GTEFHX05PTkUsIEdTVF9WSURFT19GT1JNQVRfUkdCQSwgd2lkdGgsIGhlaWdodCk7
CisgICAgR3N0TWFwcGVkRnJhbWUgb3V0cHV0RnJhbWUob3V0cHV0QnVmZmVyLmdldCgpLCBvdXRw
dXRJbmZvLCBHU1RfTUFQX1dSSVRFKTsKKworICAgIEdVbmlxdWVQdHI8R3N0VmlkZW9Db252ZXJ0
ZXI+IGNvbnZlcnRlcihnc3RfdmlkZW9fY29udmVydGVyX25ldygmaW5wdXRJbmZvLCAmb3V0cHV0
SW5mbywgbnVsbHB0cikpOworICAgIEdzdE1hcHBlZEZyYW1lIGlucHV0RnJhbWUoZ3N0X3NhbXBs
ZV9nZXRfYnVmZmVyKG1fc2FtcGxlLmdldCgpKSwgaW5wdXRJbmZvLCBHU1RfTUFQX1JFQUQpOwor
ICAgIGdzdF92aWRlb19jb252ZXJ0ZXJfZnJhbWUoY29udmVydGVyLmdldCgpLCBpbnB1dEZyYW1l
LmdldCgpLCBvdXRwdXRGcmFtZS5nZXQoKSk7CisgICAgcmV0dXJuIEpTQzo6VWludDhDbGFtcGVk
QXJyYXk6OnRyeUNyZWF0ZShXVEZNb3ZlKGJ1ZmZlclN0b3JhZ2UpLCAwLCBieXRlTGVuZ3RoKTsK
K30KKwogdm9pZCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6ZXh0ZW5kVG9UaGVCZWdpbm5pbmcoKQog
ewogICAgIC8vIE9ubHkgdG8gYmUgdXNlZCB3aXRoIHRoZSBmaXJzdCBzYW1wbGUsIGFzIGEgaGFj
ayBmb3IgbGFjayBvZiBzdXBwb3J0IGZvciBlZGl0IGxpc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1w
bGVHU3RyZWFtZXIuaAppbmRleCAxZGZiM2NkMDhkYzM1ZWU4MDY1YmJmYmU3NzlhYjNjZTk2MTE1
ZDk5Li4zOWJjM2FhOGIxMDI0YzMxOGU3NzY2YTkyNTAzM2EyNTRjZTdhNzcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVH
U3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaApAQCAtMzcsNiArMzcsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gY3JlYXRlRmFrZVNhbXBs
ZShHc3RDYXBzKiwgTWVkaWFUaW1lIHB0cywgTWVkaWFUaW1lIGR0cywgTWVkaWFUaW1lIGR1cmF0
aW9uLCBjb25zdCBGbG9hdFNpemUmIHByZXNlbnRhdGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcm
IHRyYWNrSWQpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUlt
YWdlU2FtcGxlKFZlY3Rvcjx1aW50OF90PiYmLCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVp
Z2h0KTsKIAogICAgIHZvaWQgZXh0ZW5kVG9UaGVCZWdpbm5pbmcoKTsKICAgICBNZWRpYVRpbWUg
cHJlc2VudGF0aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHRzOyB9CkBAIC01
NCw2ICs1NSw3IEBAIHB1YmxpYzoKICAgICBTYW1wbGVGbGFncyBmbGFncygpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fZmxhZ3M7IH0KICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRl
OworICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkg
Y29uc3QgZmluYWw7CiAKIHByb3RlY3RlZDoKICAgICBNZWRpYVNhbXBsZUdTdHJlYW1lcihHUmVm
UHRyPEdzdFNhbXBsZT4mJiwgY29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVy
TWVkaWFTdHJlYW1Tb3VyY2UuY3BwCmluZGV4IDA0YzI1MTgzN2MxMGUzZTJiNGY2ODY1ZDc2Nzdl
MzhmZGVkYmQ3Y2QuLmQzNjU2NDI3YTBkYzJlNmY4YzMxMzQ5ZmM5Yzg2NjQ4ZWZkYzc5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcApA
QCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiR1N0cmVhbWVyQXVkaW9EYXRhLmgiCiAjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCi0j
aW5jbHVkZSAiR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmgiCiAjaW5jbHVkZSAiTWVkaWFT
YW1wbGVHU3RyZWFtZXIuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKICNpbmNs
dWRlICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNjMsMTEgKzYyLDkgQEAgR1JlZlB0
cjxHc3RUYWdMaXN0PiBtZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUdldFRhZ3MoTWVkaWFTdHJlYW1U
cmFja1ByaXZhdGUqIHRyYWMKICAgICBlbHNlIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKSB7CiAgICAgICAgIGdzdF90YWdfbGlzdF9hZGQodGFn
TGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9BUFBFTkQsIFdFQktJVF9NRURJQV9UUkFDS19UQUdf
S0lORCwgc3RhdGljX2Nhc3Q8aW50PihWaWRlb1RyYWNrUHJpdmF0ZTo6S2luZDo6TWFpbiksIG51
bGxwdHIpOwogCi0gICAgICAgIGlmICh0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkgewotICAgICAg
ICAgICAgR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlJiBzb3VyY2UgPSBzdGF0aWNfY2FzdDxH
U3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2UmPih0cmFjay0+c291cmNlKCkpOwotICAgICAgICAg
ICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdMaXN0LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwg
V0VCS0lUX01FRElBX1RSQUNLX1RBR19XSURUSCwgc291cmNlLnNpemUoKS53aWR0aCgpLAotICAg
ICAgICAgICAgICAgIFdFQktJVF9NRURJQV9UUkFDS19UQUdfSEVJR0hULCBzb3VyY2Uuc2l6ZSgp
LmhlaWdodCgpLCBudWxscHRyKTsKLSAgICAgICAgfQorICAgICAgICBhdXRvJiBzZXR0aW5ncyA9
IHRyYWNrLT5zZXR0aW5ncygpOworICAgICAgICBnc3RfdGFnX2xpc3RfYWRkKHRhZ0xpc3QuZ2V0
KCksIEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBXRUJLSVRfTUVESUFfVFJBQ0tfVEFHX1dJRFRILCBz
ZXR0aW5ncy53aWR0aCgpLAorICAgICAgICAgICAgV0VCS0lUX01FRElBX1RSQUNLX1RBR19IRUlH
SFQsIHNldHRpbmdzLmhlaWdodCgpLCBudWxscHRyKTsKICAgICB9CiAKICAgICBHU1RfREVCVUco
IlRyYWNrIHRhZ3M6ICUiIEdTVF9QVFJfRk9STUFULCB0YWdMaXN0LmdldCgpKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0
YjMwOGRhZjBiODI3NGQ4NzhlYzRjOThmMDg3NDljYmFkODVkNTNhLi41YmU5NGM1ZDE3YmU1ODJm
MWY5ZGJlOWI5MzAxYTY0NDk5MWI1NDBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDct
MjAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtH
U3RyZWFtZXJdIEFkZCBzdXBwb3J0IGZvciBjYW52YXMgY2FwdHVyZVN0cmVhbSwgdGVzdHMgZmFp
bGluZyBzaW5jZSB0aGV5IHdlcmUgYWRkZWQgaW4gcjIxMzU5OAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5ODExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5mbGFnIHBhc3NpbmcgdGVzdHMgYW5kIHJl
YmFzZWxpbmUgb25lIHBsYXRmb3JtLXNwZWNpZmljIFdQVCB0ZXN0IGV4cGVjdGF0aW9uIHdoaWNo
IGRpZmZlcnMKKyAgICAgICAgZnJvbSB0aGUgZGVmYXVsdCBieSBvbmx5IG9uZSBsaW5lLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3Jj
T2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93
cGUvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNy0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQ1
OTYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFF
bGVtZW50LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDYxYTNiNjBjNzQ1NGRiMzc3OTY4ZGI2ZjUxZGRlZWQ3OTE3ZTA4NgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVs
ZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitXaGVu
IHByb21wdGVkLCBhY2NlcHQgdG8gc2hhcmUgeW91ciB2aWRlbyBzdHJlYW0uCisKK0Rlc2NyaXB0
aW9uCisKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgTWVkaWFTdHJlYW0gb2JqZWN0IHJldHVy
bmVkIGJ5IHRoZSBzdWNjZXNzIGNhbGxiYWNrIGluIGdldFVzZXJNZWRpYSBjYW4gYmUgcHJvcGVy
bHkgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IHZpYSB0aGUgc3JjT2JqZWN0IGF0dHJpYnV0
ZS4KKworCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNT
IFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBjYW4gYmUgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVt
ZW50IHdpdGggc3JjT2JqZWN0IAorUEFTUyBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWdu
ZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIG5vdCBzZWVrYWJsZSAKK1BBU1MgVGVzdHMgdGhhdCBh
IE1lZGlhU3RyZWFtIGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCBpcyBpbiByZWFkeVN0YXRl
IEhBVkVfTk9USElORyBpbml0aWFsbHkgCitUSU1FT1VUIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVh
bSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaGFzIGV4cGVjdGVkIGR1cmF0aW9uIFRlc3Qg
dGltZWQgb3V0CitOT1RSVU4gVGVzdHMgdGhhdCBhIHZpZGVvIGVsZW1lbnQgd2l0aCBhIE1lZGlh
U3RyZWFtIGFzc2lnbmVkIGlzIG5vdCBwcmVsb2FkZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIHZp
ZGVvIGVsZW1lbnQgd2l0aCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIGlnbm9yZXMgcGxheWJhY2tS
YXRlIGF0dHJpYnV0ZXMgKGRlZmF1bHRQbGF5YmFja1JhdGUgaXMgaWRlbnRpY2FsKSAKK05PVFJV
TiBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQg
aWdub3JlcyBwbGF5YmFja1JhdGUgYXR0cmlidXRlcyAoZGVmYXVsdFBsYXliYWNrUmF0ZSBpcyBk
aWZmZXJlbnQpIAorTk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNz
aWduZWQgTWVkaWFTdHJlYW0gcmVwb3J0cyB0aGUgcGxheWVkIGF0dHJpYnV0ZSBhcyBleHBlY3Rl
ZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1l
ZGlhU3RyZWFtIHJlcG9ydHMgdGhlIGN1cnJlbnRUaW1lIGF0dHJpYnV0ZSBhcyBleHBlY3RlZCAK
K05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIHN0YXJ0cyBpdHMgdGltZWxpbmUgYXQgMCByZWdhcmRsZXNzIG9mIHdoZW4gdGhlIE1l
ZGlhU3RyZWFtIHdhcyBjcmVhdGVkIAorTk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50
IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZG9lcyBub3QgYWR2YW5jZSBjdXJyZW50VGlt
ZSB3aGlsZSBwYXVzZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSBkb2VzIG5vdCBzdGFydCBhZHZhbmNpbmcgY3VycmVudFRp
bWUgdW50aWwgcG90ZW50aWFsbHkgcGxheWluZyAKK05PVFJVTiBUZXN0cyB0aGF0IHRoZSBsb29w
IGF0dHJpYnV0ZSBoYXMgbm8gZWZmZWN0IG9uIGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2ln
bmVkIE1lZGlhU3RyZWFtIAorTk9UUlVOIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGgg
YW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVz
IGluYWN0aXZlIHRocm91Z2ggdHJhY2tzIGVuZGluZyAKK05PVFJVTiBUZXN0cyB0aGF0IGFuIGF1
ZGlvIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1l
ZGlhU3RyZWFtIGJlY29tZXMgaW5hdWRpYmxlIHRocm91Z2ggYXVkaW8gdHJhY2tzIGVuZGluZyAK
K05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmFjdGl2ZSB0aHJvdWdo
IHRyYWNrIHJlbW92YWwgCitOT1RSVU4gVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGgg
YW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVz
IGluYXVkaWJsZSB0aHJvdWdoIHRyYWNrIHJlbW92YWwgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjg5Yzg2ZTIxMjViYTcxMzZhNGE5ZjkxZjFhZjkz
YjQ5NzZlZTNkMS4uZDYwYzQxOTk0YmRhNzBhYWYxZWM2YjUyODg3ZTRiOGJhMzhiMDI3MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU3MCwxMiArNTcw
LDYgQEAgd2Via2l0Lm9yZy9iLzIxMDM4NSBmYXN0L21lZGlhc3RyZWFtL2F1ZGlvLXRyYWNrLWVu
YWJsZWQuaHRtbCBbIENyYXNoIFBhc3MgXQogCiBmYXN0L21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy1hZGRFdmVudExpc3RlbmVyLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogCi0j
IENhbnZhcyBjYXB0dXJlU3RyZWFtIHN1cHBvcnQgaXMgbm90IGltcGxlbWVudGVkCi13ZWJraXQu
b3JnL2IvMTY5ODExIGZhc3QvbWVkaWFjYXB0dXJlZnJvbWVsZW1lbnQgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtLyBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2Fu
dmFzMmQuaHRtbCBbIENyYXNoIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21l
ZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzM2QuaHRtbCBbIENyYXNoIFRpbWVvdXQgXQot
CiAjIE5vIHN1cHBvcnQgZm9yIEdQVVByb2Nlc3MgeWV0CiBmYXN0L21lZGlhc3RyZWFtL2NhcHR1
cmVJbkdQVVByb2Nlc3MuaHRtbCBbIFNraXAgXQogCkBAIC0zMzAzLDggKzMyOTcsNiBAQCB3ZWJr
aXQub3JnL2IvMTg2NjE4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2hlYWRlcnMvaGVhZGVyLXZhbAogCiB3ZWJraXQub3JnL2IvMTg2NjAxIGZ1bGxzY3JlZW4vZnVs
bC1zY3JlZW4tbGF5ZXItZHVtcC5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xODY4
NDUgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczJkLWhlYXZ5LWRyYXdpbmcu
aHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcvYi8xODYxNDQgdHJhbnNpdGlv
bnMvbW92ZS1hZnRlci10cmFuc2l0aW9uLmh0bWwgWyBGYWlsdXJlIFRpbWVvdXQgXQogCiB3ZWJr
aXQub3JnL2IvMTg3MjY4IGNvbXBvc2l0aW5nL2JhY2tpbmcvYmFja2luZy1zdG9yZS1hdHRhY2ht
ZW50LW91dHNpZGUtdmlld3BvcnQuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1l
bnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYWZlOGE2M2IzMTEzNTRjOTZmMDM3YTZlMGJlZDA2MmVjNmU0OGI1YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFt
cy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVdoZW4gcHJvbXB0ZWQsIGFjY2VwdCB0byBz
aGFyZSB5b3VyIHZpZGVvIHN0cmVhbS4KLQotRGVzY3JpcHRpb24KLQotVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBNZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJuZWQgYnkgdGhlIHN1Y2Nlc3MgY2Fs
bGJhY2sgaW4gZ2V0VXNlck1lZGlhIGNhbiBiZSBwcm9wZXJseSBhc3NpZ25lZCB0byBhIHZpZGVv
IGVsZW1lbnQgdmlhIHRoZSBzcmNPYmplY3QgYXR0cmlidXRlLgotCi0KLQotRkFJTCBUZXN0cyB0
aGF0IGEgTWVkaWFTdHJlYW0gY2FuIGJlIGFzc2lnbmVkIHRvIGEgdmlkZW8gZWxlbWVudCB3aXRo
IHNyY09iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0
IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIG5vdCBzZWVrYWJs
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgTWVkaWFT
dHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIGluIHJlYWR5U3RhdGUgSEFWRV9O
T1RISU5HIGluaXRpYWxseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0
cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGhhcyBleHBl
Y3RlZCBkdXJhdGlvbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0
aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaXMgbm90IHBy
ZWxvYWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEg
dmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFj
a1JhdGUgYXR0cmlidXRlcyAoZGVmYXVsdFBsYXliYWNrUmF0ZSBpcyBpZGVudGljYWwpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50
IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1
dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRpZmZlcmVudCkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRV
c2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3Np
Z25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4cGVjdGVk
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1GQUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBl
bGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gcmVwb3J0cyB0aGUgY3VycmVudFRp
bWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi1G
QUlMIFRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJl
YW0gc3RhcnRzIGl0cyB0aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVkaWFT
dHJlYW0gd2FzIGNyZWF0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVz
dHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBkb2Vz
IG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1lIHdoaWxlIHBhdXNlZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2ln
bmVkIE1lZGlhU3RyZWFtIGRvZXMgbm90IHN0YXJ0IGFkdmFuY2luZyBjdXJyZW50VGltZSB1bnRp
bCBwb3RlbnRpYWxseSBwbGF5aW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogY2FudmFzLmNhcHR1cmVTdHJlYW0gaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnY2FudmFzLmNhcHR1cmVTdHJlYW0oKScsICdjYW52YXMuY2FwdHVy
ZVN0cmVhbScgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVGVzdHMgdGhhdCB0aGUgbG9vcCBhdHRyaWJ1
dGUgaGFzIG5vIGVmZmVjdCBvbiBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRp
YVN0cmVhbSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYScpIgotRkFJTCBUZXN0cyB0aGF0IGEg
bWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUg
TWVkaWFTdHJlYW0gYmVjb21lcyBpbmFjdGl2ZSB0aHJvdWdoIHRyYWNrcyBlbmRpbmcgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50
IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBi
ZWNvbWVzIGluYXVkaWJsZSB0aHJvdWdoIGF1ZGlvIHRyYWNrcyBlbmRpbmcgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEnKSIKLUZBSUwgVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMg
aW5hY3RpdmUgdGhyb3VnaCB0cmFjayByZW1vdmFsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
JykiCi1GQUlMIFRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1l
ZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmF1ZGlibGUgdGhy
b3VnaCB0cmFjayByZW1vdmFsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJykiCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTkzZjc4OTY4MzZkOTc2
MTUwZjg1NjA1Nzg4NTVlMmQ1MDY0MTY5ZS4uMGIyNzRkZDE3ZWY0Y2ViNjEyZWVlMzUyNWQ3ZGI5
MWJhOWNkNTAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTEzMSwxMiArMTMxLDYgQEAgd2Via2l0Lm9yZy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC5odG1sIFsgRmFpbHVyZSBQYXMKICMgQ3Jhc2ggaXMg
YnVnICMxNzY4MDEKIHdlYmtpdC5vcmcvYi8xNjA5OTYgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS12aWRlby1lbGVtZW50LXZpZGVvLXRyYWNrcy1kaXNhYmxlZC5odG1sIFsgVGltZW91dCBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAotIyBDYW52YXMgY2FwdHVyZVN0cmVhbSBzdXBwb3J0IGlzIG5v
dCBpbXBsZW1lbnRlZAotd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhY2FwdHVyZWZyb21l
bGVtZW50IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2Fw
dHVyZVN0cmVhbS8gWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0
cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczJkLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcv
Yi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczNkLmh0bWwgWyBU
aW1lb3V0IF0KLQogIyBNZWRpYVJlY29yZGVyIGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQK
IGh0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>